cs_Jean_Jean
Messages postés615Date d'inscriptiondimanche 13 août 2006StatutMembreDernière intervention13 décembre 20183 1 oct. 2007 à 21:54
c'est très simple :
1. Tu prends ta ligne Buffer (de type string)
2. si tu veux conaître l'emplacement d'un premier caractère comme une virgule, tu utilise la fonction Pos(CarRecherché,Buffer)
3. Si tu veux rechercher la position du premier caractère d'un mot ou d'une expression exacte, tu ulilise la fonction
AnsiPos(TextRecherché,Buffer)
4. Si tu veux remplacer un bout de texte par un autre , tu utilises : AnsiReplaceText(Buffer, TextRecherché, TextDeRemplacement);
Il te faut utiliser les unités de Delphi : SysUtils et StrUtil; ( à rajouter dans Uses)
Enfin, tu trouvera d'autres fonction avec l'aide F1 que tu tappe sur une fonction que tu connais.
Par exemple, Tu tappes POS, tu fais F1 et tu sera guidé vers d'autres fonctions dans voir aussi ou sur les fonctions de même type.
etc...
Bon code
Jean_Jean
cs_Jean_Jean
Messages postés615Date d'inscriptiondimanche 13 août 2006StatutMembreDernière intervention13 décembre 20183 2 oct. 2007 à 08:14
Donc, tu as :
{1ère fonction : remplace tous les mêmes mots}
Buffer := AnsiReplaceText(Buffer, TextRecherche, TextDeRemplacement);
{2ème fonction : avec options de remplacement}
Buffer := StringReplace(Buffer, TextRecherche,TextDeRemplacement,[rfReplaceAll,rfIgnoreCase]);
Va sur l'aide et tu trouveras plein de possibilités
Il y a d'autres techniques qui travaillent caractère par caractère mais bon il vaut mieux commencer par le plus simple.
Jean_Jean
cs_Jean_Jean
Messages postés615Date d'inscriptiondimanche 13 août 2006StatutMembreDernière intervention13 décembre 20183 27 sept. 2007 à 21:20
Bj gryz!
Cela dépend de la structure de ton fichier. TextFile ou Sans type avec un Record défini?
Pour un fichier Typé, voici :
Type TMonRecord = Record
Champ1 : string;
Champ2 : integer;
Var F : File of MonRecord;
Rec : TRecord;
...
Try
AssignFile(F,TonFichier);
Reset(F);
Seek(F,Position Dans TonFichier);
Read(F,Rec); // récupération des valeurs du champs à modifier
Rec.Champ1 := 'Ta nouvelle chaine'; // écriture de ta nouvelle valeur
Write(F,Rec);
Finally
closefile(F);
End;
cs_Jean_Jean
Messages postés615Date d'inscriptiondimanche 13 août 2006StatutMembreDernière intervention13 décembre 20183 28 sept. 2007 à 10:11
Salut gryz!
N'oublie pas, si le code te convient de valider les réponses satisfaisantes par le bouton à droite: accepter.
Sinon, n'hésite pas, demande!
Les fichiers, j'aime bien, mais c'est parfois subtil! Et ça me fait réviser.
Et, oui, on aime bien ça les difficultés ici, on est un peu maso!
Bien à toi.
Jean_Jean