http://qanonnet.net/

العودة   .:: منتديات العاصفة ::. > عالم البرمجة والمبرمجين > منتدى الدلفي

مشاهدة نتائج الإستطلاع: ما رأيك في درس اليوم ؟
ممتاز 7 77.78%
جيد 2 22.22%
لا بأس به 0 0%
المصوتون: 9. أنت لم تصوت في هذا الإستطلاع

إضافة رد
 
LinkBack أدوات الموضوع انواع عرض الموضوع
قديم 09-01-2009, 09:18   المشاركة رقم: 1
المعلومات
الكاتب:
اللقب:
:: عضو محترف ::
الصورة الرمزية
 
الصورة الرمزية saif5

البيانات
التسجيل: Jul 2008
العضوية: 188848
المشاركات: 613 [+]
بمعدل : 0.35 يوميا
اخر زياره : [+]

التوقيت

الإتصالات
الحالة:
saif5 غير متصل
وسائل الإتصال:

المنتدى : منتدى الدلفي
شرح برمجة بعض البرامج المشهورة والمفيدة بالدلفي ,,



برمجة البرامج المشهورة والمفيدة بالدلفي

اليوم قلت أعمل لكم موضوع يكون سهل و ممتع في نفس الوقت و هو برمجة بعض البرامج المعروفة

مثل Run و ساعة و آلة حاسبة و مصور للشاشة (طلب أخي moh__) ووو إلخ ...

برمجة البرامج المشهورة والمفيدة بالدلفي

و بإسم الله نبدأ بـ Run :

أولاا نفتح الدلفي و مشروع جديد من نوع (Application) مثل هذه الصورة :

برمجة البرامج المشهورة والمفيدة بالدلفي

و الآن أدرج و سمي الكائنات مثل هذه الصورة :

برمجة البرامج المشهورة والمفيدة بالدلفي

و تذكر أن تعملها مثل برنامج تشغيل الويندوز ,,

المهم بعد أن تعدل على الكائنات نبدأ بكتابة الشيفرة ( المرحلة المفضلة عندي برمجة البرامج المشهورة والمفيدة بالدلفي )

أولاا لا تنسى أن تصرح في Uses

كود:
ShellApi
و الآن ضع هذه الشيفرة في زر Ok

كود:
shellexecute(0,nil,pchar(combobox1.Text),nil,nil,1);
combobox1.Items.Add(combobox1.text);
و هذه الشيفرة في زر Cancel

كود:
application.Terminate;
و هذه الشيفرة في زر Browser

كود:
cd.Execute;
if cd.FileName <> '' then
combobox1.Text:=cd.FileName;
و في Timer

كود:
if combobox1.Text = '' then
button1.Enabled:=false else
button1.Enabled:=true;
و في combobox1 الحدث Keypress هذه

كود:
if key=#13 then begin
shellexecute(0,nil,pchar(combobox1.Text),nil,nil,1);
combobox1.Items.Add(combobox1.text);
end;
و لا تنسى أن تسمي Opendialog بـ cd

و تضبط Intreval الخاصة بـ Timer على 50 أو 100

و في الآخر جرب و رد علي ,,

و هذه صورة توضح الفرق Run التي برمجناها و Run للويندوز :

برمجة البرامج المشهورة والمفيدة بالدلفي

ههههه أظن لو Microsoft لن تكشفها هه

و هذا السورس كود :

هــــــــــــــــــــــــــنـــــــــــــا

و أي أخطاء في هذا الدرس أرجو تنبيهي ,,

برمجة البرامج المشهورة والمفيدة بالدلفي

البرنامج الثاني ( ساعة ) :

أولاا نفتح الدلفي و مشروع جديد من نوع (Application) مثل هذه الصورة

برمجة البرامج المشهورة والمفيدة بالدلفي

و ندرج و نعدل الكائنات مثل هذه الصورة :

برمجة البرامج المشهورة والمفيدة بالدلفي

و الآن حان وقت كتابة الشيفرة :

شيفرة Timer

كود:
label1.Caption:='Time : ' + timetostr(time);
label2.Caption:='Date : ' + datetostr(date);
و شيفرة التعديل على الوقت و التاريخ :

نعرف أولا بعض الأشياء و نضع هذه قبل Begin

كود:
var
  SystemTime: TSystemTime;
  NewTime, NewDate: string;
و الآن تحت Begin

كود:
if (edit1.text = '' ) or (edit2.Text = '' ) then
MessageDlg('Please Insert New Time and Date first ! / SAIF5',mtwarning,[mbOk],0) else begin
  NewTime := edit1.text;
  NewDate := edit2.text;
  DateTimeToSystemTime(StrToDate(NewDate) + StrToTime(NewTime), SystemTime);
  SetLocalTime(SystemTime);
end;

و مبروووك عليك البرنامج الجديد ههه

و هذا السورس كود :

هـــــــــــــــــــــنــــــــــــا

و أي أخطاء في هذا الدرس أرجو تنبيهي ,,

