0 / 0 / 0
Регистрация: 15.02.2010
Сообщений: 4

действия над файлами

15.02.2010, 17:19. Показов 3805. Ответов 9
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
приветствую всех!
я еще очень начинающий программист
уже устал в поисках информации, но так и не разобрался с такой задачей: 1. скопировать файл из одной директории в другую. 2. присвоить новому файлу определенное имя.
пожалуйста, подскажите на примере, доступном для новичка, с использованием компонента диалогового окна
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
15.02.2010, 17:19
Ответы с готовыми решениями:

Действия над файлами
Пользователь вводит имя файла Пользователь вводит действие “ сделать файл доступным для чтения сделать файл недоступным...

Арифметические действия над числами. Выбор номера действия. Перевод с Pascal
Арифметические действия над числами пронумерованы следующим образом: 1 — сложение, 2 — вычитание, 3 — умножение, 4 — деление. Дан номер...

Действия над полиномом
Здраствуйте все. Подскажите пожалуйста. Дан полином g(x) = x4 + 5x3 + 7x2 + 7x - 20. Нужно выполнить следующие действия средствами...

9
Покинул форум
3189 / 1368 / 109
Регистрация: 29.01.2010
Сообщений: 2,887
15.02.2010, 17:51
Способов копировать файл много. Но я вспомнил пока только один:
C++
1
2
3
if(OpenDialog1->Execute()){   //Эта проверка запускает Диологовое окно и если файл там выбран
RenameFile(OpenDialog1->FileName,"E:\\"+ExtractFileName(OpenDialog1->FileName));
}
RenameFile() - это не совсем копирование. Файл просто переименовывается.
RenameFile(OldName,NewName);
OldName - это старое имя файла. В твоем случаи это файл выбранный в диалоге (OpenDialog1->FileName)
NewName - это новое имя файла.
ExtractFileName(OpenDialog1->FileName) - извлекает из OpenDialog1->FileName только имя файла.
Если не пользоваться этой функией, то тогда в OpenDialog1->FileName буде полный путь к файлу:
"C:\\Test\\2TEST\\name.txt";
И все.

Добавлено через 8 минут
Начет присвоения нового имени. Можешь просто место "E:\\"+ExtractFileName(OpenDialog1->FileName) написать новое имя и все.
1
0 / 0 / 0
Регистрация: 15.02.2010
Сообщений: 4
16.02.2010, 14:50  [ТС]
спасибо,я попробую!
я пробовал функцию CopyFileTO(). но что то не идет. отладчик при компилировании ругается,типа не определил что это такое. про нее ничего не подскажете? может в borland c++ builder 6 это не проходит, или я синтаксис не правильно понимаю, чего там в скобках должно быть.
0
Покинул форум
3189 / 1368 / 109
Регистрация: 29.01.2010
Сообщений: 2,887
16.02.2010, 14:59
Я про такую функию вообще не слышал.
0
 Аватар для voalex
32 / 32 / 8
Регистрация: 21.10.2009
Сообщений: 97
09.06.2010, 15:14
Лучший ответ Сообщение было отмечено как решение

Решение

C++
1
2
if(CopyFileTo("D:\\1.xls","D:\\t\\1.xls"))
  ShowMessage("sd");
и включи обязательно #include <IdGlobal.hpp>
первое в кавычках - это путь и исходный файл, второе место назначения
При этом я не создавал файл 1.xls в директории D:\t\ - он там создался автоматически

Добавлено через 3 минуты
Имя второго файла может быть произвольным.

Добавлено через 4 минуты
Функция булева - возвращает значение true если в копируемой директории нет такого файла и false если такой файл есть. Если вы внесли изменения в исходный файл и еще раз его скопировали туда же, то копирование не будет осуществлено, и содержимое не будет изменено. Попробуйте поэкспериментировать.
3
Эксперт С++
 Аватар для MikeSoft
3957 / 1812 / 184
Регистрация: 21.11.2009
Сообщений: 2,540
10.06.2010, 00:59
voalex, а зачем использовать ещё одну библиотеку (в данном случае разработанную INDY, которая может в любой момент прекратить поддержку), если можно воспользоваться функциями:
MoveFile, CopyFile ?

Хэдэром для них является windows.h, системная библиотека - Kernel32.dll
VCL приложение подключает windows.h автоматом. Синтаксис функций таков:

C++
1
2
3
4
BOOL WINAPI MoveFile(
  __in  LPCTSTR lpExistingFileName,
  __in  LPCTSTR lpNewFileName
);
C++
1
2
3
4
5
BOOL WINAPI CopyFile(
  __in  LPCTSTR lpExistingFileName,
  __in  LPCTSTR lpNewFileName,
  __in  BOOL bFailIfExists
);
2
 Аватар для voalex
32 / 32 / 8
Регистрация: 21.10.2009
Сообщений: 97
10.06.2010, 08:09
Без нее CopyFileTo не работает. А функциями MoveFile, CopyFile замечательно! Просто хотели узнать что за функция CopyFileTo, вот я в хэлпе и порылся.
0
 Аватар для Arnike
23 / 23 / 4
Регистрация: 26.12.2008
Сообщений: 142
22.02.2011, 22:50
Обьясните неучу почему не работает CopyFile() вот как копирую

C++
1
CopyFile(FName,FDir,true)
где FName и FDir AnsiString

получаю ошибку

[BCC32 Error] DataGet.cpp(150): E2034 Cannot convert 'AnsiString' to 'const wchar_t *'
Full parser context
DataGet.cpp(133): parsing: void _fastcall TForm2::Button3Click(TObject *)

C++
1
.c_str()
не помогает...искал примеры везде для указания файла используется AnsiString...как быть?

Добавлено через 2 минуты
да и вот еще стандартная справка рекомендует пользоваться классом TFile но у меня с ним ничего свершенно не получается =) вприниципе буду рад любому рабочему варианту...кроме стримов
0
 Аватар для iama
1360 / 988 / 119
Регистрация: 30.07.2010
Сообщений: 5,297
22.02.2011, 22:59
http://www.cyberguru.ru/progra... age19.html
1
 Аватар для Arnike
23 / 23 / 4
Регистрация: 26.12.2008
Сообщений: 142
22.02.2011, 23:11
Спасибо ) работает но получилось довольно объемно)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
22.02.2011, 23:11
Помогаю со студенческими работами здесь

Действия над дробями
Подскажите пожалуйста, каким компонентном Delphi можно реализовать ввод дробей типа как на картинке:

Действия над матрицами
Помогите выполнить действия над матрицами в С++ 2(А+В)(2В-А), где 3 4 5 А= 5 6 2 -1 3 1 -1 0 5 В = 0 1 3 ...

Действия над матрицей
Например есть массив 5х5 из натуральных чисел. Нужно найти массив, состоящий из чисел данного массива: всех четных; повторяющихся. Помогите...

Действия над матрицей
Например есть массив 5х5 из натуральных чисел. Нужно найти массив, состоящий из чисел данного массива: всех четных; повторяющихся. Помогите...

Действия над матрицами
Привет программистам ! помогите плз вот в таком задании: ***** с клавиатуры задать матрицы А(n x n) и В(n x n). вычислит матрицу...


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

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

Новые блоги и статьи
Символьное дифференцирование
igorrr37 13.02.2026
/ * Программа принимает математическое выражение в виде строки и выдаёт его производную в виде строки и вычисляет значение производной при заданном х Логарифм записывается как: (x-2)log(x^2+2) -. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru