Forum: Sonstige Fragen zu Delphi
Delphi
by Sharky,
3. Jan 2006
In der Theorie müsstest Du das so prüfen können:
function DateEditTest( const aDateEdit : TDateEdit): Boolean;
begin
result := StringReplace(aDateEdit.Text,' ','',) <> '..';
end;
Aber ich finde das mit dem try-except besser da so auch falsch Eingaben abgefangen werden.
Forum: Sonstige Fragen zu Delphi
Delphi
by Sharky,
3. Jan 2006
Das wäre auch schlecht. Irgendwann liegen bei dir lauter Tips unter dem Tisch und Du kannst dich nicht nicht mehr daran setzen :stupid:
Alternativ könntest Du noch prüfen ob in der Eigenschaft .Text (wenn es die bei dem DateEdit gibt) etwas eingetragen wurde.
Forum: Sonstige Fragen zu Delphi
Delphi
by Sharky,
23. Dez 2005
Hai Ati,
du könntest mal prüfen was genau in einem lehren TDateEdit steht. Im notfall versuche in einem try-except Block eine Umwandlung in ein TDate versuchen. Wenn diese fehlschlägt gibt deine Testfunktion ein False zurück.
Forum: Sonstige Fragen zu Delphi
Delphi
by Sharky,
22. Dez 2005
Hai Ati,
so würde es bei mir wohl aussehen (ungetestet):
function TForm1.CheckInput: Boolean;
var datum:TDate;
zeit:TTime;
i: integer;
test:boolean;
tmpComponent : TComponent;
Forum: Sonstige Fragen zu Delphi
Delphi
by Sharky,
21. Dez 2005
Ich würde den Prüfcode dann in das BeforPost Ereigniss deines TDataSets schreiben und das speichern im fehlerfall mit DataSet.Cancel; abbrechen.
Forum: Sonstige Fragen zu Delphi
Delphi
by Sharky,
21. Dez 2005
Hast Du es auch an der richtigen Stelle? Es muss natürlich innerhalb des BEGIN-END Blockes der For-Do Schleife stehen. ;-)
begin
for i := 1 to 100 do
begin
if not (test) then
begin
break; // Hier ist es Okay;
end;
end; // Ende der Schleife
Forum: Sonstige Fragen zu Delphi
Delphi
by Sharky,
21. Dez 2005
Hai Ati,
ich vermisse in deinem Code diese Zeilen aus meinem:
if not (test) then
begin
break;
end;
Bei dir ist der Wert von Test ja nur von der letzten überprüften Componente abhängig. Wenn in dieser etwas steht ist test bei Dir True. Darum breche ich ja sobald die erste Componente ohne Inhalt gefunden wurde die FOR-DO-Schleife ab.
Forum: Sonstige Fragen zu Delphi
Delphi
by Sharky,
21. Dez 2005
Hai Ati,
ich würde es so machen:
function EditTest(const aEdit : TEdit): boolean;
begin
result := Length (aEdit.Text) > 0;
end;
function DateEditTest(aDateEdit : TJvDateEdit): Boolean;
Forum: Sonstige Fragen zu Delphi
Delphi
by Sharky,
21. Dez 2005
Hai Ati,
hier mal mein Quick and Dirty Code. Es werden alle TEdits beachtet deren Tag <> 1 ist.
procedure TForm1.Button1Click(Sender: TObject);
var
test: Boolean;
i : integer;
begin
test := True;