Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Работа с файлами [D6]


Lk ©   (2006-04-18 19:27:00) 

1) как можно считать каждую 4 строку?
2) как можно перезаписать каждую 4 строку?


Anatoly Podgoretsky   (2006-04-18 22:55:00) [1]

STK ©   (18.04.06 22:00) [4]
Теперь нормально, только будет ошибка при нулевой длине файла. Repeat не применим для такой работы, нужен while


Anatoly Podgoretsky   (2006-04-18 22:53:00) [2]

Нужны два файла для ReadLn/WriteLn


STK   (2006-04-18 22:31:00) [3]


> Desdechado ©   (18.04.06 22:17) [5]
> STK ©
> перезаписать каждую 4 строку таким способом не получится
> (разве только через временный файл), ведь они могут быть
> разной длины

Не согласен. WriteLn(f, array[j]);
j:=j+1;// т.е. создать массив состроками которые надо заменить

Вроде нетпроблем, или...

Что скажеш насчёт [4].


Desdechado   (2006-04-18 22:17:00) [4]

STK ©
перезаписать каждую 4 строку таким способом не получится (разве только через временный файл), ведь они могут быть разной длины


STK   (2006-04-18 22:00:00) [5]

Ссори. Исправляю

if i mod 4 = 0 then Readln(f, stringa)
else readln(f, ненужная строковая переменная)

ведь mod возращает остаток от деления. если остатка нет значит число i кратен 4.
Хотя этот год не идеален. Легче считать весь файл в переменную TStringList а от туда уже брать чего надо. Хотя может и не всегдаоправдан.


> Anatoly Podgoretsky ©   (18.04.06 21:40) [3]
> Прочитает все строки подряд

А теперь нормуль?

ИМХО. Хотя мне кажется в таких вопросах давать прям уж точный код не очень "педагогично", надо дать подумать-исправить код. Так можно писать программу основываясь на ответах. Правда тоже не всегда.


Anatoly Podgoretsky   (2006-04-18 21:40:00) [6]

Прочитает все строки подряд


STK   (2006-04-18 21:36:00) [7]

Или

AssignFile(f, Filename(полный путь к файлу));
resset(f);//для открытия и чтения или
repeat
i:=i+1;
if i div 4 =0 then readln(f, stringa);// чтение каждой четвёртойстроки
until EOF;//Признак конца файла
Close(f)

rewrite(f); // для перезаписи файла

Писал на память так что мог ошибиться с тем что в скобках(параметры).
А лучше всего найди инфу по работе с файлами.
Удачи.


Desdechado   (2006-04-18 20:22:00) [8]

TstringList.LoadFromFile
в нем менять строки
SaveToFile


Наверх

Титульная страница Поиск, карта сайта Написать письмо