Seite 1 von 1

File object not initialized ???

Verfasst: 18.10.2006 18:26
von sebsch80
Hallo,

#File object not initialized

was hat diese Fehlermeldung zu sagen, bzw. was mach ich falsch?
Wollte nur in die Gadgets ein paar Zahlen eintragen und sie dann unter dem angegebenen Pfad als Text abspeichern.

Code: Alles auswählen

If OpenWindow(0,100,100,610,130,"Fussball-Tipp",#PB_Window_SystemMenu|#PB_Window_ScreenCentered) And CreateGadgetList(WindowID(0))
 If CreateToolBar(0, WindowID(0))
    ToolBarStandardButton(0, #PB_ToolBarIcon_New)
    ToolBarStandardButton(1, #PB_ToolBarIcon_Open)
    ToolBarStandardButton(2, #PB_ToolBarIcon_Save)
 EndIf
StringGadget (0,5,28,60,14,"Spiel",#PB_String_BorderLess|#PB_Text_Center|#PB_String_ReadOnly)
StringGadget (1,70,28,50,14,"1",#PB_String_BorderLess|#PB_Text_Center|#PB_String_ReadOnly)
StringGadget (2,130,28,50,14,"2",#PB_String_BorderLess|#PB_Text_Center|#PB_String_ReadOnly)
StringGadget (3,190,28,50,14,"3",#PB_String_BorderLess|#PB_Text_Center|#PB_String_ReadOnly)
StringGadget (4,250,28,50,14,"4",#PB_String_BorderLess|#PB_Text_Center|#PB_String_ReadOnly)
StringGadget (5,310,28,50,14,"5",#PB_String_BorderLess|#PB_Text_Center|#PB_String_ReadOnly)
StringGadget (6,370,28,50,14,"6",#PB_String_BorderLess|#PB_Text_Center|#PB_String_ReadOnly)
StringGadget (7,430,28,50,14,"7",#PB_String_BorderLess|#PB_Text_Center|#PB_String_ReadOnly)
StringGadget (8,490,28,50,14,"8",#PB_String_BorderLess|#PB_Text_Center|#PB_String_ReadOnly)
StringGadget (9,550,28,50,14,"9",#PB_String_BorderLess|#PB_Text_Center|#PB_String_ReadOnly)
For Z1 = 0 To 9
SetGadgetColor (Z1,#PB_Gadget_BackColor,$000000)
SetGadgetColor (Z1,#PB_Gadget_FrontColor,$0000FF)
Next
StringGadget (10,5,47,60,16,"Ergebnisse",#PB_String_BorderLess|#PB_Text_Center|#PB_String_ReadOnly)
StringGadget (11,70,45,50,20,":",#PB_Text_Center | #PB_String_Numeric)
StringGadget (12,130,45,50,20,":",#PB_Text_Center | #PB_String_Numeric)
StringGadget (13,190,45,50,20,":",#PB_Text_Center | #PB_String_Numeric)
StringGadget (14,250,45,50,20,":",#PB_Text_Center | #PB_String_Numeric)
StringGadget (15,310,45,50,20,":",#PB_Text_Center | #PB_String_Numeric)
StringGadget (16,370,45,50,20,":",#PB_Text_Center | #PB_String_Numeric)
StringGadget (17,430,45,50,20,":",#PB_Text_Center | #PB_String_Numeric)
StringGadget (18,490,45,50,20,":",#PB_Text_Center | #PB_String_Numeric)
StringGadget (19,550,45,50,20,":",#PB_Text_Center | #PB_String_Numeric)
For Z1 = 10 To 19
SetGadgetColor (Z1,#PB_Gadget_BackColor,$0000FF)
SetGadgetColor (Z1,#PB_Gadget_FrontColor,$33FFFF)
Next
StringGadget (20,5,67,60,16,"Tipp",#PB_String_BorderLess|#PB_Text_Center|#PB_String_ReadOnly)
StringGadget (21,70,65,50,20,":",#PB_Text_Center | #PB_String_Numeric)
StringGadget (22,130,65,50,20,":",#PB_Text_Center | #PB_String_Numeric)
StringGadget (23,190,65,50,20,":",#PB_Text_Center | #PB_String_Numeric)
StringGadget (24,250,65,50,20,":",#PB_Text_Center | #PB_String_Numeric)
StringGadget (25,310,65,50,20,":",#PB_Text_Center | #PB_String_Numeric)
StringGadget (26,370,65,50,20,":",#PB_Text_Center | #PB_String_Numeric)
StringGadget (27,430,65,50,20,":",#PB_Text_Center | #PB_String_Numeric)
StringGadget (28,490,65,50,20,":",#PB_Text_Center | #PB_String_Numeric)
StringGadget (29,550,65,50,20,":",#PB_Text_Center | #PB_String_Numeric)
For Z1 = 20 To 29
SetGadgetColor (Z1,#PB_Gadget_BackColor,$00FFFF)
SetGadgetColor (Z1,#PB_Gadget_FrontColor,$000000)
Next
ButtonGadget (30,200,95,70,30,"Vergleiche",#PB_Text_Center)
EndIf
Repeat                                                                ;\
Event = WaitWindowEvent() 
If Event = #PB_Event_Menu
If EventMenu()=2
; MessageRequester("","Programmspeichern!",0)
    CreateFile (1,"D:\Programme\PureBasic\Test\test.txt")
    For i=11 To 19 
            WriteStringN(1,GetGadgetText(i))
        Next i 
        CloseFile(1)
      EndIf 
  EndIf
Until event = #PB_Event_CloseWindow 
Kann mir jemand helfen?

Verfasst: 18.10.2006 18:29
von edel
Das CreateFile wohl fehlgeschlagen ist.

Verfasst: 18.10.2006 18:30
von vonTurnundTaxis
Das weist dich darauf hin, dass die Datei nicht erstellt werden könnte :wink:

//Nachtrag:
edel war schneller...

Verfasst: 18.10.2006 18:31
von #NULL

Code: Alles auswählen

    If CreateFile (1,"D:\Programme\PureBasic\Test\test.txt")
      For i=11 To 19
        WriteStringN(1,GetGadgetText(i))
      Next i
      CloseFile(1)
    Else
      Debug "..weil die datei vermutlich nicht erstell werden konnte"
    EndIf
also prüfe den pfad und dateinamen. ordner müssen bereits existieren.

Verfasst: 18.10.2006 18:36
von sebsch80
@ #NULL

ich dachte es wäre egal ob der Pfad bereits existiert

glaube mal in der Hilfe gelesen zu haben das wenn die angegebene Datei nicht existiert sie automatisch erzeugt wird

Verfasst: 18.10.2006 18:37
von sebsch80
noch ne frage, was hat eigentlich das i hinter Next zu suchen oder besser gesagt warum muß es dort nochmal eingegeben werden?

Verfasst: 18.10.2006 18:41
von #NULL
die datei wird auch erstellt wenn sie im pfad nicht existiert, dass ist ja der sinn von creatfile() (existierende werden zuvor gelöscht). aber wenn der pfad nicht existiert, wird nichts gelöscht und nichts erstellt - die funktion schlägt fehl.

<edit:>
zur zweiten frage: es muß nicht angegeben werden. ein einfaches Next reicht auch aus. der compiler sieht anhand der schachtelung selbst, zu welchem For es gehört.

Verfasst: 18.10.2006 18:41
von AND51

Code: Alles auswählen

For n=1 to 100
     Debug n
Next n
Meinst du sowas wie hier?

Das ist nur zur Deko, also wenn man mehrere Schleifen ineinander verschachtelt, dann kann man auf sehen, welches For zu welchem Next gehört. Kannst du aber auch weglassen!

Verfasst: 18.10.2006 18:42
von sebsch80
ok also jetzt hats funkrioniert

danke euch