إشترك

عمل شاشة ترحيبية بالدلفي 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 متغير يأخذ القيمة صح و التي مفادها أن تظهر لنا الشاشة الترحيبية
الآن أترككم مع تحميل البرنامج
و السلام عليكم و رحمة الله تعالى و بركاته

هناك تعليق واحد

  1. merci, et c'est une bonne idée d'utiliser le fichier ini comme un fichier de parametre

    ردحذف

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