Startfenster Textgadget Farbe nicht änderbar???

Anfängerfragen zum Programmieren mit PureBasic.
AddMe
Beiträge: 46
Registriert: 04.05.2009 23:24

Beitrag von AddMe »

Hallo Kaeru Gaman,
hallo Regenduft,

vielen Dank für Eure Antworten.

Ich verstehe einfach nicht (Brett vorm Kopf), wie ich das Hinweisfenster, das vor dem Hauptfenster aufgerufen werden soll, damit der Benutzer weis das es gestartet wurde, in die Eventschleife reinkriege.
Den ich rufe ja während das Hinweisfenster gestartet wird eine Procedure auf. Wie krieg ich die den auch noch in so ein Event rein?

Sorry, irgendwie krieg ich das alles noch nicht so hin.

Wäre toll, wenn mir jemand anhand des o.g. Codes zeigen könnte, wo ich das alles hinpacken muss. Wo das alles hingehört, damit es auch funktioniert.

Vielen Dank für Eure Geduld mit mir.

Gruß
Michael
Benutzeravatar
HeX0R
Beiträge: 3042
Registriert: 10.09.2004 09:59
Computerausstattung: AMD Ryzen 7 5800X
96Gig Ram
NVIDIA GEFORCE RTX 3060TI/8Gig
Win11 64Bit
G19 Tastatur
2x 24" + 1x27" Monitore
Glorious O Wireless Maus
PB 3.x-PB 6.x
Oculus Quest 2 + 3
Kontaktdaten:

Beitrag von HeX0R »

>>Wäre toll, wenn mir jemand anhand des o.g. Codes zeigen könnte, wo ich das alles hinpacken muss. Wo das alles hingehört, damit es auch funktioniert.

Also das kann doch unmöglich der ganze Code sein, oder?
So wie ich das sehe, aktualisierst du ein einziges Tabellenfeld und das soll 10 Sekunden dauern?

[Edit]
Muss mich berichtigen, du aktualisierst zwei Felder, macht den Kohl aber auch nicht fett.
Interessant wird es vermutlich in den beiden undokumentierten Funktionen.
Zuletzt geändert von HeX0R am 31.05.2009 15:27, insgesamt 1-mal geändert.
AddMe
Beiträge: 46
Registriert: 04.05.2009 23:24

Beitrag von AddMe »

HeX0R hat geschrieben: Also das kann doch unmöglich der ganze Code sein, oder?
So wie ich das sehe, aktualisierst du ein einziges Tabellenfeld und das soll 10 Sekunden dauern?
Nein, in der Procedure: StatistikAnz() verarbeite ich eine ExcelTabelle mit weit über Tausend Zeilen und einigen Spalten.

Dies ist ja nur ein Code Auszug.

Ich hätte halt gerne gewusst, wie ich das in die Event Schleife reinkriege.
z. B. wo soll ich den dann StatistikAnz() hinpacken?
Damit das alles mit dem Hinweisfenster,.. funktioniert.

Gruß
Micheal
Benutzeravatar
HeX0R
Beiträge: 3042
Registriert: 10.09.2004 09:59
Computerausstattung: AMD Ryzen 7 5800X
96Gig Ram
NVIDIA GEFORCE RTX 3060TI/8Gig
Win11 64Bit
G19 Tastatur
2x 24" + 1x27" Monitore
Glorious O Wireless Maus
PB 3.x-PB 6.x
Oculus Quest 2 + 3
Kontaktdaten:

Beitrag von HeX0R »

AddMe hat geschrieben: Ich hätte halt gerne gewusst, wie ich das in die Event Schleife reinkriege.
z. B. wo soll ich den dann StatistikAnz() hinpacken?
Damit das alles mit dem Hinweisfenster,.. funktioniert.
Andersrum:
Mach ein WindowEvent() in die Schleife in StatistikAnz() rein, die du ja scheinbar mehr als 1000 mal durchläufst.
AddMe
Beiträge: 46
Registriert: 04.05.2009 23:24

Beitrag von AddMe »

HeX0R hat geschrieben:Andersrum:
Mach ein WindowEvent() in die Schleife in StatistikAnz() rein, die du ja scheinbar mehr als 1000 mal durchläufst.
Ok. Werde ein WindwoEvent() in die Procedure einbauen.

Vielen Dank für Deine Hilfe und Geduld.

Gruß
Michael
Benutzeravatar
HeX0R
Beiträge: 3042
Registriert: 10.09.2004 09:59
Computerausstattung: AMD Ryzen 7 5800X
96Gig Ram
NVIDIA GEFORCE RTX 3060TI/8Gig
Win11 64Bit
G19 Tastatur
2x 24" + 1x27" Monitore
Glorious O Wireless Maus
PB 3.x-PB 6.x
Oculus Quest 2 + 3
Kontaktdaten:

Beitrag von HeX0R »

Kein Problem!

Aber nur als Anmerkung:
In deinem Fall, wenn das eh nur beim Start passiert und eine Art "Splashscreen" gezeigt wird, ist dieses Vorgehen o.k.

Aber wenn das ganze im normalen Programmablauf vorkommt, sollte man das anders lösen.

Früher habe ich auch solche komischen Konstrukte gebastelt, aber vor langer Zeit bin ich zu der Erkenntnis gekommen, dass man sein Programm immer so konzipieren sollte, dass man eine einzige Event-Bearbeitungs-Schleife [es leben Deppenbindestriche] hat.
Also ein einziges WaitWindowEvent im gesamten Code.

Braucht ab und an eine andere Herangehensweise, macht aber einfach alles sehr viel besser wartbar und auch übersichtlicher.
AddMe
Beiträge: 46
Registriert: 04.05.2009 23:24

Beitrag von AddMe »

Hallo HeXOR,
HeX0R hat geschrieben:Kein Problem!
Aber nur als Anmerkung:
In deinem Fall, wenn das eh nur beim Start passiert und eine Art "Splashscreen" gezeigt wird, ist dieses Vorgehen o.k.

Aber wenn das ganze im normalen Programmablauf vorkommt, sollte man das anders lösen.
Wäre toll, wenn Du mir mal ein Code Beispiel zeigen könntest, in dem es anders gelöst wird. Ich würde es halt sehr gerne besser bzw. richtig machen.

Dann könnte ich diesen und alle anderen Codes so gestalten, dass es richtig wäre.

Schon mal vielen Dank.

Gruß
Michael
AddMe
Beiträge: 46
Registriert: 04.05.2009 23:24

Beitrag von AddMe »

Hallo HeXOR,
HeX0R hat geschrieben: Andersrum:
Mach ein WindowEvent() in die Schleife in StatistikAnz() rein, die du ja scheinbar mehr als 1000 mal durchläufst.
Anscheinend bin ich wohl nicht in der Lage das so hinzukriegen. Ich habe versucht ein WindowEvent() in die Schleife in StatistikAnz() zu packen, doch das Ergebnis ist, das die Hintergrundfarbe der TextGadgets sich nicht ändert.

Glaube gebe das ganze auf. Ich verstehe es einfach nicht.

Trotzdem vielen Dank für Deine / Eure Hilfe.

Gruß
Michael
Benutzeravatar
HeX0R
Beiträge: 3042
Registriert: 10.09.2004 09:59
Computerausstattung: AMD Ryzen 7 5800X
96Gig Ram
NVIDIA GEFORCE RTX 3060TI/8Gig
Win11 64Bit
G19 Tastatur
2x 24" + 1x27" Monitore
Glorious O Wireless Maus
PB 3.x-PB 6.x
Oculus Quest 2 + 3
Kontaktdaten:

Beitrag von HeX0R »

Du musst es schon so in die Schleife basteln, dass es auch 1000 mal aufgerufen wird.
Kaeru Gaman
Beiträge: 17389
Registriert: 10.11.2004 03:22

Beitrag von Kaeru Gaman »

> Ich habe versucht ein WindowEvent() in die Schleife in StatistikAnz() zu packen,

und jetzt machs mal andersrum: nimm die schleife raus aus der funktion.

als schleife benutzt du die hauptschleife, die deine Funktion zellenweise aufruft.
Der Narr denkt er sei ein weiser Mann.
Der Weise weiß, dass er ein Narr ist.
Antworten