Форум программистов, компьютерный форум, киберфорум
C++ Builder
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.61/57: Рейтинг темы: голосов - 57, средняя оценка - 4.61
0 / 0 / 0
Регистрация: 01.03.2011
Сообщений: 16
1

Как программно скопировать файл???

14.03.2011, 13:03. Показов 10691. Ответов 7
Метки нет (Все метки)

OpenDialog1->Execute();
DBEdit10->Text=OpenDialog1->FileName;

Как реализовать, чтоб выбраный файл, скопировало в нужную мне директорию???
0

Помощь в написании контрольных, курсовых и дипломных работ здесь.

Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
14.03.2011, 13:03
Ответы с готовыми решениями:

Как программно скопировать папку
Здравствуйте! Ребята, подскажите, пожалуйста как программно можно скопировать папку со всем её...

Как скопировать файл из С_Юзерс_ИмяАдмина_АррДата
Как скопировать файл из C:\Users\ИмяАдмина\AppData Подскажите как скопировать файл, учитывая что...

Как скопировать содержимое браузера в текстовой файл?
Всем вечер добрый!!! Не подскажите как сохранить открытую страницу браузера(интернет експлорер,...

Как программно удалить указанный файл!
Как программно удалить указанный файл!Наверное вы подумаете что это глупый вопрос! Я это мог...

7
61 / 60 / 9
Регистрация: 13.01.2009
Сообщений: 322
14.03.2011, 13:06 2
посмотри тут
1
0 / 0 / 0
Регистрация: 01.03.2011
Сообщений: 16
14.03.2011, 15:50  [ТС] 3
Цитата Сообщение от AlexSt Посмотреть сообщение
посмотри тут
Вот что там нашол:
C++
1
CopyFile("c:\\tester1.txt", "c:\\tester2.txt", false);
Такой вариант работает!!!
Но интиресует как реализовать чтоб путь к начальному файлу выбирал пользователь
OpenDialog1->Execute();
DBEdit10->Text=OpenDialog1->FileName;
а путь куда копируется файл был заложен в программе. К примеру в C:\\pasport
З.Ы. И чтоб имя файла осталось прежнее!!!
0
Покинул форум
3184 / 1363 / 109
Регистрация: 29.01.2010
Сообщений: 2,887
14.03.2011, 17:14 4
Данный пример копирует файл, указанный пользователем, на диск F:
C++
1
2
3
4
5
6
  if(OpenDialog1->Execute())
  {
 
    CopyFile(OpenDialog1->FileName.c_str(),("F:\\"+ExtractFileName(OpenDialog1->FileName) ).c_str(),0);
 
  }
А этот пример копирует указанный файл в папку с программой:
C++
1
2
3
4
5
6
  if(OpenDialog1->Execute())
  {
 
    CopyFile(OpenDialog1->FileName.c_str(),(ExtractFileDir(Application->ExeName)+ExtractFileName(OpenDialog1->FileName) ).c_str(),0);
 
  }
Путь к папке с программой получаем при помощи функции ExtractFileDir, которая извлекает из указанной строки путь к файлу без имени самого файла. В качестве аргумента указываем свойсво Application->ExeName, в котором хранится путь к исполняемому файлу.
1
145 / 100 / 6
Регистрация: 11.03.2010
Сообщений: 478
14.03.2011, 17:25 5
у меня вот так получилось:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
void __fastcall TForm1::Button1Click(TObject *Sender)
{
OpenDialog1->Execute();
     if (OpenDialog1->FileName != 0) {
 
     AnsiString path;
     path = OpenDialog1->FileName;
     AnsiString name;
     name = "c:\\\\" + ExtractFileName(OpenDialog1->FileName);
     CopyFile(path.c_str(), name.c_str(), 0);
 
     }
 
}
по сути тож самое, единственное что копирование происходит только если файл и вправду выбран, если просто закрыли форму то ничего не происходит.
1
Покинул форум
3184 / 1363 / 109
Регистрация: 29.01.2010
Сообщений: 2,887
14.03.2011, 17:33 6
koldun, просто ваши две строки:
C++
1
2
OpenDialog1->Execute();
         if (OpenDialog1->FileName != 0) {
Можно заменить одной:
C++
1
2
 if(OpenDialog1->Execute())
{
Что я и сделал.
1
145 / 100 / 6
Регистрация: 11.03.2010
Сообщений: 478
14.03.2011, 18:12 7
так вот оно что

спасибо!

эт я просто у кого-то пример увидел, и взял на вооружение себе
по Вашему канешно же проще намного.

Добавлено через 27 минут
только что перепроверил,

случай с проверкой наличия выбранного файла, способ нитана лучше не только тем что он в одну строчку написан, а еще и тем что если заранее не выставить свойство компонента
OpenDialog1->FileNmae = 0;
то мой пример работать будет не корректно(а точнее в любом случае)
толькочто совершенно случайно обнаружил.
1
0 / 0 / 0
Регистрация: 02.04.2013
Сообщений: 54
22.11.2013, 21:30 8
А можно ли что бы копирование происхлдило в буфер обмена, вставка файла производилась уже посредством нажатия кнопки втавить? и как это все реализовать?
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
22.11.2013, 21:30

Помощь в написании контрольных, курсовых и дипломных работ здесь.

Как программно экспортировать ветку реестра в файл?
Причем не какой-то отдельный параметр, а ветку целиком. Пробовал запустить reg.exe с параметрами,...

Как скопировать файл из одной папки в другую! Cannot convert 'UnicodeString' to 'const wchar_t *'
Надо скопировать файл который находится в директории программы в папку мои документы Делаю так...

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

Кнопка: сохранить данные с Edit, скопировать файл (картинку) и переименовать новый файл из одного из полей edit
Помогите дописать для кнопки такое: по состоянию компонента CheckBox копировать определеный файл и...


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

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

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