Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Edit soll nur Zahlen enthalten dürfen (https://www.delphipraxis.net/6225-edit-soll-nur-zahlen-enthalten-duerfen.html)

Pseudemys Nelsoni 4. Jul 2003 07:31


Edit soll nur Zahlen enthalten dürfen
 
Moin!

hab das:

Delphi-Quellcode:
  if not (Key in ['0'..'9', #8]) then
  Key := #0;
im onkeypress....

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?

r_kerber 4. Jul 2003 07:38

Warum verwendest Du nicht TMaskEdit?

Pseudemys Nelsoni 4. Jul 2003 08:02

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

r_kerber 4. Jul 2003 08:07

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;

Pseudemys Nelsoni 4. Jul 2003 08:19

danke, mal testen :)

flomei 4. Jul 2003 09:42

Oder du nimmst RealEdit

MfG Florian :hi:

exp 4. Jul 2003 10:47

Baue deine Funktion doch im OnChange Event vom Edit ein

Armageddon 24. Sep 2003 18:05

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:
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;
Gruß Arma.

CrashMan 24. Sep 2003 20:09

Re: Edit soll nur Zahlen enthalten dürfen
 
wie wärs ganz easy mi einem SpinEdit?

Ist doch das einfachste ?!?

CrashMan

mickmack 24. Sep 2003 20:19

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.
Seite 1 von 2  1 2      

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