名前 題名 ▼ Mr.XRAYさん > 意地と根性で修正して更新しました. > > [ locale.nls ファイルに元号の情報を追加するプログラム ] > http://mrxray.on.coocan.jp/Delphi/Others/WindowsXP_AddEraName.htm#01 > > > ここのリンクの記事にある「専用アプリ」てすが,分かりません. > > https://okamerin.com/nc/title/gengou_2019_winxp_howto.htm > > > ↑ の記事の内容も気になっていました.MD5 ハッシュの値を列挙するぐらいなら, > 具体的な場所と値を提示してしまえばいいのに. > ということはさておいて. > > 気になって長い形式を調べたら > > gg y'年'M'月' > > > というが追加されていました.もちろん,元号追加前にはありません. > で,意地と根性で調べました.元号の数が, > > > 年号の個数: オフセット: 3F8D4 > > 4 → 5 > > というのは違うようです.私も 4 という数字に惑わされてしまいました. > 何故こんなところに元号の数があるんだ ? とは思っていたことはいたのですが. > 以下は,短い形式と長い形式を調べるために使用したコードです. > EXE 作成は Windows 7 U64(SP1) + Delphi XE5(UP2) Pro VCL-32 です. > > TFNDateFmtEnumProcEx = TFarProc; > > function EnumDateFormatsExW(lpDateFmtEnumProc: TFNDateFmtEnumProcEx; > Locale: LCID; dwFlags: DWORD): BOOL; stdcall; external 'kernel32.dll'; > > var > Form1: TForm1; > > implementation > > var > FStrList : TStringList; > > {$R *.dfm} > > //------------------------------------------------------------------------------ > // EnumDateFormatsExW 関数のコールバック関数 > // 日付の形式の書式文字列を列挙 > // > // 引数の CalendarID の値は以下の通り > // [和暦] [西暦 (英語(] [西暦 (日本語)] の個別のリストを取得する場合に使用する > // > // 1: CAL_GREGORIAN Gregorian (localized) > // 2: CAL_GREGORIAN_US Gregorian (English strings always) > // 3: CAL_JAPAN Japanese Emperor Era > //------------------------------------------------------------------------------ > function EnumDateFormatsProcEx(lpDateFormatString : PChar; > CalendarID: CALID) : integer; stdcall; > begin > FStrList.Add(lpDateFormatString); > Result := 1; > end; > > //============================================================================ > // [地域と言語のオプション] [カスタマイズ] のダイアログを表示 > // [日付] タブの [短い形式] の選択リスト > // ただし [和暦] [西暦 (英語(] [西暦 (日本語)] 全てのリスト > //============================================================================ > procedure TForm1.Button1Click(Sender: TObject); > begin > FStrList := TStringList.Create; > try > EnumDateFormatsExW(@EnumDateFormatsProcEx, > LOCALE_SYSTEM_DEFAULT, > DATE_SHORTDATE); > Memo1.Lines.Text := FStrList.Text; > finally > FreeAndNil(FStrList); > end; > end; > > //============================================================================ > // [地域と言語のオプション] [カスタマイズ] のダイアログを表示 > // [日付] タブの [長い形式] の選択リスト > // ただし [和暦] [西暦 (英語(] [西暦 (日本語)] 全てのリスト > //============================================================================ > procedure TForm1.Button2Click(Sender: TObject); > begin > FStrList := TStringList.Create; > try > EnumDateFormatsExW(@EnumDateFormatsProcEx, > LOCALE_SYSTEM_DEFAULT, > DATE_LONGDATE); > Memo1.Lines.Text := FStrList.Text; > finally > FreeAndNil(FStrList); > end; > end; > > GIF,JPEG,PNG画像ファイル及びLZH,ZIPファイルをアップロードできます.600 x 1200 ピクセルを超える画像は縮小表示されます(画像クリックで拡大表示). (上限122000(120k)バイト) 削除キー Link