Delphi Tips & Tricks softsale > Delphi Tips & Tricks      

< poprzednia rada następna rada >

Formatowanie stringu ze sprawdzaniem poprawności

Poniżej pokazano jak formatować wprowadzony string z jednoczesnym sprawdzaniem poprawności. ( Uwaga: znak formatujący brany jest z ustawień regionalnych-liczba). W przykładzie tip20.zip realizowane jest to po naciśnięciu klawisza Enter na elemencie edycyjnym ,(należy pamiętać o ustawieniu własności KeyPreview formy na true). W przypadku kiedy wprowadzimy zbyt dużą liczbę przejmujemy obsługę błędu EConverError i powtórnie wywołujemy wyjątek. Sformatowany string wyświetlany jest na panelu.

 .......

{$R *.DFM}


function IsStrANumber(NumStr : string) : bool;
       begin
         result := true;
         form1.panel1.font.color:=clblack;
         try
           StrToInt(NumStr);
         except
          on c: EConvertError do
         begin
          c.Message := 'Zbyt duża liczba...';
          form1.panel1.font.color:=clred;
          form1.panel1.caption:=c.message;
          result := false;
          raise;
         end;
        end;

    end;

procedure TForm1.FormKeyPress(Sender: TObject; var Key: Char);
begin
if key=chr(13) then if isstranumber(edit1.text) then
 	panel1.Caption:=FormatFloat('#,',strtoint(edit1.text));
end;

SOFTSALE - Oprogramowanie i Szkolenia
softsale@softsale.com.pl

03-565 Warszawa , ul. Borzymowska 43 lok. 301C
tel/fax:4084840,GSM:0607612428