Форум программистов, компьютерный форум, киберфорум
Delphi для начинающих
Войти
Регистрация
Восстановить пароль
 
 
Рейтинг 4.68/25: Рейтинг темы: голосов - 25, средняя оценка - 4.68
3 / 3 / 0
Регистрация: 09.11.2016
Сообщений: 88
Записей в блоге: 2
1

Как копировать файлы?

22.11.2016, 00:58. Показов 4553. Ответов 36
Метки нет (Все метки)

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

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

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

Нужно копировать определеные файлы на FTP
Здраствуйте Возникла такая проблема нужно передать определеный файл на FTP но у каждого на...

Из указанной папки открывать файлы и копировать в созданный документ
Здравствуйте, подскажите пожалуйста, у меня программа должна из указанной папки открывать файлы и...

Delphi не хочет копировать файлы
Привет! Решил написать сортировщик файлов, да вот столкнулся с проблем - не хочет копировать через...

Создать программу, которая будет открывать текстовые файлы и копировать из них строки в которих есть число 24
Здраствуйте помогите написать програму! нужно создать програму которая будет открывать текстовые...

36
пофигист широкого профиля
4359 / 2863 / 813
Регистрация: 15.07.2013
Сообщений: 16,588
22.11.2016, 01:57 2
Цитата Сообщение от HYDRA8 Посмотреть сообщение
Совсем точно что нужно использовать функцию CopyFile , но как быть с параметрами (какие параметры)?
Что непонятно в справке CopyFile function
0
70 / 70 / 23
Регистрация: 14.10.2013
Сообщений: 528
22.11.2016, 09:00 3
Или в новых версиях можно так System.IOUtils.TFile.Copy
0
3 / 3 / 0
Регистрация: 09.11.2016
Сообщений: 88
Записей в блоге: 2
22.11.2016, 18:51  [ТС] 4
Функцией CopyFile возможно только периписать содержимое одного файла в другой файл того же формата?
0
70 / 70 / 23
Регистрация: 14.10.2013
Сообщений: 528
23.11.2016, 10:15 5
Цитата Сообщение от HYDRA8 Посмотреть сообщение
Функцией CopyFile возможно только периписать содержимое одного файла в другой файл того же формата?
Да. Байт в байт. Или Вам что-то другое надо?
0
3 / 3 / 0
Регистрация: 09.11.2016
Сообщений: 88
Записей в блоге: 2
24.11.2016, 07:40  [ТС] 6
А существует ли функция которой можно сохранить копию файла в пустой папке?
0
495 / 397 / 260
Регистрация: 05.04.2013
Сообщений: 1,763
24.11.2016, 08:35 7
Цитата Сообщение от HYDRA8 Посмотреть сообщение
А существует ли функция которой можно сохранить копию файла в пустой папке?
чем вам CopyFile не угодила?
Delphi
1
2
if CopyFile(PChar('c:\text.bin'),PChar('c:\text2.bin'), FALSE) then Showmessage('скопирован') 
else Showmessage('не скопирован')
Добавлено через 4 минуты
BOOL CopyFile(LPCTSTR lpExistingFileName, LPCTSTR lpNewFileName, BOOL bFailIfExists);
lpExistingFileName Значение прямого или относительного пути к исходному файлу.
lpNewFileName Значение прямого или относительного пути для нового файла.
bFailIfExists Логический параметр, определяющий должна ли функция перезаписать файл копируемый файл, если файл с заданным именем нового файла уже имеется. Если указано значение False, то файл будет перезаписан заново, даже если файл с заданным именем уже есть. При этом в результате своего выполнения, функция всегда будет возвращать значение True. Если bFailIfExists = True, в случае удачного копирования функция вернет значения True. Если же файл с новым именем уже есть, или при возникновении другой ошибки, при которой файл не будет скопирован, функция вернет значение False.
0
52 / 52 / 5
Регистрация: 22.11.2016
Сообщений: 268
24.11.2016, 10:08 8
можно [ли] сохранить копию файла в пустой папке?
CopyFile(PChar('c:\ЗагруженнаяПапка\text.bin'),PChar('c:\Пус таяПапка\text2.bin'), FALSE);
0
3 / 3 / 0
Регистрация: 09.11.2016
Сообщений: 88
Записей в блоге: 2
25.11.2016, 19:50  [ТС] 9
Файл копируется (гуд). Но возможно сделать так чтобы всегда когда кто нибудь запускал эту программу то всегда создавались новые копии файла одим и тем же именем ?
0
70 / 70 / 23
Регистрация: 14.10.2013
Сообщений: 528
25.11.2016, 21:22 10
Цитата Сообщение от HYDRA8 Посмотреть сообщение
Файл копируется (гуд). Но возможно сделать так чтобы всегда когда кто нибудь запускал эту программу то всегда создавались новые копии файла одим и тем же именем ?
С одним и тем же именем файла в одной папке винда не позволит сделать.
0
3 / 3 / 0
Регистрация: 09.11.2016
Сообщений: 88
Записей в блоге: 2
25.11.2016, 22:22  [ТС] 11
Плохо дело .. а возможно ли сделать так чтобы с каждым запуском программы появлялась новая копия файла и сохранялась с тем же названием что и предидущая копия только с цифрой идущей после цифры предидущей копии?
img1.png
img2.png
img3.png
img4.png
итд
0
пофигист широкого профиля
4359 / 2863 / 813
Регистрация: 15.07.2013
Сообщений: 16,588
26.11.2016, 01:06 12
Цитата Сообщение от HYDRA8 Посмотреть сообщение
возможно ли сделать так чтобы с каждым запуском программы появлялась новая копия файла и сохранялась с тем же названием что и предидущая копия только с цифрой идущей после цифры предидущей копии?
Возможно. Просто нужно куда-то запоминать номер последнего сохраненного файла. В ини-файл, реестр, служебный файл программы, etc.
0
495 / 397 / 260
Регистрация: 05.04.2013
Сообщений: 1,763
26.11.2016, 05:55 13
Цитата Сообщение от HYDRA8 Посмотреть сообщение
а возможно ли сделать так чтобы с каждым запуском программы появлялась новая копия файла и сохранялась с тем же названием что и предидущая копия только с цифрой идущей после цифры предидущей копии?
можно сделать проверку, существует ли такой файл, если да, то к имени файла "прибавить" цифру (0 или 1), если такой существует то увеличить эту цифру и т.д
Delphi
1
2
3
4
5
6
if FileExtsts('image.png') then
   BEGIN
      i := 0; // i := 1;
      while (FileExists('image' + IntToStr(i) + '.png')) do inc(i);
      CopyFile(PChar('sourse_image.png'),PChar('image' + IntToStr(i) + '.png'), FALSE);
   END ELSE CopyFile(PChar('sourse_image.png'),PChar('image' + IntToStr(i) + '.png'), FALSE);
