السلام عليكم ورحمة الله تعالى وبركاته
شكرا على المقيمين على هدا الموقع لهم التوفيق ان شاء الله
السؤال هو كيف يتم تحويل قيمة موجودة في متغير نصي من نوع string الى تعليمة في لغة دلفي
مثال
كود :
Text :String
..........
..........
Text :=' Edit1.Text+Edit2.Text';
هل هناك دالة او مكون يسمح بتنفيد ماداخل المعرف النص كتعليمة دلفي
اي تنفد
Edit1.Text+Edit2.Text كقيمة وليس كنص
وشكرا
اخي الكريم حياك الله..
اخي اعتقد انك تريد مثلا اضافة 7 + 5 و النتيجة تصبح 12 وليس 57 اليس كذلك ؟
اذن يجب عليك ان تستخدم ال
StrToInt و IntToStr حتى تتمكن من ذلك...
وقد تم شرح هذا الشئ في الدورة وبلأخص الدرس الثاني والله تعالى اعلم...
اما ان كان الأمر مختلف فلو سمحت ان توضح قليلا و بارك الله لك.
السلام عليكم.
أعتقد أني فهمت قصدك أخي.
تريد أن يتغير الحدث (Event) في زمن التشغيل (runtime)
هذه طريقة لعمل ذلك لكن التغيير يكون بحدث محضر مسبقا...
يعني نكتب الحدث في مكون TAction ثم نركب الحدث على الزر TButton:
هذا مثال صغير يغير حدث النقر على الزر Button2
كود :
var
Form1: TForm1;
Event: TNotifyEvent;
implementation
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
begin
Event := Action1.OnExecute;
Button2.OnClick := Event;
end;
procedure TForm1.Action1Execute(Sender: TObject);
begin
ShowMessage('Event changed');
end;
أما إذا كنت تريد أن يتغير الحدث أثناء التشغيل إلى حدث لم يحضر أثناء التصميم، فهذا لا أعرفه وأنا أيضا أبحث عن طريقة لذلك، ,أتمنى من الخبراء أن يدلونا عليها.
شكرا كثيرا.
السلام عليكم ورحمة الله
اظن انك تقصد هذا:
كود :
text :string;
.....
.....
text := inttostr (strtoint (edit1.text) + strtoint(edit2.text) );
strtoint تحول القيم النصية الى ارقام و inttostr تعمل العكس
والسلام عليكم
إقتباس :كيف يتم تحويل قيمة موجودة في متغير نصي من نوع string الى تعليمة في لغة دلفي
أوامر دلفي تتحول من شكل نصي الى Binary بعد عمل Compile من طرف دلفي
الملفات المصدرية PAS + DFM + DPR + ... تجمع و تتحول الى ملف EXE به نفس الاوامر لكن بلغة الالة
المعالج CPU ينفذ الاوامر الموجودة بالملف EXE
اثناء التنفيذ لايمكنك تحويل نص الى اوامر وتنفذها في نفس البرنامج (لان هذا ما يقوم به Delphi حينما يعمل Compile)
ما تستطيع فعله هو تنفيسر تلك الاوامر وتنفيذ ما تمثله لك الاوامر اي برمجة Interpreter
برمجة Interpreter شيئ متقدم نوعا ما بالنسبة لمبتدا
طبعا هناك حلول و مكونات تجارية قد تغنيك عن ذلك اذكر على سبل المثال :
RemObjects Pascal Script
TMS Scripter Studio
FastScript من مبرمج Fast Report
TPaxScripter
...
بها يمكنك تطوير برنامج مثل AutoIt
والسلام عليكم
السلام عليكم ورحمة الله
اولا شكرا لكم على الاجابة
اخي Delta Aziz اود ان استفسرك بعض الشيئ
هل تقصد Interpreter استخدام الكلمة ASM .
وسؤالي بـ تحويل متغير نصي string الى تعليمة في لغة دلفي ؟
المقصود به تنفيد تعليمة موجودة داخل نص
كتنفيد تعليمكة Select في مكون Query ولكن باكثر توسع
كما جاء على دكر اخي عزيز
وشكرا لكم جمبعا
السلام عليكم ورحمة الله
اخي Delta Aziz لم اقصد Interpreter بالترجمة الحرفية اي تفسير برنامج انما قصدت
هل هناك طريقة او تعليمة يمكن من خلالها تفسير جزء معين من تعليمة باستخدتم تعليمات ASM .
وشكرا اخي
حسب ما فهمت من سؤال الاخ هو مثلا بعد تنفيذ البرنامج نكتب له كمثال في الـ Edit1 الكود التالي :
mediaplayer1.play و يقوم البرنامج بتفسيرها على انها تعليمة برمجية في دلفي برمجت له سابقا و بالتالي سيتم تنفيذ ذلك الكود و هو تشغيل الصوت
لكن ليس بالكود if edit1.text = 'mediaplayer1.play' then
بل يقوم البرنامج لوحده تحويل النص الى تعليمة دون إستعمال اية شروط
للاسف انا أيضا أبحث عن حل لهذه القضية و لم أجده منذ سنوات
السلام للجميع
ان شاء الله بخير (دعوة خاصة لاهل غزة اللهم انصرهم)
اما بعد
الدالة StrToBool تقوم بتحويل من نص الى متغير منطقي الاشكال هو ارجاع خطا عند تقديم التالي
StrToBool('True')
من فظلكم ماهو الحل وشكرا جزيلا