---------------------------------------------------------------------------
| 1161 | } |
| 1162 | //--------------------------------------------------------------------------- |
| 1163 | AnsiString ExtractSubString(AnsiString s, int WordNumber, AnsiString delim) |
| 1164 | { |
| 1165 | AnsiString rv; |
| 1166 | try |
| 1167 | { |
| 1168 | int l = s.Length(); |
| 1169 | int StartPos; |
| 1170 | int i = 1; |
| 1171 | while( i<=l && s.IsDelimiter(delim, i) ) i++; |
| 1172 | StartPos = i; |
| 1173 | |
| 1174 | for(; i<=l; i++) |
| 1175 | { |
| 1176 | if( s.IsDelimiter(delim, i) ) |
| 1177 | { |
| 1178 | if( ! --WordNumber ) |
| 1179 | { |
| 1180 | rv = s.SubString(StartPos, i-StartPos); |
| 1181 | break; |
| 1182 | } |
| 1183 | else |
| 1184 | { |
| 1185 | // Skip all delimiters |
| 1186 | while( i+1<=l && s.IsDelimiter(delim, i+1) ) i++; |
| 1187 | StartPos = i+1; |
| 1188 | } |
| 1189 | } |
| 1190 | } |
| 1191 | // ��������� ����� |
| 1192 | if( ! --WordNumber ) |
| 1193 | { |
| 1194 | rv = s.SubString(StartPos, i-StartPos); |
| 1195 | } |
| 1196 | } |
| 1197 | catch(...) |
| 1198 | { |
| 1199 | } |
| 1200 | return rv; |
| 1201 | } |
| 1202 | //--------------------------------------------------------------------------- |
| 1203 | /* �������������� ������� ���� �� ���� |
| 1204 | � - a � - k � - kh |
nothing calls this directly
no outgoing calls
no test coverage detected