View Full Version : Edit Mask که تاریخ شمسی بگیره
ByRoad
دوشنبه 01 خرداد 1385, 13:27 عصر
سلام
من توی یه برنامه احتیاج به Edit Mask دارم که تاریخ شمسی رو با فرمت __/__/____ بگیره
اگه کسی معرفی کنه ممنون می شم.
Mohammad_Mnt
دوشنبه 01 خرداد 1385, 13:51 عصر
www.farsicomponents.com
ByRoad
دوشنبه 01 خرداد 1385, 14:07 عصر
مرسی از این که جواب دادید ولی کامپوننت مجانی سراغ داریییییییییییییییییییییی ییییییییییییییییی؟
ByRoad
دوشنبه 01 خرداد 1385, 14:13 عصر
مرسی از این که جواب دادید ولی کامپوننت مجانی سراغ داریییییییییییییییییییییی ییییییییییییییییی؟
آیدا رضایی
دوشنبه 01 خرداد 1385, 14:26 عصر
در پروپرتی های Editmask خود دلفی روی گزینه maskedit کلیک کنید و در قسمت Input mask عبارت
1389/99/99;1;_ رو تایپ کنید .
ByRoad
دوشنبه 01 خرداد 1385, 14:36 عصر
سلام
مرسی از این که جواب دادید
ولی اگه خصوصیت Text را right to left باشه تاریخ را از سال بعد ماه بعد روز می گیره
من می خوام تاریخ رو از روز ما سال وارد کنم
Helpppppppppppppppppppppppppppp
oghab
دوشنبه 01 خرداد 1385, 14:56 عصر
شاید این کد به دردت بخوره:
من برای دریافت تاریخ از maskedit استفاده می کنم و editmask آن به صورت زیر است:
!9999/99/99;1;_
و برای چک کردن این تاریخ (البته شمسی) از این تابع استفاده می کنم
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;
و هر جایی که لازم باشه چک کنم تاریخ وارد شده صحیح است یا نه1 به این صورت تابع را فراخوانی می کنم:
b1:=mask_tarikh(maskedit2.Text );
if b1=false then
maskedit2.SetFocus;
و b1 از نوع boolean است!
ByRoad
دوشنبه 01 خرداد 1385, 15:09 عصر
سلام
مرسی که جواب دادید
ولی من می خوام که روز ماه سال بگیره
روز ماه سال
ByRoad
دوشنبه 01 خرداد 1385, 17:16 عصر
اقایون کسی نیست که این کامپوننت رو داشته باشه
MNosouhi
دوشنبه 01 خرداد 1385, 21:14 عصر
ولی اگه خصوصیت Text را right to left باشه تاریخ را از سال بعد ماه بعد روز می گیره
اقایون کسی نیست که این کامپوننت رو داشته باشه
احتیاج به هیچ کامپوننتی نیست ، کافی است که برای MaskEdit مربوطه ، از فونت های مخصوص فارسی مانند فونتهای IPT استفاده کنید . در این حالت خاصیت Bidimode مربوط به MaskEdit را در حالت LeftToRight تنظیم کنید.
gbg
دوشنبه 01 خرداد 1385, 22:02 عصر
خاصیت right to left no alig چی امتحانش کردی؟
Mohammad_Mnt
سه شنبه 02 خرداد 1385, 08:41 صبح
مرسی از این که جواب دادید ولی کامپوننت مجانی سراغ داریییییییییییییییییییییی ییییییییییییییییی؟
مرد حسابی ! آخه 5000 تومن پوله ؟ :لبخند:
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.