Помощь - Поиск - Пользователи - Календарь
Полная версия: Переименовывание
Форум «Всё о Паскале» > Современный Паскаль и другие языки > Делфи
Адель
возможно ли программе преименовать свой собсвенный экзешный файл в процессе выполнения??
мисс_граффити
Попробуй так:
procedure TForm1.Button1Click(Sender: TObject);
begin
if FileExists('Project1.exe') then
RenameFile('Project1.exe','2.exe');
end;
Malice
Цитата(мисс_граффити @ 12.04.2007 19:19) *

Попробуй так:

nea.gif Так конечно не получится, т.к. файл залочен в этот момент и штатными средствами сделать это не просто smile.gif
volvo
ДРКБ -> Работа с файловой системой -> Файловые операции (копирование, удаление, ...) -> Как удалить файл из самого себя?

Переименовать можно по тому же принципу... Кстати в статье популярно объясняется, почему нельзя переименовать файл напрямую smile.gif
мисс_граффити
У меня работает, иначе бы не стала выкладывать.
Адель
2volvo пе могбы пояснить эти строчки и как их переделать в переименование? no1.gif

writeln(f, ':1');
writeln(f, format('Erase "%s"', [paramstr(0)]));
writeln(f, format('If exist "%s" Goto 1', [paramstr(0)]));
writeln(f, format('Erase "%s"', [FileName]));



2мисс_граффити у меня тоже no1.gif

PS возник еще вопросик): как получить имя файла, который сейчас себя выполняет?
мисс_граффити
У тебя тоже - что? Работает или не работает? smile.gif А то в сочетании с этим смайлом непонятно...
Адель
работает wink.gif
глупо, что сама не попробовала)
Malice
Цитата(Адель @ 13.04.2007 7:37) *

работает wink.gif

Я похоже с удалением перепутал, сорри smile.gif

Цитата(Адель @ 13.04.2007 7:37) *

PS возник еще вопросик): как получить имя файла, который сейчас себя выполняет?

Я так понимаю имя файла до переименования или после ? smile.gif
мисс_граффити
я так понимаю, что ты хочешь заменить
 RenameFile('Project1.exe','2.exe');
на
 RenameFile(<определенное имя>,<новое имя>);

Ничего умнее, чем по handl'у окна определять процесс, я не придумала. sad.gif
Но, наверное, должен быть более простой способ.
Адель
хочется, чтоб он сам себя переименовал, получив в качестве первого параметра свое имя) ..
Цитата
по handl'у окна определять процесс

снасчала тож так подумала, но handl дает имя формы, а не имя проекта unsure.gif
мисс_граффити
посмотри вот здесь:
http://www.delphikingdom.com/asp/answer.asp?IDAnswer=50760
Адель
мисс_граффити спасиб) то,что нужно
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.