برمجة البرامج المشهورة والمفيدة بالدلفي

البرنامج الثالث ( آلة حاسبة )

أولاا نفتح الدلفي و مشروع جديد من نوع (Application) مثل هذه الصورة

برمجة البرامج المشهورة والمفيدة بالدلفي

و ندرج و نعدل الكائنات مثل هذه الصورة :

برمجة البرامج المشهورة والمفيدة بالدلفي

و الآن حان وقت البرمجة ,,

أولاا في زر = نكتب هذه الشيفرة :

كود:
if (edit1.Text = '') or (edit2.Text = '') then
MessageDlg('Please Insert Numbers First ! / SAIF5',mtinformation,[mbOk],0)
else if RadioButton1.Checked = true then
label1.Caption:=floattostr(strtofloat(edit1.Text) + strtofloat(edit1.Text))
else if RadioButton2.Checked = true then
label1.Caption:=floattostr(strtofloat(edit1.Text) - strtofloat(edit1.Text))
else if RadioButton3.Checked = true then
label1.Caption:=floattostr(strtofloat(edit1.Text) * strtofloat(edit1.Text))
else if RadioButton4.Checked = true then
label1.Caption:=floattostr(strtofloat(edit1.Text) / strtofloat(edit1.Text));
و لكي نتجنب حدث أخطاء نكتب في حدث Keypress الخاص بـ Edit1 و Edit2 هذه الشيفرة :

