วิธีทำ Print Date
1. คลิกขวาที่ส่วนของ Formula Fields แล้วเลือก New
2. ตั้งชื่อเลยครับ แล้วกด Enter
3. ใส่ cdate(Year(PrintDate)+543,Month(PrintDate),day(PrintDate))
4. กดเซฟเลยครับ
วิธีทำ Data Field
1. ทำข้อที่ 1-2 ในแบบของ Print Date ครับ
2. ใส่
Local stringVar m;
m:= ToText(cdate(PrintDate),Month(PrintDate),day(PrintDate)),"dd/MM/yyyy");
local stringVar m2;
m2:= mid(m,4,2);
if m2="01" then
m2:="มกราคม"
else if m2="02" then
m2:="กุมภาพันธ์"
else if m2="03" then
m2:="มีนาคม"
else if m2="04" then
m2:="เมษายน"
else if m2="05" then
m2:="พฤษภาคม"
else if m2="06" then
m2:="มิถุนายน"
else if m2="07" then
m2:="กรกฏาคม"
else if m2="08" then
m2:="สิงหาคม"
else if m2="09" then
m2:="กันยายน"
else if m2="10" then
m2:="ตุลาคม"
else if m2="11" then
m2:="พฤษจิกายน"
else if m2="12" then
m2:="ธันวาคม";
(mid(m,1,2)) + " " + m2 + " " + ToText(ToNumber(mid(m,7,4))+543,"####",0);
Imports System.Runtime.InteropServices
<ComVisible(True), InterfaceType(ComInterfaceType.InterfaceIsDual), GuidAttribute("D5447A7B-FDD0-4869-8B12-69EB1A56E6E0")> _
Public Interface IEHacksCRUfl
Function NumberThai(ByVal strPass As String) As String 'แปลงตัวเลขอารบิคเป็นตัวเลขไทย เช่น 123 --> ๑๒๓
Function ThaiDate(ByVal dPass As DateTime, ByVal strFormat As String) As String 'for support era ไทย/คริสศักราช
Function BahtText(ByVal dblPass As Double) As String 'คำตัวเลขเป็นคำอ่านภาษาไทย เช่น 12.25 --> สิบสองบาทยี่สิบห้าสตางค์
End Interface
Code (VB.NET)
Imports System.Runtime.InteropServices
<ComVisible(True), ClassInterface(ClassInterfaceType.None), GuidAttribute("F2AFEC0E-B776-41a7-A4CD-CF7F09386AE5")> _
Public Class CRUFLWaroot : Implements IEHacksCRUfl
'
'แปลงตัวเลขอารบิค เป็นตัวเลขไทย เช่น 123 เป็น ๑๒๓ เป็นต้น
'
Public Function NumberThai(ByVal strPass As String) As String Implements IEHacksCRUfl.NumberThai
If String.IsNullOrEmpty(strPass) = True OrElse strPass.Trim.Length = 0 Then Return String.Empty
For iSub As Byte = 0 To 9 'Byte 1-255
strPass = strPass.Replace(iSub.ToString, Chr(iSub + 240)) 'อักษรตัวอื่นคงไว้ที่เดิม
Next
Return strPass
End Function
'
'กำหนดรูปแบบวันที่ในรายงาน Crystal Reports /Support Era ทั้งแบบ พุทธและคริสต์
'
Public Function ThaiDate(ByVal dPass As Date, ByVal strFormat As String) As String Implements IEHacksCRUfl.ThaiDate
Dim strSubValue As String = String.Empty
Try
strSubValue = String.Format(strFormat, dPass)
Catch ex As Exception
'Ignore error and return String.Empty
End Try
Return strSubValue
End Function
'
'แปลงตัวเลขเป็นคำอ่านภาษาไทย เช่น 101 -> หนึ่งร้อยหนึ่งบาทถ้วน
'
Function BahtText(ByVal dblPass As Double) As String Implements IEHacksCRUfl.BahtText
Dim dbSubMgr As New clsMy.DigitManager
Return dbSubMgr.BahtText(dblPass)
End Function
End Class
Code (VB.NET)
Public Class DigitManager
'
'อ่านตัวเลขเป็นคำอ่านภาษไทย เช่น 101 -> หนึ่งร้อยหนึ่งบาทถ้วน
'Lastupdate : 01/05/2005
'
Public Function BahtText(ByVal dblPassNumber As Double) As String
Return ThaiBahtText(dblPassNumber)
End Function
Private Function ThaiBahtText(ByVal strPriNumber As String) As String
Dim dblSubNumber As Double
If Not Double.TryParse(strPriNumber, Globalization.NumberStyles.AllowDecimalPoint Or _
Globalization.NumberStyles.AllowThousands Or Globalization.NumberStyles.AllowCurrencySymbol _
, Nothing, dblSubNumber) Then
Return "ตัวเลขไม่ถูกต้อง"
Exit Function
End If
Dim strSubNumValue As String = Format(dblSubNumber, "###0.00").ToString.PadLeft(15, Space(1)) 'เอาเครื่องหมายคั่นหลักพันออกให้หมด
Dim strSubThaiBaht As String = "" 'เก็บค่าการอ่านตัวเลขเป็นคำอ่านภาษาไทย
If Val(strSubNumValue) = 0 Then Return "ศูนย์บาท"
If strSubNumValue.Length > 15 Then Return "ตัวเลขเกินหลักแสนล้าน โปรแกรมสามารถอ่านได้ไม่เกินเก้าแสนเก้าหมื่นเก้าพันเก้าร้อยเก้าสิบเก้าล้านบาท"
'
strSubThaiBaht = IIf(Val(strSubNumValue.Substring(0, 6)) > 0, ThaiHundredThousand(strSubNumValue.Substring(0, 6)) & "ล้าน", "")
strSubThaiBaht &= ThaiHundredThousand(strSubNumValue.Substring(6, 6)) & IIf(Val(strSubNumValue) >= 1, "บาท", "")
strSubThaiBaht &= IIf(strSubNumValue.Substring(13, 2) = "00", "ถ้วน", ThaiHundredThousand(Space(4) & strSubNumValue.Substring(13, 2)) & "สตางค์ขะแมร์")
'
Return strSubThaiBaht
End Function
Private Function ThaiHundredThousand(ByVal strPassNum As String) As String
Dim arrSubCount() As String = {"", "หนึ่ง", "สอง", "สาม", "สี่", "ห้า", "หก", "เจ็ด", "แปด", "เก้า", ""}
Dim arrSubCountTen() As String = {"", "สิบ", "ยี่สิบ", "สามสิบ", "สี่สิบ", "ห้าสิบ", "หกสิบ", "เจ็ดสิบ", "แปดสิบ", "เก้าสิบ", ""}
Dim arrSubCountHund() As String = {"", "แสน", "หมื่น", "พัน", "ร้อย", "สิบ", ""}
Dim iSub, iSubNumVal As Byte '0,1,2,...,9 only
Dim strSubReturn As String = ""
For iSub = 1 To 6 'รอบแรกคือ หลักแสน รอบสุดท้ายคือ หลักหน่วย
iSubNumVal = Val(strPassNum.Substring(iSub - 1, 1)) 'split มาประมวลผลทีละตัวเท่านั้น ( 0,1,2,...,9)
strSubReturn &= IIf(iSubNumVal > 0, IIf(iSub = 6 AndAlso iSubNumVal = 1 AndAlso Val(strPassNum) > 1 _
AndAlso strPassNum.Substring(4, 1) <> "0", "เอ็ด", IIf(iSub <> 5, _
arrSubCount(iSubNumVal) & arrSubCountHund(iSub), arrSubCountTen(iSubNumVal))), "")
Next
Return strSubReturn 'Max(เก้าแสนเก้าหมื่นเก้าพันเก้าร้อยเก้าสิบเก้าบาท)
End Function
End Class
Date :
2015-05-24 21:00:25
By :
...
No. 25
Guest
จาก #NO 24 แถมให้อีกนิดหนึ่ง Function NumberThai สมัยโน้น (เก่าเก็บ)
อันนี้ยุคสมัย Code (VB.NET)
'ตัวอย่างการใช้งาน : Dim แก่เพราะอยู่นาน = New RegularExpressions.Regex("[0-9]").Replace("987654321", New RegularExpressions.MatchEvaluator(AddressOf NumberThai))
Private Function NumberThai(ByVal s As RegularExpressions.Match) As String
Return {"๐", "๑", "๒", "๓", "๔", "๕", "๖", "๗", "๘", "๙"}(Integer.Parse(s.Value))
End Function
<!-- Sidebar Menu -->
<ul class="sidebar-menu">
<li class="header">HEADER</li>
<!-- Optionally, you can add icons to the links -->
<li id="sidebar_menu_0">
<!--class="active" -->
<a id="sidebar_menu_0a" href='<%:Page.GetRouteUrl("MainMenu_Left", New With {.page = "test0"})%>'><i class='fa fa-link'></i><span>Sales & Marketing</span></a></li>
<li id="sidebar_menu_1">
<a id="sidebar_menu_1a" href='<%:Page.GetRouteUrl("MainMenu_Left", New With {.page = "test1"})%>'><i class='fa fa-link'></i><span>Inventory Control</span></a>
</li>
<li id="sidebar_menu_2">
<a id="sidebar_menu_2a" href='<%:Page.GetRouteUrl("MainMenu_Left", New With {.page = "test2"})%>'><i class='fa fa-link'></i><span>Purchase Orders</span></a>
</li>
<li id="sidebar_menu_4">
<cc1:my_LinkButton ID="lnkHelloWorld" runat="server" NavigateURL="ข้อความตามใจฉัน">
<i class='fa fa-link'></i><span>Account Payable</span>
</cc1:my_LinkButton>
</li>
</ul>
<!-- /.sidebar-menu -->
Coding ไฟล์ Global.asax(VB.NET)
Sub RegisterRoutes(ByVal routes As RouteCollection)
'http://weblogs.asp.net/psheriff/using-friendly-urls-in-web-forms
'Dim settings = New FriendlyUrlSettings()
'settings.AutoRedirectMode = RedirectMode.Permanent
'routes.EnableFriendlyUrls(settings)
routes.Ignore("{*allaspx}", New With {.allaspx = ".*\.aspx(/.*)?"})
routes.Ignore("{resource}.axd/{*pathInfo}") 'Fixed Sys undefined
routes.Add("MainMenu_Left_GL", New Route("FAKE_GL/{page}", New DirectoryRouteHandler(virtualDir:="~/GL")))
routes.Add("MainMenu_Left", New Route("FAKE_MAIN/{page}", New DirectoryRouteHandler(virtualDir:="~/")))
routes.Add("MainMenu_Left_SO", New Route("FAKE_SO/{page}", New DirectoryRouteHandler(virtualDir:="~/SO/FOLDER69")))
End Sub