Wie einen Buttonklick simulieren?

Für allgemeine Fragen zur Programmierung mit PureBasic.
Benutzeravatar
Kurzer
Beiträge: 1617
Registriert: 25.04.2006 17:29
Wohnort: Nähe Hamburg

Re: Wie einen Buttenklick simulieren?

Beitrag von Kurzer »

Kiffi hat geschrieben:OK, ich verbuche das bei mir mal unter 'schräge Programmierung'. ;-)
Kaeru Gaman hat geschrieben:das ist auf jeden mal tausend meilen straighter programmiert als so'n schwules event senden...
Oha das ist ein klassischer Fall von "falsches Programmierparadigma angeeignet". Und zwar so richtig, von der Pike auf.
Da viele von Euch, sagen mir mal, "amused" über diesen Ansatz sind, ist das Senden einer Message wohl eher eine beknackte Idee. Ich ging davon aus, daß das eine super Idee ist.

Aber ich werde mich bewußt davon trennen und für diesen Fall einfach die selbe Prozedur von verschiedenen Stellen aus aufrufen.
Danke fürs :shock: Augen öffnen.
"Never run a changing system!" | "Unterhalten sich zwei Alleinunterhalter... Paradox, oder?"
PB 6.02 x64, OS: Win 7 Pro x64 & Win 11 x64, Desktopscaling: 125%, CPU: I7 6500, RAM: 16 GB, GPU: Intel Graphics HD 520
Useralter in 2024: 56 Jahre.
Benutzeravatar
ts-soft
Beiträge: 22292
Registriert: 08.09.2004 00:57
Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel
Wohnort: Berlin

Re: Wie einen Buttenklick simulieren?

Beitrag von ts-soft »

Kannst die Augen auch wieder schliessen. In der ereignisorientierten Programmierung
ist das senden einer Message wohl eher üblich als irgendwelche Flags, wie in der
Steinzeit nutzen zu wollen :mrgreen:
Spätestens wenn Du das in eine Prozedure packst, mußte mit Static oder Globalen
Variablen arbeiten.
Wenn dann Threads genutzt werden, wirds mit den Flags auch unnötig kompliziert.

Im Endeffekt ist aber nur wichtig, das Du ans Ziel gelangst :)

Gruß

Thomas
Kaeru Gaman
Beiträge: 17389
Registriert: 10.11.2004 03:22

Re: Wie einen Buttenklick simulieren?

Beitrag von Kaeru Gaman »

das ist durchaus richtig, was ts da sagt, allerdings ist die Frage, wie man im Allgemeinen programmiert.

PureBasic ist Prozedural.
Auch wenn der EventLoop zwangsweise an die Event-Orientiertheit des OS angepasst ist, ist er dennoch grundsätzlich prozedural aufgebaut,
solange man nicht mit hundert Callbacks und Interfaces wirklich ObjektOrientiert programmiert.

Ein Event per API an ein eigenes Gadget zu senden fällt dann völlig aus dem Rahmen,
eine Procedure zu benutzen ist die Klassisch Prozedurale vorgehensweise,
ein Flag ist noch klassischer.

Man mag es Steinzeit nennen oder nicht, tatsache ist, dass zu ObjektOrientierte Denkansätze
bei Verwendung einer Prozeduralen Programmiersprache regelmäßig ins Verderben führen.

Anfänger wundern sich, warum sie nicht sehen wie ihr Sprite sich bewegt, wenn sie eine geschlossene For-Schleife bauen, usw.
wo ein in sich geschlossener Objektcode in VB seine Events ohne Probleme an die anderen Objekte weiterleitet,
bleibt PureBasic single-task prozedural und nix passiert außer dem aktuellen Step.

Sende so viele Events wie du willst, aber denk dran, dass sie nur funktionieren,
wenn du wieder an deinem einen einzigen WaitWindowEvent in der Hauptschleife vorbeikommst.

Hier stellt sich also für jeden Programmierer die Frage, "Wie sehr mag ich die unterschiedlichen Paradigmen vermischen".
Der Narr denkt er sei ein weiser Mann.
Der Weise weiß, dass er ein Narr ist.
Andreas
ToolbarKönig
Beiträge: 142
Registriert: 08.09.2004 08:33

Re: Wie einen Buttenklick simulieren?

Beitrag von Andreas »

sendmessage_(Buttonhandle,#BM_CLICK,0,0)
Gruss Andreas
Benutzeravatar
Kurzer
Beiträge: 1617
Registriert: 25.04.2006 17:29
Wohnort: Nähe Hamburg

Re: Wie einen Buttonklick simulieren?

Beitrag von Kurzer »

Andreas, Danke. Auch wenn ich's nun doch anders mache.
Dein Beispiel funktioniert prima.
"Never run a changing system!" | "Unterhalten sich zwei Alleinunterhalter... Paradox, oder?"
PB 6.02 x64, OS: Win 7 Pro x64 & Win 11 x64, Desktopscaling: 125%, CPU: I7 6500, RAM: 16 GB, GPU: Intel Graphics HD 520
Useralter in 2024: 56 Jahre.
Antworten