アプリ版:「スタンプのみでお礼する」機能のリリースについて

いつもお世話になってます。

VB2010(.NET2.0)、Winアプリ

和暦(元号)と西暦の相互変換についてです。
CultureInfo、JapaneseCalendarを使用して変換しています。

西暦→和暦の変換は問題ないんですが
和暦→西暦の変換時に有効ではない和暦を指定するとエラーとなります。
ここの「有効ではない和暦」というのは例えば「大正30年」とかです。

フォーム上にComboBoxとTextBoxが配置されており
ComboBoxには「明治」「大正」「昭和」「平成」を格納、
TextBoxは数値入力のみですが2桁数値というだけで
他の制限はかけていない状態です。

各元号に有効な値を保持しといてって方法は最終手段です。
出来るだけ汎用性を持たせた形で上記エラーを回避したいと思っています。

思いついてる方法はあまりスマートではないので
どなたか、こんな風にコーディングすれば出来るよって
ヒントでもいいのでご意見いただけると幸いです。

よろしくお願いしますm(_ _)m

A 回答 (3件)

ComboBoxで選択された年号の元年12月31日を西暦年で求める+TextBoxに入力された数値 -1 で、良いのではないでしょうか?



例:「大正」「30」

大正元年12月31日=1912/12/31→1912
1912+30-1=1941年
    • good
    • 0
この回答へのお礼

現在、開発PCがトラブル中なので
直り次第、ご意見参考にさせていただきます。

回答、ありがとうございました。

お礼日時:2012/05/10 13:33

>個人的にエラー補足時にエラー処理や


>ログ出力以外の事をやるのは気が引けるんですよね。。。。
DateTime.TryParseExact メソッドを使えばいいのでは。
    • good
    • 0
この回答へのお礼

現在、開発PCがトラブル中なので
直り次第、ご意見参考にさせていただきます。

回答、ありがとうございました。

お礼日時:2012/05/10 13:36

例外処理を使いましょう。


まず西暦→和暦変換を行い、それでエラーが発生したら捕捉して対応処理を行う、という処理の流れになります。
http://homepage1.nifty.com/rucio/main/dotnet/sho …
    • good
    • 0
この回答へのお礼

やっぱり例外処理しかないんでしょうか。
(思いついてるのは例外処理での対応でした)

個人的にエラー補足時にエラー処理や
ログ出力以外の事をやるのは気が引けるんですよね。。。。


回答、ありがとうございました。

お礼日時:2012/05/08 15:07

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!