Показать сообщение отдельно
  #1  
Старый 21.12.2011, 01:55
Harima Hario Harima Hario вне форума
Прохожий
 
Регистрация: 28.02.2011
Сообщения: 27
Репутация: 10
По умолчанию Работа с компонентом TMemo

Помогите разрешить ситуацию.

Коротко о том, что делает процедура:
В компоненте TMemo при появлении ключевого слова STOPPAGE копируется три позиции (цифры) после самого слова. В нашем случае: STOPPAGE000016000 в результате следующей выборки мы должны получить значение «000», после умножить это значение на 255 и вывести на экран результат.

Код:
procedure SetMinMax(s:string);
var tmp,substr,firstb:string;
var secm:integer;
var firstas:Integer;
begin
  substr:='STOPPAGE';

  if(not maxFound) then
    begin
  if(Pos(substr, s) > 0) then
  begin
firstb := Copy(s, Pos(substr, s) + 8, 3);
firstas := StrToInt(firstb); 

secm := firstas*255;
showmessage(IntToStr(secm));

    end;
  end;
end;

Все с виду просто, но у меня в большей половине случаев происходит сбой… для наглядности сам сбой и нормальную рабочую ситуацию я отобразил в видео:
http://www.youtube.com/watch?v=i0xsQsopFCQ

Дело не в железе 100% если закоментить несколько строк в процедуре - все работает нормально...
Ответить с цитированием