![]() |
|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
![]() что-то сделал но все время какие-то ошибки выбивающие систему...а сдавать надо ее....желательно с пояснениями...спасибо заранее
a) Вывести в текстовый файл DIR.TXT оглавление текущей директории в формате: имя [DIR] размер дата создания время создания b) Найти в текущей директории и в её поддиректориях все BAK-файлы и уничтожить их. c) Найти в текущей директории и в её поддиректориях самый маленький EXE-файл и выполнить его. d) Найти в поддиректориях текущей директории все EXE-файлы и уничтожить их. e) Найти в текущей директории и в её поддиректориях самый старый DPR-файл и записать в его конец фразу "здесь был(а) <свое имя>". |
#2
|
||||
|
||||
![]() Хех, думаю что врятли тебе помогут с таким вопросом, писать не мало придётся. Лучше показывай свои ошибки, разберёмся, быстрее будет.
Алкоголик-аморал, явная угроза обществу Блин, я уже местный, а все равно нифига не знаю... |
#3
|
||||
|
||||
![]() Я бы помог, т.к. компонентики у меня для этого самописные есть, но вот общее направление этого задания мне категорически не нравится.
Жизнь такова какова она есть и больше никакова. Помогаю за спасибо. |
#4
|
||||
|
||||
![]() Если это задача поставлена ему ,например, преподом, то твои компонентики ему врятли помогут. А вообще постановка задачи странная, скорее всего ещё один начинающий вирусописатель.
Алкоголик-аморал, явная угроза обществу Блин, я уже местный, а все равно нифига не знаю... |
#5
|
|||
|
|||
![]() Да не, скорее всего действительно задача от препода. причем уровня школы. Все задачи решаются с помощью FindFirst/FindNext/FindClose, ну и еще пара функций:
- Удаление DeleteFile - Запуск WinExec или ShellExecute (рекомендую второй, из молуля ShellAPI) - Работа с текстовым файлом - через TStringList |
#6
|
|||
|
|||
![]() так, в качестве развлекалочки. Вот процка, которая занимается перебором файлов. Тебе надо только правильные калл-бэки написать и ей подсунуть в качестве третьего параметра:
Код:
type TEFCallBackAttr = record Name : String; FullName : String; Size : Integer; TimeStamp : TDateTime; IsFolder : Boolean; end; TEFCallBack = procedure(AInfo : TEFCallBackAttr) Of Object; //... procedure TForm1.EnumFiles(APath: String; ARecurse : Boolean; ACallBack: TEFCallBack); function FileTime2DateTime(FileTime: TFileTime): TDateTime; var LocalFileTime: TFileTime; SystemTime: TSystemTime; begin FileTimeToLocalFileTime(FileTime, LocalFileTime) ; FileTimeToSystemTime(LocalFileTime, SystemTime) ; Result := SystemTimeToDateTime(SystemTime) ; end; procedure CallCallBack(AP : String; AF : TSearhcRec; ACB: TEFCallBack); var AInfo : TEFCallBackAttr; begin If ACB <> Nil Then Begin AInfo.Name := F.Name; AInfo.FullName := APAth + F.Name; AInfo.IsFolder := (AF.Attr And faDirectory) <> 0; AInfo.Size := F.Size; AInfo.TimeStamp:= FileTime2DateTime(F.Time); ACB(AInfo); End; end; var F : TSearchRec; iFound : Integer; begin APath := IncludeTrailingPathDelimiter(APath); iFound := FindFirst(APath + '*.*', faAnyfile, F); While iFound = 0 Do Begin If (F.Attr And faDirectory) <> 0 Then Begin CallCallBack(APAth, F, ACallBack); If (F.Name <> '.') And (F.Name <> '..') And (ARecurse) Then EnumFiles(APath,ARecurse,ACallBack); End Else Begin CallCallBack(APAth, F, ACallBack); End; iFound := FindNext(F); end; FindClose(F); end; |
#7
|
|||
|
|||
![]() спасиб,да задача 1 курса надо сделать))
![]() |