Avatar billede mrr1217 Nybegynder
28. september 2006 - 21:39 Der er 3 kommentarer og
1 løsning

Problem med at gemme fil - Jeg skal skynde mig !

Jeg skal have skrevet dette program færdigt. Det eneste jeg mangler er at rette gemme-kommandoen for filen...

Der sker nemlig det, at når jeg kommer til det punkt hvor programmet skal gemme de info der er tastet ind, skriver den at der er en
"run-time error '52': Bad file name or number"

Her er koden der er problemer med:

Open strFilNavn For Binary As #intFilNummer
Put #intFilNummer, , Data
Close #intFilNummer

Og anden relavante kode:

Let sti = "C:\Documents and Settings\a0923\Desktop\VB - project\besvarelser\" + elevnummer + ".DSP"
Data = "Spørgsmål 1:" + sporgsmaal1 + vbNewLine + "Spørgsmål 2:" + sporgsmaal2 + vbNewLine + "Spørgsmål 3:" + sporgsmaal3 + vbNewLine + "spørgsmål 4:" + sporgsmaal4 + vbNewLine + "Spørgsmål 5:" + sporgsmaal5

Dim intFilNummer As Integer
Dim strFilNavn As String

Dim Data As String

Let intFilNummer = FreeFile



Og hele koden (bare for en sikkerheds skyld):

Private Sub cmdOpgave_Click()
elevnummer = Elevnr.Text
If elevnummer = "" Then
MsgBox "Vælg først dit nr."
Else
Form1.Width = 9720
Label1(0).Visible = True
Label1(1).Visible = True
Label1(2).Visible = True
Label1(3).Visible = True
Label1(4).Visible = True
Label1(5).Visible = True
Label1(6).Visible = True
Label1(7).Visible = True
Label1(8).Visible = True
Label1(9).Visible = True
Label1(10).Visible = True
Label1(11).Visible = True
Label1(12).Visible = True
Label1(13).Visible = True
Label1(14).Visible = True
Label2(0).Visible = True
Label2(2).Visible = True
Label2(8).Visible = True
Label2(9).Visible = True
Label2(7).Visible = True
Frame1(0).Visible = True
Frame2(1).Visible = True
Frame3(2).Visible = True
Frame4(3).Visible = True
Frame5(4).Visible = True
End If
End Sub
------------------------------------------------------
Private Sub cmdSend_Click()
If opt1a(0).Value = False And opt1b(1).Value = False And opt1c(0).Value = False Then
MsgBox "Du mangler at svare på spørgsmål 1!"
Else
If opt2a(3).Value = False And opt2b(2).Value = False And opt2c.Value = False Then
MsgBox "Du mangler at svare på spørgsmål 2!"
Else
If opt3a(5).Value = False And opt3b(4).Value = False And opt3c.Value = False Then
MsgBox "Du mangler at svare på spørgsmål 3!"
Else
If opt4a(7).Value = False And opt4b(6).Value = False And opt4c(0).Value = False Then
MsgBox "Du mangler at svare på spørgsmål 4!"
Else
If opt5a(9).Value = False And opt5b(8).Value = False And opt5c.Value = False Then
MsgBox "Du mangler at svare på spørgsmål 5!"
Else
    If opt1a(0).Value = True Then
        sporgsmaal1 = "A"
    Else
        If opt1b(1).Value = True Then
            sporgsmaal1 = "B"
        Else
            sporgsmaal1 = "C"
        End If
    End If
   
   
        If opt2a(3).Value = True Then
        sporgsmaal2 = "A"
    Else
        If opt2b(2).Value = True Then
            sporgsmaal2 = "B"
        Else
            sporgsmaal2 = "C"
        End If
    End If
   
   
    If opt3a(5).Value = True Then
        sporgsmaal3 = "A"
    Else
        If opt3b(4).Value = True Then
            sporgsmaal3 = "B"
        Else
            sporgsmaal3 = "C"
        End If
    End If
   
   
    If opt4a(7).Value = True Then
        sporgsmaal4 = "A"
    Else
        If opt4b(6).Value = True Then
            sporgsmaal4 = "B"
        Else
            sporgsmaal4 = "C"
        End If
    End If
   
   
    If opt5a(9).Value = True Then
        sporgsmaal5 = "A"
    Else
        If opt5b(8).Value = True Then
            sporgsmaal5 = "B"
        Else
            sporgsmaal5 = "C"
        End If
    End If
   
   
Let sti = "C:\Documents and Settings\a0923\Desktop\VB - project\besvarelser\" + elevnummer + ".DSP"
Data = "Spørgsmål 1:" + sporgsmaal1 + vbNewLine + "Spørgsmål 2:" + sporgsmaal2 + vbNewLine + "Spørgsmål 3:" + sporgsmaal3 + vbNewLine + "spørgsmål 4:" + sporgsmaal4 + vbNewLine + "Spørgsmål 5:" + sporgsmaal5

Open strFilNavn For Binary As #intFilNummer
Put #intFilNummer, , Data
Close #intFilNummer

End If
End If
End If
End If
End If

End Sub
------------------------------------------------------
Private Sub Elevnr_Click()
elevnummer = Elevnr.Text
End Sub
---------------------------------------------------
Private Sub Form_Load()
Dim elevnummer As String
Dim intFilNummer As Integer
Dim strFilNavn As String
Dim sporgsmaal1 As String
Dim sporgsmaal2 As String
Dim sporgsmaal3 As String
Dim sporgsmaal4 As String
Dim sporgsmaal5 As String
Dim Data As String

Let intFilNummer = FreeFile

Form1.Width = 1845

Elevnr.AddItem "m0901"
Elevnr.AddItem "m0902"
Elevnr.AddItem "m0903"
Elevnr.AddItem "m0904"
Elevnr.AddItem "m0905"
Elevnr.AddItem "m0906"
Elevnr.AddItem "m0907"
Elevnr.AddItem "m0908"
Elevnr.AddItem "m0909"
Elevnr.AddItem "m0910"
Elevnr.AddItem "m0911"
Elevnr.AddItem "m0912"
Elevnr.AddItem "m0913"
Elevnr.AddItem "m0914"
Elevnr.AddItem "m0915"
Elevnr.AddItem "m0916"
Elevnr.AddItem "m0917"
Elevnr.AddItem "m0918"
Elevnr.AddItem "m0919"
Elevnr.AddItem "m0920"
Elevnr.AddItem "t0901"
Elevnr.AddItem "t0902"
Elevnr.AddItem "t0903"
Elevnr.AddItem "t0904"
Elevnr.AddItem "t0905"
Elevnr.AddItem "t0906"
Elevnr.AddItem "t0907"
Elevnr.AddItem "t0908"
Elevnr.AddItem "t0909"
Elevnr.AddItem "t0910"
Elevnr.AddItem "t0911"
Elevnr.AddItem "t0912"
Elevnr.AddItem "t0913"
Elevnr.AddItem "t0914"
Elevnr.AddItem "t0915"
Elevnr.AddItem "t0916"
Elevnr.AddItem "t0917"
Elevnr.AddItem "t0918"
Elevnr.AddItem "t0919"
Elevnr.AddItem "t0920"
Elevnr.AddItem "t0921"
Elevnr.AddItem "t0922"
Elevnr.AddItem "t0923"
Elevnr.AddItem "t0924"
Elevnr.AddItem "t0925"
Elevnr.AddItem "t0926"
Elevnr.AddItem "u0901"
Elevnr.AddItem "u0902"
Elevnr.AddItem "u0903"
Elevnr.AddItem "u0904"
Elevnr.AddItem "u0905"
Elevnr.AddItem "u0906"
Elevnr.AddItem "u0907"
Elevnr.AddItem "u0908"
Elevnr.AddItem "u0909"
Elevnr.AddItem "u0910"
Elevnr.AddItem "u0911"
Elevnr.AddItem "u0912"
Elevnr.AddItem "u0913"
Elevnr.AddItem "u0914"
Elevnr.AddItem "u0915"
Elevnr.AddItem "u0916"
Elevnr.AddItem "u0917"
Elevnr.AddItem "u0918"
Elevnr.AddItem "u0919"
Elevnr.AddItem "u0920"
Elevnr.AddItem "u0921"
Elevnr.AddItem "u0922"
Elevnr.AddItem "u0923"
Elevnr.AddItem "u0924"
Elevnr.AddItem "w0901"
Elevnr.AddItem "w0902"
Elevnr.AddItem "w0903"
Elevnr.AddItem "w0904"
Elevnr.AddItem "w0905"
Elevnr.AddItem "w0906"
Elevnr.AddItem "w0907"
Elevnr.AddItem "w0908"
Elevnr.AddItem "w0909"
Elevnr.AddItem "w0910"
Elevnr.AddItem "w0911"
Elevnr.AddItem "w0912"
Elevnr.AddItem "w0913"
Elevnr.AddItem "w0914"
Elevnr.AddItem "w0915"
Elevnr.AddItem "w0916"
Elevnr.AddItem "w0917"
Elevnr.AddItem "w0918"
Elevnr.AddItem "w0919"
Elevnr.AddItem "w0920"
Elevnr.AddItem "w0921"
Elevnr.AddItem "w0922"
Elevnr.AddItem "w0923"
Elevnr.AddItem "w0924"
Elevnr.AddItem "w0925"
Elevnr.AddItem "w0926"
Elevnr.AddItem "w0927"
Elevnr.AddItem "w0928"
End Sub
------------------------------------------
Private Sub hjælp_Click()
elevnummer = Elevnr.Text
If elevnummer = "" Then
MsgBox "Du skal først vælge dit elevnummer! Derefter skal du vælg knappen 'Opgave'"
Else
MsgBox "Tryk på knappen 'opgave'"
End If
End Sub
Avatar billede kabbak Professor
28. september 2006 - 21:50 #1
sti = "C:\Documents and Settings\a0923\Desktop\VB - project\besvarelser\" & elevnummer & ".DSP"


Open sti For Binary As #intFilNummer
Put #intFilNummer, , Data
Close #intFilNummer
Avatar billede kabbak Professor
28. september 2006 - 21:54 #2
Jeg vil nok gøre sådan

Open sti For append As #intFilNummer
print #intFilNummer , Data
Close #intFilNummer

Append betyder at hvis filen ikke eksisterer, så oprettes den.
Men det betyder også at der tilføjes til eksisterende data, hvis den er oprettet.
Avatar billede mrr1217 Nybegynder
28. september 2006 - 22:01 #3
Jeg har fundet ud af det, ellers tak!!!
Avatar billede mrr1217 Nybegynder
28. september 2006 - 22:01 #4
Desuden (kabbak) virkede det ikke...
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