Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "WinAPI";
Текущий архив: 2005.02.20;
Скачать: [xml.tar.bz2];

Вниз

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

 
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 вся ветка

Форум: "WinAPI";
Текущий архив: 2005.02.20;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.45 MB
Время: 0.043 c
4-1105186547
BVV
2005-01-08 15:15
2005.02.20
TerminateProcess


14-1107341109
DelphiNew
2005-02-02 13:45
2005.02.20
Документирование кода


1-1107446586
Muhan
2005-02-03 19:03
2005.02.20
Распечатка и кое-что еще...


6-1100266424
Ирина
2004-11-12 16:33
2005.02.20
ftp-сервер


3-1106648690
Sergilov
2005-01-25 13:24
2005.02.20
Как узнать текущий формат даты в Access???





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский