Avatar billede teknikeren Nybegynder
29. november 2002 - 16:17 Der er 9 kommentarer og
2 løsninger

Bad file mode

Hvad er der galt her?:

Private Sub Command7_Click()
If Check1.Value = 1 Then
Open App.Path & "\tbasgp.dll" For Input As #1
Print #1, "jldbsgpfpeoa"
Close #1
End If
If Check2.Value = "1" Then
Open App.Path & "\tdbasgf.dll" For Input As #1
Print #1, "dbmgsf..."
Close #1
End If
If Check3.Value = "1" Then
Open App.Path & "\sdbtasl.dll" For Input As #1
Print #1, "jdbstasl."
Close #1
End If
End Sub

Den kommer med fejlen:

"Bad file mode"

Hvad er der galt?
Avatar billede jelzin101 Praktikant
29. november 2002 - 16:21 #1
prøv at bruge open for output istedet.
Avatar billede teknikeren Nybegynder
29. november 2002 - 16:23 #2
Hmm... Det virker ik... Men den skal jo sætte noget ind i filen ikke "putte noget ud".. Det gør output jo :)
29. november 2002 - 16:31 #3
Output = fra din application til din fil - nulstil tidligere linier
Input = fra din fil til din application
Append = fra din application til din fil - tilføj linier

Hvis du skal skrive til din fil skal du bruge Output eller Append
Avatar billede jelzin101 Praktikant
29. november 2002 - 16:33 #4
prøv at se den sætning du lige skrev, du sætter jo endda selv "putte noget ud" i "" , hvilket jo signalerer at du godt kan se at den danske undersættelse halter en smule :) - prøv i den forbindelse at overveje hvad en "input" box gør i visual basic....

når du åbner en file for input , så inputter du _til_ vb, og du outputter fra vb _til_ filen.
Avatar billede teknikeren Nybegynder
29. november 2002 - 16:34 #5
Det virker ik
Avatar billede teknikeren Nybegynder
29. november 2002 - 16:36 #6
Der er stadig ik noget der virker :)
Avatar billede teknikeren Nybegynder
29. november 2002 - 16:40 #7
Sorry nu virker det :)
29. november 2002 - 16:41 #8
Prøv at ændre filtypen fra dll til txt - aner ikke om det har nogen betydning!

Her er 3 eks. der virker hos mig.
Sub WriteToFile()
    ' Skriv til en fil
    Dim sFileName As String
    Dim sLine As String
   
    sFileName = "C:\WriteToFile.txt"
   
    Open sFileName For Output As #1
        sLine = "Linie nr 1"
        Print #1, sLine
    Close #1
End Sub

Sub WriteExtraToFile()
    ' Tilføj i en eksisterende fil
    Dim sFileName As String
    Dim sLine As String
   
    sFileName = "C:\WriteToFile.txt"
   
    Open sFileName For Append As #1
        sLine = "Linie nr 2"
        Print #1, sLine
    Close #1
End Sub

Sub ReadFromFile()
    ' Læs fra en fil
    Dim sFileName As String
    Dim sLine As String
   
    sFileName = "C:\WriteToFile.txt"
   
    Open sFileName For Input As #1
        'Do While EOF(1) = False
            Line Input #1, sLine
            MsgBox sLine
        'Loop
    Close #1
End Sub
Avatar billede teknikeren Nybegynder
29. november 2002 - 16:42 #9
Skrev det forkert... Men jelzin101, du kom med det rigtige svar men flemmingdahl du kom med en forklaring så jeg deler pointene... jelzin101 du får 60 point og flemmingdahl du får 20
Avatar billede teknikeren Nybegynder
29. november 2002 - 16:44 #10
Tak for svarene!
Avatar billede jelzin101 Praktikant
29. november 2002 - 17:03 #11
supercool ;) takker for points
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester