ptite question en delphi [facile] - Delphi/Pascal - Programmation
Marsh Posté le 18-05-2002 à 20:50:07
var Fichier1 : file of rec1;
idem pour l'autre
Tu défini une variable tampon
var Tampon : rec1;
Lecture :
AssignFile(Fichier1,Chemin d'accès);
{$I-} {Directive de compilation pour tester les E/S}Reset(Fichier1); {Ouverture du fichier}
{$I+}
if (IOResult=0)
then {Le fichier existe}
begin
while Not(Eof(Fichier1)) do
begin
Read(Fichier1,Tampon);
Showmessage(Tampon); {bidon, juste pour afficher}
end;
CloseFile(Fichier1);
end
else
Showmessage('Le fichier n'existe pas';
[jfdsdjhfuetppo]--Message édité par Thander le 18-05-2002 à 20:52:17--[/jfdsdjhfuetppo]
Marsh Posté le 18-05-2002 à 21:39:28
Thander a écrit a écrit : var Fichier1 : file of rec1; idem pour l'autre Tu défini une variable tampon var Tampon : rec1; Lecture : AssignFile(Fichier1,Chemin d'accès); {$I-} {Directive de compilation pour tester les E/S}Reset(Fichier1); {Ouverture du fichier} {$I+} if (IOResult=0) then {Le fichier existe} begin while Not(Eof(Fichier1)) do begin Read(Fichier1,Tampon); Showmessage(Tampon); {bidon, juste pour afficher} end; CloseFile(Fichier1); end else Showmessage('Le fichier n'existe pas'; |
merci bcp mais il reste un truc que jaimerai bien faire :
program Project1;
{$APPTYPE CONSOLE}
uses
SysUtils;
type
rec1=record
num:integer;
nom:packed array [1..25] of char;
end;
rec2=record
num:integer;
result:array [1..10] of integer;
end;
var
fich1:file of rec1;
fich2:file of rec2;
temp:rec1;
begin
assign(fich1,'c:\rec1.txt';
rewrite(fich1);
writeln('entrez le nom';
read(temp.nom);
writeln(fich1,temp.nom);
close(fich1);
readln;
end.
la il me donne type illegal ds readln et ds writeln
Marsh Posté le 19-05-2002 à 11:18:26
writeln(fich1,temp.nom);
Ca c'est pas bon
D'abord, il faut utiliser Write (et non ln)
En +, il faut faire un Write(fich1, temp) (et non temp.nom)
Donc, il faut aussi que tu renseignes la valeur de temp.num avant de faire le Write
Un dernier truc, utilise Closefile à la place de close
[jfdsdjhfuetppo]--Message édité par Thander le 19-05-2002 à 11:20:13--[/jfdsdjhfuetppo]
Marsh Posté le 19-05-2002 à 11:50:54
Et AssignFile au lieu de Assign, mais bon à priori ça change pas grand chose... C'est juste pour pas confondre avec le Assign et le Close des objets dela VCL.
Marsh Posté le 19-05-2002 à 14:24:08
antp a écrit a écrit : Et AssignFile au lieu de Assign, mais bon à priori ça change pas grand chose... C'est juste pour pas confondre avec le Assign et le Close des objets dela VCL. |
Oui, en effet, c'est mieux
Sinon, pour ton read, ça marche pas et c'est normal
Ca te dirais pas de redéfinir ta structure comme ça
rec1=record
num:integer;
nom:string[25];
end;
Avec un petit string (c'est pas à quoi tu penses ), ça marchera nickel
Marsh Posté le 18-05-2002 à 17:19:48
voila je dispose de 2 fichiers sous cette forme :
rec1=record
num:integer;
nom:packed array [1..25] of char;
end;
rec2=record
num:integer;
result:array [1..10] of integer;
end;
comment je dois les declarer ds le prog (file of ?????)
et pour aller lire dedans je fait comment ????