إشترك

التعرف على مكون Maskedit الجزء 2

التعرف على مكون Maskedit الجزء 2

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

اسم النافدة هو
Test
ان اضفنا زر و طلبنا منه تغير الكبس كود بسيط جداا

الكود بسيط جدااااا جدااا لن اضعه و لن المشكلة هنا ان اعدنا تشغيل البرنامج لا نجد القيمة التى اضفناها الحل
اضف للبرنامج في قائمة
USES –inifiles

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


                                                                                                                                                                                     

تحميل برنامج لاقط لالتقاط الصور من برمجتي


تحميل برنامج لاقط لالتقاط الصور 

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




التحميل




رابط واحد مباشر
.........................من هنا......................

عمل شاشة ترحيبية بالدلفي splsh screen


كيفية عمل شاشة ترحيبية لبرامجكم في الدلفي how to create a splsh screen 

بسم الله الرحمان الرحيم السلام عليكم  و رحمة الله تعالى و بركاته في موضوع اليوم سنتطرق لأمر مهم يزيد من جمالية البرنامج هو الشاشة الترحيبية او Splash Sceen  و الشاة الترحيبية عبارة عن صورة تظهر لنا قبل بداية البرنامج تستعمل من أجل شيئين الأول التعريف بالبرنامج أو الشركة و الثاني من أجل تحميل البرنامج و هذا للبرامج الكبيرة الحجم لكن كيف نعملها في الدلفي هذا سؤال طرح علي و ها هو الحل ذا اماكم فقط باتباع الخطوات التالية :
ملاحظة : النموذج الأول هو الذي نعتبره النموذج الرئيسي و نعتبر أن النموذج الثاني هو الشاشة الترحيبية لذا فلكل من أكمل مشروعه يقوم بالتعديل على النموذج الأول الخاص  فقط و ينشأ نموذج جديد "في مثالنا اعتبرناه النموذج2" نعتبره الشاشة الترحيبية
الخطوة 1 : إنشاء نموذج جديد
الخطوة 2 : إضافة الوحدة  inifiles لقسم uses
الخطوة 3 : إضافة  inifile: tinifile; إلى قسم private  
الخطوة 4 : إضافة الوحدة  2 التي نعتبرها الشاشة الترحيبية إلى قسم uses  الموجودة بعد  implementation
الخطوة 5 : أضف مكون checkbox1  و label1   للنموذج 1
الخطوة 6 : في حدث   onformcreate  الخاص بالنموذج  1أكتب الكود  التالي :

procedure TForm1.FormCreate(Sender: TObject);
var
   Splash: Boolean;
begin
Inifile := TIniFile.Create(Changefileext(application.exename,' .ini '));
with Inifile do
  try
    Splash:= ReadBool('ShowSplash','LastChoice', True);
    Checkbox1.Checked := Splash;
   if Splash then
   begin
     Sleep(1000);
     Form2.Close;
     Form2.Release;
   end;
  finally
    Free;
End;
End;
الخطوة 7 : في حدث onclose  أكتب الكود التالي :

procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction); 
var 
   Splash: Boolean; 
begin 
  Inifile := TIniFile.Create(Changefileext(application.exename, '.ini')); 
  Splash := Checkbox1.Checked; 
  with Inifile do 
  try 
   WriteBool('ShowSplash','LastChoice', Splash); 
  finally 
   Free; 
  end; 
end; 


الخطوة 8 : أضف الوحدة IniFiles إلى النموذج الثاني الذي نعتبره النموذج الرئيسي
الخطوة 9: أضف المتغيرين التاليين " الملونين بالأحمر "

var 
  Form2: TForm2; 
  Splash: Boolean; 
  Inifile: TIniFile; 

implementation 


الخطوة 10 : أضف الكود التالي بعد {$R *.dfm} الموجودة تحت implementation 
initialization 
Inifile := TIniFile.Create(Changefileext(application.exename, '.ini')); 
  with Inifile do 
    try 
      Splash:= ReadBool('ShowSplash','LastChoice', True); 
     finally 
      Free; 
    end; 
    if Splash then 
      begin 
        Form2 := TForm2.Create(nil); 
        Form2.Show; 
        Form2.Update; 
      end; 



شرح الخطوات و الأكواد " الأوامر المستعملة "
الخطوة
شرح
1
إنشاء النموذج الأول و إذا كان مشروعكم اكتمل فلا داعي لعمل هاذا النموذج بل إضافة الأكواد إليه  
2
اضفنا الوحدة Inifiles  للتعامل مع ملفات .ini
3
وضعنا المتغير inifile: tinifile  لكي يمكن استخدامه في جميع إجراءات و توابع هذه الوحدة فقط
4
الربط بين النموذجين " الذي تظهر فيه الشاشة الترحيبية و النموذج الذي نعتبره الأساسي"
5
checkbox1   من أجل حفظ خيار المستخدم إذا كان يريد ان تظهر الشاشة مرة أخرى و مكون  Label1 لكي نظهر فيه محتوى الترحيب و يمكن استبداله بأي مكون آخر مثلا مكون الصورة
6
عند إنشاء النموذج يتم عمل ملف Ini حيث يكون في مسار البرنامج الرئيس بالإضافة لأخد اسمه و بعدها جعلنا قيمة المتغير Splash مساوية لقيمة checkbox1    و بعدها قلنا بأنه بعد مدة تقدر ب1000 يقوم البرنامج بالخروج و تحديث النموذج 2
7
عندما يخرج النموذج 1 يحفظ لنا قيمة checkbox1   
8
أضفنا الوحدة IniFiles   للتعامل مع ملفات ini
9
عرفنا المتغيرين لنتعامل معهما في البرنامج
10
Splash متغير يأخذ القيمة صح و التي مفادها أن تظهر لنا الشاشة الترحيبية
الآن أترككم مع تحميل البرنامج
و السلام عليكم و رحمة الله تعالى و بركاته

التعرف على مكون Maskedit الجزء1

بسم الله الرحمان الرحيم

التعرف على مكونMaskedit   الجزء1

ان التحكم في البيانات التى يدخلها المستخدم في برامجكم تعتبر مهمة جداا  من جوانب مختلفة ويمكن القول ان اجبار المستخدم على ادخال المعلومة المطلوبة يقى برنامج الوقوع في اخطاء و خاصة اخطاء عدم تماتل نوع المتغيرات
مرحبا بكم الان سنتعرف على المكون المخصص لذلك رحبوا  معى بـ:
Maskedit
لا تبحث كثير يقع هدا المكون في القائمة المبينة في الصورة :


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

بعد إضافة هدا المكون نذهب الى الخصائص الخاصة به كما في الصورة
Editmask

ثم نختار الشكل الدى نحتاجه حيث كما في الصور شكل رقم الهاتف الرقم البريدى التاريخ الوقت وغيره القائمة لا تتوقف هنا اضعظ على زر
Masks
ولحظ ظهور الواجهة التالية


اختاروا من القائمة الملفات التى تحمل امتداد
*.dem
و ستجدون الكثير جربوها
الجزء الأول تم بعون الله في انتظار الجزء التانى المشكلة هي :
رغم القدرة العالية لهدا المكون و لكن في بعض الحالات لا يوفر ضيعة معينة للتحكم في الإدخال



يتبع الموضوع ..........

شرح دالة EncodeDate



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


الدالة


; function EncodeDate ( const Year, Month, Day : Word ) : TDateTime

الوصف

                                             

انEncodeDate دالة مستمدةمن TDateTime متكونة عدة قيم السنة والشهر واليوم . 


القيم المسموح بها المعاملة هي: 


السنة = 2000..9999 

الشهر = 1..12 
يوم = 1..31 (اعتمادا على الشهر / السنة)


مثال للدالة
                                             


var
  myDate : TDateTime;

begin

  myDate := EncodeDate(2014, 11, 01);


  ShowMessage('Date set to '+DateToStr(myDate));
  
end;




النتيجة

                                             


Date set to 01/11/2014

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

الدرس 5 - سلسلة دلفي للجميع


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




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

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

إجعل جميع المكونات في الوضع  false في خاصية visible  ما عدا مكونين هما edit2 /labels مع جعل button1  false  في خاصية enabled
بعدها قم بربط قاعدة البينات التي تحتوي على الحقول : username/password/nom/prenom وبعدها اربط مكون
Dbedit1  بالحقل username عن طريق الخاصيتين :

و اربط dbedit2  مع الحقل Password  :

بعدها أكتب الكود التالي في حدث onchange  الخاص بمكون edit2  

شرح الكود: يقول لنا هذا الكود :
1 اجعل محتوى edit2  هو محتوى edit1
2 جملة شرط تقول إذا كان محتوى dbedi1 لا يساوي محتوى edit1  إذا لا تفعل شيئا ويمكن وضع مجموعة من الاقتراحات مثل إظهار رسالة  و إذا كان المحتوى متساويا يظهر لنا مكون edit3
بعدها أكتب الكود التالي في حدث onchange الخاص بمكون edit1  هذا الكود تم شرحه في الموضوع التالي : من هنا

هذا الكود للبحث داخل قاعدة البينات
قم بكتابة نفس الكود في حدث Onchange  الخاص بمكون edit4  مع تغير المعطيات الموجودة فقط حيث username  هو اسم الحثل في قاعدة البينات ز edit1 هو المكون الذي سنبحث فيه في هذه الحالة نغير كلاهما ل: password و edit4 الآن في حدث onchange  الخاص بمكون edit3  الكود التالي :

و الذي هو نفسه شرح السابق ما عدا إضافة كود button1.enabled:=true  و هو يجعل الزر نشط أي يمكن الضغط عليه و في حالة حدوث استثناء أي أن اسم المستخدم و كلمة المرور صحيحان سيظهر النموذج الثاني و الشيء الذي نريد إضافته هو أنه إذا أراد أحدكم أن يجعل لكل مستخدم خصائص فعليه بالآتي

وضع مكون dbtext  و ربطه بالجدول في النموذج الأول عن طريق الخاصية datasource  مثلا سنظهر لقب nom هذا المستخدم يعني سنربط المكون بالحقل Nom  و للقيام بهذا تقوم بربط الحقل النموذج الثاني بالأول عن طريق إضافة هذا unit1  إلى قسم uses  في النموذج الثاني :

ثم ربط المكون dbtext  بالحقل Nom  هكذا

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

لأي استفسار أو طلب إضافة أتركو هاذا في تعليق و السلام عليكم و رحمة الله تعالى و بركاته





شرح خصائص مكونات دلفي " +60 خاصية وحدث "

شرح خصائص مكونات دلفي

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

Caption
هذه الخاصية هي عنوان المكون أي النص الذي سيظهر فوق المكون أثناء التنفيذ و التصميم

Cursor
هذه الخاصية هي شكل مؤشر الفأرة الذي سيظهر فوق المكون أثناء تنفيذ البرنامج

Default
هذه الخاصية إذا كانت true  فسيظهر إطار أسود على المكون أثناء تنفيذ و تصميم البرنامج

Bidimode
هذه الخاصية لتغير الاتجاه من اليسار إلى اليمين او ن اليمين إلى اليسار و هي مهمة للبرامج العربية

Enabled
إذا كانت هذه الخاصية true  فإن الكمون سيكون نشط أثناء تنفيذ البرنامج و إذا كنت false  فلا يمكن الضغط عليه

Font
هذه الخاصية لتغير لون و نوع و خط الكتابة في المكون أثناء تنفيذ و تصميم البرنامج

