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

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

Чтение и запись в файл


Semion ©   (2002-11-09 08:24:00) 

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


Semion   (2002-11-10 06:20:00) [1]

Так дописывать мы доучились - это уже хорошо, а как читать и именно то что дописал(в любой момент времени), но так чтобы в файлах даже большёй длины?


VaS   (2002-11-09 18:42:00) [2]

Да, действительно, при fs.Position:=fs.Size файл дописывается, а при fs.seek(soFromEnd, 0) - нет, причем молча. Что это? Бага?


Reindeer Moss Eater   (2002-11-09 17:38:00) [3]

>VaS
Пробовал. Замечательно дописывает.
Только вначале надо делать не seek, а Position:=Size;


VaS   (2002-11-09 16:09:00) [4]

Reindeer Moss Eater: Пробовал? Дописывает? Попробуй.


Anatoly Podgoretsky   (2002-11-09 15:03:00) [5]

Sirus © (09.11.02 14:56)
Нет нельзя, сказано "в нетекстовый фаил", кроме того тф уничтожаешь исходный файл, что непростительно. Нормальный, что процентно рабочий, простой по Паскалевскому привел Reindeer Moss Eater (09.11.02 13:05).
Для чтения write заменяется на read


Sirus   (2002-11-09 14:56:00) [6]

А нельзя ли по простому, по Паскалевскому:
var f:System.Text;
s:String;
Begin
AssignFile(f,"fname.dat");
Rewrite(f);
WriteLn(f,"Привет Вася!!!");
CloseFile(f);
Reset(f);
ReadLn(f,s);
ShowMessage(s);
CloseFile(f);
End;


Reindeer Moss Eater   (2002-11-09 13:05:00) [7]

var
fs : TFileStream;
s : string;
begin
fs:=TFileStream.Create("c:\1.dat", fmOpenWrite);
try
fs.Seek(soFromEnd, 0);
s:="Мама мыла раму";
fs.Write(s[1], Length(s));
finally
fs.Free;
end;
end;


VaS   (2002-11-09 08:53:00) [8]

var
fs : TFileStream;
s : string;
n : integer;

begin
fs:=TFileStream.Create("c:\1.dat", fmOpenWrite);
try
fs.Seek(soFromEnd, 0);
s:="Мама мыла раму";
n:=Length(s);
fs.Size:=fs.Size+n;
fs.Write(PChar(s)^, n);
finally
fs.Free;
end;
end;


Наверх

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