Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 31.03.2007, 19:20   #1
malevich
Пользователь
 
Аватар для malevich
 
Регистрация: 01.11.2006
Сообщений: 63
Вопрос на шаг назад...

есть текстовый файл типа
0 10
1 20
2 22
3 22
4 23
,,,,,

надо прочитать первую и вторую строку,потом вторую и третью,третью и четвертую и т.д

for i:=1 to 20000 do
begin
readln(tp,tn,pn);
readln(tp,tk,pk);
// на стороку назад ????
,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,
как поместить ФУ в начало предшествующей записи?????

Кто знает фортран,там это делает BACKSPASE
malevich вне форума Ответить с цитированием
Старый 31.03.2007, 20:03   #2
Квэнди
Старожил
 
Аватар для Квэнди
 
Регистрация: 13.12.2006
Сообщений: 3,859
По умолчанию

while not(eof(file)) do
begin
readln(file,st1);
readln(file,st2);
end;
в чем проблема ?
ICQ не для вопросов, а для предложений. Для вопросов используйте форум
IRC канал клуба программистов|Мои статьи
Квэнди вне форума Ответить с цитированием
Старый 31.03.2007, 20:46   #3
Umen
Форумчанин
 
Аватар для Umen
 
Регистрация: 10.11.2006
Сообщений: 189
По умолчанию

Тут нужно использовать либо типизированный файл, либо TFileStream
в них обоих есть метод seek, который позволяет установить указатель на произвольное мето в файле.
Umen вне форума Ответить с цитированием
Старый 01.04.2007, 03:11   #4
malevich
Пользователь
 
Аватар для malevich
 
Регистрация: 01.11.2006
Сообщений: 63
По умолчанию

to Квенди: В приведенном Вами коде получится чтение первой и второй строки,третей и четвертой строки, пятой и шестой.....
а надо 1,2 2,3 3,4 4,5........
malevich вне форума Ответить с цитированием
Старый 01.04.2007, 03:18   #5
Квэнди
Старожил
 
Аватар для Квэнди
 
Регистрация: 13.12.2006
Сообщений: 3,859
По умолчанию

Не вижу препятствий
readln(file,st1);
while not(eof(file)) do
begin
readln(file,st2);
//St1-Первая строка, St2-вторая строка
st1:=st2;
//При следующем проходе St1-2-я строка.
end;
ICQ не для вопросов, а для предложений. Для вопросов используйте форум
IRC канал клуба программистов|Мои статьи
Квэнди вне форума Ответить с цитированием
Старый 01.04.2007, 11:24   #6
Kostyan
Пользователь
 
Аватар для Kostyan
 
Регистрация: 25.03.2007
Сообщений: 18
По умолчанию

Привет!
А если такая идея.. Читать весь файл сначала в список строк, а потом уже двигаться по этому списку, как требуется
Kostyan вне форума Ответить с цитированием
Старый 01.04.2007, 13:23   #7
malevich
Пользователь
 
Аватар для malevich
 
Регистрация: 01.11.2006
Сообщений: 63
По умолчанию

Понимаете, тогда приходиться использовать массивы, а массивы таких размеров (порядка 300000) помоему нельзя создать, ошибки выдаются. так что работа с одной-двумя переменными выгоднее...
malevich вне форума Ответить с цитированием
Старый 01.04.2007, 15:12   #8
Kostyan
Пользователь
 
Аватар для Kostyan
 
Регистрация: 25.03.2007
Сообщений: 18
По умолчанию

А при чем тут массивы?
Kostyan вне форума Ответить с цитированием
Старый 01.04.2007, 16:07   #9
rpy3uH
добрый няша
Старожил
 
Аватар для rpy3uH
 
Регистрация: 29.10.2006
Сообщений: 4,804
По умолчанию

Код:
var
  str:tstringlist;

begin
  str:=tstringlist.create;
  str.loadfromfile(......);
  str.strings[line]
line это номер строки, нумерация начитаетя с нуля
rpy3uH вне форума Ответить с цитированием
Старый 01.04.2007, 20:50   #10
Kostyan
Пользователь
 
Аватар для Kostyan
 
Регистрация: 25.03.2007
Сообщений: 18
По умолчанию

вот я примерно про это и говорил
Kostyan вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
50 лет назад в СССР произведён запуск первого искусственного спутника Земли. Alex21 Свободное общение 2 07.10.2007 05:57
Назад в прошлое Repz О форуме и сайтах клуба 4 14.08.2007 12:56