bei den Tasten VK_ wurde zwei mal 46 vergeben kann das sein
-
- Beiträge: 1187
- Registriert: Mi 13. Dez 2006, 10:58
- OS, Lazarus, FPC: Winux (L 1.2.xy FPC 2.6.z)
- CPU-Target: AMD A4-6400 APU
- Wohnort: Hamburg
@Christian
Nee, @pluto wirft den ASCII-Tableindex eines Zeichens und den VK_-Wert einer Taste durcheinander. Deswegen hat ord('.') = VK_ENTF was natürlich nicht stimmt. @pluto müßte da schon den VK_-Wert der Taste nehmen die zur Rückgabe des Zeichens '.' führt. der ist nämlich sicherlich 46.
Nee, @pluto wirft den ASCII-Tableindex eines Zeichens und den VK_-Wert einer Taste durcheinander. Deswegen hat ord('.') = VK_ENTF was natürlich nicht stimmt. @pluto müßte da schon den VK_-Wert der Taste nehmen die zur Rückgabe des Zeichens '.' führt. der ist nämlich sicherlich 46.
Humor ist der Knopf, der verhindert, daß uns der Kragen platzt.
(Ringelnatz)
(Ringelnatz)
-
- Beiträge: 340
- Registriert: Di 12. Sep 2006, 08:57
- OS, Lazarus, FPC: Winux (L 0.9.xy FPC 2.2.z)
- CPU-Target: xxBit
- Kontaktdaten:
Schon ziemlich lustig.
Früher, als die Pascal-Compiler laufen lernten, da musste man unter DOS differenzieren,
obe man den Tastencode $46 oder $046 hatte. Das eine setzte ne gedrückte Alt-Taste voraus,
das andere nicht. Aber so viel diskussion um ne verwechselte Tabelle?
Traurig...

Früher, als die Pascal-Compiler laufen lernten, da musste man unter DOS differenzieren,
obe man den Tastencode $46 oder $046 hatte. Das eine setzte ne gedrückte Alt-Taste voraus,
das andere nicht. Aber so viel diskussion um ne verwechselte Tabelle?

Traurig...
Grüße, Antrepolit
care only if your os is really burning
care only if your os is really burning
Dass OnKeyUp und OnKeyPress nicht dieselben Codes zurückgeben sollte nun klar sein.pluto hat geschrieben:ja schon klar und ich rede ja auch von der ASCI Tabelle.
lassen wir es einfach ! ich verstehe das nicht und gut ist. Was sollst.
Für mich ist das ein Fehler wobei das bisher nur einmal vorgekommen ist beim . und VK_DELETE
Was aber tatsächlich etwas seltsam ist, ist dass das drücken der Delete Taste überhaupt ein OnKeyPress Event auslöst (GTK), während z.B. die Insert Taste keins auslöst.
Hat da jemand eine Erklärung?
Kann man einfach testen:
Code: Alles auswählen
procedure TForm1.FormKeyPress(Sender: TObject; var Key: char);
begin
writeln('Press: ',Ord(Key));
end;
procedure TForm1.FormKeyUp(Sender: TObject; var Key: Word; Shift: TShiftState);
begin
writeln('Up: ',Key);
end;
-
- Lazarusforum e. V.
- Beiträge: 7192
- Registriert: So 19. Nov 2006, 12:06
- OS, Lazarus, FPC: Linux Mint 19.3
- CPU-Target: AMD
- Wohnort: Oldenburg(Oldenburg)
was ich mich noch wunder ist das wenn ich bei onkeydown die Buchstaben haben möchte und mit ord(key) mir sie anzeigen lassen, bekomme ich nur Große Buchstaben. Hängt das damit zusammen ? ich dachte immer sobald eine Taste gedrückt wird, wird onKeyDown und dann wenn sie länger gedrückt wird onKeyPress und wenn ich sie wieder loslasse onkeyUp auslöst. Aber anscheinend hat das onKeyDown Ereignisse eine andere Bedeutung.
MFG
Michael Springwald
Michael Springwald
Davon reden wir doch die ganze Zeit. Dämmert's jetzt endlich?pluto hat geschrieben:was ich mich noch wunder ist das wenn ich bei onkeydown die Buchstaben haben möchte und mit ord(key) mir sie anzeigen lassen, bekomme ich nur Große Buchstaben.
Aber du sagst das falsch! Bei OnKeyDown/Up kriegst du nicht den Buchstaben sondern die TASTE!!! Bei OnKeyPress kriegst du den Buchstaben!
Wenn du z.B. auf die Taste "P" drückst, kriegst du im Parameter Key bei OnKeyDown/Up nur zurück, dass du die Taste "P" (VK_P) gedrückt hast. Ob das ein grosses oder kleines "P" oder sonstwas ist, hängt vom Shiftstate ab.
Dass die Taste "P" also VK_P den gleichen numerischen Wert hat wie ASCII "P" ist hier eher "Zufall".
Wenn du ein "ü" drückst, hat's gar nichts mehr mit ASCII/ANSI zu tun.
Endlich kapiert?
-
- Beiträge: 1187
- Registriert: Mi 13. Dez 2006, 10:58
- OS, Lazarus, FPC: Winux (L 1.2.xy FPC 2.6.z)
- CPU-Target: AMD A4-6400 APU
- Wohnort: Hamburg
-
- Beiträge: 1187
- Registriert: Mi 13. Dez 2006, 10:58
- OS, Lazarus, FPC: Winux (L 1.2.xy FPC 2.6.z)
- CPU-Target: AMD A4-6400 APU
- Wohnort: Hamburg
Aber welche? Kylix macht's wie gesagt nicht.pluto hat geschrieben: evlt. ist das aber auch Absicht oder ?
Aber du hast's jetzt schon begriffen oder immer noch nicht so richtig?pluto hat geschrieben: Aber wenn das so gedacht ist wie du es gesagt hast Theo frage ich mich warum bei onKeydown ein . Event erzeugt wird.
Ich rede von OnKeyPress. Bei OnKeyDown/Up muss es immer ein Event auslösen, wenn eine Taste gedrückt wird.