مشکل من حل شد
باید تنظیمات ویندوز مربوط به فارسی را در دستگاهها دیگر درست می کردم
Printable View
مشکل من حل شد
باید تنظیمات ویندوز مربوط به فارسی را در دستگاهها دیگر درست می کردم
گفته بودم که :نقل قول:
باید تنظیمات ویندوز مربوط به فارسی را در دستگاهها دیگر درست می کردم
نقل قول:
باید سیستمتون امکانات فارسی را ساپورت کنه.
ویندوز من اکس پی سرویس پک دو هست.
فارسی ساز سینا پک رو هم توش نصب کردم باز هم جواب نمیده
بنظر شما باید کجا رو انگولک کنم؟
1. خوب اأان مشکلتون چیه؟نقل قول:
ویندوز من اکس پی سرویس پک دو هست.
فارسی ساز سینا پک رو هم توش نصب کردم باز هم جواب نمیده
بنظر شما باید کجا رو انگولک کنم؟
2. اگه علامت سوال هست باید طبق توضیحات اول این تاپیک عمل کنید.
سلام
من اطلاعاتم را از بانک داخل richedittextbox k نمایش می دهم
ولی نقطه آخر خط را اول می آورد
در صورتی که در داخل بانک درست وارد می شود
و rightoleft متنها صحیح می باشد
برای حل این مشکل چه باید بکنم؟
خیلی متشکرم
نه علامت سوال نیست.نقل قول:
اگه علامت سوال هست باید طبق توضیحات اول این تاپیک عمل کنید.
مشکل من اینه که مشخصه Right To Left در فورم همیشه روگزینه false گیر کرده
و امکان تغییر توش نیست.
دوست عزیز باز هم که زحمت خوندن پست های قبلی رو نکشیدید!
احتمالا این فایل رو ندارید. برنامه رو مجددا نصب کنید اگه درست نشد در وب پیدا میشه.نقل قول:
برای استفاده از امکان Right to Left در برنامه ها فایل VBAME.DLL موجود در پوشه سیستم را به همراه برنامه خود قرار دهید.
سلام
این متن را نگاه کنید اینجا هیچ مشکلی ندارد ولی در RICHEDITBOX نقطه ها به اول خط می آیند
آیا راه حلی برای این مشکل وجود دارد؟
متشکرم
محسن در یکی از روزهای زیبای سال 1338 در جمع گرم و صمیمی خانواده دینشعاری به دنیا آمد، روزهای پرنشاط کودکی را زیر سایه تعالیم پدر و مادر گرامی و در پناه تعالیم دین اسلام گذراند.او از همان اوایل نوجوانی علاقه عجیبی به اهلبیت (ع) داشت و در 13 یا 14 سالگی بود که هیئتی به نام شهدای کربلا تأسیس نمود و خود به تنهایی مسئولیت آن را بر عهده گرفت.با شروع امواج خروشان انقلاب به صف مجاهدین راه حق پیوست و همواره در تظاهراتهای سال 1357 حضوری فعال داشت در همان ایام به همراه برادرش به خدمت در پزشکی قانونی پرداخت و مدت 6 ماه به صورت شبانهروزی در کار جابجایی و تحویل اجساد مطهر شهدا شرکت داشت محسن جزء اولین سربازانی بود که به فرمان امام خمینی (ره) به پادگانها برگشتند و خودشان را معرفی کردند او همواره فریضه مقدس امر به معروف و نهی از منکر را انجام میداد و برای سربازان پادگان به خصوص آنهایی که در انجام فرائض تعلل میکردند برنامه شناخت ایدئولوژی گذاشته بود.او حدود 5/1 سال در سالهای 57 و 1358 خدمت مقدس سربازی را انجام داد و پس از آن در سال 1360 به خیل سبزپوشان سپاهی پیوست. با شروع جنگ تحمیلی عاشقانه به جبهههای نبرد شتافت و به عنوان مسئول گردان تخریب لشگر27 محمدرسولالله (ص) مشغول به خدمت شد و در سال 1363 به سفر حج رفت.در عملیاتهای طریقالقدس و کربلای1 یادآور دلاوریها و رشادتهای خالصانه او در راه دفاع از میهن است زمانیکه قرار بود برای بار دوم به سفر حج مشرف شود و به خاطر مسئولیتهایی که در جبهه داشت از تشرف به حج منصرف شد اما در همان سال در روز پانزدهم مردادماه سال 1366 درست مصادف با روز عید قربان به مسلخ عشق رفت و اسماعیلوار جان خویش را در حین خنثیسازی مین ضد تانک در قربانگاه سردشت فدای معبود ساخت و نام خویش را برای همیشه در قلب تاریخ زنده نگه داشت مزار مطهر او در قطعه 29 بهشتزهرای تهران قرار دارد.
با تشکر از همه بچه ها . خیلی عالی بود :flower:
سلام
کسی نیست مشکل من را حل کند
این متنی که برایتان فرستادم در برنامه ام طوری نمایش داده می شود که نقطه ها در اول سطر قرار دارند در microsoft Word هیچ مشکلی ندارد
دیگر نمی دانم چه کار کنم
اگر می شود یک راهنمایی کنید
متشکرم
ممنون آقای غیبی، کد خیلی خوبی فرستادین
راست به چپ کردن Treeview
Option Explicit
Private Declare Function SetWindowLong Lib "user32" Alias "SetWindowLongA" (ByVal hwnd As Long, ByVal nIndex As Long, ByVal dwNewLong As Long) As Long
Private Declare Function GetWindowLong Lib "user32" Alias "GetWindowLongA" (ByVal hwnd As Long, ByVal nIndex As Long) As Long
Private Const WS_EX_LAYOUTRTL = &H400000
Private Const GWL_EXSTYLE = -20
'
Private Sub Form_Load()
SetWindowLong TreeView.hwnd, GWL_EXSTYLE, GetWindowLong(TreeView.hwnd, GWL_EXSTYLE) Or WS_EX_LAYOUTRTL
Dim nodX As Node
Set nodX = TreeView.Nodes.Add(, , "R", "Root")
nodX.Expanded = True
Set nodX = TreeView.Nodes.Add(, , "P", "Parent")
nodX.Expanded = True
Set nodX = TreeView.Nodes.Add("R", tvwChild, , "Child 1")
Set nodX = TreeView.Nodes.Add("R", tvwChild, , "Child 2")
Set nodX = TreeView.Nodes.Add("R", tvwChild, , "Child 3")
Set nodX = TreeView.Nodes.Add("P", tvwChild, , "Child 4")
Set nodX = TreeView.Nodes.Add("P", tvwChild, , "Child 5")
Set nodX = TreeView.Nodes.Add("P", tvwChild, , "Child 6")
End Sub
در ضمن دوستان با تستی که انجام دادن مثل اینکه کد فوق برای ListView هم جواب میده
با سلام
با اینکه من vb کار نمیکنم ولی از روش شما در همکاری لذت بردم. موفق باشید.
با سلامنقل قول:
نوشته شده توسط setarehman
اون تابع چیه ؟
ممنون
مهدی شهابی پور
این کد بالا نمی دونم چرا ولی برای list view تمام حروف رو هم برعکس می کنه یعنی از آخر به اول مینویسه
سلامنقل قول:
اون تابع چیه ؟
دوست عزیز فکر کنم این سومین باریه که شما این سوال رو پرسیدید.
صفحات قبل همین تاپیک رو مورد مطالعه قرار دهید.
موفق باشید
روز خوش
سلام
اقا میشه بگی اون فایل dll کع برای راست به چپ کردن بکار میره رو به چه شکل باید ازش استفاده کنیم اون فایل در شاخه system32 هست ولی نمی دونم چه حوری باید ازش استفاده کنم
مرسی
یعنی نمیدونید چطور میشه Right to left رو استفاده کرد؟نقل قول:
اقا میشه بگی اون فایل dll کع برای راست به چپ کردن بکار میره رو به چه شکل باید ازش استفاده کنیم اون فایل در شاخه system32 هست ولی نمی دونم چه حوری باید ازش استفاده کنم
برای اینکار در کنترل مورد نظر خاصیت Righttoleft رو True کنید.
توجه کنید که به هنگام ستاپ کردم برنامه باید این فایل رو درون ستاپ قرار دهید تا در پوشه System32 کامپیوتر کاربر کپی بشه.
موفق باشید
روز خوش
سلام
اقا اینو می دونم خوب از این حالت که نمیشه برای list view استفاده کرد
سلام
این آقای naeimflashphp همانطور که از عکسی که در مشخصات خود ثبت کرده اند برمی آمد، در لحن صحبتهایشان (مثل استاد... و پاسخ دادن که سخت نیست و ...) هم مانند عکس دست به کمر و یه پا در جلو و چپ چپ نگاه کن هستند. :گیج:
بی خیال شوخی کردم. همان آقایی که شما استاد صدایش می زنید و ما او را آقا بابک، قبلا در یه تاپیک (ظاهرا تا جایی که یادمه به نام TreeView فارسی بود) پاسخ شما را داده اند. اگر حال دارید بروید و نگاه کنید و اگر نه بگویید تا در همین جا آن را ذکر کنم.
این گل هم برای اینکه ناراحت نشوید: :flower:
شما برای اینکار از کد آقای زواری استفاده کنید. همونطور که نیلوفر خانم عرض کردند هم در این تاپیک (صفحه قبل) و هم در یک تاپیک دیگر این کد وجود دارد (البته برای Treeview). کد مربوطه برای ListView هم کاربرد دارد.نقل قول:
اقا اینو می دونم خوب از این حالت که نمیشه برای list view استفاده کرد
برای مثال :
Option Explicit
Private Declare Function SetWindowLong Lib "user32" Alias "SetWindowLongA" (ByVal hwnd As Long, ByVal nIndex As Long, ByVal dwNewLong As Long) As Long
Private Declare Function GetWindowLong Lib "user32" Alias "GetWindowLongA" (ByVal hwnd As Long, ByVal nIndex As Long) As Long
Private Const WS_EX_LAYOUTRTL = &H400000
Private Const GWL_EXSTYLE = -20
Private Sub Form_Load()
SetWindowLong ListView.hwnd, GWL_EXSTYLE, GetWindowLong(ListView.hwnd, GWL_EXSTYLE) Or WS_EX_LAYOUTRTL
ListView.ListItems.Add.Text = "عبارت فارسی اول"
ListView.ListItems.Add.Text = "عبارت فارسی دوم"
End Sub
سلام
ببین وقتی از این کد برای list view استفاده میشه نوشته های فارسی رو که داخل جدول قرارا میگیره از آخر به اول نشون میده
اگه میشه یک مثال بزاربد
مرسی :flower:
من چنین مشکلی ندارم.نقل قول:
ببین وقتی از این کد برای list view استفاده میشه نوشته های فارسی رو که داخل جدول قرارا میگیره از آخر به اول نشون میده
در پست قبلیم در همین تاپیک گذاشتم دیگهنقل قول:
اگه میشه یک مثال بزاربد
موفق باشید
سلامنقل قول:
ببین وقتی از این کد برای list view استفاده میشه نوشته های فارسی رو که داخل جدول قرارا میگیره از آخر به اول نشون میده
من هم این مشکل را ندارم
اقا اون کد کل حروف رو بر عکس میکنه این مثال رو ببین
شما از کدپیچ ایران سیستم استفاده کرده اید. من هم با این کدپیج همین مشکل رو در راست به چپ کردن لیست دارم. جناب زواری اگه راه حلی به نظرتون میاد ممنون میشیم بیان کنید. :)
اینم اجرا در ویندوز من
منم مشکلی ندارم شاید تنظیمات ویندوز شما مشکل داره
شاید مشگل از ویندوز باشه من از ویندوز advance server 2000 استفاده می کنم من ویندوز رو دوباره نصب می کنم ببینم مشگل حل میشه
مرسی
دوست عزیز از کد تبدیل به حروف ممنون اما برای اعداد مثل 10000000001 کار نمیکند
بله برای اعدادی مثل 30948203948203948203948023984023894023984578 هم کار نمیکنهنقل قول:
دوست عزیز از کد تبدیل به حروف ممنون اما برای اعداد مثل 10000000001 کار نمیکند
اولا این گونه اعداد کم استفاده میشن پس نیازی به هندل کردن اونا ندارید دوما سورس در دسترس
هستید میتونید طوری گسترش بدید که عددی رو هم که من نوشتم هجی کنه
با سلام خدمت جناب کد نویس .
متاسفانه من نتونستم از برنامه PFA استفاده کنم . چون موقع قرار دادن کنترل روی صفحه یک ایراد lisence not found می گیرد .
این فونت ها در ظاهر فارسی هستند ولی باطناً چپ به راست هستند. اینگونه فونت ها رو نباید راست به چپ کنید. بهتره از ونت های عمومی مثا Tahoma استفاده کنیدنقل قول:
شما از کدپیچ ایران سیستم استفاده کرده اید. من هم با این کدپیج همین مشکل رو در راست به چپ کردن لیست دارم. جناب زواری اگه راه حلی به نظرتون میاد ممنون میشیم بیان کنید.
ضمناً کسانی که در راست به چپ کردن نوشته های (header) مشکل دارند (این مشکل در اکس پی بیشتر دیده میشه) می تونن از کدی که در بخش "treeView فارسی" گذاشتم استفاده کنن
واقعا دست همتون درد نکنه.شما یکی لز بزرگترین معضلات بشریت رو حل کردید. :kaf:
با سلام
همانطور که می دونید کنترل date time picker سالهای شمسی را پشتیبانی نمی کنه می خواستم ببینم
آیا کسی یک کنترل داره که مثل date time picker عمل کنه و سالهای شمسی را هم پشتیبانی کنه
البته تقویمش برام مهم نیست بلکه مهم نشان دادن فرمت تاریخ به صورتی که کاربر بتونه روز و ماه و سال را
به راحتی توی اون با دکمه updown تغییر بده مثل حالتی از date time picker که خصوصیت updown آن true
است
با تشکر
یکی از دوستان راجع به تبدیل میلادی به شمسی خواسته بود که کدی در اینباره براشون بذارم اینجا البته من تمام تبدیلها رو براشون گذاشتم
تبدیل تاریخ میلادی با فرمت mm/dd/yyyy به شمسی
Public Function Fa_Date(En_Date As String) As String
Dim The_Select As Integer
Dim The_Year As Integer
Dim The_Month As Integer
Dim The_Day As Integer
The_Year = CInt(Mid(En_Date, 7, 4))
The_Month = CInt(Mid(En_Date, 1, 2))
The_Day = CInt(Mid(En_Date, 4, 2))
If (The_Year Mod 4 = 0) Then
The_Select = 1
Else
The_Select = 2
End If
If ((The_Year - 1) Mod 4 = 0) Then
The_Select = 3
End If
If The_Select = 1 Then
'------------------------------------------------------
Select Case The_Month
Case 1: Select Case The_Day
Case 1 To 20: The_Day = The_Day + 10
The_Month = 10
The_Year = The_Year - 622
Case 21 To 31: The_Day = The_Day - 20
The_Month = 11
The_Year = The_Year - 622
End Select
Case 2: Select Case The_Day
Case 1 To 19: The_Day = The_Day + 11
The_Month = 11
The_Year = The_Year - 622
Case 20 To 29: The_Day = The_Day - 19
The_Month = 12
The_Year = The_Year - 622
End Select
Case 3: Select Case The_Day
Case 1 To 19: The_Day = The_Day + 10
The_Month = 12
The_Year = The_Year - 622
Case 20 To 31: The_Day = The_Day - 19
The_Month = 1
The_Year = The_Year - 621
End Select
Case 4: Select Case The_Day
Case 1 To 19: The_Day = The_Day + 12
The_Month = 1
The_Year = The_Year - 621
Case 20 To 30: The_Day = The_Day - 19
The_Month = 2
The_Year = The_Year - 621
End Select
Case 5: Select Case The_Day
Case 1 To 20: The_Day = The_Day + 11
The_Month = 2
The_Year = The_Year - 621
Case 21 To 31: The_Day = The_Day - 20
The_Month = 3
The_Year = The_Year - 621
End Select
Case 6: Select Case The_Day
Case 1 To 20: The_Day = The_Day + 11
The_Month = 3
The_Year = The_Year - 621
Case 21 To 30: The_Day = The_Day - 20
The_Month = 4
The_Year = The_Year - 621
End Select
Case 7: Select Case The_Day
Case 1 To 21: The_Day = The_Day + 10
The_Month = 4
The_Year = The_Year - 621
Case 22 To 31: The_Day = The_Day - 21
The_Month = 5
The_Year = The_Year - 621
End Select
Case 8: Select Case The_Day
Case 1 To 21: The_Day = The_Day + 10
The_Month = 5
The_Year = The_Year - 621
Case 22 To 31: The_Day = The_Day - 21
The_Month = 6
The_Year = The_Year - 621
End Select
Case 9: Select Case The_Day
Case 1 To 21: The_Day = The_Day + 10
The_Month = 6
The_Year = The_Year - 621
Case 22 To 30: The_Day = The_Day - 21
The_Month = 7
The_Year = The_Year - 621
End Select
Case 10: Select Case The_Day
Case 1 To 21: The_Day = The_Day + 9
The_Month = 7
The_Year = The_Year - 621
Case 22 To 31: The_Day = The_Day - 21
The_Month = 8
The_Year = The_Year - 621
End Select
Case 11: Select Case The_Day
Case 1 To 20: The_Day = The_Day + 10
The_Month = 8
The_Year = The_Year - 621
Case 21 To 30: The_Day = The_Day - 20
The_Month = 9
The_Year = The_Year - 621
End Select
Case 12: Select Case The_Day
Case 1 To 20: The_Day = The_Day + 10
The_Month = 9
The_Year = The_Year - 621
Case 21 To 31: The_Day = The_Day - 20
The_Month = 10
The_Year = The_Year - 621
End Select
End Select
'------------------------------------------------------
End If
If The_Select = 2 Then
'------------------------------------------------------
Select Case The_Month
Case 1: Select Case The_Day
Case 1 To 20: The_Day = The_Day + 10
The_Month = 10
The_Year = The_Year - 622
Case 21 To 31: The_Day = The_Day - 20
The_Month = 11
The_Year = The_Year - 622
End Select
Case 2: Select Case The_Day
Case 1 To 19: The_Day = The_Day + 11
The_Month = 11
The_Year = The_Year - 622
Case 19 To 28: The_Day = The_Day - 19
The_Month = 12
The_Year = The_Year - 622
End Select
Case 3: Select Case The_Day
Case 1 To 20: The_Day = The_Day + 9
The_Month = 12
The_Year = The_Year - 622
Case 21 To 31: The_Day = The_Day - 20
The_Month = 1
The_Year = The_Year - 621
End Select
Case 4: Select Case The_Day
Case 1 To 20: The_Day = The_Day + 11
The_Month = 1
The_Year = The_Year - 621
Case 21 To 30: The_Day = The_Day - 20
The_Month = 2
The_Year = The_Year - 621
End Select
Case 5: Select Case The_Day
Case 1 To 21: The_Day = The_Day + 10
The_Month = 2
The_Year = The_Year - 621
Case 22 To 31: The_Day = The_Day - 21
The_Month = 3
The_Year = The_Year - 621
End Select
Case 6: Select Case The_Day
Case 1 To 21: The_Day = The_Day + 10
The_Month = 3
The_Year = The_Year - 621
Case 22 To 30: The_Day = The_Day - 21
The_Month = 4
The_Year = The_Year - 621
End Select
Case 7: Select Case The_Day
Case 1 To 22: The_Day = The_Day + 9
The_Month = 4
The_Year = The_Year - 621
Case 23 To 31: The_Day = The_Day - 22
The_Month = 5
The_Year = The_Year - 621
End Select
Case 8: Select Case The_Day
Case 1 To 22: The_Day = The_Day + 9
The_Month = 5
The_Year = The_Year - 621
Case 23 To 31: The_Day = The_Day - 22
The_Month = 6
The_Year = The_Year - 621
End Select
Case 9: Select Case The_Day
Case 1 To 22: The_Day = The_Day + 9
The_Month = 6
The_Year = The_Year - 621
Case 23 To 30: The_Day = The_Day - 22
The_Month = 7
The_Year = The_Year - 621
End Select
Case 10: Select Case The_Day
Case 1 To 22: The_Day = The_Day + 8
The_Month = 7
The_Year = The_Year - 621
Case 23 To 31: The_Day = The_Day - 22
The_Month = 8
The_Year = The_Year - 621
End Select
Case 11: Select Case The_Day
Case 1 To 21: The_Day = The_Day + 9
The_Month = 8
The_Year = The_Year - 621
Case 22 To 30: The_Day = The_Day - 21
The_Month = 9
The_Year = The_Year - 621
End Select
Case 12: Select Case The_Day
Case 1 To 21: The_Day = The_Day + 9
The_Month = 9
The_Year = The_Year - 621
Case 22 To 31: The_Day = The_Day - 21
The_Month = 10
The_Year = The_Year - 621
End Select
End Select
'------------------------------------------------------
End If
If The_Select = 3 Then
'------------------------------------------------------
Select Case The_Month
Case 1: Select Case The_Day
Case 1 To 19: The_Day = The_Day + 11
The_Month = 10
The_Year = The_Year - 622
Case 20 To 31: The_Day = The_Day - 19
The_Month = 11
The_Year = The_Year - 622
End Select
Case 2: Select Case The_Day
Case 1 To 18: The_Day = The_Day + 12
The_Month = 11
The_Year = The_Year - 622
Case 19 To 28: The_Day = The_Day - 18
The_Month = 12
The_Year = The_Year - 622
End Select
Case 3: Select Case The_Day
Case 1 To 20: The_Day = The_Day + 10
The_Month = 12
The_Year = The_Year - 622
Case 21 To 31: The_Day = The_Day - 20
The_Month = 1
The_Year = The_Year - 621
End Select
Case 4: Select Case The_Day
Case 1 To 20: The_Day = The_Day + 11
The_Month = 1
The_Year = The_Year - 621
Case 21 To 30: The_Day = The_Day - 20
The_Month = 2
The_Year = The_Year - 621
End Select
Case 5: Select Case The_Day
Case 1 To 21: The_Day = The_Day + 10
The_Month = 2
The_Year = The_Year - 621
Case 22 To 31: The_Day = The_Day - 21
The_Month = 3
The_Year = The_Year - 621
End Select
Case 6: Select Case The_Day
Case 1 To 21: The_Day = The_Day + 10
The_Month = 3
The_Year = The_Year - 621
Case 22 To 30: The_Day = The_Day - 21
The_Month = 4
The_Year = The_Year - 621
End Select
Case 7: Select Case The_Day
Case 1 To 22: The_Day = The_Day + 9
The_Month = 4
The_Year = The_Year - 621
Case 23 To 31: The_Day = The_Day - 22
The_Month = 5
The_Year = The_Year - 621
End Select
Case 8: Select Case The_Day
Case 1 To 22: The_Day = The_Day + 9
The_Month = 5
The_Year = The_Year - 621
Case 23 To 31: The_Day = The_Day - 22
The_Month = 6
The_Year = The_Year - 621
End Select
Case 9: Select Case The_Day
Case 1 To 22: The_Day = The_Day + 9
The_Month = 6
The_Year = The_Year - 621
Case 23 To 30: The_Day = The_Day - 22
The_Month = 7
The_Year = The_Year - 621
End Select
Case 10: Select Case The_Day
Case 1 To 22: The_Day = The_Day + 8
The_Month = 7
The_Year = The_Year - 621
Case 23 To 31: The_Day = The_Day - 22
The_Month = 8
The_Year = The_Year - 621
End Select
Case 11: Select Case The_Day
Case 1 To 21: The_Day = The_Day + 9
The_Month = 8
The_Year = The_Year - 621
Case 22 To 30: The_Day = The_Day - 21
The_Month = 9
The_Year = The_Year - 621
End Select
Case 12: Select Case The_Day
Case 1 To 21: The_Day = The_Day + 9
The_Month = 9
The_Year = The_Year - 621
Case 22 To 31: The_Day = The_Day - 21
The_Month = 10
The_Year = The_Year - 621
End Select
End Select
'------------------------------------------------------
End If
Fa_Date = Format(CStr(The_Year), "0000") & "/" & _
Format(CStr(The_Month), "00") & "/" & _
Format(CStr(The_Day), "00")
End Function
تبدیل تاریخ شمسی به میلادی
Public Function En_Date(Fa_Date As String) As String
Dim The_Year As Integer
Dim The_Month As Integer
Dim The_Day As Integer
The_Year = CInt(Mid(Fa_Date, 1, 4))
The_Month = CInt(Mid(Fa_Date, 6, 2))
The_Day = CInt(Mid(Fa_Date, 9, 2))
Dim The_Select As Integer
The_Select = The_Year Mod 4
'------------------------------------------------------------------------------------------------------------------------
If The_Select = 0 Then 'Like : 1360, 1364, 1368, 1372, 1376, 1380, 1384, ...
Select Case The_Month
Case 1: Select Case The_Day
Case 1 To 11: The_Day = The_Day + 20
The_Month = 3
The_Year = The_Year + 621
Case 12 To 31: The_Day = The_Day - 11
The_Month = 4
The_Year = The_Year + 621
End Select
Case 2: Select Case The_Day
Case 1 To 10: The_Day = The_Day + 20
The_Month = 4
The_Year = The_Year + 621
Case 11 To 31: The_Day = The_Day - 10
The_Month = 5
The_Year = The_Year + 621
End Select
Case 3: Select Case The_Day
Case 1 To 10: The_Day = The_Day + 21
The_Month = 5
The_Year = The_Year + 621
Case 11 To 31: The_Day = The_Day - 10
The_Month = 6
The_Year = The_Year + 621
End Select
Case 4: Select Case The_Day
Case 1 To 9: The_Day = The_Day + 21
The_Month = 6
The_Year = The_Year + 621
Case 10 To 31: The_Day = The_Day - 9
The_Month = 7
The_Year = The_Year + 621
End Select
Case 5: Select Case The_Day
Case 1 To 9: The_Day = The_Day + 22
The_Month = 7
The_Year = The_Year + 621
Case 10 To 31: The_Day = The_Day - 9
The_Month = 8
The_Year = The_Year + 621
End Select
Case 6: Select Case The_Day
Case 1 To 9: The_Day = The_Day + 22
The_Month = 8
The_Year = The_Year + 621
Case 10 To 31: The_Day = The_Day - 9
The_Month = 9
The_Year = The_Year + 621
End Select
Case 7: Select Case The_Day
Case 1 To 8: The_Day = The_Day + 22
The_Month = 9
The_Year = The_Year + 621
Case 9 To 30: The_Day = The_Day - 8
The_Month = 10
The_Year = The_Year + 621
End Select
Case 8: Select Case The_Day
Case 1 To 9: The_Day = The_Day + 22
The_Month = 10
The_Year = The_Year + 621
Case 10 To 30: The_Day = The_Day - 9
The_Month = 11
The_Year = The_Year + 621
End Select
Case 9: Select Case The_Day
Case 1 To 9: The_Day = The_Day + 21
The_Month = 11
The_Year = The_Year + 621
Case 10 To 30: The_Day = The_Day - 9
The_Month = 12
The_Year = The_Year + 621
End Select
Case 10: Select Case The_Day
Case 1 To 10: The_Day = The_Day + 21
The_Month = 12
The_Year = The_Year + 621
Case 11 To 30: The_Day = The_Day - 10
The_Month = 1
The_Year = The_Year + 622
End Select
Case 11: Select Case The_Day
Case 1 To 11: The_Day = The_Day + 20
The_Month = 1
The_Year = The_Year + 622
Case 12 To 30: The_Day = The_Day - 11
The_Month = 2
The_Year = The_Year + 622
End Select
Case 12: Select Case The_Day
Case 1 To 9: The_Day = The_Day + 19
The_Month = 2
The_Year = The_Year + 622
Case 10 To 30: The_Day = The_Day - 9
The_Month = 3
The_Year = The_Year + 622
End Select
End Select
End If
'------------------------------------------------------------------------------------------------------------------------
If The_Select = 1 Then 'Like : 1361, 1365, 1369, 1373, 1377, 1381, 1385, ...
Select Case The_Month
Case 1: Select Case The_Day
Case 1 To 11: The_Day = The_Day + 20
The_Month = 3
The_Year = The_Year + 621
Case 12 To 31: The_Day = The_Day - 11
The_Month = 4
The_Year = The_Year + 621
End Select
Case 2: Select Case The_Day
Case 1 To 10: The_Day = The_Day + 20
The_Month = 4
The_Year = The_Year + 621
Case 11 To 31: The_Day = The_Day - 10
The_Month = 5
The_Year = The_Year + 621
End Select
Case 3: Select Case The_Day
Case 1 To 10: The_Day = The_Day + 22
The_Month = 5
The_Year = The_Year + 621
Case 11 To 31: The_Day = The_Day - 10
The_Month = 6
The_Year = The_Year + 621
End Select
Case 4: Select Case The_Day
Case 1 To 9: The_Day = The_Day + 21
The_Month = 6
The_Year = The_Year + 621
Case 10 To 31: The_Day = The_Day - 9
The_Month = 7
The_Year = The_Year + 621
End Select
Case 5: Select Case The_Day
Case 1 To 9: The_Day = The_Day + 22
The_Month = 7
The_Year = The_Year + 621
Case 10 To 31: The_Day = The_Day - 9
The_Month = 8
The_Year = The_Year + 621
End Select
Case 6: Select Case The_Day
Case 1 To 9: The_Day = The_Day + 22
The_Month = 8
The_Year = The_Year + 621
Case 10 To 31: The_Day = The_Day - 9
The_Month = 9
The_Year = The_Year + 621
End Select
Case 7: Select Case The_Day
Case 1 To 8: The_Day = The_Day + 22
The_Month = 9
The_Year = The_Year + 621
Case 9 To 30: The_Day = The_Day - 8
The_Month = 10
The_Year = The_Year + 621
End Select
Case 8: Select Case The_Day
Case 1 To 9: The_Day = The_Day + 22
The_Month = 10
The_Year = The_Year + 621
Case 10 To 30: The_Day = The_Day - 9
The_Month = 11
The_Year = The_Year + 621
End Select
Case 9: Select Case The_Day
Case 1 To 9: The_Day = The_Day + 21
The_Month = 11
The_Year = The_Year + 621
Case 10 To 30: The_Day = The_Day - 9
The_Month = 12
The_Year = The_Year + 621
End Select
Case 10: Select Case The_Day
Case 1 To 10: The_Day = The_Day + 21
The_Month = 12
The_Year = The_Year + 621
Case 11 To 30: The_Day = The_Day - 10
The_Month = 1
The_Year = The_Year + 622
End Select
Case 11: Select Case The_Day
Case 1 To 11: The_Day = The_Day + 20
The_Month = 1
The_Year = The_Year + 622
Case 12 To 30: The_Day = The_Day - 11
The_Month = 2
The_Year = The_Year + 622
End Select
Case 12: Select Case The_Day
Case 1 To 9: The_Day = The_Day + 19
The_Month = 2
The_Year = The_Year + 622
Case 10 To 30: The_Day = The_Day - 9
The_Month = 3
The_Year = The_Year + 622
End Select
End Select
End If
'------------------------------------------------------------------------------------------------------------------------
If The_Select = 2 Then 'Like : 1362, 1366, 1370, 1374, 1378, 1382, 1386, ...
Select Case The_Month
Case 1: Select Case The_Day
Case 1 To 11: The_Day = The_Day + 20
The_Month = 3
The_Year = The_Year + 621
Case 12 To 31: The_Day = The_Day - 11
The_Month = 4
The_Year = The_Year + 621
End Select
Case 2: Select Case The_Day
Case 1 To 10: The_Day = The_Day + 20
The_Month = 4
The_Year = The_Year + 621
Case 11 To 31: The_Day = The_Day - 10
The_Month = 5
The_Year = The_Year + 621
End Select
Case 3: Select Case The_Day
Case 1 To 10: The_Day = The_Day + 21
The_Month = 5
The_Year = The_Year + 621
Case 11 To 31: The_Day = The_Day - 10
The_Month = 6
The_Year = The_Year + 621
End Select
Case 4: Select Case The_Day
Case 1 To 9: The_Day = The_Day + 21
The_Month = 6
The_Year = The_Year + 621
Case 10 To 31: The_Day = The_Day - 9
The_Month = 7
The_Year = The_Year + 621
End Select
Case 5: Select Case The_Day
Case 1 To 9: The_Day = The_Day + 22
The_Month = 7
The_Year = The_Year + 621
Case 10 To 31: The_Day = The_Day - 9
The_Month = 8
The_Year = The_Year + 621
End Select
Case 6: Select Case The_Day
Case 1 To 9: The_Day = The_Day + 22
The_Month = 8
The_Year = The_Year + 621
Case 10 To 31: The_Day = The_Day - 9
The_Month = 9
The_Year = The_Year + 621
End Select
Case 7: Select Case The_Day
Case 1 To 8: The_Day = The_Day + 22
The_Month = 9
The_Year = The_Year + 621
Case 9 To 30: The_Day = The_Day - 8
The_Month = 10
The_Year = The_Year + 621
End Select
Case 8: Select Case The_Day
Case 1 To 9: The_Day = The_Day + 22
The_Month = 10
The_Year = The_Year + 621
Case 10 To 30: The_Day = The_Day - 9
The_Month = 11
The_Year = The_Year + 621
End Select
Case 9: Select Case The_Day
Case 1 To 9: The_Day = The_Day + 21
The_Month = 11
The_Year = The_Year + 621
Case 10 To 30: The_Day = The_Day - 9
The_Month = 12
The_Year = The_Year + 621
End Select
Case 10: Select Case The_Day
Case 1 To 10: The_Day = The_Day + 21
The_Month = 12
The_Year = The_Year + 621
Case 11 To 30: The_Day = The_Day - 10
The_Month = 1
The_Year = The_Year + 622
End Select
Case 11: Select Case The_Day
Case 1 To 11: The_Day = The_Day + 20
The_Month = 1
The_Year = The_Year + 622
Case 12 To 30: The_Day = The_Day - 11
The_Month = 2
The_Year = The_Year + 622
End Select
Case 12: Select Case The_Day
Case 1 To 10: The_Day = The_Day + 19
The_Month = 2
The_Year = The_Year + 622
Case 11 To 30: The_Day = The_Day - 10
The_Month = 3
The_Year = The_Year + 622
End Select
End Select
End If
'------------------------------------------------------------------------------------------------------------------------
If The_Select = 3 Then 'Like : 1363, 1367, 1371, 1375, 1379, 1383, 1387, ...
Select Case The_Month
Case 1: Select Case The_Day
Case 1 To 12: The_Day = The_Day + 19
The_Month = 3
The_Year = The_Year + 621
Case 13 To 31: The_Day = The_Day - 12
The_Month = 4
The_Year = The_Year + 621
End Select
Case 2: Select Case The_Day
Case 1 To 11: The_Day = The_Day + 19
The_Month = 4
The_Year = The_Year + 621
Case 12 To 31: The_Day = The_Day - 11
The_Month = 5
The_Year = The_Year + 621
End Select
Case 3: Select Case The_Day
Case 1 To 11: The_Day = The_Day + 20
The_Month = 5
The_Year = The_Year + 621
Case 12 To 31: The_Day = The_Day - 11
The_Month = 6
The_Year = The_Year + 621
End Select
Case 4: Select Case The_Day
Case 1 To 10: The_Day = The_Day + 20
The_Month = 6
The_Year = The_Year + 621
Case 11 To 31: The_Day = The_Day - 10
The_Month = 7
The_Year = The_Year + 621
End Select
Case 5: Select Case The_Day
Case 1 To 10: The_Day = The_Day + 21
The_Month = 7
The_Year = The_Year + 621
Case 11 To 31: The_Day = The_Day - 10
The_Month = 8
The_Year = The_Year + 621
End Select
Case 6: Select Case The_Day
Case 1 To 10: The_Day = The_Day + 21
The_Month = 8
The_Year = The_Year + 621
Case 11 To 31: The_Day = The_Day - 10
The_Month = 9
The_Year = The_Year + 621
End Select
Case 7: Select Case The_Day
Case 1 To 9: The_Day = The_Day + 21
The_Month = 9
The_Year = The_Year + 621
Case 10 To 30: The_Day = The_Day - 9
The_Month = 10
The_Year = The_Year + 621
End Select
Case 8: Select Case The_Day
Case 1 To 10: The_Day = The_Day + 21
The_Month = 10
The_Year = The_Year + 621
Case 11 To 30: The_Day = The_Day - 10
The_Month = 11
The_Year = The_Year + 621
End Select
Case 9: Select Case The_Day
Case 1 To 10: The_Day = The_Day + 20
The_Month = 11
The_Year = The_Year + 621
Case 11 To 30: The_Day = The_Day - 10
The_Month = 12
The_Year = The_Year + 621
End Select
Case 10: Select Case The_Day
Case 1 To 11: The_Day = The_Day + 20
The_Month = 12
The_Year = The_Year + 621
Case 12 To 30: The_Day = The_Day - 11
The_Month = 1
The_Year = The_Year + 622
End Select
Case 11: Select Case The_Day
Case 1 To 12: The_Day = The_Day + 19
The_Month = 1
The_Year = The_Year + 622
Case 13 To 30: The_Day = The_Day - 12
The_Month = 2
The_Year = The_Year + 622
End Select
Case 12: Select Case The_Day
Case 1 To 10: The_Day = The_Day + 18
The_Month = 2
The_Year = The_Year + 622
Case 11 To 30: The_Day = The_Day - 10
The_Month = 3
The_Year = The_Year + 622
End Select
End Select
End If
'------------------------------------------------------------------------------------------------------------------------
En_Date = Format(CStr(The_Month), "00") & "/" & _
Format(CStr(The_Day), "00") & "/" & _
Format(CStr(The_Year), "0000")
End Function
آقای ASPDeveloper من تابعی نوشتم که برای همه اعداد کار میکند و مشکلی ندارد ولی بدلیل اینکه در این تاپیک به حد کافی این تابع آورده شده از آورئن آن صرف نظر میکنم ولی اگر حتما میخواستی پیغام بدهنقل قول:
دوست عزیز از کد تبدیل به حروف ممنون اما برای اعداد مثل 10000000001 کار نمیکند
[/img]
سلام
ab_ba خب شما هم اون تابع رو اینجا بنویسید. مشکلی نیست.
اینم کد من
Function harfi(n As Double) As String
Dim s1(10) As String
Dim s2(10) As String
Dim s3(10) As String
Dim s4(10) As String
Dim a(5), s As String
Dim count As Long
Dim i, j, k, m As Long
Dim b As Integer
s1(1) = "یک": s1(2) = "دو": s1(3) = "سه": s1(4) = "چهار": s1(5) = "پنج": s1(6) = "شش": s1(7) = "هفت": s1(8) = "هشت": s1(9) = "نه": s1(10) = "ده"
s2(1) = "یازده": s2(2) = "دوازده": s2(3) = "سیزده": s2(4) = "چهارده": s2(5) = "پانزده": s2(6) = "شانزده": s2(7) = "هفده": s2(8) = "هجده": s2(9) = "نوزده": s2(10) = "بیست"
s3(1) = "یکصد": s3(2) = "دویست": s3(3) = "سیصد": s3(4) = "چهارصد": s3(5) = "پانصد": s3(6) = "ششصد": s3(7) = "هفتصد": s3(8) = "هشتصد": s3(9) = "نهصد": s3(10) = "هزار"
s4(1) = " ": s4(2) = "هزار": s4(3) = "میلیون": s4(4) = "میلیارد": s4(5) = "تریلیون": s4(6) = "تریلیارد"
n = Int(n)
s = Str(n)
s = LTrim$(s)
s = RTrim$(s)
k = Len(s)
m = k Mod 3
If m = 0 Then m = 3
j = (k - m) \ 3
a(j + 1) = Mid(s, 1, m)
m = m + 1
For i = j To 1 Step -1
a(i) = Mid(s, m, 3)
m = m + 3
Next
count = j + 1
For i = count To 1 Step -1
b = 0
If Val(a(i)) > 0 Then
harfi = harfi & harfi2(Val(a(i)))
harfi = harfi & " " & s4(i)
For j = 1 To i - 1
If Val(a(j)) > 0 Then b = 1
Next
If b = 1 Then harfi = harfi & " و "
End If
Next
End Function
Function harfi2(n As Double) As String
Dim s1(20) As String
Dim s2(10) As String
Dim s3(10) As String
Dim s4(10) As String
Dim a(5) As Long
Dim b As Integer
b = 0
s1(1) = "یک": s1(2) = "دو": s1(3) = "سه": s1(4) = "چهار": s1(5) = "پنج": s1(6) = "شش": s1(7) = "هفت": s1(8) = "هشت": s1(9) = "نه": s1(10) = "ده"
s1(11) = "یازده": s1(12) = "دوازده": s1(13) = "سیزده": s1(14) = "چهارده": s1(15) = "پانزده": s1(16) = "شانزده": s1(17) = "هفده": s1(18) = "هجده": s1(19) = "نوزده": s1(20) = "بیست"
s2(1) = "ده": s2(2) = "بیست": s2(3) = "سی": s2(4) = "چهل": s2(5) = "پنجاه": s2(6) = "شصت": s2(7) = "هفتاد": s2(8) = "هشتاد": s2(9) = "نود": s2(10) = "صد"
s3(1) = "یکصد": s3(2) = "دویست": s3(3) = "سیصد": s3(4) = "چهارصد": s3(5) = "پانصد": s3(6) = "ششصد": s3(7) = "هفتصد": s3(8) = "هشتصد": s3(9) = "نهصد": s3(10) = "هزار"
s4(1) = "هزار": s4(2) = "میلیون": s4(3) = "میلیارد": s4(4) = "تریلیون": s4(5) = " تریلیارد"
a(1) = n \ 100
a(4) = n Mod 100
a(2) = a(4) \ 10
a(3) = a(4) Mod 10
If (a(1) > 0) Then harfi2 = s3(a(1)): b = 1
If (a(4) < 20 And a(4) > 0) Then
If (b = 1) Then
harfi2 = harfi2 & " و " & s1(a(4))
Else
harfi2 = s1(a(4))
End If
Else
If (a(2) > 0) Then
If (b = 1) Then
harfi2 = harfi2 & " و " & s2(a(2))
Else
harfi2 = s2(a(2))
End If
End If
If (a(3) > 0) Then
If (a(4) > 20) Then b = 1
If (b = 1) Then
harfi2 = harfi2 & " و " & s1(a(3))
Else
harfi2 = s1(a(3))
End If
End If
End If
End Function