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.
Niin mikä on ongelma?
Äkkiseltään katottuna poistat ensin ton 'ape.kir' tiedoston ja seuraavalla rivillä yrität kirjoittaa sinne.
Kokeilin kyllä joskus CoolBasicia mutta en muista siitä enää suunnilleen mitään.Oli muuten ihan kätevä aloittelijan kieli :)
Niin miten saa ape.kir tiedoston tyhjennettyä.
Tuon WriteLinen pitäisi tehdä uusi tiedosto, jos ei ole vanhaa, mutta se ei ainakaan noin toimi.
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.
http://koti.mbnet.fi/~psywave/coolbasic/
@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
Aihe on jo aika vanha, joten et voi enää vastata siihen.