Kezdőoldal » Számítástechnika » Programozás » Miért akad ki a program a...

Miért akad ki a program a "reset (ki) "-nél?

Figyelt kérdés

Írtam 1 kisebb játékot.

Működik jól, a végén meg lehet adni nevet, és kiírja 1 fájlba a nevet az elért ponttal együtt.

Aztán fogtam és írtam mellé egy megnüt is, információ, indítás és kilépéssel.

Ha így futtatom le a játékot így már nem jó a kiírás, mert a reset(ki)-nél kifagy.

sima játék: [link]

menüs játék: [link]



2014. máj. 6. 21:06
 1/10 63tqh ***** válasza:
Most a linkkel mit kellene kezdeni, mert letölteni nem lehet. (vagy reg kell hozzá? már bocs de ezért senki nem fog ide regelni neked)
2014. máj. 6. 21:09
Hasznos számodra ez a válasz?
 2/10 A kérdező kommentje:
nem kell regisztrálni
2014. máj. 6. 21:11
 3/10 A kérdező kommentje:
ott a nagy ingyenes letöltés gomb...
2014. máj. 6. 21:11
 4/10 anonim ***** válasza:
Aha, csak ha adblocker kiszedi...akkor az egy reklám. Tedd fel dropboxra. Amúgy meg javascript? Mert az nagyon nem arra van kitalálva. Gondoltam a ki változód a txt hozzáadandója, de látni kéne a funkciót, hogy milyen programmal csinálod, meg, hogy milyen programnyelven...
2014. máj. 6. 21:23
Hasznos számodra ez a válasz?
 5/10 A kérdező kommentje:
Lazarus és FreePascal
2014. máj. 6. 21:24
 6/10 A kérdező kommentje:
2014. máj. 6. 21:28
 7/10 uno20001 ***** válasza:

A fajl nem létezik, ezért nem tudod resetelni. A "reset(ki)" parancs elé kell egy "rewrite(ki)". Azonban ekkor mindig felülírja a fájlt. A teljes megoldás:

assign(ki,'eredmenyek.txt');

{$i-}

reset(ki);

{$i+}

if IOResult <> 0 then begin

rewrite(ki);

reset(ki);

end;

2014. máj. 6. 23:25
Hasznos számodra ez a válasz?
 8/10 A kérdező kommentje:

köszi működik, de azt nem értem, hogy simán miért működött?

tanárom is így tanította, hogy assign és utána amit akarok

append/reset/rewrite és eddig jó is volt, meg a sima játéknál is, de ahogy menüt beraktam nem működött

2014. máj. 7. 14:27
 9/10 uno20001 ***** válasza:

Freepascal.org-on a reset függvény leírása:

"Open file for reading"-megnyit egy fájlt olvasásra.

Ha csak úgy elinditottad a programot, és nem létezett az "eredmenyek.txt", akkor nem tudott mit resetelni, mivel a fájl nem létezett. Ezért akad ki.


Ha elé betennél egy "rewrite" utasítást (ami létrehozza a fájlt), akkor minden alkalommal újra készítené a fájlt, ezért mindig csak a legutóbbi eredmény lenne benne.

-------

A "{$I-}" kikapcsolja az input/output hiba...valamit. :-) Ezután megpróbálja resetelni a fájlt, ha megy (tehát létezik a fájl) az IOResult értéke 0 lesz vagyis nem hajtja végre az if blokkban lévő utasításokat, megy tovább. Ha nem sikerül (tehát nem létezik a fájl) akkor az IOResult értéke nem nulla lesz, vagyis belép az if-blokkba és itt létrehozza a fájlt, aztán megy tovább.

2014. máj. 7. 22:48
Hasznos számodra ez a válasz?
 10/10 A kérdező kommentje:
értem, de amúgy létezett a fájl :D
2014. máj. 8. 00:58

Kapcsolódó kérdések:





Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!