LECTURE ET STOCKAGE DE FICHIER TEXTE DANS UNE VARIABLE

Signaler
Messages postés
2226
Date d'inscription
dimanche 5 octobre 2003
Statut
Modérateur
Dernière intervention
18 novembre 2010
-
MB32
Messages postés
16
Date d'inscription
vendredi 11 mai 2012
Statut
Membre
Dernière intervention
4 juillet 2013
-
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

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

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

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

mais arrête eest-ce que je suis aussi stupid ?
Je travail depuis 2.5 ans
je un prog
????????!!!!!!!!!
japee
Messages postés
1715
Date d'inscription
vendredi 27 décembre 2002
Statut
Modérateur
Dernière intervention
2 décembre 2019
3
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

ah bon je ne le savait pas ça
cs_Delphiprog
Messages postés
4580
Date d'inscription
samedi 19 janvier 2002
Statut
Modérateur
Dernière intervention
9 janvier 2013
26
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

Merci beaucoup
cs_MAURICIO
Messages postés
2233
Date d'inscription
mardi 10 décembre 2002
Statut
Modérateur
Dernière intervention
15 décembre 2014
5
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

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
2233
Date d'inscription
mardi 10 décembre 2002
Statut
Modérateur
Dernière intervention
15 décembre 2014
5
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
2233
Date d'inscription
mardi 10 décembre 2002
Statut
Modérateur
Dernière intervention
15 décembre 2014
5
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

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
2233
Date d'inscription
mardi 10 décembre 2002
Statut
Modérateur
Dernière intervention
15 décembre 2014
5
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

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
Modérateur
Dernière intervention
18 novembre 2010
13
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*