craftsystem
Messages postés143Date d'inscriptionsamedi 21 juillet 2007StatutMembreDernière intervention 7 mars 2009
-
5 sept. 2007 à 19:11
craftsystem
Messages postés143Date d'inscriptionsamedi 21 juillet 2007StatutMembreDernière intervention 7 mars 2009
-
10 sept. 2007 à 04:54
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
cs_Delphiprog
Messages postés4297Date d'inscriptionsamedi 19 janvier 2002StatutMembreDernière intervention 9 janvier 201332 7 sept. 2007 à 22:29
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/
f0xi
Messages postés4205Date d'inscriptionsamedi 16 octobre 2004StatutModérateurDernière intervention12 mars 202235 5 sept. 2007 à 21:27
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;