Kirjautuminen

Haku

Tehtävät

Keskustelu: Ohjelmointikysymykset: CoolBasic: CoolBasicilla Ristinolla kilpailuun

Ape [24.06.2004 11:52:46]

#

Minulla on tekoäly mutta siinä on ongelma.

alku:
xa=0
ya=0
file=OpenToWrite("ape.kir")
taas:
xa=xa+1
ya=ya+1
xb$ = Str (xa)
yb$ = Str (ya)
jono$ = xb$ + " " + yb$
DeleteFile "ape.kir"
WriteLine file, jono$
If KeyDown(57) Then Goto loppu
Goto taas
loppu:
CloseFile file
End

Miten tuon saisi toimimaan.

vipemype [24.06.2004 16:00:36]

#

Niin mikä on ongelma?
Äkkiseltään katottuna poistat ensin ton 'ape.kir' tiedoston ja seuraavalla rivillä yrität kirjoittaa sinne.

Koipio-ohjelma [24.06.2004 20:20:53]

#

Kokeilin kyllä joskus CoolBasicia mutta en muista siitä enää suunnilleen mitään.Oli muuten ihan kätevä aloittelijan kieli :)

Ape [25.06.2004 08:38:08]

#

Niin miten saa ape.kir tiedoston tyhjennettyä.
Tuon WriteLinen pitäisi tehdä uusi tiedosto, jos ei ole vanhaa, mutta se ei ainakaan noin toimi.

Chiman [25.06.2004 09:43:11]

#

Ape kirjoitti:

Niin miten saa ape.kir tiedoston tyhjennettyä.
Tuon WriteLinen pitäisi tehdä uusi tiedosto, jos ei ole vanhaa, mutta se ei ainakaan noin toimi.

Tämä on sitten vain arvailua, mutta loogista sellaista. Siirtäisin DeleteFile:n OpenToWrite:n yläpuolelle ja katsoisin mitä tapahtuu.

Tosin paras keino luultavasti olisi poistaa DeleteFile kokonaan ja antaa OpenToWrite:lle jokin lisämääre, jolla se ylikirjoittaa vanhan sisällön, ellei se tee sitä oletuksena.

Ei varmaankaan kannata mennä poistamaan tiedostoa, jonka on avannut kirjoittamista varten ja sen jälkeen yrittää kirjoittaa sinne. Tuskin WriteLine enää sitä tiedostoa luo, vaan sen tekisi OpenToWrite, jos se huomaisi avattavan tiedoston puuttuvan.

tsuriga [25.06.2004 12:37:17]

#

http://koti.mbnet.fi/~psywave/coolbasic/commands.php Manuaalit ovat käteviä - OpenToWrite

Zero [25.06.2004 14:46:20]

#

@APE:

Rivi "file=OpenToWrite("ape.kir")" avaa tiedoston 'ape.kir' kirjoitusta varten. Tässä vaiheessa se tyhjennetään, eli käytössäsi on uusi, tyhjä tiedosto. Mikäli tiedosto oli jo olemassa, se korvataan tyhjällä. Tämä komento vastaa Qbasicin käskyä: "OPEN "ape.kir" FOR OUTPUT AS #1".

WriteLine vain kirjoittaa olemassa olevaan tiedostoon. Et tarvitse DeleteFileä, ellet halua muuten päästä tiedostosta eroon.

Esimerkkikoodisi menisi kai paremmin, jos ainoastaan silloin kun tallentamista tarvitaan, tiedosto avataan, kirjoitetaan ja suljetaan saman tien.

Tämä on suositeltavampi tapa: Jossain kohtaa ohjelmassasi voit komentaa: "Gosub Tallennus". Kirjoita sitten tämä ohjelmasi loppuun:

Tallennus:
    file=OpenToWrite("ape.kir")
    xb$ = Str (xa)
    yb$ = Str (ya)
    jono$ = xb$ + " " + yb$
    WriteLine file, jono$
    CloseFile file
Return

Vastaus

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

Tietoa sivustosta