DOBON.NETプログラミング道掲示板

■35369 / 1階層)  時間変数(文字列)の扱い
□投稿者/ 魔界の仮面弁士 大御所(1533回)-(2023/02/07(Tue) 21:02:32)
  • アイコンNo35368に返信(ま〜さんの記事)
    > いつもお世話になります
    投稿時に、いろいろと転記ミスをしていませんか?


    > If Now.ToString("HH:mm") = CStr(DateTimePicker1.ToString("HH:mm")) Then ・・・・
    えぇと、
     = CStr(〜.ToString("HH:mm"))

     = 〜.ToString("HH:mm")
    と同義ですよ。文字列を文字列に変換しても無意味かと…。


    それと、DateTimePicker から入力された日付は、
    Value プロパティで取得されます。すなわち
     = DateTimePicker1.ToString("HH:mm")
    ではなく
     = DateTimePicker1.Value.ToString("HH:mm")
    とすべきです。

    とはいえ、DateTimePicker1 の ToString メソッドには
    引数を受け取るオーバーロードは無かったはずなので、本当にその表記なら
    > "String ""HH:mm"" から型 'Integer' への変換は無効です。"
    なエラーではなく、
    「BC30516 この引数の数を受け付ける 'ToString' がないため、オーバーロードの解決に失敗しました。」
    のコンパイルエラーになっているはずですが…?


    なお、書式文字列 ":" はカルチャー依存であり、
    コントロール パネルの設定によっては、
    変換結果が ":" 以外の文字になることがあります。

    カルチャーに依存することなく、常に ":" で返されるようにしたい場合は、
    "HH:mm" の代わりに "HH\:mm" 構文を使います。
    ("HH" や "mm" は、カルチャーに依存しません)

    もっとも、時刻区切りが ":" 以外に設定されているなんてことは
    日本語環境ではまず無いでしょうけれどね。


    > String=DateTimePicker1.ToString("HH:mm")
    String は予約語なので、「String という名前の変数」は作れません。

    予約語を変数名にしたい場合は、
    Dim [String] As String
    のように、角括弧で囲ってエスケープしてください。


    > 結果は難しい様で
    > "String ""HH:mm"" から型 'Integer' への変換は無効です。"
    > とエラーとなります
    コンパイル時エラーではなく、実行時エラーなのですよね?
    (おそらく、Option Strict Off モードでコンパイルしているはず)

    そのエラーが出るケースとして、以下の 2 パターンが想定されます。

    (1) 代入式の左辺が Integer 型の変数やプロパティで、右辺が文字列 "HH:mm" の時
     Dim jikan As Integer = "HH:mm"
     'Dim jikan As Integer = DateTimePicker1.Value.Hour.ToString("HH:mm")

    (2) Integer 型の引数を受け取るメソッドに、"HH:mm" という文字列引数を渡してた時
     Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
      Test("HH:mm")
     End Sub
     Sub Test(hhmm As Integer)
     End Sub
違反を報告
削除キー/

前の記事(元になった記事) 次の記事(この記事の返信)
←時間変数(文字列)の扱い /ま〜 →Re[2]: 時間変数(文字列)の扱い /ま〜
 
上記関連ツリー

Nomalアイコン 時間変数(文字列)の扱い / ま〜 (23/02/07(Tue) 20:11) #35368
Nomalアイコン 時間変数(文字列)の扱い / 魔界の仮面弁士 (23/02/07(Tue) 21:02) #35369 ←Now
  └Nomalアイコン Re[2]: 時間変数(文字列)の扱い / ま〜 (23/02/09(Thu) 13:17) #35370 解決み!
    └Nomalアイコン Re[3]: 時間変数(文字列)の扱い / 魔界の仮面弁士 (23/02/09(Thu) 14:36) #35371 解決み!
      └Nomalアイコン Re[4]: 時間変数(文字列)の扱い / ま〜 (23/02/10(Fri) 15:52) #35375 解決み!

All 上記ツリーを一括表示 / 上記ツリーをトピック表示
 
上記の記事へ返信

Mode/  Pass/


- Child Tree -