إشترك

مجموعة برامج عالمية تم انشائها بالدلفي


بسم الله الرحمان الرحيم
موضوع اليوم ليس للتعلم بل يعتبر موضوعا تحفيزيا من أجل عدم ترك لغة البرمجة دلفي حتى و إن كانت صعبة قليلا على المبتدئ في هذا الموضوع جمعت أحد أفضل البرامج المشهورة في العالم و المفاجئة هي أن هذه البرامج مبرمجة بالدلفي و حتى لا يقول لك أي مبرمج آخر إن لغة البرمجة دلفي قديمة و لم تنجز أي مشروع حتى الآن :
Kaspersky Anti-Virus : لا تقل بأنك لم تسمع به هذا البرنامج الذي يعتبر العملاق الروسي في محاربة الفيروسات و البرامج الخبيثة و غيرها فكيف لا يعتبر مشروعا ناجحا و العالم كله يعرفه و نحن في الدول العربية على ما أضن إذا سألك واحد عن برنامج حماية مناسب للشراء تقول له بدون تفكير Kaspersky Anti-Virus إذا هذا دليل يجعل الجميع يسارع لتعلم اللغة 
Game Maker : كل هاوي أو مبرمج يبحث عن طريقة لتصميم الألعاب في بداية مسيرتة البرمجة و لكن يصادف صعوبة كبيرة باستخدام لغات البرمجة و لكن بواسطة اللغة الرائعة تمكن المطورون من تصميم برنامج تصميم الألعاب العملاق Game Maker و الغني عن التعريف و يقال أن برامج صناعة الألعاب كبيرة الحجم و لكن جرب تحميل هذا البرنامج و أضيف لكم أنه يوجد منتدى عربي كامل في رابط مدفوع يتحدث عن البرنامج الرائع 


Skype : من لايعرفه أو لا يستخدمه أو لا يعضم من شأنه برنامج المراسة و الدردشة بالصوت و الصورة و الكثير و الكثير متواجد في القائمة و مع العلم الجميع يعلم بأنه تم تطويره بواسطة أكبر شركة للبرمجيات في العالم microsoft فما أكثر من هذا

FL Studio : برنامج لا يوجد مهندس صوت أو هاوي اخراج أو حتى مخرج أفلام عن هذا البرنامج الرائع الذي يمكننا من تحرير الصوت بطريقة سهلة و عصرية و انتاجية لا مثيل لها

Ad-Aware : برنامج محاربة برامج التجسس الرائع و الغني عن التعريف

Omnichat : برنامج المراسلة بدون ملقم للشبكة

APEL : هو عبارة عن مطور برامج سهل الاستخدام

Toad : أداة رائعة لإدارة قواعد البينات

و في الأخير اعتمدت في هذه المقالة على : ici


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


كيف تعرف اسم مستخدم الحاسوب يواسطة الدلفي



بسم الله الرحمان الرحيم السلام عليكم و رحمة الله تعالى و بركاته نلقاكم اليوم في موضوع جديد يتعلق بكيفية معرفة اسم مستخدم الحاسوب علما أن اسم المستخدم يمكن أن يكون مستعرا و يمكن معرفة الاسم عن طريق الضغط على زر إبدا ثم سيظهر في أعلى القائمة أو بأي طريقة حسن اصدار نضام التشغيل في موضوع اليوم لن نشرح كثيرا بل سنقدم الكود مباشرة مع بعض الشرح :
قم بكتابة الدالة التالية بعد قسم implementation مباشرة :
function GetCurrentUserName: string;
const
  cnMaxUserNameLen = 254;
var
  sUserName: string;
  dwUserNameLen: DWORD;
begin
  dwUserNameLen := cnMaxUserNameLen - 1;
  SetLength(sUserName, cnMaxUserNameLen);
  GetUserName(PChar(sUserName), dwUserNameLen);
  SetLength(sUserName, dwUserNameLen);
  Result := sUserName;
