22-12-19, 03:19 AM
السلام عليكم و رحمة الله و بركاته
اخي الكريم بما ان نصوصك اشبه ما تكون بالثابته من حيث التنسيق.
فما اراه انها جدول باعمدة و صفوف ليس الا , لماذا تتعب نفسك في اعادة صياغتها بالكود.
انت تعرف متغيرات كثيرة و مقارنات اكثر.
الهدف من استخدام Regular Expression هو اجراء مقارنات محددة تختلف في تفاصيلها و ضمن نطاق محدود.
اما انت لديك تفاصيل ثابته , اشرت اليك سابقا بكود نظيف يستخدم مكتبات سريعة و قليلة التكلفة على النظام
عندما تتعامل مع بيانات كثيرة ستشهد بطئ من استخدام التعابير القياسية.
ماذا لو تغير لديك الملف و اصبح لديك حقول اكثر , هل ستقوم بتغير الكود و اعادة تعريف متغيرات توافق عدد الحقول و من ثم اجراء مقارنات جديدة و اعادة التعبئة ؟؟؟
هذه ليست برمجة على ما اعتقد , الشيئ الصحيح ان ابني دالة تقوم بمعالجة الملف مهما اختلفت التفاصيل و مهما كان حجم البيانات.
على اي حال الامر يعود لك.
جرب الكود التالي
و اذا احببت ان تقوم الدالة نفسها بصنع الاعمدة بدل من انشائها يدوياً و مهم اختلف عدد الاعمدة.
بالتوفيق
اخي الكريم بما ان نصوصك اشبه ما تكون بالثابته من حيث التنسيق.
فما اراه انها جدول باعمدة و صفوف ليس الا , لماذا تتعب نفسك في اعادة صياغتها بالكود.
انت تعرف متغيرات كثيرة و مقارنات اكثر.
الهدف من استخدام Regular Expression هو اجراء مقارنات محددة تختلف في تفاصيلها و ضمن نطاق محدود.
اما انت لديك تفاصيل ثابته , اشرت اليك سابقا بكود نظيف يستخدم مكتبات سريعة و قليلة التكلفة على النظام
عندما تتعامل مع بيانات كثيرة ستشهد بطئ من استخدام التعابير القياسية.
ماذا لو تغير لديك الملف و اصبح لديك حقول اكثر , هل ستقوم بتغير الكود و اعادة تعريف متغيرات توافق عدد الحقول و من ثم اجراء مقارنات جديدة و اعادة التعبئة ؟؟؟
هذه ليست برمجة على ما اعتقد , الشيئ الصحيح ان ابني دالة تقوم بمعالجة الملف مهما اختلفت التفاصيل و مهما كان حجم البيانات.
على اي حال الامر يعود لك.
جرب الكود التالي
PHP كود :
Private Sub btnGetRows_Click(sender As Object, e As EventArgs) Handles btnGetRows.Click
For Each Str As String In RichTextBox1.Lines
Str = Str.Replace("""", "")
Dim items = Str.Split(New Char() {","c}, StringSplitOptions.RemoveEmptyEntries).[Select] _
(Function(s) s.Split(New Char() {":"c})).ToDictionary(Function(K) K(0), Function(V) V(1))
DataGridView1.Rows.Add(items.Values.ToArray)
Next
End Sub
PHP كود :
Dim Str As String = RichTextBox1.Lines(0).Replace("""", "")
Dim items = Str.Split(New Char() {","c}, StringSplitOptions.RemoveEmptyEntries).[Select] _
(Function(s) s.Split(New Char() {":"c})).ToDictionary(Function(K) K(0), Function(V) V(1))
For Each v In items.Keys.ToArray
DataGridView1.Columns.Add(New DataGridViewTextBoxColumn With {.HeaderText = v})
Next
بالتوفيق
اللهم لك الحمد كما ينبغي لجلال وجهك و عظيم سلطانك
في حل و ترحال


