喫茶XRAYトップページ

[スレッド全体
]

[8156] TDateTimePicker で元号表示返信 削除
2014/10/31 (金) 06:50:13 Mr.XRAY
[DateTimePickerの表示を和暦にするには?]
http://hpcgi3.nifty.com/e-papy/DelphiBBS/wwwlng.cgi?print+201410/14100021.txt

tor さんがレスの中で書いているリンクのコードを
そのままコピペしてやってみました.

動作確認環境は以下です.
対象フレームワーク .NET Framework 4.0
Windows 7 U64(SP1) + VS Express 2013 Desktop C#

この仕様だったら Delphi でも実現可能ですね.

Delphi の TDateTimePicker は Windows の DateTimpPicker を使用しています.
Windows に DTM_SETFORMAT メッセージで送った書式で日付時刻を表示します.
DTM_SETFORMAT は CommCtrl.pas に定義があります.
表示するコードが Delphi 製だったら簡単だったと思うんですが.

興味がありましたら試してみてください.
EXE を UP しておきます.
図は EXE 起動時の画面です.

http://mrxray.on.coocan.jp/Delphi/zip/DateTimePickerEra_CShape.zip


[8186] Re:TDateTimePicker で元号表示返信 削除
2014/11/5 (水) 23:44:18 Mr.XRAY
さて,日付ピッカーのようなコンポーネントもできたので,
元の TDateTimePicker の話に戻すと,

[日付と時刻の設定] ダイアログ]で [カレンダーの設定の変更] をクリックします.
そのダイアログで,カレンダーの種類を [和暦] にすると,
元号,つまり和暦で表示するようになります.
この設定を Delphi で実行する方法は知りません !!

[日付と時刻の設定] ダイアログは,[日付と時刻] のダイアログで,
[日付と時刻の変更] ボタンをクリックすると現れます
%SystemRoot%\System32\control.exe /name Microsoft.DateAndTime

11月7日 追記
注意 1 : [カレンダーの種類]を和暦にしないと,gg 等の書式を設定しても
       有効になりません.
       和暦に設定しても,YYYY の書式も使用できます.
注意 2 : 上記,全て Windows 7 U64(SP1) + Delphi XE(UP1) Pro で確認済みです.



[8187] Re2:TDateTimePicker で元号表示返信 削除
2014/11/6 (木) 00:12:59 Mr.XRAY
> [日付と時刻の設定] ダイアログは,[日付と時刻] のダイアログで,
> [日付と時刻の変更] ボタンをクリックすると現れます


タスクバーの日付の部分をクリックして現れるダイアログからも表示できます.


[8189] Re3:TDateTimePicker で元号表示返信 削除
2014/11/6 (木) 21:12:34 Mr.XRAY
FormatSettings.ShortDateFormat あるいは LongDateFormat というのがあります.
これは,上の書き込みの,システムの設定は変更できません.
これを設定したアプリ内だけで有効です.
したがって,システムの設定とは関係なく,アプリ側での設定に使用できます.
StrToDate 関数等で,日付を文字列から取得する際に,この設定をしないと,
システムの設定が使用されて,正常に変換できないことがあります.

欧米の多くは,'MM/DD/YYYY が多いのですが,まれに,この設定になって
しまっているコンピュータがあるようです.


procedure TForm1.Button1Click(Sender: TObject);
begin
  FormatSettings.ShortDateFormat := 'YYYY/MM/DD';
  Panel1.Caption := DateToStr(Trunc(Now));
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
  FormatSettings.ShortDateFormat := 'gg ee年 MM月 DD日';
  Panel2.Caption := DateToStr(Trunc(Now));
end;


[▼次のスレッド]
INCM/CMT
Cyclamen v3.82