LECTURE ET STOCKAGE DE FICHIER TEXTE DANS UNE VARIABLE

JulioDelphi Messages postés 2226 Date d'inscription dimanche 5 octobre 2003 Statut Membre Dernière intervention 18 novembre 2010 - 23 nov. 2004 à 23:06
MB32 Messages postés 16 Date d'inscription vendredi 11 mai 2012 Statut Membre Dernière intervention 4 juillet 2013 - 11 mai 2012 à 21:22
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/27771-lecture-et-stockage-de-fichier-texte-dans-une-variable

MB32 Messages postés 16 Date d'inscription vendredi 11 mai 2012 Statut Membre Dernière intervention 4 juillet 2013
11 mai 2012 à 21:22
J'oubliais mais les connaisseurs auront compris certainement que le compilateur donne des erreurs sur la ligne de Readln.
MB32 Messages postés 16 Date d'inscription vendredi 11 mai 2012 Statut Membre Dernière intervention 4 juillet 2013
11 mai 2012 à 21:20
Mais pourquoi ce code ne compile pas chez moi (application console, RAD XE2) ?


var F1, F2 : file;
s: string;


begin
try
Assign(F1, 'd:\Fichiers DIM\HJ_2010_11');
Reset(F1);
Assign(F2, 'd:\Fichiers DIM\HJ_2010_11_sortie');
Rewrite(F2);
while not Eof(F1) do begin
Readln(F1, s );
end;
Close(F1);
Close(F2);

{ TODO -oUser -cConsole Main : Insérer du code ici }
except
on E: Exception do
Writeln(E.ClassName, ': ', E.Message);
end;
end.
(compilation : procedure, untyped pointer or untyped parameter and string)

Merci de votre aide, je me sens sérieusement nul, l'aide de XE2 ne me donne pas la syntaxe des arguments de taille multiple, les bouquins que j'ai achetés ne donnent pas d'exemple console, et mes derniers essais avec Delphi ou IntraBuilder ne connaissaient pas tous ces nouveaux types de chaînes.
Merci de me répondre aussi sur mon adresse mail.
jobtunisieyasser Messages postés 123 Date d'inscription lundi 6 septembre 2004 Statut Membre Dernière intervention 23 mars 2007
2 déc. 2004 à 10:01
Oups
j'ai un probléme dans mon code
j'ai passé des heure à le cherché .....
en fin c'est dû à DelphiProg
hihiihihih
Le format généré des fichier contient des fois des erreurs dû à un chr(13) qui manque :
try
while not Eof(F) do
begin
ReadLn(F, S1);
S := S + S1 + chr(13); // -----> §!!!!!!!?????
end;
finally
CloseFile(F);
end;
jobtunisieyasser Messages postés 123 Date d'inscription lundi 6 septembre 2004 Statut Membre Dernière intervention 23 mars 2007
1 déc. 2004 à 17:34
mais arrête eest-ce que je suis aussi stupid ?
Je travail depuis 2.5 ans
je un prog
????????!!!!!!!!!
japee Messages postés 1727 Date d'inscription vendredi 27 décembre 2002 Statut Modérateur Dernière intervention 6 novembre 2021 8
1 déc. 2004 à 00:47
Ouais, Delphiprog, une fois compris le concept, un fonction retourne un résultat (ce qui est la moindres des choses), mais on peut aussi, à l'intérieur de cette fonction, modifier une variable passée en paramètre... ce qui ouvre quelques perspectives... ;)
jobtunisieyasser Messages postés 123 Date d'inscription lundi 6 septembre 2004 Statut Membre Dernière intervention 23 mars 2007
25 nov. 2004 à 08:34
ah bon je ne le savait pas ça
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 à 19:42
A JobTunisieYasser :
La différence entre une fonction et une procédure est la suivante : une fonction renvoie nécessairement un résultat alors qu'une procédure ne renvoie rien.
Mais, en passant des paramètres par adresse comme :
procedure StringFromFile(const FileName: TFileName; var S: string);
où le paramètre S est déclaré Var, toute modification de ce paramètre à l'intérieur de la procédure sera alors visible par l'appelant.

