PDA

View Full Version : سوال در مورد آرایه ها در دلفی



oghab
جمعه 12 تیر 1383, 14:55 عصر
با سلام
در ویژووال بیسیک امکان این وجود دارد که آرایه ای از کنترلها مثلا آرایه ای از TEXTBOX ها یا آرایه ای از دکمه های فرمان داشته باشیم. که براحتی توسط Edi و copy و past خود ویژوال بیسیم این سوال را می کند که قصد ساختن آرایه را دارید یا خیر؟
آیا در دلفی چنین امکانی وجود دارد؟
اگر وجود دارد خیلی ممنون می شوم مرا راهنمایی کنید . چون واقعا در این قسمت از برنامه خیلی بهش احتیاج دارم و خیلی کارم را آسان می کند و اگر نشود واویلا
با تشکر
عقاب

مهدی کرامتی
جمعه 12 تیر 1383, 15:30 عصر
میشه دقیقا توضیح بدید میخواهید چکار کنید و اینکار چه کاربردی برای شما دارد؟

vcldeveloper
شنبه 13 تیر 1383, 01:47 صبح
در دلفی می تونید با TComponentList هر تعداد شی که خواستید رو ذخیره کنید یا اشیاء ذخیره شده رو آزاد کنید و توسط روشهای مختلفی که این کلاس در اختیارتون میزاره به اونها دسترسی داشته باشید.
برای Copy/Paste کامپوننت ها به کلیپ برد هم می تونید از TClipboard در یونیت Clibrd استفاده کنید. این کلاس متدهایی برای ذخیره و بازیافت اشیائی که از TComponent مشتق شده اند داره.

MToloo
شنبه 13 تیر 1383, 07:42 صبح
اگه برای واقعه هاشون میخوایی این کار و بکنین که تو دلفی خیلی راحتتره. چند تا کامپوننت و با هم انتخاب میکنی بعد براشون یک واقعه ایجاد میکنی. اینطوری واقعه همه اونها یکی میشه. یا میتونی وقتی برای یکی یک رویداد ایجاد کردی برای بقیه هم میتونی اون واقعه ایجاد شده رو انتخاب کنی.
اگر هم میخوایی به خودشون دسترسی پیدا کنی چند تا راه وجود داره که بسته به نوع استفادهت باید یکی اش و انتخاب کنی. حالا من یه راهش و میگم. تمام عناصر فرم آرایه اند. با یک حلقه for میتونی همشون و بررسی بکنی و به همشون دسترسی داشته باشی. مثلا اگه کل TEdit ها رو خواسته باشی:

for i:= 0 to ComponentCount- 1 do
begin
if Components[i] is TEdit then
(Components[i] as TEdit).Text:= 'Component no : '+ IntToStr(i);
end;

oghab
شنبه 13 تیر 1383, 19:27 عصر
از لطف شما دوستان ممنونم :)
عقاب