カスタマイズ、というか各ユーザーによって細かい追加要望が出ることが良く
あります。
例えば、
「クラブを宅急便で送り、それが届いているかどうか、という状況が知りたい」
など現場にいないと決して気付かない情報がとても重要だったりします。
これもあるゴルフ場でのみ言われたことなのですが、別のゴルフ場ではそんな
情報は「コンピュータ内の情報としては要らない」または「コンピュータに入
力するのは嫌」ということもあり得るはずです。
そういう場合プログラムサイドではその情報を「オプション」という扱いにし
て、このオプションをつけておくと「宅急便区分」が表示(入力)され、つけ
てないと画面に出てこない、というようにするのが望ましいでしょう。
ではオプションはどうやってプログラムに与えるのでしょうか?
1.プログラムのコマンド引数として与える。
「YYD_0010.exe -T -K」 などの様にプログラムを起動する際に渡してあげ
ます。そして C# のプログラムでは
public static void Main(string[] args)
の argsのなかにこの引数が渡されプログラム内で
if (args[0]=="-T") PrmTakkyuBinFlg = true;
などとしてオプションを変数に格納して、以後その変数を参照することに
よって宅急便区分を見せる・見せないの判断をするのです。
checkTakkyubin.Visible = PrmTakkyuBinFlg;
2.iniファイルにオプションを定義する
実は .NET の世界では iniファイルの存在は抹消されました。
つまりGetPrivateProfileString, WritePrivateProfileStringなどのiniフ
ァイルへアクセスするための関数なりクラスが無くなったのです。
(アンマネージコードとしてGetPrivateProfileStringは使えます)
その代わり .NET では「動的プロパティ」という概念が加わりました。
http://ukamen.hp.infoseek.co.jp/Programming1/DynamicProperty/index.htm
でもテキストエディターで簡単に編集できて分かりやすいiniファイルはや
はり管理側としても、プログラム側としても使いやすいものです。
ですので「Greensland.NET」もiniファイルをオプション用のファイルとし
て使い続けることにします。
例えば先ほどの「宅急便区分」を定義するとしたら
[System]
TakkyuBinFlag=1
などと定義しておき
IniTakkyuBinFlg = (Ini.GetString("System","TakkyuBInFlag")=="1")
で変数に格納することが出来ます。
また使用するときは
checkTakkyubin.Visible = IniTakkyuBinFlg; の様にします。
さて、ではシステムではどちらのオプション定義を使えばよいのでしょうか?
基準を設けるとしたら
・コマンドラインオプション ... そのプログラムだけで使うオプション
例) -K? ... 領収書に金種を印刷するか 0:しない 1:する
・ini ファイルオプション ... 複数プログラムで使用するオプション
例) SH_TAX=5 ... 消費税率(%)
と考えれば良いでしょう。
このエントリーのトラックバックURL:
http://www.kabel.jp/cgi/mt/mt-tb.cgi/140
このリストは、次のエントリーを参照しています: ムバブルタイプのテンプレート:
» louis vuitton outlet locations in texas
from louis vuitton outlet locations in texas
mens louis vuitton outlet カベル日記: カスタマイズに耐えるシステム(オプション) [続きを読む]
トラックバック時刻: 2013年08月29日 15:04
» hermes outlet milano
from hermes outlet milano
how to tell authentic louis vuitton wallet カベル日記: カスタマイズに耐えるシステム(オプション) [続きを読む]
トラックバック時刻: 2013年08月30日 20:25
» Hamburger Trikot
from Hamburger Trikot
カベル日記: カスタマイズに耐えるシステム(オプション) [続きを読む]
トラックバック時刻: 2020年01月21日 22:24