|
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;
|
|
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;
|
|
var
Form2: TForm2;
Splash:
Boolean;
Inifile: TIniFile;
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 متغير يأخذ القيمة صح و التي مفادها أن
تظهر لنا الشاشة الترحيبية
|
الخاصية
|
شرح
|
|
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
|
يعني عند التمرير أي عند تغير مكان الصندوق سواء للأمام أو الخلف
|
|