Форум программистов, компьютерный форум, киберфорум
Наши страницы
Pascal (Паскаль)
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.54/13: Рейтинг темы: голосов - 13, средняя оценка - 4.54
Khayzenberg
7 / 7 / 4
Регистрация: 28.08.2010
Сообщений: 174
1

Копирование файлов

28.08.2010, 00:11. Просмотров 2460. Ответов 3
Метки нет (Все метки)

Есть задачка...
Нужно проделать копирование одного old.dat файла с любой в нему информацией в новый new.dat файл.
Как это можно сделать, создав при этом создав свою процедуру так как в паскале нет таких процедур.
Какой в итоге будет процедура...
0
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
28.08.2010, 00:11
Ответы с готовыми решениями:

Массовое копирование файлов.
Доброго времени суток! не могу справится заданием: скопировать все файлы...

Копирование нетипизированных файлов
Помогите найти ошибку в программе. program FileCopy; const ...

Выбор и копирование файлов по маске
Всем "Begin" . :) Возможно ли , и как это написать: Цель: Из заданой...

Копирование файла
А как увеличить буффер для копирования, чтобы копировало по 512 байт. Я...

Копирование строки в строку
привет всем программистам...ребята помогите пожалуйста...надо сочинить вот...

3
Rockedit
Автор FAQ
Автор FAQ
1769 / 578 / 37
Регистрация: 22.12.2009
Сообщений: 1,544
28.08.2010, 01:46 2
Как копировать и перемещать файлы
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
Program CopyFile;
{ Простая программа быстрого копирования файлов БЕЗ проверки ошибок }
 
Var FromF, ToF : File;
NumRead, NumWritten : Word;
Buf : Array [1..2048] Of Char;
Begin
{ Открываем входной файл }
Assign(FromF, ParamStr(1));
Reset(FromF, 1); { Размер буфера записи = 1 байт }
{ Открываем выходной файл }
Assign(ToF, ParamStr(2));
ReWrite(ToF, 1); { Размер буфера записи = 1 байт }
WriteLn('Копирую ', FileSize(FromF), ' байт...');
Repeat
BlockRead(FromF, Buf, SizeOf(Buf), NumRead);
BlockWrite(ToF, Buf, NumRead, NumWritten);
Until (NumRead = 0) Or (NumWritten <> NumRead);
Close(FromF);
Close(ToF);
End.
Нашел в поисковике, не проверял. Попробуйте, может пригодится.
1
Puporev
Модератор
54733 / 42134 / 29092
Регистрация: 18.05.2008
Сообщений: 99,454
28.08.2010, 07:38 3
Лучший ответ Сообщение было отмечено как решение

Решение

Можно еще так, программа проверена.

Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
uses crt;
procedure CopyFile(old,new:string);
var f1,f2:file;
    p:pointer;{нетипизированный указатель на буфер}
    rb:word;
begin
Assign(f1,old); FileMode:=0; Reset(f1,1);
Assign(f2,new); ReWrite(f2,1);
GetMem(p,32768);{выделим половину стека под буфер}
If p=nil then{если недостаточно памяти}
 begin
  WriteLn('Not enough memory !');
  Halt;
 end;
Repeat
BlockRead(f1,p^,32768,rb);{читаем в буфер}
BlockWrite(f2,p^,rb);{пишем в новый файл}
Until rb<>32768;{если не равно буферу, заканчиваем}
FreeMem(p,32768);{освобождаем память}
Close(f2);
Close(f1);
write('Файл скопирован!');
readln
End;
var f,g:file;
    nf,ng:string;
begin
clrscr;
write('Имя файла для копированияя: ');
readln(nf);
nf:=nf+'.dat';
assign(f,nf);
{$I-} reset(f);  {$I+}
if IOResult <> 0 then
 begin
  writeLn('Файл ',nf,' не найден!');
  writeLn('Работа программы завершена. Нажмите ENTER');
  readln;
  exit;
 end;
write('Имя нового файла: ');
readln(ng);
ng:=ng+'.dat';
CopyFile(nf,ng);
end.
3
Khayzenberg
7 / 7 / 4
Регистрация: 28.08.2010
Сообщений: 174
28.08.2010, 09:32  [ТС] 4
Благодарю, за помощь!
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
28.08.2010, 09:32

Копирование из списка в массив
Есть двусвязный список с вносимыми в него данными простым вводом чисел ...

Копирование произвольного файла
Напишите программу на языке Паскаль, которая копирует произвольный файл....

Копирование файла в данную директорию
Здравствуйте! я вот хотел спросить а как копировать файл...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru