PDA

View Full Version : سوال: کار با کنترلهای مشابه رو فرم



kamand314
شنبه 27 شهریور 1389, 19:17 عصر
سلام
من تعداد نسبتا زیادی کنترل مشابه مثلا edit box با اسامی مختلف روی فرم دارم
چگونه می تونم یک یا چند دستور را روی آنها اجرا کنم مثلا محتویات تمام آنها را پاک
کنم یا چک کنم که همه آنها توسط استفاده کننده پر شده ...( البته نه بصورت تک به تک این
کارو انجام بدم , مثلا تو یک حلقه یا ...)
لطفا راهمنمایی کنید.

moein+
شنبه 27 شهریور 1389, 21:41 عصر
سلام
به سادگی :
در کنترل هایی که از یک نوع هستند و می خواهید عمل مشابهی رو در اونها انجام بدید
خصوصیت Tag اونها رو یه مقدار دلخواه همانند ست کنید و کدی شبیه کد زیر رو به کار ببرید :


for I := 0 to ControlCount - 1 do
if Controls[I] is TEdit then
case Controls[I].Tag of
0:(Controls[I] as TEdit).Clear;
1:(Controls[I] as TEdit).Text:='SampleText1';
2:(Controls[I] as TEdit).Text:='SampleText2';
end;


در حقیقت با این حلقه تمام کنترل های فرم را پیمایش می کنید
در شرط اول کنترل ها محدود می شوند به کنترل هایی که مورد نظر شماست(در مثال Edit)
در Case کاری که برای هر گروه از کنترل ها باید انجام شود تفکیک شده. (بر اساس گروه بندی که قبلا با ست کردن خصوصیت تگ هر کنترل انجام داده اید)
موفق باشید.