Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.09.05;
Скачать: CL | DM;

Вниз

Чтение строк из текстового файла.   Найти похожие ветки 

 
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;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.036 c
4-1090514538
saimon
2004-07-22 20:42
2004.09.05
Как показать стандартную WinXP подсказку (скнопкой "х" в правом в


1-1092729948
Russko
2004-08-17 12:05
2004.09.05
PageControl и горячие клавищи


8-1087475591
mr. Lamer
2004-06-17 16:33
2004.09.05
Качественное сжатие


4-1090601650
}|{yk
2004-07-23 20:54
2004.09.05
Как "прибить" процесс?


1-1092910926
Cosinus
2004-08-19 14:22
2004.09.05
Обход всех секций в INI не зная точного их количества и имен