Форум: "Основная";
Текущий архив: 2004.12.05;
Скачать: [xml.tar.bz2];
ВнизДанные Найти похожие ветки
← →
Ivolg (2004-11-19 11:43) [0]Приветствую всех!!! Помогите очень надо!!!ПЛИЗЗ!!!
Дело в том что я хочу 2 файла с расширением exe слить в файл 2.dat и потом извлечь из 2.dat 2 проги которые я сливал!!! Но у меня не получается, Когда я открываю файл и пишу в другой, то просто происходит перезапись байт, а мне надо чтобы они не перезаписсывались а добавлялись!!!
Пишу такой код:
var
Vf1, Vf2 : file;
NRead, NWrite: Integer;
Buf: array[1..1024] of Char;
begin
AssignFile(Vf1, "D:\Write.txt");
Reset(Vf1, 1);
AssignFile(Vf2, "D:\Net.exe");
Rewrite(Vf2, 1);
repeat
BlockRead(Vf1, Buf, SizeOf(Buf), NRead);
BlockWrite(Vf2, Buf, NRead, NWrite);
until (NRead = 0) or (NWrite <> NRead);
CloseFile(Vf1);
CloseFile(Vf2);
СПАСИБО!!!!!
← →
Ivolg (2004-11-19 11:46) [1]Ой!! вот:
var
Vf1, Vf2 : file;
NRead, NWrite: Integer;
Buf: array[1..1024] of Char;
begin
AssignFile(Vf1, "D:\Net.exe"); \\ Поправка
Reset(Vf1, 1);
AssignFile(Vf2, "D:\2.dat"); \\ Поправка
Rewrite(Vf2, 1);
repeat
BlockRead(Vf1, Buf, SizeOf(Buf), NRead);
BlockWrite(Vf2, Buf, NRead, NWrite);
until (NRead = 0) or (NWrite <> NRead);
CloseFile(Vf1);
CloseFile(Vf2);
← →
Алхимик © (2004-11-19 11:47) [2]Справку по Rewrite почитай, станет понятнее. Или росто на русский переведи.
← →
novice_man © (2004-11-19 11:51) [3]....
AssignFile(Vf1, "D:\Write.txt");
Reset(Vf1, 1);
AssignFile(Vf2, "D:\Net.exe");
Rewrite(Vf2, 1) <<-- создаешь новый файл
....
Попробуй через OpenFile, CreateFile;
← →
Игорь Шевченко © (2004-11-19 12:05) [4]Append
← →
novice_man © (2004-11-19 12:10) [5]Игорь Шевченко ©
Append
Как? Для Vf1, Vf2 : file; Append ?????
← →
Плохиш © (2004-11-19 12:20) [6]reset + seek
← →
novice_man © (2004-11-19 12:29) [7]Плохиш © (19.11.04 12:20) [6]
reset + seek
Кратенько так, примерчик, как после RESET + SEEK дописать второй файл?
← →
Плохиш © (2004-11-19 12:31) [8]
> novice_man © (19.11.04 12:29) [7]
> Кратенько так, примерчик, как после RESET + SEEK дописать
> второй файл?
А что пример из справки ну совсем не помогает? Тогда только в дворники.
← →
Игорь Шевченко © (2004-11-19 12:33) [9]novice_man © (19.11.04 12:10) [5]
Извиняюсь, ошибся. Append для текстовых файлов.
← →
novice_man © (2004-11-19 12:43) [10]Плохиш © (19.11.04 12:31) [8]
А что пример из справки ну совсем не помогает? Тогда только в дворники.
Пошел выбирать метлу и лопату ПОБОЛЬШЕ!!! ;-)
Хватит на сегодня работать. Нужно отдыхать!
Сорри за пост [7].
← →
Ivolg (2004-11-19 19:17) [11]А ктонить можеть пример из моего куска кода состряпать, чтоб этазадача исполнилась??? БУДУ ОЧЕНЬ БЛАГОДАРЕН!!!!!!!
← →
Floppy © (2004-11-19 20:18) [12]Пишу такой код:
var
Vf1, Vf2, Vf3: file;
NRead, NWrite: Integer;
Buf: array[1..1024] of Byte;//хотя в этом случае можно обойтись и без Array
begin
Assign(Vf1, "D:\Net1.exe");
Reset(Vf1, 1);
Assign(Vf2, "D:\Net2.exe");
Reset(Vf2, 1);
Assign(Vf3, "D:\Net.dat");
ReWrite(Vf3, 1);
repeat
BlockRead(Vf1, Buf, SizeOf(Buf), NRead);
BlockWrite(Vf3, Buf, NRead, NWrite);
until (NRead = 0) or (NWrite <> NRead);
CloseFile(Vf1);
repeat
BlockRead(Vf2, Buf, SizeOf(Buf), NRead);
BlockWrite(Vf3, Buf, NRead, NWrite);
until (NRead = 0) or (NWrite <> NRead);
CloseFile(Vf2);
CloseFile(Vf3);
Ну, а разделить тоже не проблема, пиши если это устроило:)
← →
Ivolg (2004-11-19 21:45) [13]Floppy
Спасибо!!
А если мне нужно недва а 4 или 3 файла записать в Net.dat, то как тогда??
← →
tormoz (2004-11-19 22:07) [14]сначала читаешь и пишешь первый файл, затем второй, третий и т.д.
можешь загнать в цикл:
открыть *.dat на запись
пока файлы не кончились
открыть файл на чтение
записать в выходной файл
закрыть файл
конец пока
закрыть *.dat
:-)
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2004.12.05;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.033 c