bei den Tasten VK_ wurde zwei mal 46 vergeben kann das sein

Für Fehler in Lazarus, um diese von anderen verifizieren zu lassen.
pluto
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)

bei den Tasten VK_ wurde zwei mal 46 vergeben kann das sein

Beitrag von pluto »

Hallo,
heute habe ich gemerkt das es für ein . 46 ist und für die ENTF Taste die mit VK_DELETET angeben kann....

wenn ich
writeln(ord(key));
ausgebe lasse und dann entf drücke bekomme ich 127 als Ergebnisse

ich prüfe das im onkeyPress Ereignisse
MFG
Michael Springwald

Benutzeravatar
theo
Beiträge: 10867
Registriert: Mo 11. Sep 2006, 19:01

Beitrag von theo »

Kannst du diesen Beitrag mal von plutonisch auf deutsch übersetzen? (Von mir aus auch englisch oder französisch oder italienisch....;-)

monta
Lazarusforum e. V.
Beiträge: 2809
Registriert: Sa 9. Sep 2006, 18:05
OS, Lazarus, FPC: Linux (L trunk FPC trunk)
CPU-Target: 64Bit
Wohnort: Dresden
Kontaktdaten:

Beitrag von monta »

Ich versteh auch kein Wort. (Italienisch ist etwas schlecht, also würde ich Englisch, Französisch oder eventuell auch ausnahmsweise Deutsch vorschlagen ;))

pluto
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)

Beitrag von pluto »

nagut: also wenn ich die taste Entf drücke bekomme ich den selben code zurück geliefert wie bei dem Punk(.) in der LCLtype wo diese Tasten Denifert ist ein kleiner Fehler drin. mehr nicht.

Edit: ich sehe gerade das ich das selbe schon oben geschrieben habt.

also mach mal ein Test:
gibt per Writeln den wert von key bei onkeyDown z.b. aus drücke ein Punk und dann drücke die ENTF Taste(ist auf deiner Tastertur neben der Enter Taste)
merk dir die wert und mache jetzt mal eine if abfrage:

if ord(key) = vk_delete then ShowMessage('OK');

und jetzt drück mal das einfache Punkt Zeichen.
Zuletzt geändert von pluto am Sa 21. Apr 2007, 11:49, insgesamt 1-mal geändert.
MFG
Michael Springwald

gummibaerchen
Beiträge: 19
Registriert: Mi 4. Apr 2007, 14:32

Beitrag von gummibaerchen »

Dann solltest du wohl mal einen Bug filen:
http://www.freepascal.org/mantis" onclick="window.open(this.href);return false;

pluto
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)

Beitrag von pluto »

lustig. ich glaube bei meinem englisch würde die mich nicht verstehen.
So gut kann ich noch nicht englisch. ich weiß auch noch nicht ob noch mehr constanten "falsch" sind.

edit: ich habe das erstmal umgangen mit direkten ASCI Code's ohne konstanten zu nehmen
MFG
Michael Springwald

Benutzeravatar
theo
Beiträge: 10867
Registriert: Mo 11. Sep 2006, 19:01

Beitrag von theo »

Nää, in OnKeyPress kriegst du den Buchstaben zurück, Punkt ist nun mal ANSI 46. Wenn du die Tastaturcodes haben willst, musst die OnKeyUp / Down nehmen. Dort ist der Key auch nicht als Char sondern als Word definiert.
Zuletzt geändert von theo am Sa 21. Apr 2007, 12:18, insgesamt 1-mal geändert.

pluto
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)

Beitrag von pluto »

aber 46 ist auch VK_DELETE irgendwas passt da nicht.
musst halt ein ORD(KEY) machen es kann doch nicht sein das ENTF den gleichen code hat für PUNK da passt doch irgendwas nicht.

Edit:
sonst darf man diese VK_ codes gar nicht nutzen. Wenn da noch mehr Fehler drin sind.
MFG
Michael Springwald

Benutzeravatar
theo
Beiträge: 10867
Registriert: Mo 11. Sep 2006, 19:01

Beitrag von theo »

pluto hat geschrieben:aber 46 ist auch VK_DELETE irgendwas passt da nicht.
musst halt ein ORD(KEY) machen es kann doch nicht sein das ENTF den gleichen code hat für PUNK da passt doch irgendwas nicht.

Edit:
sonst darf man diese VK_ codes gar nicht nutzen. Wenn da noch mehr Fehler drin sind.
Das ist kein Fehler du Nase! Das ist eine andere Tabelle!
ANSI Tabelle Tastaturcode Tabelle.

schnullerbacke
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

Beitrag von schnullerbacke »

Hätte man eigentlich nur mal den Typ beäugen müssen, dann wäre einem das klar geworden... :P

char word
Humor ist der Knopf, der verhindert, daß uns der Kragen platzt.

(Ringelnatz)

pluto
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)

Beitrag von pluto »

schon klar das ein cahr kein word ist. aber ein punkt ist nun mal auch kein ENTF taste. Aber lassen wir das. das führt zu nichts
MFG
Michael Springwald

schnullerbacke
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

Beitrag von schnullerbacke »

Hat aber in der ASCII-Table die Position 46, weshalb bei ord('.') = 46 rauskommt. Die VK_ No. dafür dürfte aber ne andere sein. Guckst du mal, dann du schlauer ganze Menge... :lol:
Humor ist der Knopf, der verhindert, daß uns der Kragen platzt.

(Ringelnatz)

Benutzeravatar
theo
Beiträge: 10867
Registriert: Mo 11. Sep 2006, 19:01

Beitrag von theo »

pluto hat geschrieben: Aber lassen wir das. das führt zu nichts
Solange du dich weigerst zu verstehen was Schnulli und ich sagen hast du recht.
Begreiftst du denn wirklich nicht den Unterschied zwischen Tastaturcode und Zeichensatztabelle?
Vergleiche doch einfach mal, was bei OnKeyPress vs. OnKeyUp rauskommt.

pluto
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)

Beitrag von pluto »

ich weiß nur das ich in meinem Programm nicht VK_DELETE verwenden darf wegen der 45 mehr nicht.

Das sind wohl die unterschiede zwischen der normalen Asscie Code und den Virtualen Tasten Code.

wobei ich immer dachte das sie zusammen gehöeren das ist wohl falsch !!!
MFG
Michael Springwald

schnullerbacke
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

Beitrag von schnullerbacke »

@pluto

Du hast ein 104-Tasten Keyboard, die ASCII-Tabelle hat aber 256 Zeichen. Alleine der Unterschied sollte einen stutzig machen.
Humor ist der Knopf, der verhindert, daß uns der Kragen platzt.

(Ringelnatz)

Antworten