Kirjautuminen

Haku

Tehtävät

Keskustelu: Ohjelmointikysymykset: VB6: Tiedon tallennus ja lataus?

Zmyrgel [14.04.2005 20:24:21]

#

Eli olisi pieni ongelma ohjelmoinnin työssä. Suunnittelen eräänlaista galaksi generaattoria ja nyt pitäsi saada arvotut tiedot tallennettua tekstitiedostoon. Tallennukseksi on 2 vaihtoehtoa:

1) Tallennus tapahtuu 1 galaksi/tiedosto
2) Kaikki tiedot tallentuu samaan tiedostoon

Ajattelisin että tapa 1 olisi helpompi ratkaisu mutta saa esittää ratkaisutavan tuohon 2 vaihtoehtoon, se olisi toimiessaan parempi.
Tallennuksia tulisi olla helppo katsella, poistaa ja ladata.
Eli tarkoituksena olisi keksiä koodi jolla saadaan luotua:

-Tekstitiedosto jonka nimeksi tulee system.name:n arvo ja päätteeksi .dss
-Tekstitiedosto tallentuu Systems alahakemistoon.
-Tiedostoon tulee tietoja kokonaislukuina kuten esim työssä oleva planet(3).gravity = 4
-Tallennus olisi muotoa vaikka:

Korriban 9 3 3 5 7 <- Systeemin nimi, planeettojen määrä, tähtien määrä/tyyppi
8 4 5 3 2 5 3 2 4 2 4 <- Planeetta 1:sen tiedot
4 5 3 2 1 3 3 10 2 3 1 <- Planeetta 2:sen tiedot

-Aluksi tulee systeemin nimi ja sitten alkaa tulla sitä määritteleviä arvoja välilyönnillä erotettuna että kaksinumeroiset erottuvat toisistaan.
Muutama esimerkki projektissa olevista muuttujista:
system.name, system.num_planets, planet(1).gravity, planet(1).biosphere yms.

Voisiko joku auttaa edes alkuun. Olen katsastanut alla olevat koodit mutta ei oikein selvinnyt homma kunnolla joten apua kaivataan.

https://www.ohjelmointiputka.net/koodivinkit/24486-vb6-tiettyyn-riviin-dataa-filuun
https://www.ohjelmointiputka.net/koodivinkit/24153-vb6-tietyn-rivin-haku-tiedostosta

esakom [15.04.2005 01:30:57]

#

no en nyt jaksa ruveta valmista koodia valmiiksi vääntämään, mutta kun olet näköjään osannut ajatella asioita tehtävä kerrallaan (mikä on jo oikein hyvä, siitä on kyllä sitten helppo koodata kun kokemusta tulee kun vaiheet on etukäteen suunniteltu)

lainaus:

-Tekstitiedosto jonka nimeksi tulee system.name:n arvo ja päätteeksi .dss
-Tekstitiedosto tallentuu Systems alahakemistoon.

dim vap as integer
vap = freefile
Open App.Path & "\Systems\" & system.name For Output As #vap
'jotain koodia...
Close #vap

jotenkin tuohon tyylin avaat tiedoston, hakemiston joudut luomaan ensin jostain (koodista sekin onnistuu, olisikohan ollut mkdir)

tiedostoon tulevat rivit rakennat johonkin string-muuttujaan, vaikka tyyliin:

strRivi = system.name & " " & system.num_planets & " " & jne...

sitten kun luet niitä rivejä niin split-funktiolla saat eroteltua ne vaikka taulukkoon

dim s() as string
s = Split(strRivi, " ", , vbTextCompare)

ja siitä voit ne sitten sijoitella haluamiisi muuttujiin, tyyliin

system.name = s(0)
system.num_planets = cint(s(1))

no nyt tuli jo enempi koodisamplea kuin oli tarkoitus, noi on sitten ihan lennosta ja hatusta temmattuja, ovat ihan vain esimerkkejä, millä tyylillä asian voi hoitaa. Ja saman asianhan voi aina tehdä useammalla tavalla...

Zmyrgel [15.04.2005 08:12:26]

#

Kiitos pätkistä, selventää asiaa ainakin sen verran että saatan saada itse tehdyksi jotain asian eteen :)

tesmu [15.04.2005 20:04:08]

#

Hyvin yksinkertaseksi olen todennut ini tiedostot itse käytän niitä ja niillä on helppo lisätä johonkin ominaisuuksia ilman että lähde koodia tarvitsee muokata lähinnä irc botissani käytän ini tiedostoja
https://www.ohjelmointiputka.net/keskustelu/1997-ini-tiedostot
Ini tiedosto sisältää avaimen käsiteltävän ja tapahtuman

Vastaus

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

Tietoa sivustosta