# پایگاه‌های داده > سایر پایگاه‌های داده > Foxpro >  استفاده از آرایه در فرم

## rahro

سلام 
میخوام در یک فرم محل قرار گرفتن لیبل و تکست باکس رو در اختیار کاربر بگذارم به نحوی که در کجای فرم خواست شی های مورد نظر خود را قرار دهد برای این کار ار عملگرها استفاده کردم ونتیجه خوب بود ولی راضیم نمیکند آیا روشی که از آرایه به عنوان نام یک شی استفاده کنم و یا روش دیگری وجود دارد؟!!
متشکرم رهرو

----------


## binyaz2003

اگر تعداد لیبل ها و تکستباکس ها ثابت باشه کار خیلی راحته حتی اگر هم نباشه میتونید بوسیله یک جدول اطلاعات اشیا از قبیل نوع ، مختصات چپ و بالا و صول و ارتفاع را ذخیره و در هنگام بالا آمدن فرم انها را بسازید.

----------


## rahro

استاد عزیز سلام 
من هم دقیقا همین کار رو کردم یعنی اطلاعات رو توی یک جدول ریختم و نحوه ساختن خیلی مهمه  ومن از عملگرها استفاده کردم میشه لطف کنید از اون روش ساده مثالی بزنید
در ضمن از شما بابت مجموعه بیش از 2000 سورس کد و... متشکرم سی دی جالبی بود من به دوستان پیشنهاد میکنم 
رهرو

----------


## binyaz2003

روش کار همونه تنها در صورت ثابت بودن تعداد کافیه مختصاتشون رو تغییر دهید.در اینصورت سرعت  کار هم بیشتر میشه

----------


## mehran_337

میشه بگید با کدوم کد می شه شی را جابجا کرد و اینکه در حالت دراگ نباشه یعنی اون علامت ظاهر نشه بلکه همچین ماوس کلیک کرد هرجا رفت شی همونجا بره نه اینکه ماوس رها بشه و بعد شی تغییر مکان بده 
سوال دوم اینمه چطور می شه همانند صفحه form design با هر کلیک روی شی اون چهارچوب گره دار ظاهر بشه . با تشکر

----------


## rahro

> روش کار همونه تنها در صورت ثابت بودن تعداد کافیه مختصاتشون رو تغییر دهید.در اینصورت سرعت  کار هم بیشتر میشه


تنها جابجایی یک تکست باکس به همراه لیبل نیست!  inputmask یک شی هم هست در ثانی فرم من از چهار قاب صفحه درست شده که باید مقادیر خود را بعد از تائید کاربر در فیلد بانک اطلاعاتی جای بده !
باید بشه غیر ممکنه نشه از آرایه در نام یک شی استفاده کرد!

----------


## mehran_337

سوال ما همچنان بی جوابه؟

----------


## binyaz2003

> تنها جابجایی یک تکست باکس به همراه لیبل نیست!  inputmask یک شی هم هست در ثانی فرم من از چهار قاب صفحه درست شده که باید مقادیر خود را بعد از تائید کاربر در فیلد بانک اطلاعاتی جای بده !
> باید بشه غیر ممکنه نشه از آرایه در نام یک شی استفاده کرد!


مواردی مثل inputmask و .. که گفتم تو همون جدول باید ذخیره شن اما این جمله آخر و اصلا نمیفهمم : از آرایه در نام یک شی استفاده کرد




> میشه بگید با کدوم کد می شه شی را جابجا کرد و اینکه در حالت دراگ نباشه یعنی اون علامت ظاهر نشه بلکه همچین ماوس کلیک کرد هرجا رفت شی همونجا بره نه اینکه ماوس رها بشه و بعد شی تغییر مکان بده 
> سوال دوم اینمه چطور می شه همانند صفحه form design با هر کلیک روی شی اون چهارچوب گره دار ظاهر بشه .


