Показать сообщение отдельно
  #8  
Старый 28.06.2008, 08:21
lmikle lmikle вне форума
Модератор
 
Регистрация: 17.04.2008
Сообщения: 8,087
Версия Delphi: 7, XE3, 10.2
Репутация: 49089
По умолчанию

Вообще, переименовать файл можно командой Rename. Одно из имен у тебя уже готовое лежит в листбоксе. Второе надо сконструировать.

Код:
var
  OldName, NewName : String;
begin
  OldName := ListBox1.Items[ListBox1.ItemIndex]; // Get current name
  If InputQuery('Rename','New name:',NewName) Then // Ask user for new name
    Begin
      NewName := ExtractFilePath(OldName) + // path
                        ChangeFileExt(NewName,ExtractFileExt(OldName)); // New file name and save orig. extention              
      If Rename(OldName,NewName) 
        Then ListBox1.Items[ListBox1.ItemIndex] := NewName // Update current name
        Else ShowMessage('Error renaming file.');
    End;
end;

Сорри, коменты по английски.
Идея такая. В листбоксе лежит полное имя файла (с путем).
Переименовываем выбранный файл.
Спрашиваем новое имя у пользователя.
Если получилось переименовать, то обновляем инфу в листбоксе, иначе - сообщение об ошибке.
Ответить с цитированием