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

فقد التنسيقات بعد إزالة علامات التشكيل من RichTextBox

بدأه أبو حنان في 9 يوليو 2010 · 3 رد · 482 مشاهدة · في Microsoft Visual Basic.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

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

لديا الكود التالي لحذف التشكيل من المستند المفتوح في RichTextBox هذا هو الكود :

 Dim i As Integer
            Dim AStr() As String = {"~", "َ", "ً", "ُ", "ٌ", "ٌ", "ِ", "ٍ", "ْ", "ٍ", "ّ", "ٌ"}
            For i = 0 To UBound(AStr)
                Application.DoEvents()

                FrmDoc.RichTextBox.Text = FrmDoc.RichTextBox.Text.Replace(AStr(i), "")
                FrmDoc.RichTextBox.ScrollToCaret()
                Application.DoEvents()

            Next

لكن هناك مشكلة خطيرة وهي فقد كامل التنسيقات في المستند بعد ازالة التشكيل ففكرت ان استبدل الكود التالي :

                FrmDoc.RichTextBox.Text = FrmDoc.RichTextBox.Text.Replace(AStr(i), "")

بهذا الكود :

                FrmDoc.RichTextBox.Rtf = FrmDoc.RichTextBox.Rtf.Replace(AStr(i), "")

لكن للاسف لم يعمل كود إزلة التشكيل مطلقاً وبقي التشكيل كما هو في المستند

فما الحل يرحمكم الله

بارك الله فيكم وجزاكم عنا خير الجزاء

مختار أحمد

موقع الويب : http://www.luxorsystems.com

منتدياتنا :http://www.luxorsystems.com/forum/index.php

للمراسلة

luxorsystems@hotmail.com

للاتصال التليفوني

00201228085123

#2

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

سأكتب لك الكود بلغة C# وعليك التحويل ولا اعتقد ان ذلك صعب :)

int i = 0;
string[] AStr = {"~", "َ", "ً", "ُ", "ٌ", "ٌ", "ِ", "ٍ", "ْ", "ٍ", "ّ", "ٌ"};

for (i = 0; i <AStr.Length; i++) 
{			        
	while(richTextBox1.Find(AStr)!=-1)
	 {			    	
		richTextBox1.SelectionStart=richTextBox1.Find(AStr);
		richTextBox1.SelectedText="";
	 }

	 richTextBox1.ScrollToCaret();
	 Application.DoEvents();

}

تقبل تحياتي

#3

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

بارك الله فيك اخي الكريم

فعلا ظبط معي الكود وازال التشكيل مع المحافظة على التنسيق

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

ياريت أخي الفاضل تكمل جميلك وتكتب نفس الكود لكن للنص المظلل ( أي النص المحدد حاليا ) بارك الله فيك

لأني كاتب هذا الكود بشكل مختلف

ها هو الكود

Dim nas As String = FrmDoc.RichTextBox.SelectedText
            Dim tachkil() As String = {"~", "َ", "ً", "ُ", "ٌ", "ٌ", "ِ", "ٍ", "ْ", "ٍ", "ّ", "ٌ"}
            For i As Integer = 0 To tachkil.Length - 1
                Application.DoEvents()

                nas = nas.Replace(tachkil(i), "")
                Application.DoEvents()
                FrmDoc.RichTextBox.ScrollToCaret()
            Next
            Application.DoEvents()
            ' استبدال النص المضلل المشكول بالنص بعد إزالة التشكيل 
            FrmDoc.RichTextBox.SelectedText = nas

فيا ريت تكتب نفس الكود بالطريقة السابقة

تم تعديل هذه المشاركة بواسطة أبو حنان في 9 يوليو 2010 في 19:54

مختار أحمد

موقع الويب : http://www.luxorsystems.com

منتدياتنا :http://www.luxorsystems.com/forum/index.php

للمراسلة

luxorsystems@hotmail.com

للاتصال التليفوني

00201228085123

#4

تمام بارك الله فيكم

كله شغال تمام

جزاكم الله عني خيرا

مختار أحمد

موقع الويب : http://www.luxorsystems.com

منتدياتنا :http://www.luxorsystems.com/forum/index.php

للمراسلة

luxorsystems@hotmail.com

للاتصال التليفوني

00201228085123

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