У вас в качестве разделителя используются пробелы, значит нужно искать его (пробел) в строке с помощью ф-ции Pos, считывать первую координату, задав количеством символов значение етой функции-1, потом удалять из строки символы с 1 до Pos, и повторять так 2 раза для 3х координат, как у меня в примере.
ЗЫ. В данном случае как первая координата идет параметр from, а X и Y как вторая и третья координата
так пойдет:
Код:
function getcoord(var str:string):string;//функция считывает первую
//координату со строки(до первого пробела) а потом удаляет ее вместе с
//пробелом
var i,j,r:integer;
begin
result:=str;
r:=pos(' ',str);// в кавычках пробел
if r=0 then exit;
result:=copy(str,1,r-1);//копируем строку до пробела
delete(str,1,r);//удаляем символы строки до пробела включительно
end;
procedure ReadNodes();
begin
list:= TStringlist.Create;
list.LoadFromFile('c:\nodes.dat');
i:=0;
str:= List.Strings[i]; //нулевая строка - информация о препятствиях
j:=1;
Inf[j]:=Strtoint(Copy(str,j,1));
for i:=1 to NK-1 do
begin
j:=j+2;
inf[i+1]:=Strtoint(Copy(str,j,1));
end;
for i := 1 to List.Count - 1 do
begin
if i>9 then
begin
str:= List.Strings[i];
from:= Strtoint(getcoord(str));
cities[from].x:=Strtoint(getcoord(str));
cities[from].y:=Strtoint(getcoord(str));
end
else
begin
str:= List.Strings[i];
from:= Strtoint(getcoord(str));
cities[from].x:=Strtoint(getcoord(str));
cities[from].y:=Strtoint(getcoord(str));
end;
end;
end;