Hallo,
ich möchte mittels windowcallback Tastatureingaben abfangen und dann via serielle Schnittstelle an ein Automatisierungssystem senden.
Dieses sendet danach die empfangenen Zeichen quasi als Echo wieder zurück, welche dann in einem Editorgadget angezeigt werden.
Das heißt, die von mir eingegebenen Zeichen dürfen nicht im Editorgadget bei der Eingabe angezeigt werden.
Das ganze sollte im Prinzip wie ein Terminalprogramm funktionieren.
Hat vielleicht jemand einen Idee, wie ich die Tastatureingaben abfangen könnte ?
Window Callback ???
Ich bin mir nicht ganz sicher ob ich Dein Problem richtig verstanden habe,
aber was wäre wenn Du zwei EditorGadgets verwenden würdest die Du dann nach belieben aktivieren, deaktivieren verstecken und wieder hervorholen kannst.
Ich habe in meinem Thread von heute ein Beispiel dafür :
http/forums.purebasic.com/german/viewtopic.php?t=6834
aber was wäre wenn Du zwei EditorGadgets verwenden würdest die Du dann nach belieben aktivieren, deaktivieren verstecken und wieder hervorholen kannst.
Ich habe in meinem Thread von heute ein Beispiel dafür :
http/forums.purebasic.com/german/viewtopic.php?t=6834
vielleicht habe ich mich etwas undeutlich ausgedrückt, ich versuchs nochmal:
ich habe ein Editorfeld und gebe dort Text ein.
der Text soll aber nicht gleich angezeigt werden, sondern über ein windowcallback abgefangen werden, über die serielle Schnittstelle geschickt werden und das über die ser. Schnittstelle empfangene Echo soll
im Editorfeld angezeigt werden.
ich habe ein Editorfeld und gebe dort Text ein.
der Text soll aber nicht gleich angezeigt werden, sondern über ein windowcallback abgefangen werden, über die serielle Schnittstelle geschickt werden und das über die ser. Schnittstelle empfangene Echo soll
im Editorfeld angezeigt werden.
Zum Anzeigen : AddGadgetItem() oder SetGadgetText()
Zum Abfragen der Tastatureingabe (aus dem Code-Archiv):
Wie man verhindert, dass die Message beim EditorGadget ankommt weiss ich auch nicht.
Aber, wenn Dir mein Vorschlag mit 2 EditorGadgets so zu tun als ob (also am Bildschirm kein Uterschied) nicht gefällt habe ich noch eine andere Idee :
Lösche die Eingabe doch gleich wieder mit RemoveGadgetItem() oder ClearGadgetItemList().
.
Zum Abfragen der Tastatureingabe (aus dem Code-Archiv):
Code: Alles auswählen
For r=0 To 255 : GetAsyncKeyState_(r) : Next ; Prepare all key buffers for capture.
Repeat
Sleep_(1)
If GetAsyncKeyState_(#VK_A)=-32767 ; Check if 'A' was pressed.
Debug "'A' was pressed"
EndIf
ForEver
Aber, wenn Dir mein Vorschlag mit 2 EditorGadgets so zu tun als ob (also am Bildschirm kein Uterschied) nicht gefällt habe ich noch eine andere Idee :
Lösche die Eingabe doch gleich wieder mit RemoveGadgetItem() oder ClearGadgetItemList().
.