Type des variables

cassusGreg2 Messages postés 3 Date d'inscription mercredi 6 août 2003 Statut Membre Dernière intervention 24 septembre 2003 - 24 sept. 2003 à 17:00
CassusGreg Messages postés 13 Date d'inscription lundi 21 juillet 2003 Statut Membre Dernière intervention 25 septembre 2003 - 25 sept. 2003 à 16:16
Salut à tous

Je suis encore paumé avec les variables.
Je suis en Win32

Je suis en train de faire un prog qui se connecte à une base de données MDB.

En trouvant des info sur le net j'ai réussi à lister en MessageBox tous mes champs:

while(!prs->EndOfFile) {
for (long lFld = 0; lFld < lNumFields; lFld++) {
rgflds[lFld] = prs->Fields->GetItem(lFld);
vValue = rgflds[lFld]->Value;
MessageBox(0,(PCSTR)(_bstr_t)vValue,"ok",0);
}

Maitenant je voudrais mettre ces infos dans un combo box:

SendDlgItemMessage (hDlg,IDC_COMBO1,CB_ADDSTRING,0,(PCSTR)(_bstr_t)vValue );

Mais la ca ne marche pas, le type (PCSTR)(_bstr_t_) ne correspond pas, enfin je ne comprend rien. C'est quoi c'est parametres entre parenthese, c'est pour changer de type?
Aider moi je galère avec tout ca (si vous avez mem une URL qui explique tout ca).

Sinon, il y a t-il un moyen ne suivre ce forum avec un lecteur de news?

Merci a tous

10 réponses

BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
24 sept. 2003 à 17:05
le type _bstr_t a un operateur (char*) donc:
_bstr_t bst;
SendMessage(hcmb, CB_ADDSTRING, 0, (long) (char*) bst);
BruNews, ciao...
0
cassusGreg2 Messages postés 3 Date d'inscription mercredi 6 août 2003 Statut Membre Dernière intervention 24 septembre 2003
24 sept. 2003 à 17:26
Je ne comprend pas je n'y arrive pas:

Cette ligne la fonctionne:
MessageBox(0,(PCSTR)(_bstr_t)vValue,"ok",0);

Mais pas celle ci, je ne comprend pas bien comment tou cela fonctionne.

SendDlgItemMessage (hDlg,IDC_COMBO1,CB_ADDSTRING,0,(long) (char*) (_bstr_t)vValue);

ni celle ci:

SendDlgItemMessage (hDlg,IDC_COMBO1,CB_ADDSTRING,0,(long) (char*) vValue);

Merci BruNews

-Greg-
0
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
24 sept. 2003 à 17:32
quel type tu as mis pour vValue ?
Faudrait aussi preciser.
BruNews, ciao...
0
cassusGreg2 Messages postés 3 Date d'inscription mercredi 6 août 2003 Statut Membre Dernière intervention 24 septembre 2003
24 sept. 2003 à 17:34
pardon, mais je débute je ne peux pas penser à tout :)

_variant_t vValue;

-Greg-
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
24 sept. 2003 à 17:46
SendDlgItemMessage (hDlg,IDC_COMBO1,CB_ADDSTRING,0,(long) (char*) (_bstr_t)vValue);
BruNews, ciao...
0
CassusGreg Messages postés 13 Date d'inscription lundi 21 juillet 2003 Statut Membre Dernière intervention 25 septembre 2003
25 sept. 2003 à 15:35
Super, ca marche en fait! J'ai réussi a faire ce que je voulais mais je tombe sur un autre problème su mem style:

char Buff[]="120'";

char *query="SELECT NOM_CLIENT,VILLE,PAYS FROM CLIENTS WHERE NO_COMPTE='";

stcat (query, Buff);

Je voudrais concatener query avec Buff (pour finir de remplir ma requete SQL)

mais je n'arrive pas avec strcat, il plante à la compile.

-Greg-
0
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
25 sept. 2003 à 15:42
Il faut de mettre devant un bouquin de C et etudier tableaux, pointeurs etc...
char *query="..." pointeur sur une constante chaine, NON modifiable !!!
char query[120]; // un buffer de 120 octets dispos
strcpy(query, "mon texte");
strcat(query, "autre chose");
BruNews, ciao...
0
CassusGreg Messages postés 13 Date d'inscription lundi 21 juillet 2003 Statut Membre Dernière intervention 25 septembre 2003
25 sept. 2003 à 15:58
Quand on met * devant un nom de varibales, ce n'est pas une variblaes mais une constante.

Si je met un &var devant une variables, je pointe vers l'offset de ma variables.

Si je veut atteindre le 3eme octet d'un chaine dans var, je fait var[2]

C'est bien ca?

Je ne trouve pas de site bien qui m'explique tout ca, donc je vais suivre ton conseil et m'acheter un bouquin.

Merci encore pour toute ton aide.

-Greg-
0
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
25 sept. 2003 à 16:12
J'ai quelques bouquins a donner, il faut venir les prendre a Paris.
BruNews, ciao...
0
CassusGreg Messages postés 13 Date d'inscription lundi 21 juillet 2003 Statut Membre Dernière intervention 25 septembre 2003
25 sept. 2003 à 16:16
ouch... Paris, bah j'habite à Nantes et je n'ai pas l'intention de venir pour l'instant mais je pourrais peut etre me débrouiller, contacte moi par mail: gregory.bore@alia.fr
0
Rejoignez-nous