Kirjautuminen

Haku

Tehtävät

Keskustelu: Ohjelmointikysymykset: VB6: Tallentaminen

Sivun loppuun

Erkhi [01.12.2006 23:38:24]

#

Private Sub Command1_Click()
Open "C:\Polku.txt" For Output As #1
Print #1, Text1.Text
Close #1
End Sub

onko koodissa jotain merkittävää vikaa, yritän saada text1 tallentumaan polku.txt:hen mutta herjaa run-time eror 54 mikä koodissa on vikana

jaha ja heti otsikkoon typoja (mod. korjasi)

Antti Laaksonen [01.12.2006 23:51:53]

#

Minulla tuo koodi toimii moitteettomasti.

Onko ohjelmassa muuta koodia? Tuleeko virhe juuri tuosta kohdasta? Pystytkö kirjoittamaan toisennimiseen tiedostoon?

Erkhi [02.12.2006 08:44:37]

#

Private Sub Command1_Click()
Open "C:\Polku.txt" For Output As #1
Print #1, Text1.Text
Close #1
End Sub

Private Sub Command2_Click()
polku = Text1
Shell (polku)
End Sub

Private Sub Form_Load()
Open "C:\Polku.txt" For Input As #1
muuttuja = Input(LOF(1), #1)
If muutuja = Empty Then GoTo loppu Else Shell (muuttuja)
loppu:
Close #1
End Sub

Private Sub lopeta_Click()
End
End Sub

siinä koodii kokonaisuudesaan debug näytti ainakin juuri tuota kohtaa

ongelma ratekesi tuo toinen avaus kooodi sotki sitä, mutta miksi senhän piti olla suljettu, mutta nyt se ei silti suorita shell komentoa jos teksti tiedostossa on polku.

Hah olen minä kyllä aika haka kirjoittamaan muutuja -> muuttuja

Erkhi [02.12.2006 09:54:00]

#

Nyt ilmeni taas ongelma. ohjelma tallentaa kyllä tekstin , mutta tekee samalla rivin vaihdon. kuinka sen saisi estettyä

Blaze [02.12.2006 11:31:14]

#

Erkhi kirjoitti:

Hah olen minä kyllä aika haka kirjoittamaan muutuja -> muuttuja

Tämän takia kannattaakin kirjoittaa jokaisen tiedoston alkuun Option Explicit, jolloin VB-kääntäjä pakottaa määrittelemään kaikki muuttujat ja antaa virhettä väärinkirjotetuista.

Erkhi kirjoitti:

If muutuja = Empty Then GoTo loppu Else Shell (muuttuja)
loppu:

Eikös näin olis siistimpi, pistää ilkeästi silmään tuo turha Goto:

If muuttuja <> Empty Then Shell (muuttuja)

JoreSoft [02.12.2006 22:20:20]

#

Ennen tiedoston avaamista on hyvä tapa käyttää määritelmää

F=FreeFile   '<<<<<
Open "C:\Tiedosto.txt" For Input As #F
' ...
Close #F

setä [02.12.2006 23:51:54]

#

Erkhi kirjoitti:

Nyt ilmeni taas ongelma. ohjelma tallentaa kyllä tekstin , mutta tekee samalla rivin vaihdon. kuinka sen saisi estettyä

Rivinvaihdon voi estää lisäämällä puolipisteen kirjoituskäskyn perään.
Print #1, Text1.Text;

jukuri [28.12.2006 18:10:56]

#

JoreSoft kirjoitti:

Ennen tiedoston avaamista on hyvä tapa käyttää määritelmää

F=FreeFile   '<<<<<
Open "C:\Tiedosto.txt" For Input As #F
' ...
Close #F

Perustele miksi? Eli minkätakia?

Quirzo [28.12.2006 18:24:10]

#

Private Sub Command2_Click()
polku = Text1
Shell (polku)
End Sub

Text1 => Text1.text ?

hunajavohveli [28.12.2006 18:25:09]

#

jukuri kirjoitti:

Perustele miksi? Eli minkätakia?

Tuo on ihan kätevä siinä tapauksessa, että availee useampia tiedostoja yhtä aikaa. Jos kuitenkin vain yhtä kerrallaan, niin tuo ei ole pakollinen.

Blaze [30.12.2006 20:04:01]

#

Quirzo kirjoitti:

Text1 => Text1.text ?

VB:ssä luokilla voi olla oletusominaisuus (default property), joka tekstilaatikolla on juurikin tuo Text-ominaisuus. Alkuperäinenkin koodi siis toimii, itse oon selkeyden vuoks tavannu käyttää aina noita pitkiä muotoja.

Quirzo [30.12.2006 22:23:45]

#

Ai, selvä en tiennytkään :)


Sivun alkuun

Vastaus

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

Tietoa sivustosta