delphi4arab منتديات دلفي للعرب
HomeWork_08 تمرين تطبيقي - نسخة قابلة للطباعة

+- delphi4arab منتديات دلفي للعرب (https://delphi4arab.net/forum)
+-- قسم : منتديات دلفي للعرب التعليمية (https://delphi4arab.net/forum/forumdisplay.php?fid=3)
+--- قسم : تمارين دلفي وحلول (https://delphi4arab.net/forum/forumdisplay.php?fid=16)
+--- الموضوع : HomeWork_08 تمرين تطبيقي (/showthread.php?tid=630)



HomeWork_08 تمرين تطبيقي - STRELiTZIA - 26-02-2009

السلام عليكم و رحمة الله
اظن ان هذا التطبيق هو اسهل تطبيق Big Grin

المطلوب :
- وضع افكار و طرق صحيحة و جيدة لتنظيم مشروع دلفي و جعله احترافي Smile ليس الملف التنفيذي بل الملفات المصدرية و الأوامر الموضوعة فيه و كيفية جعله مشروع عمل جماعي.

هيا الكل يشارك :p

بالتوفيق ان شاء الله


HomeWork_08 تمرين تطبيقي - I_Tiger - 26-02-2009

على الاقل اظن انني اول من حل هذا التطبيق


HomeWork_08 تمرين تطبيقي - Dr.MOT - 26-02-2009

السلام عليكم ,,

حقيقة لم أفهم المطلوب بالظبط ؟ Big Grin

إقتباس :و كيفية جعله مشروع عمل جماعي.

هل تقصد نفس النقاط الموجوجهـ في الدرس ؟ :eek:

كــ وضع الأحرف الكبيرهـ ؟

ShowMessage بدلا من showmessage

أول نقطه وأول حل صحيح :p


HomeWork_08 تمرين تطبيقي - STRELiTZIA - 26-02-2009

إقتباس :حقيقة لم أفهم المطلوب بالظبط ؟
وضع افكار و طرق صحيحة و جيدة لتنظيم مشروع دلفي... يعني افكار ليست من الدرس تساعد في تنظيم المشروع، اي فكرة : طريقة كتابة الأوامر، اعدادات دلفي و اي شئ نستفيد منه جميعا ان شاء الله.

إقتباس :على الاقل اظن انني اول من حل هذا التطبيق
Smile
إقتباس :أول نقطه وأول حل صحيح
Smile


بالتوفيق ان شاء الله


HomeWork_08 تمرين تطبيقي - Dr.MOT - 27-02-2009

السلام عليكم ,,

مممم لا أعرف كيف أعبر عنها ,, لكن هي تنظيم الأوامر بين البلوك ,,

بحيث تكون :

PHP كود :
procedure TForm1.SpeedButton1Click(Sender: TObject);
begin
  
if Edit1.Text='Delphi4Arab' Then
  begin
    ShowMessage
('Hi Programmer''s');
    
Edit1.Text:='www.Delphi4Arab.com';
    
Form1.Caption:='Hello';
  
end;
end; 


بدلا من :

PHP كود :
procedure TForm1.SpeedButton1Click(Sender: TObject);
begin
if Edit1.Text='Delphi4Arab' Then
begin
ShowMessage
('Hi Programmer''s');
Edit1.Text:='www.Delphi4Arab.com';
Form1.Caption:='Hello';
end;
end; 


بالتوفيق Wink


HomeWork_08 تمرين تطبيقي - Goblin - 27-02-2009

[COLOR="RoyalBlue"]السلام عليكم و رحمة الله و بركاته

اعتقد لتنظيم العمل الجماعي فى المشروع, يجب اضافة ملاحظات (Comments), الكثير من الملاحظات, باستخدام ال // ![/COLOR]


HomeWork_08 تمرين تطبيقي - kachwahed - 28-02-2009

السلام عليكم
من أجل تقليص الكود توجد عدة حلول لاستعمال نفس الحدث لعدة المكونات:
1- أن نرفق نفس الحدث لكل المكونات بتحديد مجموعة المكونات واختيار نفس الحدث المرغوب فيه (من Object Inspector) أو:
2- إنشاء مكون TActionList وتحديد خاصية Action لكل مكون بالحدث المرغوب فيه (وبهذا نستغل خاصية ShortCut مثلا وخصائص أخرى)

وإذا كانت الأحداث متشابهة في الشكل ومختلف في القيم، فنجعل لها إجراء أو دالة مستقل (Fonction أو procedure ) ونعطيه معالم (paramters) نمرر من خلالها القيم المتغيرة.

أنا استعمل الدالة FindComponent مع خاصية Caption والاستفادة من المتغير Sender: TObject

مثلا في برنامج آلة حاسبة لا نكتب في حدث النقر على كل زر
كود :
Edit1.text := Edit1.text +Button[i].caption
حيث i تمثل رقم الزر الذي تم النقر عليه...، بل نكتفي بكتابة:
PHP كود :
Edit1.text := Edit1.text + (Sender as TButton).Caption; 
في أي زر ونمرر هذا الحدث لباقي أزرار الأرقام في الآلة الحاسبة.
ونكتب في OnKeyPress للنموذج Form1 الأمر:
PHP كود :
if key in ['0'..'9'] then
    
(FindComponent('Button'+ Key) as TButton).Click; 
وهكذا نختصر العشرات من الأسطر.

ولا ننسى عندما نريد وضع عشرة مكونات TButton دفعة واحدة، ننقر على الزر مع الضغط على مفتاح Shift ثم ننقر على النموذج Form1 عشرة مرات.

أيضا ما يلاحظ كثيرا استعمال مثل:
كود :
if CheckBox1.Checked = True then Edit1.Visible := True else Edit1.Visible := False;
ويمكن اختصاره بـ:
PHP كود :
Edit1.Visible := CheckBox1.Checked 

انتظروا...Smile فاتني التنبيه على أمر مهم جداما يحدث، أحيانا نريد تجربة مكون ما وعند إضافة بعض مكونات في النموذج (Form) يضيف Delphi اسم الوحدة العائدة لذلك المكون، ولكن عند حذفها لا يحذفها الدلفي فيبقى اسم الوحدة في قائمة Uses يثقل حجم البرنامج وقد يستغرب البعض لذلك.
فلا تنسى أن تحذف اسم الوحدات غير المستعملة في برنامجك.

الموضوع مهم، وهناك أشياء كثيرة يمكن قولها في هذا الشأن بعضها أكثر أهمية مما ذكرت، حاليا هذا ما يحضرني الآن.
والله أعلم.
شكرا كثيرا.



HomeWork_08 تمرين تطبيقي - hanipino - 28-02-2009

إقتباس : وضع افكار و طرق صحيحة و جيدة لتنظيم مشروع دلفي و جعله احتراف

واجهة الدالفى ايضا تساعد فى تنضيم المشروع . كل واحد يعمل فى البيئة التى تريحه .
انا افضل ان تكون واجهة الدالفى على هذا الشكل ... احسن من الواجهة الافتراضية . Smile

[صورة: sanstitreh.jpg]

خارج الموضوع Big Grin


HomeWork_08 تمرين تطبيقي - kachwahed - 03-03-2009

السلام عليكم
من المهم معرفة الحجم الذي يحجزه البرنامج من الذاكرة (لا أقصد حجم الملف التنفيذي)، وكذلك استعمال المكونات والأكواد الأصغر قدر الإمكان.
فلا ننسى مراقبة الحجم الذي يحجزه البرنامج من الذاكرة (ننظر في Task Manager باستمرار)
في الصورة حجم مشروع جديد فارغ:

[صورة: memoryt.jpg]


HomeWork_08 تمرين تطبيقي - paix144 - 04-09-2009

السلام عليكم
من الطرق التي أستعملها هو كتابة أفكار في ورقه و من الاحسن أن يتوفر لدينا كناش و قلم في الجيب لي عدم تضييع الافكار عندما تكون في الباس أو قبل النوم...إلخ