Jos peliä ei ole tallennettu ja pelaaja haluaisi ladata pelin, niin miten ohjelman saisi ilmoittamaan että tiedostoa ei löydy?
Use your own branes, please!
Tarkasta, onko tiedosto olemassa, ja jos ei ole, ilmoita, että tiedostoa ei löydy:
tiedosto$ = "c:\error.txt" IF DIR$(tiedosto$) = "" THEN PRINT "Tiedostoa " + tiedosto$ + " ei ole olemassa" ELSE PRINT "Tiedosto " + tiedosto$ + " on olemassa" END IF
Niinpä, tai voihan sen tehdä niinkin, että tallentaa tallenteiden nimet vaikka 'saves.txt' -tiedostoon ja sitten katsoo jos siellä on jotain ja avaa sitten...ymmärsitteköhän?
Mut jos käyttäjä poistaa tiedoston ohjelman ollessa kiinni, niin sillonhan ohjelmasta ladattaessa tiedostoa se joutuu tarkastamaan kuitenkin kaikki et onko niitä olemassa..
Niin, no joo. olet aivan oikeassa. Enpä ajatellut tuota.
Luo sopiva virheenkäsittelijä (ON ERROR GOTO SEJASE, ON ERROR RESUME NEXT) ja katso virhekoodi taulukosta sopiva koodi. Jos sellainen virhekoodi tulee, niin ohjelma/peli sitten ilmoittaa sen ja silleen.
-Grey-
Miten noit ON ERROR juttui nyt oikeen sit käytetään?
En nyt muista mutta taitaa toimia jotenkin näin (itse en näistä kyllä pidä, enkä myöskään käytä):
ON ERROR GOSUB foobar PRINT "jejeejejejee" KILL "39uujv.igh" ' yritetään tuhota tiedosto jota ei ole, aiheuttaa virheen foobar: PRINT "Ilmeni virhe numero"; ERR RESUME ' jatketaan silti suorittamista
Sain tosta fawkzin vinkist väännettyy jonkinlaisen systeemin joka toimii! Kiitti vaan!
Uusi kysymys:
Olen tässä pelaillut Grandia 2:sta, jossa jokaisen tallennuksen perässä näkyvät pelitunnit. Miten QB:llä saisi tunnit näkymään tallennuksen vieressä. Varmaan pitäisi jotenkin ladata ensin tiedostosta mutta miten...
No ensinnäkin pelisi täytyy lisätä vaikka joka minuutti jonkun muuttujan arvoa yhdellä. Ja sitten katsoa se kustakin tiedostosta (suosittelen binäärimuotoa), ja laskea tunneiksi ja minuuteiksi:
minuutit% = 220 'peliä on pelattu 220 minuuttia tunnit% = minuutit% \ 60 minuutit% = minuutit% - tunnit% * 60 PRINT tunnit%; "tuntia,"; minuutit%; "minuuttia"
Aihe on jo aika vanha, joten et voi enää vastata siihen.