Форум программистов «Весельчак У»
  *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

  • Рекомендуем проверить настройки временной зоны в вашем профиле (страница "Внешний вид форума", пункт "Часовой пояс:").
  • У нас больше нет рассылок. Если вам приходят письма от наших бывших рассылок mail.ru и subscribe.ru, то знайте, что это не мы рассылаем.
   Начало  
Наши сайты
Помощь Поиск Календарь Почта Войти Регистрация  
 
Страниц: [1]   Вниз
  Печать  
Автор Тема: Переименование  (Прочитано 8535 раз)
0 Пользователей и 1 Гость смотрят эту тему.
MS
Помогающий

ru
Offline Offline
Пол: Мужской

« : 09-07-2007 08:48 » 

Нужно написать программу, чтобы она переименовывала выбранные файлы по определенному порядку.
Пример: есть файлы ацукк, кук, прна, авпеп, апку....
нужно получить 001, 002, 003, 004 .....
Понятно что выбранные файлы помещаем в массив, подскажите как переименовать файл. Заранее спасибо.
Записан

Ничто так не ограничивает полёт мысли программиста, как компилятор
nikedeforest
Команда клуба

ru
Offline Offline
Пол: Мужской

« Ответ #1 : 09-07-2007 10:03 » 

Цитата
The MoveFile function moves an existing file or a directory, including its children.

To specify how to move the file, use the MoveFileEx function.


BOOL MoveFile(
  LPCTSTR lpExistingFileName,
  LPCTSTR lpNewFileName
);

Parameters
lpExistingFileName
[in] Pointer to a null-terminated string that names an existing file or directory.
In the ANSI version of this function, the name is limited to MAX_PATH characters. To extend this limit to 32,767 wide characters, call the Unicode version of the function and prepend "\\?\" to the path. For more information, see Naming a File.

Windows Me/98/95:  This string must not exceed MAX_PATH characters.
lpNewFileName
[in] Pointer to a null-terminated string that specifies the new name of a file or directory. The new name must not already exist. A new file may be on a different file system or drive. A new directory must be on the same drive.
In the ANSI version of this function, the name is limited to MAX_PATH characters. To extend this limit to 32,767 wide characters, call the Unicode version of the function and prepend "\\?\" to the path. For more information, see Naming a File.

Windows Me/98/95:  This string must not exceed MAX_PATH characters.
Return Values
If the function succeeds, the return value is nonzero.

If the function fails, the return value is zero. To get extended error information, call GetLastError.

Remarks
The MoveFile function will move (rename) either a file or a directory (including its children) either in the same directory or across directories. The one caveat is that the MoveFile function will fail on directory moves when the destination is on a different volume.

If a file is moved across volumes, MoveFile does not move the security descriptor with the file. The file will be assigned the default security descriptor in the destination directory.

The MoveFile function coordinates its operation with the link tracking service, so link sources can be tracked as they are moved.

Requirements
Client Requires Windows XP, Windows 2000 Professional, Windows NT Workstation, Windows Me, Windows 98, or Windows 95.
Server Requires Windows Server 2003, Windows 2000 Server, or Windows NT Server.
Header Declared in Winbase.h; include Windows.h.
 
Library Link to Kernel32.lib.
 
DLL Requires Kernel32.dll. 
Unicode Implemented as MoveFileW (Unicode) and MoveFileA (ANSI). Note that Unicode support on Windows Me/98/95 requires Microsoft Layer for Unicode.
 

See Also
File Management Functions, CopyFile, MoveFileEx, MoveFileWithProgress

Записан

ещё один вопрос ...
MS
Помогающий

ru
Offline Offline
Пол: Мужской

« Ответ #2 : 09-07-2007 16:40 » 

nikedeforest, а нельзя ли как-нибудь понагляднее.
Записан

Ничто так не ограничивает полёт мысли программиста, как компилятор
nikedeforest
Команда клуба

ru
Offline Offline
Пол: Мужской

« Ответ #3 : 09-07-2007 17:05 » 

Хм, а где непонятка-то? Берешь имя файла вставляешь в первый параметр, а во втором будет новое имя. В имени файла и путь файла содрежится в том числе. Или ты не знаешь как получать список файлов каталоге?
Записан

ещё один вопрос ...
MS
Помогающий

ru
Offline Offline
Пол: Мужской

« Ответ #4 : 09-07-2007 17:12 » 

С функцией все понятно, ошибка в Kernel32.dll.

 function MoveFile(lpExistingFileName, lpNewFileName: PChar): bool; HDC; stdcall; external 'kernel32.dll' name 'MoveFile';

Подскажи пожалуйста как подключить.
« Последнее редактирование: 09-07-2007 17:24 от MS » Записан

Ничто так не ограничивает полёт мысли программиста, как компилятор
RXL
Технический
Администратор

ru
Offline Offline
Пол: Мужской

WWW
« Ответ #5 : 09-07-2007 19:16 » 

Если это Delphi, то видимо через "use Windows". Хелпы у тебя с дельфями есть?
Записан

... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
zubr
Модератор

by
Offline Offline
Пол: Мужской

« Ответ #6 : 10-07-2007 04:27 » 

Цитата
С функцией все понятно, ошибка в Kernel32.dll.
Ошибка, потому что в Kernel32.dll нет такой функции, есть MoveFileA(для ANSI) и MoveFileW(для Unicod).
А вообще в Delphi есть своя функция RenameFile в модуле SysUtils.
Записан
MS
Помогающий

ru
Offline Offline
Пол: Мужской

« Ответ #7 : 10-07-2007 04:33 » 

zubr, а нельзя ли пример. Улыбаюсь
Записан

Ничто так не ограничивает полёт мысли программиста, как компилятор
nikedeforest
Команда клуба

ru
Offline Offline
Пол: Мужской

« Ответ #8 : 10-07-2007 04:59 » 

MS, ты уже ленишься !!!
Записан

ещё один вопрос ...
MS
Помогающий

ru
Offline Offline
Пол: Мужской

« Ответ #9 : 10-07-2007 05:03 » 

Всем спасибо переименовать получилось. Остается только добачить прогу в контекстное меню файлов, а дальше дело техники. Ага
« Последнее редактирование: 10-07-2007 06:50 от MS » Записан

Ничто так не ограничивает полёт мысли программиста, как компилятор
Страниц: [1]   Вверх
  Печать  
 

Powered by SMF 1.1.21 | SMF © 2015, Simple Machines