إشترك

عمل شاشة ترحيبية بالدلفي 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
و ستجدون الكثير جربوها
الجزء الأول تم بعون الله في انتظار الجزء التانى المشكلة هي :
رغم القدرة العالية لهدا المكون و لكن في بعض الحالات لا يوفر ضيعة معينة للتحكم في الإدخال



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