Probleme de Variable

cs_akaras Messages postés 20 Date d'inscription mercredi 7 juillet 2004 Statut Membre Dernière intervention 28 juillet 2004 - 23 juil. 2004 à 15:39
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019 - 29 janv. 2005 à 16:59
Bonjour à tous,

Voilà mon code :

unsigned char Valeur[6];
Valeur=Inp32(0x379);
SetDlgItemText(hwnd , IDC_AFFICHAGE_RESULT, Valeur);

Je veux afficher la lecture de mon port // dans une fenetre.

Mais voila, quand je veux recuperer la variable ça se passe mal.
Il me dit :

cannot convert parameter 3 from 'unsigned int [6]' to 'const char *'

Je sais bien qu'il faut utiliser un buffeur, quand il s'agit de reprendre dans un edit avec la commande GetWindowText pas de prob mais là ....

Merci de votre aide.

17 réponses

BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
23 juil. 2004 à 16:08
ça retourne quoi ce 'Inp32()' ??? que je ne connais pas.

ciao...
BruNews, Admin CS, MVP Visual C++
0
cs_akaras Messages postés 20 Date d'inscription mercredi 7 juillet 2004 Statut Membre Dernière intervention 28 juillet 2004
23 juil. 2004 à 16:21
C'est _Inp et _Outp fonctionnant sous Windows 95/98/Me/NT/2000/XP/2003 en utilisant inpout32.dll.

Testé et marche parfaitment avec WindowsXP et simplicité de mise en place.

Sinon mon code est juste ?
0
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
23 juil. 2004 à 16:28
NON Valeur = RIEN D'AUTRE QUE LUI MEME !!!
Valeur est un pointeur, tu ne lui affecteras rien.
Quel est le type retourne par Inp32 ???

ciao...
BruNews, Admin CS, MVP Visual C++
0
cs_akaras Messages postés 20 Date d'inscription mercredi 7 juillet 2004 Statut Membre Dernière intervention 28 juillet 2004
23 juil. 2004 à 16:34
Sous dos j'avais cree une petite application qui marche :


#include <stdlib.h>
#include <stdio.h>

short _stdcall Inp32(short PortAddress);
void _stdcall Out32(short PortAddress, short data);

void main(void)
{
unsigned int Valeur;

printf("Test de lecture du port //\n");

Valeur=Inp32(0x379);	// La valeur du bus de donnes est rengee dans la variable Valeur

printf("Valeur lue :",Valeur);
}



Et il me retourné soit 120 bouton ouvert et 255 bouton fermé.

Je ne comprend pas pourquoi il y a une si grosse difference en API.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
23 juil. 2004 à 16:44
unsigned int Valeur; // prog dos
unsigned char Valeur[6]; // prog du jour

Tu ne vois pas la difference ???

ciao...
BruNews, Admin CS, MVP Visual C++
0
cs_akaras Messages postés 20 Date d'inscription mercredi 7 juillet 2004 Statut Membre Dernière intervention 28 juillet 2004
23 juil. 2004 à 16:50
Si, mais c'est flou ..

Même


unsigned int Valeur;
Valeur=Inp32(0x379);

SetDlgItemText(hwnd , IDC_AFFICHAGE_RESULT, Valeur);



Toujours l'erreur à la compilation.

Peux etre faut il utiliser uen autre commande que SetDlgItemText ?
0
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
23 juil. 2004 à 16:54
SetDlgItemInt() ou convertir avant dans un buffer avec ultoa.

ciao...
BruNews, Admin CS, MVP Visual C++
0
cs_djl Messages postés 3011 Date d'inscription jeudi 26 septembre 2002 Statut Membre Dernière intervention 27 novembre 2004 7
23 juil. 2004 à 18:48
BruNews > c'est meme pire que ca, ecrire
unsigned int Valeur;
Valeur=Inp32(0x379); est tout ce qu'il ya de plus illogique

Valeur n'est pas une variable mais un tableau (pas un pointeur) c'est à dire une adresse
ecrire Valeur=Inp32(0x379); c'est aussi bete que d'ecrire
5 = Inp32(0x379);

un tableau n'est pas une l-value
0
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
23 juil. 2004 à 18:58
et je ne sais toujours pas le type retourne par ce 'Inp32' qui m'est inconnu.
Contrairement a ce qui est dit dans l'exemple en console, ce n'est pas une API.

ciao...
BruNews, Admin CS, MVP Visual C++
0
cs_djl Messages postés 3011 Date d'inscription jeudi 26 septembre 2002 Statut Membre Dernière intervention 27 novembre 2004 7
23 juil. 2004 à 19:10
ca doit etre un const char * comme ecris dans son premier post
0
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
23 juil. 2004 à 19:18
serait bizzare qu'on recupere un pointeur en sortie de port, devrait pointer sur quoi ?
Dans tous les cas on n'utilise pas d'interruptions a notre epoque, cachee ou non dans une bibli, TERMINE !!!

ciao...
BruNews, Admin CS, MVP Visual C++
0
cs_akaras Messages postés 20 Date d'inscription mercredi 7 juillet 2004 Statut Membre Dernière intervention 28 juillet 2004
23 juil. 2004 à 21:18
Je vois ce que vous voullez dire, un buffer serai donc l'issue ?
0
cs_djl Messages postés 3011 Date d'inscription jeudi 26 septembre 2002 Statut Membre Dernière intervention 27 novembre 2004 7
23 juil. 2004 à 21:22
oui, et à exploiter avec strcpy ou memcpy
0
cs_akaras Messages postés 20 Date d'inscription mercredi 7 juillet 2004 Statut Membre Dernière intervention 28 juillet 2004
23 juil. 2004 à 23:27
Connaisez vous un bon tuto sur les pointeurs ?

Je n'ai pas trouve grand chose sur MSDN

Encore merci pour vos reponses
0
cs_djl Messages postés 3011 Date d'inscription jeudi 26 septembre 2002 Statut Membre Dernière intervention 27 novembre 2004 7
23 juil. 2004 à 23:35
0
cs_gaillus Messages postés 16 Date d'inscription samedi 29 janvier 2005 Statut Membre Dernière intervention 15 mars 2013
29 janv. 2005 à 16:39
Salut je voudrais ecrire sur le port // d'un pc sous windows XP et visual C++.
J'ai recuperer inpout32.dll mais je n'arrive pas a utilise Inp32() et Out32().
J'ai ecrit :
short _stdcall Inp32(short PortAddress);
void _stdcall Out32(short PortAddress, short data);

valeur=Inp32(0x379)
Out32(0x378, valeur1)

Le programme compile correctement mais il y a 2 erreur au "linkage":
unresolved external symbol _Inp32@4
unresolved external symbol _Out32@8.

Merci de m'indiquer comment utiliser inpout32.dll; kes kil fo en faire?
0
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
29 janv. 2005 à 16:59
Regarde pour cela les sources de ymca2003, aucun besoin de dll externe.
http://www.cppfrance.com/code.aspx?id=18704
http://www.cppfrance.com/code.aspx?id=22441

ciao...
BruNews, MVP VC++
0
Rejoignez-nous