Форум программистов, компьютерный форум, киберфорум
C++ Builder
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.68/19: Рейтинг темы: голосов - 19, средняя оценка - 4.68
0 / 0 / 0
Регистрация: 15.02.2010
Сообщений: 4

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

15.02.2010, 17:19. Показов 3802. Ответов 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
Ответ Создать тему
Новые блоги и статьи
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL3_image
8Observer8 27.01.2026
Содержание блога SDL3_image - это библиотека для загрузки и работы с изображениями. Эта пошаговая инструкция покажет, как загрузить и вывести на экран смартфона картинку с альфа-каналом, то есть с. . .
Влияние грибов на сукцессию
anaschu 26.01.2026
Бифуркационные изменения массы гриба происходят тогда, когда мы уменьшаем массу компоста в 10 раз, а скорость прироста биомассы уменьшаем в три раза. Скорость прироста биомассы может уменьшаться за. . .
Воспроизведение звукового файла с помощью SDL3_mixer при касании экрана Android
8Observer8 26.01.2026
Содержание блога SDL3_mixer - это библиотека я для воспроизведения аудио. В отличие от инструкции по добавлению текста код по проигрыванию звука уже содержится в шаблоне примера. Нужно только. . .
Установка Android SDK, NDK, JDK, CMake и т.д.
8Observer8 25.01.2026
Содержание блога Перейдите по ссылке: https:/ / developer. android. com/ studio и в самом низу страницы кликните по архиву "commandlinetools-win-xxxxxx_latest. zip" Извлеките архив и вы увидите. . .
Вывод текста со шрифтом TTF на Android с помощью библиотеки SDL3_ttf
8Observer8 25.01.2026
Содержание блога Если у вас не установлены Android SDK, NDK, JDK, и т. д. то сделайте это по следующей инструкции: Установка Android SDK, NDK, JDK, CMake и т. д. Сборка примера Скачайте. . .
Использование SDL3-callbacks вместо функции main() на Android, Desktop и WebAssembly
8Observer8 24.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru