الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

[ تمت الإجابة ]عندي برنامج اتمنى تشوفون المشكلة اللي فيه

بدأه شهودة في 24 ديسمبر 2008 · 4 رد · 516 مشاهدة · في لغة Ms Visual Basic 6 وما قبلها من إصدارات
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم

وضعت الخطأ في فريم واحد

المفروض ان يقوم البرنامج بمقارنة جملتين واذا وجد خطأ في احدى الكلمات يقوم بمقارنة تلك الكلمة بما يقابلها في الكلمة الاخرى

فأنا على سبيل المثال وضعت في textbox الأولى كلمة (ذهب الولد) وفي الtextbox الاخرى (ذهب لولد) فالمفروض ان يقوم البرنامج بتلوين كلمة لولد وتحديد نوع الخطأ انه نسي اضافة الالف للتعرف

رغم كتابتي للشرط هذا وكتابة شرط اخر وهو انه اذا نسي اضافة ل للتعريف مثل (ذهب اولد) فستنتج رسالة خطأ تقول انه نسي اضافة لام للتعريف

في جميع الحالات ينتج الخطأ الثاني فقط ولا أعلم ماهو السبب

ملاحظة: المفروض البرنامج يقوم بتلوين الكلمة الخطأ حيث انني استعمل ritchtextbox لكنه لايقوم بتلوينها مع العلم انه يلوننها في البرنامج الاساسي

project1.rar

تم تعديل هذه المشاركة بواسطة Xacker في 24 ديسمبر 2008 في 22:21

#2

هذا هو الكود للدالة check :

  1. Public Sub check()
  2. If (Mid(g, 1, 2) = "ال") Then
  3. If (Mid(f, 1, 1) <> Mid(g, 1, 1) And Mid(f, 1, 1) = Mid(g, 2, 1)) Then
  4. MsgBox Mid(f, 1, 1) + Mid(g, 2, 1) + "Error : you forgot ا"
  5.  
  6. Exit Sub
  7. Else
  8. If (Mid(f, 1, 1) = Mid(g, 1, 1) And Mid(f, 1, 1) <> Mid(g, 2, 1)) Then
  9. MsgBox Mid(f, 1, 1) + Mid(g, 1, 1) + " Error : you forgot ل"
  10.  
  11. Exit Sub
  12.  
  13. End If
  14. End If
  15. End If
  16. End Sub 
  17.  

أما بالنسبة لتلوين الكلمة الخاطئة :

  1.  
  2. RichTextBox1.SelStart = InStr(RichTextBox1.Text, B(x)) - 1
  3. RichTextBox1.SelLength = Len(B(x))
  4. RichTextBox1.SelColor = vbRed 
  5.  

تم تعديل هذه المشاركة بواسطة المبرمج أحمد في 24 ديسمبر 2008 في 23:32 — السبب: تعديل الوسم gcode

سبحان الله وبحمده ... سبحان الله العظيم

#3

شكرا اخوي "المبرمج أحمد"

الله يجزاك خير ويوفقك

بس اذا ماعليك امر اشرح لي كود تلوين الكلمة الخاطئة؟

تم تعديل هذه المشاركة بواسطة شهودة في 25 ديسمبر 2008 في 00:04

#4
RichTextBox1.SelStart = InStr(RichTextBox1.Text, B(x)) - 1

الدالة InStr تقوم بالبحث عن الكلمة الخاطئة في Richtextbox1 وتعيد رقم يمثل موقع بداية الكلمة ، نقوم بتخزين هذا الرقم في Richtextbox1.SelStart لنخبره بموقع بداية الكلمة التي نريد تلوينها ..

ملاحظة : الترقيم في InStr يبدأ بالرقم 1 ( لذلك نطرح 1 من القيمة التي تعيدها الدالة InStr )

RichTextBox1.SelLength = Len(B(x))
RichTextBox1.SelColor = vbRed

بعدما قمنا بمعرفة مكان الكلمة الخاطئة نريد معرفة طولها ، لهذا نستخدم الدالة Len لمعرفة الطول ونخزن الناتج في SelLength ..

أما SelColor فتقوم بتحديد اللون ..

سبحان الله وبحمده ... سبحان الله العظيم

#5

الله يجزاك خير

ويجعله في موازيين حسناتك

مواضيع مشابهة

عدد الزوار حالياً

المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية

—الإجمالي—أعضاء مسجّلون—زوار بدون تسجيل

جارٍ التحقق من المتواجدين…