Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   Code Optimierung und Frage zur Tastaturabfrage einer Memobox (https://www.delphipraxis.net/159844-code-optimierung-und-frage-zur-tastaturabfrage-einer-memobox.html)

Jerry 15. Apr 2011 08:13

Code Optimierung und Frage zur Tastaturabfrage einer Memobox
 
Hallo zusammen

Ich habe eine Memobox und möchte diese auf eine gewisse Zeilenanzahl beschränken.
Also ab der 4. Zeile darf "Enter" nicht mehr funktionieren.
Ich muss aber innerhalb meiner Memo-Box mit CTRL-Enter drücken, damit eine zusätzliche Zeile generiert wird.
Im Anhang mein Code:

Delphi-Quellcode:
procedure Tfrm_Test.mem_TestChange(Sender: TObject);
begin
  inherited;
  if mem_Test.Lines.Count > 4 then
    mem_Test.Lines.Delete(mem_Test.Lines.Count - 1);
end;

procedure Tfrm_Test.mem_TestKeyPress(
  Sender: TObject; var Key: Char);
begin
  inherited;
  if (mem_Test.Lines.Count = 4) and (Key = #$A) then // hier Frage Wieso muss mit #$A statt #13 abgefragt werden? Ich weiss nicht was #$A ist? Habe ich mit Debug herausgefunden.
  begin
    Key := ' '; // hier statt ' ' würde ich gerne auf Blank stellen geht aber nicht...
  end;

end;
Frage 1: Was ist #$A ? (habe ich mit Debuggen herausgefunden...
Frage 2: Statt Key auf ' ' zu setzen würde ich Key einfach gerne auf Blank setzen. '' geht aber nicht..

Kann das ganze etwas eleganter programmiert werden?

Vielen Dank!

Sir Rufo 15. Apr 2011 08:17

AW: Code Optimierung und Frage zur Tastaturabfrage einer Memobox
 
1. $A => 13 (Decimal 13 ist Hex 0A oder eben A)
2.
Delphi-Quellcode:
Key := #0;

Jerry 15. Apr 2011 08:22

AW: Code Optimierung und Frage zur Tastaturabfrage einer Memobox
 
Hi Sir Rufo

Vielen Dank, sehr einfach, wenn man's weiss. :-) !

DeddyH 15. Apr 2011 08:35

AW: Code Optimierung und Frage zur Tastaturabfrage einer Memobox
 
$0A = 13 :?:

Ich dachte immer, $0A = 10, $0D = 13 :roll:

himitsu 15. Apr 2011 09:10

AW: Code Optimierung und Frage zur Tastaturabfrage einer Memobox
 
oder auch ganz einfach #13

Sir Rufo 15. Apr 2011 09:39

AW: Code Optimierung und Frage zur Tastaturabfrage einer Memobox
 
Zitat:

Zitat von DeddyH (Beitrag 1095308)
$0A = 13 :?:

Ich dachte immer, $0A = 10, $0D = 13 :roll:

Freitags unterschlage ich halt gerne 3 :mrgreen:

Blup 15. Apr 2011 15:11

AW: Code Optimierung und Frage zur Tastaturabfrage einer Memobox
 
Die Taste Enter besser im OnKeyDown abfangen.
Dort kann man Key auf VK_RETURN (13 oder $0D) prüfen und wenn erforderlich auf 0 setzen.


Alle Zeitangaben in WEZ +1. Es ist jetzt 04:54 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz