Kirjautuminen

Haku

Tehtävät

Keskustelu: Ohjelmointikysymykset: VB6: Vb - tekstitiedostosta rivi taulukkoon

Musta Nuoli [19.05.2003 19:34:05]

#

Eli ajatuksena olisi saada luettua yksittäinen rivi/sana tekstitiedostosta taulukkoon. Jokaisella rivillä on yksi kahdeksankirjaiminen sana. Rivin lukeminen tiedostosta onnistuu jo, mutta miten sen tallentaminen taulukkoon tapahtuu?

Musta Nuoli [19.05.2003 19:59:04]

#

Tarkennus:
Taulukolla tarkoitin siis array:ta. Tyyliin Dim Sana(8) As String.

eakem [19.05.2003 20:28:36]

#

Jos esim luet loopissa rivi kerrallaan sitä tiedostoa niin
samassa silmukassa sijoitat luetun arvon taulukkoon.

sana(numero)=tiedostosta_luettu_sana
numero=numero+1

Kasvatat numeroa samassa silmukassa jolloin uusi sana menee aina uuteen taulukkopaikkaan.

Musta Nuoli [19.05.2003 20:38:41]

#

Tarkoitus olisi lukea yksi sana taulukkoon niin, että kussakin taulukon alkiossa olisi yksi kirjain. Esim. Sana(8) = tornitus. (Sana(1) = t, Sana(2) = o...) Mahtaneekohan tuo edes onnistua. Suora sijoitus ei ainakaan toiminut.

Antti Laaksonen [19.05.2003 21:06:28]

#

Eli haluat jakaa merkkijonon yksittäisiin kirjaimiin ja sijoittaa jokaisen kirjaimen taulukon eri alkioon? Kyllä onnistuu:

'muuttujien ja taulukon määrittely
Dim sana As String, i As Integer
Dim taulukko() As String * 1

'taulukkoon jaettava sana
sana = "tornitus"

'taulukon alkioiden määrä on sanan kirjainten määrä
ReDim taulukko(1 To Len(sana)) As String * 1

'käydään sanan kirjaimet läpi...
For i = 1 To Len(sana)
    '...ja sijoitetaan ne oikeisiin alkioihin
    taulukko(i) = Mid(sana, i, 1)
Next

ReDim määrittelee taulukon alkioiden määrän, Len palauttaa merkkijonon pituuden, ja Mid palauttaa merkin merkkijonon keskeltä. String * 1 tarkoittaa, että merkkijonon pituus on 1. Tämän jälkeen taulukko sisältää sanan kirjaimet niin, että taulukko(1) on ensimmäinen kirjain, taulukko(2) on toinen kirjain jne.

Musta Nuoli [19.05.2003 22:03:34]

#

Kiitoksia, tuo auttoi jo todella paljon. Ehkä tämä alkaa sittenkin suttaantua pikku hiljaa, vaikka on vähän tahmeata ollutkin... :-)

Vastaus

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

Tietoa sivustosta