اگه یه تاپیک راجبش میزدی بد نبود ولی به حر حالنقل قول:
با سلام
يه سوال ديگه هم دارم . من روي فرم يك شئ maskedit دارم كه بصورت__/__/_138 تنظيمش كردم اما مشكل اينه كه وقتي مي خام ازش خارج بشم اگه هيچ اطلاعاتي وارد نكرده باشم خطا ميده و من نمي خوام اينطور باشه و تو اين حال خطا نده . اگه ميشه راهنمايي كنيد.
با تشكر
من یه تابع نوشتم که این خطا را کنترل میکنه برو حالشو ببر :
نحوه استفادهکد:function TMainForm.CheckDate(Strdate: string): Boolean;
var bool:Boolean ;
day,month:byte;
begin
bool:=true;
if (Strdate <> ' / / ') then
begin
if (pos(' ',Strdate )>0) then
begin
ShowMessage('is empty');
bool :=false;
end
else
begin
month :=strtoint(copy(Strdate ,4,2));
day :=strtoint(copy(Strdate ,7,2));
if (month <1 ) or (month >12) then
begin
ShowMessage('month');
bool :=false;
end
else
if (month =12) and ( day >29) then
begin
ShowMessage('esfand');
bool :=false;
end
else
if (month >= 1) and (month <= 6) then begin
if (day > 31) or (day < 1) then
begin
ShowMessage('day between 1-31');
bool :=false;
end;
end
else
if (month >= 7) and (month <= 11) then begin
if (day > 30) or (day < 1) then
begin
ShowMessage('day between 1-30');
bool :=false;
end;
end;
end;
end;
Result :=bool ;
end;
کد:
procedure TFrm_RafeMam.Msk_DateExit(Sender: TObject);
var chk:Boolean ;
begin
chk :=CheckDate(Msk_Date.Text );
if (chk=false) then
Msk_Date.SetFocus
else
SelectNext(ActiveControl ,true,true);
end;