
Delphi_jak ošetřit špatné zadání
Ahoj lidi, začínám s Delphi a nepřišel jsem na to, jak ošetřit:
- nezadání proměné (a1 - a3)
- zadání proměné (a1 - a3) ve špatném tvaru
Děkuji za radu
Martin
unit aaa;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;
type
TForm1 = class(TForm)
Edit1: TEdit;
Edit2: TEdit;
Edit3: TEdit;
Edit4: TEdit;
Button1: TButton;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
a1,a2,a3,a4: Integer;
implementation
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
begin
a1:=StrToInt(Edit1.Text);
a2:=StrToInt(Edit2.Text);
a3:=StrToInt(Edit3.Text);
a4:=a1+a2+a3;
Edit4.Text:=IntToStr(a4);
end;
end.
tak si predtim nez zacnes prirazovat tohle "a1:=StrToInt(Edit1.Text);", zkontroluj co v tom Editu mas. proste nejakou podminku (IF ... THEN ... ELSE), ze pokud v tech editech neni cislo, tak se to provadeni tech prikazu preskoci a nechas tam vyhodit nejakou hlasku.
Funkce IntToStrDef() umoznuje zkontrolovat zadani a v pripade spatneho vstupu vrati tebou preddefinovanou hodnotu. Napr. pokud se maji zadavat pouze kladna cisla, pak:
Uzivateli bys mel zavranit vlozit neco chybne, takze do OnKeyPress vsech editu dat (napises jednu udalost a ostatnim ji priradis):
A na konci pak osetris pred scitanim, napr. zda a1 nebo a2 nebo a3 neni zaporne:
Díky všem za radu.
Ještě mě vrtá hlavou, kde se k těmto informacím dostat (na netu jsem prohledal co se dalo, ale toto jsem nikde nenašel).
Zdraví Martin
Tohle jsou tak základní informace z programování, že je snad ani nenajdeš
Zakladni programovani a uvažování se musíš naučit sám. Na Zive.cz vychazel serial o programování v Delphi, projdi si jej, zkus porozumět použitému kódu.