ورود

View Full Version : مرجع حل مشکلات زبان فارسی و سورسهای مربوطه



صفحه : 1 [2]

Ramina
شنبه 21 بهمن 1385, 09:53 صبح
وقتی اینا رو کپی میکنم error میده.دقیقا کجا باید تعریف بشن؟

حامد مصافی
سه شنبه 24 بهمن 1385, 12:02 عصر
سلام
شما چی رو کپی می کنید؟؟

لطفاً مشخص کنید با کدام کد مشکل دارید

sknsphr
سه شنبه 01 اسفند 1385, 10:51 صبح
سلام

من تو یک سیستم انبار تحت DOS وقتی اطلاعات سیستم رو به dbf تبدیل میکنم، code page اش ایران سیستمه و با مبدل می تونم تبدیلش کنم و تو ویندوز ببینم. ولی وقتی یک گزارش رو فایل میکنم نمی دونم code page اش چیه و با مبدل ایران سیستم نمی تونم تو ویندوز ببینم. کسی میتونه کمک کنه؟ یه نمونه از فایلهاش رو هم میذارم.

digi_tal
شنبه 25 فروردین 1386, 19:23 عصر
با عرض سلام خدمت اساتید محترم
می خواستم بدونم میشه وقتی ما یک تکس باکس رو انتخاب می کنیم به طور خود کار زبان صفحه کلید یا همون ویندوز ایکس پی تغییر به فارسی کنه اگه امگان داره برام ایمیل بزنید
shemail.co@gmail.com
ممنون

noorsoft
پنج شنبه 27 اردیبهشت 1386, 06:39 صبح
اینکه خیلی ساده است فقط با دستور Instr شما وجود ممیز را در رشته جستجو می کنی و بعد با توجه به اعداد بعد از ممیز اعشار را به رشته اضافه می کنی

noorsoft
پنج شنبه 27 اردیبهشت 1386, 06:44 صبح
برای تغییر حالت صفحه کلید از APi مربوطه باید استفاده کنی و به ای صورت بنویسی
در Text1_GotFocus باید با KeyboardLeayout زبان صفحه کلید را عوض کنی

perfeshnal
پنج شنبه 27 اردیبهشت 1386, 08:05 صبح
سلام

قبلا زیاد در این مورد بحث شده شما باید برای این کار این کد رو بنویسی

Private Declare Function LoadKeyboardLayout Lib "user32" Alias "LoadKeyboardLayoutA" (ByVal pwszKLID As String, ByVal flags As Long) As Long

Private Sub Text1_Click()
Dim xx As Long
xx = LoadKeyboardLayout("00000429", 1)
End Sub

jafaripur
جمعه 28 اردیبهشت 1386, 01:22 صبح
Function IranDate(d As String)
Dim ifday, ifmonth, ifyear, ifdayofyear
Dim iyear, idayofyear
Dim inumdayofyear
Dim aifmonthdays
aifmonthdays = Array(31, 31, 31, 31, 31, 31, 30, 30, 30, 30, 30, 29)
inumdayofyear = 365
Calendar = vbCalGreg

iyear = Year(d)
idayofyear = DatePart("y", d)
If isleapyear(iyear - 1) Then
inumdayofyear = 366
aifmonthdays(11) = 30
End If
If (idayofyear > 79) Then
ifyear = iyear - 621
ifdayofyear = idayofyear - 79
Else
ifyear = iyear - 622
ifdayofyear = (inumdayofyear - 79) + idayofyear
End If
ifday = ifdayofyear
While (ifday > aifmonthdays(ifmonth))
ifday = ifday - aifmonthdays(ifmonth)
ifmonth = ifmonth + 1
Wend
ifmonth = ifmonth + 1
If Len(ifmonth) = 1 Then ifmonth = "0" & ifmonth
If Len(ifday) = 1 Then ifday = "0" & ifday
IranDate = ifyear & "/" & ifmonth & "/" & ifday
d = IranDate
End Function
'--------------------------------
Function isleapyear(nyear)
isleapyear = (((nyear Mod 4) = 0 And (nyear Mod 100) <> 0) Or (nyear Mod 400) = 0)
End Function


فکر نکنم مشکلی باشه خیلی تست کردم برنامه های خودم رو هم به این صورت نوشتم

طرز استفاده

Text1.Text = irandate(date)

CodeMasterX
جمعه 28 اردیبهشت 1386, 01:31 صبح
دوست من لطفا کد ها رو در تگ های مربوطه قرار بدین تا بشه خوندشون.

بهرنگ نوروزی
یک شنبه 13 خرداد 1386, 07:49 صبح
M-gheibi می تونی کد صفحه کلید رو برام بفرستی

ah90sh
پنج شنبه 17 خرداد 1386, 18:11 عصر
دکمه های MSGBOX را پیدا نکردم بعدش ولی پیدا کردم

RZ_HAFEZ
سه شنبه 29 خرداد 1386, 15:53 عصر
مدیر سایت
m_gheibi
در مورد تبدیل عدد به حروف لطفا توضیح بیشتری بدهید
من این کد را وارد کردم ولی اجرا نمی شود

M-Gheibi
چهارشنبه 30 خرداد 1386, 13:34 عصر
مدیر سایت
m_gheibi
در مورد تبدیل عدد به حروف لطفا توضیح بیشتری بدهید
من این کد را وارد کردم ولی اجرا نمی شود
منظورتون از توضیح، بیان عملکرد خط به خط کدها هست ؟! پیچیده نیست . یکبار بخونید اگر متوجه نشدید بگید کدوم قسمت تا توضیح بدم .
اجرا نمی‌شود یعنی چه ؟ لطف کنید واضح‌تر بگید که چه خطایی مشاهده می‌کنید یا ...

mobin_co
جمعه 08 تیر 1386, 00:04 صبح
این هم یک فانکشن برای کار با تاریخ شمسی

ardvisoor
سه شنبه 19 تیر 1386, 15:32 عصر
سلام
من درباره جستجوی شرح فارسی با VB در SQLServer2005 مشکل دارم من یک Query دارم بصورت زیر

SELECT fldUserNo From tblUserDetails where fldLastName like '%تیموری%' and fldFirstName Like '%قاسم%'

اما وقتی این کد به Sql Server 2005 میره بصورت زیر در میاد

SELECT fldUserNo From tblUserDetails where fldLastName like '%ÊíãæÑí%' and fldFirstName Like '%ÞÇÓã%'
در نتیجه هیچ مقداری رو بر نمی گردونه، برای حروف لاتین و یا در حالت ارتباط با Sql server 2000 مشکلی ندارم اما اینو نمی دونم چکار کنم.

با تشکر

khosronejad
چهارشنبه 03 مرداد 1386, 18:01 عصر
دوستان فونت tahoma برای caption ها اگه انتخاب بشه ی را بصورت دو نقطه دار میزنه در حالیکه همین ی در office درست کارمیکنه . چگونه میتوان از ی فارسی یعنی بدون دو نقطه با فونت Tahoma و برنامه Vb استفاده کرد؟

perfeshnal
چهارشنبه 03 مرداد 1386, 23:15 عصر
سلام

جناب khosronejad اگر جستجو می کردید حتما به جواب می رسیدید. :ناراحت:
در تاپیک زیر آقای بابک زواری فونتی به نام TTahoma گذاشتند که حرف "ی" در اون فونت درسته و همچنین اعداد هم فارسی هستند.

http://barnamenevis.org/forum/showthread.php?t=31116&highlight=Tahoma

golihaghighi
چهارشنبه 10 مرداد 1386, 10:47 صبح
با اجرای کد بالا عبارت "یکصد و پنجاه و شش هزار و چهارصد و هشتاد و نه" در Text1 نمایش داده خواهد شد .

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

