![]() |
Edit genaue eingabe von Zahlen
hallo,
ich habe vor kurzem angefangen zu Programmieren und wollte wissen wie ich es machen kann das keine Buchstaben eingegeben werden dürfen und genau 6 zahlen eingegeben werden müssen!! Sonst soll eine Fehlermeldung erscheinen! ich benutze Delphi Version 5. wo genau soll es in das programm hingeschrieben werden???
Delphi-Quellcode:
[edit=mkinzler]Tag korrigiert Mfg, mkinzler[/edit]
unit Unit1;
interface uses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, Buttons; type TForm1 = class(TForm) BitBtn1: TBitBtn; Edit1: TEdit; Edit2: TEdit; Edit3: TEdit; Button1: TButton; Button2: TButton; Label1: TLabel; Label2: TLabel; procedure Button1Click(Sender: TObject); procedure Button2Click(Sender: TObject); procedure FormCreate(Sender: TObject); private { Private-Deklarationen } public { Public-Deklarationen } end; var Form1: TForm1; implementation {$R *.DFM} procedure TForm1.FormCreate(Sender: TObject); begin edit2.text:=FormatDateTime('ddmmyy', Now); edit2.Visible:=false; end; procedure TForm1.Button1Click(Sender: TObject); var a, b, ausgabe: integer ; begin a:=strtoint(edit1.text); b:=strtoint(edit2.text); ausgabe:= (a xor b xor 840917 mod 1000000); edit3.text:=inttostr(ausgabe); end; procedure TForm1.Button2Click(Sender: TObject); begin edit1.clear; edit2.clear; edit3.clear; edit2.text:=FormatDateTime('ddmmyy', Now); end; end. |
Re: Edit genaue eingabe von Zahlen
Also du könntest dir eine eigene Komponente von TEdit ableiten und in der die Eingabe nur von bestimmten Zeichen zugelassen sind. Das halte ich für den einfachsten Weg.
|
Re: Edit genaue eingabe von Zahlen
und wie mach ich das dann genau und wo schreib ich das hin???
und wie mach ich das genau 6 zahlen in das edit-feld eingegeben werden müssen! |
Re: Edit genaue eingabe von Zahlen
In das OnKeyPress Event:
Delphi-Quellcode:
OnExit
procedure TFormMain.Edit1KeyPress(Sender: TObject; var Key: Char);
const NURZAHLEN = ['0'..'9', #8]; begin if not (Key in NURZAHLEN) then Key := #0; end;
Delphi-Quellcode:
procedure TFormMain.Edit1Exit(Sender: TObject);
begin if Length(Edit1.Text) <> 6 then begin Edit1.SetFocus; Application.MessageBox(PAnsiChar('6 Zahlen'), 'Fehler', MB_OK + MB_ICONINFORMATION); end; end; |
Re: Edit genaue eingabe von Zahlen
oder ist euch schonmal die Eigenschaft .MaxLength bei den Edits aufgefallen? :angel2:
im OI den Wert von MaxLength auf 6 setzen :zwinker: |
Re: Edit genaue eingabe von Zahlen
Zitat:
![]() MfG BAMatze |
Re: Edit genaue eingabe von Zahlen
maxlength hab ich schon auf 6 gehabt aber wenn man weniger als 6 zahlen eingeben hat geht es ja trotzdem :zwinker:
|
Re: Edit genaue eingabe von Zahlen
@himitsu, dachte ich auch zuerst dran, aber laut Frage: "und genau 6 zahlen eingegeben werden müssen!!"
@BAMatze, das funktioniert |
Re: Edit genaue eingabe von Zahlen
@ BAMatze
:-D :-D Danke für deine hilfe :-D :-D |
Re: Edit genaue eingabe von Zahlen
ups, verlesen ... aber dann könnte man zumindestens noch die EditMask mit ausnutzen :)
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 11:50 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-2025 by Thomas Breitkreuz