Autor Beitrag
bockwurst
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 191

win98 /XP
D1 D5 Prof DE2005PE
BeitragVerfasst: Do 20.01.05 12:42 
Hallo zusammen,
weiß jemend wie ich den Tastaturpuffer leeren/löschen kann.

ich habe ein Prog geschrieben das berechnet etwas. Wenn man während der Berechnung nun irgendwelche Tasten drückt, merkt sich die Windowswarteschleife dies. Nun erscheint mein neues Fenster und wird evtl. gleich wieder geschlossen.

Danke, schon mal im voraus!
Andreas


Zuletzt bearbeitet von bockwurst am Do 20.01.05 12:50, insgesamt 1-mal bearbeitet
Timosch
ontopic starontopic starontopic starontopic starontopic starofftopic starofftopic starofftopic star
Beiträge: 1314

Debian Squeeze, Win 7 Prof.
D7 Pers
BeitragVerfasst: Do 20.01.05 12:50 
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
asm
mov ah, 0Ch
mov al, 00h
int 21h
end;


Das geht aber bestimmt auch einfacher...

_________________
If liberty means anything at all, it means the right to tell people what they do not want to hear. - George Orwell
bockwurst Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 191

win98 /XP
D1 D5 Prof DE2005PE
BeitragVerfasst: Do 20.01.05 13:20 
Da stürtzt mein prog nur ab. Mit Int muß man bei Windows aufpassen.

Gehen tut da wohl: 1Eh mit INT 16 = Bios Tastaturpuffer löschen. Aber bin mir da auch nicht so sicher. Es muß doch von delphi eien Funktion geben, so eine art "Flushbuffer"

In der Hoffnung auf weitere Hilfe.
toms
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 1099
Erhaltene Danke: 2



BeitragVerfasst: Do 20.01.05 15:09 
...den Tastatur-/Mausbuffer leeren?
www.swissdelphicente...showcode.php?id=1066
bockwurst Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 191

win98 /XP
D1 D5 Prof DE2005PE
BeitragVerfasst: Do 20.01.05 15:44 
Hallo toms,
die Lösung da sieht nicht schlecht aus.
Nur leider kenne ich folgende Konstanten nicht.

WM_KEYFIRST, WM_KEYLAST,
WM_MOUSEFIRST, WM_MOUSELAST,

wo stehen die, oder durch was muß ich sie ersetzten?
Ich benutzte delphi5 Prof

Danke schon mal
Andreas
toms
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 1099
Erhaltene Danke: 2



BeitragVerfasst: Do 20.01.05 15:55 
ausblenden Delphi-Quelltext
1:
2:
Uses 
  Messages;
Luckie
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Do 20.01.05 19:38 
Ich programmiere jetzt schon seit ca. 6 Jahren und ich hatte noch nie das Bedürfniss den Tastaturpuffer leeren zu müssen. Wie wäre es, wenn du einfach wärend der Berechnung, die Controlls sperrst, in die man nichts eigeben darf, auf die man nicht klicken darf?
bockwurst Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 191

win98 /XP
D1 D5 Prof DE2005PE
BeitragVerfasst: Fr 21.01.05 09:23 
Hallo Toms,
Hallo Luckie

vielen dank für eure Antworten. Mit dem Puffer leeren scheint wohl zu funktionieren. Die "Tastatur und Maussperren" wollte/konnte ich vielleivht auch nicht sperren, weil die Anwendung mit vielen verschiedenen Prozessen ablief. Wollte man "umschalten" auch zu anderen Programme, war mir dies, die einfache Lösung. Bei einer Berechnung von ca.30min ist das eben nicht so einfach, den ganzen computer totzulegen. Ich selbst programmiere schon mehr als 20Jahre (ob wohl ich erst/schon 32 bin). Ich habe aus DOS-Zeiten meinen Puffer immer leeren müssen. Bei Windows ist das halt alles nicht so einfach.

Aber schauen wir mal!
Vielen Dank jedenfalls.

Andreas Orban
Luckie
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Fr 21.01.05 14:29 
Von Maus sperren habe ich nie was geschrieben. Du sollst doch nur zum Beispeil die Schaltfläche deaktivieren, die die Berechnung startet und wärend eine lauft alles durcheinander bringen würde, wenn man noch mals draufklick, während schon eine läuft.