المشاركات : 23
المواضيع 7
:
: 0
الإنتساب : Jan 2009
السلام عليكم ورحمة الله تعالى وبركاته
شكرا على المقيمين على هدا الموقع لهم التوفيق ان شاء الله
السؤال هو كيف يتم تحويل قيمة موجودة في متغير نصي من نوع string الى تعليمة في لغة دلفي
مثال
كود :
Text :String
..........
..........
Text :=' Edit1.Text+Edit2.Text';
هل هناك دالة او مكون يسمح بتنفيد ماداخل المعرف النص كتعليمة دلفي
اي تنفد
Edit1.Text+Edit2.Text كقيمة وليس كنص
وشكرا
المشاركات : 778
المواضيع 97
:
: 0
الإنتساب : Nov 2008
اخي الكريم حياك الله..
اخي اعتقد انك تريد مثلا اضافة 7 + 5 و النتيجة تصبح 12 وليس 57 اليس كذلك ؟
اذن يجب عليك ان تستخدم ال
StrToInt و IntToStr حتى تتمكن من ذلك...
وقد تم شرح هذا الشئ في الدورة وبلأخص الدرس الثاني والله تعالى اعلم...
اما ان كان الأمر مختلف فلو سمحت ان توضح قليلا و بارك الله لك.
المشاركات : 2,293
المواضيع 157
:
: 81
الإنتساب : Dec 2008
السلام عليكم.
أعتقد أني فهمت قصدك أخي.
تريد أن يتغير الحدث (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;
أما إذا كنت تريد أن يتغير الحدث أثناء التشغيل إلى حدث لم يحضر أثناء التصميم، فهذا لا أعرفه وأنا أيضا أبحث عن طريقة لذلك، ,أتمنى من الخبراء أن يدلونا عليها.
شكرا كثيرا.
المشاركات : 9
المواضيع 2
:
: 0
الإنتساب : Jan 2009
السلام عليكم ورحمة الله
اظن انك تقصد هذا:
كود :
text :string;
.....
.....
text := inttostr (strtoint (edit1.text) + strtoint(edit2.text) );
strtoint تحول القيم النصية الى ارقام و inttostr تعمل العكس
والسلام عليكم
المشاركات : 3,703
المواضيع 101
:
: 579
الإنتساب : Feb 2008
إقتباس :كيف يتم تحويل قيمة موجودة في متغير نصي من نوع string الى تعليمة في لغة دلفي
أوامر دلفي تتحول من شكل نصي الى Binary بعد عمل Compile من طرف دلفي
الملفات المصدرية PAS + DFM + DPR + ... تجمع و تتحول الى ملف EXE به نفس الاوامر لكن بلغة الالة
المعالج CPU ينفذ الاوامر الموجودة بالملف EXE
اثناء التنفيذ لايمكنك تحويل نص الى اوامر وتنفذها في نفس البرنامج (لان هذا ما يقوم به Delphi حينما يعمل Compile)
ما تستطيع فعله هو تنفيسر تلك الاوامر وتنفيذ ما تمثله لك الاوامر اي برمجة Interpreter
برمجة Interpreter شيئ متقدم نوعا ما بالنسبة لمبتدا
طبعا هناك حلول و مكونات تجارية قد تغنيك عن ذلك اذكر على سبل المثال :
RemObjects Pascal Script
TMS Scripter Studio
FastScript من مبرمج Fast Report
TPaxScripter
...
بها يمكنك تطوير برنامج مثل AutoIt
والسلام عليكم
المشاركات : 23
المواضيع 7
:
: 0
الإنتساب : Jan 2009
السلام عليكم ورحمة الله
اولا شكرا لكم على الاجابة
اخي Delta Aziz اود ان استفسرك بعض الشيئ
هل تقصد Interpreter استخدام الكلمة ASM .
وسؤالي بـ تحويل متغير نصي string الى تعليمة في لغة دلفي ؟
المقصود به تنفيد تعليمة موجودة داخل نص
كتنفيد تعليمكة Select في مكون Query ولكن باكثر توسع
كما جاء على دكر اخي عزيز
وشكرا لكم جمبعا
المشاركات : 3,703
المواضيع 101
:
: 579
الإنتساب : Feb 2008
ذكرت بعض المكونات وهناك غيرها مجاني وتجريبي اوة تجاري
http://www.torry.net/pages.php?id=280
إقتباس :هل تقصد Interpreter استخدام الكلمة ASM
لا، Interpreter مفسر
والسلام عليكم
المشاركات : 23
المواضيع 7
:
: 0
الإنتساب : Jan 2009
السلام عليكم ورحمة الله
اخي Delta Aziz لم اقصد Interpreter بالترجمة الحرفية اي تفسير برنامج انما قصدت
هل هناك طريقة او تعليمة يمكن من خلالها تفسير جزء معين من تعليمة باستخدتم تعليمات ASM .
وشكرا اخي
المشاركات : 32
المواضيع 3
:
: 0
الإنتساب : Dec 2008
حسب ما فهمت من سؤال الاخ هو مثلا بعد تنفيذ البرنامج نكتب له كمثال في الـ Edit1 الكود التالي :
mediaplayer1.play و يقوم البرنامج بتفسيرها على انها تعليمة برمجية في دلفي برمجت له سابقا و بالتالي سيتم تنفيذ ذلك الكود و هو تشغيل الصوت
لكن ليس بالكود if edit1.text = 'mediaplayer1.play' then
بل يقوم البرنامج لوحده تحويل النص الى تعليمة دون إستعمال اية شروط
للاسف انا أيضا أبحث عن حل لهذه القضية و لم أجده منذ سنوات
المشاركات : 23
المواضيع 7
:
: 0
الإنتساب : Jan 2009
السلام للجميع
ان شاء الله بخير (دعوة خاصة لاهل غزة اللهم انصرهم)
اما بعد
الدالة StrToBool تقوم بتحويل من نص الى متغير منطقي الاشكال هو ارجاع خطا عند تقديم التالي
StrToBool('True')
من فظلكم ماهو الحل وشكرا جزيلا