Kirjautuminen

Haku

Tehtävät

Keskustelu: Ohjelmointikysymykset: VB6: Tekstien tallennus tiedostoon

Sivun loppuun

TJR [10.01.2005 18:31:13]

#

Tarkoitus olisi saada tallenettua vaikka Form 1 olevat Text1, Text2 ja Text3 kentät samaan tiedostoon jonka nimi tulisi suoraan Text1 kentän tekstistä. Onko mahdollista ?

tesmu [10.01.2005 18:59:30]

#

Dim nro As Integer

nro = FreeFile
Open text1.text & ".txt" For Output As #nro ' ton voit vaihtaa ton txt jos haluut toiseen tiedostomuotoon
Print #nro, Text1.Text
print #nro, text2.text
print #nro, text3.text
Close #nro

TJR [10.01.2005 19:05:47]

#

vielä yksi tarkennus: jos haluan tallentaa sen tiedoston vaikka seuraavaan polkuun "c:\testi" ja siellä kyseinen tietue tallentuisi nimellä jonka kirjoitan text1 kenttään.
Niin mihin kohtaan tuo polku lisätään ?

tesmu [10.01.2005 19:08:37]

#

Dim nro As Integer

nro = FreeFile
Open "c:\testi\" & text1.text & ".txt" For Output As #nro
Print #nro, Text1.Text
print #nro, text2.text
print #nro, text3.text
Close #nro

en tiedä tarkoititko että testi on kansio mutta tuosta voit päätellä että jos et tarkoittanut niin mitä poistetaan :D

nomic [10.01.2005 19:10:50]

#

Muuta Open-alkuista riviä seuraavanlaiseksi vaikkapa:
Open "C:\" & text1.text & ".txt" For Output As #nro

vak. Tesmu ehti eka. :j

TJR [10.01.2005 19:11:09]

#

Kiitos, nyt se toimii juuri niinkuin tarkoitinkin :]
ja sitten vielä, jos haluan avata tietyn tiedoston sieltä c:\testi"
tiedostosta, esimerkiksi sen joka lukee "Text1" kentässä, kuinka se tapahtuu. Sen voisi aukaista vaikka MsgBox kenttään ?

tesmu [10.01.2005 19:21:51]

#

On Error resume next
Dim nro As Integer
Dim srtrivi As String
Dim srtjuttu As String
nro = FreeFile
Open "c:\testi\" & text1.text & ".txt" For Input As #nro
Do Until EOF(nro) = True
Input #nro, srtrivi
srtjuttu = srtjuttu & srtrivi & vbCrLf
Loop
Close #nro
msgbox srtjuttu
Exit Sub

Blaze [10.01.2005 19:25:45]

#

Tiedostojen käsittelystä lisää oppaasta

TJR [10.01.2005 19:32:52]

#

ehkä tyhmä kysymys, mutta kun ei tahdo toimia. mistä ohjelma tietää polun mistä hakea kyseisen tiedoston ?

Eli jos tallennan tietueen nimeltä tst1 sinne "c:\testi"
miten saan avattua kokonaisuudessaan vaikka msgbox:iin

joo kiitos vinkistä blaze, oppaat osataan kohta ulkoa, mutta tähän en löydä apuja :[

Blaze [10.01.2005 22:41:21]

#

No juurikin noin, ku tesmu kirjotti. Laitat vaan absoluuttisen hakemistopolun tuohon Openiin.

TJR [11.01.2005 20:06:08]

#

nyt toimii hienosti ! kiitos

vielä pari kysymystä sivuten aihetta.

1. jos haluaisin tuon tiedoston aukenevan msgbox sijasta vaikka tetxt1 ikkunaan, miten sen voisi muuttaa ( kun en vain keksi ratkaisua )

2. voinko tehdä vb:llä esimerkiksi tähän "ohjelman" pätkään haku toimintoa, joka hakisi nimellä valitun tiedoston vaikka msboxiin ( eli avaisin ikkunan johon tiedoston nimi kirjoitetaan ja painetaan nappia, niin kyseinen tiedosto aukeaa msgbox:iin )

Juice [11.01.2005 20:34:17]

#

1. (En ole kyllä ihan varma, mitä tarkoitat ikkunalla.)

On Error resume next
Dim nro As Integer
Dim srtrivi As String
Dim srtjuttu As String
nro = FreeFile
Open "c:\testi\" & text1.text & ".txt" For Input As #nro
Do Until EOF(nro) = True
Input #nro, srtrivi
srtjuttu = srtjuttu & srtrivi & vbCrLf
Loop
Close #nro
Textbox1.Text = srtjuttu
Exit Sub

TJR kirjoitti:

voinko tehdä vb:llä esimerkiksi tähän "ohjelman" pätkään haku toimintoa, joka hakisi nimellä valitun tiedoston vaikka msboxiin ( eli avaisin ikkunan johon tiedoston nimi kirjoitetaan ja painetaan nappia, niin kyseinen tiedosto aukeaa msgbox:iin )

Tokihan se on mahdollista. Valitettavasti en osaa "vanhan" VB:n tiedostonhallintafunktioita(vain .NETin), joten joku muu auttanee.

TJR [16.01.2005 17:39:42]

#

Juu kiitos vaan, toimii ihan hienosti. miten siihen saisi vielä ominaisuuden, niin että jos ohjelma ei löydä haettua tiedostoa niin se jättäisi tuon textboxin tyhjäksi.
nyt se jumittaa koko ohjelman.

Meitsi [16.01.2005 18:35:44]

#

Katso eka onko tiedosto olemassa:

if dir(tiedostopolku&nimi) then
 'löytyy
else
 'ei löydy
 msgbox "virhe"
endif

Sivun alkuun

Vastaus

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

Tietoa sivustosta