PDA

View Full Version : مشکل با Copy گرفتن از طریق Clipboard با متنهای فارسی



daniyal_1363
یک شنبه 30 خرداد 1389, 10:53 صبح
سلام

برای کپی گرفتن یک متن از داخل یک Textbox که به صورت Multiline از Clipboar استفاده میکنم، به این صورت :





Clipboard.SetText ""
Clipboard.SetText Text1.Text




ولی بعد از اینکه نوشته رو در جای دیگه ای Past میکنم به صورت زیر نمایش میده



(ÏÑÊáÝÙ ÍÑæݝ) ÍÑÝí ßå
ÈÇÇÕØßÇߝ äÝӝ ÇÏÇ ÑÏÏ( ãËᝠvæ sh )¡
ÈÊáÝÙÏÑÂãÏ坡 ÇÕØßÇßí.

فونت Text من Tahoma هستش و بعد از Past کردن هر فونتی که میزارم درست نمیشه .


چه کنم بچه ها ؟

fazelm
یک شنبه 30 خرداد 1389, 12:50 عصر
سلام

برای کپی گرفتن یک متن از داخل یک Textbox که به صورت Multiline از Clipboar استفاده میکنم، به این صورت :





Clipboard.SetText ""
Clipboard.SetText Text1.Text


ولی بعد از اینکه نوشته رو در جای دیگه ای Past میکنم به صورت زیر نمایش میده



(ÏÑÊáÝÙ ÍÑæݝ) ÍÑÝíßå
ÈÇÇÕØßÇߝäÝӝÇÏÇ ÑÏÏ( ãËávæ sh )¡
ÈÊáÝÙÏÑÂãÏ坡 ÇÕØßÇßí.

فونت Text من Tahoma هستش و بعد از Past کردن هر فونتی که میزارم درست نمیشه .


چه کنم بچه ها ؟

اولا کد رو باید به این صورت بنویسی :


Clipboard.Clear
Clipboard.SetText (Text1.Text)


بعد اگر درست نشد به خاطر اینه که سیستم زبان فارسی از توی کنترل پنل ات نصب نشده

parselearn
یک شنبه 30 خرداد 1389, 13:01 عصر
اينو امتحان كنيد
براي من درست كار ميكنه




Private Sub Command1_Click()
Clipboard.Clear
Clipboard.SetText Text1.Text, vbCFText
End Sub

Private Sub Command2_Click()
Text2.Text = Clipboard.GetText(vbCFText)
End Sub

daniyal_1363
یک شنبه 30 خرداد 1389, 17:19 عصر
بعد اگر درست نشد به خاطر اینه که سیستم زبان فارسی از توی کنترل پنل ات نصب نشده

دوست عزیز زبان فارسی رو سیستم من نصبه و تمام تنظیمات فارسی اعمال شده در کنترل پنل (اگه نصب نباشه که نمیشه فارسی تایپ کرد)


اينو امتحان كنيد
براي من درست كار ميكنه




Private Sub Command1_Click()
Clipboard.Clear
Clipboard.SetText Text1.Text, vbCFText
End Sub

Private Sub Command2_Click()
Text2.Text = Clipboard.GetText(vbCFText)
End Sub



فرمان paste توسط خود ویندوز و در جایی دیگه اتفاق میفته ( خارج از برنامه مثلاً Word یا Internet Explorer) - داخل خود برنامه درست کار میکنه

ممنون از توجهتون ولی مشکل هنوز پابرجاست

fazelm
یک شنبه 30 خرداد 1389, 17:27 عصر
کدی رو که گذاشتم تست کردی ؟؟

daniyal_1363
یک شنبه 30 خرداد 1389, 17:43 عصر
کدی رو که گذاشتم تست کردی ؟؟

بله متاسفانه جواب نمیده

M.T.P
یک شنبه 30 خرداد 1389, 18:06 عصر
میشه بگین متن رو کجا Paste میکنین؟ احتمال 99 درصد مشکل در مقصد هست.

daniyal_1363
یک شنبه 30 خرداد 1389, 19:43 عصر
میشه بگین متن رو کجا Paste میکنین؟ احتمال 99 درصد مشکل در مقصد هست.

هر کجا به جز برنامه Paste می کنم مشکل داره - بالا توضیح دادم

daniyal_1363
دوشنبه 31 خرداد 1389, 09:42 صبح
میتونه مشکل از فارسی غیر استاندار ویندوز من باشه ؟

تو ویندوز من فایل های فارسی Zip نمیشه و پیغام خطا میده و در هنگام رایت با نرم افزار مثل Nero فایل های که اسم فارسی دارن رایت نمیشه


پیغامیه که در هنگام Zip کردن یه فایل با اسم فارسی میده :

http://www.Free-Picture-Host.com/images/2gO2x31277098329.jpg

javadt
دوشنبه 31 خرداد 1389, 12:53 عصر
شما وقتي كه مي خواي اطلاعات رو كپي كني قبلش زبان ويندوز رو روي فارسي بزار بعد اطلاعات رو كپي كن

M.T.P
دوشنبه 31 خرداد 1389, 13:26 عصر
میتونه مشکل از فارسی غیر استاندار ویندوز من باشه ؟

تو ویندوز من فایل های فارسی Zip نمیشه و پیغام خطا میده و در هنگام رایت با نرم افزار مثل Nero فایل های که اسم فارسی دارن رایت نمیشه


پیغامیه که در هنگام Zip کردن یه فایل با اسم فارسی میده :

http://www.Free-Picture-Host.com/images/2gO2x31277098329.jpg

واسه همه این مشکل هست.

daniyal_1363
دوشنبه 31 خرداد 1389, 17:04 عصر
شما وقتي كه مي خواي اطلاعات رو كپي كني قبلش زبان ويندوز رو روي فارسي بزار بعد اطلاعات رو كپي كن


خیلی ممنون جواب شما کار ساز بود:چشمک:

daniyal_1363
دوشنبه 31 خرداد 1389, 17:06 عصر
واسه همه این مشکل هست.

فکر نمیکنم

چند تا ویندوز داشتم که با فارسی مشکلی نداشته و هم فایل فارسی Zip میشد هم رایت

البته انجا جای بحث در این مورد نیست

ameri110
دوشنبه 31 خرداد 1389, 18:55 عصر
البته اگر انکودینگ در مقصد و مبدا یکی باشند این مشکل بوجود نمیاد
مثلا همین صفحه که این نوشته رو نوشیتی رو می تونی با اینکودینگ های مختلف وب بروزر ببینی
مطمئنا با یکیش درست میشه

daniyal_1363
دوشنبه 31 خرداد 1389, 21:00 عصر
البته اگر انکودینگ در مقصد و مبدا یکی باشند این مشکل بوجود نمیاد
مثلا همین صفحه که این نوشته رو نوشیتی رو می تونی با اینکودینگ های مختلف وب بروزر ببینی
مطمئنا با یکیش درست میشه


به نظر من یه برنامه خوب برنامه ای که کاربر وقتش گرفته نشه و راحت و ساده بدون هیچ مشکلی کار کنه


مشکل من به این طریق حل شد






ActivateKeyboardLayout &H429, KLF_REORDER
Clipboard.Clear
Clipboard.SetText ""
Clipboard.SetText t2.Text, vbCFText
ActivateKeyboardLayout &H409, KLF_REORDER







ActivateKeyboardLayout استفاده از API سیستم برای فارسی و انگلیسی کردن زبان سیستم