tony_73
Messages postés30Date d'inscriptionjeudi 29 septembre 2005StatutMembreDernière intervention23 décembre 2011
-
24 nov. 2006 à 16:16
Cirec
Messages postés3833Date d'inscriptionvendredi 23 juillet 2004StatutModérateurDernière intervention18 septembre 2022
-
25 nov. 2006 à 18:02
Bonjour,
Voila j'aimerais ouvrir un fichier et lire juste la premiere ligne délimité par des crochets. mais apparemment il est impossible en faisant un ReadLn(Fichier)!
Cirec
Messages postés3833Date d'inscriptionvendredi 23 juillet 2004StatutModérateurDernière intervention18 septembre 202250 24 nov. 2006 à 17:20
Salut,
essaye avec un TStringList :
procedure TForm1.Button1Click(Sender: TObject);
Var TS : TStringList;
Texte : String;
Begin TS := TStringList.Create;
Try
TS.LoadFromFile('Nom_du_Fichier');
Texte : = TS[0]; // on affecte la première ligne à Texte
Finally TS.Free;
End;
Label1.Caption : = Texte; // on l'affiche dans un Label End ;
cs_couf
Messages postés213Date d'inscriptiondimanche 5 janvier 2003StatutMembreDernière intervention 6 janvier 20111 24 nov. 2006 à 17:42
Merci Cirec,
car je ne connaissais pas cette propriété
j'étais entrain d'écrire une vrai "usine à gaz" pour virer tous les crochets, et ensuite faire un Tsringlist comme toi
Cirec
Messages postés3833Date d'inscriptionvendredi 23 juillet 2004StatutModérateurDernière intervention18 septembre 202250 25 nov. 2006 à 18:02
De rien ...
on a souvent tendance à chercher la complication alors que la solution est très simple
il existe aussi la fonction StringReplace de l'unité SysUtils.pas
Extrait de l'unité SysUtils.pas: type TReplaceFlags = set of (rfReplaceAll, rfIgnoreCase);
function StringReplace(const S, OldPattern, NewPattern: string;
Flags: TReplaceFlags): string;
Utilisation: procedure TForm1.Button1Click(Sender: TObject);
Var TS : TStringList;
Begin TS : = TStringList.Create;
Try TS.LoadFromFile('Config.ini');
// suppression en une passe de tous les [ TS.CommaText : = StringReplace(TS.CommaText,'[', '', [rfReplaceAll]);
// suppression en une passe de tous les ]
TS.CommaText := StringReplace(TS.CommaText,']', '', [rfReplaceAll]);
// et on les affiches en une fois le résultat dans un TMemo
Memo1.Lines.AddStrings(TS);
Finally
TS.Free;
End;
End;