Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
TOption --- パラメタ解析クラス
1. 概要
アプリケーションのパラメタ解析を行うクラス TOption を提供する。
2. パラメタの書式
TOptionクラスが扱うパラメタの種類とその書式を示す。
- フラグオプション
- 初期化時の書式
オプション名
- 実行時の書式
[-/]<オプション名>[-]
パラメタが指定されていれば真、指定されなければ偽となる。
-debug- などのように後ろに '-' を指定すると否定になり、
偽が設定される。
同じパラメタを2回指定した場合には後から指定したものが有効となる。
- 値オプション
- 初期化時の書式
オプション名:[初期値]
- 実行時の書式
[-/]<オプション名>
名前に値を指定する。初期化時に初期値を指定可能。
同じパラメタを2回指定した場合には後から指定したものが有効となる。
- マルチ値オプション
- 初期化時の書式
オプション名#[初期値]
- 実行時の書式
[-/]<オプション名>
名前に値を指定する。初期化時に初期値を指定可能。
同じパラメタを2回指定した場合には値を追加してゆく。
複数の値は内部的に '|' で区切って保持する。
TOptionクラスで扱えないもの。
- --version などの '--' で始まるオプション。
- 必須パラメタの指定。
- -x300 -y400 のようなオプション名と値を分離しない書式。
3. 使い方
Option := TOptions.Create;
try
if not Option.InitOptions(['a', 'b:', 'c#']) then
begin
// error
end;
if not Option.ScanArgs() then
begin
// error
end;
...
finally
Option.Free
end;
--------
C:\>app -a -b hello -c xxx -c yyy a bb ccc
4. リファレンス
TOptions
--------
[構築/破棄]
Create
Destroy
[解析]
ScanArgs
[個別パラメタの設定/取得]
SetCheck
IsChecked
SetValue
AddValue
GetValue
GetValue
GetValueNum
SetFreeArgs
GetFreeArgsNum
GetFreeArgs
[デバッグ]
Dump
------------------------------------------------------------------------------
constructor Create
----------------
インスタンスを作成する。
destructor Destroy
----------------
インスタンスを破棄する。
function ScanArgs(const astrOptions: array of string): Boolean;
----------------
パラメタを解析する。
astrOptions 受け付けるオプション名並びの配列
個々のオプション書式は後述
procedure SetCheck(const strOption: string; fFlag: Boolean);
----------------
フラグオプションに値を設定する。
strOption オプション名
fFlag 値(True/False)
function IsChecked(const strOption: string): Boolean;
----------------
フラグオプションの値を取り出す。
strOption オプション名
procedure SetValue(const strOption: string; const strValue: string);
----------------
値オプションに値を設定する。
strOption オプション名
strValue 値
procedure AddValue(const strOption: string; const strValue: string);
----------------
マルチ値オプションに値を追加する。
strOption オプション名
strValue 値
function GetValue(const strOption: string): string; overload;
----------------
値オプションから値を取り出す。
strOption オプション名
function GetValue(const strOption: string; nIndex: Integer): string; overload;
----------------
マルチ値オプションから値を取り出す。
strOption オプション名
nIndex インデックス(0〜)
function GetValueNum(const strOption: string): Integer;
----------------
マルチ値オプションに設定されている値の数を取り出す。
strOption オプション名
procedure SetFreeArgs(const strValue: string);
----------------
フリーパラメタに値を追加する。
strValue 値
function GetFreeArgsNum: Integer;
----------------
フリーパラメタの値の数を取り出す。
function GetFreeArgs(nIndex: Integer): string;
----------------
フリーパラメタから値を取り出す。
nIndex インデックス(0〜)
procedure Dump
----------------
パラメタ情報をダンプする。
デバッグ用
5. 修正履歴
ver0.01 2000.11.02 新規作成
6. 使用条件、免責
本プログラムはフリーソフトウエアです。
配布は自由に行うことができます。
本プログラムは無保証です。
本プログラムの使用においた生じた如何なる損害についても作者は一切の責任を負
いません。
金子尚史(kanegon) e-mail : wbs01621@mail.wbs.ne.jp
WebPage : http://www2.wbs.ne.jp/~kanegon/