Est-ce plus clair ?
jobtunisieyasser Messages postés 123 Date d'inscription lundi 6 septembre 2004 Statut Membre Dernière intervention 23 mars 2007
24 nov. 2004 à 14:18
Merci beaucoup
cs_MAURICIO Messages postés 2106 Date d'inscription mardi 10 décembre 2002 Statut Modérateur Dernière intervention 15 décembre 2014 5
24 nov. 2004 à 11:31
Ok Ok, si j' ai bien compris, ce code survient à la suite de ta demande d' aide à ce sujet ...
Aucun problème, mais utilise l' amélioration de DelphiProg, et, ma fois, si ma fonction peut aider aussi ...
A+
jobtunisieyasser Messages postés 123 Date d'inscription lundi 6 septembre 2004 Statut Membre Dernière intervention 23 mars 2007
24 nov. 2004 à 11:18
le code a était posé dans lee but de me donner une réponse et non pas dans le but d'avoir la premiére place dans un ....
parsuite le 10/10 est ma seule façon de le remercier pour ses effort.
cs_MAURICIO Messages postés 2106 Date d'inscription mardi 10 décembre 2002 Statut Modérateur Dernière intervention 15 décembre 2014 5
24 nov. 2004 à 11:08
Non, la note de 1/10 est peu être exagérée, moi j' ai donné 4/10 parce que ce code existe dans l' aide de Delphi et parce que ça remonterai le 1/10. Mais si tu donnes 10/10, ça fait une trop bonne moyenne ...
cs_MAURICIO Messages postés 2106 Date d'inscription mardi 10 décembre 2002 Statut Modérateur Dernière intervention 15 décembre 2014 5
24 nov. 2004 à 11:05
Au fait, DelphiProg te donne une amelioration:
Readln permet de lire toute la ligne alors que Read ne lit qu' un seul caractere. De plus, le Try Finally permet de s' assurer que le fichier sera fermé à la fin!!!
jobtunisieyasser Messages postés 123 Date d'inscription lundi 6 septembre 2004 Statut Membre Dernière intervention 23 mars 2007
24 nov. 2004 à 11:01
qui vous a donné 1/10
hihihih
moi je t'es donné 10/10
et merci
merci pour toi aussi MAURICIO
cs_MAURICIO Messages postés 2106 Date d'inscription mardi 10 décembre 2002 Statut Modérateur Dernière intervention 15 décembre 2014 5
24 nov. 2004 à 10:59
Voici une de mes fonctions qui fait le contraire: ecrire dans les fichiers texte !!!
var Ficheiro -> fichier
Texto -> texte à insérer à la fin
Limpar_Primeiro -> permet d' effacer ce qu' il y a dans le fichier avant d' inserer ...
Vazio -> bool = vide?

procedure FicheiroTexto_Append(Ficheiro: String; Texto: String; Limpar_Primeiro: Boolean);
var Fich : TextFile;
Vazio : Boolean;
begin
AssignFile(Fich, Ficheiro);

If (Not FileExists(Ficheiro)) Or (Limpar_Primeiro)
Then Begin
Rewrite(Fich);
Vazio := True;
End
Else Begin
Reset(Fich);
Vazio := Eof(Fich);
End;

Append(Fich);

If Not Vazio
Then Writeln(Fich, ''); // Nouvelle ligne ...

Write(Fich, Texto);
CloseFile(Fich);
end;

C' est une vieille fonction que j' ai faite il y a longtemps.
J' espère que ça va vous être utile.
jobtunisieyasser Messages postés 123 Date d'inscription lundi 6 septembre 2004 Statut Membre Dernière intervention 23 mars 2007
24 nov. 2004 à 09:01
de mon point de vue
excépté l'organisation du code
je ne voit pas la nuance delphiprog
JulioDelphi Messages postés 2226 Date d'inscription dimanche 5 octobre 2003 Statut Membre Dernière intervention 18 novembre 2010 14
23 nov. 2004 à 23:06
merci de remettre a jour le zip et de ne pas mettre d'accent pour les noms de fichiers, ils sont injoignables pour les *membres club*
Rejoignez-nous