Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 05.06.2008, 16:30   #1
Artificial
Пользователь
 
Аватар для Artificial
 
Регистрация: 03.11.2007
Сообщений: 91
По умолчанию Копирование файлов

Код:
procedure copy_com(copy1,copy2:string);
var    f1, f2: file;
        count: integer;
        buffer: array[1..1024] of byte;
        filename: string;
        filecopy: string;
        curdir: string;
        curfile: searchrec;
        n: integer;
        results: integer;
        ff: integer;
        results_s:string;
        doser_s,ff_s:string;
begin
if fileexists(copy1) then begin
FindFirst(copy1,anyfile,curfile);
AssignFile(f1,copy1);
AssignFile(f2,copy2);
Rewrite(f2,100);
Reset(f1,100);
count:=1;
while not EOF(f1) do begin
                     BlockRead(f1,buffer,count);
                     BlockWrite(f2,buffer,count);
                     inc(n);
                     ff:=curfile.size div 1024;
                     str(ff,ff_s);
                     str(n,s);
                     setcolor(snow);
                     outtextxy(1,gety,s);
                     setcolor(black);
                     OutTextXY(1,GetY,s);
                     end;
CloseFile(f1);
CloseFile(f2);
SetColor(Snow);
OutTextXY(1,GetY,Concat(s,' ','Bytes done.'));
tabular;
WriteBuf('Complete! Total: '); WriteBuf(Concat(ff_s,' ','Kb'));
tabular;
end
else begin
writebuf('Sorry, no file');
tabular;
end;
end;
Собственно - ф-ция копирования, самое смешное - вчера она еще работала.
В чем проблема?
Код:
  if (func = 'copy') then copy_com(option_t1,option_t2); // copying files
-- Вызов ф-ции.
Все было нормально, но теперь копирует, только если введено "copy c:/file1.txt file2.txt" - то есть копирует в папку, где лежит сама программа. Если введено "copy c:/file1.txt c:/file2.txt" - вылетает.

Последний раз редактировалось Artificial; 05.06.2008 в 16:33.
Artificial вне форума Ответить с цитированием
Старый 05.06.2008, 16:32   #2
ryton
Пользователь
 
Аватар для ryton
 
Регистрация: 23.05.2008
Сообщений: 97
По умолчанию

мне кажется что в Rewrite и Reset указывается всего один параметр-имя переменной файлового типа
я не для этого мира и это так
ryton вне форума Ответить с цитированием
Старый 05.06.2008, 16:35   #3
Artificial
Пользователь
 
Аватар для Artificial
 
Регистрация: 03.11.2007
Сообщений: 91
По умолчанию

Нет, при работе с файлами - 2 параметра)
Artificial вне форума Ответить с цитированием
Старый 05.06.2008, 16:39   #4
ryton
Пользователь
 
Аватар для ryton
 
Регистрация: 23.05.2008
Сообщений: 97
По умолчанию

Два параметра не обязательны,главное первый,второй указывает на размер записи.И вообще,нафига писать программу копирования файлов таким образом,если все это позволяют сделать стандартные библиотеки Delphi???
я не для этого мира и это так
ryton вне форума Ответить с цитированием
Старый 05.06.2008, 16:40   #5
Artificial
Пользователь
 
Аватар для Artificial
 
Регистрация: 03.11.2007
Сообщений: 91
По умолчанию

Это курсовая(годовая) работа по паскалю, с использованием этих ф-ций и надо написать программу.
Artificial вне форума Ответить с цитированием
Старый 05.06.2008, 18:42   #6
Artificial
Пользователь
 
Аватар для Artificial
 
Регистрация: 03.11.2007
Сообщений: 91
По умолчанию

ryton, спасибо, проблему решил.
Проблема была в другом, к этой процедуре никак не относилось.
Artificial вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Копирование файлов на FTP Dj_smart Общие вопросы Delphi 2 05.03.2008 09:04
Копирование файлов matus Помощь студентам 9 27.02.2008 19:34
копирование файлов matus Общие вопросы Delphi 2 07.11.2007 21:57
Копирование файлов Devil_uu Помощь студентам 2 24.03.2007 20:27