Free pascal programozas?
Szeritnem valahogy így: (rekordot definiáltam, egy ilyen fájlt kellene létrehozni, nem tudom milyen rekordot alkottál, de be kellene olvasni a fájlból a rekordot és kiíratni.
program lottotomb;
type
lotto=record
ev:word;
het:byte;
szamok:array[1..5] of byte;
end;
var
lfile:file of lotto;
lelem:lotto;
begin
assign(lfile,'lotto.dat');
reset(lfile);
while not eof(lfile) do
begin
readln(lfile,lelem);
{adatokat kiíratod}
end;
end.
Kellene tudni, hogy a - feltételezem - már létező fájlodban hogy nézett ki a rekord szerkezete, mert én ugyan írtam egyet #1 válaszban, de ha nem ilyen volt a rekord felépítése akkor nem lesz jó a kiiratás sem.
Adatbevitelt azért nem írtam bele, mert kérdésedből úgy vettem ki: létező fájlt szeretnél kiiratni.
Jaa igen, a tömbbel kiiratás: tömbként definiálod a rekordot, ciklusban pedig a tömbbe olvasod be a fájl tartalmát rekordonként, egy változót növelsz minden beolvasásnál, így tudod majd meddig tart a tömb, amíg ki kell iratni.
Na valami ilyesmi (tovább írtam). :-)
Dinamikus tömbbel természetesen esztétikusabb lett volna megvalósítani.
program lottotomb;
type
lotto=record
ev:word;
het:byte;
szamok:array[1..5] of byte;
end;
var
lfile:file of lotto;
ltomb:array[1..999] of lotto;
i,count:word;
j : byte;
lrek:lotto;
begin
assign(lfile,'lotto.dat');
reset(lfile);
count:=1;
while not eof (lfile) do
begin
read(lfile,lrek);
ltomb[count]:=lrek;
inc(count);
end;
for i:=1 to count do
begin
writeln(ltomb[i].ev, ' ',ltomb[i].het,' szamai:');
for j:=1 to 5 do
write(ltomb[i].szamok[j],' ');
end;
close(lfile);
end.
Írd át a rekordot olyan típusra, mint amilyen típussal feltöltötted a fájlt.
Ha előzőleg létrehoztál egy rekord-típussal egy fájlt és most az én programommal szeretnéd olvasni, akkor ez nem fog működni, mert más a rekord felépítése feltételezhetően.
Kapcsolódó kérdések:
Minden jog fenntartva © 2025, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!