abc プロジェクト
14.8.31. SepLongStr メンバ関数説明 |
メンバ関数名 | SepLongStr |
定義ファイル名 | TuneRegion.cpp |
定義行 | 4274 |
所属名 | TTuneRegion |
アクセス属性 | private |
宣言形式 | AnsiString SepLongStr ( AnsiString s ) |
概要 | 長い文字列を72桁で分割して、&をセットする。 |
戻り値 | 長い場合に&で複数に分割した文字列 |
パラメタ説明 | s 元文字列 |
機能説明 | |
備考 | & を含んだ文字列にも対応 2007/1/20 |
呼出し元関数一覧表
呼出し先関数一覧表
|
名称 |
定義ファイル名 |
定義行 |
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 | } |
+-----+