Kirjautuminen

Haku

Tehtävät

Keskustelu: Ohjelmointikysymykset: VB6: Miten kopioidaan tekstitiedoston sisältö?

Sivun loppuun

Silakka [14.02.2004 22:05:19]

#

Minä en keksi tätä itse, joten toivottavasti te voitte auttaa. Eli miten kopioidaan *.txt tiedoston KOKO sisältö? Siis kaikki.

minapamina [14.02.2004 22:20:36]

#

Siis haluatko kopioida tekstin toiseen tiedostoon vai...?

Silakka [14.02.2004 22:22:19]

#

sanotaan vaikka näin: haluan avata teksti.txt tiedoston ja kopioida kaikki sen sisältämä teksti muuttujaan nimeltä teksti.

rndprogy [14.02.2004 22:24:29]

#

open "*.txt" for input as #1
input #1, n$
text1.text = n$

?

Silakka [14.02.2004 22:39:42]

#

Mua on pitkään vaivannu, että mitä nuo $ hommelit on? Esim tuo n$. Hausta ei löydy yhtääm tulosta.

Silakka [14.02.2004 22:53:12]

#

Dim tiedot As String
Open konnakansio & ("\ruoka.txt") For Input As #10
        Input #10, tiedot
Close #10
Open konnakansio & ("\viikkoruoka.txt") For Output As #9
     Print #9, tiedot
Close #9

Ja tuohon "viikkoruoka.txt":een ei tule mitään. Mikä on vialla?

Antti Laaksonen [14.02.2004 22:56:30]

#

Tässä on esimerkki, joka lukee tiedostosta rivin kerrallaan ja lisää tiedot merkkijonomuuttujaan.

Dim teksti As String, rivi As String
'avataan tekstitiedosto lukumuodossa
Open "teksti.txt" For Input As #1
'toistetaan tiedoston loppuun saakka
Do Until EOF(1)
    'luetaan seuraava rivi muuttujaan
    Line Input #1, rivi
    'lisätään teksti-muuttujaan rivin sisältö ja välilyönti
    teksti = teksti & rivi & vbCrLf
Loop
'suljetaan tiedosto
Close #1

$-merkki muuttujan lopussa tarkoittaa, että muuttuja on merkkijono. Muita tunnuksia ovat % (Integer), & (Long), ! (Single), # (Double) ja @ (Currency). Visual Basicissa ei lopputunnisteita tavallisesti kannata käyttää, vaan parempi tapa on määritellä muuttujat Dim-lauseella ennen niiden käyttöä.

edit: Minusta tuo ohjelma näyttää ihan toimivalta, mutta se kopioi tiedostoon ainoastaan toisen tiedoston ensimmäisen rivin.

Silakka [14.02.2004 23:02:00]

#

nyt siihen tulee: "Bad filename or number!" ja se keltainen hommeli on "Do Until Eof(1)" päällä. hmm..?

Silakka [14.02.2004 23:04:13]

#

no jaa... nyt se toimii kun vaihdoin ton EOF:än 1 numeron kympiksi, mutta nyt se tulostaa vain ekan rivin!

Antti Laaksonen [14.02.2004 23:06:38]

#

Joo, vika on tällä kertaa minun koodissani. Vaihdapa silmukan viimeinen komento seuraavaan muotoon, jotta teksti-muuttujan aikaisempi sisältö säilyy tallessa:

teksti = teksti & rivi & vbCrLf

Silakka [14.02.2004 23:08:55]

#

No Niin! Nyt alkoi lyyli kirjoittaa. Kiitoskia!

setä [15.02.2004 00:24:17]

#

Tekstitiedoston voi lukea muuttujaan kokonaisuudessaan myös funktiolla Input$.
teksti = Input$(LOF(10),10) 'tiedosto avattu tiedostonumerolla 10


Sivun alkuun

Vastaus

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

Tietoa sivustosta