Почему-то не входит в case
- Код: Выделить всё
- function FirstTag (var Str:String):String;
 Var
 Start, Finish:boolean;
 StrTag:String;
 Begin
 // ShowMessage ('переписывается((((');
 If Str='' then
 begin
 Result:='';//отсев ошибочного использования
 ShowMessage ('Пустая строка');
 end else
 begin
 Start:=False; // инициализация переменных.
 Finish:=False;
 Result:='';
 StrTag:='';
 while Finish<>True do //
 begin
 ShowMessage ('Str='+ Str);
 if Str='' then
 Begin
 Finish:=True;//выход из цикла по исчерпанию строки
 ShowMessage ('выход из цикла по исчерпанию строки');
 End else
 Begin
 StrTag:=Copy(Str,1,1);
 case Str of
 '<':
 Begin
 if Start=true then
 Begin //это второй символ '<'
 Finish:=True; // штатный выход если это все же не тег.
 ShowMessage (' штатный выход если это все же не тег.');
 end else //это первый символ '<'.
 begin // начинаем копировать предположительно тег в строку
 Start:=True;
 Result:=Result+StrTag;
 Delete(Str, 1, 1);
 end
 end;
 '>':
 Begin
 Result:=Result+StrTag;
 Delete(Str, 1, 1);
 if Start=true then
 begin
 Finish:=True;// штатный выход если тег
 ShowMessage (' штатный выход если тег.');
 end else begin end;
 end;
 else Begin
 Result:=Result+StrTag; // обычный символ
 Delete (Str, 1, 1);
 End;
 end;
 end;
 end;
 end;
 end;
Добавлено спустя 6 часов 2 минуты 13 секунд:
нашел ошибку. Классическая логическая ошибка(((
- Код: Выделить всё
- StrTag:=Copy(Str,1,1);
 case Str of





 
 