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

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

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

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

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

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

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

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

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

3
Rockedit
Автор FAQ
Автор FAQ
1768 / 577 / 37
Регистрация: 22.12.2009
Сообщений: 1,544
28.08.2010, 01:46 #2
http://www.cyberforum.ru/pascal/thread13819.html
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
Модератор
54134 / 41767 / 28876
Регистрация: 18.05.2008
Сообщений: 98,305
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