![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Чтение строк из текстового файла. [D5, Win95/98, Win2k]
RusPutin © (2004-08-21 02:26:00)Есть текстовый файл вида:
1 2
3 4
5 6
7 8
То есть в файле много строк по два числа в каждой (чила могут быть как положительные, так и отрицательные, как целые, так и дробные - короче, real). Также есть StringGrid, состоящий из двух колонок. Требуется считать числа в соответсвующие ячейки грида. Read(...) и Readln(...) считывают все строку целиком. А нужно числа по отдельности. Как быть?
Заранее спасибо.
RusPutin (2004-08-21 14:42:00) [1]2All, всем спасибо, проблему решил посредством функции copy.
Anatoly Podgoretsky (2004-08-21 11:41:00) [2]RusPutin (21.08.04 11:15) [3]
SX, SY видимо у тебя строки?
Так вот строка это то что заканчивается разделителем строки, а ReadLn читает за раз только однустроку!
Sandman25 (2004-08-21 11:18:00) [3]Если прочитать надо real, то и переменная SX должна быть типа real
RusPutin (2004-08-21 11:15:00) [4]Вот кусок кода:
while not EOF(F) do
begin
j:=j+1;
//меняю строку
ReadLn(F, SX, SY);
//считываю значения в переменные
Form1.StringGrid1.Cells[0,j]:=SX;
Form1.StringGrid1.Cells[1,j]:=SY;
//засываю в ячейки
form1.StringGrid1.RowCount:=form1.StringGrid1.RowCount+1;
//увеличиваю количество строк
end;
Проблема в том, что вся строка все равно записывается в первую переменную (SX). И соответсвенно числа парами записываются в первый столбец. Так что не какить бочку на ReadLn не могу. :)
Anatoly Podgoretsky (2004-08-21 10:31:00) [5]Не кати бочку на ReadLn, он читает так, как ты ему скажешь.
KADAN (2004-08-21 02:35:00) [6]1) считать строку, назовем ее S
2) StringGrid.Cells[0,i]:=copy(S,1,pos(S,' ')-1);
StringGrid.Cells[1,i]:=copy(S,pos(S,' ')+1, length(S)-pos(S,' '));
второй способ
ReadLn(f, a, b)