Autor Beitrag
cornen
Hält's aus hier
Beiträge: 8



BeitragVerfasst: Sa 28.08.10 00:20 
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
repeat

  Edit1.SetFocus;
  keybd_event(VK_SPACE, 000);
  keybd_event(VK_SPACE, 0, KEYEVENTF_KEYUP,0);


until Button2.Enabled


Es wieder holt es nich. Es drück einmal die Leertaste un macht danach nichts mehr :/
Könnta ma do helfe?


Moderiert von user profile iconNarses: Topic aus VCL (Visual Component Library) verschoben am So 29.08.2010 um 12:52
Hidden
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 2242
Erhaltene Danke: 55

Win10
VS Code, Delphi 2010 Prof.
BeitragVerfasst: Sa 28.08.10 00:35 
Moin!

Du musst meines Wissens zwischen Taste hoch und Taste runter ein wenig Zeit vergehen lassen(per wait).
Soll deine Schleife so lange durchlaufen werden, bis Button2 gedrückt ist? Das funktioniert so nicht, enabled bestimmt, ob er vom User gedrückt werden kann. ;)

Ein Button ist so gedacht, dass er beim Drücken ein einziges Mal eine Prozedur 'Button2Click' ausführt, nicht so dass du ständig abfragen kannst, ob er gedrückt wurde.

Da wirst du in der Schleife ein Application.ProcessMessages; unterbringen müssen, damit die Grafische Oberfläche überhaupt reagiert. Und dann kannst du eventuell beim Button-Click eine Variable auf true setzen, die den Schleifenablauf dann unterbricht(while MyVar do statt repeat until Button2 gedrückt).

lg,

_________________
Centaur spears can block many spells, but no one tries to block if they see that the spell is a certain shade of green. For this purpose it is useful to know some green stunning hexes. (HPMoR)