Модераторы: Poseidon, Snowy, bems, MetalFan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Copy File 
:(
    Опции темы
Scrip
Дата 21.6.2004, 14:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 34
Регистрация: 8.5.2004

Репутация: нет
Всего: нет



Как прoграммно скопировать файл с одного места в другое (на компе).

PM MAIL   Вверх
SlaUr
Дата 21.6.2004, 14:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 408
Регистрация: 18.9.2003

Репутация: 3
Всего: 5



Несколько вариантов копирования файлов есть в модуле MySys
PM MAIL   Вверх
~FoX~
Дата 21.6.2004, 15:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


НЕ рыжий!!!
****


Профиль
Группа: Участник Клуба
Сообщений: 2819
Регистрация: 8.10.2003
Где: Зеленоград

Репутация: 13
Всего: 68



Код

procedure TForm1.Button1Click(Sender: TObject);
var
 d: LongBool;
begin
 CopyFile(PChar('c:\123.txt), PChar('c:\temp\123.txt'), d);
end;


Добавлено @ 15:01
SlaUr
Я не успел biggrin.gif



--------------------
user posted image
…множественность никогда не следует полагать без необходимости…
PM MAIL WWW ICQ Jabber   Вверх
Scrip
Дата 21.6.2004, 15:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 34
Регистрация: 8.5.2004

Репутация: нет
Всего: нет



Для чего нужна переменная d
PM MAIL   Вверх
<Spawn>
Дата 21.6.2004, 16:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Око кары:)
****


Профиль
Группа: Экс. модератор
Сообщений: 2776
Регистрация: 29.1.2003
Где: Екатеринбург

Репутация: 44
Всего: 64



F1 гласит:

Код
bFailIfExists

Specifies how this operation is to proceed if a file of the same name as that specified by lpNewFileName already exists. If this parameter is TRUE and the new file already exists, the function fails. If this parameter is FALSE and the new file already exists, the function overwrites the existing file and succeeds.


То есть это значит, что если этот параметр будет равен True, то функция завершится с ошибкой, если такой файл существует, с False ошибки не будет - файл перезапишется.

П.С. Нужно учиться хелпом пользоваться.


--------------------
"Для некоторых людей программирование является такой же внутренней потребностью, подобно тому, как коровы дают молоко, или писатели стремятся писать" - Николай Безруков.
PM MAIL ICQ   Вверх
Петрович
Дата 21.6.2004, 20:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1000
Регистрация: 2.12.2003
Где: Москва

Репутация: 25
Всего: 55



Цитата
То есть это значит, что если этот параметр будет равен True, то функция завершится с ошибкой, если такой файл существует, с False ошибки не будет - файл перезапишется.

В таком случае, d надо обязательно инициализировать, либо передавать неаосредственно константу, например:
Код
procedure TForm1.Button1Click(Sender: TObject);
begin
CopyFile(PChar('c:\123.txt), PChar('c:\temp\123.txt'), True);
end;



--------------------
Все знать невозможно, но хочется
PM ICQ   Вверх
dm9
Дата 21.6.2004, 22:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Дмитрий Копытин
****


Профиль
Группа: Vingrad developer
Сообщений: 3876
Регистрация: 22.7.2002
Где: Москва

Репутация: 6
Всего: 137



PM MAIL ICQ   Вверх
~FoX~
Дата 22.6.2004, 08:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


НЕ рыжий!!!
****


Профиль
Группа: Участник Клуба
Сообщений: 2819
Регистрация: 8.10.2003
Где: Зеленоград

Репутация: 13
Всего: 68



Петрович Да неееет!!

Если процедура не сработала, то в переменную D попадает True. И по ластеррор можешь посмотреть что случилос!
А если все прошло хорошо, то в D попадает False



--------------------
user posted image
…множественность никогда не следует полагать без необходимости…
PM MAIL WWW ICQ Jabber   Вверх
Петрович
Дата 22.6.2004, 09:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1000
Регистрация: 2.12.2003
Где: Москва

Репутация: 25
Всего: 55



Цитата
Если процедура не сработала, то в переменную D попадает True. И по ластеррор можешь посмотреть что случилос!
А если все прошло хорошо, то в D попадает False

Шустрый, ты не прав smile.gif.
Читай исходный коментарий к параметру (на англицком)! Там ясно сказано. Кроме того, посмотри как он определен:
Код
BOOL bFailIfExists          // operation if file exists

- это параметр-значение (не var параметр), следовательно он даже не может веруть никакой результат!
Да и в WinAPI принято результат выполнения действия возвращать как результат функции.


--------------------
Все знать невозможно, но хочется
PM ICQ   Вверх
Albinos_x
Дата 22.6.2004, 09:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Evil Skynet
****


Профиль
Группа: Комодератор
Сообщений: 3288
Регистрация: 28.5.2004
Где: X-6120400 Y-1 4624650

Репутация: 26
Всего: 108



// создаю поток чтения записи файлов
Source:=TFileStream.Create(s,fmOpenRead);
// блок нормального завершения работы в случае ошибки
try
// создаю потоком новый файл
Target:=TFileStream.Create(s1,fmCreate);
try
// копирую файл
Target.CopyFrom(Source,0)
finally
// уничтожаю поток
// выполнится даже если возникнет ошибка
Target.Free;
end;
finally
// уничтожаю поток
// выполнится даже если возникнет ошибка
Source.Free;
end;
end;


--------------------
"Кто владеет информацией, тот владеет миром"    
Уинстон Черчилль
PM MAIL ICQ   Вверх
~FoX~
Дата 22.6.2004, 11:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


НЕ рыжий!!!
****


Профиль
Группа: Участник Клуба
Сообщений: 2819
Регистрация: 8.10.2003
Где: Зеленоград

Репутация: 13
Всего: 68



Петрович
Ты прав!
Прошу прощения, эт я по запарке!!! withstupid.gif



--------------------
user posted image
…множественность никогда не следует полагать без необходимости…
PM MAIL WWW ICQ Jabber   Вверх
Medved
Дата 23.6.2004, 13:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 7209
Регистрация: 15.9.2002
Где: Kazakhstan, Astan a

Репутация: 14
Всего: 154



А не проще ли посмотреть FAQ? DRKB


--------------------
http://extreme.sport-express.ru/
...и неважно сколько падал, важно сколько ты вставал...
PM MAIL WWW ICQ Skype GTalk   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Общие вопросы"
SnowyMetalFan
bemsPoseidon
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0918 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.