end;
هذه الدالة هي المسؤولة عن إحظار اسم مستخدم الحاسوب و هي من نوع string  قمنا بكاتبة ثابت cnMaxUserNameLen و حددنا له قيمة 254 و بعدها قمنا بإضافة متغيرين الأول من string  و الثاني من نوع Dword  في بداية الكود جعلنا قيمة المتغير الثاني مساوية لقيمة الثابت ناقص 1 و بعدها قمنا باستعداء الدالة التي تمكننا من معرفة الطول استخدمناها لمعرفة طول المتغيرين .الطول يعني عدد الأحرف و في نهاية الكود جعلن النتيجة أي اسم المستخدم تحجز في قيمة المتغير الأول الآن كل ما علينا فعله هو إيجاد طريقة مناسبة لإظهار اسم المستخدم و هذه مجموعة من الطرق المناسبة :
اظهار اسم المستخدم في رسالة :أضف زر و أكتب في حدث الضغط عليه الأمر التالي :
  ShowMessage(GetCurrentUserName);
 اظهار اسم المستخدم في عنوان النموذج بشكل دائم :أكتب في حدث OnCreate  للنموذج الأول الكود التالي :
form1.Caption:=GetCurrentUserName
يمكن أيضا استخدامها في العديد من الأماكن و بعديد الطرق مثلا جعل اسم المستخدم يظهر في رسالة على الشكل التالي : مرحبا بك يا " اسم المستخدم " هذا سهل كل ما عليك هو كتابة الكود التالي في حدث OnCreate  للنموذج الأول :

نلاقكم في موضوع آخر و السلام عليكم و رحمة الله تعالى و بركاته

حل مشكلة ظهور رسائل الخطأ في الدلفي




بسم الله الرحمان الرحيم .السلام عليكم و رحمة الله تعالى وبكاته في موضوع اليوم سنتعرف على طريقة حل مشكلة ظهور رسائل الخطأ هذه الرسائل تظهر أثناء تنفيذ البرنامج فإذا الكود غير صحيح فالبرنامج سيتوقف عن العمل و عليك أن تقوم بعملية compile  في كل مرة يحدث فيها الخطأ يمكن أن تظهر هذه الأخطاء على شكل رسائل أو توقف المترجم عن العمل لذلك سنقوم في هذال الموضوع بإضافة كود يسمح لك بعمل استثناء فإذا حدث خطء لن يتوقف البرنامج بل سيكمل و كأنك لم تضغط على الزر و للحل هذه المشكلة نحتاج إلى أن نفهم ما هي هذه الأخطاء
    1-      الأخطاء : هي وجود خل في الكود الذي كتبته و في الدلفي تسمى بالاعتراضات باللغة الإنجليزية Exceptions و هي تظهر على شكل رسالة خطأ لك و للمستخدم الذي سيحصل على البرنامج
    2-      معالجة الأخطاء : يتم هذا عن طريق جملة try…except
مثال 1 :برنامج يمكن ظهور رسالة الخطأ فيه
ابدأ مشروع جديد و أضف إله بعظ المكونات لكي يصبح هكذا :

الآن أكتب الكود التالي في حدث  الضغط على الزر

Begin
Edit3.text:=inttostr(strtoint(edit1.text)+strtoint(edit2.text));

الآن سيعمل البرنامج بشكل عادي ماذا لو أخطئ المستخدم و كتب حرفا عوض أن يكتب رقما في الخانة الأولى أنت كمبرمج عندما يحدث مثل هذا الخطأ أثناء العمل على المشروع ستظهر لك الرسالة التالية :

انتباه : للعودة للمشروع الرئيسي يجب علك عمل compile   و هذا عن طريق project/ compile all projects
هذه الرسالة  تخبرك بأن القيمة المدخلة ar   ليست من نوع عدد صحيح و هذا الخطأ من نوع econverterror  الآن ستظهر للمستخدم رسالة خطأ أيضا يضغط على ok  و يواصل العمل بالبرنامج و لكن هذا يقلل من قيمة البرنامج
مثال 2 : برنامج بدون أخطاء
عليك إضافة الجملة try…except  كالتالي

