Gå til innhold

Anbefalte innlegg

Jeg har et program der man kan lagre en config-fil, men samme hvordan man skal lagre filen kommer erroret Run Time Error 52: Bad File Name opp.

 

Sourcen ser omtrent sånn her ut:

Dim filsted As String
cd.ShowSave
filsted = cd.FileName
Open filsted For Output As #config
   Print #config, Text1.Text
   Print #config, Text2.Text
   Print #config, Text3.Text
Close #config

 

cd er en Microsoft Common Dialog.

 

Jeg prøvde også lagre filen i samme mappe som programmet med app.path & "config.txt", men fikk samme error.

 

Noen som vet hvordan jeg kan fikse det?

 

PS: Vet ikke om det har noe å si, men jeg kjører Vista Home Premium

Lenke til kommentar
Videoannonse
Annonse

Du må sette config-variabelen (gjerne endre til filID) til #1 eller FreeFile:

Dim filsted As String, filID As Long

 

cd.ShowSave

filsted = cd.FileName

filID = FreeFile

 

Open filsted For Output As #filID

  Print #filID, Text1.Text

  Print #filID, Text2.Text

  Print #filID, Text3.Text

Close #filID

Endret av aadnk
Lenke til kommentar

Takk for hjelpen :D

 

 

EDIT: Jeg har et nytt problem som har litt med dette å gjøre. Det omhandler VBCorLib.

Jeg ha lest en thread der det står at man kan adde en reference til VBCorLib for å kunne lese en txt-fil og så legge informasjon fra hver linje inn i forskjellige tekstbokser.

 

Private Sub Command2_Click()
Dim linjer() As String
Dim filsted As String
filsted = App.Path & "config.txt"
linjer = File.ReadAllLines(filsted)
Text1.Text = linjer(0)
Text2.Text = linjer(1)
Text3.Text = linjer(2)
Text4.Text = linjer(3)
End Sub

 

Sånn ser koden min ut.

Dette funker på min PC, men når jeg sendte programmet til en venn som tester det for meg, fikk han et error: ActiveX Component cant create object

Hvordan skal jeg fikse dette erroret?

Endret av CheatEnabled
Lenke til kommentar
Hvordan skal jeg fikse dette erroret?

9605193[/snapback]

Be ham laste ned og installere (eller automatiser prosessen i et installasjonsprogram, likså Package & Deployment Wizard) filen VBCorLib.dll før han eksekverer programmet ditt. Denne blir IKKE inkludert automatisk i EXE-filen, om det var det du trodde.

 

Rent konkret må man (manuelt) utføre følgende:

  1. Last ned VBCorLib_Bin_2_1.zip fra denne nettsiden.
  2. Ekstrakter ZIP-filen og kopier VBCorLib.dll til %windir%\System32 (vanligvis C:\Windows\System32).
  3. Kjør følgende kommando i Start -> Run: regsvr32 %windir%\System32\VBCorLib.dll

Endret av aadnk
Lenke til kommentar

Jada:

Public Function ReadAllLines(Path As String) As String()

 

    Dim Free As Long, Buff() As String, Index As Long

   

    ' Hent ledig filid

    Free = FreeFile

   

    ' Standardstørrelse

    ReDim Buff(1)

   

    ' Be om åpnetillatelse og fravær av overskriving

    Open Path For Input Access Read Lock Write As #Free

        ' Last inn nye linjer inntil vi har nådd enden av filen

        Do Until EOF(Free)

            ' Se om vi behøver en større array

            If UBound(Buff) <= Index Then

                ReDim Preserve Buff(0 To Index * 2)

            End If

           

            ' Les inn neste linje

            Input #Free, Buff(Index)

            Index = Index + 1

        Loop

    Close #Free

   

    ' Normaliser antall linjer

    If Index > 0 Then

        ReDim Preserve Buff(Index - 1)

    End If

   

    ' Returner array

    ReadAllLines = Buff

 

End Function

Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...