كود:
if (key <#48) or (key >#57) then
if key<>#8 then
begin
key:=#0;
end;
طبعاا هذه الشيفرة لا تسمح إلا بكتابة الأرقام فقط !

و هذا السورس كود :

هــــــــــــــــــــنــــــــــــــــا


و أي أخطاء في هذا الدرس أرجو تنبيهي ,,

برمجة البرامج المشهورة والمفيدة بالدلفي

البرنامج الرابع ( مصور الشاشة ) :

طبعاا هذا الدرس الخاص بتصوير الشاشة عملته للأخ moh__ لأنه طلب مني ذلك في قسم الفيجوال بيسك ,,

و هذا الدرس إهداء له , و أيضاا لجميع الأعضاء و المشرفين القائمين على هذا المنتدى العزيز ,,

المهم , أولاا نفتح الدلفي و مشروع جديد من نوع (Application) مثل هذه الصورة

برمجة البرامج المشهورة والمفيدة بالدلفي

و ندرج و نعدل الكائنات مثل هذه الصورة :

برمجة البرامج المشهورة والمفيدة بالدلفي

و الآن حان وقت البرمجة ,,

أولاا راح نضع هذه procedure في هذا المكان لمن الذي لا يعرف ,,

برمجة البرامج المشهورة والمفيدة بالدلفي

و هذه هي :

كود:
{Procedure ScreenShot version 0.0.1
Codey BY SAIF5 !}
procedure ScreenShot(DestBitmap : TBitmap) ;
var
  DC : HDC;
begin
  DC := GetDC (GetDesktopWindow) ;
  try
   DestBitmap.Width := GetDeviceCaps (DC, HORZRES) ;
   DestBitmap.Height := GetDeviceCaps (DC, VERTRES) ;
   BitBlt(DestBitmap.Canvas.Handle, 0, 0, DestBitmap.Width, DestBitmap.Height, DC, 0, 0, SRCCOPY) ;
  finally
   ReleaseDC (GetDesktopWindow, DC) ;
  end;
end;
و طبعا الآن راح نستدعيها من زر التصوير , يعني هذه الشيفرة في زر Capture

أولاا قبل Begin

كود:
var
b:TBitmap;
و الآن بعد Begin

كود:
b := TBitmap.Create;
try
ScreenShot(b) ;
Image1.Picture.Bitmap.Assign(b) ;
finally
b.FreeImage;
FreeAndNil(b) ;
end;
و جرب و شوف سرعة التصوير !!!

فقط و طبعا إذا أراد أحد يعمل تصوير فيديو يضع الشيفرة السايقة في Timer و خلاااص ,,

و هذا السورس كود :

هــــــــــــنـــــــــــــا

و أي أخطاء في هذا الدرس أرجو تنبيهي ,,

برمجة البرامج المشهورة والمفيدة بالدلفي

و الله كنت راح شرح المزيد مثل عمل برنامج تشغيل صوتيات mp3 و عمل الإيديت سيرفر و تغيير الأيقونات وو ..

لكني هذه الأيام مشغول قليلاا لذلك قلت مواضيعي في هذا القسم , و إن شاء الله لم أكون فاضي و رائق أنا راح أشرح بالتفصيل الممل برمجة البرامج المشهورة والمفيدة بالدلفي

و في الآخر هذه الصور إذا لم تظهر لي أحد :

هــــــنــــــــــا

و هذه جميع المشروعات المستعملة في الدروس :

هـــــــــــنــــــــا

و أي أحد عنده سؤال أو إستفسار في الموضوع فلا يتردد برمجة البرامج المشهورة والمفيدة بالدلفي

و الله يحفظكم جميعااااآ ,,












توقيع : saif5

إنتقلت إلى برمجة الأنظمة ...
الوداع يالعاصفة ,,

عرض البوم صور saif5   رد مع اقتباس


قديم 09-01-2009, 03:37   المشاركة رقم: 2
المعلومات
الكاتب:
اللقب:
:: عضو نشيط ::

البيانات
التسجيل: Apr 2008
العضوية: 168857
المشاركات: 80 [+]
بمعدل : 0.04 يوميا
اخر زياره : [+]

التوقيت

الإتصالات
الحالة:
moh__ غير متصل
وسائل الإتصال:

كاتب الموضوع : saif5 المنتدى : منتدى الدلفي

مـــــــا شــــــــــــــــــاء الـــــــــــــــــلــــــــــــــــه عـــــــلــــــــــيـــــــــــــــــــك

انت اخي دائما مبدع...
ونريد مزيد من هذه الدروس...
لأنها فعلا مفيدة...

في المرة الماضية دخلت الى قسم الدلفي...
وقلت ... ما في دروس جديدة من زمان...

قلت خير ان شاء الله...
حدثت نفسي اني ادخل لأرى اش الفيجواليّين في قسم الفيجوال بيزيك بيعملوا

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

وشكرا كثيرا على تلبة طلبي...
وفعلا.. شئ مدهش...

بارك الله فيك

وعذرا مرة اخرى
والسلام عليكم












عرض البوم صور moh__   رد مع اقتباس
قديم 09-01-2009, 06:15   المشاركة رقم: 3
المعلومات
الكاتب:
اللقب:
:: عضو نشيط ::

البيانات
التسجيل: Nov 2008
العضوية: 209580
المشاركات: 46 [+]
بمعدل : 0.03 يوميا
اخر زياره : [+]

التوقيت

الإتصالات
الحالة:
RED CODE غير متصل
وسائل الإتصال:

كاتب الموضوع : saif5 المنتدى : منتدى الدلفي

[align=center]مشكور يا أخ saif5

صحيح انها برامج بسيطه لكن تفيد للفهم

[/align]












عرض البوم صور RED CODE   رد مع اقتباس
قديم 09-01-2009, 07:55   المشاركة رقم: 4
المعلومات
الكاتب:
اللقب:
:: عضو مميز ::

البيانات
التسجيل: Jul 2008
العضوية: 190790
المشاركات: 239 [+]
بمعدل : 0.14 يوميا
اخر زياره : [+]

التوقيت

الإتصالات
الحالة:
رائد المحبة غير متصل
وسائل الإتصال:

كاتب الموضوع : saif5 المنتدى : منتدى الدلفي

رائـــــــــع أخي سيف... بارك الله فيك..
المنتدى فعلا تحيينه ضعيف ولكن تأكدوا أن بعد بضعة أشهر سيصير قلعة لتعليم الدلفي خصوصا وإني أرى الجماعة مواظبة على الدلفي في المنتديات المتخصصة صح!?












عرض البوم صور رائد المحبة   رد مع اقتباس
قديم 10-01-2009, 04:35   المشاركة رقم: 5
المعلومات
الكاتب:
اللقب:
:: عضو محترف ::
الصورة الرمزية
 
الصورة الرمزية saif5

البيانات
التسجيل: Jul 2008
العضوية: 188848
المشاركات: 613 [+]
بمعدل : 0.35 يوميا
اخر زياره : [+]

التوقيت

الإتصالات
الحالة:
saif5 غير متصل
وسائل الإتصال:

كاتب الموضوع : saif5 المنتدى : منتدى الدلفي

اقتباس:
مـــــــا شــــــــــــــــــاء الـــــــــــــــــلــــــــــــــــه عـــــــلــــــــــيـــــــــــــــــــك

انت اخي دائما مبدع...
ونريد مزيد من هذه الدروس...
لأنها فعلا مفيدة...

في المرة الماضية دخلت الى قسم الدلفي...
وقلت ... ما في دروس جديدة من زمان...

قلت خير ان شاء الله...
حدثت نفسي اني ادخل لأرى اش الفيجواليّين في قسم الفيجوال بيزيك بيعملوا

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

وشكرا كثيرا على تلبة طلبي...
وفعلا.. شئ مدهش...

بارك الله فيك

وعذرا مرة اخرى
والسلام عليكم
منورررررررررر أخي moh__ ,,

و هذا أقل وااجب , و لا خير في كاتم العلم

شااااكر تواصلك الجميل



اقتباس:
مشكور يا أخ saif5

صحيح انها برامج بسيطه لكن تفيد للفهم
منووورررر أخي RED CODE,,

و شاااكر تواصلك



اقتباس:
رائـــــــــع أخي سيف... بارك الله فيك..
المنتدى فعلا تحيينه ضعيف ولكن تأكدوا أن بعد بضعة أشهر سيصير قلعة لتعليم الدلفي خصوصا وإني أرى الجماعة مواظبة على الدلفي في المنتديات المتخصصة صح!?
و الأروع مرورك الجميل أخي رائد المحبة ,,

شاااااكر تواصلك












توقيع : saif5

إنتقلت إلى برمجة الأنظمة ...
الوداع يالعاصفة ,,

عرض البوم صور saif5   رد مع اقتباس
قديم 10-01-2009, 06:46   المشاركة رقم: 6
المعلومات
الكاتب:
اللقب:
.:: عضو قدير ::.
الصورة الرمزية
 
الصورة الرمزية donkey85

البيانات
التسجيل: Jun 2003
العضوية: 11157
المشاركات: 1,225 [+]
بمعدل : 0.34 يوميا
اخر زياره : [+]

التوقيت

الإتصالات
الحالة:
donkey85 غير متصل
وسائل الإتصال:

كاتب الموضوع : saif5 المنتدى : منتدى الدلفي

و الله الإبداع من صفاتك

موضوعك 5/5

تصدق شجعتني اتعلم الدلفي لأني انا من هواة الفيجوال

لكن الأن افكر بشكل جدي للإنتقال

بتمنى تعطيني نصيحتك لأني اعتز بنصائحك












توقيع : donkey85

بيتك من قزاز لا ترمي الناس بحجرك


لا تلعب بالنار تحرق صابيعك



عرض البوم صور donkey85   رد مع اقتباس
قديم 10-01-2009, 08:11   المشاركة رقم: 7
المعلومات
الكاتب:
اللقب:
:: عضو محترف ::
الصورة الرمزية
 
الصورة الرمزية saif5

البيانات
التسجيل: Jul 2008
العضوية: 188848
المشاركات: 613 [+]
بمعدل : 0.35 يوميا
اخر زياره : [+]

التوقيت

الإتصالات
الحالة:
saif5 غير متصل
وسائل الإتصال:

كاتب الموضوع : saif5 المنتدى : منتدى الدلفي

اقتباس:
المشاركة الأصلية كتبت بواسطة donkey85 مشاهدة المشاركة
و الله الإبداع من صفاتك

موضوعك 5/5

تصدق شجعتني اتعلم الدلفي لأني انا من هواة الفيجوال

لكن الأن افكر بشكل جدي للإنتقال

بتمنى تعطيني نصيحتك لأني اعتز بنصائحك
و الله أنت العز كله أخي العزيز donkey85 ,,

طبعاا بالنسبة للدلفي فأظن لن توجد لغة برمجة مثله في السهولة و القوة

لأن الدلفي يعطينا سهولة في التعامل مع أنظمة التشغيل و الأجهزة ووو

فالنفرض أنك تريد عمل برنامج يتعامل مع الرجستري بالفيجوال بيسك

طبعااا راح تعمل طن من الأكواد و يمكن لا يشتغل , و لكن لو نأتي للدلفي كل ما علينا هو وضع

كلمة Registry في Uses لكي نخبر الدلفي بأننا نريد أن نتعامل مع محرر التسجيل و خلاااص

نكتب إلا بعض الأسطر السهلة ,,



و أيضا الدلفي لا يحتاج الي أي ملفات أو مكتبات عن تحويل البرنامج الي ملف تنفيذي، أما فيجوال

بيزيك فإنك تحصل على ملف تنفيذي صغير ولكن مع جيش من مكتبات الربط الديناميكي (DLL) مما يجعل

توزيع ملفات بحاجة إلي تحضير جيد ليعمل برنامجك على أي جهاز و الدلفي مثلها مثل فيجوال سي++ و جافا

لغة برمجة شيئية Full object oriend ولكن فيجوال بيزيك لم تصل إلي مثل هذه المرحلة بعد، سوف تصبح أخيرا

لغة فيجوال بيزيك مع VB .NET ولكن على حساب تغير اللغة نفسها وهذا جعل الكثير من المبرمجين يلومون

ميكروسوفت على هذه الخطوة وهناك منهم من إنتقل الي البرمجة بلغي سي++ أو دلفي حيث ان هذه اللغات

أقوي في هذا المجال.

و أنا سمعت عن الكثير ينتقل من بيئة فيجوال بيزيك إلي الدلفي ولكن لم أسمع بالعكس، وهناك الكثير من

المطورين المحترفين إنتقلو من فيجوال بيزيك إلي بيئة الدلفي ومنهم بروس مكيني Bruce McKinney وهو ألف

كتاب من أقوي الكتب الخاصة بيفجوال بيزيك ولكنه إنتقل إلي الدلفي ,,

و أريد أن أقتبس عبارة منه وهي :

اقتباس:
"Visual Basic makes the easy things easier; Delphi makes the hard things easier"
" فيجوال بيزيك يجعل الأشياء السهلة أسهل، ولكن الدلفي يجعل الأمور الصعبة أسهل"

و أيضا عندما تريد الوصول إلي موقع معين في الذاكرة أو تتعامل مع مواقع الذاكرة مباشرة أو حتي إذا أردت أن

تتعامل مع الهاردوير مباشرة فإنك سوف تحتاج للتعامل مع مواقع المتغيرات وليس المتغيرات نفسها ولذلك سوف

تستخدم ال pointers ولكن فيجوال بيزيك لا يوجد فيها إمكانية إستخدام ال Pointers أما بالنسبة للهاردوير فإنه

بإمكانك أن تتعامل مع لغة الأسمبلي من خلال دلفي حتى تجعل أجزاء من برامجك تعمل بشكل أسرع وأقوي

ولكن فيجوال بيزيك ليس لديها الإمكانية أن تتعامل مع لغة الأسمبلي.

و الفيجوال بيزيك ليس لديها الإمكانية أن تبني مكتبات DLL ولكن بإمكانك أن تبني فيها ActiveX COM DLL أما

الدلفي فإن لها إمكانية أن تبني الإثنين وأيضا ActiveX Controls وبإستطاعك بعد ذلك إستخدامها في أي لغة

برمجة أو حتى على الإنترنت، يوجد إمكانية لبناء ActiveX Controls في الفيجوال بيزيك، ولكن المصيبة أنها لن

تعمل في حال عدم وجود مكتبات الربط الخاصة بفيجوال بيزيك وهي MSVBVM60.DLL في حال إستخدامك

للفيجوال بيزيك 6 وحجم هذا الملف أكثر من 1MB وأعتقد أنه ليس من المنطق أن تبني أكتف أكس كونترول

وتصحب معه ملف حجمة أكثر من 10 اضعاف حجم الكونترول الذي سو تبنيه !! ,,

و بالنسبة لسهولة اللغة هناك مقولة خاطئة وهي أن الفيجوال بيزيك أسهل في التعلم أما الدلفي لأنها أقوى

هي أصعب، أنا أدرس اللغتين وتقريبا في البرامج البسيطة السهولة متوفرة لكلتا اللغتين، ولكن في البرامج الكبيرة

يصبح العمل مع فيجوال بيزيك أصعب وأعتقد، و أود أن أقول لكل من جرب برمجة قواعد البيانات في فيجوال بيزيك

أنها أصعب بكثير من الدلفي , و هذا موضوع لي أنا يظهر للجميع سهولة قواعد البيانات في الدلفي :

http://www.3asfh.net/vb/showthread.php?t=88294

و أيضا في مجال الأنترنت، ليس لدي الكثير من الخبرة في هذا المجال، ولكن الدلفي تعتبر قوية في هذا المجال

وهناك الكثير من المواقع التي صممت بإستخدام الدلفي وبإمكانك أن تستخدم أي تقنية للأنترنت مع الدلفي

مثل CGI, ISAPI,ASP,WEB SNAP, SOAP,XML و غيرهااآ ,,

و أهم شي إن الدلفي طورت دلفي بإستخدام الدلفي أما الفيجوال بيزيك طورت بإستخدام Visual C++ 6.0

و لا أريد أن أطيل عليك أكثر من ذلك ولكن أردت فقط أن أوضح بعض النقاط ، حتي تكون مرتاح بشكل كبير مع إختيارك إخي donkey85 ,,

و الله يحفظك ,,












توقيع : saif5

إنتقلت إلى برمجة الأنظمة ...
الوداع يالعاصفة ,,

عرض البوم صور saif5   رد مع اقتباس
قديم 13-01-2009, 10:41   المشاركة رقم: 8
المعلومات
الكاتب:
اللقب:
:: عضو محترف ::
الصورة الرمزية
 
الصورة الرمزية Der Tunisiano

البيانات
التسجيل: Sep 2008
العضوية: 200923
المشاركات: 585 [+]
بمعدل : 0.34 يوميا
اخر زياره : [+]

التوقيت

الإتصالات
الحالة:
Der Tunisiano غير متصل
وسائل الإتصال:

كاتب الموضوع : saif5 المنتدى : منتدى الدلفي

الف شكر يا باشا












توقيع : Der Tunisiano

[align=center][/align]

[align=center][/align]


©•*˜&#197;иŤİ √ĭяцŝ©•*˜



HTTP@donkey.ExE

عرض البوم صور Der Tunisiano   رد مع اقتباس
قديم 14-01-2009, 05:21   المشاركة رقم: 9
المعلومات
الكاتب:
اللقب:
:: عضو محترف ::
الصورة الرمزية
 
الصورة الرمزية saif5

البيانات
التسجيل: Jul 2008
العضوية: 188848
المشاركات: 613 [+]
بمعدل : 0.35 يوميا
اخر زياره : [+]

التوقيت

الإتصالات
الحالة:
saif5 غير متصل
وسائل الإتصال:

كاتب الموضوع : saif5 المنتدى : منتدى الدلفي

اقتباس:
المشاركة الأصلية كتبت بواسطة Der Tunisiano مشاهدة المشاركة
الف شكر يا باشا
لا شكر على وااجب ,,

و منووررر أخي Der Tunisiano












توقيع : saif5

إنتقلت إلى برمجة الأنظمة ...
الوداع يالعاصفة ,,

عرض البوم صور saif5   رد مع اقتباس
قديم 15-01-2009, 06:15   المشاركة رقم: 10
المعلومات
الكاتب:
اللقب:
مشرف اختراق البريد والأجهزة

البيانات
التسجيل: Aug 2007
العضوية: 142593
المشاركات: 3,851 [+]
بمعدل : 1.84 يوميا
اخر زياره : [+]

التوقيت

الإتصالات
الحالة:
Dr.MOT غير متصل
وسائل الإتصال:

كاتب الموضوع : saif5 المنتدى : منتدى الدلفي

جزاك الله كل خير اخي الغالي ,, لكن يا ليت لو سمحت شرح بسيط للأكواد ,,

وشكرا












توقيع : Dr.MOT

-------------------------------

-------------------------------

يعلم الله الظروف التي أمر بها والتي تجبرني على الانقطاع عن المنتدىآ . . . أسأل الله أن يعجل الفرج

عرض البوم صور Dr.MOT   رد مع اقتباس
قديم 15-01-2009, 07:54   المشاركة رقم: 11
المعلومات
الكاتب:
اللقب:
:: عضو محترف ::
الصورة الرمزية
 
الصورة الرمزية saif5

البيانات
التسجيل: Jul 2008
العضوية: 188848
المشاركات: 613 [+]
بمعدل : 0.35 يوميا
اخر زياره : [+]

التوقيت

الإتصالات
الحالة:
saif5 غير متصل
وسائل الإتصال:

كاتب الموضوع : saif5 المنتدى : منتدى الدلفي

اقتباس:
المشاركة الأصلية كتبت بواسطة Dr.MOT مشاهدة المشاركة
جزاك الله كل خير اخي الغالي ,, لكن يا ليت لو سمحت شرح بسيط للأكواد ,,

وشكرا
يا أهلااا بالدكتور ,,

و الله أنا كتبت الأكواد بدون شرح لأني كنت مستعجل قليلااآ , و لكن أنا قلت في آخر الموضوع :

اقتباس:
و أي أحد عنده سؤال أو إستفسار في الموضوع فلا يتردد
لكي أي شخص يواجه مشكلة يخبرني و أنا راح أشرح بتفصيل أكثر ,,

المهم أنا سوف أشرح الأكواد :

أولااا في درس عمل Run و أول كود بالضبط هو

كود:
Shellapi
طبعا هذه توضع في Uses لكي نستطيع فتح أو تشغيل أي شي في النظام أو الأنترنت ,,

ثاني كود :

كود:
shellexecute(0,nil,pchar(combobox1.Text),nil,nil,1);
combobox1.Items.Add(combobox1.text);
في أول سطر قمنا بتحديد الإسم أو الوصلة التي سوف تشغل و من ثم شغلناها

في ثاني سطر قمنا بإضافة الإسم المكتوب في Combobox1 إلى Items الخاصة به ,,

الكود الثالث :

كود:
application.Terminate;
طبعاا أظن لا تحتاج شرح و هي لغق البرنامج و يمكن إستبدالها بـ :

كود:
halt(0);
أو فقط :

كود:
Close;
الكود الرابع :

كود:
cd.Execute;
if cd.FileName <> '' then
combobox1.Text:=cd.FileName;
في السطر الأول قمنا بتشغيل أمر الفتح

و السطر الثاني و الثالث قمنا بإعطاء شرط و هو إذا كان OpenDialog ليس فارغ إذا يتم إضافة الإسم في Combobox1 ,,

الكود الخامس :

كود:
if combobox1.Text = '' then
button1.Enabled:=false else
button1.Enabled:=true;
السطر الأول و الثاني و الثالث قمنا بإعطاء شرط و هو إذا كان Combobox1 فارغ إذا يصبح الزر غير مفعل و إلا يصبح مفعل ,,

الكود السادس و الأخير :

كود:
if key=#13 then begin
shellexecute(0,nil,pchar(combobox1.Text),nil,nil,1);
combobox1.Items.Add(combobox1.text);
end;
في السطر الأول أعطينا شرط و هو إذا تم الضغط على أنتري إذا في السطر الثاني يتم تشغيل ما المكتوب في Combobox1

و السطر الثالث يتم إضافة المكتوب في Combobox1 إلى Items الخاصة به ,,



الآن في درس عمل الساعة ,,

الكود الأول :

كود:
label1.Caption:='Time : ' + timetostr(time);
label2.Caption:='Date : ' + datetostr(date);
في السطر الأول يتم إظهار الوقت في Label1

و في السطر الثاني يتم إظهار التاريخ في Label2

الكود الثاني :

كود:
var
  SystemTime: TSystemTime;
  NewTime, NewDate: string;
طبعا في السطر الأول قمنا بتعريف SystemTime على TSystemTime

و السطر الثاني NewTime و NewDate على String (يعني قيم حرفية) ,,

الكود الثالث :

كود:
if (edit1.text = '' ) or (edit2.Text = '' ) then
MessageDlg('Please Insert New Time and Date first ! / SAIF5',mtwarning,[mbOk],0) else begin
  NewTime := edit1.text;
  NewDate := edit2.text;
  DateTimeToSystemTime(StrToDate(NewDate) + StrToTime(NewTime), SystemTime);
  SetLocalTime(SystemTime);
end;
في السطر الأول أعطينا شرط و هو إذا كانت Edit1 أو Edit2 فارغة إذا

في السطر الثاني يتم إظهار رسالة أو يتم البدء

في السطر الثالث و هو جعل NewTime تساوي Edit1 ( يعني تأخذ منها الوقت الجديد )

و في السطر الرابع جعل NewDate تساوي Edit2 ( يعني تأخذ منها الوقت الجديد )

و في السطر الخامس و السادس هو أمر التغيير ,,



في درس الآلة الحاسبة ,,

الكود الأول :

كود:
if (edit1.Text = '') or (edit2.Text = '') then
MessageDlg('Please Insert Numbers First ! / SAIF5',mtinformation,[mbOk],0)
else if RadioButton1.Checked = true then
label1.Caption:=floattostr(strtofloat(edit1.Text) + strtofloat(edit1.Text))
else if RadioButton2.Checked = true then
label1.Caption:=floattostr(strtofloat(edit1.Text) - strtofloat(edit1.Text))
else if RadioButton3.Checked = true then
label1.Caption:=floattostr(strtofloat(edit1.Text) * strtofloat(edit1.Text))
else if RadioButton4.Checked = true then
label1.Caption:=floattostr(strtofloat(edit1.Text) / strtofloat(edit1.Text));
طبعااا الكود هذا سهل جداااا

في السطر الأول قمنا بإعطاء شرط و هو إذا كانت Edit1 أو Edit2 فارغة إذا يتم إظهار رسالة

في السطر الثاني و إلا إذا كانت Edit1 أو Edit2 ليست فارغة إذا

نقوم بإعطاء شرط جديد في السطر الثالث و هو إذا كانت RadioButton1 معلمة من قبل المستخدم

إذا يتم جمع ما المكتوب في Edit1 و Edit2 و يتم إظهار النتيجة في Label1

و إلا إذا كانت RadioButton2 معلمة من قبل المستخدم إذا يتم طرح ما المكتوب في Edit1 و Edit2

و إظهار النتيجة في Label1

و إلا إذا كانت RadioButton3 معلمة من قبل المستخدم إذا يتم ضرب ما المكتوب في Edit1 و Edit2

و إظهار النتيجة في Label1

و إلا إذا كانت RadioButton4 معلمة من قبل المستخدم إذا يتم تقسيم ما المكتوب في Edit1 و Edit2
و إظهار النتيجة في Label1 ,,

الكود الثاني :

كود:
if (key <#48) or (key >#57) then
if key<>#8 then
begin
key:=#0;
end;

طبعا في السطر الأول قمنا بإعطاء شرط و هو إذا تم الضغط على مفتاح من لوحة المفاتيح أقل من #48 أو أكبر من #57 إذا نعطي شرط

في السطر الثاني و هو إذا تم الضغط على مفتاح من لوحة المفاتيح أقل أو أكبر من #8 إذا يتم البدء

في السطر الرابع و هو جعل الكتابة في النموذج 0 ( يعني لا يستطيع الكتابة ) ,,



في درس تصوير الشاشة ,,

الكود الأول :

كود:
{Procedure ScreenShot version 0.0.1
Codey BY SAIF5 !}
procedure ScreenShot(DestBitmap : TBitmap) ;
var
  DC : HDC;
begin
  DC := GetDC (GetDesktopWindow) ;
  try
   DestBitmap.Width := GetDeviceCaps (DC, HORZRES) ;
   DestBitmap.Height := GetDeviceCaps (DC, VERTRES) ;
   BitBlt(DestBitmap.Canvas.Handle, 0, 0, DestBitmap.Width, DestBitmap.Height, DC, 0, 0, SRCCOPY) ;
  finally
   ReleaseDC (GetDesktopWindow, DC) ;
  end;
end;
طبعااا هذه procedure التصوير ,,


الكود الثاني :

كود:
var
b:TBitmap;
تعريف B على TBitmap

الكود الثالث و الأخير :

كود:
b := TBitmap.Create;
try
ScreenShot(b) ;
Image1.Picture.Bitmap.Assign(b) ;
finally
b.FreeImage;
FreeAndNil(b) ;
end;
في السطر الأول b تساوي إنشاء TBitmap

في السطر الثاني محاولة

في السطر الثالث إلتقاط من b التي عرفناها من الأول

في السطر الرابع إضافة b إلى Image1.Picture.Bitmap.Assign طبعا بعد التصوير و هذا لكي نظهر الصورة فيها

في السطر الخامس إنهاء

في السطر السادس و السابع الخروج من b ,,



و خلصنا شرح الأكواد

الحمد لله ,,












توقيع : saif5

إنتقلت إلى برمجة الأنظمة ...
الوداع يالعاصفة ,,

عرض البوم صور saif5   رد مع اقتباس
قديم 16-01-2009, 01:51   المشاركة رقم: 12
المعلومات
الكاتب:
اللقب:
:: عضو نشيط ::

البيانات
التسجيل: Apr 2008
العضوية: 168857
المشاركات: 80 [+]
بمعدل : 0.04 يوميا
اخر زياره : [+]

التوقيت

الإتصالات
الحالة:
moh__ غير متصل
وسائل الإتصال:

كاتب الموضوع : saif5 المنتدى : منتدى الدلفي

نعم اخي الكريم...
ما شاء الله... في الحقيقة الشرح رائع...

شكرا لك
لكن عندي سؤال في ال

كود PHP:
halt(0); 
ماذا يعني ال 0 هنا ؟
مذا يعدث لو وضعت مثلا 1 او 2 مكانه ؟

بارك الله فيك












عرض البوم صور moh__   رد مع اقتباس
قديم 16-01-2009, 04:28   المشاركة رقم: 13
المعلومات
الكاتب:
اللقب:
:: عضو محترف ::
الصورة الرمزية
 
الصورة الرمزية saif5

البيانات
التسجيل: Jul 2008
العضوية: 188848
المشاركات: 613 [+]
بمعدل : 0.35 يوميا
اخر زياره : [+]

التوقيت

الإتصالات
الحالة:
saif5 غير متصل
وسائل الإتصال:

كاتب الموضوع : saif5 المنتدى : منتدى الدلفي

اقتباس:
ماذا يعني ال 0 هنا ؟
مذا يعدث لو وضعت مثلا 1 او 2 مكانه ؟

بارك الله فيك
أهلاا بك أخي moh__ ,,

طبعاا لو ضللت الكلمة في الدلفي و ضغطت F1 كنت سوف تجد الإجابة على سؤالك مثل هذه الصورة ,,



لكن أنا سوف أشرح لك ماهي , طبعاا هي procedure لا تفعل شي مهم فقط تنهي عمل البرنامج عن طريق ExitCode

و طبعاا يجب أن يكون من نوع Integer و ليس String ...

و أيضا لو تضع عدد أكثر من 0 فهو شي عاادي لأن كل الأعداد تقوم بإغلاق التطبيق

فقط , و لكن أنا أنصحك بـ application.Terminate لأنها تقوم بإغلاق كل التطبيقات المتبعة للبرنامج ,,

و هذا و الله أعلم ,,












توقيع : saif5

إنتقلت إلى برمجة الأنظمة ...
الوداع يالعاصفة ,,

عرض البوم صور saif5   رد مع اقتباس
قديم 17-01-2009, 08:52   المشاركة رقم: 14
المعلومات
الكاتب:
اللقب:
مشرف اختراق البريد والأجهزة

البيانات
التسجيل: Aug 2007
العضوية: 142593
المشاركات: 3,851 [+]
بمعدل : 1.84 يوميا
اخر زياره : [+]

التوقيت

الإتصالات
الحالة:
Dr.MOT غير متصل
وسائل الإتصال:

كاتب الموضوع : saif5 المنتدى : منتدى الدلفي

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

بارك الله فيك اخي الكريم ,,

خبير دلفي ينصح بعدم استخدام

كود:
halt
لأنها لا تحذف مخلفات البرنامج في الذاكرهـ العشوائيه ,, مما يسبب ثقل على الجهاز ( كما قال ) ,,

وبالله التوفيق












توقيع : Dr.MOT

-------------------------------

-------------------------------

يعلم الله الظروف التي أمر بها والتي تجبرني على الانقطاع عن المنتدىآ . . . أسأل الله أن يعجل الفرج

عرض البوم صور Dr.MOT   رد مع اقتباس
قديم 20-01-2009, 02:31   المشاركة رقم: 15
المعلومات
الكاتب:
اللقب:
:: عضو نشيط ::

البيانات
التسجيل: Apr 2008
العضوية: 168857
المشاركات: 80 [+]
بمعدل : 0.04 يوميا
اخر زياره : [+]

التوقيت

الإتصالات
الحالة:
moh__ غير متصل
وسائل الإتصال:

كاتب الموضوع : saif5 المنتدى : منتدى الدلفي

نعم ,,, بارك الله فيكم..
اجابة واضحة












عرض البوم صور moh__   رد مع اقتباس
إضافة رد

مواقع النشر (المفضلة)

أدوات الموضوع
انواع عرض الموضوع

تعليمات المشاركة
لا تستطيع إضافة مواضيع جديدة
لا تستطيع الرد على المواضيع
لا تستطيع إرفاق ملفات
لا تستطيع تعديل مشاركاتك

BB code is متاحة
كود [IMG] متاحة
كود HTML معطلة
Trackbacks are متاحة
Pingbacks are متاحة
Refbacks are متاحة

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


الساعة الآن 03:36