حامد مصافی
چهارشنبه 10 مرداد 1386, 12:17 عصر
من یک سری فایل صوتی از اعداد دارم میشه با این برنامه ترکیبش کرد تا اعداد رو هم بخونه
ممنون خواهم شد اگر برای من بفرستید.
Hamed.Masafi@GMail.com

golihaghighi
چهارشنبه 10 مرداد 1386, 13:01 عصر
ممنون خواهم شد اگر برای من بفرستید.
Hamed.Masafi@GMail.com

باید تو آرشیوم بگردم. به محض پیدا شدن می فرستم البته حجمش زیاده با چندتا مسیج میفرستم.

hossein-jam
شنبه 27 مرداد 1386, 14:13 عصر
سلام
یه سوال داشتم که اگه جواب بدید ممنون میشم VB
من برنامه ای رو نوشتم که دو تا فرم داره . بر فرض مثال فرم یک و فرم دو
حالا تو فرم دو یه متغیر تعریف کردیم و درون متغیر یه مقداری وجود داره . میخوام کاری کنم که مقدار موجود درون متقیر فرم دو به یه متقیر دیگه که تو فرم یک وجود داره منتقل بشه . چکار باید بکنم ؟


:ناراحت:

aslan_ir
شنبه 27 مرداد 1386, 19:27 عصر
form1.text1.text=form2.text1.text

alikhalesi
جمعه 02 شهریور 1386, 19:14 عصر
سلام. من یک برنامه وی بی رو به بانک sql وصل کردم و وقتی داده های فارسی رو وارد می کردم همه چی درست بود و فقط داده ها به صورت ؟ می شد. برای حل نوع فیلد رو به nvarchar تغییر دادم این مشکل رفع شد اما وقتی که داده ها رو از طریق برنامم search می کنم هیچ داده ای پیدا نمیکنه( الیته فقط داده های فارسی و با داده های انگلیسی کاری نداره) ممنون میشم جوابمو بدین

mf_engineer
جمعه 09 شهریور 1386, 10:12 صبح
با سلام من از برنامه کدپیج ایران سیستم که اقای غیبی نوشتند استفاده کردم ولی نمی تونم فارسی تایپ کنم واینکه اگه خوب این برنامه رو ببینید می بینید یه جاهاییش یه سری علامت داره که از نظر وی بی ناشناخته است
ممنون میشم کمکم کنید

محمد کریمی ورامین
سه شنبه 03 مهر 1386, 08:32 صبح
دوست عزیز من نمی توانیم تصویر گفته در این قسمت را مشاهده کنم . لطفا مرا راهنمائی کنید

لیلا خیرالهی
چهارشنبه 25 مهر 1386, 23:16 عصر
سلام و خسته نباشید!
بابت کدهای ارسالی ازتون متشکرم و بهتون تبریک می گم به خاطر سایتتون و بهتره بگم مدیریتتون.
من یک مشکل داشتم واسه جستجوی فیلد های فارسی!
من دارم یه برنامه با vb برای آژانس مسکن می نویسم یکی اینکه فیلد های جستجوم خیلی زیاده و نیاز به select های زیادی داره می خواستم بپرسم راهی بجز select نداره؟
محتوای جدول من همش فارسیه اما vb نمی تونه جستجو رو از توی اونا انجام بده همه ی فونت ها رو هم تو vb tahoma و تو sql هم arabic کردم ولی فایده نداره .
اگه کمکم کنید یه دنیا ممنونتون می شم.:لبخندساده::قلب:

بهمنی
پنج شنبه 26 مهر 1386, 10:59 صبح
سلام و خسته نباشید!
بابت کدهای ارسالی ازتون متشکرم و بهتون تبریک می گم به خاطر سایتتون و بهتره بگم مدیریتتون.
من یک مشکل داشتم واسه جستجوی فیلد های فارسی!
من دارم یه برنامه با vb برای آژانس مسکن می نویسم یکی اینکه فیلد های جستجوم خیلی زیاده و نیاز به select های زیادی داره می خواستم بپرسم راهی بجز select نداره؟
محتوای جدول من همش فارسیه اما vb نمی تونه جستجو رو از توی اونا انجام بده همه ی فونت ها رو هم تو vb tahoma و تو sql هم arabic کردم ولی فایده نداره .
اگه کمکم کنید یه دنیا ممنونتون می شم.:لبخندساده::قلب:

1- سرچ کنی! پیدا میکنی
2- نمونه همه درس و مشق های بچه های ICDL و ... توی اغلب تاپیکها ریخته پاشیده است میتونید با سرچ همه رو پیدا کنید.

بهمنی
پنج شنبه 26 مهر 1386, 13:16 عصر
قبل از اینکه این سوال را مطرح کنم، در تاپیک‌ها جستجو کردم، اما به نتیجه دلخواه نرسیدم. لذا این سوال را مطرح می‌کنم:
بدون این که در Control Panel بخش Regional and Language Settings لبه Advanced گزینه مربوط به برنامه‌های «غیر یونیکد» را به فارسی تغییر دهیم، می‌خواهیم برنامه‌ای داشته باشیم، که فقط یک عدد Textbox داشته باشد، که بشود تویش فارسی تایپ کرد، و بعد بتواند به یک دیتابیس (فایل Access) وصل شود، و عین متن تایپ شده را در جدول داخل آن ذخیره کند، به طوری که وقتی خود فایل Access را باز می‌کنیم هم متن را فارسی بنینیم، نه کاراکترهای عجیب و غریب.
توجه داشته باشید که برنامه قرار است فقط روی ویندوز XP‌ کار کند، و روی ویندوز ۹۸ و ... لازم نیست اصلاً باز بشود! (لذا من دنبال راه حل‌های مبتنی بر CodePage نیستم.)
توضیح دیگر آن که بنده اصلا سابقه کار با VB6 ندارم، و این سوال را به نیابت از کس دیگری می‌پرسم. لذا تا حد امکان ساده توضیح دهید. اگر به کامپوننت یا تکنیکی که برای شما شناخته شده‌است اشاره می‌کنید، لطف کنید برای من هم لینکی بگذارید که آشنا شوم.
(چیزی که تا الآن به آن پی بردم این است که VB6‌ کنترلهای پیش‌فرضش به صورت ANSI‌ هستند و بنابراین احتمالاً راه حل سوال من یا در گروی استفاده از کنترلهای دیگر است، یا در گروی ارتباط مستقیم برنامه با API‌ ویندوز و تعریف کنترلها از آن طریق.)


برای اینکه بتوانید در داخل یک کادر متنی(البته به محض ورود) فارسی تایپ کنید، باید API مربوطه را که در همین تاپیک (صفحات فکر میکنم اول تا دهم) ذکر شده است، در GetFucos بگذارید. دوم شروط استفاده از بانک اطلاعاتی با طول و تفصیل زیاد هستند برای راهنمایی من باید اطلاعات خوبی بهم بدید. سوم اگز با Access ورژنهای بالاتر(مثل2003) کار میکنید، باید از آن فایل مربوطه یک نسخه97 تهیه کنید(از طریق Utility داخل Access) تا موقع باز شدن اجق وجق نبینید. برای ارتباط مناسب هم از انجین مناسب استفاده کنید.(مثلا4.51) چهارم: برای راهنمایی استفاده از API (که فکر میکنم با آن آشنا هستید) یکبار جستجو کنید. از این لینک می‌توانید برنامه آموزش 900 API بیابید و حالشو ببرید.

لیلا خیرالهی
جمعه 27 مهر 1386, 01:23 صبح
باسلام این تصاویر به خوبی لود نشده اند اگه میشه یک بار دیگه لودش کنید
این متغیر lt در برنامه چیه و چرا ازش خطا می گیره؟
فونت iransystem رو از کدوم ضمیمه باید دانلود کنم؟
vb تابع xx=loadkey.... رو نمی شناسه اگه می شه یکم داجع بهش توضیح بدین !
lt; یعنی lt=?
ممنون

همانطور که در تصویر مشاهده می کنید این کنترل یک تقویم شمسی در Combobox باز می کند که با کلیک روی هر روز آن تاریخ آن روز را به شما می دهد.
<p align="center">http://hostedpictures.com/uploads/141068f706.gif</p>
کاری از محمد تاجیک

hrj1981
جمعه 27 مهر 1386, 14:30 عصر
با تشکر فراوان از مدیر کل سایت جناب غیبی
اینهم ocx کد تبدیل عدد به حروف برای راحتی برنامه نویسان
http://barnamenevis.org/forum/showthread.php?t=82233

saied_hacker
سه شنبه 01 آبان 1386, 14:04 عصر
سلام
میشه بگید چه طور می تونم یه فونت معرفی کنم؟
هرچه می نویسم چرت و پرت در می اد...
ممنون

mc_laren
سه شنبه 15 آبان 1386, 23:39 عصر
من مشکل فارسی نویسی در وی بی دارم
در ضمن در بقیه نرم افزارهای ویندوز براحتی فارسی می نویسم
و مشکل از سی دی وی بی نیست چون امتحان کردم.

اوبالیت به بو
چهارشنبه 16 آبان 1386, 01:23 صبح
تو این تایپیک من یه سری فونت گذاشتم برو دانلود کن.
http://barnamenevis.org/forum/showthread.php?t=82537

majidrezaei2007
دوشنبه 21 آبان 1386, 02:17 صبح
سلام. اگه میدونید چطوری میشه تو vb نستعلیق تایپ کرد منو راهنمایی کنید . ممنون
majid_fba@yahoo.com

azimtak110
سه شنبه 22 آبان 1386, 17:13 عصر
azimtak110@gmail.com

azimtak110
سه شنبه 22 آبان 1386, 17:16 عصر
دوستان می خوام بدونم کسی در مورد فاکتور چاپ کردن یا در کل طریقه طراحی فاکتور به صورت حرفه ای و زیبا و مهمتر چاپ آن برنامه یا کمکی به من نمی تواند بکند
اگر کسی این کار را انجام بدهد خیلی بزرگواری در حق من کرده و من مدیونش می شوم
اگر درون جی میلم این را قرار بده جواب را کهخیلی خیلی بزرگوار و عزیز هست
فدای همه بچه هابه خصوص آنهای که کمک می کنند به هم نوع خودشان
azimtak110@gmail.com

مهدی ویژوال
چهارشنبه 12 دی 1386, 09:13 صبح
ستاپ اضافه شد دریافت کنید

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

مهدی ویژوال
چهارشنبه 12 دی 1386, 09:22 صبح
دوست عزیز sql server را Remove کن و دروباره نصب کن و در زمان نصب حتما زبان را فارسی (عربی) انتخاب کن

مهدی ویژوال
چهارشنبه 12 دی 1386, 09:56 صبح
سلا به بابک عزیز از کجا بردارم داداش

مهدی ویژوال
چهارشنبه 12 دی 1386, 10:02 صبح
ممنون آقای سیدشریفی از لطف شما
اینم به افتخار آقای سیدشریفی بااین کدمیتونیدیک منوی قابل قبول باتصویر
و رنگ دلخواه و چند تا خرت پرت دیگه بسازید.
سورس ساختن منوهم اینجاست البته اینم بگم که کد برنامه
زیاد بهینه نیست و ممکنه اشکالاتی ریزی هم داشته باشه.
اینم اوپن سورس ما هرکس امکانی اضافه کرد یا باگی گرفت
با ذکر دقیق کار انجام شده و تغییرات صورت گرفته بذاره
همین جا بقیه بردارن.
فقط مشکلات رو برای من PM نزنید چون من تا اینجا آوردم
بقیه رو دوستان زحمتش رو بکشن.

با سلام دوست عزیر من فکر میکنم که الان این سورس که در بالا آمده یا ان ستاپی که قبلا گفتی پاک شده در صئرت امکان انها را برای من ارسال کنید
قبلا از زحمت شما کما تشکر و قدردانی را دارم
bampoori2002@yahoo..com

shahab2025
جمعه 14 دی 1386, 23:11 عصر
سلام
من از vb.net2005 استفاده میکنم ولی نمیتونم کد تبدیل عدد به حروف را که آقای غیبی دادند استفاده کنم . خطایی در مورد توابع Right و Leftمیده. ممنون میشم کمکم کنید

mobin_co
دوشنبه 01 بهمن 1386, 16:39 عصر
من مشکل فارسی نویسی در وی بی دارم
در ضمن در بقیه نرم افزارهای ویندوز براحتی فارسی می نویسم
و مشکل از سی دی وی بی نیست چون امتحان کردم.
توی ویژوال در منوی Tools گزینه Options و Tab{Editor Format} در قسمت Font گزینه Courier New(Arabic) رو انتخاب کنید.

علی خدایاری
جمعه 05 بهمن 1386, 23:54 عصر
:بامزه:این هم یک جور کد دیگه برای نوشتن عدد به حروف

chashmak
چهارشنبه 10 بهمن 1386, 20:10 عصر
لطفا کمکم کنید واجبه کسی میدونه در فرم ویژال بیسیک چطوری میتونم فایل pdf رو نشون بدم یا در فرم قرار بدم بهتر بگم نشون بدم

perfeshnal
چهارشنبه 10 بهمن 1386, 21:13 عصر
شما در سایت جستجو کردید و به جواب نرسیدید !!
یک جستجو انجام بدید قبلا جواب داده شده

golabam
جمعه 12 بهمن 1386, 23:05 عصر
با سلام خدمت اساتید من یه برنامه دارم که در قسمت جستجو اسم اگر اولین حرف کاف یا گاف باشه نمیتونه پیدا کنه ولی با حروف دیگه مشکل نداره در ضمن از دستور سلکت استفاده کردم راهنمائی کنید ممنونم

perfeshnal
شنبه 13 بهمن 1386, 07:40 صبح
دوست عزیز من در پست بالایی به دوست دیگمون گفتم در سایت جستجو کن به شما هم باید همین رو بگم
اینقدر نمونه برنامه در سایت در مورد جستجو هست که حد نداره

golabam
سه شنبه 16 بهمن 1386, 08:12 صبح
آقا من همه جا را گشتم راه حل هارا خواندم ولی مشکل حل نشد من چند تا برنامه دیگه از جمله برنامه سازمان تامین اجتماعی را دارام که تحت وی بی هستش و جستجوش خوب کار میکنه نمودنم مشکل ما از کجاست

bobrus
سه شنبه 16 بهمن 1386, 10:57 صبح
مشکل شما تو ویندوزه نه ویژوال بیسیک تو شاخه system32 یه فایل هست به نام kbdfa.dll که وضیفش فارسی نوشتنه و توش حروف گژپچ تعریف نشده نسخه درستش رو واستون آپلود می کنم طبق فایل راهنما عمل کنید درست میشه:متفکر:

asadegha
شنبه 04 اسفند 1386, 20:30 عصر
سلام خدمت اساتید محترم.
چطور میشه دو جدول از دو پایگاه داده اکسس مجزا رو با هم ادغام کرد، البته هر دو جدول از پایگاه دقیقا یکسان هستند -از نظر نوع ، تعداد و حتی نام فیلد ها- می خوام تو یه دیتا گرید نمایش بدم البته در صورت نیاز کاربر با دستورات sql فیلتر میشن.
خیلی عجله دارم. اگه لطف کنین کمکم کنین ممنون میشم.

