PDA

View Full Version : ایجاد شی با کد و دستور دادن به ان



dr-delphi
پنج شنبه 12 اسفند 1389, 20:29 عصر
باسلام
می خواستم بدونم چطور میشه به یک
Button
که با کد ایجاد کردم
دستور بدم
من با کد های زیرکه جناب تاجیک گفته بودن یکButton
ایجاد کردم ولی نمیدونم چطور بهش دستور بدم
میشه راهنمای کنید
var
ED: Array [1..10] of TButton;
EDCount: Integer;
begin
for EDCount:= 1 to 3 do
begin
ED[EDCount]:= TButton.Create(Self);
ED[EDCount].Parent:= Self;
ED[EDCount].Top:= EDCount * 25;
ED[EDCount].Left:= 10;
ED[EDCount].Caption:= 'yaser ' + IntToStr(EDCount);
end;
end;



end.
-----------------------------------------------------------------------------------------
ویه سوال دیگه
ایا راهی است که کدهای یکButton
روبه یک Button
دیگه
منتقل کرد
مثلادر
Button1
کد زیر قرار داره
begin
ShowMessage('yaser');
end;
می خوام به
Button2
منتقل کنم
میشه راهنمایی کنید وکدش رو بزارید.

dr-delphi
جمعه 13 اسفند 1389, 11:20 صبح
اساتید چی شد پس؟کسی نیست راهنمایی کنه؟

nilidelphi
جمعه 13 اسفند 1389, 12:20 عصر
شما به هر رویدادی که می خواهید در باتن های ایجاد شده بنویسید دقیقا با همون پارامتر ها در فرم بنویسید و بعد به هر باتن که ایجاد کردین اختصاص بدین :




unit Unit1;


interface


uses
Windows, Messages, SysUtils, Variants, Classes, Graphics,
Controls, Forms,
Dialogs, StdCtrls;


type
TForm1 = class(TForm)
procedure FormCreate(Sender: TObject);
procedure MyOnClick(Sender: TObject);
private
{ Private declarations
}
public
{ Public declarations }

end;


var
Form1: TForm1;
MyBTN : TButton;
implementation


{$R *.dfm}



procedure TForm1.MyOnClick(Sender: TObject);
begin
//any code replace this site: for example
showmessage('Hello World');
end;


procedure TForm1.FormCreate(Sender: TObject);
begin
MyBTN:=TButton.Create(Self);
MyBTN.Parent:=Form1;
MyBTN.Left:=100;
MyBTN.Top:=50;
MyBTN.Caption:='Test';
MyBTN.OnClick
:= MyOnClick;
end;


end.

