Ahoj, potřeboval bych poradit s procedurou pro načtení
neznámých ze záznamu.
Mám to napsané takto:
procedure NACTENI;
begin
n:=filesize(SC);
reset(SC);
for i:=0 to n-1 do begin
read(SC, recept);
seek(SC,i);
recept.serazeni[i+1]:=recept.pocetsurovin end;
for i:=1 to n do begin write(recept.serazeni[i], ', ') end;
writeln();readln();readln();end;
Ale píše mi to samé nuly kromě posledního čísla a to ještě
špatně.
Nevíte co s tím?
Děkuji
Pascal - načtení ze záznamu
Re: Pascal - načtení ze záznamu
Vítej na PC-help.
K čemu je tam ten seek(SC,i);? Předpokládám že data jsou uložená sekvenčně, takže je můžeš sekvenčně i načíst, nepotřebuješ skákat v souboru sem a tam, operační systém si to při čtení posouvá sám.
K čemu je tam ten seek(SC,i);? Předpokládám že data jsou uložená sekvenčně, takže je můžeš sekvenčně i načíst, nepotřebuješ skákat v souboru sem a tam, operační systém si to při čtení posouvá sám.
"Král Lávra má dlouhé oslí uši, král je ušatec!
(pravil K. H. Borovský o cenzuře internetu)
(pravil K. H. Borovský o cenzuře internetu)
Re: Pascal - načtení ze záznamu
A jak to zapsat? Nějak takto?
for i:=1 to n do begin reset(SC);
while not eof(SC) do begin
read(SC, recept);if recept.strana=i then recept.serazeni[i]:=recept.pocetsurovin end;end;
for i:=1 to n do begin write(recept.serazeni[i], ', ') end; writeln();
Ani tak mi to nefunguje. Potřebuji si je nejdříve načíst
popořadě do řetězce, abych je mohl uspořádat podle velikosti
a následně celý uspořádaný záznam vypsat.
Dodatečně přidáno po 1 hodině 23 minutách 22 vteřinách:
Ještě jsem to zkusil i takto, ale výsledek se nezměnil.
procedure NACTENI;
begin
n:=filesize(SC);
i:=1;
reset(SC);
while not eof(SC) do begin
read(SC, recept);
recept.serazeni[i]:=recept.pocetsurovin;
i:=i+1 end;
for i:=1 to n do begin write(recept.serazeni[i], ', ') end; writeln();readln();readln();end;
Výsledek:
0, 0, 0, 0, 0, 0, 6,
Nevíte co s tím?
for i:=1 to n do begin reset(SC);
while not eof(SC) do begin
read(SC, recept);if recept.strana=i then recept.serazeni[i]:=recept.pocetsurovin end;end;
for i:=1 to n do begin write(recept.serazeni[i], ', ') end; writeln();
Ani tak mi to nefunguje. Potřebuji si je nejdříve načíst
popořadě do řetězce, abych je mohl uspořádat podle velikosti
a následně celý uspořádaný záznam vypsat.
Dodatečně přidáno po 1 hodině 23 minutách 22 vteřinách:
Ještě jsem to zkusil i takto, ale výsledek se nezměnil.
procedure NACTENI;
begin
n:=filesize(SC);
i:=1;
reset(SC);
while not eof(SC) do begin
read(SC, recept);
recept.serazeni[i]:=recept.pocetsurovin;
i:=i+1 end;
for i:=1 to n do begin write(recept.serazeni[i], ', ') end; writeln();readln();readln();end;
Výsledek:
0, 0, 0, 0, 0, 0, 6,
Nevíte co s tím?
-
- Mohlo by vás zajímat
- Odpovědi
- Zobrazení
- Poslední příspěvek
-
- 2
- 2006
-
od Kopusek
Zobrazit poslední příspěvek
02 pro 2023 10:13
-
-
Koupě venkovní kamery, připojení přes wifi a ukládání záznamu
od Clorky » 09 črc 2023 09:57 » v Administrace sítě - 5
- 2626
-
od X
Zobrazit poslední příspěvek
16 črc 2023 09:31
-
-
-
JavaScript - načtení web stranky do řetězce.
od L.L » 16 bře 2024 10:23 » v Programování a tvorba webu - 4
- 1072
-
od L.L
Zobrazit poslední příspěvek
20 bře 2024 07:29
-
Zpět na “Programování a tvorba webu”
Kdo je online
Uživatelé prohlížející si toto fórum: Žádní registrovaní uživatelé a 1 host