Select Case

Anfängerfragen zum Programmieren mit PureBasic.
gnaps
Beiträge: 151
Registriert: 02.09.2008 13:02

Select Case

Beitrag von gnaps »

Hallo,

in meinem Programm benutze ich mehrere ContainerGadgets.
Diese haben jede Menge ButtonImageGadgets.
In meine Hauptschliefe frage ich immer alle Gadgets ab.
Wie geschrieben sind das jede Menge.

Die Abfrage läuft eigentlich super.

Macht es dennoch Sinn die Gadgteabfrage in eine If Abfrage zu schachteln
die das aktive ContainerGadget abfragt um nur die Gadgets im Aktiven Container zu prüfen?
PureBasic Vollversion V 5.71 für Windows - Windows 10 (64)
Benutzeravatar
STARGÅTE
Kommando SG1
Beiträge: 7031
Registriert: 01.11.2005 13:34
Wohnort: Glienicke
Kontaktdaten:

Re: Select Case

Beitrag von STARGÅTE »

"Jede Menge" ist eine recht unpräzise Mengenangabe.
Ich denke einige Hundert Cases in einem Select-Block sind kein Problem.
Erst bei mehr Cases könnte man drüber nachdenken, erst Bereiche abzufragen und danach Select zu nutzen.
PB 6.01 ― Win 10, 21H2 ― Ryzen 9 3900X, 32 GB ― NVIDIA GeForce RTX 3080 ― Vivaldi 6.0 ― www.unionbytes.de
Aktuelles Projekt: Lizard - Skriptsprache für symbolische Berechnungen und mehr
gnaps
Beiträge: 151
Registriert: 02.09.2008 13:02

Re: Select Case

Beitrag von gnaps »

Hi,

ok, es sind 247 Gadgets, dann lass ich das so.

Danke für die Antwort.
PureBasic Vollversion V 5.71 für Windows - Windows 10 (64)
Benutzeravatar
udg
Beiträge: 566
Registriert: 20.06.2013 23:27

Re: Select Case

Beitrag von udg »

gnaps hat geschrieben: 247 Gadgets,
Danke für die Antwort.
also da würde ich eher nur die abfragen, die gerade aufgerufen werden sollen. Wenn es jedes mal 247 Gadgets durchrattert, hat man sichtbare Verzögerungen, auch wenns nur im Millisekunden Bereich ist.

Ich suche selber immer nach Lösungen wie man den Aufbau einer Oberfläche optimieren kann. Persönlich stört mich ebenfalls, wenn die Oberfläche sich Millisekunde um Millisekunde aufbaut.
Schöner ist da ein : PloPP und fertig.

Grüße
PB v5.43 LTS + v6.02 LTS | Windows 7 x86 + 11 x64 - Gforce RTX 4090 - AMD Ryzen 9 5900X 12-Core Processor 4.2 GHz - 64,0 GB RAM,
ASUSTEK TUF Gaming X570 Plus
ASUS ROG Thor-1200P Platinum (1200W, Aura Sync, OLED Display, 0dB-Cooling)
1x 1 TByte Samsung MZ-V7S500BW 970 EVO Plus 1 TB NVMe M.2 Internal SSD
1x 2 TByte Samsung MZ-V7S2T0BW 970 EVO Plus 2 TB NVMe M.2 Internal SSD
von BiSONTE!. Kauft Hardware gern bei ihm.
Monitor:
LG 38GL950G-B 95 (38 Zoll) Ultragear Curved 21: 9 UltraWide QHD IPS
Burstnibbler
Beiträge: 58
Registriert: 04.10.2008 12:10

Re: Select Case

Beitrag von Burstnibbler »

gnaps hat geschrieben:In meine Hauptschliefe frage ich immer alle Gadgets ab.
Aber doch nur, wenn ein Gadget-Event auftritt. Insofern...

udg hat geschrieben:Persönlich stört mich ebenfalls, wenn die Oberfläche sich Millisekunde um Millisekunde aufbaut. Schöner ist da ein : PloPP und fertig.
Wenn es um den Programmstart geht:

OpenWindow(...)
HideWindow(#WIN, #True)
GUI aufbauen
HideWindow(#WIN, #False)
Benutzeravatar
RSBasic
Admin
Beiträge: 8047
Registriert: 05.10.2006 18:55
Wohnort: Gernsbach
Kontaktdaten:

Re: Select Case

Beitrag von RSBasic »

Burstnibbler hat geschrieben:OpenWindow(...)
HideWindow(#WIN, #True)
GUI aufbauen
HideWindow(#WIN, #False)
Noch besser wärs mit OpenWindow() mit #PB_Window_Invisible und zum Schluss HideWindow() mit #False.
Aus privaten Gründen habe ich leider nicht mehr so viel Zeit wie früher. Bitte habt Verständnis dafür.
Bild
Bild
Benutzeravatar
udg
Beiträge: 566
Registriert: 20.06.2013 23:27

Re: Select Case

Beitrag von udg »

Jup, es geht um den Programmstart. Ich hide schon so einiges und mache es dann sichtbar .
Probiere mal die euren Methoden. Mal schauen ob es das noch optimiert.

EDIT:

bei meinem Logo Maker ist es gering besser, da muss ich noch nach Optimierung suchen.
Bei meinem größeren Tool, wo eine Menge an Gadgets aufgebaut werden muss, gehts TOP :allright:
Hatte hier zwar auch eineige Elemente erst mal auf HideGadget() Status 1
und später auf HideGadget() Status 0 gesetzt aber war nicht ganz zufreiden stellend.

jetzt: PLOPP and THERE

Danke
PB v5.43 LTS + v6.02 LTS | Windows 7 x86 + 11 x64 - Gforce RTX 4090 - AMD Ryzen 9 5900X 12-Core Processor 4.2 GHz - 64,0 GB RAM,
ASUSTEK TUF Gaming X570 Plus
ASUS ROG Thor-1200P Platinum (1200W, Aura Sync, OLED Display, 0dB-Cooling)
1x 1 TByte Samsung MZ-V7S500BW 970 EVO Plus 1 TB NVMe M.2 Internal SSD
1x 2 TByte Samsung MZ-V7S2T0BW 970 EVO Plus 2 TB NVMe M.2 Internal SSD
von BiSONTE!. Kauft Hardware gern bei ihm.
Monitor:
LG 38GL950G-B 95 (38 Zoll) Ultragear Curved 21: 9 UltraWide QHD IPS
Antworten