Height
هذه الخاصية للتعديل على ارتفاع المكون أثناء التنفيذ و التصميم

Hint
هذه الخاصية تمكنك من عرض نص أو تلميح عند التأشير فوق المكون و لكن يجب أن تكون نشطة لظهور التلميح

Left
هذه الخاصية للتعديل على مكان المكون في النموذج من اليمين إلى اليسار

Name
هذه الخاصية لتغير اسم المكون و الذي ينادى به أثناء كتابة الأوامر البرمجية

Popupmenau  
هذه الخاصية للتحديد النافذة المنبثقة التي تظهر عند الضغط بالزر الأيمن للفأرة " سنتعرف عليها لاحقا"

Showhint
لتفعيل الخاصية التي ذكرناها سابقا و إذا كانت  true فيمكن للتلميحات الظهور

Top
هذه الخاصية للتعديل على مكان المكون في النموذج من الأعلى إلى الأسفل

Visible
هذه الخاصية إذا كانت true   يظهر المكون أثناء التنفيذ و أثناء التصميم إما إذا كنت  false   فسيظهر أثناء  التصميم فقط .

Width
هذه لخاصية للتعديل على طول المكون أثناء التنفيذ و أثناء التصميم



الحدث
الشرح

OnClic
يعني عند الضغط على المكون

OnContextPopup
يعني عند ظهور النافذة المنبثقة

OnEntrer
يعني عند الدخول

OnExit
يعني عند الخروج

OnkeyPress
يعني عند الضغط على زر نحدده نحن

الخاصية
الشرح
Autosize
هذه الخاصية تعني حجم تلقائي للمكون إذا كانت true  و حجم حسب الخط اذا كانت false
Layout
هذه الخاصية لتغير مكان النص فقط إذا كانت خاصية AutoSize  في الوضع true
Transparent
أذا كانت هذه الخاصية true  فستظهر لنا خلفية المكون و العكس صحيح
الخاصية
الشرح
autoSelect
هذه الخاصية إذا كانت true  فهذا يعني أن البرنامج عند التنفيذ يحدد مباشرة على النص الموجود في الأداة
BorderStyle
هده الخاصية لجعل المكون يحتوي على إطار أسود أو لا
Ctl3d
هذه الخاصية إذا كانت false  فهذا يجعل الإطار الذي على المكون مستطيل عادي
passwordchar
هذه الخاصية لتحديد شكل أو رمز الأحرف عند الكتاب
Text
أي النص الموجود في الأداة أثناء تصميم أو تنفيذ البرنامج
الخاصية
الشرح
BevelKind
للتعديل على شكل الإطار الخاص بالمكون
Columns
لتحديد الحد الأقصى المسموح به من السطور  الأفقية في المكون
Items
لكتابة أصناف داخل المكون في البرنامج دائما
MultiSelect
إذا كانت هذه الخاصية في الوضع true  فهذا يعني أنه
يمكن التحديد على أكثر من صنف أثناء تنفيذ البرنامج
الخاصية
الشرح
MaxLength
هذه الخاصية لتحديد اكبر عدد من الأحرف في الأصناف التي ستكتب في المكون أثناء التصميم أو أثناء التنفيذ
Constraints
هذه الخاصية لتحديد قيم ثابتة لطول و عرض المكون لا يمكن تغيرها أثناء التصميم و التنفيذ
ItemIndex
لتحديد القيمة أو الصنف الذي يظهر أثناء التصميم و التنفيذ كعنوان للمكون إذا كانت هناك أصناف
الخاصية
الشرح
Alignement
هذه الخاصية لتغير جهة المكون حيث يمكن جعل العلامة صح في اليمين أو اليسار
State
لتغير علامة صح أثناء التصميم و التنفيذ و يمكن تغيرها إلى فارغة أو موجودة أو موجودة و غير مفعلة ..
allowGrayed
هذه الخاصية إذا كانت true  فعند الضغط على مربع علامة صح للمرة الأول ستظهر لكن غير نشطة و لن تنشط إلى بعد الضغط مرة ثانية
الخاصية
الشرح
Checked
 هذه الخاصية لتحديد إذا ستكون الأداة تحتوي على علامة صح أثناء تنفيذ و تصميم البرنامج
