begin process at 2010 02 10 14:14:56
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive C/C++

 > 

Archives

 > 

Au secours

 > 

Tester le type d'une valeur???


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Tester le type d'une valeur???

jeudi 15 septembre 2005 à 15:21:51 | Tester le type d'une valeur???

freepouy18

Salut a tous,

Voila mon probleme :
Je travail sur une feuille excel dont je récupère certaines valeur que je stock une à une dans un COleVariant. Le probleme c'est que j'aimerai savoir comment tester le type de cette valeur (string, int,float.....) pour pouvoir la stocker dans le tablo qui convient (string tab_str[] , int tab_int[] , float tab_float[] ou .....).

Merci, bonne journée.
jeudi 15 septembre 2005 à 16:25:22 | Re : Tester le type d'une valeur???

BruNews

Administrateur CodeS-SourceS
Réponse acceptée !
VARIANT possède un champ 'vt' qui est l'indicateur de ce qu'englobe le variant.

ciao...
BruNews, MVP VC++
jeudi 15 septembre 2005 à 16:33:47 | Re : Tester le type d'une valeur???

freepouy18

Merci BruNews, en chechant une peu, j'ai trouvé.
lundi 22 janvier 2007 à 10:39:38 | Re : Tester le type d'une valeur???

phantom_2005

Bonjour,

j'ai un peu le meme type de probleme!

voici mon code:

-----------------------------------------------------------------------------
 if(!objApp.CreateDispatch("Excel.Application"))
 {
  AfxMessageBox("Couldn't start Excel.");
 }else
 {
  objApp.SetVisible(true);
  objBooks = objApp.GetWorkbooks();
  objBook = objBooks.Open(PATH_FILE_EXCEL,
   VOptional,
   VOptional,
   VOptional,
   VOptional,
   VOptional,
   VOptional,
   VOptional,
   VOptional,
   VOptional,
   VOptional,
   VOptional,
   VOptional,
   VOptional,
   VOptional);
  objSheets = objBook.GetWorksheets();
  objSheet = objSheets.GetItem(COleVariant((short)1)); //=Feuil1

  m_cEdit.GetWindowText(tmp);
  range = objSheet.GetRange(COleVariant(tmp),VOptional);
  range.Select();

  x.vt = VT_BSTR;
  x = range.GetValue(VOptional);
  tmp.Format("%s",x.bstrVal);
  m_cEdit.SetWindowText(tmp);
-----------------------------------------------------------------------------

Le probleme est que je ne recupere que le premier caractere de la chaine!
Je voudrais avoir toute la chaine

Merci pour votre aide!

--------------------------------------------------------------------------------
Phantom_2005

lundi 22 janvier 2007 à 10:50:37 | Re : Tester le type d'une valeur???

BruNews

Administrateur CodeS-SourceS
Vérifie que tu n'aies pas un prob UNICODE <=> ANSI dans
tmp.Format("%s",x.bstrVal);
x.bstrVal ne serait-il pas UNICODE ?

ciao...
BruNews, MVP VC++
lundi 22 janvier 2007 à 10:56:39 | Re : Tester le type d'une valeur???

phantom_2005

En effet BruNews le x.bstrVal est defini en UNICODE.

D'ou mon probleme, mais comment recuperer la chaine entiere retournée dans le VARIANT x?


--------------------------------------------------------------------------------
Phantom_2005

lundi 22 janvier 2007 à 11:12:44 | Re : Tester le type d'une valeur???

BruNews

Administrateur CodeS-SourceS
Teste si ton _bstr_t x n'a pas un opérateur char*
tmp.Format("%s", (char*) x.bstrVal);

pas trop le temps d'aller plus loin, j'ai du taf.

ciao...
BruNews, MVP VC++
lundi 22 janvier 2007 à 11:14:42 | Re : Tester le type d'une valeur???

BruNews

Administrateur CodeS-SourceS
ou en plus long:

tmp.Format("%s", (char*) (_bstr_t) x);

ou truc de ce genre.

ciao...
BruNews, MVP VC++
lundi 22 janvier 2007 à 11:24:32 | Re : Tester le type d'une valeur???

phantom_2005

J'ai toujours que le premier caractere de ma chaine
Merci de ton aide

@+

--------------------------------------------------------------------------------
Phantom_2005

mardi 23 janvier 2007 à 11:04:16 | Re : Tester le type d'une valeur???

phantom_2005


Bonjour,

c'est bon, j'ai trouvé!
   
   //Recuperer la valeur dans un char (UNICODE --> ANSI)
   char buf[512]; 
   wcstombs(buf,x.bstrVal,512);

Merci
@+

--------------------------------------------------------------------------------
Phantom_2005



Cette discussion est classée dans : int, type, valeur, tester, float


Répondre à ce message

Sujets en rapport avec ce message

comment tester un type de donné en C++ [ par Armandopoulos ] Salut !!en VC++Je voudrai bien savoir comment tester un type de donné (par ex. int , float , long , char) entré par l utilisateur au clavier.J ai pens pb incrementation variable. [ par conan76 ] Voila j'ai passé l'après midi a chercher d'ou vient mon problème sans succès.je tente même de faire des affichages console avant et après incrémentati Retour de la valeur d'une variable dans une fonction. [ par did2604 ] Bonjour,J'ai un petit problème avec la fonction suivante. Dans ma fonction, j'incrémente une variable nommée vt2. Je souhaite retourner dans le main c Probleme avec la librairie <conio.h> et avec le type "float" en c++ [ par Rigel Io ] Salut, j'aurai besoin de vos conseils éclairé en c++. Je suis débutant et j'apprends encore sur les tutorials possible de trouver sur Internet, je pro C++ -> Java [ par christouilhe ] Bonjour à vous tous.J'ai une question à vous poser ...Il se trouve que je dois retranscrire un programme C++ en Java, mais il y a une fonction que je Renvoie de type int& [ par saturne_1606 ] Bonjour a tous!Voila g la fonction suivante:int& tableau::operator ()(int l, int c){ if ((l>=tab.size())||(c>=(tab[l]).size())) { pourquoi ca marche pas :'( [ par xboxut ] salut j ai un probleme avec une fonction pour initialiser des particules,pouvez vous me dire pourquoi il ne marche pas et comment le faire marcher#inc Trier les valeur d'un tableau [ par pirate75000 ] Bonjour,Je remplis un tableau avec de valeur numerique que je voudrais reclasser par ordre croissantSachant que je peux avoir deux valeur identiquele convertir des chaine en type int [ par super ienien ] comment convertit on des chaine de type char en type entier ou inversementmeci d'avance tester le type d'une variable.... [ par king_kunu ] bonjour...je debute en C/C++je demande a l'utiilisateur de saisir un entier via scanff et j'aimerais etre sur k'il saississe bien un entier...existe t


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,281 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales