إشترك

كتيب لتعلم الطباعة باستحدام Quick Report في الدلفي 7



بسم الله الرحمان الرحيم السلام عليكم و رحمة الله تعالى و بركاته أنا اليوم انتهيت من تأليفي لبعض الوريقات لتعلم استخدام Quick Report  في الدلفي 7 و هذا الكتيب يحتوي على 12 صفحة و فيه الأجزاء التالية :


  • تثبيت معد التقارير في الحاسوب
  • تثبيت معد التقارير على الدلفي
  • التعامل مع معد التقارير
تحميل الكتيب من هنا
تحميل المكون من هنا
و السلام عليكم و رحمة الله تعالى و بركاته 

شرح تثبيت واجهات alphaskin +شرح التعامل معها


بسم الله الرحمان الرحيم
السلام عليكم و رحمة الله  تعالى و بركاته متابعي مدونتي مدونة تعلم دلفي ألقاكم اليوم في درس جديد و حصري و هو عن كيفية تثبيت الواجهات الرائعة من alphaskin  أو alphacontrols  حيث أن هذه الواجهات تمنح برنامجك شكلا رائعا و هناك العديد من الواجهات الرائعة المتوفرة في موقع www.alphaskins.com   أو التي يمكنك إنشائها بكل سهولة و نبدأ على بركة الله :
1-    الجزء الأول
شرح تثبيت alphacontrols
·        قم بتحميل الملف التالي " من هنا " و بعدها قم بفك الضغط على الملف ثم اتبع معي :
·        قم بالدخول إلى الملف الذي قمت بفك الضغط عنه ثم أدخل في ملف D7   و بعدها ابحث عن acntD7 و بعدها ادخل فيه " بواسطة دلفي" ثم ستظهر لك النافذة التالية :

·        اضغط على Install  و بعدها ستظهر لك نافذة تخبرك بنجاح التثبيت بعدها قم بنقل جميع الملفات الموجودة في D7  و قم بنقلها إلى المسار التالي :
C:\Program Files\Delphi7SE\Bin
وبعدها إذهب إلى قائمة component  من الشريط العلوي و اختر install packages .. ثم ستظهر لك نافذة إظغط على الزر add  ثم إذهب إلى المسار الموضح في الصورة التالية " الملون بالأصفر " بعدهها إضغط على ok 

و بهذا نكون قد انتهينا من تثبيت هذا المكون و الآن سننتقل للجزء الثاني من الموضوع و اذا واجهتكم أي مشكلة يمكنكم تصوير الشاشة ثم إرسال الصورة في تعليق أو كتابه المشكل فقط
2-    الجزء الثاني :
شرح التعامل مع alphacontrols
و الآن بعدما انهينا من  تثبيت المكونات يجب أن نقوم بتجريب المكونات في برامجنا و للقيام بهذا يجب إتباع الخطوات التالية :
·        قم بعمل مشروع جديد في الدلفي ثم توجه إلى لوحة المكونات و اختر مكون sSkinManage  من قائمة alpha tools  التي أضيفت عندما قمنا بتثبيت البرنامج و بعدها توجه إلى خواص المكون و قم بالتغير عليها هكذا :
الخاصية
التحويل إلى
Active
True

·        الآن اضغط مزدوجا على المكون sSkinManager1 لكي تظهر لك نافذة لاختيار الواجهة التي تريد في بداية الأمر ستظهر لك نافذة تحذير اضغط على ok  و بعدها ستظهر لك نافذة اضغط على add new  ثم ستظهر لك نافذة لاختيار الواجهة التي تفضلها أو المجلد الذي يحتوي على الواجهات المفضلة لديك إذا كان لديك فاخترها و اذا لم يكن لديك يوجد في الملف الذي قمت بفك الضغط عنه بعض الواجهات الرائعة في مجلد skins  و هذه هي الواجهة التي ستظهر لك :


·        اختر الشكل الذي يعجبك ثم اضغط على Ok  و بعدها على close  في النافذة التي ستظهر و بعدها جرب البرنامج لكي تلاحظ التغير
ملاحظة : بعد تثبيتك للمكونات ستجد أن هناك 3 قوائم قد أضيفت و هي  alpha tools  و alphastandard  و  alphadditional  
تنبيه : لكل من واجه أي مشكل يمكنه أن يقوم بتصويره أو كتابته في تعليق


و السلام عليكم و رحمة الله تعالى و بركاته

احترف التعامل مع الجمل الشرطية




بسم الله الرحمان الرحيم
السلام عليكم و رحمة الله تعالى و بركاته درس اليوم هو عن التعامل مع الجمل الشرطية بجميع الطريق من البداية حتى الاحتراف و نبدأ على بركة الله :
التعامل مع الجملة الشرطية if …….then……..else..;
تسمح لك هذه الجملة بالسماح بتنفيذ أمر ما في حالة توفرت الشروط كمثال : إذا آمنت بالله  إذاً ستدخل الجنة و إلا ستدخل النار و الأمر لا يختلف كثيرا في حال البرمجة بلغة الدلفي تابع معي هذا الأمثلة لكي تفهم الشرح :
المثال 1 : أضف المكونات التالية : Button1 و Edit1 و Shape1 حيث ستكون أداة Edit1 لكتابة النقطة و أداة Button1 للتحقق من النقطة و أداة Shape1 ستكون لإظهار اللون إما جيد أو عادي أو سيء .بعد أن تضيف المكونات قم بكتابة الكود التالي في حدث الضغط على الزر button1  :
Begin
if edit1.Text<='10' then
shape1.Brush.Color:=clred;
 سيقوم هذا بالتالي : إذا كان النص الموجود في edit1  أقل من أو يساوي 5 إذا لون أداة shape1  هو أحمر و لكن تابع معي :
إذا كانت أقل من 10 فاللون أحمر  و إذا كانت النقطة ما بين 11 و 15 فاللون أصفر و إذا كانت النقطة أكثر من 16 و لا تتجاوز 20 فاللون أخر هل يمكن للطريقة السابقة أن تحل لنا هذا المشكل سنجرب :
if edit1.Text<='10' then
shape1.Brush.Color:=clred;
if edit1.Text>='11' then
shape1.Brush.Color:=clyellow;
if edit1.Text<='15' then
shape1.Brush.Color:=clyellow;
if edit1.Text>='16' then
shape1.Brush.Color:=cllime;
if edit1.Text<='20' then
shape1.Brush.Color:=cllime;
لا تخف الأمر لن يعمل كما تريده جربه و قم بكتابة النقطة 1 فإنك سترى بأن اللون أصبح أخضر الآن جرب أي عدد و سيصبح اللن أحمر هل تعرف لماذا :
أولا دلفي يقوم بتنفيذ الأوامر حسب الترتيب فإذا كان الأمر الأول بالإغلاق و الثاني بالتلوين فلن يعمل الأمر الثاني و هذا أمر بديهي
ثانيا : الأعداد 5 أو 15 أو 8 أقل من العدد 20 فالبرنامج يقوم بالأتي مثلا عندما تقوم بكتابة العدد 3 : يطابقه مع الشرط الأول فيتغير اللون إلى الأحمر و لكنه لن ينتهي هنا بل يطابقه مع الشرط الثاني و الثالث فيجد أنه يتحقق معهما فيقوم بتغير الألوان بسرعة من الأحمر إلى الأصفر إلى الأخضر جرب حذف الشرط الأخير و ستجد أن جميع الأعداد الأقل من 15 تغير اللون للأصفر . أتمنى أن يكون الشرح مفهوما و الآن سنحاول إيجاد طريقة لحل المشكل :
الحل الأول : يتطلب الأمر أن تقوم بكتابة شرط لكل عدد أي استخدام المساوات فقط و يعني 20 شرطا
الحل الثاني : استخدام جملة In  لتحديد المدى و للقيام بهذه المهمة يجب أن تكون على معرفة بسيطة بالمتغيرات و التعامل معها و سنشرح عمل هذه الجمة بعد أن نقوم بحل المشكل السابق :
المثال2 : أحضر نفس المكونات السابقة في المثال الأول و بعدها قم بكتابة الكود التالي :
Var
I:integer;
Begin
I:=strtoint(edit1.text);
If I in [0..10] then
Shape1.brush.color:=clred;
شرح الكود :
في البداية قمنا بتعريف متغير i  من نوع رقمي صحيح  integer و بعدها بدأ الأمر حيث قمنا بالإشارة إلى أن قيمة المتغير i  تساوي قيمة النص الموجود في edit1  أما strtoint فهي للتحويل من القيمة النصية إلى القيمة الرقمية لكي يتم حسابها .
ثم قمنا بكتابة الجملة الشرطية  التالية : إذا كانت قيمة المتغير i   " الذي قمنا بمساواته بقيمة النص الموجود في الأداة " واحدة من القيم المحصورة في المدى التالي " المدى يبدأ من 0 إلى 10  " إذا لون أداة shape1   سيصبح أحمر
الحل الثالث : باستخدام جمل ربط الشرط  و التي يمكن شرحها هكذا :
جملة and  تعني الربط بين الشرطين و تحقق كلاهما لتنفيذ الأمر
جملة Or  تعني تحقق شرط من الشرطين لكي يتم تنفيذ الأمر
جملة  xor  تعني تنفيذ الأمر في حال تحقق شرط واحد من الشرطين
جملة not  تعني نفي الشرط فإذا كان الشرط صحيح يصبح خاطئ
في حالتنا يمكننا استخدام جملة or في هذا المثال :
مثال 3 :
قم بإضافة نفس المكونات السابقة و اكتب الأمر التالي في حدث الضغط على الزر
var
i:integer;
begin
i:=strtoint(edit1.text);
if  (i=1) or (i=2) or (i=3) then
shape1.Brush.Color:=clred;
شرح الكود : نفس الشرح السابق ما عدا أن في جملة الشرط هذه قمنا بتحديد مجموعة من القيم لمطابقتها و هي 1 و 2 و 3 فإذا كان النص الموجود في الأداة edit1 هو أحد هذه القيم يتحقق الشرط و ينفذ الأمر و لكن إذا كانت هناك مجموعة كبيرة من الأوامر كيف يمكن للبرنامج تنفيذها في آن واحد . تابع المثال :
مثال 4 : أضف نفس المكونات السابقة و بعدها  أضف الكود التالي في حدث الضغط على الزر
var
i:integer;
begin
i:=strtoint(edit1.text);
if  (i=1) or (i=2) or (i=3) then
begin
shape1.Brush.Color:=clred;
showmessage('bad');
end;
end;
end.
الشرح : نفسه و لكن قمنا بإضافة begin  جديدة و هي لبداية أمر جديد و لكن يجب إضافة end  أخرى لأن كل بداية لكود يجب أن تكون لها نهاية و الكود الذي كتبته كامل لذلك قم بإضافة end ; واحدة لسابقتها
و الآن سننتقل لمثال آخر يشرح لنا else  التي تعمل في حال عدم تحقق الشرط و أرجوا متابعة المثال التالي :
المثال 5:أضف المكونات التالية  edit1/button1/button2 و اجعل خاصية visible  لbutton2  تصبح  false  لكي لا تظهر  و بعدها أكتب الأمر التالي في حدث الضغط على الزر button1  
If edit1.text='1234' then button2.visible:=true else
Showmessage('this is not true');
الشرح : يقوم هذا البرنامج بمطابقة النص المكتوب في أداة edit1  فإذا كان 1234  فستظهر أداة button2  و أذا كان غير ذلك فستظهر له رسالة فيها this is not true  و الآن انتهينا من هذا الجزء
أنتبه : يجب أن لا تكتب ;  قبل كلمة else

