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

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

Копия файла [D6, Win95/98]


don_dampster ©   (2003-01-15 15:44:00) 

Копирую файл так:

...
var
f1,f2:text;
s:string;
...
begin
assignfile (f1,Edit1.Text);
assignfile (f2,Edit2.Text);
reset (f1);
rewrite (f2);
repeat
readln (f1,s);
writeln (f2,s);
until eof(f1);
closefile (f1);
closefile (f2);
end;
...

Но файл полносью не копируется. Помогите как, что? Заранее благодарен.


Anatoly Podgoretsky   (2003-01-15 16:45:00) [1]

Не обязательно понимать, главное понять, что писать двоичные файлы как текст нельзя.
Или отказывайся от своего дикого требования "2) Задачка у меня такая, чтобы как текст копировать." или никак


RWolf   (2003-01-15 16:40:00) [2]

пример склеивания 2 файлов file1 и file2 в file_res
(ошибки не обрабатываются)

var s1,s2,d:TFileStream;
ns1,ns2:longint;
f:file of byte; //неважно
p:pointer;
...
d:=TFileStream.Create("file_res",fmCreate);
assignfile(f,"file1");ns1:=filesize(f);closefile(f);
s1:=TFileStream.Create("file1",fmOpenRead);
p:=allocmem(ns1);
s1.read(p,ns1);
s1.free;
d.write(p,ns1);
freemem(p);

assignfile(f,"file2");ns2:=filesize(f);closefile(f);
s2:=TFileStream.Create("file2",fmOpenRead);
p:=allocmem(ns2);
s1.read(p,ns2);
s1.free;
d.write(p,ns2);
freemem(p);

d.free;


don_dampster   (2003-01-15 16:22:00) [3]

Что-то я не понимаю!


gsu   (2003-01-15 16:20:00) [4]

Так организуй сначала заголовок файла, в котором размеры и др. файлов, а потом сами файлы


Anatoly Podgoretsky   (2003-01-15 16:18:00) [5]

Как текст, никак


don_dampster   (2003-01-15 16:18:00) [6]

Если можно по подробнее. Я не долго работаю на Delphi так что я ещё нуль в этом.


don_dampster   (2003-01-15 16:16:00) [7]

Надо несколько файлов закидывать в один. Ну и потом их от тудова вынимать


gsu   (2003-01-15 16:15:00) [8]

Возми TFileStream - удобнее
ReadBuffer, WriteBuffer, хоть без while, хоть с ним


gsu   (2003-01-15 16:12:00) [9]

ха-ха, Reindeer Moss Eater, молодец


Reindeer Moss Eater   (2003-01-15 16:12:00) [10]

Чем CopyFile не устраивает?


don_dampster   (2003-01-15 16:10:00) [11]

Reindeer Moss Eater, тогда как с двоичными делать?


Reindeer Moss Eater   (2003-01-15 16:06:00) [12]

А файл небось двоичный


don_dampster   (2003-01-15 16:05:00) [13]

1) С циклом while копирует так же, не до конца.
2) Задачка у меня такая, чтобы как текст копировать.


gsu   (2003-01-15 15:48:00) [14]

>> mbo
опередил на сек, только хотел добавить, точь в точь, весело (-:|~


MBo   (2003-01-15 15:47:00) [15]

1)
while not eof(f) do begin
...
end;
2) Да и вообще CopyFile


Наверх

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