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

مشكلتان في اللغة العربية Visual Basic 6 أرجو سرعة التلبية فأنا احتاجهما بشدة...

بدأه zxcqwe في 4 أكتوبر 2008 · 13 رد · 8,459 مشاهدة · في لغة Ms Visual Basic 6 وما قبلها من إصدارات
مشاركة: واتساب X فيسبوك تيليجرام
#2

سأقول لك ما اعرفه و اتمنى ان يفيدك..

unicode تستخدمها في الوندوز او المتصفح عندما لا تظهر اللغة العربية بشكل سليم..

لكن بالنسبة للفيجوال بيسك ..

من نافذة البرنامج اذهب الى

Tools >>Options>>Editor Format

من font غير اللغة و اختار اي وحدة جنبها لغة عربية .. و بيضبط

اما بالنسبة للمشكلة الثانية اتمنى حد يساعدك

#3

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

المشكلة الثانية التي تعاني منها صادفتني من قبل تقريبا

وحلها إنك تغير مؤشر الكتابة إلى اللغه العربية قبل النسخ ليتم النسخ باللغه العربية .. يعني ممكن تكون مشكلة Font والله أعلم

أما المشكلة الأولى التي تقوم بملئ الحافظه من خلال الكود فبالطبع مستحيل إلا بعد تفريغها أولا

أي قم بتعديل الكود إلى :

Clipboard.Clear
Clipboard.SetText Label1.Caption

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

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

#4

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

تأكد من أن اللغة في البرنامج الذي ستنسخ منه النص هي "العربية" رمز اللغة يظهر في شريط المهام.

نفس الأمر بالنسبة لشريط العنوان في الإكسبلورير لكن أعتقد أنك هنا ستضعه في مسار ملف..! :lol:

تم تعديل هذه المشاركة بواسطة دريد عبد الله في 5 أكتوبر 2008 في 19:05

Doried Abd Allah

Prelware D&D Association

Lattakia/Syria

#5

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

أولاً : بالنسبة للأخ /الأخت "المتورطة" فسأجرب وأرد عليك...

ثانياً : بالنسبة للأخ "mrx_ta7ady" فأما المشكلة الثانية فكلامك صحيح ولكن من سيتعامل مع النسخ هو اليUser وليس أنا

أما المشكلة الأولى فأعلم أنه يجب افراغ الحافظة أولاً ولكن أيضاً عند لصق الحروف العربية تظهر بشكل غريب.

ثالثاً : الأخ دريد لم أفهم قصدك...

شكراً على المساعدة وأرجو من يعرف الحل فليخبرني

وشكراً...

تم تعديل هذه المشاركة بواسطة zxcqwe في 5 أكتوبر 2008 في 19:53

#6

الأخ/الأخت "المتورطة"

لقد جربت ما أخبرتني به ولم يحدت تغيير

أمر آخر أود أن أخبركم به بالنسبة للUnicode الذي تكلمت عنه:

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

#7

انتبه منيح أخي العزيز:

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

أول شيئ: ضع المؤشر في مربع النص يللي بدك تنسخ النص منو ثم اطلع على شريط اللغة(غالبا ما يكون على شريط المهام) إذا اللغة EN أو FR...غير اللغة إلى

AR

تاني شيئ : حدد النص يللي بدك تنسخو.. وتأكد أن اللغة مازالت AR

تالت شيئ: اضغط Ctrl+C لنسخ النص.. ثم اذهب إلى الفيجوال بيسك و الصق.

قبل أن تجرب ما قلته لك : اذهب للفيجوال بيسك وحاول أن تكتب بالعربية.. إن ظهر النص سليما.. فما قلته لك سيعمل بإذن الله

وإلا فاتبع ما قالته الأخت المتورطة و اجعل Font: Courier New (Arabic).

جرب وردلي خبر.

موفق إن شاء الله.

تم تعديل هذه المشاركة بواسطة دريد عبد الله في 5 أكتوبر 2008 في 19:54

Doried Abd Allah

Prelware D&D Association

Lattakia/Syria

#8

أخي دريد/

كما قلت للأخ mrx فإن من سيتعامل مع النسخ هو اليوسر فيجب أن أجد طريقة لحل ذلك اوتوماتيكياً لا يدوياً

