Forum: GUI-Design mit VCL / FireMonkey / Common Controls
Delphi
by mjenke,
5. Jun 2003
@Sharky
Man muss dabei nur bedenken, dass die 1 im Nummernblock nicht den Wert 49 besitzt, sondern 97. Also:
Keypressed
:)
Matthias
Delphi-Tags eingefügt. MfG Daniel B.
Forum: GUI-Design mit VCL / FireMonkey / Common Controls
Delphi
by mjenke,
5. Jun 2003
Dann versuch doch mal folgendes:
procedure TForm1.FormKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
var i: integer;
begin
// Prüfen, ob die Taste schonmal gedrückt wurde
for i := 1 to 9 do begin
if Keypressed = Key then exit; // steigt aus, wenn die Taste schonmal gedrückt wurde...
Forum: GUI-Design mit VCL / FireMonkey / Common Controls
Delphi
by mjenke,
5. Jun 2003
Das ist schon klar. Problem ist folgendes. Wenn Du das zweite mal die 5 drückst, wird der Anweisungsblock aber immer noch 8 mal durchlaufen (1-4 und 6-9)...
Aber wenn Du die gedrückten Tasten in einem Array halten willst, kannst Du auch folgendermassen vorgehen:
procedure Tform1.keyw(key: word);
var
counter: integer;
begin
for counter := 1 to 9 do begin
if Keypressed := 0 then...
Forum: GUI-Design mit VCL / FireMonkey / Common Controls
Delphi
by mjenke,
5. Jun 2003
Abgesehen davon wird der Anweisungsblock für jeden Tastenwert ausgeführt, der nicht auf false sitzt. Wo liegt das Problem? Oder willst Du den Anweisungsblock NUR für die gedrückte Taste ausführen?