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