View Full Version : سوال: درموردMaskEdit
ELABAA
سه شنبه 20 مرداد 1388, 11:39 صبح
سلام دوستان
من یک مسک ادیت دارم که تاریخ رو از طریق اون به اس کیو ال وارد میکنم که به شکل زیره
روز/ماه/سال
من می خواهم بتونم که به صورت جدا وقتی که کاربرم روز یا ماه یا سال رو که وارد میکنه اونا رو کنترل کنم که خارج از بازه موردنظرم نباشه ولی چطوری نمی دونم:متفکر:
باتشکرات فراوان
Hsimple11
سه شنبه 20 مرداد 1388, 11:42 صبح
چند راه دارید. اگه میخواین از همین MaskEdit استفاده کنید باید مقدار نهایی اون رو چک کنید. با دستور Copy مقدار سال، ماه و روز رو جدا کنید و اونا رو چک کنید. یا میتونید بجای MaskEdit از 3 تا Edit یا SpinEdit استفاده کنید. بخصوص SpinEdit خودش دو خاصیت MinValue و MaxValue داره که میتونید اونا رو مثلا برای ماه 1 و 12 بدید.
khorsandreza
سه شنبه 20 مرداد 1388, 14:36 عصر
از این مثال استفاده کن
Function mask_tarikh(str:string):boolean;
var
b:boolean;
x:integer;
s:string;
begin
b:=true;
if b and (str=' / / ') then
begin
b:=false;
ShowMessage('تاريخ مشخص نشده است');
end;
x:=pos(' ',str );
if b then
if x>0 then
begin
b:=false;
showmessage('تاريخ صحيح نمي باشد');
end;
if b then
begin
s:=str;
s:=copy(s,6,2);
x:=strtoint(s);
if (x >12) or (x<1) then
begin
ShowMessage('ماه تاريخ صحيح نمي باشد');
b:=false;
end;
if x>6 then
begin
s:=str;
s:=copy(s,9,2);
x:=strtoint(s);
if (x>30) or (x<1) then
begin
ShowMessage('روز تاريخ صحيح نمي باشد');
b:=false;
end;
end;
if b then
begin
s:=str;
s:=copy(s,9,2);
x:=strtoint(s);
if (x >31) or (x<1) then
begin
b:=false;
ShowMessage('روز تاريخ صحيح نمي باشد');
end;
end;
end;
mask_tarikh:=b;
end;
//------------------------------------------------------------------
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.