salut a tous j'ai juste une petite question je voudrais simplement modifier un champs d'un ligne selectionné dans un fichier texte
salut a tous j'ai juste une petite question je voudrais simplement modifier un champs d'un ligne selectionné dans un fichier texte
Salut,
peut tu nous dire avec quoi tu ouvre ton fichier, dans quoi tu l'affiche, comment tu sélectionne ta ligne ?
N'oublie pas d'être précis pour avoir des réponses
Quand une réponse vous a été utile, pensez à utiliser le nouveau système de notation
Lisez le magazine de developpez.com. Mes tutos : http://pottiez.developpez.com
La FAQ BCB -> 642 Questions/Réponses, si vous voulez participer, contactez moi. Aide de BCB6 en français
N'oubliez pas que l'aide existe et est affichée sous simple pression de la touche F1 , une touche c'est plus rapide que tout un message .
void TForm1::FMenu()
{
// cette fonction sert à modifier les Menus dont on ne trouve
// qu une seule occurence pour un fichier .txt
TReplaceFlags Flags; // Ici AVEC tout et casse
String E =Memo4->Text;
String N =Memo5->Text;
String S = Memo3->Text;
Flags >>rfReplaceAll>>rfIgnoreCase; // Remplace exactement
Memo6->Text = StringReplace(S, E, N, Flags);
Memo6->Lines->SaveToFile(chemin);
}
tiens voilà une fonction qui remplace une occurence , çà fait partie d un petit programme que j avais commencé , à toi de l utiliser comme il faut
voici ce que j'ai pu faire pour avoir deja mais information
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
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65 //Declaration de variable int i,val1=-1; AnsiString ligne3,ligne4,application,rechercher,login,password; TStringList *file = new TStringList() ; TStringList *li = new TStringList() ; //Enregistrement de l'application dans la variable application=Edit1->Text; //Lecture du fichier file->LoadFromFile("C:\\Documents and Settings\\30.09.07\\Mes documents\\fichier.txt"); for( i=0; i< file->Count; i++) { //Lecture de chaque ligne rechercher = file->Strings[i]; //Teste sur chaque ligne la valeur application if(rechercher.Pos(application)) { //Enregistre la valeur dans val1 val1=i; } } //Recuperation de ligne selectionner if(val1 != -1) { ligne3 = file->Strings[val1] ; ligne4 = ""; while(ligne3.Pos(",") != 0) { ligne4 += "\""; ligne4 += ligne3.SubString(1,ligne3.Pos(",")-1); ligne3.Delete(1,ligne3.Pos(",")); ligne4 += "\","; } if(ligne3.Length() != 0) { ligne4 += "\""; ligne4 += ligne3; ligne4 += "\""; } //Decoupage de la ligne a chaque virgule li->Delimiter = ',' ; li->DelimitedText = ligne4 ; //Enregistrement du champs dans le login login=li->Strings[1]; //Enregistrement du champs dans password password=li->Strings[2]; //Affichage du login Edit2->Text=login; //Affichage du password Edit3->Text=password; Edit2->Visible=true; Edit3->Visible=true; Label2->Visible=true; Label3->Visible=true; } delete li;
C'est bien, mais quel champs veut tu modifier, et tu veut le remplacer par quoi ?
Quand une réponse vous a été utile, pensez à utiliser le nouveau système de notation
Lisez le magazine de developpez.com. Mes tutos : http://pottiez.developpez.com
La FAQ BCB -> 642 Questions/Réponses, si vous voulez participer, contactez moi. Aide de BCB6 en français
N'oubliez pas que l'aide existe et est affichée sous simple pression de la touche F1 , une touche c'est plus rapide que tout un message .
ben par exemple le champs password pour changer le mot de passe car sa peut arriver de changer de mot de passe !!!
Ok, dans ce cas, on va reprendre le code de lecture, et au lieu de mettre les infos dans les TEdit, on les prend des TEdit pour les mettres dans le fichier puis le sauver :
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
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64 //Declaration de variable int i,val1=-1; AnsiString ligne3,ligne4,application,rechercher,login,password; TStringList *file = new TStringList() ; TStringList *li = new TStringList() ; //Enregistrement de l'application dans la variable application=Edit1->Text; //Lecture du fichier file->LoadFromFile("C:\\Documents and Settings\\30.09.07\\Mes documents\\fichier.txt"); for( i=0; i< file->Count; i++) { //Lecture de chaque ligne rechercher = file->Strings[i]; //Teste sur chaque ligne la valeur application if(rechercher.Pos(application)) { //Enregistre la valeur dans val1 val1=i; } } //Recuperation de ligne selectionner if(val1 != -1) { ligne3 = file->Strings[val1] ; ligne4 = ""; while(ligne3.Pos(",") != 0) { ligne4 += "\""; ligne4 += ligne3.SubString(1,ligne3.Pos(",")-1); ligne3.Delete(1,ligne3.Pos(",")); ligne4 += "\","; } if(ligne3.Length() != 0) { ligne4 += "\""; ligne4 += ligne3; ligne4 += "\""; } //Decoupage de la ligne a chaque virgule li->Delimiter = ',' ; li->DelimitedText = ligne4 ; //Enregistrement du champs dans le login li->Strings[1]=Edit2->Text; //Enregistrement du champs dans password li->Strings[2]=Edit3->Text; ligne4 = li->DelimitedText;//je suis pas sur pour cette ligne file->Strings[val1] = ligne4; //Lecture du fichier file->SaveToFile("C:\\Documents and Settings\\30.09.07\\Mes documents\\fichier.txt"); Edit2->Visible=false; Edit3->Visible=false; Label2->Visible=false; Label3->Visible=false; } delete li;
Quand une réponse vous a été utile, pensez à utiliser le nouveau système de notation
Lisez le magazine de developpez.com. Mes tutos : http://pottiez.developpez.com
La FAQ BCB -> 642 Questions/Réponses, si vous voulez participer, contactez moi. Aide de BCB6 en français
N'oubliez pas que l'aide existe et est affichée sous simple pression de la touche F1 , une touche c'est plus rapide que tout un message .
Merci sa marche niquel bonne journée
De rien, bonne journée
Quand une réponse vous a été utile, pensez à utiliser le nouveau système de notation
Lisez le magazine de developpez.com. Mes tutos : http://pottiez.developpez.com
La FAQ BCB -> 642 Questions/Réponses, si vous voulez participer, contactez moi. Aide de BCB6 en français
N'oubliez pas que l'aide existe et est affichée sous simple pression de la touche F1 , une touche c'est plus rapide que tout un message .
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager