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      |  }  | 
            +-----+