ďťż

Ładny brzuch

Witam! Czy jest jakiś sposób by wyczyścić bufor klawiatury? Chodzi o kod w języku Delphi.
Użytkownik Janusz T. edytował ten post 21 sierpień 2006, 18:45



Witam! Czy jest jakiś sposób by wyczyścić bufor klawiatury? Chodzi o kod w języku Delphi.
Hmm, co to jest bufor klawiatury? Mi sie zdawalo ze system (winda) przechwytuje przerywania klawiatury i od razu przekazuje w komunikatach info do okna o wcisnieciu przycisku, ale bycmoze ze sie myle...

No nie wiem... nie bardzo się jeszcze orientuję w tym wszystkim. :unsure: Problem mam taki, że mam program który ma na formie jeden przycisk (służący do pobierania z internetu wyników Lotto). Jak już pobierze wyniki, to wyświetla komunikat (za pomocą MessageBox, z przyciskiem "OK"), że pobieranie zostało ukończone. No i problem tkwi w tym, że jak nacisnę ten przycisk "OK" w okienku komunikatu (za pomocą klawisza "Enter"), to okienko komunikatu znika, ale jakimś cudem "wciska się" też ponownie przycisk na panelu programu (ten na formie 1) i znów się rozpoczyna pobieranie, i znów kończy się komunikatem i jak nacisnę "Enter", by zamknąć okienko komunikatu, to wszystko znów się powtarza i zapętla totalnie :excl: Jak naciskam przyciski za pomocą myszy, to wszystko jest OK, błąd występuje jedynie wtedy, gdy wykonuję to za pomocą klawisza "Enter". Jak mogę to poprawić? Czy w ogóle można coś z tym zrobić? Pasowałoby wstawić jakiś kodzik po MessageBox, który by usuwał informację, że był naciśnięty klawisz "Enter", bo ona jest przekazywana do formy 1 i stąd ten błąd.
Użytkownik Janusz T. edytował ten post 22 sierpień 2006, 11:00

No nie wiem... nie bardzo się jeszcze orientuję w tym wszystkim. :unsure: Problem mam taki, że mam program który ma na formie jeden przycisk (służący do pobierania z internetu wyników Lotto). Jak już pobierze wyniki, to wyświetla komunikat (za pomocą MessageBox, z przyciskiem "OK"), że pobieranie zostało ukończone. No i problem tkwi w tym, że jak nacisnę ten przycisk "OK" w okienku komunikatu (za pomocą klawisza "Enter"), to okienko komunikatu znika, ale jakimś cudem "wciska się" też ponownie przycisk na panelu programu (ten na formie 1) i znów się rozpoczyna pobieranie, i znów kończy się komunikatem i jak nacisnę "Enter", by zamknąć okienko komunikatu, to wszystko znów się powtarza i zapętla totalnie :excl: Jak naciskam przyciski za pomocą myszy, to wszystko jest OK, błąd występuje jedynie wtedy, gdy wykonuję to za pomocą klawisza "Enter". Jak mogę to poprawić? Czy w ogóle można coś z tym zrobić? Pasowałoby wstawić jakiś kodzik po MessageBox, który by usuwał informację, że był naciśnięty klawisz "Enter", bo ona jest przekazywana do formy 1 i stąd ten błąd.
hmm zrób to pobieranie w okienku modalnym. pod ok MessageBox daj Close;



dziwna sprawa ...
daj w onclick
(sender as TButton).Enabled := false; // ... pobieranie wynikow ... // ... messagebox ... (sender as TButton).Enabled:= true;


dziwna sprawa ...
daj w onclick
(sender as TButton).Enabled := false; // ... pobieranie wynikow ... // ... messagebox ... (sender as TButton).Enabled:= true;


To nawet działa, ale tylko jeden raz. Przy powtarzaniu pobierania już nie.

A czy nie można jakoś przechwycić komunikatu wysyłanego o naciśnięciu "Entera"? Albo wysłać komunikat, że żaden klawisz nie został naciśnięty...


To nawet działa, ale tylko jeden raz. Przy powtarzaniu pobierania już nie.

A czy nie można jakoś przechwycić komunikatu wysyłanego o naciśnięciu "Entera"? Albo wysłać komunikat, że żaden klawisz nie został naciśnięty...


mozna, ale IMO latwiej zablokowac przycisk ...
BTW jakto nie dziala? jesli na samym poczatku go blokujesz, a na samym koncu procki odblokowujesz ... :|
chyba ze gdzies wczesniej masz jakies exit (sprawdz debugerem czy dochodzi do tego miejsca)

na upartego mozesz sie bawic w obsluge komunikatow, ale imo to bedzie przekombinowanie ;p
http://www.google.pl...tHandler+delphi
Użytkownik migajek edytował ten post 22 sierpień 2006, 11:24
Udało się za pomocą SendMessage(Forma.Handle,WM_KEYDOWN,VK_RETURN,0); :)


Udało się za pomocą SendMessage(Forma.Handle,WM_KEYDOWN,VK_RETURN,0); :)
to raczej wysyla komunikat udajacy nacisniecie przycisku, a nie twierdzacy ze nie nacisnieto ... ale co tam ;P

  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • zsf.htw.pl
  •