منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب

نسخة كاملة : تعريب عناصر جدول في الريتش بوكس _ مرفق _( كود _ مثال _صورة )
أنت حالياً تتصفح نسخة خفيفة من المنتدى . مشاهدة نسخة كاملة مع جميع الأشكال الجمالية .
بسم الله الرحمن الرحيم 
السلام عليكم ورحمة الله وبركاته 

ارجو من الاخوة الكرام المساعده في اظهار النصوص باللغه العربيه 
ولكم جزيل الشكر 
كود الاداة
كود :
Imports System
Imports System.Collections.Generic
Imports System.Linq
Imports System.Text

Namespace howto_rtf_table
    Public Class RtfTable
        Public InternalMargin As Integer = 180
        Public NumRows, NumCols As Integer
        Public ColumnWidths() As Integer = Nothing
       Public Contents(,) As String = Nothing

       Public Sub New(ByVal num_rows As Integer, ByVal num_cols As Integer, ByVal internal_margin As Integer)
            NumRows = num_rows
            NumCols = num_cols
            InternalMargin = internal_margin
            ColumnWidths = Enumerable.Repeat(1440, NumCols).ToArray()

           Contents = New String(NumRows - 1, NumCols - 1) {}


           For r As Integer = 0 To NumRows - 1
               For c As Integer = 0 To NumCols - 1
                   Contents(r, c) = ""
               Next c
           Next r
       End Sub

        Public Sub SetColumnWidths(ParamArray ByVal widths() As Integer)
            For c As Integer = 0 To NumCols - 1
                ColumnWidths(c) = widths(c)
            Next c
        End Sub

        Public Overrides Function ToString() As String
            Dim sb As New StringBuilder()
            Dim column_widths_string As String = ColumnWidthsString()

            For r As Integer = 0 To NumRows - 1
                ' Start the row.
                sb.Append("\trowd")
                sb.Append("\trgaph" & InternalMargin.ToString())

                ' Column widths.
                sb.Append(column_widths_string)

                ' Column contents.
                For c As Integer = 0 To NumCols - 1
                    sb.Append("\pard\intbl{" & Contents(r, c).Replace("\", "\\") & "}\cell")
                Next c

                ' End the row.
                sb.Append("\row")
            Next r
            Return sb.ToString()
        End Function

        Private Function ColumnWidthsString() As String
            Dim sb As New StringBuilder()
            Dim total As Integer = 0
            For c As Integer = 0 To NumCols - 1
                total += ColumnWidths(c)
                sb.Append("\cellx" & total.ToString())
            Next c
            Return sb.ToString()
        End Function
    End Class
End Namespace
 
كود الاستدعاء واضافة البيانات 
كود :
Dim table As New RtfTable(10, 2, 220)
       table.SetColumnWidths(1200, 1200)
       table.Contents(0, 0) = "اسم الصنف"
       table.Contents(0, 1) = "الثمن"
       rtbTable.Rtf = rtbTable.Rtf.Replace("@@@", table.ToString)

مرفق صورة توضيحيه 
مرفق مثال 
[attachment=27349]
وعليكم السلام   ورحمة الله وبركاته
لا  املك تجربة للاسف لكن ان كانت مثل تحميل النصوص  من مواقع او حتى ملفات نصية فبلا شك تحتاج ضبط الترميز او الانكود Encode .
(28-11-21, 08:46 PM)سعود كتب : [ -> ]وعليكم السلام   ورحمة الله وبركاته
لا  املك تجربة للاسف لكن ان كانت مثل تحميل النصوص  من مواقع او حتى ملفات نصية فبلا شك تحتاج ضبط الترميز او الانكود Encode .

-بعيدة تمام عن الويب  
استخدمها لعرض بيانات من قاعدة البيانات بالصيغه النصيه - وك دليل (بالامكان تغيير هذه القيمه الي عدد صفوف الداتا تابل ).

datatable.rows.count




ولكن في المثال اسند اليها القيم مباشرة -كما هو واضح -لكن عند اسناد القيم النصيه للاداة تعرض بهذا الشكل
تحديث الدالة ToString في الكلاس RtfTable
كود :
Public Overrides Function ToString() As String
    Dim sb As New StringBuilder()
    Dim column_widths_string As String = ColumnWidthsString()

    For r As Integer = 0 To NumRows - 1
        ' Start the row.
        sb.Append("\trowd")
        sb.Append("\trgaph" & InternalMargin.ToString())

        ' Column widths.
        sb.Append(column_widths_string)

        ' Column contents.
        For c As Integer = 0 To NumCols - 1
            Dim t = String.Concat(System.Text.Encoding.GetEncoding(1256).GetBytes(Contents(r, c)).Select(Function(x) "\'" & Hex(x)))
            sb.Append("\pard\intbl{\ltrpar\ltrpar\lang1025\f0\rtlch" & t & "\lang1033\f1\ltrch}\cell")
        Next c

        ' End the row.
        sb.Append("\row")
    Next r
    Return sb.ToString()
End Function

اخبرني بالتيجة
(28-11-21, 09:43 PM)E100 كتب : [ -> ]تحديث الدالة ToString في الكلاس RtfTable
كود :
Public Overrides Function ToString() As String
   Dim sb As New StringBuilder()
   Dim column_widths_string As String = ColumnWidthsString()

   For r As Integer = 0 To NumRows - 1
       ' Start the row.
       sb.Append("\trowd")
       sb.Append("\trgaph" & InternalMargin.ToString())

       ' Column widths.
       sb.Append(column_widths_string)

       ' Column contents.
       For c As Integer = 0 To NumCols - 1
           Dim t = String.Concat(System.Text.Encoding.GetEncoding(1256).GetBytes(Contents(r, c)).Select(Function(x) "\'" & Hex(x)))
           sb.Append("\pard\intbl{\ltrpar\ltrpar\lang1025\f0\rtlch" & t & "\lang1033\f1\ltrch}\cell")
       Next c

       ' End the row.
       sb.Append("\row")
   Next r
   Return sb.ToString()
End Function

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

 ماشاء الله تبارك الله بالنسبة لي النتيجة روعة.
(28-11-21, 09:43 PM)E100 كتب : [ -> ]تحديث الدالة ToString في الكلاس RtfTable
كود :
Public Overrides Function ToString() As String
   Dim sb As New StringBuilder()
   Dim column_widths_string As String = ColumnWidthsString()

   For r As Integer = 0 To NumRows - 1
       ' Start the row.
       sb.Append("\trowd")
       sb.Append("\trgaph" & InternalMargin.ToString())

       ' Column widths.
       sb.Append(column_widths_string)

       ' Column contents.
       For c As Integer = 0 To NumCols - 1
           Dim t = String.Concat(System.Text.Encoding.GetEncoding(1256).GetBytes(Contents(r, c)).Select(Function(x) "\'" & Hex(x)))
           sb.Append("\pard\intbl{\ltrpar\ltrpar\lang1025\f0\rtlch" & t & "\lang1033\f1\ltrch}\cell")
       Next c

       ' End the row.
       sb.Append("\row")
   Next r
   Return sb.ToString()
End Function

اخبرني بالتيجة


ما شاء الله عليك - سلم الله عقلك ويداك - بارك الله فيك ولك _ 
طلب اخير من حضرتك _اذا تفضلت 
 ممكن تشرح كيف اعرف نوع  الترميز _  
شكرا جزيلا

جزيل الشكر اخواني الكرام علي المساعدة 


اخواني الكرام
 
E100 و سعود


فائق احترامي