View Full Version : محدود کردن کاربر برای ورود اطلاعات در Edit
raha2006
جمعه 17 فروردین 1386, 00:40 صبح
سلام
من تازه کارم لطفا کمکم کنید
من می خوام در یک Edit م فقط کاربر بتونه ورودی های string داشته باشه و در Edit دیگرم فقط بتونه ورودی های عددی مانند نمره داشته باشه چه طوری می تونم این Edit ها رو محدود کنم .
ممنون می شم کمکم کنید:لبخندساده:
ghabil
جمعه 17 فروردین 1386, 01:20 صبح
بارها توضیح داده شده MaskEdit رو جستجو کنید
Hamid_PaK
جمعه 17 فروردین 1386, 06:09 صبح
راه دیگر این است که از ورودی Key استفاده کنید و آن را محدود کنید ...
در مورد اعداد زیاد بحث شده شما می توانید در مورد رشته نیز این عمل رو انجام دهید :
// Limited Edit input to some chars by onPressKey event ...
procedure TMainForm.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
if not (Key in ['a'..'z', '!', '#']) then
Key := #0;
end;
برای اعداد هم از همین روش می توانید استفاده کنید ولی روش دیگر هم این است که نوع اعدادی را به Style کنترل اضافه کنید :
function SetWindowLongEx(handle: HWND;gwl_type, new_long: Integer): Boolean;
var
w_style: Integer;
begin
Result := False;
w_style := GetWindowLong(handle, gwl_type);
if w_style = 0 then Exit;
w_style := w_style + new_long;
Result := SetWindowLong(handle, gwl_type, w_style) > 0;
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
SetWindowLongEx(Edit1.Handle, GWL_STYLE, +ES_NUMBER);
end;
یا حق ...
raha2006
جمعه 17 فروردین 1386, 19:44 عصر
سلام
از کمکتون ممنون لطف کردید
میشه در مورد این function و صدا کردن آن در رویداد creat فرم توضیح دهید
dkhatibi
شنبه 18 فروردین 1386, 10:41 صبح
سلام
از کمکتون ممنون لطف کردید
میشه در مورد این function و صدا کردن آن در رویداد creat فرم توضیح دهید
سوال را در تاپیک دیگری مطرح کنید.
Hamid_PaK
شنبه 18 فروردین 1386, 19:19 عصر
میشه در مورد این function و صدا کردن آن در رویداد creat فرم توضیح دهی
SetWindowLongEx(Handle of the Control, Type of the Style, Style Values);
Edit1 کنترل مورد نظر می باشد و ES_NUMBER مقدار استایل یک Edit ...
برای حذف یک استایل از منفی و برای اضافه کردن آن از مثبت استفاده کنید.
SetWindowLongEx(Edit1.Handle, GWL_STYLE, -ES_NUMBER);
SetWindowLongEx(Edit1.Handle, GWL_STYLE, +ES_NUMBER);
یا حق ...
raha2006
یک شنبه 19 فروردین 1386, 00:06 صبح
سلام
خیلی ممنون از جوابتون خیلی به من کمک کرد
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.