Tiro Pro
چهارشنبه 15 اسفند 1386, 12:53 عصر
از تمام دوستانی که مرا در امر فارسی نویسی در vb کمک کردند و از مدیریت این تاپیک جالب کمال سپاس را دارم.2S

ata.royalfalcon
پنج شنبه 23 اسفند 1386, 17:55 عصر
دوستان سلام

با عرض پوزش از اساتید
یه کنترل تاریخ شمسی که خودم نوشتم براتون گذاشتم
تاریخ جاری سیستم رو به شمسی نشون میده ،البته خیلی ساده هستش اما درست کار میکنه امیدوارم به دردتون بخوره

طرز کار:
مثلا برای قرار دادن تاریخ شمسی درون یک textbox

Text1.text = Miracle1.Shamsi

Miracle اسم کنترل تاریخ هستش و برای سایر استفاده ها مثل database و غیره هم دقیقا مثل بالا عمل میشه.

موفق باشید

سلام
من نتونستم تاریخی که انتخاب کردم در یک تکست باکس وارد کنم (در اکسس)و این ارور را میدهد
Run time error '424
object required
چی کاری میبایستی انجام دهم ،راهنمایی کنید
البته این هم بگم که ocx را توسط دستور regsvr32 رجیستر و سپس به رفرنس ها نیز اضافه کردم.

Aminch.pc
پنج شنبه 01 فروردین 1387, 01:47 صبح
سلام
من هم یک سؤال دارم. اول اجازه بدید که برنامم رو شرح بدم.
برنامه ای در حال ساخت دارم که با بانکهای اطلاعاتی هستش. من چند تکست باکس دارم که می خوام اطلاعات داخل اون فارسی تایپ بشه. همچنین برای این کار از یک فونت فارسی مثلاً titr یا kamran استفاده کردم. حالا وقتی این برنامه رو توی یک کامپیوتر دیگه اجرا می کنم فونت titr چون توی اون سیستم وجود نداره نشون داده نمی شه و به جای اون از یک فونت دیگه استفاده می شه.
حالا سؤال من از شما دوستان اینه که چطوری می شه از طریق برنامه نویسی یک فونت رو توی سیستم طرف کپی کرد که این مشکل حل بشه؟

perfeshnal
پنج شنبه 01 فروردین 1387, 05:50 صبح
اگر شما از برنامه های ستاپ ساز استفاده کنید می تونید به راحتی فونتهای خودتون رو در سیستم دیگه نصب کنید.

Mbt925
پنج شنبه 01 فروردین 1387, 05:59 صبح
سلام
من هم یک سؤال دارم. اول اجازه بدید که برنامم رو شرح بدم.
برنامه ای در حال ساخت دارم که با بانکهای اطلاعاتی هستش. من چند تکست باکس دارم که می خوام اطلاعات داخل اون فارسی تایپ بشه. همچنین برای این کار از یک فونت فارسی مثلاً titr یا kamran استفاده کردم. حالا وقتی این برنامه رو توی یک کامپیوتر دیگه اجرا می کنم فونت titr چون توی اون سیستم وجود نداره نشون داده نمی شه و به جای اون از یک فونت دیگه استفاده می شه.
حالا سؤال من از شما دوستان اینه که چطوری می شه از طریق برنامه نویسی یک فونت رو توی سیستم طرف کپی کرد که این مشکل حل بشه؟

توی تاپیک زیر آموزش کار با یه Setup سازه خوب قرارداده شده.
ازش استفاده کنید.

http://barnamenevis.org/forum/showthread.php?t=95510&highlight=%D8%A2%D9%85%D9%88%D8%B2%D8%B4

Aminch.pc
پنج شنبه 01 فروردین 1387, 09:45 صبح
اگر شما از برنامه های ستاپ ساز استفاده کنید می تونید به راحتی فونتهای خودتون رو در سیستم دیگه نصب کنید.
یعنی اگه فونت ها رو کنار برنامم بذارم و برای کل فایل ها یک ستاپ درست کنم به نتیجه دلخواه می رسم؟

perfeshnal
پنج شنبه 01 فروردین 1387, 11:27 صبح
شما به تاپیکی که آقا محسن زحمتش رو کشیدند مراجعه کنید اونجا یک آموزش درباره ساخت ستاپ هست. که همه چیز رو به طور کامل توضیح داده

http://barnamenevis.org/forum/showthread.php?t=95510&highlight=%D8%A2%D9%85%D9%88%D8%B2%D8%B4

arash_vb
چهارشنبه 07 فروردین 1387, 00:22 صبح
سلام...یه برنامه دارم می نویسم..تا دیروز بعد از دوماه کار همه چی درست بود...دستی هم به ویندوزم نزدم! یهو دیروز برنامه رو ران کردم دیدم اینپوت باکس و مسیج باکسم حروف فارسی رو جدا جدا نمایش میدن..!! آخه من به چیزی تو تنظیمات دست نزدم...لطفا راهنمایی کنید.وقتم تنگه!!:افسرده:
مرسی

فاطمه وطن دوست
چهارشنبه 07 فروردین 1387, 05:57 صبح
سلام
http://barnamenevis.org/forum/showthread.php?t=78376&page=21
کنترلی برای طراحی Msgbox های مختلف

arash_vb
چهارشنبه 07 فروردین 1387, 10:21 صبح
سلام
http://barnamenevis.org/forum/showthread.php?t=78376&page=21
کنترلی برای طراحی Msgbox های مختلف


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

majjjj
چهارشنبه 07 فروردین 1387, 12:19 عصر
ایا از فونت خاصی استفاده میکنین

arash_vb
چهارشنبه 07 فروردین 1387, 14:54 عصر
ایا از فونت خاصی استفاده میکنین
اگه منظورتون در خود ویبی هست ، معمولا تاهوما که بدون مشکل همه جا اجرا میشه..اما به طور کلی خیر...


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

pesarekhobtar
دوشنبه 12 فروردین 1387, 01:00 صبح
با سلام ....
دوستان کسی می تونه توضیح بده چه طور می شه حروف را به صورت جدا از هم نوشت ولی به صورت چسبان...
مثلا حرف " ب " چسبانش می شه " بـ " و " ـبـ " اما این که اینجا نوشتم خودش شد دو تا کاراکتر . میشه یک نفر بگه چه طور میشه این کار را کرد چون اگر که دوتاش کنم درست می شه ولی من می خوام فقط یک حرف باشه که در این صورت با پاک کردن حرف دوم باز هم به صورت غیرچسبان در میاد : " ب " و " بپ "

امیدوارم تونسته باشم منظورم را درست برسونم ...

afsoonsoft_co
دوشنبه 19 فروردین 1387, 11:54 صبح
چرا وقتی انتهای textbox نقطه یاپراتز تایپ میکنیم بعدازذخیره کردن ودوباره لودکردن نقطه یا پرانتز جابجا میشه؟ تو چاپش هم همینجوریه؟
اگه کسی میتونه کمکم کنه ممنون میشم

perfeshnal
دوشنبه 19 فروردین 1387, 13:36 عصر
سلام

به احتمال زیاد شما خاصیت RightToLeft تکس باکس رو True نکردید.

afsoonsoft_co
سه شنبه 20 فروردین 1387, 10:02 صبح
سلام

مرسی ازراهنمایی - ولی اینکاروکردم نمیشه.ببینید اگر بعدازنقطه یا پرانتز یک کاراکتر دیگه بزارم درست میشه ولی اگر آخرین کاراکتر اونا باشند این مشکل پیش میاد

