Wieviele Zeilen kann man in ein ListIconGadget einlesen?

Für allgemeine Fragen zur Programmierung mit PureBasic.
Benutzeravatar
Gerhard
Beiträge: 37
Registriert: 29.09.2004 23:44
Wohnort: Zedtwitz

Wieviele Zeilen kann man in ein ListIconGadget einlesen?

Beitrag von Gerhard »

Hallo
wieviele Zeilen kann man in ein ListIconGadget einlesen?
Es gibt Funkamateure, die haben ca. 35000 QSOs (Datensätze=Zeilen).
Geht das noch in ein ListIconGadget rein?

Danke für die Antwort
Oder muss man da eine andere Lösung suchen?!!

Gruss Gerhard
Benutzeravatar
MLK
Beiträge: 267
Registriert: 01.11.2004 13:17
Wohnort: Hamburg

Beitrag von MLK »

Da kannste auch 70000 Einträge machen.

Code: Alles auswählen

If CreateGadgetList(OpenWindow(0,0,0,200,500,#PB_Window_ScreenCentered | #PB_Window_SystemMenu,""))
    ListIconGadget(0,10,10,180,450,"Datensätze",150)
    For i=1 To 70000
        AddGadgetItem(0,i,"Datensatz Nr."+Str(i))
    Next
    While WaitWindowEvent()<>#PB_Event_CloseWindow
    Wend
EndIf
(gruß an sparcoder Deem ;-) )
orange-blue
Beiträge: 556
Registriert: 04.09.2004 22:23
Kontaktdaten:

Beitrag von orange-blue »

Das höchste was ich probiert hab ist 10000000, aber da hab ich dann aufgehört, da mir das zu lange dauert.
Benutzeravatar
Gerhard
Beiträge: 37
Registriert: 29.09.2004 23:44
Wohnort: Zedtwitz

Beitrag von Gerhard »

Danke für die Antwort,
hmm, also von daher könnte ich diese Menge an Datensätzen so darstellen. Aber so wie orange-blue
schrieb, dauert es offensichtlich doch länger,
bis der letzte Datensatz dadrin ist.
Da wäre eine andere Lösung besser? Etwa eine
graphische Ausgabe...
Ich werds selber mal probieren. Vielleicht gehts ja
doch noch akzeptabel schnell.
Also danke für die Antworten
Gruss Gerhard
Benutzeravatar
MLK
Beiträge: 267
Registriert: 01.11.2004 13:17
Wohnort: Hamburg

Beitrag von MLK »

mit HideGadget() kann man die geschwindigkeit fast vervierfachen!

Code: Alles auswählen

If CreateGadgetList(OpenWindow(0,0,0,200,500,#PB_Window_ScreenCentered | #PB_Window_SystemMenu,"")) 
    ListIconGadget(0,10,10,180,450,"Datensätze",150)
    start=ElapsedMilliseconds()
    For i=1 To 70000
        AddGadgetItem(0,i,"Datensatz Nr."+Str(i)) 
    Next
    ohne=ElapsedMilliseconds()-start
    
    ClearGadgetItemList(0)
    start=ElapsedMilliseconds()
    HideGadget(0,1)
    For i=1 To 70000
        AddGadgetItem(0,i,"Datensatz Nr."+Str(i)) 
    Next
    HideGadget(0,0)
    mit=ElapsedMilliseconds()-start
    MessageRequester("","ohne HideGadget(): "+Str(ohne)+Chr(13)+"mit HideGadget(): "+Str(mit)+Chr(13)+"mit, ist "+StrF(ohne/mit,1)+" mal schneller")
    While WaitWindowEvent()<>#PB_Event_CloseWindow 
    Wend 
EndIf
Zuletzt geändert von MLK am 13.11.2004 00:00, insgesamt 2-mal geändert.
GPI
Beiträge: 1511
Registriert: 29.08.2004 13:18
Kontaktdaten:

Beitrag von GPI »

Und wichtige Anmerkung: Die Anzahl ist von OS abhängig! Bei Win98 streikts früher.
CodeArchiv Rebirth: Deutsches Forum Github Hilfe ist immer gern gesehen!
Benutzeravatar
RAaBe
Beiträge: 80
Registriert: 07.09.2004 12:52
Wohnort: Münsterland
Kontaktdaten:

Beitrag von RAaBe »

Hallo,

das Beispiel ist ein guter Vergleich. Bei mir kommt ein 20facher Zeitgewinn heraus.

Bis dann...
Benutzeravatar
Gerhard
Beiträge: 37
Registriert: 29.09.2004 23:44
Wohnort: Zedtwitz

Beitrag von Gerhard »

Ja, das ist ja toll mit dem HideGadget. Da passiert
wahrscheinlich einiges im Hintergrund, erst dann
wirds angezeigt. Sehr guter Tipp.
Damit werde ich experimentieren

Servus
Gerhard
GPI
Beiträge: 1511
Registriert: 29.08.2004 13:18
Kontaktdaten:

Beitrag von GPI »

Bei jeden Einfügen wird halt die Liste gezeichnet. Und das summiert sich einfach.

Die andere Methode ist, mittels SendMEssage() das Gadget-Neuzeichnen abzuschalten, hat aber den nachteil, das man es so nicht auf linux übertragen kann...
CodeArchiv Rebirth: Deutsches Forum Github Hilfe ist immer gern gesehen!
Benutzeravatar
PBZecke
Beiträge: 399
Registriert: 02.09.2004 17:34

Beitrag von PBZecke »

Wie machen das eigentlich große Datenbanken wie zb. Access? Die werden doch nicht hunderttausend Datensätze in eine Listenansicht laden. Die laden doch sicherlich nur etwas mehr als angezeigt werden kann, und beim Scrollen die nächsten Datensätze.

Oder?
Nein, ich habe die Suche nicht benutzt, und deshalb auch nichts dazu gefunden... :lol:
Antworten