إشترك

التعرف على الدالة StrScan

التعرف على الدالة StrScan


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

الدالة                                                                                            


function StrScan ( const Characters : PAnsiChar; SearchChar : Char ) : PAnsiChar;

الوصف                                                                                               


تستخدم عندما تريد التحقق من حرف واحد ضمن قائمة من الكلمات المعروفة (string).
في حالة وجود SearchChar في الأحرف(الكلمة)،  يتم إرجاع مؤشر إلى مكان الحرف .

مثال للدالة                                                                                              


const
  Numbers = '016545377920';
begin
  if StrScan(Numbers, '9') <> nil
  then ShowMessage('9 is a numeric digit')
  else ShowMessage('9 is not a numeric digit');

  if StrScan(Numbers, 'T') <> nil
  then ShowMessage('T is a numeric digit')
  else ShowMessage('T is not a numeric digit');
end;







النتيجة                                                                                                 





 9 is a numeric digit

 T is not a numeric digit

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

3 طرق لحل مشكلة اللغة العربية في الدلفي

3 طرق لحل مشكلة اللغة العربية في الدلفي

بسم الله الرحمان الرحيم توجد عدة طرق لحل مشكلة اللغة العربية في الدلفي  هذه المشكلة توجد في الإصدارات القديمة فقط و سببها ترميز UNICODE و الآن سنتطرق لبعض الطرق لحل المشكلة :

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

2-      العمل بنسخة جديدة من الدلفي : الرائع في نسخ دلفي الجديدة أنها تدعم UNICODE  و مثلا النسخة xe2  تدعم هاذا الترميز بالإضافة إلى ما صدر بعجها من نسخ جديدة

3-      استخدام مكونات لدعم العربية : ومن بين هذه المكونات مكون TMSUnicode  و الذي كان مجاني و لكن أصبح بمبلغ 30 دولار النسخة التجريبية تفيدنا في أعمالنا باللغة العربية فهي توفر لك معظم المكونات التي تجعلك تكتب بالعربية و طريقة عمل هذه المكونات سهل بعد التنصيب تقوم بإضافة مكون TntButton1 بدلا من أن تستخدم زر عادي النسخة المدفوعة تدعم عدد كبير من المكونات
الموقع الرسمي لهذا المكون : من هنا
سنتطرق لطرق أخرى بإذن الله 


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

التعرف على مكون 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  هكذا

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

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





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