Главная страница
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.47 MB
Время: 0.051 c
1-1092736455
FastByte
2004-08-17 13:54
2004.09.05
Унарный минус в ОПЗ


6-1088617297
leonidus
2004-06-30 21:41
2004.09.05
Тунель через прокси


10-1033986143
step[B.M.]
2002-10-07 14:22
2004.09.05
Что должно быть установлено на машине клиента ???


3-1092219463
Geoji
2004-08-11 14:17
2004.09.05
Базы


4-1090405878
sashuly
2004-07-21 14:31
2004.09.05
отлов русских букв с OnKeyDown