数値を通貨フォーマットで表示 <TOP>
文字列(数値)を、その地域の通貨フォーマットで表示します。
GetCurrencyFormat 指定された地域の通貨フォーマット
数値の前に¥が付く
小数点以下1桁で四捨五入
3桁毎の位取り","が挿入される
'================================================================ '= 指定された地域の通貨フォーマット '= (GetCurrencyFormat.bas) '================================================================ #include "Windows.bi" ' 指定された地域の通貨フォーマット Declare Function Api_GetCurrencyFormat& Lib "kernel32" Alias "GetCurrencyFormatA" (ByVal Locale&, ByVal dwFlags&, ByVal lpValue$, lpFormat As Any, ByVal lpCurrencyStr$, ByVal cchCurrency&) #define LOCALE_SYSTEM_DEFAULT &H400 'システムのデフォルトロケール #define LOCALE_USER_DEFAULT &H800 '現在のユーザのデフォルトロケール Var Shared List1 As Object Var Shared List2 As Object Var Shared Timer1 As Object List1.Attach GetDlgItem("List1") : List1.SetFontSize 14 List2.Attach GetDlgItem("List2") : List2.SetFontSize 14 Timer1.Attach GetDlgItem("Timer1") '================================================================ '= '================================================================ Declare Sub MainForm_Start edecl () Sub MainForm_Start() Var i As Integer Var Buffer As String Var Ret As Long List1.AddString "0.5" List1.AddString "1.4" List1.AddString "1.5" List1.AddString "11.256" List1.AddString "899" List1.AddString "899.5" List1.AddString "1020.21" List1.AddString "1020.54" List1.AddString "100001.2" Buffer = Space$(256) List2.ResetContent For i = 0 To List1.GetCount - 1 Ret = Api_GetCurrencyFormat(LOCALE_SYSTEM_DEFAULT, 0, List1.GetText(i), ByVal clng(0), Buffer, Len(Buffer)) List2.AddString Buffer Next Timer1.SetInterval 5 Timer1.Enable -1 End Sub '================================================================ '= 選択された左右の項目を同期させる '================================================================ Declare Sub Timer1_Timer edecl () Sub Timer1_Timer() Var List1TopIndex As Integer Var List2TopIndex As Integer '先頭に表示される項目を揃える List1TopIndex = List1.GetTopIndex
If List1TopIndex <> List2TopIndex Then
List2.SetTopIndex List1TopIndex
List2TopIndex = List1TopIndex
End If
'選択項目を揃える
If List1.GetCursel <> List2.GetCursel Then
List2.SetCursel List1.GetCursel
End If
End Sub
'================================================================
'=
'================================================================
While 1
WaitEvent
Wend
Stop
End