Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > [ "Начинающим" ]
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

 
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 15.12.2011, 17:28
Reedberg Reedberg вне форума
Прохожий
 
Регистрация: 29.05.2011
Сообщения: 8
Репутация: 10
По умолчанию Считывание координат

Здравствуйте! Нужно считать из .dat файла данные (координаты точек). Данные в файле представлены в следующем виде:

2 5 3 3 3 3 7 3
1 10 10
2 95 95
3 10 80
4 10 70
5 40 70
6 40 90
7 35 90
8 35 80
9 15 20

Первую строчку не трогаем, первую строчку считываем в отдельный массив [inf]. Все что ниже первой строчки записываем в массив целых чисел [cities].

Код:
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(Copy(str,1,2));
      cities[from].x:=Strtoint(Copy(str,4,2));
      cities[from].y:=Strtoint(Copy(str,7,2));
    end
    else
      begin
        str:= List.Strings[i];
        from:= Strtoint(Copy(str,1,1));
        cities[from].x:=Strtoint(Copy(str,3,2));
        cities[from].y:=Strtoint(Copy(str,6,2));
      end;
  end;
end;

Функция не работает, если координаты точки больше 99, то есть координата содержит три цифры. Как это исправить?
Ответить с цитированием
 


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 00:24.


 

Сайт

Форум

FAQ

Соглашения

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2025