Kirjautuminen

Haku

Tehtävät

Keskustelu: Ohjelmointikysymykset: Input past end of file (QB)

gamehouse [29.09.2007 19:05:19]

#

Eli tulee tämmöisessä koodinpätkässä virhe: Input past end of file! Mikä vikana?

CLS
DIM teksti1 AS STRING
OPEN "\haku.flu" FOR INPUT AS #2
LINE INPUT #2, teksti1
IF teksti1 = "nan" THEN
CLS
PRINT "COMOS V.0.1"
PRINT
PRINT "ANY SYSTEM FILES NOT FOUND!"
END IF
CLOSE #2
END
PRINT "ALL OK!"

Tuossa LINE INPUT- kohdassa siis tulee tuo virhe. Apua!

Antti Laaksonen [29.09.2007 19:28:34]

#

Onko tiedostossa aivan varmasti jotain luettavaa?

Kokeilepa tulostaa heti tiedoston avauksen jälkeen:

PRINT LOF(2)

Tämä ilmoittaa tiedoston koon (tavuina), ja koko ei saisi olla 0.

gamehouse [29.09.2007 19:31:22]

#

Ahaa! Tulosti nolla, joten kokeilen laittaa tiedostoon jotain...

EDIT:
Ongelma ratkaistu! Nyt homma toimii! Laitoin tiedostoon tietoa, ja johan toimii!
Kiitos!

matpit [29.09.2007 21:03:29]

#

Kannattaisi laittaa vielä if -lause tarkistamaan että onko tiedoston koko enemmän kuin nolla:

IF LOF(2) > 0 THEN
'Suorita koodia
ELSE
'Tiedoston koko on 0 tavua
END IF

gamehouse [29.09.2007 21:48:19]

#

Tein tuon eri (ja vaikeammalla) tyylillä:

CLS
DIM teksti1 AS STRING
OPEN "haku.flu" FOR INPUT AS #2
koko = LOF(2)
IF koko = 0 THEN
CLS
PRINT "COMOS V.0.1"
PRINT
PRINT "ANY SYSTEM FILES NOT FOUND!"
PRINT "COMOS CANNOT START!!!"
SLEEP 3
END
END IF
' muu koodi, joka suoritetaan, jos tiedostossa on tavaraa...

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta