مثال

الكاتب : bassam4000   المشاهدات : 1,206   الردود : 19    ‏2003-09-14
      مشاركة رقم : 1    ‏2003-09-14
  1. bassam4000

    bassam4000 عضو

    التسجيل :
    ‏2003-05-25
    المشاركات:
    140
    الإعجاب :
    0
    الموضوع اليوم : ايجاد كلمة او نص في تطبيق بسيط للفيجوال بيسك ........................
    الفكرة : تستطيع ادراج نص مكون من عدد كبير من الكلمات في rich text box
    ثم تكتب الكلمة او النص الذي تبحث عنة في text box عادي
    ثم نقرة على زر الـcommand لتجد المطلوب .
    الان ستم الشرح المفصل :
    الخطوات :-
    1-افتح new projec في بيئة الفيجوال (standard.exe ) وعلى الفورم الـform1 اعمل التالي .
    اولاً : ادراج الـrich text box وذلك من قائمةprojct ثم اخترcomponents (او Ctrl +T) ثم حدد من النافذة
    التي تظهر لك Microsoft Rich Text Box كما في الصورة . كما في الصورة :

    [​IMG]

    ثانياً :املء الـform1 بالـobject بالخصائص التالية :
    ****---Text Box | خاصية الاسم=txtString......
    ****---Fram1 | خاصية الاسم كما هي ...| خاصية الـCaption= الخيارات .....
    ****---CheckBox1 | خاصية الاسم=chkWholeWord ....|خاصية الـCaption=كامل الكلمة.....
    ****---CheckBox2 |خاصية الاسم=chkMatchCase ....|خاصية الـCaption=اغلب الحالات ....
    ****---CheckBox3 | خاصية الاسم=chkNoHighlight ...|خاصية الـCaption=بدون تعيين ....

    ****---- Command | خاصية الاسم=btnSearch ....|خاصية الـCaption=ابحث ....
    ****----Rich Text Box | خاصية الاسم=rtfRichTextBox1 ....|خاصية الـAutoVerbMenu=True ......فقط
    اي بالمحصلة يكون شكل الـfom1 كما في الصورة :

    [​IMG]

    ثالثاً:- اضف الكود التالي الى form_load بالنقر مرتين على الفور يفتح لك نافذة الكود



    كود:
    Private Sub Form_Load()
        Dim contents As String
        
        contents = "اللهم منزل الكتاب  ومجري السحاب "
        contents = contents & _
            "وياسريع الحساب "
        contents = contents & _
            "وياهازم الاحزاب, "
        contents = contents & _
            " اهزم اليهود والنصارى"
        contents = contents & _
            "اللهم اقذف الرعب في قلوبهم "
        contents = contents & ""
        rtfRichTextBox1.Text = contents
        rtfRichTextBox1.HideSelection = False
    End Sub
    رابعاً:- اضف الكود التالي الى زر الـcommand= ابحث ..
    كود:
    Private Sub btnSearch_Click()
        Dim strSearchString As String
        Dim rtnValue, options As Integer
        
        rtfRichTextBox1.SelStart = 0
        rtfRichTextBox1.SelLength = 0
        options = 0
        
        If chkWholeWord.Value = 1 Then _
            options = options Or rtfWholeWord
        If chkMatchCase.Value = 1 Then _
            options = options Or rtfMatchCase
        If chkNoHighlight.Value = 1 Then _
            options = options Or rtfNoHighlight
        strSearchString = txtString.Text
        rtnValue = rtfRichTextBox1.Find _
            (strSearchString, , , options)
        
        If rtnValue = -1 Then
            MsgBox "النص او الكلمة لم توجد"
        Else
            MsgBox "النص وجد في الموضع " & rtnValue
        End If
    End Sub
    خامساً :- قم بتنفيذ التطبيق F5 .
    صورة:
    [​IMG]
    او :
    [​IMG]

    ملاحظة :- النافذة التي تظهر لك عند التنفيذ ستلاحظ ان الاداة Rich Text Box مملؤة سلفاً بالنص
    المكتوب في الكود . يمكنك الحصول عليها فارغة وذلك بالرجوع الى الكود ومسح النص الموجود بين
    كل اشارتي تنصيص مع المحافظة على اشارتي التنصيص .

    الخلاصة :- يمكن الاستفادة من هذا التطبيق بأكثر من طريقة منها مثلاً صفحة انترنت تريد البحث عن كلمة او
    نص معين فستطيع ايجادة بكل سهولة بواسطة هذا التطبيق البسيط .
     
  2.   مشاركة رقم : 2    ‏2003-09-14
  3. bassam4000

    bassam4000 عضو

    التسجيل :
    ‏2003-05-25
    المشاركات:
    140
    الإعجاب :
    0
    السلام

    والسلام ختام ....bassam4000
     
  4.   مشاركة رقم : 3    ‏2003-09-14
  5. الكوماندر

    الكوماندر مشرف سابق

    التسجيل :
    ‏2002-07-23
    المشاركات:
    1,047
    الإعجاب :
    0
    مشكور اخي بسام.

    والله مواضيعك قويه.

    كل موضوع احسن من الثاني.

    بارك الله فيك.

    تحياتي لك اخي الكريم.
     
  6.   مشاركة رقم : 4    ‏2003-09-14
  7. bassam4000

    bassam4000 عضو

    التسجيل :
    ‏2003-05-25
    المشاركات:
    140
    الإعجاب :
    0
    نص مقتبس من رسالة : الكوماندر
    بارك الله فيك اخي الكريم , فانت من المع وافضل المشرفين تنظيماً
    وانضباطاً الطرح الموضوعي الهادف..من بين كثير من المنتديات فأعتقد ان هذا
    القسم "الذي تشرف علية " هو واحد من ابرز الاْقسام التي زرتها
    على الشبكة...
    وتحياتي bassam4000
     
  8.   مشاركة رقم : 5    ‏2003-09-15
  9. العمراوي

    العمراوي مشرف سابق

    التسجيل :
    ‏2002-11-24
    المشاركات:
    7,510
    الإعجاب :
    4
    نص مقتبس من رسالة : الكوماندر
    مشكور أخي على الموضوع الجمييل جدا .,.,.,.,

    وصدق الكومندر عندما قال أن كل موضوع لك أجمل وأقوى من الآخر .,.,.,.,
     
  10.   مشاركة رقم : 6    ‏2003-09-15
  11. bassam4000

    bassam4000 عضو

    التسجيل :
    ‏2003-05-25
    المشاركات:
    140
    الإعجاب :
    0
    نص مقتبس من رسالة : المحقق كونان
    مشكور اخي الكريم على الرد الاجمل من المواضيع ......
     
  12.   مشاركة رقم : 7    ‏2003-09-22
  13. bassam4000

    bassam4000 عضو

    التسجيل :
    ‏2003-05-25
    المشاركات:
    140
    الإعجاب :
    0
    مثال قاعدة بيانات 1

    للمبتدئين

    مثال قاعدة بيانات رقم 1

    انشأ تطبيق قاعدة بيانات بواسطة الـVB:
    الفيجوال بيسك تسمح لنا ادارة قواعد البيانات المنشائة بواسطة برامج قواعد البيانات المختلفة مثل الـAccess .
    في هذا الدرس لن نتطرق لانشا قاعدة البيانات لكننا سوف نرى كيف يمكن الدخول الى قاعدة البيانات من خلال بيئة الـVB.

    في المثال التالي , سوف ننشأ تطبيق قاعدة بيانات بسيطة تمكنك من استعراض اسماء الزبائن .
    لأنشأ هذا التطبيق , ادرج Data Control الى فورم جديد كما سنرى في الصورة .

    [​IMG]
    سمي الـData Control كما هي افتراضيData1= . لكي تتمكن من استخدام قاعدة البيانات نحن بحاجة الى عمل اتصال مع أي قاعدة بيانات
    موجودة ( مثل الـNWind قاعدة البيانات هذة تأتي مع الفيجوال بيسك تكون موجودة في المسار التالي
    \program files\microsoft visual studio\VB98\NWind.mdb) .
    • لكي تعمل الاتصال مع قاعدة البيانات connect انقر مرتين على الخاصية database name في نافذة الخصائص طبعاً بعد ادراج الـdata control وتحديدها الى الفورم , ثم من النافذة التي تظهر لك اختر ملف قاعدة البيانات التي ذكرنها قبلاً .
    • الخطوة الثانية انقر بشكل مزدوج على الـRecordSource ايضاُ في نافذة الخصائص ايضاً للـdata control وحدد Customers = الزبائن ( هذا عبارة عن جدول في قاعدة البياناتNWind )
    • بعد هذا سنقوم بادراج label على الفورم ونجعل الـcaption= Customers Name .
    • اخيراً وليس اخراً ادراج label اخر اجعل خاصية الـName= cus_name . اجعل الـcaption لهذا الـlabel فارغة لأن اسم الزبون سيظهر هنا اجعل خاصية الـBorderStyle =1-Fixed Singel .
    انت الان بحاجة الى ربط هذا الـlabel الى قاعدة البيانات , لعمل هذا حدد الـlabel الثاني ومن نافذة الخصائص انقر بشكل مزدوج على DataSource , وبعدها انقر على الـDataField هذة الاخيرة حدد منها ContactName لربط الـlabel الثاني مع حقل الاسماء في قاعدة البيانات .
    الان اضغط f5 وتنقل بين السجلات بواسطة الـData Control .
    [​IMG]
     
  14.   مشاركة رقم : 8    ‏2003-09-22
  15. bassam4000

    bassam4000 عضو

    التسجيل :
    ‏2003-05-25
    المشاركات:
    140
    الإعجاب :
    0
    مثال قاعدة بيانات 2

    [ALIGN=JUSTIFY]المثال الثاني للتعامل مع قاعدة بيانات .

    في المثال السابق تعلمنا كيف نستخدم تطبيق قاعدة بيانات بسيط .
    في هذا الدرس سوف نعمل على نفس التطبيق السابق لكن مع بعض ازرار الـcommand الاضافية .
    الـData control تدعم بعض الطرق المفيدة في التعامل مع قواعد البيانات , على سبيل المثال تحريك المؤشرالسجلات الى موقع معين
    فيما يلي بعض الاوامر المفيدة التي يمكنك ان تستخدمها لتحريك او نقل المؤشر .
    [ALIGN=LEFT]Data1.RecordSet.MoveFirst الانتقال الى السجل الاول .
    Data1.RecordSet.MoveLast الانتقال الى السجل الاخير .
    Data1.RecordSet.MoveNext الانتقال الى السجل التالي .
    Data1.RecordSet.MovePrevious الانتقال الى السجل السابق .لاحظ ان الـData1 هو نفس الاسم الذي استخدمناة في المثال السابق .

    في المثال التالي , سوف تقوم بادراج اربعة command و ثمانيةlabel الصورة :

    سوف تستخدم هذة الازرار للتنقل بين سجلات قاعدة البيانات بدون استخدام الـData control التي استخدمناها في المثال الاول .
    الخطوات :-
    1- ادرج ازرار الـcommand و الـlabels كما هو موضح في الصورة .
    [​IMG]
    2- ادرج Data control سيكون اسمها Data1 اعمل اتصال مع قاعدة البيانات NWind كما فعلنا في المثال السابق تماماً ثم حول خاصية الـRecordSource = Customrs .
    3- ( اتبع نفس الخطوات في تعريف الـlabels كما في المثال السابق بحيث DataSours للـlabel المقابل لاسم الزبون =Data1 والـDataField لنفس الـlabel = contactName وهكذا بالمثل لكل label اختر الـDataField المقابل لة ( أي الحقل المقابل مثل الـAddress ,City ,Phone ) ....
    4- خطوة مهمة الان اجعل خاصية الـVisible = false للـData control حتى تتمكن من التنقل بين السجلات بواسطة ازرار الـcommand التي قمت بوضعها على الفورم .
    5- اضف الكود التالي كما هو موضح تحت كل زر command :[ALIGN=LEFT]
    كود:
    								
    Private Sub Command2_Click()
    Data1.Recordset.MoveFirst
    End Sub
    
    Private Sub Command1_Click()                      
    Data1.Recordset.MoveNext      
    End Sub
    
    Private Sub Command3_Click()
    Data1.Recordset.MovePrevious
    End Sub
    
    Private Sub Command4_Click()
    Data1.Recordset.MoveLast
    End Sub
    ثم اضغط F5 لتشغيل التطبيق الذي يجب ان يعمل ويظهر كما في الصورة :
    حيث تلاحظ ان الـData control لاتظهر عند التشغيل .

    [​IMG]
    ملاحظة :- قد يظهر معك خطاء نتيجة التنقل بين السجلات , وهذا ما سيتم تناولة في الامثلة القادمة .
     
  16.   مشاركة رقم : 9    ‏2003-10-03
  17. bassam4000

    bassam4000 عضو

    التسجيل :
    ‏2003-05-25
    المشاركات:
    140
    الإعجاب :
    0
    استخدام الـADO وربطها بقاعدة بيانات

    انشأ تطبيق قاعدة بيانات بالفيجوال بيسك باستخدام الـADO control:-








    في المثالين السابقين تعلمنا كيف نبني تطبيق قاعدة بيانات باستخدام الـDatacontrol.....

    لكن الـDatacontrol ليست بذالك المقدار من المرونة التي تسمح لك فقط بالعمل مع بعض الانواع المحدودة من البيانات ويجب ان يتم العمل فيها في بيئة الفيجوال بيسك .

    لكي نتغلب على هذا التقييد فاننا نستخدم الـADO control وهي اداة قوية للتحكم بالبيانات

    الـADO = ActiveX data objects .

    والـADO يمكنها ان تعمل على انظمة تشغيل مختلفة ولغات برمجة مختلفة . الى جانب كونها تقدر ان تدخل انواع مختلفة من البيانات مثل عرض البيانات في مستكشف الانترنت . او نصوص الايميل وحتى الجرافيكس اضافة الى معلومات العلاقات المعهودة للبيانات .

    لكي تستطيع استخدام الـADO data control فمن الضروري ان تقوم بادراجها الى صندوق الادوات الـtool box وذلك بالضغط على Ctrl + T

    تفتح لك نافذة الـcomponents ومنها
    اختر Microsoft ActiveX Data Control 6 .
    بعد ذلك يمكنك مباشرة العمل ببناء تطبيق الـِADO vb database application .

    .

    المثال حق اليوم سيتناول هذة العملية حيث سنحاول بناء تطبيق قاعدة بيلنات قوي نسبياً باستخدام الـADO data control .

    الخطوات :

    افتح new form وسمية frmBookTitle وغير الـcaption الى " تطبيق ADO "



    ادرج الـADO control من صندوق الادوات الى الـform واجعل خاصية الـName= adoBook والـCaption= book

    ادرج الـlabels الضرورية كما في الصورة , ادرج ازرار الـcommand & text ما في الصورة .

    [​IMG]
    رتب العناصر المدرجة في الجداول التالية , بحيث يبدو التطبيق عند التشغيل كالصورة التالية ------>

    [​IMG]

    الان لكي تدخل وتدير قاعدة البيانات ( التي هي هنا Biblio.mdb وهي كقاعدة البيانات NWind.mdb التي ذكرنها في المثالين السابقين تكون منزلة مع برنامج الفيجوال بيسك في المسار
    التالي C:\Program Files\Microsoft Visual Studio\VB98 \Biblio.mdb على الاغلب .

    لكي تربط الـADO حقنا بملف قاعدة البيانات هذا اتبع الخطوات التالية :

    1-املء الخصائص التالية الخاصة بكل عنصر تحكم كما هو مبين في الصورة التالية

    [​IMG]
    [​IMG]
    [​IMG]

    2-انقر على الـADO الموجودة على الـform نقرة واحدة لكي تظهر نافذة الخصائص التابعة لها

    في نافذة الخصائص انقر على الخاصية ConnectionString ستظهر لك النافذة التالية :

    [​IMG]

    بعد ظهور النافذة حدد خيار Use Connection String’s بعدها انقر على زر build بجانبة

    3- تظهر لك النافذة التالية :

    [​IMG]

    اختر منها محرك قاعدة البيانات الذي نستخدمة مع ملفات الاكسس Microsoft Jet3.51 OLEDB Provider .

    ثم انقر على زر التالي next .

    4- في النافذة التالية اكتب او حدد مسار قاعدة البيانات BIBLIO.mdb التي هي في المسار السابق الذكر وذلك من Browse ثم قم باختبار الاتصال من نفس النافذة .كالتالي :

    [​IMG]

    الاْن نرجع الى بيئة العمل ومن نافذة الخصائص للـADO نختار
    الخاصية Record Source بالنقر مرتين على الخاصية تظهر النافذة التالية:

    [​IMG]


    اختر من النافذة السابقة نموذج الاوامر , والجدول الذي تريدة من قاعدة البيانات ...





    5- الاْن الخطوة الاخيرة وهي وضع الكود قم بادراج الكود التالي بالترتيب حسب اسم الاجراء :
    [ALIGN=LEFT]
    كود:
    Private Sub cmdSave_Click()
    adoBooks.Recordset.Fields("Title") = txtTitle.Text
    adoBooks.Recordset.Fields("Year Published") = txtPub.Text
    adoBooks.Recordset.Fields("ISBN") = txtISBN.Text
    adoBooks.Recordset.Fields("PubID") = txtPubID.Text
    adoBooks.Recordset.Fields("Subject") = txtSubject.Text
    adoBooks.Recordset.Update
    
    End Sub
    
    Private Sub cmdAdd_Click()
    adoBooks.Recordset.AddNew
    End Sub
    
    Private Sub cmdDelete_Click()
    Confirm = MsgBox("Are you sure you want to delete this record?", vbYesNo, "Deletion Confirmation")
    If Confirm = vbYes Then
    adoBooks.Recordset.Delete
    MsgBox "Record Deleted!", , "Message"
    Else
    MsgBox "Record Not Deleted!", , "Message"
    End If
    
    End Sub
    ،،
    
    Private Sub cmdCancel_Click()
    txtTitle.Text = ""
    txtPub.Text = ""
    txtPubID.Text = ""
    txtISBN.Text = ""
    txtSubject.Text = ""
    End Sub
    
    Private Sub cmdPrev_Click()
    If Not adoBooks.Recordset.BOF Then
    adoBooks.Recordset.MovePrevious
    If adoBooks.Recordset.BOF Then
    adoBooks.Recordset.MoveNext
    End If
    End If
    
    End Sub
    
     Private Sub cmdNext_Click()
    If Not adoBooks.Recordset.EOF Then
    adoBooks.Recordset.MoveNext
    If adoBooks.Recordset.EOF Then
    adoBooks.Recordset.MovePrevious
    End If
    End If
    
    End Sub
    بذلك تكون انتهيت من انشاْ التطبيق

    اضغط F5 وتنقل بين السجلات كما يمكنك اضافة وازالة السجلات على راحتك ..........

    سلامات Bassam4000 ...
     
  18.   مشاركة رقم : 10    ‏2003-10-04
  19. العمراوي

    العمراوي مشرف سابق

    التسجيل :
    ‏2002-11-24
    المشاركات:
    7,510
    الإعجاب :
    4
    مشكور أخي بسام على الدرس الجمييل .,.,.,.,

    بس لو تعمل لنا درس حول كيف تعمل نفس الشيى بالAdo ولكن من غير داتا كنترول .,.,.,.,يعني بالشفرة .,.,.,.,
     

مشاركة هذه الصفحة