Begin
try
Edit3.text:=inttostr(strtoint(edit1.text)+strtoint(edit2.text));
Except
Form1.caption:= 'write N°';
End;
End;

في هذال كود سيقوم البرنامج بتغير عنوان النموذج في حالة حدوث الخطأ و لكل ما يوجد ما بين try  و except  سيخضع للمعاينة و في حالة كان الخطأ الناتج موجود بين هاتين الكلمتين فإنه لن تظهر رسالة الخطأ بل يتغير عنوان النموذج فقط و لكن  ماذا إذا كان هناك أخطاء أخرى فكيف ستحل الخطأ الأمر سهل ما عليك إلى تحديد نوع الخطأ من الرسالة التي تظهر لك عندما تكون تعمل على مشروعك و تحاول التنفيذ و تغير الأمر السابق إلى :
مثال 2 : معالجة الأخطاء على حدى
ملاحظة : تستعمل هذه الطريقة في حالتين :
        ·         إذا كان الخطأ مثلا لا يتعلق بنوع القيمة التي أنتجت الخطأ ' نص/عدد صحيح....'    
        ·         إذا كانت الخطأ ليس سببه نوع القيمة و الرسالة ستكون بسبب نوع القيمة

Begin
try
Edit3.text:=inttostr(strtoint(edit1.text)+strtoint(edit2.text));
Except
on econverterror do form1.caption:='write n°';
End;
End;

حيث أننا في هذا الكود حددنا الخطأ و هو من نوع Econverterror و إذا كان من نوع أخر ما عليك إلى أن تكتبه و إذا كان هناك خاطئان  يمكنك كتابة أمران الأمر سهل ما عليك إلى أن تحدد الخطأ من الرسالة التي تظهر لك و توجد طرق أخرى نذكر منها
التعليمة try… Finally  : ما يميز هذه التعليمة عن سابقتها هو أنها تنفذ جميع الأوامر و نتعمق في هذا الموضوع في دروس قادمة إن شاء الله
و السلام عليكم و رحمة اله تعالى و بركاته


كيف تجعل برنامجك في الدلفي يعمل مع بدء التشغيل




بسم الله الرحمان الرحيم السلام عليكم و رحمة الله تعالى وبركاته في موضوع اليوم سنتعلم كيف نجعل البرنامج الذي أنشأناه بالدلفي يعمل مع بدء التشغيل و هذا عن طريق كود و هذا الكود له علاقة بالرجيستري الموجود في الويندوز و لمعرفة القليل عن الرجيستري  يمكن تحميل الكتاب من هنا .  فهو يحتوي علا كتاب يشرح عن الرجيستري في الدلفي 
  1.      الآن لديك برنامج تنفيذي بصيغة exe  يعني أنك انتهيت من  برمجته و لكي تضيف إليه بعظ الجمال يجب أن تجعله يعمل مع بدء التشغيل و للقيام بهذا يجب عليك أولا أن تضيف الوحدة  Registry إلى القسم uses:

  2.      الآن اذهب إلى حدث Oncreate  الخاص بالنموذج الأول  أو النموذج الرئيسي الذي اخترته 'أي الذي يظهر عندما نشغل البرنامج  ثم قم بإضافة متغيرr من نوع tregistry  هكذا

var
;  r: TRegistry
3.      أكتب الكود التالي

r := TRegistry.Create;
  r.RootKey := HKEY_LOCAL_MACHINE;
  r.LazyWrite := false;
  r.OpenKey('Software\Microsoft\Windows\CurrentVersion\Run', false);
  r.WriteString('My App', Application.ExeName);
 r.CloseKey;
 r.free;
