Форум: "Основная";
Текущий архив: 2004.09.05;
Скачать: [xml.tar.bz2];
ВнизЧтение строк из текстового файла. Найти похожие ветки
← →
RusPutin (2004-08-21 02:26) [0]Есть текстовый файл вида:
1 2
3 4
5 6
7 8
То есть в файле много строк по два числа в каждой (чила могут быть как положительные, так и отрицательные, как целые, так и дробные - короче, real). Также есть StringGrid, состоящий из двух колонок. Требуется считать числа в соответсвующие ячейки грида. Read(...) и Readln(...) считывают все строку целиком. А нужно числа по отдельности. Как быть?
Заранее спасибо.
← →
KADAN © (2004-08-21 02:35) [1]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)
← →
Anatoly Podgoretsky © (2004-08-21 10:31) [2]Не кати бочку на ReadLn, он читает так, как ты ему скажешь.
← →
RusPutin (2004-08-21 11:15) [3]Вот кусок кода:
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 не могу. :)
← →
Sandman25 © (2004-08-21 11:18) [4]Если прочитать надо real, то и переменная SX должна быть типа real
← →
Anatoly Podgoretsky © (2004-08-21 11:41) [5]RusPutin (21.08.04 11:15) [3]
SX, SY видимо у тебя строки?
Так вот строка это то что заканчивается разделителем строки, а ReadLn читает за раз только одну строку!
← →
RusPutin (2004-08-21 14:42) [6]2All, всем спасибо, проблему решил посредством функции copy.
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2004.09.05;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.036 c