الخاصية
الشرح
AutoPopup
هذه الخاصية إذا كانت في الوضع true  ستظهر  عند الضغط المكون الذي ربطت معه هذه الأداة و إذا كانت false  فلن تظهر
Images
هذه الخاصية يجب أن تتوفر على عدة شروط للقيام بها و هي تعمل على مكون آخر سنشرحه في العدد الثاني من المجلة
Items
تطرقنا لها سابقا و هي لإضافة أصناف مثل الصورة التوضيحية " الأصناف هي : الأمر 1 الأمر 2 ...
الخاصية
الشرح
Automerge
إذا كانت هذه الخاصية في الوضع false  فلن يظهر لنا الشريط و لكن إذا كانت true  يظهر الشريط
الخاصية
الشرح
Lines
هذه الخاصية هي التي تسمح لك بتحديد النصوص و السطور في المكون أثناء التنفيذ و التصميم
Parentcolor
هذه الخاصية إذا كانت في الوضع true  فهذا يعني أن الخلفية في المكون ستكون ملونة
ParentFont
إذا كانت true  يتم تفعيل خاصية تخير نوع و شكل الخط
Align
تسنح لك هذه الخاصية بتحديد المساحة التي سيحجزها المكون من النموذج أو الجهة التي يحجزها
ScrollBars
هذه الخاصية تمكنك من إضافة شريط التمرير أفقيا أو عموديا
WordWrap
إذا كانت هذه القيمة في الوضع true  سينتقل مؤشر الفأرة  إلى  السطر الثاني  مباشرة  عند  الوصول لنهاية السطر الأول " الحالي
الخاصية
الشرح
Max
لتحديد القيمة القصوى التي عندما يصل إليها يظهر المكون على أنه مكتمل
Min
أصغر قيمة أي عندما يكون في هذه القيمة يظهر و كأنه لم يتحرك
Position
هذه الخاصية لتحديد مكان توجد الصندوق أثناء التنفيذ يعني إذا كانت أقصى قيمة هي 100 و أصغر قيمة هي 0 و كانت قيمة position  هي 50 فالصندوق سيظهر في المنتصف
Kind
هذه الخاصية لتحديد إذا كان شريط التمرير يأتي بطريقة عمودية أو أفقية


الحدث
الشرح
OnDblClic
أي عند الضغط المزدوج  على المكون
الحدث
الشرح
OnChange
يعني عند التغير أي عند زيادة حرف أو حذفه من النص
OnkeyUp
أي عند الضغط على زر النزول إلى الأسفل الموجود في لوحة المفاتيح
الحدث
الشرح
OnSelect
 عند التحديد أي عندما نحدد على صنف من الأصناف
الحدث
الشرح
Checked
هذه الحدث ليس موجود في قائمة الأحداث المتعلقة بالمكون لكن سنشرحه في المثال و معناه هو عند الاختيار أو جعل علامة المكون "صح"  و هو موجود في قائمة الخصائص
الحدث
الشرح
Onchange
يعني عند التغير على المكون مثلا : إضافة صنف
OnPopUp
يعني عند الانبثاق " الظهور "
الحدث
الشرح
Onchange  
يعني عند إضافة صف أو عنصر آخر برمجيا
الحدث
الشرح
OnScroll
يعني عند التمرير أي عند تغير مكان الصندوق سواء للأمام أو الخلف

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


يمكنكم أن تصبحوا مؤلفين رسميا في مدونة تعلم دلفي عن طريق مراسلتي على البريد التالي : rraouf30@gmail.com


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