delphi4arab منتديات دلفي للعرب
عمل شاشة اسم المستخدم وكلمة المرور - نسخة قابلة للطباعة

+- delphi4arab منتديات دلفي للعرب (https://delphi4arab.net/forum)
+-- قسم : منتديات دلفي للعرب التعليمية (https://delphi4arab.net/forum/forumdisplay.php?fid=3)
+--- قسم : سؤال و جواب حول دلفي (https://delphi4arab.net/forum/forumdisplay.php?fid=15)
+--- الموضوع : عمل شاشة اسم المستخدم وكلمة المرور (/showthread.php?tid=7762)



عمل شاشة اسم المستخدم وكلمة المرور - elzawey2020 - 25-04-2016

السلام عليكم ورحمه الله وبركاته
نريد عمل شاشة لاسم المستخدم وكلمة المرور بعد ظهور splashscreen  ثم ظهور الفوورم الرئيسي


RE: عمل شاشة اسم المستخدم وكلمة المرور - elzawey2020 - 25-04-2016

الحمد لله وجدت حل ياشباب


RE: عمل شاشة اسم المستخدم وكلمة المرور - h-farid - 25-04-2016

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

طيب وجدت الحل, ضعه هنا لتفيد غيرك.


RE: عمل شاشة اسم المستخدم وكلمة المرور - rahiche - 25-04-2016

طريقة عمل شاشة ترحيبية
تقدر تشوف الامر على اليوتيوب كشرح
https://www.youtube.com/watch?v=XjaSig6MN74
او تقدر تستخدم هذا الشرح المبسط
و في هذا الشرح تتيح للمستخدم امكانية اضهار الشاشاة الترحيبية للبرنامج مرة اخرى او لا
ملاحظة : النموذج الأول هو الذي نعتبره النموذج الرئيسي و نعتبر أن النموذج الثاني هو الشاشة الترحيبية لذا فلكل من أكمل مشروعه يقوم بالتعديل على النموذج الأول الخاص فقط و ينشأ نموذج جديد "في مثالنا اعتبرناه النموذج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 متغير يأخذ القيمة صح و التي مفادها أن تظهر لنا الشاشة الترحيبية