شرح الكود :
السطر الأول : هذا الكود لإنشاء المتحول و حجز مكان له في الذاكرة  
السطر الثاني: هذا الكود لتحديد المفتاح الرئيسي  الذي يحتوي على المسار الخاص ببرامج بدء التشغيل و هو في المفتاح HKEY_LOCAL_MACHINE
السطر الثالث :استخدمنا التعليمة LazyWrite  تقوم بإنشاء التسجيلات قبل أو بعد غلق مفتاح التسجيل و في حالتنا false  يتم الإنشاء قبل غلق مفتاح التسجيل
السطر الرابع :تقوم التعليمة OpenKey المفتاح الفرعي المحدد و الملون بالأحمر
السطر الخامس :تقوم التعليمة WriteString بكتابة القيمة My App حيث أنها ستضيف البرنامج التنفيذي الرئيسي  في مشروعك  حيث أنه إذا كان اسم برنامجك pro  فإنه سيتم إضافة هكذا pro.exe  هذا هو معنى Application.ExeName الآن تمت إضافة برنامجك إلى برامج بدء التشغيل و تم حجز قيمة لها في مسجل النظام " الرجيستري "  علمنا أنه يمكن تغير القيمة Application.ExeName و هذا ما سنتعرف عليه في الدروس القادمة المتعلقة بمسجل النظام
السطر السادس :الأمر CloseKey يقوم  بإغلاق المفتاح
السطر السابع : يقوم الأمر free بتحرير الذاكرة
الآن ما عليك إلا تجربة البرنامج و ستلاحظ أنه تمت إضافته تلقائيا إلى قائمة برامج بدء التشغيل حيث ما عليك إلى البحث عن regedit  في منفذ الأوامر 'إذا كان لديك ويندوزXP ' و إذا اكنت لديك نسخة أحدث منه ما عليك إلى كاتبة regedit  و البث عن المسار الذي ذكرناه و تلاحظ أنه تمت الإضافة هكذا
و السلام عليكم و رحمة الله تعالى و بركاته
كلمات تقدم محتوى الموضوع :
كود دلفي يسمح بجعل برنامجك يعمل مع بدء التشغيل
كيف تجعل البرامج المبرمجة بالدلفي تعلم مع بدء التشغيل

إعلان هام بخصوص سلسلة دلفي للجميع و المواضيع القادمة


بسم الله الرحمان الرحيم السلام عليكم و رحمة الله تعالى و بركاته اليوم يجب على جميع المتابعين أن يعرفوا أن :
1- المواضيع القدامة ستكون على شكل إجابات للأسألة و الدروس السابقة سيتم عرظها على أنها سلسلة دروس سيتم رفعها في ملفات pdf و لقد قمت بهذا لأني وجدت أن أغلب كلمات البحث هي عبارة عن أسألة لذلك أريد التغير و هذها الأمر سيكون أكثر إفادة حيث أن الزائر سيجد الجواب مباشرة دون البحث في المواضيع و الكتب 
2- سلسلة دلفي للجميع الآن في الدرس الرابع و لقد تم الإنتهاء من إعداد مجموعة كبيرة من الدروس و نحن ننتظر الوقت المناسب لرفعها جميعا 
أتمنى أن تكون هذه التعديلات الجديدة مفيدة و حضيت بإعجابكم و يمكنك طرح إقتراحاتكم في تعليق و لن يتم إهمالها بل سيتم العمل بها لإن شاء الله و السلام عليكم و رحمة الله تعالى و ركاته 

تحميل كتاب " أسس و خدع في الدلفي "



بسم الله الرحمان الرحيم السلام عليكم و رحمة الله تعالى و بركاته اليوم في موضوع جديد و في كتاب جديد حصري على مدونتا نقدم لكم كتاب أسس و خدع في الدلفي و هو عباارة عن مجموعة من المقالات المتفرقة و نترككم مع معلومات عن التحميل

اسم الكتاب
أسس و خدع في الدلفي
المؤلف
رحيش رؤوف
عدد الصفحات 65 
التحميل 


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


جميع الحقوق محفوظة لــ تعلم دلفي بالعربية 2015 ©