هل تفهمني؟؟؟

#9

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

بس على كل : النص اللي رح يظهر بشكل علامات استفهام إذا لصقتو ببرنامجك.. وين ما لصقتو رح يظهر بشكل علامات استفهام صح؟

فالمشكلة من النظام ليس من برنامجك لذلك لاتقلق بشأن هذه الناحية.. فاليوسر بدبر راسو :rolleyes:

هذه هي المشكلة الثانية.

أما بالنسبة للمشكلة الأولى : فأنت وين عمتلصق النص؟ تذكر لنسخ ريتش تيكت لازم تستخدم فورمات معينة.أما لنسخ نص عادي فأهمل الفورمات.

Doried Abd Allah

Prelware D&D Association

Lattakia/Syria

#10

السلام عليكم رحمة الله

تحديدا كما قال الأستاذ دريد

دريد عبد الله كتب:
المشكلة من النظام ليس من برنامجك

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

إذا إحتوت الجملة المراد نسخها أي من الحروف العربية بإستخدام دوال الـ API الآتية :


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

على سبيل المثال :


KBLayout = GetKeyboardLayout(0)
Dim KBLayout As Long

وستجد الآن أن المتغير KBLayout امتلأ برقم .. هذا الرقم هو اللغة الحالية

والمطلوب منك هو معرفة كل أرقام اللغات التي يمكن أن تكون مستخدمة في جهاز المستخدم لوضع الإحتمالات التي تنزه سموه عن إخفاق عملية النسخ

ومن بعد ذلك قم بتغيير مؤشر الكتابة آليا كما تريد وضعه في المتغير KBLayout مثلا :


Call ActivateKeyboardLayout (KBLayout,0)
KBLayout = 67177473

سهلة ؟

يا سيدي الفاضل لا تكلف نفس إلا وسعها وأنت لن تسأل عن خطأ مستخدم أو جهله .. أجارنا الله من الجهل.

كما أنه فاتك شيء هام جدا .. كم من مستخدمي برنامجك سيكتبون باللغه العربية ثم يغيرون مؤشر الكتابة إلى لغة أخرى ليقوموا بالنسخ ؟؟

الطبيعي أنه إن أراد النسخ فوضع الكتابه نفسه يجب أن يكون مهيأ للغة العربية كحالنا جميعا حين نكتب أو نتعامل مع أي كتابة عربية أو ننسخها

وبخصوص الـ Unicode والتحويل إليها أو منها فإستخدم الدالة StrConv .. مثلا :


StrConv (MYText,vbFromUnicode )
StrConv (MYText,vbUnicode )

الأولى للتحويل إلى الـ Unicode والثانية للتحويل منها

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

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

#11

شيء حلو كتير أخ mrx مشكور على جهودك

و يا أخ zxcqwe

لقيت طلبك أخير :

المشكلة عندك هلا و متل ما ذكر الأخ mrx هي معرفة رقم اللغة التي تحتاجها وهي العربية.

يا ترى هل تختلف من كمبيوتر لآخر؟

عندي رقمها 67184641

فيك تضيف تايمر و تخلي اللغة بالنظام عربية طالما برنامجك مفتوح.

بس لا تآخذني أخي : هيك رح يسب عليك مستخدم برنامجك :lol:

Doried Abd Allah

Prelware D&D Association

Lattakia/Syria

#12
دريد عبد الله كتب:
يا ترى هل تختلف من كمبيوتر لآخر؟

عندي رقمها 67184641

الرقم بيختلف من عربي لعربي .. يعني عربي مصر غير عربي السعودية غير عربي لبنان غير عربي الجزائر وهكذا

طيب هو ممكن يغير وقت النسخ بس ويرجعه تاني .. للعلم أنا جربت مثل بسيط أثناء كتابة الرد السابق وللأسف فشل أثناء التجربة في صندوق كتابة الرد

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

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

#13

@ الإخ zxcqwe : يرجى عدم كتابة أى موضوع بهذه الطريقة مرة أخرى لأن محتويات الصورة لن تكون متاحة بالبحث بالأضافة الى زيادة حجم الصفحة بطريقة جنونية.

تم تعديل هذه المشاركة بواسطة msayed2004 في 13 أكتوبر 2008 في 04:59 — السبب: إضافة.

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