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

اللصق Paste في الفيجوال بيسك(مشكلة لا أجد لها حلاً)

بدأه zxcqwe في 30 يناير 2009 · 7 رد · 1,433 مشاهدة · في لغة Ms Visual Basic 6 وما قبلها من إصدارات
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

المشكلة بكل بساطة أنه عند عمل نسخ (copy) لنص باللغة العربية في حين أن

مؤشر الفأرة يكون مجهز ليكتب بالانجليزية فعند استخدام

Clipboard.GetText للصق النص في الفيجوال بيسك فإن النص يظهر بشكل

علامات استفهام ؟؟؟؟؟؟؟

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

لقد أرهقني البحث عن حل لهذه المشكلة دون طائل

أرجو ممن يملك الحل أن يتكرم بوضعه لأنني أحتاجه بشدة

تم تعديل هذه المشاركة بواسطة zxcqwe في 30 يناير 2009 في 16:20

#2

اعتذر عن عدم تمكني للمتابعه الدورية في وقتنا الحالي

فليقبل الجميع تقديري واحترامي .. ولكم تحياتي

#3

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

المشكلة بكل بساطة أنه عند عمل نسخ (copy) لنص باللغة العربية في حين أن مؤشر الفأرة يكون مجهز ليكتب بالانجليزية فعند استخدام Clipboard.GetText للصق النص في الفيجوال بيسك فإن النص يظهر بشكل علامات استفهام ؟؟؟؟؟؟؟

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

لقد أرهقني البحث عن حل لهذه المشكلة دون طائل

أرجو ممن يملك الحل أن يتكرم بوضعه لأنني أحتاجه بشدة

حسناً، المشكلة لم تظهر عندي، ما الكود الذي تستعمله؟ جرب التالي مثلاً:

Text1.Text = ClipBoard.GetText

وفقك الله

هذه الجملة خاطئة  :wacko: 


#4

لم يتم إجابة الطلب في ها الموضوع أخي

mrx_ta7ady كتب:
#5

أولاً:تم تعديل السؤال.

ثانياً:الموضوع لا يحتاج إلى رفع المشروع فأنا أستخدم نفس الكود الي تستخدمه

ولكي تلاحظ المشكلة قم بعمل الآتي:

افتح

notepad

قم بتحويل اللغة إلى العربية

قم بكتابة أي نص باللغة العربية

ثم قم بتحويل اللغة (لغة الكتابة)إلى الإنجليزية

ثم قم بعمل

Ctrl+A

ثم

Ctrl+C

لنسخ النص

وهكا تكون قد نسخت نصاً عربياً ولكن عندما كانت لغة الكتابة هي الإنجليزية

وهنا قم بالذهاب إلى الفيجوال بيسك واستخدم نفس الكود الذي قمت بكتابته سترى أن النص ظهر على شكل علامات استفهام في التكست بوكس

Abboodd كتب:
أرجو أخي أن ترفع الجزء من المشروع الذي يتسبب بالمشكلة، لكي تكون المشكلة واضحة، على كل حال، هذه إعادة صياغة لسؤالك لأنه مكتوب بطريقة خاطئة:

المشكلة بكل بساطة أنه عند عمل نسخ (copy) لنص باللغة العربية في حين أن مؤشر الفأرة يكون مجهز ليكتب بالانجليزية فعند استخدام Clipboard.GetText للصق النص في الفيجوال بيسك فإن النص يظهر بشكل علامات استفهام ؟؟؟؟؟؟؟

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

لقد أرهقني البحث عن حل لهذه المشكلة دون طائل

أرجو ممن يملك الحل أن يتكرم بوضعه لأنني أحتاجه بشدة

حسناً، المشكلة لم تظهر عندي، ما الكود الذي تستعمله؟ جرب التالي مثلاً:

Text1.Text = ClipBoard.GetText

وفقك الله

#6

بســم الله الـرحمــن الرحيــم

أولا: انشاء موديل اسمه "ArabicKeyboard" وأضف اليه الآتي

Declare Function ActivateKeyboardLayout Lib "user32" (ByVal HKL As Long, ByVal flags As Long) As Long
Declare Function GetKeyboardLayout Lib "user32" (ByVal dwLayout As Long) As Long

Sub ArabicKeyboard(language As String)
 Select Case LCase(language)
  Case "a"
	dd = GetKeyboardLayout(0)
	If dd = "67699721" Then D = ActivateKeyboardLayout(1, 0)
  Case "e"
	dd = GetKeyboardLayout(0)
	If dd <> "67699721" Then D = ActivateKeyboardLayout(0, 0)
  End Select
End Sub

ثانيا:

Private Sub cmdCopy_Click()
Call ArabicKeyboard.ArabicKeyboard("a")
	Text1.SetFocus
	Text1.SelStart = 0
	Text1.SelLength = Len(Text1.Text)
	''''''''
	Clipboard.Clear
	Clipboard.SetText Text1.SelText
	'''''''''''
End Sub

Private Sub cmdPast_Click()
	  '' Text2.SetFocus
	Text2.SelText = Clipboard.GetText()
End Sub

تم تعديل هذه المشاركة بواسطة booknet في 30 يناير 2009 في 20:42

#7

نفس المشكلة أخي!

booknet كتب:
بســم الله الـرحمــن الرحيــم

أولا: انشاء موديل اسمه "ArabicKeyboard" وأضف اليه الآتي

Declare Function ActivateKeyboardLayout Lib "user32" (ByVal HKL As Long, ByVal flags As Long) As Long
Declare Function GetKeyboardLayout Lib "user32" (ByVal dwLayout As Long) As Long

Sub ArabicKeyboard(language As String)
Select Case LCase(language)
  Case "a"
	dd = GetKeyboardLayout(0)
	If dd = "67699721" Then D = ActivateKeyboardLayout(1, 0)
  Case "e"
	dd = GetKeyboardLayout(0)
	If dd <> "67699721" Then D = ActivateKeyboardLayout(0, 0)
  End Select
End Sub

ثانيا:

Private Sub cmdCopy_Click()
Call ArabicKeyboard.ArabicKeyboard("a")
	Text1.SetFocus
	Text1.SelStart = 0
	Text1.SelLength = Len(Text1.Text)
	''''''''
	Clipboard.Clear
	Clipboard.SetText Text1.SelText
	'''''''''''
End Sub

Private Sub cmdPast_Click()
	  '' Text2.SetFocus
	Text2.SelText = Clipboard.GetText()
End Sub

#8

أرجو الاهتمام

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