27-06-20, 11:37 PM
(آخر تعديل لهذه المشاركة : 27-06-20, 11:38 PM {2} بواسطة Doctor GME.)
أخى kiki
شكراً لمجهودك الكبير وعذراً على تأخرى فى الرد لانشغالى فى تجريب الكود
هناك مشكلة بسيطة ظهرت لم أفهم سببها
هذا هو أحد السجلات فى قاعدة البيانات:
عند البحث عن ?now تخرج النتيجة بلا مشاكل
ولكن عند البحث عن ?know مثلاً تخرج النتيجة هكذا: الآن؟k
مثل المشكلة الأولى تماماً وكأن ؟ تلغى ما تم تعديله بالكود ولا تتقيد بوجود مسافات
هذا هو الكود النهائى:
ولم أضف كما تلاحظ سوى الجزء الخاص بالاستبدال فى هذا السطر لأطابق قاعدة البيانات:
فما هى اقتراحاتك
أخى asemshahen5
محاولة جيدة ولكن لا يمكن إضافة قاعدة البيانات لكود البرنامج
فالمفترض أنها تحتوى على ملايين الصفوف
شكراً لمجهودك الكبير وعذراً على تأخرى فى الرد لانشغالى فى تجريب الكود
هناك مشكلة بسيطة ظهرت لم أفهم سببها
هذا هو أحد السجلات فى قاعدة البيانات:
عند البحث عن ?now تخرج النتيجة بلا مشاكل
ولكن عند البحث عن ?know مثلاً تخرج النتيجة هكذا: الآن؟k
مثل المشكلة الأولى تماماً وكأن ؟ تلغى ما تم تعديله بالكود ولا تتقيد بوجود مسافات
هذا هو الكود النهائى:
كود :
Imports System.Data.OleDb
Public Class Form1
Function GetExactSubtitles(ByVal content As String) As String
Using cnn As New OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=MyDatabase.accdb")
cnn.Open()
content = content.Replace(vbNewLine, " * ").Replace(" ?", "?")
Try
Dim sql As String = "SELECT * FROM [Translations] ORDER BY Len(English) DESC"
Using adp As New OleDbDataAdapter(sql, cnn)
Dim tbl As New DataTable
If adp.Fill(tbl) > 0 Then
For Each row As DataRow In tbl.Rows
content = content.Replace(row.Item("English") & Space(1), row.Item("Arabic") & Space(1))
Next
End If
End Using
content = content.Replace(" * ", vbNewLine)
Return content
Catch ex As Exception
MsgBox(ex.Message)
Return String.Empty
End Try
cnn.Close()
End Using
End Function
Private Sub BtnTranslate_Click(sender As Object, e As EventArgs) Handles BtnTranslate.Click
ArabicTextbox.Text = GetExactSubtitles(EnglishTextbox.Text & Space(1))
End Sub
End Classولم أضف كما تلاحظ سوى الجزء الخاص بالاستبدال فى هذا السطر لأطابق قاعدة البيانات:
كود :
content = content.Replace(vbNewLine, " * ").Replace(" ?", "?")فما هى اقتراحاتك
أخى asemshahen5
محاولة جيدة ولكن لا يمكن إضافة قاعدة البيانات لكود البرنامج
فالمفترض أنها تحتوى على ملايين الصفوف
