Bonjour tous le monde je voudrais savoir comment faire pour trouver un code dans un fichier texte et pouvoir selectionner quelque champs (qui sont separré par une virgule )de cette ligne...
Bonjour tous le monde je voudrais savoir comment faire pour trouver un code dans un fichier texte et pouvoir selectionner quelque champs (qui sont separré par une virgule )de cette ligne...
a mon avie tu devrais charger ton fichier dans une TStringList
Apres tu as un certain nombre de méthode avec AnsiString qui te permettent de la fractionner
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 TStringList *slList = new TStringList; slList->LoadFromFile("fichier.txt"); //ton traitement slList->Clear(); delete slList;
Cordialement
Baxter
Tu as déja posé ce type de question ici, et marquée comme RESOLUE, nan?
Non c'est différent la je demande a chercher un code ou un mot dans un texte !!! c'est pas la meme chose
Salut,
Ce post t'aidera, il cherche la même méthode.
Ton post mais beaucoup aider mais le probleme c'est que
avec ce code moi je sais tres bien que cette valeurs existe mais je voudrais avoir le numero de la ligne... voila si tu peut m'aider merci
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 AnsiString chaine = "256"; int pos2 = chaine.Pos("256");
desoler j'avais pas tous compris mais a parament
la chaine ce le texte et moi je voudrais mettre comme je vien de mettre mon fichier txt pour qu'il chercher dedans la valeur 260 merci
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 AnsiString chaine = "C:\\fichier1.txt"; int pos1 = chaine.Pos("260");
Utilise une TStringList puis sa méthode LoadFromFile (qui chargera chaque ligne du fichier texte).
Ensuite tu fais une itération (boucle for) sur chaque ligne du fichier et tu recherche la chaine que tu veux trouver.
desoler je comprend pas trop je suis debutant ++ lol donc si tu peut m'expliquer un peut plus claire si sa te derange pas ou me montrer un petit exemple merci
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 TStringList *file = new TStringList() ; //lire le fichier file->LoadFromFile( "C:\\MonDossier\\MonFichier.txt" ); AnsiString ligne ; for( int i=0; i< file->Count; i++) { ligne = file->Strings[i] ; // [...] // Tu effectue le traitement/recherche que tu veux // [...] } delete file ;
Ce code va me permettre de trouver dans chaine s'il y a le mot mno si c'est le cas pos1 va me retourne 1!!
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 AnsiString chaine = "abcdefghijklmnopqrstuvwxyz"; int pos1 = chaine.Pos("mno");
Pour moi au lieu de rechercher dans chaine= "abcdefghijklmnopqrstuvwxyz"; je voudrais avoir a la place mon fichier et trouver la valeur exemple 267 car je recherche que des entiers
exemple:
Rapport,,,261,Ordinateur,PLANNING
Rapport,,,262,Générateur,PLANNING
J'ai c'est deux ligne et je voudrais savoir le numero de la ligne ou il y a la vleur 262..
sat 83 avec tonJ'arrive que a voir le nombre de ligne total meme en trafiquant j'arrive avoir que sa
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15 //Declaration variable TStringList *file = new TStringList() ; AnsiString ligne ; //lecture du fichier file->LoadFromFile( "C:\\fichier1.txt" ); for( int i=0; i< file->Count; i++) { ligne = file->Strings[i] } //libere la ressorce delete file ;
Aidez moi svp merci
Salut,
Voilà un exemple concret utilisant le code que sat83 t'a donné
Du coup, tu parcoureras tout ton fichier et tu testeras chaque ligne pour savoir si il y a la chaîne "267", par exemple si ton fichier est comme ca:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 //Declaration variable TStringList *file = new TStringList() ; AnsiString ligne ; //lecture du fichier file->LoadFromFile( "C:\\fichier1.txt" ); for( int i=0; i< file->Count; i++) { ligne = file->Strings[i] if(ligne.Pos("267")) ShowMessage("La ligne " + IntToStr(i+1) + "comprend \"267\" au caractère " + IntToStr(ligne.Pos("267"))); } //libere la ressorce delete file ;
Tu auras le message: "La ligne 7 comprend "267" au caractère 11"Rapport,,,261,Ordinateur,PLANNING
Rapport,,,262,Générateur,PLANNING
Rapport,,,263,Générateur,PLANNING
Rapport,,,264,Générateur,PLANNING
Rapport,,,265,Générateur,PLANNING
Rapport,,,266,Générateur,PLANNING
Rapport,,,267,Générateur,PLANNING
Un conseil, utilise![]()
Je vais peut etre chiant mais lej'etait juste entrain de l'essayer un j'ai aucune reponse pas un signe de vie mdr donc je sais plus quoi faire meme je vien d'essayer de faire copier coller de ton code et sa fait exactement la meme chose c'est a dire rien si tu peut essayera tu vera et si tu trouve l'erreur au autre fait moi signe c'est vraiment important merci
Code : Sélectionner tout - Visualiser dans une fenêtre à part if(ligne.Pos("267"))
je suis desoler lol je vien de réessayer la sa marche je comprend plus rien donc ben je te remerci a moi de faire le reste bonne fin de journee
Partager