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

Ну смотри, у тебя сами данные идут после пустой строки. Это достаточный признак, т.е. все, что до пустой строки просто игнорируем.
Далее. сами данные идут через пробел в форме с плавающей точкой.
Берем строку и начинаем ее пилить по пробелу с помощью функций Pos и Copy.
Код:
var
  SL : TStringList;
  I, N : Integer;
  S : String;
begin
  SL : =TStringList.Create;
  SL.LoadFromFile('data.dat');
  N := -1;
  For I := 0 To Sl.Count-1 Do
    If SL[i] = '' Then // Нашли разделитель. со сл. строки идут данные
      Begin
        N := I +1;
        Break; 
      End;

  If N > -1 Then // Данные есть.
    Begin
       For I := N To SL.Count-1 Do
          While (SL[i] <> '') And (Pos(' ',SL[i]) > 0) Do
            Begin
               S := Copy(SL[i],1,Pos(' ',SL[i])-1);
               SL[i] := Copy(SL[i],Pos(' ',SL[i])+1,Length(SL[i])); // не совсем аккуратно, длиннц можно вычислить точнее.

              // Теперь здесь надо выяснить в какой из контролов надо запихнуть данные из S - напишешь сам.
            End;
    End;
  SL.Free;
end;
Ответить с цитированием