abc プロジェクト
14.1.6. FormCreate メンバ関数説明 |
メンバ関数名 | FormCreate |
定義ファイル名 | main.cpp |
定義行 | 71 |
所属名 | TMainF |
アクセス属性 | published |
宣言形式 | void FormCreate ( TObject * Sender ) |
概要 | フォーム生成時に呼ばれ、コマンドラインの解析と変数の初期化を行う。 |
戻り値 | なし |
パラメタ説明 | Sender 呼び出し元オブジェクト |
機能説明 | |
備考 | |
呼出し先関数一覧表
|
名称 |
定義ファイル名 |
定義行 |
1 |
c_str |
|
|
2 |
CompareText |
|
|
3 |
ExtractFilePath |
|
|
4 |
fopen |
|
|
5 |
ParamCount |
|
|
6 |
ParamStr |
|
|
7 |
ShowMessage |
|
|
参照メンバ変数一覧表
|
名称 |
定義ファイル名 |
定義行 |
1 |
TMainF::CloseReqF |
main.h |
52 |
2 |
TMainF::DebugF |
main.h |
56 |
3 |
TMainF::EECntlF |
main.h |
64 |
4 |
TMainF::EndF |
main.h |
53 |
5 |
TMainF::LogFp |
main.h |
49 |
6 |
TMainF::my_timer_start |
main.h |
61 |
7 |
TMainF::my_timer_stop |
main.h |
62 |
8 |
TMainF::NoMPIF |
main.h |
58 |
9 |
TMainF::SrcFileName |
main.h |
66 |
10 |
TMainF::TimeFunc |
main.h |
59 |
11 |
TMainF::TokenList |
main.h |
67 |
12 |
TMainF::TuneRegionList |
main.h |
69 |
13 |
TMainF::ValDataList |
main.h |
68 |
14 |
TMainF::VisualF |
main.h |
54 |
関数論理チャート
| +------------------------------------------------------+
71 +--+ void __fastcall TMainF::FormCreate(TObject *Sender) |
72 | { |
+--+---------------------------------------------------+
73 +--- int i;
74 +--- int Count = ParamCount();
75 +--- AnsiString s;
76 |
77 +--- s = ExtractFilePath(Application->ExeName) + "AbcScriptLog.txt";
78 +--- LogFp = fopen(s.c_str(),"wt");
| +--------------------+
79 +--+ if(LogFp == NULL){ |
| +--+-----------------+
80 | +--- ShowMessage("ファイル "+s+" が開けません。");
| +-+---+
81 | | } |
| +-----+
82 |
83 +--- VisualF = false;
84 +--- DebugF = true;
85 +--- EECntlF = false;
86 +--- CloseReqF = false;
87 +--- EndF = false;
88 +--- NoMPIF = true;
89 +--- TimeFunc = "";
90 +--- my_timer_start = "";
91 +--- my_timer_stop = "";
92 |
| +--------------------------------+
93 +--+ for(i = 1 ; i <= Count ; i++){ |
| +--+-----------------------------+
94 | +--- s = ParamStr(i);
| | +----------------------------------------------------------+
95 | +--+ if((CompareText(s,"-visualization") == 0)&&(i < Count)){ |
| | +--+-------------------------------------------------------+
96 | | +--- s = ParamStr(++i);
| | | +--------------------------------+
97 | | +--+ if(CompareText(s,"ON") == 0){ |
| | | +--+-----------------------------+
98 | | | +--- VisualF = true;
| | | +-+---+
99 | | | | } |
| | | +-----+
| | | +------------+
100 | | +--+ continue; |
| | | +------------+
| | +-+---+
101 | | | } |
| | +-----+
| | +--------------------------------------------------+
102 | +--+ if((CompareText(s,"-debug") == 0)&&(i < Count)){ |
| | +--+-----------------------------------------------+
103 | | +--- s = ParamStr(++i);
| | | +--------------------------------+
104 | | +--+ if(CompareText(s,"ON") == 0){ |
| | | +--+-----------------------------+
105 | | | +--- DebugF = true;
| | | +-+---+
106 | | | | } |
| | | +-+---+
| | | +-+-------+
106 | | | | else{ |
| | | +-+-------+
107 | | | +--- DebugF = false;
| | | +-+---+
108 | | | | } |
| | | +-----+
| | | +------------+
109 | | +--+ continue; |
| | | +------------+
| | +-+---+
110 | | | } |
| | +-----+
| | +----------------------------------------------------------------------+
111 | +--+ if(CompareText(s,"-NoMPI") == 0){ // -eecntlは ON指定なしで有効。 |
| | +--+-------------------------------------------------------------------+
112 | | +--- NoMPIF = true;
| | | +------------+
113 | | +--+ continue; |
| | | +------------+
| | +-+---+
114 | | | } |
| | +-----+
| | +------------------------------------------------------------------+
115 | +--+ if(CompareText(s,"-MPI") == 0){ // -eecntlは ON指定なしで有効。 |
| | +--+---------------------------------------------------------------+
116 | | +--- NoMPIF = false;
| | | +------------+
117 | | +--+ continue; |
| | | +------------+
| | +-+---+
118 | | | } |
| | +-----+
| | +--------------------------------------------------+
119 | +--+ if((CompareText(s,"-time") == 0)&&(i < Count)){ |
| | +--+-----------------------------------------------+
120 | | +--- s = ParamStr(++i);
| | | +--------------------------------+
121 | | +--+ if(CompareText(s,"MPI") == 0){ |
| | | +--+-----------------------------+
122 | | | +--- s = "MPI_Wtime";
| | | +-+---+
123 | | | | } |
| | | +-+---+
| | | +-+---------------------------------------+
123 | | | | else if(CompareText(s,"ABCLib") == 0){ |
| | | +-+---------------------------------------+
124 | | | +--- s = "ABCLib_Wtime";
| | | +-+---+
125 | | | | } |
| | | +-----+
126 | | +--- TimeFunc = s;
| | | +------------+
127 | | +--+ continue; |
| | | +------------+
| | +-+---+
128 | | | } |
| | +-----+
| | +--------------------------------------------------------------+
129 | +--+ if((CompareText(s,"-stime_and_etime") == 0)&&(i < Count-1)){ |
| | +--+-----------------------------------------------------------+
130 | | +--- my_timer_start = ParamStr(++i);
131 | | +--- my_timer_stop = ParamStr(++i);
| | | +------------+
132 | | +--+ continue; |
| | | +------------+
| | +-+---+
133 | | | } |
| | +-----+
| | +----------------------------------------------------------------------+
134 | +--+ if(CompareText(s,"-eecntl") == 0){ // -eecntlは ON指定なしで有効。 |
| | +--+-------------------------------------------------------------------+
135 | | +--- EECntlF = true;
| | | +------------+
136 | | +--+ continue; |
| | | +------------+
| | +-+---+
137 | | | } |
| | +-----+
138 | +--- SrcFileName = s;
| +-+---+
139 | | } |
| +-----+
| +------------------------------------------------------------------------------+
140 +--+ if(TimeFunc == ""){ // TimeFuncの指定がない場合はデフォルトをセットsるう。 |
| +--+---------------------------------------------------------------------------+
| | +--------------+
141 | +--+ if(NoMPIF){ |
| | +--+-----------+
142 | | +--- TimeFunc = "ABCLib_Wtime";
| | +-+---+
143 | | | } |
| | +-+---+
| | +-+-------+
143 | | | else{ |
| | +-+-------+
144 | | +--- TimeFunc = "MPI_Wtime";
| | +-+---+
145 | | | } |
| | +-----+
| +-+---+
146 | | } |
| +-----+
147 +--- TokenList = new TList;
148 +--- ValDataList = new TList;
149 +--- TuneRegionList = new TList;
+-+---+
150 | } |
+-----+