dr-delphi
جمعه 13 اسفند 1389, 15:13 عصر
خیلی ممنون جنابnilidelphi (http://barnamenevis.org/member.php?111898-nilidelphi)
یه سوال در مورد همین موضوع
با کد فوق دکمه رو ایجاد کردم حال یکmemoدارم که میخوام کدی برای مثال همونshowmessage('Hello World'); رو درونش تایپ کنم و با زدن دکمه فرا خوانیش کنم اصلا امکان داره این کار؟
یا باید با فایل مبنا این کار رو بکنم میشه یه مثال بزارید.
چگونه فایل مبنا رو فرا خوانی کنم؟
ممنون میشم اگه جواب بدید.

pezhvakco
جمعه 13 اسفند 1389, 19:26 عصر
سلام :

حال یکmemoدارم که میخوام کدی برای مثال همون[/B]showmessage('Hello World'); رو درونش تایپ کنم و با زدن دکمه فرا خوانیش کنم
منظور شما از این که می خوایین کد دستور رو درون Memo تایپ کنین و فراخوانیش کنین، چیه ؟
اگه می خوایین با فشردن دکمه درون Memo به صورت متن این خط رو بنویسین، در همون تابع MyOnClick که جناب nilidelphi (http://barnamenevis.org/member.php?111898-nilidelphi) گفتن، فرمانش رو بدین :
Memo1.Lines.Add('');

dr-delphi
جمعه 13 اسفند 1389, 19:40 عصر
نه منظورم این نیست
منظورم اینه مثلا یه فایل تکست دارم و می خوام کدهای که درون فایل تکسته فرا خونی کنم که همون فایل مبنا.
متوجه شدید

pezhvakco
جمعه 13 اسفند 1389, 20:36 عصر
اگه هدف شما کد نویسی در زمان اجرا است، تو همین سایت یه جا خوندم میشه یک موتور اسکریپت نویسی رو بکار برد مانند PascalScript و یا کامپوننت TPaxCompiler هم که برای همین اینکار است رو بکار گرفت .
همین موضوع رو جستجو نمایید ...

nilidelphi
جمعه 13 اسفند 1389, 20:36 عصر
دوست گرامی من متوجه منظور شما نمی شم

اگه می خواهید کدی رو از بیرون از برنامه و پس از اجرای برنامه وارد برنامه کنید و کامپایل کیند این یکم مشکله و باید دو چیز رو بدونید
1- کار با فایل های INI
2- استفاده از امکانات زبان برنامه نویسی برای ریکامپیل (که آقای تاجیک یه نمونه برنامه ی ستاپ ساز دارن که دقیقا در این مورده)

ولی اگر قست دارید در دکمه ای که بصورت پویا ساخته اید کدی را بنویسید که بتواند یک فایل متنی رو باز کرده و در ممو بریزه خوب عزیزم بجای

showmessage('Hello World');
این کد رو قرار بده :







procedure TForm1.MyOnClick(Sender:
TObject);


begin


//any code replace this site: for example


Memo1.Lines.LoadFromFile(FileName);


end;

dr-delphi
جمعه 13 اسفند 1389, 21:32 عصر
دوست گرامی من متوجه منظور شما نمی شم

اگه می خواهید کدی رو از بیرون از برنامه و پس از اجرای برنامه وارد برنامه کنید و کامپایل کیند این یکم مشکله و باید دو چیز رو بدونید
1- کار با فایل های INI
2- استفاده از امکانات زبان برنامه نویسی برای ریکامپیل (که آقای تاجیک یه نمونه برنامه ی ستاپ ساز دارن که دقیقا در این مورده)

اره دقیقا منظورم اینه
کدی خارج از برنامه اجرا کنم
میشه بیشتر توضیح بدید و یه مثال بزارید.
که این کار رو انجام بده.:گریه:

Felony
شنبه 14 اسفند 1389, 07:34 صبح
2- استفاده از امکانات زبان برنامه نویسی برای ریکامپیل (که آقای تاجیک یه نمونه برنامه ی ستاپ ساز دارن که دقیقا در این مورده)
قضیه اون نمونه فرق میکنه ، اون نمونه برای آموزش ساخت پکیج کردن فایل ها در یک فایل منبع بود که Setup رو میساخت و در اون مثال فایل ها به صورت Resource به خود فایل exe اضافه میشد ولی در مورد شما باید از کامپایلرهایی مثل Free Pascal یا PascalScript یا کامپوننتهایی مثل PaxCompiler استفاده کنید ، در آخر میتونید از خود کامپایلر دلفی هم کمک بگیرید .

در آخر اگر تعداد کدهاتون محدود هست میتونید خودتون یک Parser بنویسید و کدها رو Parse و سپس معادل سازی و اجرا کنید .

nilidelphi
شنبه 14 اسفند 1389, 11:50 صبح
دوست گرامی آقای تاجیک بنده خودم یه نرم افزار دیدم که این کارو می کنه و با دلفی 2007 هم بود
دقیقا نمیدونم اسمش چی بود ولی در رابطه با ارتباط دستگاههای حضور غیاب کارمندی و تلفن بود و ساخت برنامه نویسان کانادایی بود.

نمیدونم از چه روشی استفاده کرده بودن ولی کد هایی رو تو یک فایل INI دیدم که دوباره کامپایل می کرد.

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

در ضمن همون استفاده از فایل های ریسورس هم فکر کنم بتونه کار این دوستمون رو راه بندازه.

موفق باشید.

Felony
شنبه 14 اسفند 1389, 23:06 عصر
دوست گرامی آقای تاجیک بنده خودم یه نرم افزار دیدم که این کارو می کنه و با دلفی 2007 هم بود
چی کار میکرد ؟!
من گفتم برنامه ای که من نوشتم ربطی به این موضوع نداره ، همینطور فایل ریسورس هم ربطی نداره ، توضیحات کامل رو تو پست قبلیم گفتم !