Kirjautuminen

Haku

Tehtävät

Keskustelu: Ohjelmointikysymykset: VB6: Siihen taulukkkoon ja tallennukseen vielä

Sivun loppuun

Shogun [19.05.2003 19:42:09]

#

Missä piilee vika. Heittää ton open selectedfilen keltaseksi ja sonoo että Run-time error 72: Path not found. Josko vikaa löytyis.

Private Sub Command1_Click()

Dim solutxt, rivitxt As String
Dim rivino, ppos As Integer
rivino = 0

SelectedFile = File1.Path & "\" & File1.FileName
Open SelectedFile For Input As #1

Do While Not EOF(1)
Input #1, rivitxt
For x = 0 To Flex.Cols - 1

ppos = InStr(rivitxt, ";")
solutxt = Left(rivitxt, ppos - 1)
Flex.TextMatrix(rivino, x) = solutxt
rivitxt = Right(rivitxt, Len(rivitxt) - ppos)

Next x
rivino = rivino + 1

Loop
Close #1
End Sub

eakem [19.05.2003 20:15:29]

#

laita debuggaus ennen sitä herjariviä ja kato millanen polku siinä näkyy:
debug.print SelectedFile

Luulen, että sitä kautta selviää. Siellä dir1:ssa (sulla varmaan on formilla sellanen?) pitää muistaakseni olla jotain tällasta:
Private Sub Dir1_Change()
File1.Path = Dir1.Path
End Sub

Shogun [20.05.2003 09:48:13]

#

Siellä on sellanen. Sillähäm mä sitä ihmettelenkin.

eakem [20.05.2003 20:58:00]

#

Kokeilitko sitä debug riviä? Mitä se näytti?

Shogun [21.05.2003 10:24:22]

#

Sit ku yritin ajaa Command1:stä ja otin sit siit sen debug homman ni se heitti vaan
Open SelectedFile For Imput As #1
rivin keltaseksi. Mut sit ku pistää hiiren tohon SelectedFilen kohalle dobug modessa ni se näyttää kuitenkin et "SelectedFile= "C://testi.txt"
Mut sit ku selected filen tilalle heittää "C://testi.txt" niin se loadaa sen ihan oikein

thefox [21.05.2003 11:39:20]

#

Siis olihan sinulla siitä tiedostolistasta joku tiedosto valittuna kun testailit tuota?
Kannattaa myöskin tehdä joku tarkistus ihan vain käyttäjää varten tähän tyyliin:

If File1.FileName <> "" Then
   ' do teh stuff
Else
   MsgBox "valitse tiedosto!"
End If

eakem [21.05.2003 17:30:37]

#

Taitaa ongelma olla siinä, että tiedosto on suoraan c:n juuressa, jolloin kenoviiva tulee kahteen kertaan.
Pikakorjauksesta käynee tämä:

If File1.Path = "C:\" Then
 SelectedFile = File1.Path & File1.FileName
Else
 SelectedFile = File1.Path & "\" & File1.FileName
End If

Ei välttämättä kovin fiksu, jos on useampia asemia käytössä mutta pääset eteenpäin.

Blaze [21.05.2003 18:02:49]

#

If Right$(File1.Path, 1) = "\" Then
  SelectedFile = File1.Path & File1.Filename
Else
  SelectedFile = File1.Path & "\" & File1.Filename
End If

Vois olla vähän fiksumpi

eakem [21.05.2003 18:10:42]

#

Fiksumpi on se. Miksi taala rightin jälkeen on?

thefox [21.05.2003 18:15:07]

#

Itse en kyllä saanut "Path not found"-virhettä aikaiseksi vaikka tiedoston nimessä olikin kaksi kenoviivaa.

Pistä vaikka koko sorsapaketti jonnekin niin ei tarvitse pelehtiä ja arvailla että mitä olet minnekin laittanut.

Antti Laaksonen [21.05.2003 22:03:50]

#

lainaus:

Miksi taala rightin jälkeen on?

Vanhemmissa Basiceissa (kuten QBasicissa) dollarimerkki on merkkijonon tunnus. Visual Basicissa merkkiä ei tarvitse kirjoittaa, mutta seuraavien funktioiden nimissä se on mahdollinen yhteensopivuussyistä:

Chr - Chr$
Format - Format$
LCase - LCase$
Left - Left$
LTrim - LTrim$
Mid - Mid$
Right - Right$
RTrim - RTrim$
Space - Space$
String - String$
Trim - Trim$
UCase - UCase$

eakem [21.05.2003 22:10:25]

#

Kiitos, tämä selvensi.


Sivun alkuun

Vastaus

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

Tietoa sivustosta