Salut a tous
Je viens de trouver cette fonction sur le net
et j'aurais voulus savoir comment l'utiliser
le posteur n'a pas mit de commentaire
et elle date de 2003:
function readlnUnix(var F : textfile):string;
var
ch : char;
begin
result:='';
read(F,ch);
while (not eof(F)) do
begin
if (ch=#10) then exit;
result:=result+ch;
read(F,ch);
end;
end;
j'aurais voulu si quelqu'un pourais m'aiguiller
Merci
PS: Comment faire pour analyser ligne par ligne un TRichEdit ? Merci d'avance
Je tourne avec Borland Delphi 2006 personal edition
En ce qui me concerne, je réponds à la première question (merci de ne poser qu'un question par topic ).
Pour utiliser la fonction readlnUnix :
1- déclarer une variable fichier texte:
var
f: TextFile;
2- lui assigner un nom de fichier :
AssignFile(f, 'nom de mon fichier texte');
3- ouvrir le fichier en lecture :
Reset(F);
4- appeler la fonction readlnUnix en lui passant la variable f en paramètre :
aString := ReadlnUnix(f);
5- fermer le fichier :
CloseFile(f);
Et pis c'est tout.
Les méthodes LoadFromFile ont l'avantage d'être simples et rapides à utiliser mais elles ont aussi le gros défaut de charger tout le fichier en mémoire. Dans certains cas, il est encore utile de savoir lire un fichier avec des méthodes natives.
May Delphi be with you !
<hr color="#008000" />
Pensez à cliquer sur Réponse acceptée lorsque la réponse vous convient.
http://www.afipa.net/
ReadLnUnix permet de recuperer les phrases séparé par un EOLN unix (soit le caracter #10) contrairement a ReadLn qui lui detecte les EOLN dos (soit les caracteres #13#10).
en gros cela donne en plus rapide :
procedure LoadUnixTextFile(const FileName : string; Strings : TStrings);
var List : TStringList;
begin
if not (FileExists(FileName) and Assigned(Strings)) then
Exit;
List := TStringList.Create;
try
List.BeginUpdate;
Strings.BeginUpdate;
try
Strings.Clear;
List.LoadFromFile(FileName);
Strings.Delimiter := #10;
Strings.DelimitedText := List.Text;
finally
List.EndUpdate;
Strings.EndUpdate;
end;
finally
List.Free;
end;
end;