Daten einlesen und in bestimmtem Gadget wieder anzeigen ?

Anfängerfragen zum Programmieren mit PureBasic.
Benutzeravatar
sebsch80
Beiträge: 53
Registriert: 28.09.2006 20:28
Wohnort: Suhl
Kontaktdaten:

Daten einlesen und in bestimmtem Gadget wieder anzeigen ?

Beitrag 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
PureBasic 4.00 / Anfänger
Benutzeravatar
Konne
Beiträge: 764
Registriert: 30.03.2005 02:20
Kontaktdaten:

Beitrag 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.
Benutzeravatar
sebsch80
Beiträge: 53
Registriert: 28.09.2006 20:28
Wohnort: Suhl
Kontaktdaten:

Beitrag 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???
PureBasic 4.00 / Anfänger
Benutzeravatar
#NULL
Beiträge: 2238
Registriert: 20.04.2006 09:50

Beitrag 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: >
my pb stuff..
Bild..jedenfalls war das mal so.
Benutzeravatar
sebsch80
Beiträge: 53
Registriert: 28.09.2006 20:28
Wohnort: Suhl
Kontaktdaten:

Beitrag von sebsch80 »

Vielen Dank @ Null

Jetzt klappts
PureBasic 4.00 / Anfänger
Antworten