سئوال اول : شما میتونید نوع کرسر رو مشخص کنید یک کرسر مشخص کنید که شکلی نداشته باشه و یا اینکه عملیات رو خودتون به دست بگیرید مثلا دو متغییر در فرم درست کنیدیکی نام شی که روش کلیک شده و دیگری نشان بده که روی شئ کلیک شده با نه حالا در متد کلیک فرم میتونید اینها رو مدیریت کنید.
سئوال دوم : شما در برنامه میتونید از دستور mofify form استفاده کنید البته فایلی رو که باز میکنید باید در پروژکت منیجر بصورت external باشه و اگر نه تغییرات رو نمیتونید ذخیره کنید اگر هم نخواهید این کار رو بکنید باز هم خودتون باید شبیه سازی انجام بدهید.

----------


## mehran_337

> سئوال اول : شما میتونید نوع کرسر رو مشخص کنید یک کرسر مشخص کنید که شکلی نداشته باشه و یا اینکه عملیات رو خودتون به دست بگیرید مثلا دو متغییر در فرم درست کنیدیکی نام شی که روش کلیک شده و دیگری نشان بده که روی شئ کلیک شده با نه حالا در متد کلیک فرم میتونید اینها رو مدیریت کنید.


خب همین دیگه . نمی دونم چطور شی رو جابجا کنم که در حال دراگ کردن جابجا بشه نه بعد از رها شدن مثل اسلایدر یا جابجاکردن یه ویندوز

----------


## binyaz2003

منظورتون و درست متوجه نمیشم.یک مثال برای درگ انواع کنترل ها روی فرم در solutiuon هست یک نگاهی به اون بنداز

----------


## mehran_337

اونو دیدم . اما همه اونها وقتی جسمی رو دراگ می کنی اون جسم به ماوس نمی چشبه بلکه فقط وقتی که موس را رها می کنی جسم در محل جدید جابجا می شه.
می خوام کاربر وقتی جسمی رو گرفت هرجا ماوس را حرکت داد اون شی هم باهاش بره . مثل پازل

----------


## binyaz2003

کافیع طبق همون رویه ای که گفتم انجام بدید فقط در متد Mouse Move فرم شئ رو جابجا کنید

----------


## rahro

سلام 
چند روز پیش تو دلفی یک نکته جالب دیدم دوباره جواب ناجواب گذشته تو ذهنم زنده شد و اون این بود که به راحتی نام یک تکست باکس رو به یک آرایه نسبت میداد بصورتی که به عنوان مثال thisform.text[1].value میشد مقدار یک تکست باکس رو مشخص کرد . البته این کد دلفی نیست ها. :ݘ:::
یعنی نمیشه یک چیزی مثل این .::

----------


## binyaz2003

این کاررونه اما میتونید یک آرایه از اشیاء داشته باشید.

----------


## rahro

> این کاررونه اما میتونید یک آرایه از اشیاء داشته باشید.


 :متعجب:  :متعجب:  چطوری ؟!  :متفکر:  
تو رو خدا یه خورده بیشتر توضیح بده و مثال بزن استاد.

----------


## rezaTavak

یک آرایه بسازید و آدرس اشیاءتون را داخل اون بگذارید توجه کنید آرایه یا باید عمومی باشد یا یکی از مشخصهای فرمی که اجرا میکنید.

مثال : 

this.aObject[1] = thisform.textbox1
گرچه تمام چیزهای روی فرم به صورت آرایه نگهداری می شوند. : 

thisform.controls[]


مثال : اولین عنصری که در فرم است چیست؟


?thisform.controls[1].Name


مثال: تمامی عناصر روی فرم را لیست کنید:


for i=1 to alen(thisform.controls,1)
?thisfrom.controls[i].Name    
next

----------


## rahro

سلام جناب توکل :
واقعا نمیدونم چه جوری ازتون تشکر کنم . بسیار متشکرم 
دوستان به این مثال توجه کنید .

----------

