Kirjautuminen

Haku

Tehtävät

Keskustelu: Ohjelmointikysymykset: VB6: Tekstiedostoista taas...

Sivun loppuun

Toitsu [23.11.2004 13:59:49]

#

Eli miten kirjoitetaan VB:llä tekstitiedoston alkuun siten että korvaa ensimmäisenä olevan rivin ja säilyttää muut tekstit tallessa?

hunajavohveli [23.11.2004 14:01:45]

#

Lue vaikka ensin kaikki talteen taulukkoon, muuta taulukosta ensimmäistä riviä ja tallenna sitten koko taulukko tiedostoon.

Toitsu [23.11.2004 14:31:43]

#

Eikö onnistus helpommin esim. normaali tiedostoon kirjoituksella, "append" ja sitten SEEK:illä vaan riville 1? Sitten poistas rivin 2? Vaan kun en tiedä miten tuon syntaksin sais kohdalleen tuosta seek:istä...

tuomas [23.11.2004 15:19:29]

#

Lue vain suosiolla taulukkoon, sitten on helpompi käsitellä isojakin tiedostoja. Jos et osaa lukea tietoja taulukoon niin laitetaan nyt vielä pieni esimerkki kaiken varalta:

Public Sub LataaTaulukkoon()

Dim Taulukko(1 TO 10) as string

Open App.Path & "\filu.txt" For Input As #1
     Do until Eof(1)
        doevents
        line input #1, Rivi
        R = R + 1
        Taulukko(R) = Rivi
     loop
Close #1

End Sub

hunajavohveli [23.11.2004 16:38:36]

#

Toitsu kirjoitti:

Eikö onnistus helpommin esim. normaali tiedostoon kirjoituksella, "append" ja sitten SEEK:illä vaan riville 1? Sitten poistas rivin 2? Vaan kun en tiedä miten tuon syntaksin sais kohdalleen tuosta seek:istä...

Ei ole mitään eroa normaali- ja tekstitiedostolla. On vain tiedostoja, ja tekstitiedostoista puhutaan vain silloin kun tiedostojen on tarkoitus sisältää tekstiä (usein ASCII-muodossa). Tiedostoissa ei myöskään ole mitään rivejä, joten et voi etsiä sellaisia niistä. Basicin ASCII-muotoinen lataus kuitenkin käsittää Chr(13)+Chr(10) -merkkiyhdistelmän rivinvaihdoksi, ja lopettaa lukemisen siihen. Oikeasti kaikki tiedot ovat vain tavuja tavujen perään, etkä voi minun tietääkseni tallentaa kahden tavun väliin mitään. Eli kannattaa käyttää tuota taulukkoon lukemista.

setä [23.11.2004 17:30:45]

#

Onhan tuohon useita ratkaisuja. Ehkä helpoin on lukea tiedosto Input(Lof(F),F)-funktiolla (F = tiedoston avausnumero) tekstiruutuun, jonka MultiLine = True. Sitten muokkaat ekaa riviä tai muitakin miten tykkäät ja tallennat takaisin käskyllä Print #F, Text1. Jos avasit Input-moodissa, on tiedosto ennen tallennusta suljettava ja avattava uudelleen Output-moodissa.

remontti-reiska [23.11.2004 18:44:54]

#

Kenties? https://www.ohjelmointiputka.net/koodivinkit/24486-vb6-tiettyyn-riviin-dataa-filuun

Toitsu [26.11.2004 10:17:43]

#

Kiitos. Nyt toimii!


Sivun alkuun

Vastaus

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

Tietoa sivustosta