Conversion AnsiString en TString [Résolu]

Messages postés
31
Date d'inscription
mardi 16 mars 2004
Dernière intervention
21 mars 2007
- - Dernière réponse : SaXo360
Messages postés
31
Date d'inscription
mardi 16 mars 2004
Dernière intervention
21 mars 2007
- 17 mars 2006 à 23:45
Bonjour,

j'utilise le logiciel builder c++ 5.

Je lis dans un fichier une liste de nom et je voudrais afficher les noms dans un combobox.
Je lis bien dans mon fichier les noms car je les affiches dans un edit pour vérifier mais quand je veux les mettre dans mon combobox il y a un pb :/

Voici le bout de mon code

char *couple;//créé dynamiquement a la bonne taille avant de le mettre dans le combo
int nb_couple;
ComboBox1->Items[nb_couple]=couple;

Quand je compile j'ai ce probleme : "impossible de trouver une correspondance pour Tstring::operator=(AnsiString)"
Pouvez vous m'aider svp ?

Puisque j'y suit lol je vais demmander une autre chose lol :D

je voudrais que quand j'ouvre mon fichier, le curseur se place juste après le dernier élement du fichier mais j'ai pas trouvé la fonction :/
Sinon quand je test la fin du fichier avec Eof(desc) ou Feof(desc), il me dit que la fonction n'est pas définie :/ alors que j'ai bien rajouter les includes.

Que faire ?

Merci par avance :P
Afficher la suite 

Votre réponse

9 réponses

Meilleure réponse
Messages postés
268
Date d'inscription
vendredi 30 avril 2004
Dernière intervention
13 mai 2013
2
3
Merci
Salut ,
j'utilise borland aussi donc je vais pouvoir t'aider ;)

première ment AnsiString est un composant propre a borland,
deuxièmement avec ComboBox1->Items[nb_couple]=couple;
couple doit etre un TSring.

tu a deux solution la première la plus simple mais pas la plus pratique
ComboBox1->Items->Add(couple); //rajoutera le texte de couple a la fin de la liste

ou la deuxième je pense la meilleur pour toi:
ComboBox1->Items->Strings[a]=couple;//où a est la position dans la liste

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 121 internautes nous ont dit merci ce mois-ci

Commenter la réponse de tibob51
Messages postés
268
Date d'inscription
vendredi 30 avril 2004
Dernière intervention
13 mai 2013
2
3
Merci
c'est
#include qu'il te faut

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 121 internautes nous ont dit merci ce mois-ci

Commenter la réponse de tibob51
Messages postés
31
Date d'inscription
mardi 16 mars 2004
Dernière intervention
21 mars 2007
0
Merci
Salut,

merci de ta réponse :)
Les 2 solutions me conviennent lol :)

Et sinon tu n'aurais pas une idée pour la fin de fichier :/

Car il me dit que Eof et Feof ne sont pas defini alors que j'ai bien rajouté le bon include :/

Merci encore une foi :D
Commenter la réponse de SaXo360
Messages postés
268
Date d'inscription
vendredi 30 avril 2004
Dernière intervention
13 mai 2013
2
0
Merci
je ne connais pas eof et feof
mais en allant jetter un oeil,j'ai remarquer qu'il ya deux fonction Eof et eof (attention les majuscule font la différence).
toi ici tu aurait apparement besoin de eof(),car Eof() est utilisé pour les base de données!
Commenter la réponse de tibob51
Messages postés
31
Date d'inscription
mardi 16 mars 2004
Dernière intervention
21 mars 2007
0
Merci
Non, j'ai tout essayé, Eof,eof,Feof,feof et rien ne marche >>"appel a une fonction non definie" pourtant j'ai rajouter stdio.h :/
Commenter la réponse de SaXo360
Messages postés
31
Date d'inscription
mardi 16 mars 2004
Dernière intervention
21 mars 2007
0
Merci
Merci bien :D dans mon aide il disait stdio :/
merci beaucoup
Commenter la réponse de SaXo360
Messages postés
31
Date d'inscription
mardi 16 mars 2004
Dernière intervention
21 mars 2007
0
Merci
Bonjour,

alors voilà, je voulais la fonction fin de fichier pour que je puisse lire jusqu'a la fin du fichier lol mais avec eof ca marche pas, j'ai aucun résultat.
C'est pour ca que j'utilise un autre test en attendant.

Le probleme ci dessous c'est que j'ai un fichier txt avec dedans des noms séparé par un ;

exemple: toto;kikou;exo;martin;

Mais quand je récupere et je met dans mon combobox j'obtiens des truc comme ca :
toto|$
kikou$u
exo|
martinu

Voici mon code (juste la boucle) :

while(/*eof(desc)*/nb_couple!=4)
{
FileRead(desc,&var,1);


if(var==';')
{
int p=0;


p=i; //je sais c'est inutile mais j'avais fais ca pour tester autre chose
couple=new char[p];


for(int j=0; jItems->Add(couple);
nb_couple++;
i=0;
delete(couple);
}


else
{
mots[i]=var;
i++;
}
};

D'où vient le pb? :/

Merci par avance :P
Commenter la réponse de SaXo360
Messages postés
268
Date d'inscription
vendredi 30 avril 2004
Dernière intervention
13 mai 2013
2
0
Merci
il te manque le caractère de fin (\0)

regarde l'exemple:

char *couple;

couple= new char [8];
char mots[8]="abc";
int c=8;
int j;
for(j=0; j<3; j++)
{
couple[j]=mots[j];
}
couple[j+1]='\0';//on rajoute le caractére de fin
ComboBox1->Items->Add(couple);

delete couple;
Commenter la réponse de tibob51
Messages postés
31
Date d'inscription
mardi 16 mars 2004
Dernière intervention
21 mars 2007
0
Merci
Non ca marche pas :/ deja essayé.

J'ai ouvert un autre post avec cette question
Commenter la réponse de SaXo360

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.