Miten voin tallentaa taikka avata pelin CMDialogilla?
Pelaajan paikka,energia ja jne pitäisi saada tallennettua ja sitten myöhemmin taas avattua.
Noo, laitat tiedostoon joitakin tämäntapaisia tietoja:
1. Pelaajan nimi tarvittaessa
2. Pelaajan koordinaatit
3. Energia
4. Mahdollinen kenttä/taso
Tiedostoon ne voisi mennä jotenki näin:
Kerttu, 6737, 3457, 34, 1
<Pelaajan nimi>, <X-koordinaatti>, <Y-koordinaatti>, <Energia>, <Kenttä/Taso>
Sitten luet ne sieltä jotenkin näin:
Dim Seivi As String Open App.Path & "\save.txt" For Input As #1 Input #1, Seivi Close #1
Tee pelin kanssa samaan hakemistoon tiedosto save.txt, ja sinne niitä tallennustietoja.
Sitten vaan parsit sen merkkijonon osiin ja vaihdat niitä juttuja niiden mukaan.
Kannattaa käyttää binäärimuotoista tiedostoa tällaisten tietojen tallentamiseen. Esim. Integer-tyyppinen luku 12345 vie nyt vain 2 tavua tilaa tiedostossa, kun rivitiedostoon tallennettuna se veisi 7 tavua tilaa (5 merkkiä + rivinvaihto).
'tallentaminen Open App.Path & "\tallennus.txt" For Binary As #1 Put #1, , Paikka Put #1, , Energia Put #1, , Jne Close #1 'lataaminen Open App.Path & "\tallennus.txt" For Binary As #1 Get #1, , Paikka Get #1, , Energia Get #1, , Jne Close #1
Kokonaisia tietueita (ja taulukoita) voi helposti tallentaa ja ladata tällä tavalla.
Type TPELAAJA
Dim Paikka As Integer
Dim Energia As Integer
Dim Jne As Integer
End Type
Dim Pelaaja As TPELAAJA
. . .
'tallentaminen
Open App.Path & "\tallennus.txt" For Binary As #1
Put #1, , Pelaaja
Close #1
'lataaminen
Open App.Path & "\tallennus.txt" For Binary As #1
Get #1, , Pelaaja
Close #1CMDialogin käyttämisestä löytyy monta esimerkkiä haulla.
Munkin mielestä kannattaa käyttää tota antin tietuetallennusta, kätevämpää, tarvii vain yhden put/get käskyn ja... joo
Aihe on jo aika vanha, joten et voi enää vastata siihen.