А лучше сохранять добавляя в имя файла текущую дату и время, типа
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
var
  myDate : TDateTime;
  myYear, myMonth, myDay : Word;
  myHour, myMin, mySec, myMilli : Word;
  FilName : String;
begin
  // Установка переменной myDate на "здесь и сейчас"
  myDate := StrToDateTime(Now);
  DecodeDateTime(myDate, myYear, myMonth, myDay,
                 myHour, myMin, mySec, myMilli);
  FileName := 'image_' + myYear + '-' + myMonth + '-' + myDay + '_' + myHour + '-' + myMin + '-' + mySec + '-' + myMilli + '.png';
  
  if FileExists(FileName) then ShoeMessage('Нелепое совпадение')
  else CopyFile(PChar('sourse_image.png'),PChar(FileName), FALSE);
1
Эксперт Pascal/Delphi
4702 / 2686 / 835
Регистрация: 04.10.2012
Сообщений: 9,780
26.11.2016, 10:09 14
HYDRA8, еще один стандартный (системный) вариант: https://www.cyberforum.ru/post5871385.html
0
52 / 52 / 5
Регистрация: 22.11.2016
Сообщений: 268
26.11.2016, 18:17 15
Цитата Сообщение от Teodor7 Посмотреть сообщение
CopyFile(PChar('c:\ЗагруженнаяПапка\text.bin'),PChar('c:\Пус таяПапка\text2.bin'), FALSE);
Если False, то файл переписывается поверх существующего. Если True и файл с таким именем есть, то ничего не происходит.
0
3 / 3 / 0
Регистрация: 09.11.2016
Сообщений: 88
Записей в блоге: 2
27.11.2016, 00:03  [ТС] 16
А почему когда программа без формы то код ' не знает ' команды(функции) IntToStr ?
0
Модератор
7007 / 4549 / 1927
Регистрация: 21.01.2014
Сообщений: 19,325
Записей в блоге: 3
27.11.2016, 00:05 17
Цитата Сообщение от HYDRA8 Посмотреть сообщение
код ' не знает ' команды(функции) IntToStr ?
Delphi
1
uses SysUtils
1
97 / 97 / 25
Регистрация: 25.04.2016
Сообщений: 525
27.11.2016, 00:06 18
Цитата Сообщение от HYDRA8 Посмотреть сообщение
А почему когда программа без формы то код ' не знает ' команды(функции) IntToStr ?
Вредничает она.

А по теме - "команда" в юните, который не подключается в приложении "без формы".
0
northener
27.11.2016, 00:34
  #19

Не по теме:

Цитата Сообщение от AHBAR Посмотреть сообщение
А лучше сохранять добавляя в имя файла текущую дату и время
Присоединяюсь.
Только зачем лишние переменные и процедуры, когда есть FormatDateTime?

0
3 / 3 / 0
Регистрация: 09.11.2016
Сообщений: 88
Записей в блоге: 2
01.12.2016, 00:42  [ТС] 20
А как сделать чтобы файл копировался из любой папки в которую его занес пользователь ?
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
01.12.2016, 00:42

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

Как копировать до и после определенного символа?
Есть строка, в ней несколько символов. нужно найти определенный символ, в первую переменную...

Как копировать часть Image в clipboard?
Как скопировать прямоугольную часть Image в clipboard? Если что не пинайте, я чайник :)

Как запретить в Edit копировать с буфера обмена?
На OnKeyPress кинул код: if not ( key in ) then begin key:=#3 ; ShowMessage ('бла .. бла...

Как выделенную строку в ListBox копировать в Memo?
Здравствуйте, помогите сделать так, чтобы при нажатии на любую строку в ListBox, ее имя...


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

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

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