ListViewGadget AddGadgetItem

Anfängerfragen zum Programmieren mit PureBasic.
Benutzeravatar
marcelx
Beiträge: 429
Registriert: 19.02.2010 20:19
Wohnort: Darmstadt

ListViewGadget AddGadgetItem

Beitrag von marcelx »

Hallo zusammen,

ich möchte dass die Zeile nach und nach ausgegeben werden:

Code: Alles auswählen

winID = OpenWindow(#PB_Any, 0, 0, 300, 400, "Test", #PB_Window_SystemMenu | #PB_Window_ScreenCentered)
ListViewGadget(0, 10, 10, 280, 380, #PB_ListView_MultiSelect)

For i = 1 To 5 
  Delay(1000)    ; Daten(i) verarbeiten
  AddGadgetItem (0, -1, "Test "+Str(i))
Next

Repeat : Until WaitWindowEvent() = #PB_Event_CloseWindow
Erste nach Ende der Loop erscheint alle 5 Zeile auf einmal.

Wie wäre es richtig?
Danke
MarcelX
Zuletzt geändert von marcelx am 25.11.2016 20:46, insgesamt 1-mal geändert.
Win-10, PB 5.31 (Windows - x86)
Benutzeravatar
RSBasic
Admin
Beiträge: 8047
Registriert: 05.10.2006 18:55
Wohnort: Gernsbach
Kontaktdaten:

Re: ListViewGadget AddGadgetItem

Beitrag von RSBasic »

Beispielsweise mit einem Timer:

Code: Alles auswählen

EnableExplicit

Define i

If OpenWindow(0, 0, 0, 500, 400, "Window", #PB_Window_SystemMenu | #PB_Window_ScreenCentered)
  ListViewGadget(0, 10, 10, 280, 380, #PB_ListView_MultiSelect)
  
  AddWindowTimer(0, 1, 1000)
  
  Repeat
    Select WaitWindowEvent()
      Case #PB_Event_Timer
        Select EventTimer()
          Case 1
            For i = 1 To 5 
              AddGadgetItem (0, -1, "Test "+Str(i))
            Next
            RemoveWindowTimer(0, 1)
        EndSelect
      Case #PB_Event_CloseWindow
        End
    EndSelect
  ForEver
EndIf
Aus privaten Gründen habe ich leider nicht mehr so viel Zeit wie früher. Bitte habt Verständnis dafür.
Bild
Bild
Benutzeravatar
marcelx
Beiträge: 429
Registriert: 19.02.2010 20:19
Wohnort: Darmstadt

Re: ListViewGadget AddGadgetItem

Beitrag von marcelx »

OK, ich vergessen zu schreiben, dass anstatt der Delay(1000) Daten verarbeitet werden
Win-10, PB 5.31 (Windows - x86)
Benutzeravatar
RSBasic
Admin
Beiträge: 8047
Registriert: 05.10.2006 18:55
Wohnort: Gernsbach
Kontaktdaten:

Re: ListViewGadget AddGadgetItem

Beitrag von RSBasic »

Dann lagere das in einem Thread aus und für das Hinzufügen eines neuen Eintrages kannst du PostEvent verwenden, damit AddGadgetItem() im Main-Thread und nicht in einem separaten Thread ausgeführt wird.
Aus privaten Gründen habe ich leider nicht mehr so viel Zeit wie früher. Bitte habt Verständnis dafür.
Bild
Bild
Benutzeravatar
marcelx
Beiträge: 429
Registriert: 19.02.2010 20:19
Wohnort: Darmstadt

Re: ListViewGadget AddGadgetItem

Beitrag von marcelx »

Danke RSBasic.
Ich habe schon so was gemacht und wusste nicht mehr, dass es mit Thread realisiert werden sollte.
Win-10, PB 5.31 (Windows - x86)
Antworten