PDA

View Full Version : تبدیل کاراکتر شبیه این \u0645\u06cc\u0646\u0644



eidazha
چهارشنبه 10 آبان 1396, 01:26 صبح
با سلام و خسته نباشید
دوستان چطوری میشه خروجی مثل \u0645\u06cc\u0646\u0644 این را با vb6 تبدیل به استرینگ معمولی کرد ؟

www.pc3enter.tk
چهارشنبه 10 آبان 1396, 18:08 عصر
سلام بیا
برات نوشتم.

فقط پدرم دراومد تا درستش کنم.
چیزی که اینجا باید بگم با زبان فارسی سازگاری نداره ولی عربی را فکر کنم.
شرمنده ولی هر کاری کردم نتوستم یک چیز تمیز در بیاورم به هر حال این کد که با کد گذاری زبان انگلیسی فعلا خوب کار میکنه


Private Sub Command1_Click()
On Error Resume Next
KK = Split("\u0048\u0065\u006C\u006C\u006F", "")
For a = 1 To 50
If Left(Right(KK(a), 3), 1) = 0 Then RR = Right(KK(a), 2) Else RR = Right(KK(a), 3)
Print UnHex(RR);
RR = ""
Next a
End Sub

Private Function UnHex(ByVal hextext As String) As String
For y = 1 To Len(hextext): num = Mid(hextext, y, 2): Value = Value & Chr(Val("&h" & num)): y = y + 1: Next y: UnHex = Value
End Function
فقط توجه کن این کد زیاد هوشمند نیست و باید داده ای که بهش میدی تو این چهار چوبی که من بهش دادم بدی. این جوری قبول نیست(مثلا). (
[[{"page_id":"17230","editor_id":"0","view_accesslevel_id":"0","edit_accesslevel_id":"0","delete_accesslevel_id":"0","menu_id":"0","page_display_title":"\u062e\u0627\u0646\u0647","pag)

با یک تشکر خستگی را از تن ما در بیار

فقط اگر کارتو راه میدازه که هیچی واگر نه بهم بگو تا یک کد دیگه برات بنویسم

eidazha
چهارشنبه 10 آبان 1396, 20:36 عصر
سلام بیا
برات نوشتم.

فقط پدرم دراومد تا درستش کنم.
چیزی که اینجا باید بگم با زبان فارسی سازگاری نداره ولی عربی را فکر کنم.
شرمنده ولی خر کاری کردم نتوستم یک چیز تمیز در بیاورم به هر این کد که با کد گذاری زبان انگلیسی فعلا خوب کار میکنه


Private Sub Command1_Click()
On Error Resume Next
KK = Split("\u0048\u0065\u006C\u006C\u006F", "")
For a = 1 To 50
If Left(Right(KK(a), 3), 1) = 0 Then RR = Right(KK(a), 2) Else RR = Right(KK(a), 3)
Print UnHex(RR);
RR = ""
Next a
End Sub

Private Function UnHex(ByVal hextext As String) As String
For y = 1 To Len(hextext): num = Mid(hextext, y, 2): Value = Value & Chr(Val("&h" & num)): y = y + 1: Next y: UnHex = Value
End Function
فقط توجه کن این کد زیاد هوشمند نیست و باید داده ای که بهش میدی تو این چهار چوبی که من بهش دادم بدی. این جوری قبول نیست(مثلا). (
[[{"page_id":"17230","editor_id":"0","view_accesslevel_id":"0","edit_accesslevel_id":"0","delete_accesslevel_id":"0","menu_id":"0","page_display_title":"\u062e\u0627\u0646\u0647","pag)

با یک تشکر خستگی را از تن ما در بیار

فقط اگر کارتو راه میدازه که هیچی واگر نه بهم بگو تا یک کد دیگه برات بنویسم

سلام و تشکر
برای انگلیسی درست کار میکنه اما متاسفانه تو عربی و فارسی مشکل داره ...

eidazha
چهارشنبه 10 آبان 1396, 21:17 عصر
جالبه تو php و ساست های آنلاین فارسی رو هم میشه کانورت کرد اما تو vb6 هرچی گشتم پیدا نشد
حالا دست شما درد نکنه یکم تونستیم حل کنید
اگه فارسی رو هم بتونید خیلی خوب میشه

www.pc3enter.tk
پنج شنبه 11 آبان 1396, 15:06 عصر
بیا این هم فاریسش که می تونی باهاش کار کنی. ولی در روش کل متن متفرقه بدی براش مشکلی نداره فقط توجه کن که حتما داده ای که بهش میدی حروف کوچه و بزرگ را توش رعایت کرده باشی
مثل این \u06CC نه این \u06cc
میگم یادت هست قبلانا تشکر می کردی

Private Sub Command1_Click()
Print UnHexFa("\u0645\u06CC\u0646\u0644")
End Sub
Private Function UnHexFa(ByVal StrText As String) As String
bb = Array("ء", "آ", "أ", "ؤ", "إ", "ئ", "ا", "ب", "ة", "ت", "ث", "ج", "ح", "خ", "د", "ذ", "ر", "ز", "س", "ش", "ص", "ض", "ط", "ظ", "ع", "غ", "ف", "ق", "ک", "ل", "م", "ن", "ه", "و", "ى", "ي", "ي", "گ", "چ", "پ", "ک", "ژ")
aa = Array(21, 22, 23, 24, 25, 26, 27, 28, 29, "2A", "2B", "2C", "2D", "2E", "2F", 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, "3A", 41, 42, 43, 44, 45, 46, 47, 48, 49, "4A", "CC", "AF", 86, "7E", "A9", 98)
For a = 0 To 41
StrText = Replace(StrText, "\u06" & aa(a), bb(a))
Next a
UnHexFa = StrText
End Function




منبع داده : http://www.fileformat.info/info/unicode/category/Lo/list.htm


نسخه جدید ویژوال بیسیک VB6.4 (https://www.aparat.com/v/3aF12)

eidazha
پنج شنبه 11 آبان 1396, 19:49 عصر
آقا دستت درد نکنه یه دنیا ممنون
بخدا من تشکر کردم !
اگه میشه تو یه فایل آپلود کنی . اینجا بزاری تا دانلود کنم
ممنون
راستی در مورد این vb6.4 میشه یه توضیحی بدی ؟! انتشار خود مایکروسافت هست ؟!

eidazha
پنج شنبه 11 آبان 1396, 20:06 عصر
البته این زمانی که فقط زبان فارسی باشه درست کار میکنه یعنی داخلش اگر یه کارکتر غیر فارسی استفاده شده باشه جواب نمیده ، تبدیل اون همه کد هم که برای منبع گذاشتید هم خیلی خیلی سخته
البته اینجا نسخه جاوا اسکزیپتش هست
https://r12a.github.io/apps/conversion
ولی بازم دستتون درد نکنه ، همینم خیلی خوبه

www.pc3enter.tk
پنج شنبه 11 آبان 1396, 20:31 عصر
اهان ببین حالا فهمیدم مشکلت چیه.
تو فارسیشه که برات به صورت ؟ میاره درسته؟؟؟؟/

برای حل اینکار کاری که بهت می گم بکن.

کل ویژوال بیسیک جدید باز بکن و کل این کدو داخلش کپی بکن. حالا هرچی که می خواد بشه . چه درست در بیاد و چه ؟.؟؟.؟ ؟.؟ اینجوری.

بعد پروژه را روی دسکتاپت ذخیره بکن : مثلا با نام خودش (Form1.frm) , بعد با برنامه Notepad ویندوز, Form1.frm را باز بکن و در قسمت کد مربوطه
دوباره اطلاعات را از سایت کپی پیست بکن, و ذخیره و دوباره باز کنی. همه چیز حل میشه.

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


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

eidazha
پنج شنبه 11 آبان 1396, 22:05 عصر
نه بحث علامت ؟؟؟؟ نیست
برنامه من به این صورت هست که از طریق json بعضی اطلاعات کاربر رو میگیرم مثلا امکان داره حتی کاربر داخل متنی که نوشته عبری یا ژاپنی یا ترکی یا حتی بعضی کاراکترهای خاص مثل @#$%^&*)(_+ و خیلی چیز های دیگه هم نوشته باشه (کاملا نامعلوم)
دنبال یه dll یا چیزی میگردم که من وقتی کد یونی کد مثل کد بالا رو میدم بهم تبدیل کنه حالا هر زبانی باشه ، اون سایت که با javascript نوشته شده دقیقا هر زبانی هر کاراکتری باشه میتونه نمایش بده ، متاسفانه تو وی بی 6 این امکان نیست ، حالا اگر واسه وی بی 6 نتونم پیدا کنم مجبورم یا برم سمت c++ که یه dll بنویسم یا اینکه از php استفاده کنم و تو برنامه به صورت httprequest کدینگ رو بفرستم سمت پی اچ پی و متن رو دریافت کنم
اما اگه با خود وی بی میشد خیلی خیلی خوب میشد

www.pc3enter.tk
پنج شنبه 11 آبان 1396, 22:21 عصر
حالا چرا هر کاراکتری

مگر برنامه ات قراره چه کار کنه که با عبارات حروف عبری . چینی . ژاپنی کار داره؟؟؟؟
مگر برنامه بین المللی داری مینویسی؟؟؟


اگر در نمایش فونت هر زبانی مشکل داری اون هم بگو تا برات راحت حل کنم

eidazha
پنج شنبه 11 آبان 1396, 23:49 عصر
حالا چرا هر کاراکتری

مگر برنامه ات قراره چه کار کنه که با عبارات حروف عبری . چینی . ژاپنی کار داره؟؟؟؟
مگر برنامه بین المللی داری مینویسی؟؟؟


اگر در نمایش فونت هر زبانی مشکل داری اون هم بگو تا برات راحت حل کنم

نه برنامه بین المللی نیست ، در واقع این برنامه یه خروجی هست از یه اپ اونجا ممکنه یکی تو تایتل از حروفات ترکی استفاده کرده باشه یا ژاپنی ! چون چندین هزار کاربر هست برای همین نمیشه گفت که متن چی هست