Un fichier text

Résolu
jobtunisieyasser Messages postés 123 Date d'inscription lundi 6 septembre 2004 Statut Membre Dernière intervention 23 mars 2007 - 23 nov. 2004 à 18:10
cs_grandvizir Messages postés 1106 Date d'inscription samedi 8 novembre 2003 Statut Membre Dernière intervention 3 septembre 2006 - 24 nov. 2004 à 19:49
Salut tous le monde
à vrai dire je cherche comment stocker le contenu d'un fichier text dans une variable
car
Read(F,Ficher_Html);
ne lit que la 1er ligne
alors j'aimerais bien savoir la déclaration de la variable (string ...) et la commande
Ben ...
merci beaucoup
vraiment j'en ai besoins

@_______=-Jobtunisie-=_______@
|..................NOURON ALA NOUR.......................|

8 réponses

cs_Delphiprog Messages postés 4297 Date d'inscription samedi 19 janvier 2002 Statut Membre Dernière intervention 9 janvier 2013 32
23 nov. 2004 à 23:13
La question, au départ, ne mentionnait pas un usage pour le Turbo Pascal.
Cela dit, tu as parfaitement raison GrandVizir. Et donner le code n'aurait pas été mal non plus !
Je vais donc le faire.
function StringFromTextFile(const FileName: TFileName): string;
var
  s: string;
  F: TextFile;
begin
  Result := EmptyStr;
  AssignFile(F, FileName);
  Reset(F);
  try
    while not Eof(F) do
    begin
      ReadLn(F, S);
      Result := Result + S;
    end;
  finally
    CloseFile(F);
  end;
end;

Bon, et puis cette fois ne me dis pas que les blocs de protection n'existe pas sous Turbo Pascal :sleepy) . On peut aussi s'en passer, c'est vrai.
Pensez à cliquer sur Réponse acceptée lorsque la réponse vous convient.
May Delphi be with you
3
Filipe35 Messages postés 470 Date d'inscription vendredi 14 novembre 2003 Statut Membre Dernière intervention 23 octobre 2007 1
23 nov. 2004 à 18:22
j'ai ca sur mon pc je post ca demain,

patience
.....
Filipe
0
cs_Delphiprog Messages postés 4297 Date d'inscription samedi 19 janvier 2002 Statut Membre Dernière intervention 9 janvier 2013 32
23 nov. 2004 à 18:22
Ben, c'est pourtant tout bête. Voici une fonction toute faite :
function StringFromFile(FileName: TFileName): string;
var
  Liste: TStringList
begin
  Result := EmptyStr;
  Liste := TStringList.Create;
  try
    Liste.LoadFromFile(FileName);
    Result := Liste.Text;
  finally
    Liste.Free;
  end; {try..finally}
end;

Pensez à cliquer sur Réponse acceptée lorsque la réponse vous convient.
May Delphi be with you
0
cs_Delphiprog Messages postés 4297 Date d'inscription samedi 19 janvier 2002 Statut Membre Dernière intervention 9 janvier 2013 32
23 nov. 2004 à 19:44
Filipe35 : Il y a plusieurs façons de procéder. Mais la moins performante (et donc la plus mauvaise) consiste surement à lire le fichier caractère par caractère. Le code source indiqué n'est donc pas intéressant à mon avis.
Pensez à cliquer sur Réponse acceptée lorsque la réponse vous convient.
May Delphi be with you
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_grandvizir Messages postés 1106 Date d'inscription samedi 8 novembre 2003 Statut Membre Dernière intervention 3 septembre 2006 22
23 nov. 2004 à 20:11
Ce qui est lu est lu. Donc, il n'y a pas plus mauvais que de lire avec Read. Il y a un buffer de 128 avec la fonction Read. La lecture char à char est possible: 1 lecture et 128 jonglages en mémoire. Une boucle REPEAT UNTIL Eof(Fichier); avec plein de ReadLn(Fichier) et de concaténation dans un string S en guise de résultat permet de lire le fichier entièrement. Ceci dit: Fichier:textfile; Etant en fichier texte, ReadLn ne pose pas de problèmes. Pourquoi allouer un TStringList alors que Read(Ln) est tout à fait correct. Dans un programme Turbo Pascal, TStringList n'existe pas (à ma connaissance). Dans ce cas, seul Read est ok!

===========
Validez les réponses si ok...

ViewVite : HTML - ZIP
0
jobtunisieyasser Messages postés 123 Date d'inscription lundi 6 septembre 2004 Statut Membre Dernière intervention 23 mars 2007
24 nov. 2004 à 08:56
Mon dieu, mon dieu ....
Ben c'est hyper cooool le faite de lire tous ça.
Je croit que je veux retenir la dérniére des réponse delphprog :-p
Mais j'aimerais
avant de valider la réponse
savoir si (s) String pourrait contenir tous un fichier
càd est-ce que ça dépasse pas sa capacité .
Merci

@_______=-Jobtunisie-=_______@
|..................NOURON ALA NOUR.......................|
0
cs_Delphiprog Messages postés 4297 Date d'inscription samedi 19 janvier 2002 Statut Membre Dernière intervention 9 janvier 2013 32
24 nov. 2004 à 09:35
Par défaut, une variable déclarée en String correspond à une AnsiString dont la capacité est limitée à 2 Go.
Ca laisse de la marge...
Pensez à cliquer sur Réponse acceptée lorsque la réponse vous convient.
May Delphi be with you
0
cs_grandvizir Messages postés 1106 Date d'inscription samedi 8 novembre 2003 Statut Membre Dernière intervention 3 septembre 2006 22
24 nov. 2004 à 19:49
En même temps, Read ne permet pas la lecture des fichiers binaires tels que les EXE. Dans ces cas, si on rencontre un seul #$1A, on est bai**. Pardon... Il faut streamer un peu tout ça et puis c'est bon. Mais là, Delphi est requis.

===========
Validez les réponses si ok...

ViewVite : HTML - ZIP
0
Rejoignez-nous