Learn how to a build a cloud-first strategyRegister Now

x
  • Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 965
  • Last Modified:

Delphi 5 - Date Field Validation and Trapping

I have a date input field that I want to validate that the contents REALLY are a date :-).

So the OnExit event reads:

procedure TForm1.Purchases_Postings_DateExit(Sender: TObject);
begin
     Try
        StrToDate(Form1.Purchases_Postings_Date.text);
     Except On EConvertError Do
        Begin
                ShowMessage('Please enter a valid date.');
                Exit;
        end;
     end;
end;

Where Form1.Purchases_Postings_Date.text is the input field.

However before this gets called I get the message:

Project TEST.EXE raised exception class EConvertError with message '99/99/9999' is not a valid date. Process stopped. Use stop or run to continue.

And 99/99/9999 is a suitibly suicidal bogus date.

With thanks.
0
edhasted
Asked:
edhasted
  • 2
1 Solution
 
ParsiCommented:
Hi edhasted

Seems that you are checking it in Delphi environment.
If you build the .Exe and try to tun it you will see that Delphi does not generateany error
and only displays your message. In fact while we (programmers) are programming the 'Error' is shown to let us handle
those errors but for users who execute the .exe file only the exception happens.

Good Luck
Parsi
0
 
edhastedAuthor Commented:
The topic seems to have petered out without answering the original question about how in the code you trap a valid date.

Bringing up an error message is one way but it's not trapopoing the problem at source.

I believe this is effect unanswered which is a pity as I am sure Delphi must have a means of doing this.

If I have missed the point I would be delighted to know.

With best wishes and thanks to everyone who has contributed.

Ed
0
 
ParsiCommented:
Hello again edhasted

well, I am not very sure about my english, may be i cannot explain it correctly, but when you prepare your executable file and leave the Delphi environment, the error message of delphi will not appear and  only your 'Error handler module' will be executed in which you will give your suitable message and your user may understand that he has to enter the date field in the way you are waiting for.

Good luck
Parsi
0

Featured Post

Industry Leaders: We Want Your Opinion!

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

  • 2
Tackle projects and never again get stuck behind a technical roadblock.
Join Now