名前 題名 ▼ Saraさん > みなさん、こんにちは。 > > Delphi XE5 > > DateTimePickerで月末を設定しておきたい場合で、かつ表示が年月のみにしたい場合、 > (DateTimePicker1.DeteMode = dmUpDown) > > var yy,mm,dd : Word; > begin > DecodeDate(Date,yy,mm,dd); > if mm = 12 then begin > inc(yy); > mm := 1; > dd := 1; > end > else begin > inc(mm); > dd := 1; > end; > DateTimePicker1.Date := EncodeDate(yy,mm,dd) - 1; > > DateTimePicker1.Format := 'yyyy年MM月'; > > end; > > とかしておけば、取りあえず目的の表示になるのですが・・・ > > 例えば、今日(12月10日)このコードを実行すると、 > 2014年12月と表示されて、内部的に日付は31日になりますが、 > > このとき、月をDateTimePickerの▼ボタンで月を変更すると(11月とか) > EConvertErrorが発生します・・・まぁ、11月31日は無いからね・・・ > > 表示が年月日であれば、日付が勝手に30日になるのに、なぜ年月表示では > エラーになるの? > > このエラーを出さなくする方法ってありますか? > > マスター 教えてくださいな。(^^; GIF,JPEG,PNG画像ファイル及びLZH,ZIPファイルをアップロードできます.600 x 1200 ピクセルを超える画像は縮小表示されます(画像クリックで拡大表示). (上限122000(120k)バイト) 削除キー Link