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

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

Работа с файлами [D6, Win95/98, WinXP]


Great DAN ©   (2002-05-30 11:21:00) 

Подскажите пожалуйста... как добавить запись в файл.
Я открываю его Reset"ом, ну и указатель стоит в начале, как поставить указатель в конец, я пробовал просто прокрутить до конца, но потом при обращении выдает ошибку.
Файл типизированный.
С уважением, Денис


yozhik   (2002-05-30 14:57:00) [1]

var f: File of TRec
begin
AssignFile(f,sDir+sFileName);
Reset(f);
Seek(f, FileSize(f));
...
end;

взято из рабочего проекта :)


eSKey   (2002-05-30 13:48:00) [2]


> Anatoly Podgoretsky


> А что тебя смущает в вопрос, и при чем тут непизированный
> докступ через TFileStream, про него вопроса не было.


Вспылил, был неправ, обещаю загладить безобразную ошибку. Кстати esVerэто не я, а вовсе другой человек :)


Song   (2002-05-30 13:03:00) [3]

2andron (30.05.02 12:48)
Append() для текстовых файлов.


andron   (2002-05-30 12:48:00) [4]

А append не работает?


Anatoly Podgoretsky   (2002-05-30 12:32:00) [5]

Great DAN © (30.05.02 12:09)
FileSize(F) div SizeOf(Type)

eSKey (30.05.02 12:09)
А что тебя смущает в вопрос, и при чем тут непизированный докступ через TFileStream, про него вопроса не было.


esVer   (2002-05-30 12:17:00) [6]

st:=TFileStream.Create(...
st.Position:=st.Size;
st.Write(...
st.Free;


Great DAN   (2002-05-30 12:09:00) [7]

Дело в том, что я не знаю как выставить конечное значение в seek, попробовал FileSize, на типе Char работает а на записях
:(((


eSKey   (2002-05-30 12:09:00) [8]

Люди, а вы не обратили внимание на фразу пациента:

> Подскажите пожалуйста... как добавить запись в файл.

и

> Я открываю его Reset"ом,


А советы конечно хорошие ;) ;)


Anatoly Podgoretsky   (2002-05-30 11:36:00) [9]

KaPaT © (30.05.02 11:25)
А ты уверен, что ты таким методом не увеличишь размер файла в 8 раз, Seek работает не в байтах, а в компонентах


KaPaT   (2002-05-30 11:26:00) [10]

Извиняюсь....не FileOfSize а просто FileSize


KaPaT   (2002-05-30 11:25:00) [11]

type
rec = record
one : Integer;
two : Integer;
end;

var
file_rec : file of rec;
record_ : rec;
begin
...
Seek(file_rec,FileOfSize(file_rec));
Write(file_rec,record_);
...
end;


Anatoly Podgoretsky   (2002-05-30 11:24:00) [12]

Для перемещения нужно использовать функцию Seek


Наверх

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