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

"مثال" على قاعدة بيانات أكسس تنطق الكلمات

مغلق
بدأه ابن مسقط في 21 أكتوبر 2005 · 7 رد · 1,319 مشاهدة · في قواعد بيانات Microsoft Access
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

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

المثال الذي وجدته لكم أثناء تصفحي لأحد المواقع الاجنبية ، يتميز بإمكانيته على نطق وقراءة الكلمات الموجدة بالسجلات.

شرح طريقة عمله :-

المثال يتكون من نموذج بمسمى frmTextToSpeech عليه مربعي نص غير منتظمين تم تسميتهما txtQuote و txtAuthor بالإضافة إلى زر أمر بأسم cmdSpeak والذي يقبع أسفل منه الكود التالي :

Private Sub cmdSpeak_Click()
'On Error Resume Next
Dim strValue As String
Dim strQuote As String
Dim strAuthor As String
If Me.cmdSpeak.Caption = "&Get Random Quote" Then
' get quote
strValue = GetRandomQuote
If InStr(1, strValue, ":") Then
Me.txtQuote = Split(strValue, ":")(0)
Me.txtAuthor = Split(strValue, ":")(1)
Me.cmdSpeak.Caption = "&Speak"
End If
Else
' speak quote
Me.ctlDirectSS.AudioReset
Me.ctlDirectSS.Speak Me.txtQuote & "                 Author:  " & Me.txtAuthor
Me.cmdSpeak.Caption = "&Get Random Quote"
End If
End Sub

الكود أعلاه يبدأ عمله بمجرد النقر على زر أمر cmdSpeak ، حيث يقوم على إستجلاب بيانات أحد السجلات من حقلي Quote و Author بصورة عشوائية من جدو ل tblQuotes وإظهارها على مربعي النص الغير منتظمين بمساعدة الوحدة النمطية الخاصة التالية ثم القيام بقراءة النصوص المعروضة فيهما :

Private Function GetRandomQuote() As String
On Error Resume Next
Dim rs As ADODB.Recordset
Dim strSQL As String
Dim lngMaxID As Long
Dim lngID As Long
Dim strOut As String
Set rs = CreateObject("ADODB.Recordset")
rs.CursorType = adOpenKeyset
rs.LockType = adLockOptimistic
' get the maximum ID in tblQuotes
strSQL = "SELECT Max(tblQuotes.ID) AS MaxOfID FROM tblQuotes"
rs.Open strSQL, CurrentProject.Connection
If rs.State = 1 Then
If Not rs.BOF Then
lngMaxID = rs("MaxofID")
End If
rs.Close
End If
' get a random positive number that is <= MaxID
Randomize
lngID = CLng(lngMaxID * Rnd + 1)
' use this random number to get a quote
strSQL = "SELECT Quote, Author FROM tblQuotes WHERE ID = " & lngID
rs.Open strSQL, CurrentProject.Connection
If rs.State = 1 Then
If Not rs.BOF Then
strOut = rs("Quote") & ":" & rs("Author")
End If
rs.Close
End If
Set rs = Nothing
GetRandomQuote = strOut
End Function

أرجو الإحاطة أن المثال يحتاج إلى مكتبة الربط المسماة XVoice.dll وكذلك المرجع المسمى Microsoft Dirct Speech Sysnthesis ليستطيع نطق الكلمات والعمل بصورة جيدة.

ومن يحتاج إلى ملف مكتبة الربط فيمكن إنزاله بالنقـر هنـا

(للأسف المثال غير قادر على نطق الكلمات العربية) :angry:

أتمنى أن أكون قد وفقت في شرح المثال وأن يكون مفيدا لكم والله الموفق .

TextToSpeech.rar

ibnmusqat.gif
#2

اخي واستاذي ابن مسقط " عادل القاسمي "

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

جزاك الله خيرا على هذا البرنامج وهذا الشرح الرائع

اختكم

زهره

#3

لم يعمل الصوت معي رغم عدم ظهور أي رسالة خطأ

الرجاء المساعدة فأنا أحتاجه ضروري

#4

السلام عليكم

سؤال لابن مسقط ما هو نظام الوندوز الذي تعلم عليه وما هي اصدارة الاوفيس

لاني قمت بثتبيت المرجع المذكور وهو ينصب نفسه تلقائياً في ملف الوندوز على السي

وليس في ملف السيستم32 الذي عادة ما توضع به مراجع المكتبات

المهم نقلت المرجع XVoice.dll ايضا لملف السيستم32 ونفس الشي لم يعمل معي يا ترا اين المشكله

هناك خطأ ما لم اكتشفه

والله اعلم

نظام الوندوز لدي الاكس بي

الاوفيس اكس بي ايضا

#5

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

المشلكة من الصوت في جهازي

#6

الصوت سريع هل استطيع تغييره أو تقليل السرعة

#7
AccessHelp كتب:
السلام عليكم

سؤال لابن مسقط ما هو نظام الوندوز الذي تعلم عليه وما هي اصدارة الاوفيس

لاني قمت بثتبيت المرجع المذكور وهو ينصب نفسه تلقائياً في ملف الوندوز على السي

وليس في ملف السيستم32 الذي عادة ما توضع به مراجع المكتبات

المهم نقلت  المرجع XVoice.dll  ايضا لملف السيستم32 ونفس الشي لم يعمل معي يا ترا اين المشكله

هناك خطأ ما لم اكتشفه

والله اعلم

نظام الوندوز لدي الاكس بي

الاوفيس اكس بي ايضا

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

أخي الكريم ، نظام الويندوز عندي أكس بي + حزمة الخدمة الثانية Service Pack2 وإصدارة الأوفيس 2003

والمراجع المستخدمة كما هي موضحة في الصورة التالية :

23_10_05_12_59_42_1130097582XVoice.jpg

أما المرجع XVoice.dll فينصب نفسه تلقائياً في مجلد الويندوز ولا داعي لنقله إلى مكان أخر لأنه سيتم البحث عنه في مجلد الويندوز .

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

تم تعديل هذه المشاركة بواسطة ابن مسقط في 23 أكتوبر 2005 في 23:04

ibnmusqat.gif
#8
أبووليد كتب:
الصوت سريع هل استطيع تغييره أو تقليل السرعة

أخي الكريم/ أبو وليد ، لم أجد حتى الآن طريقة لتقليل سرعة الصوت.

ibnmusqat.gif

هذا الموضوع مغلق.

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

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

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

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

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