• پایان فعالیت بخشهای انجمن: امکان ایجاد موضوع یا نوشته جدید برای عموم کاربران غیرفعال شده است

يونيکد در وي بي

Mamylo

کاربر فعال بازیهای کامپیوتری
کاربر فعال
تاریخ عضویت
19 مارس 2005
نوشته‌ها
949
لایک‌ها
10
سن
34
محل سکونت
کرج
سلام به دوستان محترم

يه مشکل دارم، اميدوارم کسي بتونه حلش کنه

من وقتي يه فايل متني رو باز مي کنم و محتواش رو تو textbox مي ريزم اگر اون فايل به صورت يونيکد ذخيره شده باشه حروف فارسيشو ?????? نشون مي ده

کل نت رو زير و رو کردم ولي چيزي پيدا نکردم جز يه کنترل يونيکد که بايد رجيشتر مي شد

کسي راهي رو مي دونه؟
 

igimax

کاربر فعال کامپیوتر
تاریخ عضویت
17 سپتامبر 2004
نوشته‌ها
3,410
لایک‌ها
1,348
سن
51
سلام Mamylo جان
1538.gif


.( با اجازه Khepele sibilo بزرگ اين بخشبراي بار دوم جسارت مي‌كنيم) آقا من اين دو لينك را يافتم:
Unicode Visual Basic Examples
Unicode Controls and Classes for Visual Basic 6

. اميد وارم كه مفيد واقع بشه!

موفق باشيد.
67562.gif


خداحافظ
IgImAx
87/11/08
209266.gif
26650.gif
 

balabala

کاربر قدیمی پرشین تولز
کاربر قدیمی پرشین تولز
تاریخ عضویت
22 می 2005
نوشته‌ها
8,362
لایک‌ها
5,745
سن
43
محل سکونت
یه خورده اونورتر
Language for non-unicode programs رو در regional and language options (از کنترل پنل) روی فارسی بذارید درست میشه.
در ضمن از تابع StrConv هم میشه برای تبدیل استفاده کرد.. ولی کلا بیشتر کنترلهای استاندارد ویبی 6 یونیکد ساپورت نیستن..
 
Last edited:

Mamylo

کاربر فعال بازیهای کامپیوتری
کاربر فعال
تاریخ عضویت
19 مارس 2005
نوشته‌ها
949
لایک‌ها
10
سن
34
محل سکونت
کرج
سلام Mamylo جان
1538.gif


.( با اجازه Khepele sibilo بزرگ اين بخشبراي بار دوم جسارت مي‌كنيم) آقا من اين دو لينك را يافتم:
Unicode Visual Basic Examples
Unicode Controls and Classes for Visual Basic 6

. اميد وارم كه مفيد واقع بشه!

موفق باشيد.
67562.gif


خداحافظ
IgImAx
87/11/08
209266.gif
26650.gif

مرسي دوست من
ببينم اينا چي هستن

Language for non-unicode programs رو در regional and language options (از کنترل پنل) روی فارسی بذارید درست میشه.
در ضمن از تابع StrConv هم میشه برای تبدیل استفاده کرد.. ولی کلا بیشتر کنترلهای استاندارد ویبی 6 یونیکد ساپورت نیستن..


balabala عزيز
اين روش مناسب من نيست به دو دليل:
1. با اين کار فقط تو سيستم خودم شايد درست شه
2. مشکل من اينجا نيست. همه چيز سر جاشه و متن فارسي هم رو به راهه. فقط وقتي يه فايل متني رو با دسترسي مستقيم مي خونم و محتواش رو مي ريزم تو textbox در صورتي که اون فايل به صورت ANSI ذخيره شده باشه متون فارسي توشو نشون مي ده، در غير اين صورت جاش ؟؟؟؟ مي ذاره
 

balabala

