Seite 1 von 1

Daten einlesen und in bestimmtem Gadget wieder anzeigen ?

Verfasst: 19.10.2006 16:40
von sebsch80
Hallo,

Jetzt bin ich schon soweit das ich meine eingegebenen Fußballergebnisse abspeichern und sie dann auch wieder laden kann.
Leider zeigt er mir die eingelesenen daten nur im Debugger.
Jetzt wollte ich sie wieder in die richtigen Gadgets einfügen aber leider weiß ich nicht wie ich ihm das begreiflich machen soll.

Hab mal ein bisschen rumgetestet und jetzt schreibt er mir den Pfad in die Gadgets.

Könnt ihr mir helfen?

Hier nochmal der Code zum testen:

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_CloseWindow
  Quit = 1
 EndIf
 If Event = #PB_Event_Menu
  If EventMenu()=1
    StandardDatei$ = "D:\Programme\PureBasic\test.txt"
    Pattern$ = "Text-Dateien (*.txt)|*.txt|Alle Dateien (*.*)|*.*"
    PatternPosition = 0
    DateiName$ = OpenFileRequester("Öffnen ...", StandardDatei$, Pattern$, PatternPosition)
    ReadFile(0,DateiName$)   
    While Eof(0) = 0
        For a=11 To 19
    Text$ = DateiName$
      SetGadgetText(a,Text$)
    Next 
    For b=21 To 29
      SetGadgetText(b,Text$)
    Next
     Debug ReadString(0)      
    Wend
     CloseFile(0)               
  EndIf
  If EventMenu()=2
    StandardDatei$ = "D:\Programme\PureBasic\test.txt"
    Pattern$ = "Text-Dateien (*.txt)|*.txt|Alle Dateien (*.*)|*.*"
    PatternPosition = 0
    DateiName$ = SaveFileRequester("Speichern unter...", StandardDatei$, Pattern$, PatternPosition) 
    CreateFile (0,DateiName$)
    For E=11 To 19 
      WriteStringN(0,GetGadgetText(E))
    Next 
    For T=21 To 29
      WriteStringN(0,GetGadgetText(T))
    Next
    CloseFile(0)
  EndIf
 EndIf
Until Quit = 1

Verfasst: 19.10.2006 16:55
von Konne
Vielleicht solltest du mal schauen ob Zeile :

65: Text$ = DateiName$

so ganz richtig ist ;)

und auch der loop danach hat einen kleinen Bug.

Verfasst: 19.10.2006 16:58
von sebsch80
Ja klar ist das anscheinend nicht richtig.

Aber ich weiß nicht wie ich ihm sagen kann das text$ der Inhalt der eingelesenen Datei sein soll.

Weißt Du wie das geht???

Verfasst: 19.10.2006 16:59
von #NULL
[ungetestet:]

Code: Alles auswählen

    If ReadFile(0,DateiName$)   
      a=11
      While Not Eof(0) And a<=19
        Text$ = ReadString(0)
        SetGadgetText(a,Text$)
        a+1
      Wend
      b=21
      While Not Eof(0) And b<=29
        Text$ = ReadString(0)
        SetGadgetText(b,Text$)
        b+1
      Wend
      ;Debug ReadString(0)     
      Wend
      CloseFile(0)
    EndIf
du mußt erst die zeilen mit readstring() lesen, und nicht sie versuchen aus DateiName$ zu holen. dort ist nur der pfad/dateiname drin, aber nichts vom inhalt der datei.

<oops. hatte was vergessen, is jetz mit drin>
<oh man, nach dem 322434+1. editieren meines posts sollte es nun stimmen, sorry :oops: >

Verfasst: 19.10.2006 17:15
von sebsch80
Vielen Dank @ Null

Jetzt klappts