Показать сообщение отдельно
  #4  
Старый 27.07.2018, 01:44
lmikle lmikle вне форума
Модератор
 
Регистрация: 17.04.2008
Сообщения: 8,015
Версия Delphi: 7, XE3, 10.2
Репутация: 49089
По умолчанию

Да ЯТЬ!
Ну просто же.
Код:
procedure ExtractParamNameFromLine(S : String; var AName : String; var AVal : Double);
var
  sVal : String;
begin
  AName := '';
  AVal := 0;

  If Pos('---',S) > 0 Then
    Begin
      Try
        AName := Trim(Copy(S,1,Pos('---',S)-1));
        sVal := Trim(Copy(S,Pos('---',S)+3,Pos('%',S)-Pos('---',S)-3));
        AVal := StrToFloat(sVal);
      Except
        // Нехорошо прятать эксепшены, но лень вспоминать как tryStrToFloat работает
      End
    End;
end;

Как-то так. Если ничего не напутал, то должно работать.

ЗЫ. Я там основной исходник тоже поправил чуть-чуть.
Ответить с цитированием