Главная страница
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.47 MB
Время: 0.052 c
14-1107005723
Narik
2005-01-29 16:35
2005.02.20
?


14-1106813878
McSimm
2005-01-27 11:17
2005.02.20
О "цензуре"


9-1100888096
FRick
2004-11-19 21:14
2005.02.20
Зеркала в GLScene!


1-1107852549
Denis
2005-02-08 11:49
2005.02.20
Как проскроллить RichEdit до выделеного участка текста?


1-1107778456
Ega23
2005-02-07 15:14
2005.02.20
Поясните ситуацию с StrPCopy