Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi Edit mit allen Zeichen außer Tasten wie Tab/Enter usw. (https://www.delphipraxis.net/79331-edit-mit-allen-zeichen-ausser-tasten-wie-tab-enter-usw.html)

silentAMD 20. Okt 2006 13:10


Edit mit allen Zeichen außer Tasten wie Tab/Enter usw.
 
Hi,
ich habe hier der quellcode für eine listview:

Delphi-Quellcode:
procedure TWinMain.list_filesKeyPress(Sender: TObject; var Key: Char);
begin
  if not(Key in ['a'..'z', '0'..'9']) then
    Key := #0
  else
  begin
    ed_search.Clear;
    ed_search.SetFocus;
    ed_search.Text := ed_search.Text+Key;
    ed_search.SelStart := length(ed_search.Text);
  end;
end;
mit dem code wird bezweckt, dass bei kleinbuchstaben-/zahleneingabe ins listview in ein editfeld gesprungen wird und der inhalt der listview gefiltert wird (also nach der eingegebenen zeichenkette im editfeld mit ansipos die einträge der listview neu eingelesen werden). nun habe ich das problem, dass ö, ä, ß und so weiter nicht berücksichtigt werden.

gibt es eine lösung, die alle tasten in der listview, außer enter, tab, umschalt, strg und so weiter zulässt?

PLEASE HELP!!

EDIT: wäre dies hier eine gute lösung oder werden da einige zeichen nicht berücksichtigt?


Delphi-Quellcode:
  if(key > #13) then
  begin
    ed_search.Clear;
    ed_search.SetFocus;
    ed_search.Text := ed_search.Text+Key;
    ed_search.SelStart := length(ed_search.Text);
  end;

Der_Unwissende 20. Okt 2006 13:26

Re: Edit mit allen Zeichen außer Tasten wie Tab/Enter usw.
 
Zitat:

Zitat von silentAMD
EDIT: wäre dies hier eine gute lösung oder werden da einige zeichen nicht berücksichtigt?


Delphi-Quellcode:
  if(key > #13) then
  begin
    ed_search.Clear;
    ed_search.SetFocus;
    ed_search.Text := ed_search.Text+Key;
    ed_search.SelStart := length(ed_search.Text);
  end;

Hi,
da solltest du aufpassen, die Tasten die du genannt hast würden so zwar berücksichtigt werden, aber es gibt noch weitere (wahrscheinlich genauso unerwünschte) Zeichen. Darstellbar sind die Zeichen eigentlich erst ab Sedezimal 20 oder halt Dezimal 32, wobei die 32 dann ein Space wäre. Zwischen der 13 und der 32 lägen noch Zeichen wie Substiture, NACK, EOT, SYN usw.

Gruß Der Unwissende

silentAMD 20. Okt 2006 13:39

Re: Edit mit allen Zeichen außer Tasten wie Tab/Enter usw.
 
ohje... (gibt es eine liste, wo man nachschauen kann, wie die einzelnen codes sind?)

gibts für mein problem dann ne bessere lösung?

Der_Unwissende 20. Okt 2006 13:46

Re: Edit mit allen Zeichen außer Tasten wie Tab/Enter usw.
 
Zitat:

Zitat von silentAMD
ohje... (gibt es eine liste, wo man nachschauen kann, wie die einzelnen codes sind?)

gibts für mein problem dann ne bessere lösung?

Klar gibt es die, gilt jetzt für beide Fragen.

Liste findest du wenn du einfach nach Ascii Tabelle googlest.

Was die Lösung deines Problems angeht, du ersetz die 13 durch eine höhere Zahl >= 32.

silentAMD 20. Okt 2006 13:51

Re: Edit mit allen Zeichen außer Tasten wie Tab/Enter usw.
 
okay vielen dank!!


Alle Zeitangaben in WEZ +1. Es ist jetzt 18:23 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