![]() |
Edit soll nur Zahlen enthalten dürfen
Moin!
hab das:
Delphi-Quellcode:
im onkeypress....
if not (Key in ['0'..'9', #8]) then
Key := #0; ok das funktioniert, aber bei rechtsklick -> einfügen nicht könnt ich irgendwie die zwischenablage prüfen und wenn was anderes als zahlen drin sind, das popup verhindern? |
Warum verwendest Du nicht TMaskEdit?
|
weil ich in meinem ganzen pro schon "edit1.text" benutzt hab und jedes form danach checken müsste...und es geht mir auch ums prinzip wie ich das mit dem checken der zwischenablage machen kann und ne error message ausgeben =)
|
das folgende Beispiel habe ich in der OH gefunden. Vielleicht kannst Du da eine Anregung entnehemn:
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
begin if Clipboard.HasFormat(CF_TEXT) then Edit1.Text := Clipboard.AsText else MessageDlg('Die Zwischenablage enthält keinen Text!', mtInformation, [mbOK],0); end; |
danke, mal testen :)
|
|
Baue deine Funktion doch im OnChange Event vom Edit ein
|
Re: Edit soll nur Zahlen enthalten dürfen
Hi,
ist zwar schon ein paar Tage alt der Thread hier aber ich hab da mal sowas in der Art gemacht. Wollte das man in meinem Programm nur Zahlen einfügen kann. Ohne Vorzeichen und nur mit Komma als Nachkommastellentrenner.
Delphi-Quellcode:
Gruß Arma.
procedure TForm1.Einfuegen1Click(Sender: TObject);
var Eingabe: String; i, i2: Integer; begin begin if not Clipboard.HasFormat(CF_Text) then begin Application.MessageBox('Zwischenablage enthält Bilder oder sonstige ' + 'Daten aber keinen Text!', 'Meldung',48); Exit; end; if Clipboard.HasFormat(CF_Text) then begin Eingabe := Clipboard.AsText; i := Length(Eingabe); for i2 := 1 to i do begin if not (Eingabe[i2] in [#44, #48..#57]) then begin Application.MessageBox('Kein gültiges Zahlenformt in der ' + 'Zwischenablage vorhanden!', 'Meldung',48); Exit; end; end; if Pos(',', Eingabe) > 0 then begin for i2 := Pos(',', Eingabe) +1 to i do begin if Eingabe[i2] = ',' then begin Application.MessageBox('Kein gültiges Zahlenformt in der ' + 'Zwischenablage vorhanden!', 'Meldung',48); Exit; end; end; end; end; end; (PopupMenu1.PopupComponent as TEdit).Text := Eingabe; end; |
Re: Edit soll nur Zahlen enthalten dürfen
wie wärs ganz easy mi einem SpinEdit?
Ist doch das einfachste ?!? CrashMan |
Re: Edit soll nur Zahlen enthalten dürfen
Oder probiers mit dem JEDI-Projekt und nimm dann dann die Komponente JvIntegerEdit. Dann bekommst du die Zahl auch gleich als Integer zurückgeliefert, genau wie beim SpinEdit, bloss ohne Pfeile auf der rechten Seite.
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 12:52 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz