![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Работа с файлами [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