parselearn
یک شنبه 25 فروردین 1387, 07:35 صبح
کتابچه ای در مورد تنظیمات زبان ویندوز
دریافت (http://parselearn.parsaspace.ir/DL/Farsi-Language.zip)

afsoonsoft_co
پنج شنبه 29 فروردین 1387, 23:55 عصر
منظورمن توactive reporte توروخدایکی راهنمایی کنه

hrj1981
جمعه 30 فروردین 1387, 09:04 صبح
نسخه اصلاحی اکتیوریپورت روی وب سایت دیتادینامیکس اومده می تونی ازش استفاده کنی

afsoonsoft_co
یک شنبه 01 اردیبهشت 1387, 10:57 صبح
باتشکرازراهنماییتون. من اکتیوریپورت 2 روهم نصب کردم ولی بازهم فیلدها خاصیت right to left ندارندومشکل همچنان باقیست

ashkan23
پنج شنبه 05 اردیبهشت 1387, 19:54 عصر
سلام
من یه مشکل با Menu Editor وی بی دارم نمی تونم باهاش منوی فارسی از سمت راست درست کنم لطفا کمک کنید ممنون

mrsalam
جمعه 14 تیر 1387, 13:27 عصر
سلام
چرا خاصیت right to left فرمم ترو نمیشه؟

VB.SOS
شنبه 15 تیر 1387, 12:28 عصر
چون تو سيستمت فارسي نصب نيست. اگه فارسي رو توي ايكس پي نصب كني اين مشكل هم رفع ميشه

VB.SOS
شنبه 15 تیر 1387, 12:29 عصر
پيشنهاد ميكنم اين تاپيك جزء تاپيكهاي اعلان بشه تا هميشه مورد استفاده قرار بگيره.

VB.SOS
شنبه 15 تیر 1387, 12:31 عصر
سلام
من یه مشکل با Menu Editor وی بی دارم نمی تونم باهاش منوی فارسی از سمت راست درست کنم لطفا کمک کنید ممنون

دوست عزيز از كنترل هايي كه منوساز هستند استفاده كن مثل كنترل OfficeMenu تو سايت زياد هست.

ابوذر محمودی
شنبه 15 تیر 1387, 14:27 عصر
مشکل از menu editor نیست .شما right to left فرمتون رو true کنید .
پیشنهاد می کنم یه سری هم به این تاپیک بزنید . خیلی جالبه . حتما خوشتون می یاد.
واسه گرافیکی کردن برنامه و رها شدن از منوهای وی بی حرف نداره .
http://barnamenevis.org/forum/showpost.php?p=545468&postcount=248

ابراهیم ب
شنبه 15 تیر 1387, 17:00 عصر
با تشکر از کدهایی که نوشتین . ولی SQL من فیلدهای فارسی را به صورت ؟؟؟؟؟؟؟ نمایش می دهد. شما راهکاری برای رفع این حالت دارید

mohsen_f_b
شنبه 15 تیر 1387, 17:47 عصر
سلام دوستان عزیز
من خیلی حال کردم با این سمت
هرچه که خواستم توش پیدا کردم
حالا یک چیز می خوام که خیلی هم فوری اگه کسی بتونه راهنمایی کن ممنون می شم.

من می خوام بعد از ورود اطلاعات و پرکردن تمام فلیدها یک فایل PDF همره با تمام اطلاعات درون دیتابیس ( Access) ذخیره کنم.
بعد در قسمت جستجو وقتی اون چیزی رو که میخوام جستجو کنم تمتمی اطلاعات همراه با فایل PDF رو به من نشان بده.
مشکل من در قسمت آوردن فایل PDf و ذخیره کردن و نمایش اون تو جستجو .
اگه کسی از دوستان بلده مارو راهنمایی کنه ممنونم.
Microsoft Visual Basic 6.0

mehdi_7070
دوشنبه 24 تیر 1387, 22:20 عصر
سلام
سورس کدی هست که وقتی کاربر "ي" یا "ك" عربی را تایپ می‌کنه به "ی" و "ک" فارسی تبدیل کنه؟

vahid_d_0101
دوشنبه 24 تیر 1387, 22:25 عصر
شاید اگه شما chr ی فارسی و ک فارسی رو بدونید بشه یه کاری کرد.
CHR یه عدد هست که برای تمام حروف فرق داره من الان ببینم می تونم با این کد کاری کنم یا نه.

r_oscar2007
سه شنبه 25 تیر 1387, 00:10 صبح
دوست عزیز اون chr نیست بلکه asc هستش که یک کاراکتر گرغته و کد اسکی آن را به ما میدهد

vahid_d_0101
سه شنبه 25 تیر 1387, 00:26 صبح
من که کد اسکی رو نمیگم شما مثلا این دستورو بنویسید
Private Sub Form_Load()
Text1.Text = Chr(70)
End Sub
میبینید که حرف F در text1 به نمایش در می اید که تمام حروف و علامت ها و هرچی که می شه تو کامپیوتر تایپ کنند یه عدد مخصوص به خودشو داره حتا حروف کوچیک و بزرگ

mehdi_7070
سه شنبه 25 تیر 1387, 09:49 صبح
خوب این دو تا مقدار را پیدا کردم و با دستور Replace هم جایگزین کردم .
مشکل اینجاست که مثلا "برنامه نویس" را به "برنامه نوىس" تبدیل می‌کنه!!

aminkk
سه شنبه 25 تیر 1387, 11:45 صبح
اين مشكل ويندوز هستش.

mehdi_7070
سه شنبه 25 تیر 1387, 12:05 عصر
اين مشكل ويندوز هستش.
نه ، مشکل ویندوز نیست . توی Replace کردن یک مشکلی وجود داره!

ab1234
چهارشنبه 27 شهریور 1387, 12:42 عصر
از همه دوستان بخاطر همکاریشون ممنونم
من می خوام یه متن فارسی رو از طریق برنامه ای که با VB نوشتم ایمیل کنم...
متن فارسی تو خود برنامه مشکلی نداره. ولی وقتی ارسال میشه تو ایمیل به صورت ؟ در میاد
تو سایت هم جستجو کردم ولی چیزی پیدا نشد
لطفا منو راهنمایی کنید

r0ot$harp
چهارشنبه 27 شهریور 1387, 14:08 عصر
از همه دوستان بخاطر همکاریشون ممنونم
من می خوام یه متن فارسی رو از طریق برنامه ای که با VB نوشتم ایمیل کنم...
متن فارسی تو خود برنامه مشکلی نداره. ولی وقتی ارسال میشه تو ایمیل به صورت ؟ در میاد
تو سایت هم جستجو کردم ولی چیزی پیدا نشد
لطفا منو راهنمایی کنید


شما باید از URL_Encode استفاده کنید . اگر چیزی پیدا نکردید بگید براتون یه نمونه بزارم .




باتشکر احسان

ab1234
چهارشنبه 27 شهریور 1387, 15:15 عصر
شما باید از URL_Encode استفاده کنید . اگر چیزی پیدا نکردید بگید براتون یه نمونه بزارم .




باتشکر احسان


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

من یه Encoding میشناسم اگه منظورتون اینه که تو محیط ایمیل راست کلیک کنم و Encode .... باید بگم با این هیچ تغییری نمی کنه :متفکر:

r0ot$harp
چهارشنبه 27 شهریور 1387, 15:34 عصر
ممنون از راهنماییتون ولی من متوجه نشدم:خجالت:
میشه بیشتر توضیح بدین؟؟
این چی هست؟؟
چجوری کار میکنه؟؟

من یه Encoding میشناسم اگه منظورتون اینه که تو محیط ایمیل راست کلیک کنم و Encode .... باید بگم با این هیچ تغییری نمی کنه :متفکر:

دوست عزیز وقتی شما یه مقداری رو به یه سرور می فرستین یا حتی سرور ها بین خودشون رد و بدل می کنند این رشته ها که ردوبدل می شن با استفاده از Url Encode کد می شن و بین هم فرستاده می شن .


مثل فرستادن پیغام فارسی در Yahoo Messenger هست که باید حتما رشته قبل از فرستاده شدن به Utf-8 Encode تبدیل بشه و بعد فرستاده بشه و در نت و سرور ها هم باید با استفاده از Url Encode پیام ها رد و بدل بشه .

در Header هایی که در پروتکل Http 1.1 نوشته می شوند یک مقدار هست که تنظیم کننده ی نوع اطلاعات ارسالی هست به نام :


Content-Type: application/x-www-form-urlencoded


با استفاده از این خاصیت و مقدار شما به سرور اعلام می کنید که بسته های ارسالی شما به طرف سرور به وسیله Url Encode کد شده اند و اگر اینگونه نباشد هم خطا اعلام می کنه و در بعضی از موارد هم به جای حروف ؟؟؟؟ قرار می دهد .



باتشکر احسان

ab1234
چهارشنبه 27 شهریور 1387, 15:56 عصر
متشکرم آقا احسان
ولی من با متن انگلیسی هیچ مشکلی ندارم . یعنی انگلیسی نیاز به کد شدن نداره؟
حالا چجوری باید متن رو کد کنم؟؟ اگه ممکنه بیشتر توضیح بدید چون این چیزی که شما می فرماید رو من تا حالا نشنیده بودم:خجالت:
اگه یه نمونه هم بزارید که حسابی شرمندم کردید دیگه!!
بازم ممنون:قلب:

r0ot$harp
چهارشنبه 27 شهریور 1387, 16:06 عصر
متشکرم آقا احسان
ولی من با متن انگلیسی هیچ مشکلی ندارم . یعنی انگلیسی نیاز به کد شدن نداره؟
حالا چجوری باید متن رو کد کنم؟؟ اگه ممکنه بیشتر توضیح بدید چون این چیزی که شما می فرماید رو من تا حالا نشنیده بودم:خجالت:
اگه یه نمونه هم بزارید که حسابی شرمندم کردید دیگه!!
بازم ممنون:قلب:

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

دوست عزیز کدهای زیر رو در داخل یه Module کپی کنید .



Option Compare Binary

Public sCodePage As Long

Public cnvUni2 As String

Public cnvUni As String

Public Const CP_ACP = 0

Public Const CP_NONE = 0

Public Const CP_OEMCP = 1

Public Const CP_WINANSI = 1004

Public Const CP_WINUNICODE = 1200

Public Const MB_PRECOMPOSED = &H1

Public Const MB_COMPOSITE = &H2

Public Const MB_USEGLYPHCHARS = &H4

' //Arabic
Public Const CP_AWIN = 101

Public Const CP_709 = 102

Public Const CP_720 = 103

Public Const CP_A708 = 104

Public Const CP_A449 = 105

Public Const CP_TARB = 106

Public Const CP_NAE = 107

Public Const CP_V4 = 108

Public Const CP_MA2 = 109

Public Const CP_I864 = 110

Public Const CP_A437 = 111

Public Const CP_AMAC = 112

' //Hebrew
Public Const CP_HWIN = 201

Public Const CP_862I = 202

Public Const CP_7BIT = 203

Public Const CP_ISO = 204

Public Const CP_H437 = 205

Public Const CP_HMAC = 206

' /************************************************** ***********************
' Code Pages
' ************************************************** ***********************/
Public Const CP_OEM_437 = 437

Public Const CP_ARABICDOS = 708

Public Const CP_DOS720 = 720

Public Const CP_IBM850 = 850

Public Const CP_IBM852 = 852

Public Const CP_DOS862 = 862

Public Const CP_IBM866 = 866

Public Const CP_THAI = 874

Public Const CP_JAPAN = 932

Public Const CP_CHINA = 936

Public Const CP_KOREA = 949

Public Const CP_TAIWAN = 950

Public Const CP_EASTEUROPE = 1250

Public Const CP_RUSSIAN = 1251

Public Const CP_WESTEUROPE = 1252

Public Const CP_GREEK = 1253

Public Const CP_TURKISH = 1254

Public Const CP_HEBREW = 1255

Public Const CP_ARABIC = 1256

Public Const CP_BALTIC = 1257

Public Const CP_VIETNAMESE = 1258

Public Const CP_ASCII = 20127

Public Const CP_RUSSIANKOI8R = 20866

Public Const CP_RUSSIANKOI8U = 21866

Public Const CP_ISOLATIN1 = 28591

Public Const CP_ISOEASTEUROPE = 28592

Public Const CP_ISOTURKISH = 28593

Public Const CP_ISOBALTIC = 28594

Public Const CP_ISORUSSIAN = 28595

Public Const CP_ISOARABIC = 28596

Public Const CP_ISOGREEK = 28597

Public Const CP_ISOHEBREW = 28598

Public Const CP_ISOTURKISH2 = 28599

Public Const CP_ISOLATIN9 = 28605

Public Const CP_HEBREWLOG = 38598

Public Const CP_USER = 50000

Public Const CP_AUTOALL = 50001

Public Const CP_JAPANNHK = 50220

Public Const CP_JAPANESC = 50221

Public Const CP_JAPANSIO = 50222

Public Const CP_KOREAISO = 50225

Public Const CP_TAIWANISO = 50227

Public Const CP_CHINAISO = 50229

Public Const CP_AUTOJAPAN = 50932

Public Const CP_AUTOCHINA = 50936

Public Const CP_AUTOKOREA = 50949

Public Const CP_AUTOTAIWAN = 50950

Public Const CP_AUTORUSSIAN = 51251

Public Const CP_AUTOGREEK = 51253

Public Const CP_AUTOARABIC = 51256

Public Const CP_JAPANEUC = 51932

Public Const CP_CHINAEUC = 51936

Public Const CP_KOREAEUC = 51949

Public Const CP_TAIWANEUC = 51950

Public Const CP_CHINAHZ = 52936

Public Const CP_MAC_ROMAN = 10000

Public Const CP_MAC_JAPAN = 10001

Public Const CP_MAC_ARABIC = 10004

Public Const CP_MAC_GREEK = 10006

Public Const CP_MAC_CYRILLIC = 10007

Public Const CP_MAC_LATIN2 = 10029

Public Const CP_MAC_TURKISH = 10081

#If Mac Then

Public Const CP_DEFAULT = CP_MACCP

#Else

Public Const CP_DEFAULT = CP_ACP

#End If

Public Const CP_JOHAB = 1361

Public Const CP_SYMBOL = 42

Public Const CP_UTF8 = 65001

Public Const CP_UTF7 = 65000

Public Const CP_UNICODELITTLE = 1200

Public Const CP_UNICODEBIG = 1201

Public Const CP_UNKNOWN = -1

Public Const MB_ERR_INVALID_CHARS = &H8

Public Const WC_DEFAULTCHECK = &H100

Public Const WC_COMPOSITECHECK = &H200

Public Const WC_DISCARDNS = &H10

Public Const WC_SEPCHARS = &H20

Public Const WC_DEFAULTCHAR = &H40

Private Type FONTSIGNATURE

fsUsb(4) As Long
fsCsb(2) As Long

End Type

Private Type CHARSETINFO

ciCharset As Long
ciACP As Long
fs As FONTSIGNATURE

End Type

Private Const LOCALE_IDEFAULTCODEPAGE = &HB

Private Const LOCALE_IDEFAULTANSICODEPAGE = &H1004

Private Const TCI_SRCCODEPAGE = 2

Private Declare Function GetACP Lib "Kernel32" () As Long

Private Declare Function GetLocaleInfoA _
Lib "Kernel32" (ByVal Locale As Long, _
ByVal LCType As Long, _
ByVal lpLCData As String, _
ByVal cchData As Long) As Long

Private Declare Function GetSystemDefaultLCID Lib "Kernel32" () As Long

Private Declare Function IsWindowUnicode Lib "user32" (ByVal hwnd As Long) As Long

Private Declare Function TranslateCharsetInfo _
Lib "gdi32" (lpSrc As Long, _
lpcs As CHARSETINFO, _
ByVal dwFlags As Long) As Long

Private Declare Function MultiByteToWideChar _
Lib "Kernel32" (ByVal CodePage As Long, _
ByVal dwFlags As Long, _
ByVal lpMultiByteStr As Long, _
ByVal cchMultiByte As Long, _
ByVal lpWideCharStr As Long, _
ByVal cchWideChar As Long) As Long

Private Declare Function WideCharToMultiByte _
Lib "Kernel32" (ByVal CodePage As Long, _
ByVal dwFlags As Long, _
ByVal lpWideCharStr As Long, _
ByVal cchWideChar As Long, _
ByVal lpMultiByteStr As Long, _
ByVal cchMultiByte As Long, _
ByVal lpDefaultChar As Long, _
lpUsedDefaultChar As Long) As Long

'Private Declare Function MsoCpgFromLid Lib "c:\program files\Microsoft Office 9\office\mso9.dll" Alias "#307" (ByVal lid As Long) As Long
'Private Declare Function MsoCpgFromLid Lib "c:\program files\Microsoft Office 8\office\mso97.dll" Alias "#307" (ByVal lid As Long) As Long
Private Declare Function MsoCpgFromLid _
Lib "c:\program files\common files\microsoft shared\vba\mso97rt.dll" _
Alias "#307" (ByVal lid As Long) As Long

'Private Declare Function MsoMultiByteToWideChar Lib "c:\program files\Microsoft Office 9\office\mso9.dll" Alias "#778" (ByVal CodePage As Long, ByVal dwFlags As Long, ByVal lpMultiByteStr As Long, ByVal cchMultiByte As Long, ByVal lpWideCharStr As Long, ByVal cchWideChar As Long) As Long
'Private Declare Function MsoMultiByteToWideChar Lib "c:\program files\Microsoft Office 8\office\mso97.dll" Alias "#778" (ByVal CodePage As Long, ByVal dwFlags As Long, ByVal lpMultiByteStr As Long, ByVal cchMultiByte As Long, ByVal lpWideCharStr As Long, ByVal cchWideChar As Long) As Long
Private Declare Function MsoMultiByteToWideChar _
Lib "c:\program files\common files\microsoft shared\vba\mso97rt.dll" _
Alias "#778" (ByVal CodePage As Long, _
ByVal dwFlags As Long, _
ByVal lpMultiByteStr As Long, _
ByVal cchMultiByte As Long, _
ByVal lpWideCharStr As Long, _
ByVal cchWideChar As Long) As Long

'Private Declare Function MsoWideCharToMultiByte Lib "c:\program files\Microsoft Office 9\office\mso9.dll" Alias "#915" (ByVal CodePage As Long, ByVal dwFlags As Long, ByVal lpWideCharStr As Long, ByVal cchWideChar As Long, ByVal lpMultiByteStr As Long, ByVal cchMultiByte As Long, ByVal lpDefaultChar As Long, lpUsedDefaultChar As Long) As Long
'Private Declare Function MsoWideCharToMultiByte Lib "c:\program files\Microsoft Office 8\office\mso97.dll" Alias "#915" (ByVal CodePage As Long, ByVal dwFlags As Long, ByVal lpWideCharStr As Long, ByVal cchWideChar As Long, ByVal lpMultiByteStr As Long, ByVal cchMultiByte As Long, ByVal lpDefaultChar As Long, lpUsedDefaultChar As Long) As Long
Private Declare Function MsoWideCharToMultiByte _
Lib "c:\program files\common files\microsoft shared\vba\mso97rt.dll" _
Alias "#915" (ByVal CodePage As Long, _
ByVal dwFlags As Long, _
ByVal lpWideCharStr As Long, _
ByVal cchWideChar As Long, _
ByVal lpMultiByteStr As Long, _
ByVal cchMultiByte As Long, _
ByVal lpDefaultChar As Long, _
lpUsedDefaultChar As Long) As Long

'<CSCM>
'--------------------------------------------------------------------------------
' Project : Project1
' Procedure : ChsFromLocaleEx
' Description: [type_description_here]
' Created by : Project Administrator
' Machine : EHSAN-AD91DAD44
' Date-Time : 9/17/2008-16:31:09
'
' Parameters : lcid (Long)
'--------------------------------------------------------------------------------
'</CSCM>
Public Function ChsFromLocaleEx(lcid As Long) As Long
ChsFromLocaleEx = MsoCpgFromLid(lcid)
End Function

'<CSCM>
'--------------------------------------------------------------------------------
' Project : Project1
' Procedure : AToW
' Description: [type_description_here]
' Created by : Project Administrator
' Machine : EHSAN-AD91DAD44
' Date-Time : 9/17/2008-16:31:09
'
' Parameters : st (String)
' cpg (Long = -1)
' lFlags (Long = 0)
'--------------------------------------------------------------------------------
'</CSCM>
Public Function AToW(ByVal st As String, _
Optional ByVal cpg As Long = -1, _
Optional lFlags As Long = 0) As String

Dim stBuffer As String

Dim cwch As Long

Dim pwz As Long

Dim pwzBuffer As Long

If cpg = -1 Then cpg = GetACP()
pwz = StrPtr(st)
cwch = MultiByteToWideChar(cpg, lFlags, pwz, -1, 0&, 0&)
stBuffer = String$(cwch + 1, vbNullChar)
pwzBuffer = StrPtr(stBuffer)
cwch = MultiByteToWideChar(cpg, lFlags, pwz, -1, pwzBuffer, Len(stBuffer))
AToW = Left$(stBuffer, cwch - 1)
End Function

'<CSCM>
'--------------------------------------------------------------------------------
' Project : Project1
' Procedure : AToWEx
' Description: [type_description_here]
' Created by : Project Administrator
' Machine : EHSAN-AD91DAD44
' Date-Time : 9/17/2008-16:31:09
'
' Parameters : st (String)
' lcid (Long = -1)
' lFlags (Long = 0)
'--------------------------------------------------------------------------------
'</CSCM>
Public Function AToWEx(ByVal st As String, _
Optional ByVal lcid As Long = -1, _
Optional lFlags As Long = 0) As String

Dim cpg As Long

Dim lpUsedDefaultChar As Long

If lcid = -1 Then lcid = GetSystemDefaultLCID()
cpg = ChsFromLocaleEx(lcid)

AToWEx = AToW(st, cpg, lFlags)
End Function

'<CSCM>
'--------------------------------------------------------------------------------
' Project : Project1
' Procedure : WToA
' Description: [type_description_here]
' Created by : Project Administrator
' Machine : EHSAN-AD91DAD44
' Date-Time : 9/17/2008-16:31:08
'
' Parameters : st (String)
' cpg (Long = -1)
' lFlags (Long = 0)
'--------------------------------------------------------------------------------
'</CSCM>
Public Function WToA(ByVal st As String, _
Optional ByVal cpg As Long = -1, _
Optional lFlags As Long = 0) As String

Dim stBuffer As String

Dim cwch As Long

Dim pwz As Long

Dim pwzBuffer As Long

Dim lpUsedDefaultChar As Long

If cpg = -1 Then cpg = GetACP()
pwz = StrPtr(st)
cwch = WideCharToMultiByte(cpg, lFlags, pwz, -1, 0&, 0&, ByVal 0&, ByVal 0&)
stBuffer = String$(cwch + 1, vbNullChar)
pwzBuffer = StrPtr(stBuffer)
cwch = WideCharToMultiByte(cpg, lFlags, pwz, -1, pwzBuffer, Len(stBuffer), ByVal 0&, ByVal 0&)
WToA = Left$(stBuffer, cwch - 1)
End Function

'<CSCM>
'--------------------------------------------------------------------------------
' Project : Project1
' Procedure : WToAEx
' Description: [type_description_here]
' Created by : Project Administrator
' Machine : EHSAN-AD91DAD44
' Date-Time : 9/17/2008-16:31:08
'
' Parameters : st (String)
' lcid (Long = -1)
' lFlags (Long = 0)
'--------------------------------------------------------------------------------
'</CSCM>
Public Function WToAEx(ByVal st As String, _
Optional ByVal lcid As Long = -1, _
Optional lFlags As Long = 0) As String

Dim cpg As Long

Dim lpUsedDefaultChar As Long

If lcid = -1 Then lcid = GetSystemDefaultLCID()
cpg = ChsFromLocaleEx(lcid)

WToAEx = WToA(st, cpg, lFlags)
End Function

'<CSCM>
'--------------------------------------------------------------------------------
' Project : Project1
' Procedure : FStringInCpg
' Description: [type_description_here]
' Created by : Project Administrator
' Machine : EHSAN-AD91DAD44
' Date-Time : 9/17/2008-16:31:08
'
' Parameters : st (String)
' cpg (Long = -1)
'--------------------------------------------------------------------------------
'</CSCM>
Public Function FStringInCpg(ByVal st As String, _
Optional ByVal cpg As Long = -1) As Boolean

Dim cwch As Long

Dim lpUsedDefaultChar As Long

If cpg = -1 Then cpg = GetACP()

cwch = MsoWideCharToMultiByte(cpg, 0&, StrPtr(st), -1, 0&, 0&, ByVal 0&, lpUsedDefaultChar)
FStringInCpg = (CBool(lpUsedDefaultChar) = False)
End Function

'<CSCM>
'--------------------------------------------------------------------------------
' Project : Project1
' Procedure : FStringInCpgEx
' Description: [type_description_here]
' Created by : Project Administrator
' Machine : EHSAN-AD91DAD44
' Date-Time : 9/17/2008-16:31:08
'
' Parameters : st (String)
' lcid (Long = -1)
'--------------------------------------------------------------------------------
'</CSCM>
Public Function FStringInCpgEx(ByVal st As String, _
Optional ByVal lcid As Long = -1) As Boolean

Dim cwch As Long

Dim cpg As Long

Dim lpUsedDefaultChar As Long

If lcid = -1 Then lcid = GetSystemDefaultLCID()
cpg = ChsFromLocaleEx(lcid)

FStringInCpgEx = FStringInCpg(st, cpg)
End Function

'<CSCM>
'--------------------------------------------------------------------------------
' Project : Project1
' Procedure : ChsFromLocale
' Description: [type_description_here]
' Created by : Project Administrator
' Machine : EHSAN-AD91DAD44
' Date-Time : 9/17/2008-16:31:08
'
' Parameters : lcid (Long)
'--------------------------------------------------------------------------------
'</CSCM>
Public Function ChsFromLocale(lcid As Long) As Long

Dim cwc As Long

Dim cpg As Long

Dim stBuffer As String

Dim cs As CHARSETINFO

stBuffer = String$(10, vbNullChar)
cwc = GetLocaleInfoA(lcid, LOCALE_IDEFAULTANSICODEPAGE, stBuffer, Len(stBuffer))

If cwc > 0 Then
cpg = Val(Left$(stBuffer, cwc - 1))

If TranslateCharsetInfo(ByVal cpg, cs, TCI_SRCCODEPAGE) Then
ChsFromLocale = cs.ciCharset
End If
End If

End Function

'<CSCM>
'--------------------------------------------------------------------------------
' Project : Project1
' Procedure : DecodeUTF8
' Description: [type_description_here]
' Created by : Project Administrator
' Machine : EHSAN-AD91DAD44
' Date-Time : 9/17/2008-16:31:08
'
' Parameters : cnvUni (String)
'--------------------------------------------------------------------------------
'</CSCM>
Public Function DecodeUTF8(ByVal cnvUni As String)

If cnvUni = vbNullString Then Exit Function
cnvUni2 = WToA(cnvUni, CP_ACP)
DecodeUTF8 = AToW(cnvUni2, CP_UTF8)
End Function

'<CSCM>
'--------------------------------------------------------------------------------
' Project : Project1
' Procedure : UTF8_Encode
' Description: [type_description_here]
' Created by : Project Administrator
' Machine : EHSAN-AD91DAD44
' Date-Time : 9/17/2008-16:31:08
'
' Parameters : sStr (String)
'--------------------------------------------------------------------------------
'</CSCM>
Public Function UTF8_Encode(ByVal sStr As String)

For l& = 1 To Len(sStr)
lChar& = AscW(Mid(sStr, l&, 1))

If lChar& < 128 Then
sUtf8$ = sUtf8$ + Mid(sStr, l&, 1)
ElseIf ((lChar& > 127) And (lChar& < 2048)) Then
sUtf8$ = sUtf8$ + Chr(((lChar& \ 64) Or 192))
sUtf8$ = sUtf8$ + Chr(((lChar& And 63) Or 128))
Else
sUtf8$ = sUtf8$ + Chr(((lChar& \ 144) Or 234))
sUtf8$ = sUtf8$ + Chr((((lChar& \ 64) And 63) Or 128))
sUtf8$ = sUtf8$ + Chr(((lChar& And 63) Or 128))
End If

Next l&

UTF8_Encode = sUtf8$
End Function


و این خط هم برای کد کردن و طرز استفاده از این Module :


MsgBox UTF8_Encode("احسان تو دنیا همیشه هست")




باتشکر احسان

ab1234
پنج شنبه 28 شهریور 1387, 00:57 صبح
بازم جواب نگرفتم:ناراحت:

ببینید یه برنامه ارسال ایمیل ساده رو در نظر بگیرید که از یه SMTP مثل Gmail ایمیل میفرسته
من می خوام متن ایمیلم فارسی باشه
اون کدی رو که دادین تو یه ماژول کپی کردم ولی بازم وقتی ایملی میفرسته متن فارسیش به صورت ؟ و یه سری حروف غیر قابل خوندن در میاد.(اول به UTF8 تبدیلش کردم و بعد ارسال)
به نظر شما اشکال از کجاس؟؟?

متشکرم

ab1234
شنبه 30 شهریور 1387, 18:19 عصر
واقا کسی نمی تونه به من کمک کنه!!!؟؟؟:گریه:
ببینید من می خوام به یه برنامه مثل این (http://barnamenevis.org/forum/attachment.php?attachmentid=14974&d=1204049218)
ایمیل بفرستم ولی متنش فارسی باشه

لطفا راهنمایی کنید
ممنون میشم

sunyniazi
یک شنبه 08 فروردین 1389, 23:20 عصر
تبدیل صفحه کلید به فارسی در ویژوال بیسیک 6



ابتدا تابع زیر را تعریف کنید :

Public Declare Function LoadKeyboardLayout Lib "user32" Alias "LoadKeyboardLayoutA" (ByVal pwszKLID As String, ByVal flags As Long) As Longویندوز پارسا 99 ، اکس پی و 2000 که فارسی نصب شده باشد :

Dim xx As Long
xx = LoadKeyboardLayout("00000429", 1)ویندوز پارسا 2001 و امثال آن :

Dim xx As Long
xx = LoadKeyboardLayout("00000401", 1)کد 401 برای عربی عربستان است که در ویندوز پارسا 2001 به جای فارسی به کار می رود .



با تشكر از دوست عزيز
در ضمن اين لينك تمامي كدهاي زبانها رو نوشته
خيلي به درد من خورد گفتم شايد به درد كسي بخوره :چشمک:
http://www.microsoft.com/globaldev/reference/win2k/setup/lcid.mspx