منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب

نسخة كاملة : أداة PSScript
أنت حالياً تتصفح نسخة خفيفة من المنتدى . مشاهدة نسخة كاملة مع جميع الأشكال الجمالية .
السلام عليكم ورحمة الله
أستاذ أبو بكر شكر الله لك كل جهودك في سبيل تنويرنا في هذا القسم الجميل بإمكانيات الفري باسكال، نحن نحاول التعلم معك رغم أن كثير من سنوات شبابنا ذهبت مع الفجوال بيسيك وإمكانياته الرائعة.
أود منك أستاذ لو تعطينا مثال عن كيفية استعمال أداة PSScript.
ولك منا جزيل الشكر بارك الله فيك........
وعليكم السلام ورحمة الله..
بصراحة لا علم لي بهذه الأداة.. ولكنني سأبحث وأفيدك إن شاء الله.
أشكرك أستاذ ليلتك سعيدة إن شاء الله
شكرا أستاذ وجدت هذا المثال لاستعمال هذه الأداة شكرا لك:
http://www.lazaruspascal.it/esempi/ExecuteFPScript.zip
جميل جداً..

إن فهمت آألية العمل فأرجو أن تشرح لنا - على ضوء ما فهمت.
إن شاء الله سوف أقوم بشرح بسيط لعمل الأداة..
يعتمد هذا المثال أساسا على الأدوات الآتية:
-PSScript1 نوع TPSScript  وهي الأداة الأساس بالنسبة لعملية تنفيذ السكريبت تقوم هذه الأداة بنفس عمل أداة ScriptControl في برنامج فجوال بيسيك.
- ListBox1 يتضمن محتوى الملف المرفق (prog.txt) هذا الملف هو في الحقيقة السكريبت الذي سوف نقوم بتنفيذه، هذه الأداة خاصية Visible فيها تساوي False.
- memScript : نوع  TMemo  التي نضع فيها محتوى ListBox1.
- Edit1 من نوع TEdit  من أجل عرض نتيجة السكريبت.
- List_Debug نوع TListBox  لعرض رسائل (Messages) الخطأ في حالة وجوده.
- Button1 لتنفيذ السكريبت.
الحدث FormShow
في الحدث FormShow نقوم بأخذ محتوى الملف سطر بسطر ووضعه في  Listbox1:
    Listbox1.Items.LoadFromFile(Application.Location + 'prog.txt');
نأخذ محتوى Listbox1 ونضعه في الأداة: memScript أين يمكن التعديل على السكريبت:
    Form1.memScript.Lines:=Listbox1.Items

- يقوم المثال بتصريح وتسجيل متغيرات ثلاث:
Application، Self، Edit وتحديد نوعها على الترتيب: TApplication، TForm، TEdit.
Sender.AddRegisteredVariable('Application', 'TApplication');
Sender.AddRegisteredVariable('Self', 'TForm');
Sender.AddRegisteredVariable('Edit', 'TEdit');
تعطى قيم هذه المتغيرات بواسطة الإجراء SetVarToInstance:
/ PSScript1.SetVarToInstance('APPLICATION', Application);
 PSScript1.SetVarToInstance('SELF', Self);
  PSScript1.SetVarToInstance('Edit', Edit1);
في الحقيقة بالنسبة لهذا السكربت يمكن الاقتصار على المتغير 'Edit' لأن المتغيرين الآخرين ('APPLICATION'، 'SELF') لا يردان في السكربت ولكن لابأس لأنه يمكن استعمالهما بالتعديل على السكريبت ليكون أكثر تعميما.

الدوال الأخرى تتعلق أساسا بعمليتي التجميع (Compilation) و التفيذ(Exécution) ، (الدوال PSScript1CompImport، PSScript1ExecImport).
لا بأس أن نتوقف الآن عند الإجراء المهم المتعلق بالأداة Button1 ، وهو EseguiCodicePas::
    List_Debug.Clear: تفريغ الـ List_Debug.
PSScript1.Script := memScript.Lines: وضع السكريبت في الخاصية Script للأداة PSScript1.
if PSScript1.Compile then:
في حالة كون بناء السكريبت سليم نمر إلى التنفيذ بواسطة:
begin
    if PSScript1.Execute then  
في حالة العكس إي أن هناك مشكل في بناء السكريبت نقوم بعرض رسالة الخطأ (error message) في الـ List_Debug.
هذا شرح مبسط لآلية تنفيذ المثال المذكور شكرا..........
بارك الله فيك... بس لدي سؤال.

هو السكربت ماذا يكون أساساً؟ ولما نريد تنفيذ سكربت؟

لو تكرمت أعطنا مثالاً عن محتويات السكربت وما الذي سينفذه.

بارك الله فيك.