التعامل مع الجملة الشرطية case…of
يمكن اعتبارها البديل الأنسب لسابقتها لتدخلها في المهمات الصعبة كالموجودة في المثال التالي:
مثال 6 : في هذا المثال سنقوم بإضافة المكونات التالية : button1 / edit1  و بعدها قم بكتابة الكود التالي في حدث الضغط على الزر button1 


Var
 X:integer;
Begin
X:=strtoint(edit1.text);
Case x of
1:showmessage('bad');
2:showmessage('bad');
3:showmessage('bad');
4:showmessage('bad');
5:showmessage('bad');
6:showmessage('bad');
7:showmessage('bad');
8:showmessage('bad');
9:showmessage('bad');
10:showmessage('bad');
11:showmessage('good');
شرح الكود :
قمنا بتعريف متغير x من نوع integer  و بعدها بدء الكود في بدايته قمنا بجعل قيمة النص الموجود في أداة edit1  تساوي قيمة المتغير x  و بعدها كتبنا الجملة الشرطية التي معناها الإجمالي هو " إذا كان x  أحد القيم المطابقة للقيم المذكورة فسينفذ الأمر الذي يقابل كل قيمة " و بعدها كتبنا قيما مثلا إذا كانت القيمة هي 8 فسيظهر رسالة مكتوب فيها سيء bad  و لكن ما ذا عن المدى . نعم يجب أن نعرف كيف نتعامل مع المدى و الطريقة في الكود التالي :
Var
 X:integer;
Begin
X:=strtoint(edit1.text);
Case x of
1..10:showmessage('bad');
11..15:showmessage('good');
16..20:showmessage('very good');
ما عليك إلا كتابة أعلى و أصغر قيمة في المدى و بينهما .. نقطتان و لكن إذا ما كانت هناك مجموعة من الأوامر في حال تحقق شرط ما .تابع الكود التالي :
Var
 X:integer;
Begin
X:=strtoint(edit1.text);
Case x of
1..10:
Begin
form1.caption:='bad';
showmessage('bad');
End;
11..15:
Begin
form1.caption:='good';
 showmessage('good');
End;
16..20:
End;
Begin
form1.caption:='very good';
showmessage('very good');
الأمر واضح يجب أن تكتب الشرط مثلا " 15..16: " و بعدها تكتب begin  ثم تكتب الأوامر و بعدها تكتب end;  و لكن في حال لم يتحقق شرط ما يمكن إضافة else  بعد نهاية أوامر تحقق الشرط كما يوضح الكود التالي  :هذا الكود جزء فقط
Case x of
1..10:
Begin
form1.caption:='bad';
showmessage('bad');
End;
Else
showmessage('not true');

و بهذا ينتهي درس اليوم و ألقاكم في درس آخر و لمن وجد أخطاء في الأكواد تفضلوا الموضوع في ملف pdf  من هنا
و السلام عليكم و رحمة الله تعالى و بركاته
جميع الحقوق محفوظة لــ تعلم دلفي بالعربية 2015 ©