喫茶XRAYトップページ
[
スレッド全体
]
[11363]
Re:新しい年号の前に・・・
返信
削除
2017/9/13 (水) 18:57:49
Mr.XRAY
▼ おかぽんさん
> 元号が改正された場合の西暦と和暦の相互変換について [JAPAN]
>
https://
communit
y.
embarcad
ero.
com/
blogs/
entry/
year-
convert-
between-
gregoria
n-
and-
japanese
-
new-
era
>
おおっ,サンクスです.
後で参考リンクに追加させていただきます.
>4つ目の英字で表現された先頭 1 文字を取得できれば、あとはいらないんですけど。
日本語のロケールだと EraNames には日本湖の元号名が格納されるんでしたよね ?
う〜ん.
となるとレジストリからの直接の読み込みのかな.
[11364]
Re2:新しい年号の前に・・・
返信
削除
2017/9/13 (水) 19:09:08
おかぽん
▼ Mr.XRAYさん
> となるとレジストリからの直接の読み込みのかな.
ですよね〜
ちなみに、日付の形式文字列の"g"は、日本語表記の先頭一文字ですが、
EraNamesに入っている先頭文字を返しているだけです(Turbo Delphi まで確認)。
少なくともAPIを使って何かしているのではなさそうなので、APIで解決できる線は
望み薄かな〜と。
[11365]
備忘録
返信
削除
2017/9/14 (木) 15:33:47
おかぽん
> Delphi XE5でグローバル変数「MaxEraCount」「EraNames」「EraYearOffsets」が
> 廃止されました。
下記リンク 2) より
1) 元号が変わった場合
http://
mrxray.
on.
coocan.
jp/
Delphi/
plDateEd
it/
B_UseMet
hod.
htm#
06
2) Delphi XE5対応元号選択式日付時刻入力コンポーネントTplDateEdit
http://
www.
gesource
.
jp/
weblog/?
p=
6202
3) Delphi XE5で和暦の元号を取得するには
http://
www.
gesource
.
jp/
weblog/?
p=
6130
4) Delphi XE5で和暦の始まりの年を取得するには
http://
www.
gesource
.
jp/
weblog/?
p=
6131
5) System.SysUtils.TFormatSettings.TEraInfo
http://
docwiki.
embarcad
ero.
com/
Librarie
s/
Berlin/
ja/
System.
SysUtils
.
TFormatS
ettings.
TEraInfo
6) 日付の年号を略称で表示するには?[C#、VB]
http://
www.
atmarkit
.
co.
jp/
ait/
articles
/
1506/
10/
news022.
html
・Delphi のバージョンが上がっても、MTSH は取れそうにないけど、年月までは確認できそう。
・.NETでも、無理らしい。
A〜Zの英字で、年月が取得できるか取得したりして、対応表を作るとか?
[11366]
Re:備忘録
返信
削除
2017/9/14 (木) 15:47:03
Mr.XRAY
▼ おかぽんさん
備忘録と書いてあるので (^^
これ,Delphi Forum の方に転載してもいいですか ?
元号変更が現実になっているので.
おそらくその時になると多くの方が知りたくなると思うので,
と,ここまで書いて思ったのですか,
もう少し後,来年ぐらいの方がいいかな... う〜ん.
ちょっと考えてみます.
[11367]
Re2:備忘録
返信
削除
2017/9/15 (金) 08:19:32
おかぽん
▼ Mr.XRAYさん
> これ,Delphi Forum の方に転載してもいいですか ?
どうぞどうぞ。
引き続き情報収集して、ここにつなげていきます。
[11368]
Re3:備忘録
返信
削除
2017/9/15 (金) 11:21:54
Mr.XRAY
>A〜Zの英字で、年月が取得できるか取得したりして、対応表を作るとか?
ちょっと調べてみました.英語表記はロケールの変更しないと無理がありそです.
[164][06_ロケールの日付の書式を和暦に変更]
http://
mrxray.
on.
coocan.
jp/
Delphi/
plSample
s/
164_Date
PickerCo
mponent.
htm#
06
こんなことするぐらいならレジストリの操作の方がよさそうな.ハハハッ.
年月の方は,以下のようにフォーマットでは取得できるので,みたら,
SysUtils の DateTimeToString で処理しているようなので,何かヒントになる
コードがあるかな ? と思ったんですが,コード読むのが面倒....
で,あきらめました (^^;
//=============================================================================
// 動作確認 Windows 7 U64(SP1) + Delphi XE(UP1) Pro
//
// レジストリの値は以下
// 2019 10 10 神武_神_Jimmu_J
//=============================================================================
procedure TForm1.Button1Click(Sender: TObject);
var
LDateTime1 : TDateTime;
LDateTime2 : TDateTime;
LDateText : string;
begin
LDateTime1 := VarToDateTime('2019/10/09');
LDateTime2 := VarToDateTime('2019/10/10');
LDateText := FormatDateTime('ggee年mm月dd日', LDateTime1) + sLineBreak
+ FormatDateTime('ggee年mm月dd日', LDateTime2);
MessageBox(Handle, PChar(LDateText), '結果', MB_ICONINFORMATION);
end;
[11369]
Re4:備忘録
返信
削除
2017/9/15 (金) 14:20:25
Mr.XRAY
> コードがあるかな ? と思ったんですが,コード読むのが面倒....
> で,あきらめました (^^;
こういう姿勢は大事です.
山の世界ではこれを「勇気ある撤退」と言います.ホホホッ.
[11370]
Re4:備忘録
返信
削除
2017/9/15 (金) 18:39:53
おかぽん
▼ Mr.XRAYさん
>A〜Zの英字で、年月が取得できるか取得したりして、対応表を作るとか?
これをやってみようかと思い、レジストリに以下を書き込み
> //=============================================================================
> // レジストリの値は以下
> // 2019 10 10 神武_神_Jimmu_J
> //=============================================================================
このとき、VarToDateTime('J1/12/31') は、例外発生。
VarToDateTime('H1/12/31') は、"平成1年12月31日" の 日付が返りました。
いきなり躓いて、やる気がなくなりました(Delphi5)。
7,Turbo,XE3 があるので、順番に試してみたいとこですが、今日はここまで。
[11371]
Re5:備忘録
返信
削除
2017/9/15 (金) 22:50:44
taka
▼ おかぽんさん
> このとき、VarToDateTime('J1/12/31') は、例外発生。
> いきなり躓いて、やる気がなくなりました(Delphi5)。
この内容はあなたの最初のリンク先に記述されているようですが・・・。
>元号が改正された場合の西暦と和暦の相互変換について [JAPAN]
>
https://
communit
y.
embarcad
ero.
com/
blogs/
entry/
year-
convert-
between-
gregoria
n-
and-
japanese
-
new-
era
>>なお、VarToDateTime で和暦→西暦変換を実装すれば...
Variants.VarToDateTime
↓
Variants.VarToDateAsString(V);
↓
VarUtils.VarDateFromStr
↓
Error
VarDateFromStrの結果が犯人です
VarDateFromStrでgoogle検索
oleaut32.dllが犯人だという投稿を発見
VarToDateTimeを使いたいのでしたら
改元発表後のマイクロソフトのWindows Update待ちでしょうね
[11374]
Re6:備忘録
返信
削除
2017/9/18 (月) 20:20:27
おかぽん
▼ takaさん
> この内容はあなたの最初のリンク先に記述されているようですが・・・。
> >元号が改正された場合の西暦と和暦の相互変換について [JAPAN]
> >
https://
communit
y.
embarcad
ero.
com/
blogs/
entry/
year-
convert-
between-
gregoria
n-
and-
japanese
-
new-
era
> >>なお、VarToDateTime で和暦→西暦変換を実装すれば...
あぁ・・・すみません。
本当ですね。
試行錯誤しているうちに、そんなことも忘れ去っていたいたようです。
なんのための備忘録なのやら(;´Д`)
> oleaut32.dllが犯人だという投稿を発見
これですね、
https://
twitter.
com/
lynatan/
status/
81920254
34608558
09
[11375]
Delphi2の実装
返信
削除
2017/9/18 (月) 20:23:14
おかぽん
リソースで以下の文字列を保持していたので、形式文字列 "g" で、アルファベットの
一文字を返すことができたようです。
"M,明,明治,1868,1,1"
"T,大,大正,1912,7,30"
"S,昭,昭和,1926,12,25"
"H,平,平成,1989,1,8"
[11376]
Re:Delphi2の実装
返信
削除
2017/9/19 (火) 08:44:41
Mr.XRAY
▼ おかぽんさん
> リソースで以下の文字列を保持していたので、形式文字列 "g" で、アルファベットの
> 一文字を返すことができたようです。
>
> "M,明,明治,1868,1,1"
> "T,大,大正,1912,7,30"
> "S,昭,昭和,1926,12,25"
> "H,平,平成,1989,1,8"
なるほど...
Delphi 2 ....
[
▼次のスレッド
]
INCM/CMT
Cyclamen v3.82