ممنون جناب ab_ba کد خوب و مفیدی بود
Printable View
ممنون جناب ab_ba کد خوب و مفیدی بود
قابلی نداشت
اقا شرمنده من تمام پست های قبلی رو خوندم ولی مشگلم حل نشد مشگل من اینه
1- من یک برنامه در windows xp نوشتم رو سیستم خودم مشگلی نداره همه چی درست کار میکنه اما وقتی این برنامه رو رو سیتم دیگه که ویندوز xp داره میزارم دیگه فارسی نشون نمیده هر دو ویندوز هم فارسی هستن یعنی میشه با alt+shift فارسی نوشت نمی دونم مشگل چیه
2- مشگل right left منو های من هستش من اون فایل dll رو که در تاپیکهای قبلی گفته شده بود رو کپی کردم ولی مشگلم حل نشد یعنی هیچ تغییری نکرد البته بازم رو سیستم خودم درسته رو کامپیوتر های دیگه امتحان میکنم مشگل داره
مرسی
:flower:
به چه شکل نشون میده؟نقل قول:
دیگه فارسی نشون نمیده
برای مورد 2 هم تنها دلیل همون فایل dll هست. شما اون رو کجا کپی می کنید؟
اقا از جوابتون ممنون
در مورد فارسی نشون ندادن به صورت یک سری کد نشون میده مثل اینکه اون فون در سیستم نباشه
در مورد فایل هم حتی بعضی از سیستم ها این فایل رو داشتن و لی من دوباره فایل رو در ساخه sysytem32 کپی کردم
:sorry: متاسفانه نمیدونم باید چیکار کنید.
آقای naeimflashphp
من هم مشکل شما را داشتم ولی با تنظیم reginal setting درست شد
با سلام
برنامه ای نوشته ام با VB6 در WinXP Sp2 و از فونت Tahoma هم استفاده کرده ام .
دو تا Setup یکی با Wise InstallMaster 8.11 (فونت Tahoma را اضافه کرده ام)
و یکی با InstallShield Proffesional 7 for win2kXP
در کامپیوتر هایی که VB6 نصب است مشکلی ندارد ولی :
وقتی در کامپیوترهای دیگر در WinXP نصب می کنم برنامه کامل کار می کند و اکثر جاهایی که فونت Tahoma استفاده شده را براحتی نشان می دهد .
ولی در قسمتهای Titlebar فرمها ( که از داخل برنامه قابل تنظیم نیستند ) و نیز منوها ( // ) و Msgbox ها ( // ) بجای فارسی ، قاطی پاطی نشان می دهد .
در ضمن همه فرمها را هم بجای راست چین ، چپ چین کرده .
مشکل کجاست ؟
با سپاس .
فونتها و Msgbox از فونت غیر tahoma استفاده میکنن
همونطور که قبلا گقته شده باید فایل VBAME.DLL را به همراه برنامه کپی کنید. به علاوه تنظیمات فارسی ویندوز را به طور صحیح انتخاب کنید.نقل قول:
در ضمن همه فرمها را هم بجای راست چین ، چپ چین کرده .
دقیقا همینطوره فونت این بخشها MS Sans Serif هست.نقل قول:
فونتها و Msgbox از فونت غیر tahoma استفاده میکنن
ممنون از لطفتون.
کارهایی که گفته بودید انجام دادم :
تنظیمات فارسی در Regional Setting
و کپی Vbame.dll توسط برنامه Setup ساز در پوشه سیستم (System32)
اینکار برای بعضی کامپیوترها (دارای سرویس پک) جواب داد
ولی برای بعضی نه (فاقد سرویس پک)
من با Wise InstallMaster ستاپ سازی کرده ام .
به نظر شما برای Vbame.dll باید Self Register را هم فعال کنم ؟
با سپاس.
در هنگام طراحی برنامه خاصیت right to left فرمها true نمی شود .
فایل vbame.dll هم در system32 وجود دارد .
دوستان عزیز سلام
با تشکر از تمام کسانیکه در این سایت فعالیت میکنند خیلی سایت خوب و پور محتوایی دارید اگر من را هم قابل بدانید از این یه یعد به شما مقاله خواهم فرستاد ولی اگر ممکن باشه در مورد مشکل زیر مرا یاری دهید
یک متن فارسی در ویندوز 2000 دارم که در نوت پد نوشته شده است من میخواهم آن را به فارسی با فونت ایران سیستم تبدیل بکنم به طوری که بتوان در ویرایشگر داس آن را بخوانم خواهش میکنم اگر در مورد این موضوع اطلاعاتی دارید به من کمک کنید
نقل قول:
نوشته شده توسط مهدی ذوقی
من هم همچین چیزی لازم دارم
با سلام مجدد .
به مشکل بزرگی برخورده ام و تقاضا دارم کمکم کنید . من برا ی تبدیل تاریخ از تابعی که جناب زواری گذاشته بودند استفاده میکنم ولی متاسفانه در بعضی سیستمها به مشکل برخورده ام و تاریخ شمسی را درست نشان نمیدهد مثلا تاریخ دیروز را 0008/20/14 نشان میداد و با دستکاری regional setting هم درست نشد ، لطفا کمکم کنید
وقتی توی تکست باکس حروف گ . ژ پ و ک رو مینویسم علامت تقسیم و در کل شر و ور مینویسه . چی کار کنم؟
آقا ما توی تکست باکسهامون با گ .پ . ژ . ک مشکل داریم .چه کار کنم؟
سلام
آقا مهران مشکل شما مورد خاصی نیست.
دلیل این ناهماهنگی این است که نحوه چیدمان کاراکترهای یاد شده در کدپیج استاندارد معرفی شده از طرف مایکروسافت بدین شکل است. یعنی حرف پ در این کدپیج همان \ است. حرف ژ همان Shift+C است. حرف گ و چ هم به همان شکل قدیم و بدون مشکل هستند.
اگر مشکل شما از همین ناشی شده باشد می بایست فایل kbdfa.dll ویندوز را با فایلهای تصحیح شده (که در اینترنت موجود است) تعویض کنید.
اگر مشکل شما این نیست کمی بیشتر توضیح دهید.
با عرض سلام و خسته نباشید
بنده می خواهم یک زبان جدید برای ویندوز تعریف کنم یعنی keyboard layout جدید چه باید بکنم
در ضمن فونت زبانم را طراحی کردم.
با تشکر
دوست عزیز بهتر هست این سوال رو به صورت جداگانه در همین بخش مطرح کنید.
برای رفع مشکل خواندن تاریخ را با تابع فرمت انجام بده مثل
( s = Format(Date, "yyyy/mm/dd"
جناب mehran_farid در سیستم کی بورد ویندوز 98 حرف پ در روی علامت ` (بالای Tab ) قرار داشت
ولی در ویندوز ایکس پی این حرف به کلید \ (Back Slash ) انتقال یافته
حرف ژ به بالای ز (Shift + ز) انتقال یافته
سلام
ایم نمونه برنامه تا محدوده تریلیون (999,999,999,999,999) رو می خونه
تازه اگه بیشتر از تریلیونو اسماشو بدونین به راحتی میشه اضافه کرد
یعنی اصلا محدودیت نداره
اعداد منفی و اعشار دار رو هم می خونه
دو تا تابع هم واسش نوشتم که تاریخ و ساعت رو هم می خونه
دیگه چی می خواهید ؟؟؟؟؟؟؟؟؟؟
اینم مثال اعداد
Text1 = ReadNum("-45632.25")
و جواب برنامه
منفی چهل و پنج هزار و ششصد و سی و دو و بیست و پنج صدم
مثال تاریخ
Text1 = ReadTarikh(84, 6, 25)
جواب برنامه
بیست و پنجم شهریور ماه سال هشتاد و چهار
مثال ساعت 1
Text1 = ReadClock(17, 31, 0)
جواب برنامه
هفده و سی و یک دقیقه
مثال ساعت 2
Text1 = ReadClock(17, 31, 1)
جواب برنامه
ساعت هفده و سی و یک دقیقه
Option Explicit
Public Function ReadNum(ByVal Number As Currency) As String
On Local Error Resume Next
Dim Adad1000(4) As String, Ashar(11) As String, Temp As String, x As String
Dim t As Currency, s As String, i As Integer
Dim Negative As Byte, AsharRead As String
Adad1000(1) = "هزار"
Adad1000(2) = "میلیون"
Adad1000(3) = "میلیارد"
Adad1000(4) = "تریلیون"
Ashar(1) = "دهم"
Ashar(2) = "صدم"
Ashar(3) = "هزارم"
Ashar(4) = "ده هزارم"
Ashar(5) = "صد هزارم"
Ashar(6) = "میلیونیوم"
Ashar(7) = "ده میلیونیوم"
Ashar(8) = "صد میلیونیوم"
Ashar(9) = "میلیاردیم"
Ashar(10) = "ده میلیاردیم"
Ashar(11) = "صد میلیاردیم"
If Number < 0 Then
Negative = 1
Number = Abs(Number)
End If
If Fix(Number) < Number Then
Dim A As Currency, Index As Integer
A = Number - Fix(Number)
AsharRead = Mid$(Str$(A), InStr(Str$(A), ".") + 1)
If Len(AsharRead) > 11 Then
AsharRead = Left$(AsharRead, 11)
Index = 11
Else
Index = Len(AsharRead)
End If
If Fix(Number) > 0 Then
AsharRead = " و " & ReadNum(Val(AsharRead)) & " " & Ashar(Index)
Else
AsharRead = ReadNum(Val(AsharRead)) & " " & Ashar(Index)
End If
AsharRead = ReplaceAll(AsharRead, "پنج دهم", "نیم")
End If
Number = Fix(Number)
If Number < 1000 Then
If Negative Then
ReadNum = "منفی " & Read3Digit(Number) & AsharRead
Else
ReadNum = Read3Digit(Number) & AsharRead
End If
Exit Function
End If
Temp = CStr(Number)
x = Right$(Temp, 3)
While x <> ""
t = Val(x)
If t Then
If Len(s) Then s = " و " & s
s = Adad1000(i) & s
If Len(s) Then s = " " & s
s = Read3Digit(t) & s
End If
If Len(Temp) > 2 Then
Temp = Left$(Temp, Len(Temp) - 3)
Else
Temp = ""
End If
If Temp = " " Then Temp = ""
x = Right$(Temp, 3)
i = i + 1
Wend
s = s & AsharRead
If Negative Then s = "منفی " & s
ReplaceAll s, " ", " "
ReadNum = s
End Function
Public Function Read3Digit(Number) As String
On Local Error Resume Next
Dim Adad(20) As String
Dim Adad10(9) As String
Dim Adad100(9) As String
Dim Yekan As Currency, Dahgan As Currency, Sadgan As Currency, Temp As Currency
Dim s As String
Adad(0) = "صفر"
Adad(1) = "یک"
Adad(2) = "دو"
Adad(3) = "سه"
Adad(4) = "چهار"
Adad(5) = "پنج"
Adad(6) = "شش"
Adad(7) = "هفت"
Adad(8) = "هشت"
Adad(9) = "نه"
Adad(10) = "ده"
Adad(11) = "یازده"
Adad(12) = "دوازده"
Adad(13) = "سیزده"
Adad(14) = "چهارده"
Adad(15) = "پانزده"
Adad(16) = "شانزده"
Adad(17) = "هفده"
Adad(18) = "هجده"
Adad(19) = "نوزده"
Adad10(0) = "ده"
Adad10(1) = "بیست"
Adad10(2) = "سی"
Adad10(3) = "چهل"
Adad10(4) = "پنجاه"
Adad10(5) = "شصت"
Adad10(6) = "هفتاد"
Adad10(7) = "هشتاد"
Adad10(8) = "نود"
Adad100(0) = "صد"
Adad100(1) = "دویست"
Adad100(2) = "سیصد"
Adad100(3) = "چهار صد"
Adad100(4) = "پانصد"
Adad100(5) = "ششصد"
Adad100(6) = "هفتصد"
Adad100(7) = "هشتصد"
Adad100(8) = "نهصد"
If Number > 999 Then
Read3Digit = ""
Exit Function
End If
Sadgan = Int(Number / 100)
Temp = Number Mod 100
Dahgan = Int(Temp / 10)
Yekan = Temp Mod 10
Temp = Dahgan * 10 + Yekan
If Temp < 20 Then
If Temp Then
s = s + Adad(Temp)
If Sadgan Then s = " و " & s
End If
If Sadgan Then s = Adad100(Sadgan - 1) & s
Else
If Yekan Then
s = s + Adad(Yekan)
If Dahgan Then s = " و " & s
End If
If Dahgan Then
s = Adad10(Dahgan - 1) & s
If Sadgan Then s = " و " & s
End If
If Sadgan Then s = Adad100(Sadgan - 1) & s
End If
Read3Digit = s
End Function
Public Function ReadTarikh(yy As Integer, Mm As Integer, Dd As Integer) As String
On Local Error Resume Next
Dim DayStr As String, MonthStr As String, YearStr As String, f As Integer
Dim DateStr(2) As String
Dim MonthName(12) As String
MonthName(1) = "فروردین"
MonthName(2) = "اردیبهشت"
MonthName(3) = "خرداد"
MonthName(4) = "تیر"
MonthName(5) = "مرداد"
MonthName(6) = "شهریور"
MonthName(7) = "مهر"
MonthName(8) = "آبان"
MonthName(9) = "آذر"
MonthName(10) = "دی"
MonthName(11) = "بهمن"
MonthName(12) = "اسفند"
DateStr(0) = " روز "
DateStr(1) = " ماه "
DateStr(2) = " سال "
DayStr = ""
MonthStr = ""
YearStr = ""
If Dd <> 0 Then DayStr = ReadNum(Dd) + "م "
f = InStr(DayStr, "سهم")
If f Then DayStr = Left$(DayStr, f - 1) + "سوم" + Mid$(DayStr, f + 3)
If Mm <> 0 Then MonthStr = MonthName(Mm) + DateStr(1)
If yy <> 0 Then YearStr = DateStr(2) + ReadNum(yy)
ReadTarikh = DayStr + MonthStr + YearStr
Dim i%
For i = 1 To 3
ReadTarikh = ReplaceAll(ReadTarikh, " ", " ")
Next
End Function
Function ReadClock(hh As Byte, Mm As Byte, Optional AddSaatWord As Byte = 1) As String
On Local Error Resume Next
Dim MinuteStr As String, HourStr As String
Dim ZamanName(2) As String
ZamanName(1) = " ساعت "
ZamanName(2) = " دقیقه "
MinuteStr = ""
HourStr = ""
If Mm <> 0 Then MinuteStr = ReadNum$(Mm) + ZamanName(2)
If hh > 0 Then
If AddSaatWord Then HourStr = ZamanName(1)
HourStr = HourStr + ReadNum$(hh)
ElseIf hh = 0 Then
If AddSaatWord Then HourStr = ZamanName(1)
HourStr = HourStr + " صفر "
End If
If Mm <> 0 And hh >= 0 Then HourStr = HourStr + " و "
ReadClock = ReplaceAll(HourStr + MinuteStr, " ", " ")
End Function
Public Function ReplaceAll(ByVal SourceString As String, ReplaceThis As String, Optional WithThis As String = "", Optional Level As Integer = 10) As String
On Local Error Resume Next
Dim Temp() As String, i%
For i = 0 To Level
Temp = Split(SourceString, ReplaceThis)
ReplaceAll = Join(Temp, WithThis)
SourceString = Join(Temp, WithThis)
Next
ReplaceAll = SourceString
End Function
فونت combobox رااtahoma تعریف کرده ام در قسمت .text فارسی است ولی در بخش list قاطی پاتی نشون میده چی کار کنم؟
سلام
می خواستم بدونم چطوری می تونم از این توابع تبدیل عدد به حروف تو DataReport استفاده کنم ؟ راهی هست ؟
قبلا از همکاریتون ممنون
سلام
قبلا در برنامه خودتان عدد را به حروف تبدیل نمایید و حاصل را در بانک اطلاعاتی و در جدول مربوطه به صورت فیلد ذخیره نمایید و در datareport از آن استفاده کنید
نقل قول:
نوشته شده توسط vbhamed
سلام
ممنونم از لطف شما
اما من اطلاعات چند ستون را با استفاده از توابع DataReport جمع کرده ام در واقع گزارش من مربوت به یک فاکتور می باشد
سلام
باز هم مشکلی نیست
در واقع شما می توانید اطلاعات فاکتور را در دو جدول جداگانه که شامل لیست فاکتور و سربرگ آن است ذخیره کرده و در برنامه محاسبه نموده و در datareport استفاده نمایید
استفاده از توابع خوب است
اما به تجربه به من ثابت شده که این روش بهتر می باشد
مرسی از لطف شما
نقل قول:
نوشته شده توسط ساران سافت
سلام دوست عزیز ساران سافت
با تشکر از کدهایی که ارائه نمودید
من وقتی ای کد ها را در ویبی paste می کنم چند خط قرمز به معنای خطا در نگارش کد بیسیک دیده می شود و سوالی که از محضر حضرتعالی دارم اینست که کد < که مکرر در این قطعه کد آمده است به چه معناست مثلا :
If N < 10 Then
ممنونم اگر پاسخ دهید.
[QUOTE=vbadvanced]تابع زیر برای تبدیل اعداد به حروف نوشته شده. میدونم دیگه داره تو این تاپیک یه کم زیاد میشه. اما میتونید با این یکی اعدا شمارشی هم داشته باشید که تو هیچکدوم از قبلیا ندیدم. (مثلا سوم، سی ام. چهل و پنجم و ...)!!
........
دوست عزیز سلام
من پس از پیست کردن کد خطا به شکل زیر می دهد:
tStr = tStr & _
ممنون
حالشو ببرید
برای تبدیل تاریخ میلادی به شمسی shamsi.ocx دارم هر کسی مایل بود با من تماس بگیره براش می فرستم
طرز کار:
کامپونت رو به vb6 معرفی کرده
روی فرم پیاده کنید
بعد مثلا Text1 خود را به تاریخ روز تبدیل کنید اینگونه:
Text1=shamsi1.m2s(8,date)
برای نمایش تاریخ هشت مدل دارد که من مدل هشتم را انتخاب کردم
موفق باشید
یا علی
[QUOTE=seyd1061]برای تبدیل تاریخ میلادی به شمسی shamsi.ocx دارم هر کسی مایل بود با من تماس بگیره براش می فرست
سلام سید
برای من لطف کنید بفرستید
ممنون
mohammad.daneshvar@gmail.com
یادم رفت بگم
به ایمیل نامه بزنید seyd1061@gmail.com
دوست عزیز seyd1061 اگر مایلید به دیگران کمک کنید فایل مورد اشاره رو همینجا آپلود کنید. ممنون از همکاریتون
سلامنقل قول:
نوشته شده توسط mhddns
کاراکتر های نام برده را با کاراکتر کوچکتر (>) تعویص کنید
مسعود جان این کد چطوری به کار ببریم
اگر می تونی جواب را برام به این آدرس بفرست
onlyvahid_m2006@yahoo.com متشکرم
منظورتون کدام کد هست؟نقل قول:
مسعود جان این کد چطوری به کار ببریم