![]() |
|
|
|||||||
| Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
#1
|
|||
|
|||
|
Подскажите в сем ошибка:
Код:
program Project2;
{$APPTYPE CONSOLE}
uses
SysUtils;
var
f:string;
procedure poisk;
var
searchResult : TSearchRec;
g,y:string;
begin
if FindFirst('*.exe', faAnyFile, searchResult) = 0 then
begin
g:= ('link' +searchResult.Name);
y:= ChangeFileExt(g, '.txt');
RenameFile(g, y)
end;
end;
end.Задача такая: найти exe файл в папке с программой и изменить его расширение на .txt)))) Заранее спасибо))) |
|
#2
|
||||
|
||||
|
нужный файл в папке может оказаться отнюдь не первым.
и не могу сказать, в чем ошибка, если я не знаю, что не работает. |
|
#3
|
|||
|
|||
|
Сударь, Вы таки не отказались от своей заведомо бредовой идеи?
Ваш код ищет незнамо где - извольте указать папку для поиска, а не только маску, например C:\mySuperVirus\*.exe |
|
#4
|
|||
|
|||
|
Господин ChinYan
, от идеи я отказался, но все же меня мучает этот вопрос, пока я не сделаю эту программу (не вирус) я не смогу уснуть))) Данную программу я запускаю в одной папке с .exe файлом, следовательно путь указывать не нужно))) Если Вам не трудно подскажите где в этом коде ошибка или идите жалуйтесь модераторам, якобы за то что я тут на форуме поднял тему "Вирмейкинга". Может цель моей программы заключается в другом...![]() |
|
#5
|
|||
|
|||
|
Я вам уже писал, что открыв файл блокнотом, вы не увидите его внутренности. Тут нужен как минимум HEX редактор.
А что там в вашем коде не то - никто не скажет, пока вы скажете, что там происходит |
|
#6
|
|||
|
|||
|
Цитата:
А код не работает)) Я запускаю программу в одной папке с .exe файлом, но ничего не происходит, кроме того что на пару секунд вылезает консоль))) |
|
#7
|
|||
|
|||
|
Можете пжл протестировать, может у меня компилятор не правильно работает опять)))
![]() |
|
#8
|
|||
|
|||
|
Попробуйте всёж таки папку указать.
Кстати, у вас может произойти не успешная попытка переименовать файл самой программы - вам следует отследить это. |
|
#9
|
|||
|
|||
|
ChinYan, тоесть на Ваш взгляд код должен быть рабочим если указать путь к папке? И отследить не ищет ли программа сама себя)))
![]() |
|
#10
|
|||
|
|||
|
На мой взгляд, это - первое, что нужно сделать. О том, что программа пытается переименовать себя вас оповестит ОС в свойственной ей манере - выскажет все, что думает о вашем детище. Почему так произойдет, надеюсь, рассказывать не надо?
|
|
#11
|
|||
|
|||
|
Ну я понял что Вы имеете виду)) добавил путь, запускаю программу с другого места. Получается "одним выстрелом убил двух зайцев"// Смотреть переименовывает ли себя программа уже не надо и путь указан))) При проверке все тоже самое))) Вы не могли бы дать Ваш вариант кода)))
|
|
#12
|
|||
|
|||
|
Свой вариант не дам - на делфи давно не кодил и IDE на компе не стоит.
А вы вызывать ваше процедуру пробовали? |
|
#13
|
|||
|
|||
|
причем тут компилятор?
Смотрим код: Код:
g:= ('link' +searchResult.Name);
y:= ChangeFileExt(g, '.txt');
RenameFile(g, y)Пусть имя файла Project1.exe. Тогда, судя по коду вы пытаетесь переименовать файл linkProject1.exe в linkProject1.txt. Естественно, первый файл (исходный) просто не найден. Еще пояснения нужны? |
|
#14
|
|||
|
|||
|
Ой забыл)))
![]() |
|
#15
|
|||
|
|||
|
Нет до меня все дошло....
Спасибо всем))) ну я и тупой... |