تقييم الموضوع :
  • 1 أصوات - بمعدل 5
  • 1
  • 2
  • 3
  • 4
  • 5
أداة PSScript
#1
السلام عليكم ورحمة الله
أستاذ أبو بكر شكر الله لك كل جهودك في سبيل تنويرنا في هذا القسم الجميل بإمكانيات الفري باسكال، نحن نحاول التعلم معك رغم أن كثير من سنوات شبابنا ذهبت مع الفجوال بيسيك وإمكانياته الرائعة.
أود منك أستاذ لو تعطينا مثال عن كيفية استعمال أداة PSScript.
ولك منا جزيل الشكر بارك الله فيك........
الرد }}}
تم الشكر بواسطة:
#2
وعليكم السلام ورحمة الله..
بصراحة لا علم لي بهذه الأداة.. ولكنني سأبحث وأفيدك إن شاء الله.
الرد }}}
تم الشكر بواسطة:
#3
أشكرك أستاذ ليلتك سعيدة إن شاء الله
الرد }}}
تم الشكر بواسطة: أبوبكر سويدان
#4
شكرا أستاذ وجدت هذا المثال لاستعمال هذه الأداة شكرا لك:
http://www.lazaruspascal.it/esempi/ExecuteFPScript.zip
الرد }}}
تم الشكر بواسطة: أبوبكر سويدان
#5
جميل جداً..

إن فهمت آألية العمل فأرجو أن تشرح لنا - على ضوء ما فهمت.
الرد }}}
تم الشكر بواسطة:
#6
إن شاء الله سوف أقوم بشرح بسيط لعمل الأداة..
الرد }}}
تم الشكر بواسطة: أبوبكر سويدان
#7
يعتمد هذا المثال أساسا على الأدوات الآتية:
-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.
هذا شرح مبسط لآلية تنفيذ المثال المذكور شكرا..........
الرد }}}
تم الشكر بواسطة: أبوبكر سويدان
#8
بارك الله فيك... بس لدي سؤال.

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

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

بارك الله فيك.
الرد }}}
تم الشكر بواسطة:


التنقل السريع :


يقوم بقرائة الموضوع: بالاضافة الى ( 1 ) ضيف كريم