abc プロジェクト
14.8.31. SepLongStr メンバ関数説明

メンバ関数名 SepLongStr
定義ファイル名TuneRegion.cpp
定義行 4274
所属名 TTuneRegion
アクセス属性 private
宣言形式 AnsiString SepLongStr ( AnsiString s )
概要 長い文字列を72桁で分割して、&をセットする。
戻り値 長い場合に&で複数に分割した文字列
パラメタ説明 s 元文字列
機能説明
備考 & を含んだ文字列にも対応 2007/1/20

呼出し元関数一覧表
名称 定義ファイル名 定義行
1 TTuneRegion::OutputAutoExecCode TuneRegion.cpp 1328
2 TTuneRegion::OutputExecCode TuneRegion.cpp 2253
3 TTuneRegion::OutputSrcCode TuneRegion.cpp 3938
4 TTuneRegion::OutputUnroll_DoBlock TuneRegion.cpp 2845
5 TTuneRegion::OutputUnroll_IfBlock TuneRegion.cpp 3417
6 TTuneRegion::OutputUnroll_Line TuneRegion.cpp 2718
7 TTuneRegion::OutputUnrollExecCode TuneRegion.cpp 2411

呼出し先関数一覧表
名称 定義ファイル名 定義行
1 Delete

2 Length

3 Pos

4 SubString

関数論理チャート

        |  +--------------------------------------------------+ 
  4274  +--+ AnsiString TTuneRegion::SepLongStr(AnsiString s) | 
  4275     | {                                                | 
           +--+-----------------------------------------------+ 
  4276        +--- int i,cp;
  4277        +--- AnsiString s2;
  4278        +--- //  bool CommentF = false;
  4279        |                                               
  4280        |    /*                                         
  4281        |        if(s.Length() >= 1){                   
  4282        |            if((s[1] == 'c')||(s[1] == 'C')){  
  4283        |                CommentF = true;               
  4284        |            }                                  
  4285        |        }                                      
  4286        |    */                                         
  4287        +--- //
  4288        |    //  最初に \n     & を含んでいれば、それをCutする。  
  4289        |    //                                                   
              |  +--------------+ 
  4290        +--+ while(true){ | 
              |  +--+-----------+ 
  4291        |     +--- cp = s.Pos("\n     &");
              |     |  +--------------+ 
  4292        |     +--+ if(cp == 0){ | 
              |     |  +--+-----------+ 
              |     |     |  +--------+ 
  4293        |     |     +--+ break; | 
              |     |     |  +--------+ 
              |     |   +-+---+ 
  4294        |     |   |  }  | 
              |     |   +-----+ 
  4295        |     +--- s.Delete(cp,7);
              |   +-+---+ 
  4296        |   |  }  | 
              |   +-----+ 
              |  +----------------------+ 
  4297        +--+ if(s.Length() < 72){ | 
              |  +--+-------------------+ 
              |     |  +------------+ 
  4298        |     +--+ return s;  | 
              |     |  +------------+ 
              |   +-+---+ 
  4299        |   |  }  | 
              |   +-----+ 
  4300        +--- s2 = "";
              |  +--------------+ 
  4301        +--+ while(true){ | 
              |  +--+-----------+ 
  4302        |     +--- s2 += s.SubString(1,72);
  4303        |     +--- s = s.SubString(73,s.Length());
              |     |  +--------------+ 
  4304        |     +--+ if(s == ""){ | 
              |     |  +--+-----------+ 
              |     |     |  +--------+ 
  4305        |     |     +--+ break; | 
              |     |     |  +--------+ 
              |     |   +-+---+ 
  4306        |     |   |  }  | 
              |     |   +-----+ 
  4307        |     +--- s = "\n     &"+s;
  4308        |     +--- /*
  4309        |     |            if(!CommentF){         
  4310        |     |                s = "\n     &"+s;  
  4311        |     |            }else{                 
  4312        |     |                s = "\nC    &"+s;  
  4313        |     |            }                      
  4314        |     |    */                             
              |   +-+---+ 
  4315        |   |  }  | 
              |   +-----+ 
              |  +------------+ 
  4316        +--+ return s2; | 
              |  +------------+ 
            +-+---+ 
  4317      |  }  | 
            +-----+