PDA

نسخه کامل مشاهده نسخه کامل : پارامتر هاي دستور Create



romixery
19-10-2007, 19:20
سلام دوستان
سوالم ممكنه مبتدي باشه ولي خوب ديگه...
من توي برنامم نياز دارم يه جايي از يه متغير از نوع Tmemo استفاده كنم. يعني اونو توي قسمت Private برنامم معرفي كردم.
يه Memo ي ديگه هم توي برنامم دارم كه از تب Standard به فرمم اضافه كردم.
حالا وقتي مي خوام Lines از Memo ي داخل فرمم رو به متغيري كه معرفي كردم بريزم، برنامم ارور ميده. راستش قفل مي كنه.

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
كه Memo1 همون Memoيي هستش كه از تب Standard آوردمش.و M هم ...
خلاصه:
فكر كنم قبلش بايد متغير از نوع Tmemo رو با دستور Create بسازمش(M رو ميگم). ولي خوب مي خوام ببينم حالا پارامترهاي اين دستور كه از نوع Tcomponent هستش چيا هستش؟ يعني بر چه اساسي بايد اونا رو بنويسيم؟

البته بايد بگم اين مشكل براي چندتا متغير از انواع ديگه هم پيش اومده بود كه مجبور شدم يكي از اون انواع رو از طريق تب ها به داخل فرمم بيارم و بعد خاصيت Visible اونها رو False كنم و بعد با خواصشون كار كنم. ولي حالا ديگه نمي خوام اين كار رو بكنم.
اگه خيلي شلوغ شد ببخشين
موفق باشين
باي

CPUSatan
20-10-2007, 00:00
اين روش ساختن يك كنترل در زمان اجرا است:

procedure TForm1.Button1Click(Sender: TObject);
Var
MyMemo: TMemo;
begin
MyMemo:=TMemo.Create(Self);
With MyMemo Do Begin
Name:='MyMemo';
Visible:=True;
Parent:=Form1;
Left:=0;
Top:=0;
Lines.Text:=' IT is TMemo Self Create';
{
.
.
.
و تمام خاصيت ها را به همين صورت تنظيم كنيد
.
.
}
End;
end;

در ضمن يادتان نرود كه يونيت آن كنترل را به قسمت Uses اضافه كني، مثلا براي كنترل Memo يونيت StdCtrls

مي باشد كه به احتمال زياد اين يونيت چون يونيت پركاربردي است توسط خود دلفي اضافه شده است.

romixery
20-10-2007, 10:29
سلام
راهی دیگه ای نداره؟
اینجوری که صرف با اونه که خودمون یه Memo از تب ها وارد فرممون کنیم و بعد با خواصش کار کنیم.

شما مطمئنین راه دیگه ای نداره؟
موفق باشین
بای

CPUSatan
20-10-2007, 14:21
من راه ديگه اي براي ساختن كنترل ها در زمان اجرا به ذهنم نمي رسه..... اگه ممكنه دقيقتر بگيد مي خواهيد

چه كار كنيد، شايد راه بهتري هم وجود داشته باشه.............

Mavix
20-10-2007, 20:33
با سلام

همون طور که دوستمون CPUSatan گفتن تنها راهش اینه :


برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

مرد مباح
20-10-2007, 21:16
البته بسته به کاری که میخوای بکنی ، شاید Parent رو باید چیز دیگه ای بجز Self بزاری.
چون ساید مشکل برات ایجاد کنه.

اگر هم برنامت رو میتونی با گذاشتن کامپوننت توی صفحه اصلی برنامت درست کنی ، بهتره که این کارو بکنی.
وقتی از خاصیت Create استفاده میشه که تعداد کامپوننتهات توی یک فرم معلم نباشه و در شرایط مختلف فرق کنه.
حتی اگه بدونی که نهایتا از 3 کامپونن استفاده میشه راحتتر و بهتر اینه که اونا رو بزاری و با خاصیت Visible اونا رو نشون بدی یا مخفی کنی.

موفق باشی.

CPUSatan
20-10-2007, 23:35
گفته ي دوستمون مرد مباح هم درسته البته بايد در نظر داشته باشي كه اگه تعداد كامپوننت هات زياد باشه هم تو

حجم برنامه و هم تو سرعت برنامه تاثير مي ذاره و بعضي مواقع كد نويسي خيلي بد و اعصاب خرد كني خواهد

داشت.

romixery
21-10-2007, 18:01
خيلي ممنونم دوستان عزيز.
آره بهتره كه از خود Tmemo از تب هاي دلفي استفاه كنم.
موفق باشين
باي

Morteza_SOS
13-11-2007, 18:02
به نام خدا
با سلام از دوستان کسی می تونه من را راهنمایی کنه من پروژه ای تهیه کرده ام که در آن تعدادی ادیت باکس و باتن و عکس و .... است حالا می خواهم در پروژه ی نهایی که تحویل کاربر می دهم باتنی برای ذخیره برنامه به صورت فایل اجرایی Exe قرار بدم .
در اصل می خام توسط پروژه ام فایل اجرایی تولید کنم این کار به چه صورت انجام میشه .

مرد مباح
14-11-2007, 08:27
من يك راه ميشناسم و اونم استفاده از كامپايلر خود دلفي هست.
يعني بايد تمام كدها رو درست وارد كني و تمام فايلهاي مورد نياز (pas.,dpr.,dfm.) رو با كدهايي كه توي برنامه خودت نوشتي درست كني و بعد از ائن استفاده كني.