Вверх ↑
Ответов: 9906
Рейтинг: 351
#1: 2014-06-27 09:26:59 ЛС | профиль | цитата
nesco писал(а):
Я не стал глубоко лезть в коды, а просто сделал привязку к тому, что было

Дык это понятно.

Есть исходные данные на уровне форсмажора, есть понятная цель - и ты ее достигнул с помощью CalcErrPos
Ну ладно.
Давай так.
Пусть ТЕПЕРЯ исходные данные, на уровне того самого форсмажора -- будут другие:

#pas
procedure THIMathParse.SetLine;
begin
  Line := Value;
end;
И все, никаких плясок с бубном.
И немного подрихтуем GetToken:

#pas
procedure THIMathParse.GetToken;
begin
   Token := ';
   TokType := 0;
   while Line[LPos] in [,#9,#10,#13] do inc(LPos);
   case Line[LPos] of
   ........
     #0: TokType := TokEnd;
   end;
end;

Вот, и вопрос к тебе, как к автору CalcErrPos - чего, неужели его нельзя "подпилить" под новые условия, для работы непосредственно с Line (безо всяких safe..)
карма: 9

0