Имя пользователя:
Пароль:
 

Показать сообщение отдельно

Ветеран


Сообщения: 1133
Благодарности: 581

Профиль | Отправить PM | Цитировать


Цитата Snake750:
Подскажите как считать 4 параметра со строки в массивы x[i],y[i],q[i],r[i] и все. »
Мне кажется лучше считать весь файл в матрицу, пример:
Код: Выделить весь код
type
  TMatrixRow = array of Integer;
  TMatrix = array of TMatrixRow;

procedure FillingOfMatrix(const FileName: string; var Matrix: TMatrix);
var
  txt: TextFile;
  tmp: string;
  pos_simbol, row, col, value, e: Integer;
begin
  AssignFile(txt, FileName); Reset(txt);
  row:= 0;
  while not Eof(txt) do
    begin
      col:= 0;
      SetLength(Matrix, row+1, 4);
      Readln(txt, tmp); // читаем строку
      repeat
        while (tmp <> '') and (tmp[1] = ' ') do Delete(tmp, 1, 1); // удаляем пробелы в начале строки, если есть
        if tmp <> '' then // если строка не пустая, то
          begin
            pos_simbol:= Pos(' ', tmp); // определяем расположение пробела
            if pos_simbol = 0 then
              begin
                pos_simbol:= Length(tmp); // если пробелов не осталось, то берём всю длину строки
                Val(Copy(tmp, 1, pos_simbol), value, e);
              end
            else Val(Copy(tmp, 1, pos_simbol-1), value, e);
            Matrix[row, col]:= value; // задаём значение
            Delete(tmp, 1, pos_simbol); // удаляем до пробела
            Inc(col); // увеличиваем счётчик столбцов
          end;
      until tmp = '';
      Inc(row); // увеличиваем счётчик строк
    end;
  CloseFile(txt);
end;
P.S.
Единственное забыл добавить проверку на слово error.

-------
Книги нужны, чтобы напоминать человеку, что его оригинальные мысли не так уж новы... Авраам Линкольн.


Последний раз редактировалось Serega, 15-03-2010 в 09:19.

Это сообщение посчитали полезным следующие участники:

Отправлено: 00:42, 15-03-2010 | #7