کاربر قدیمی پرشین تولز
کاربر قدیمی پرشین تولز
تاریخ عضویت
22 می 2005
نوشته‌ها
8,362
لایک‌ها
5,745
سن
43
محل سکونت
یه خورده اونورتر
در مورد 1 که خب حتما باید سیستم مقصد هم فارسی باشه. اینطوری نمیشه.
-
2. مشکل من اينجا نيست. همه چيز سر جاشه و متن فارسي هم رو به راهه. فقط وقتي يه فايل متني رو با دسترسي مستقيم مي خونم و محتواش رو مي ريزم تو textbox در صورتي که اون فايل به صورت ANSI ذخيره شده باشه متون فارسي توشو نشون مي ده، در غير اين صورت جاش ؟؟؟؟ مي ذاره
خب اگر مشکل فقط اینه باید فایل رو بصورت باینری بخونی و با همون فانکشنی که گفتم تبدیلش کنی و بعد بریزی توی تکست باکس. چیزی شبیه به این: (البته حتما باید non-unicodeی که گفتم رو تنظیم کنی!)
کد:
Dim FF As Integer
Dim fileByte() As Byte
FF = FreeFile()
Open filename For Binary As #FF
ReDim fileByte(LOF(FF))
Get FF, , fileByte()
Close FF
fileStr = StrConv(fileByte(), vbFromUnicode)
(دستوراتش رو همینطوری تایپ کردم اگر مشکلی داشت بگو)
/
در ضمن بهتر هست از RichTextBox استفاده کنی که فکر میکنم یونیکد رو ساپورت میکنه کلا.
/
راه حل دیگه هم اینه: http://support.microsoft.com/kb/193540

/
ادیت: چرا پست من بهم ریخته بود :|
/
 
Last edited:

Khepele Sibilo

کاربر تازه وارد
تاریخ عضویت
2 ژانویه 2008
نوشته‌ها
1,693
لایک‌ها
16
سن
45
igimax عزیز می دونیم دونسته هاتون و صبر حوصله ای که توو جواب دادن به سایرین دارین، همیشه برام جای حسادت می گذاره.
از اینکه توو تاپیکی اسمی از من بردین ممنون.
Mamylo جان من همیشه از همه درخواست می کنم سوالی که دارن رو کامل بنویسن، به عنوان مثال اگر هدف شما این هست که متنی از قبل معین رو (مثلا help برنامه تون ) باز کنین راه های بینهایت آسونتری هست اما این واقعیت که Vb6 زمان win98 اومده و اون زمان تازه یونیکد می خواست استفاده بشه و برای همین این محیط نمی تونه درست ازش پشتیبانی کنه حقیقتیه، بهترین راه استفاده (توو جایی که دیگه مجبورین حتما یونیکد رو ببینین ) از نسخه های جدید این زبان هست . اگر کمی کامل تر توضیح بدین کاری که می خواین ( اینکه چیزی مثل notepad می خواین یا ... ؟ ) شاید بشه راحت تر کمک کرد
 

igimax

کاربر فعال کامپیوتر
تاریخ عضویت
17 سپتامبر 2004
نوشته‌ها
3,410
لایک‌ها
1,348
سن
51
سلام دوستان عزيز
1538.gif


. Khepele Sibilo عزيز ممنون از لطفتان و از balabala هم عذر مي‌خواهم كه فراموش كردم اسمشان را به عنوان بزگ و كاربر فعال اين بخش بيارم. والله من از پست هردوي شما عزيزان در انجمن‌هاي VB لذت ميبرم و استفاده مي‌كنم و بيشتر از شما حسادتم مي‌شه كه ماشاالله اينقدر سريع و خوب و كامل جواب مي‌دهيد كه معمولن تاپيك‌ها به 3 يا 4 پست نميرسه! آقا ادامه دهيد كه داريم ياد مي‌گيريم.....

. در مورد Unicode در VB6 من خواستم از همون اول بگم كه اين زبان اصلن به درستي از اين كدها پشتيباني نمي كنه ولي گفتم شايد Update يا Patchي برايش آمده باشد!

موفق باشيد.
67562.gif


خداحافظ
IgImAx
87/11/09
209266.gif
26650.gif
 

Mamylo

