Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.12.05;
Скачать: CL | DM;

Вниз

Данные   Найти похожие ветки 

 
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;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.052 c
4-1098160932
Sod
2004-10-19 08:42
2004.12.05
смена цвета фона приложения


14-1100367534
Drakon
2004-11-13 20:38
2004.12.05
Послепятничная задача. Повторение - мать учения.


1-1100825461
fashionguide
2004-11-19 03:51
2004.12.05
Свой текст в Gauge1


6-1092728017
Andrey
2004-08-17 11:33
2004.12.05
outlook express


14-1100811807
Тикурила
2004-11-19 00:03
2004.12.05
Используют ли хакеры лицензионный софт?