Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2005.02.20;
Скачать: CL | DM;

Вниз

Как переименовать каталог   Найти похожие ветки 

 
suharew   (2005-01-05 21:02) [0]


procedure RenameDir(DirFrom, DirTo: string);
var
 shellinfo: TSHFileOpStruct;
begin
 with shellinfo do
 begin
   Wnd    := 0;
   wFunc  := FO_RENAME;
   pFrom  := PChar(DirFrom);
   pTo    := PChar(DirTo);
   fFlags := FOF_FILESONLY or FOF_ALLOWUNDO or
             FOF_SILENT or FOF_NOCONFIRMATION;
 end;
 SHFileOperation(shellinfo);
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
 RenameDir("C:\Dir1", "C:\Dir2");
end;


Делаю переименование таким способом. Все работает. Но если в цикле начинаешь переименовывать каталогов 10-20 то почему-то переименовывает через один или через два, короче часть все равно остается не переименована.
Есть может куда проще метод. Или я что-то не так делаю?


 
suharew   (2005-01-05 21:06) [1]


for j:=0 to filelistbox2.Count-1 do
 RenameDir(FileListBox2.Items.Strings[j],"dir"+inttostr(j))

Вот так переименовываю. Если цикл прерывать, вписав в него showmessage("") тогда работает нормально.


 
jack128 ©   (2005-01-06 02:09) [2]

Вот ищет народ проблем на свою голову..

for j:=0 to filelistbox2.Count-1 do
Win32Check(MoveFile(PChar(FileListBox2.Items[j]),PChar("dir"+inttostr(j))));


 
jack128 ©   (2005-01-06 02:11) [3]

А у тя была ошибка в следующем
pFrom

Pointer to a buffer that specifies one or more source file names. Multiple names must be null-separated. The list of names must be double null-terminated.



Страницы: 1 вся ветка

Текущий архив: 2005.02.20;
Скачать: CL | DM;

Наверх




Память: 0.44 MB
Время: 0.036 c
4-1104314900
MAINUSER
2004-12-29 13:08
2005.02.20
Восстановление удалённых файлов


14-1106724470
NewDelpher
2005-01-26 10:27
2005.02.20
Отношение к русским за границей


4-1104906408
N0th!ng
2005-01-05 09:26
2005.02.20
Сообщения Windows.


3-1106375511
forum_user
2005-01-22 09:31
2005.02.20
Поиск поля в БД Access


3-1106230095
Lord Zmiy
2005-01-20 17:08
2005.02.20
странная ошибка





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский