![]() |
|
|
#2
|
|||
|
|||
|
Исходник не смотрел. Скажу одно. можно и без циклов
Используем case of end для подсчета количества той или иной цифры + процедура допустим NextCh. ![]() Как то так: Код:
case str of
1:
begin
что то делаем;
NextCh;
end;
,:
begin
что то делаем;
NextCh;
end;
.....
endДля мемо делал так Код:
procedure NextCh;{ Читать следующий символ }
begin
if Line = MainForm.MemoListing.Lines.Count
then Ch := chEOT // если достигнут конец текста, то в Ch заносим признак "конец текста"
else
if Pos > Length(MainForm.MemoListing.Lines.Strings[Line])
then // если достигнут конец строки, то ...
begin
Ch := chEOL; // в Ch заносим признак "конец строки"
Line := Line + 1; // и переходим к следующей строке
lineNum:=line; //Сохраняем номер строки
Pos := 1; // Установили начальную позицию в новой строке
end
else // иначе обрабатываем следующий символ в строке
begin
Ch := MainForm.MemoListing.Lines.Strings[Line][Pos];
Pos:= Pos+ 1; //Переходим на новую позициию
lineNum:=line+1; //Сохраняем номер строки
end;
end;Последний раз редактировалось MotoArhangel, 03.02.2015 в 17:11. |