کاربر فعال بازیهای کامپیوتری
کاربر فعال
تاریخ عضویت
19 مارس 2005
نوشته‌ها
949
لایک‌ها
10
سن
34
محل سکونت
کرج
Mamylo جان من همیشه از همه درخواست می کنم سوالی که دارن رو کامل بنویسن، به عنوان مثال اگر هدف شما این هست که متنی از قبل معین رو (مثلا help برنامه تون ) باز کنین راه های بینهایت آسونتری هست اما این واقعیت که Vb6 زمان win98 اومده و اون زمان تازه یونیکد می خواست استفاده بشه و برای همین این محیط نمی تونه درست ازش پشتیبانی کنه حقیقتیه، بهترین راه استفاده (توو جایی که دیگه مجبورین حتما یونیکد رو ببینین ) از نسخه های جدید این زبان هست . اگر کمی کامل تر توضیح بدین کاری که می خواین ( اینکه چیزی مثل notepad می خواین یا ... ؟ ) شاید بشه راحت تر کمک کرد

Khepele Sibilo عزيز، ببخشيد اگر سؤالم کامل نبوده
اين کل قضيه منه:
من يه برنامه مبدل قالب نوشتم که فايل قالب بلاگفا رو مي گيره و اون رو به سرويس هاي ديگه تبديل مي کنه. همه چيز خوب پيش مي ره الا اون موقع که فايل لود ميشه. ايرادشم همين ؟؟؟؟ هاي لعنتيه!
اما اگر فايل قالب رو با notepad باز کنم و اونو به صورت ANSI ذخيره کنم همه چيز خوبه
در حالي که اذيت مي شم اگه بخوام دو ساعت ANSI کنم فرمتو بعد تبديل کنم، بعد هر دو تا فايلو يونيکد کنم. از طرفي، اگه آخرش يونيکد نکنم فايلارو تو خيلي از سيستماي ديگه مشکل ساز ميشه.

در مورد 1 که خب حتما باید سیستم مقصد هم فارسی باشه. اینطوری نمیشه.
- خب اگر مشکل فقط اینه باید فایل رو بصورت باینری بخونی و با همون فانکشنی که گفتم تبدیلش کنی و بعد بریزی توی تکست باکس. چیزی شبیه به این: (البته حتما باید non-unicodeی که گفتم رو تنظیم کنی!)
کد:
Dim FF As Integer
Dim fileByte() As Byte
FF = FreeFile()
Open filename For Binary As #FF
ReDim fileByte(LOF(FF))
Get FF, , fileByte()
Close FF
fileStr = StrConv(fileByte(), vbFromUnicode)
(دستوراتش رو همینطوری تایپ کردم اگر مشکلی داشت بگو)
در ضمن بهتر هست از RichTextBox استفاده کنی که فکر میکنم یونیکد رو ساپورت میکنه کلا.
راه حل دیگه هم اینه: http://support.microsoft.com/kb/193540
/

قربان ميشه از RichTextBox براي کاري که گفتم استفاده کرد؟ من بعد لود کردن فايل محتوي TextBox رو مي ريزم تو يه متغير و روش کار مي کنم.

اون لينک ميکروسافته رو هم مطالعه کردم، منتها الان وي بي رو تو اين ويندوزم نصب ندارم. اميدوارم يا کدي که داديد يا اون آموزش حل کنه مشکلمو:(
. در مورد Unicode در VB6 من خواستم از همون اول بگم كه اين زبان اصلن به درستي از اين كدها پشتيباني نمي كنه ولي گفتم شايد Update يا Patchي برايش آمده باشد!

موفق باشيد.
67562.gif

بسوزه پدر پيري! سعي دارم برم سراغ دات نت ولي فعلاً واسم php اولي تره که دارم اونو ياد مي گيرم:D
ضمناً آخرين پچش Service Pack 6ه که اونو دانلود و نصب کردم ولي هيچ تغييري تو اون چيزي که مي خواستم رخ نداد:(
 
Last edited:

balabala

کاربر قدیمی پرشین تولز
کاربر قدیمی پرشین تولز
تاریخ عضویت
22 می 2005
نوشته‌ها
8,362
لایک‌ها
5,745
سن
43
محل سکونت
یه خورده اونورتر
ممنون از لطف دوستان.
/
بله شما از richtextbox هم میتونی استفاده کنی تا جایی که یادم میاد یونیکد رو نشون میداد. یه تابع برای لود کردن داره:
کد:
RichTextBox1.LoadFile "c:\test.txt"
 
بالا