日付を31/12/2200に設定したvb3コードにエラーがあり、フォーマットがロケールマシンと似ていないことを伝えるエラーが表示されます。vb3:ロケールの日付形式に変更する
解決策は手動で12/31/2200に設定することですが、私が興味を持っているのは、マシンのロケールを自動的に作成することです。
vb3でロケールの日付に変更するにはどうすればよいですか?
日付を31/12/2200に設定したvb3コードにエラーがあり、フォーマットがロケールマシンと似ていないことを伝えるエラーが表示されます。vb3:ロケールの日付形式に変更する
解決策は手動で12/31/2200に設定することですが、私が興味を持っているのは、マシンのロケールを自動的に作成することです。
vb3でロケールの日付に変更するにはどうすればよいですか?
私はVB3でお手伝いできません。私はそれを何年も前から見ていません。私はあなたにVB5/VB6で動作するものを与えることができます。私はそれがVB3にどれだけうまく転送されるのか分かりません。うまくいけば、仕事が必要な場合はVB3に翻訳したり、できる人を見つけることができます。適切なエラー処理を追加する必要があります。
Private Declare Function GetLocaleInfo Lib "kernel32" Alias "GetLocaleInfoA" (ByVal Locale As Long, ByVal LCType As Long, ByVal lpLCData As String, ByVal cchData As Long) As Long
Private Const LOCALE_USER_DEFAULT = &H400
Private Const LOCALE_SSHORTDATE = &H1F ' short date format string
Private Const LOCALE_SLONGDATE = &H20 ' long date format string
Private Sub Form_Load()
Dim strMsg As String
strMsg = "Short Date Format: " & FormatShortDate(DateTime.Now)
strMsg = strMsg & vbCrLf & "Long Date Format: " & FormatLongDate(DateTime.Now)
MsgBox strMsg
End Sub
Private Function FormatShortDate(ByVal vDate As Date) As String
Dim strShortDateFormat As String
Dim lngRet As Long
Dim strReturn As String
'Get short date format
strShortDateFormat = Space(255)
lngRet = GetLocaleInfo(LOCALE_USER_DEFAULT, LOCALE_SSHORTDATE, strShortDateFormat, Len(strShortDateFormat))
strShortDateFormat = Left(strShortDateFormat, lngRet - 1)
strReturn = Format$(vDate, strShortDateFormat)
FormatShortDate = strReturn
End Function
Private Function FormatLongDate(ByVal vDate As Date) As String
Dim strLongDateFormat As String
Dim lngRet As Long
Dim strReturn As String
'Get long date format
strLongDateFormat = Space(255)
lngRet = GetLocaleInfo(LOCALE_USER_DEFAULT, LOCALE_SLONGDATE, strLongDateFormat, Len(strLongDateFormat))
strLongDateFormat = Left(strLongDateFormat, lngRet - 1)
strReturn = Format$(vDate, strLongDateFormat)
FormatLongDate = strReturn
End Function
VB3の私の回想は、16ビットアプリケーションの開発ツールとして、それ自体が意識ロケールではなかった、とあなたは一般的にできた、ということであるべきですこれらのロケール操作を実行するために@jacがここで行ったようにWindows API呼び出しを行わないでください。 – MarkL
変数=「31/12/2000」は「2000年12月31日」 – David