Перейти к содержанию

Рекомендуемые сообщения

Опубликовано

Всем привет! вот наконец решился собрать свою утилиту ;)

Вот ниже утилита собрал на дельфи и плюс исходники, но ! у неё еще 98% функций не реализованны из-за того что в ОПП среде мне не хватает опыта :) (сказывается страдальный опыт теоретика учителя ;))

Очень прошу знающих дельфи людей помочь ;) и ответить на следующие вопросы

1. Есть консоль ну как консоль - самоделка брал исходники, на ней КГ в Фунты переводятся, а можно ли сделать из неё Коммандную строку ну хоть с 5-6 функциями от cmd.exe - например:

1.1 Format

1.2 XCopy

1.3 Tree

1.4 Del

1.5 Call

Если есть вариант не делать её, а подключить саму консоль от виндовз, то прошу пояснить и показать как это делается ;)

2. Как собрать файл Справка.hlp - и как правельно его прописать чтобы она открывалась? - Один момент прописал

winhelp(TForm,э забыл :) , справка.hlp, HELP_Забыл строчку :),1)

пытался сделать чтобы команда открывала справку по AVZ - а он мне говорит дистр устарел, а другой sqlhelp.help, открывает о_О ;) подскажите пожалуйста в чём проблема

3. Как можно интегрировать драйвера написанные на Си в среду Дельфи?

4. Как сделать кнопку чтобы она переадрисовывала на форум или же на сайт?

1.0.ZIP

Зарание Спасибо всем кто уделит внимание ;)

Опубликовано (изменено)

Для генерации файлов справки используется программа HTML Help Workshop так же очень хорошая программа Help & Manual 4.5

winhelp(form4.Handle, 'HelpFile.hlp', help_context,1);

1.2 - CopyFile('files.exe', C:\files.exe), false);

1.3. Могу предложить вот такую фукцию удаления файлов

function DeleteFileEvenIfItReadOnly(const FileName: string): Boolean;
var
 Attr: Integer;
begin
 Attr := GetFileAttributes(PChar(FileName));
 if ((Attr and faReadOnly) <> 0) then
 begin
Attr := Attr and (not faReadOnly);
SetFileAttributes(PChar(FileName), Attr);
 end;
 Result := Windows.DeleteFile(PChar(FileName)); 
end;

4.

procedure TForm1.Label1Click(Sender: TObject);
begin
 ShellExecute(handle, 'open', 'http://forum.kasperskyclub.ru/', nil, nil, SW_SHOW);
end;

Изменено пользователем kilo
Опубликовано
1. Есть консоль ну как консоль - самоделка брал исходники, на ней КГ в Фунты переводятся, а можно ли сделать из неё Коммандную строку ну хоть с 5-6 функциями от cmd.exe - например:
Да.

1. Указанные команды запускаются через CreateProcess() с перенаправлением вывода в память, а там уже пишешь в свою консоль как хочешь.

2. А чем тебя cmd не устроила? зачем изобретать велосипед?

 

2. Как собрать файл Справка.hlp - и как правельно его прописать чтобы она открывалась? - Один момент прописал
Лучше юзай HTML Help - CHМ, то бишь. Если кодишь на делфи - можно по F1 на разных контролах вызывать разные разделы справки (свойство HelpIndex, если мне не изменяет Альцгеймер)

 

пытался сделать чтобы команда открывала справку по AVZ - а он мне говорит дистр устарел, а другой sqlhelp.help, открывает о_О подскажите пожалуйста в чём проблема
А банальный winexec не катит?

 

3. Как можно интегрировать драйвера написанные на Си в среду Дельфи?
А в виде чего драйвера? В среду делфи - очень сложно :) В твою программу - легко. Самый простой путь - запихать драйвер в DLL и юзать её из твоего Делфи-приложения.

 

4. Как сделать кнопку чтобы она переадрисовывала на форум или же на сайт?
kilo выше дал код обработчика нажатия на метку.
Опубликовано
2. А чем тебя cmd не устроила? зачем изобретать велосипед?

Меня всё устроило, только я незнаю команд чтобы при нажатий на кнопку "Запустить консоль" - запускалась стандартная консоль винды то бишь cmd.exe :)

А в виде чего драйвера? В среду делфи - очень сложно В твою программу - легко. Самый простой путь - запихать драйвер в DLL и юзать её из твоего Делфи-приложения.

Есть драйвер антируткита написанный на Си, который мне дал добрый человек по имени Старик, за что ему спасибо ;)

А так же есть .sys драйвер который отвечает за защиту ядра виндовз ХР.

 

Так исходники драйверов постараюсь выкласть сегодня, э вопрос вы сказали их можно запихнуть в Длл и после использовать, покажите как? ;)

А банальный winexec не катит?

Повторюсь еще раз я еще в этом зелёный, прошу говорить по человечески ;)

Лучше юзай HTML Help - CHМ, то бишь. Если кодишь на делфи - можно по F1 на разных контролах вызывать разные разделы справки (свойство HelpIndex, если мне не изменяет Альцгеймер)

С этого места пожалуйста по подробнее ;)

 

4. Как сделать кнопку чтобы она переадрисовывала на форум или же на сайт?

kilo выше дал код обработчика нажатия на метку.

Код ошибки

[Error] Unit1.pas(47): Undeclared identifier: 'ShellExecute'
[Fatal Error] Project1.dpr(5): Could not compile used unit 'Unit1.pas'

З.Ы. Дельфи 7 ;)

Опубликовано
Код ошибки

Код

[Error] Unit1.pas(47): Undeclared identifier: 'ShellExecute'

[Fatal Error] Project1.dpr(5): Could not compile used unit 'Unit1.pas'

ShellAPI в Uses подключать нужно
Опубликовано
ShellAPI в Uses подключать нужно

Простите а можно точнее и это исходный код :) у меня литературы на руках нету и инета дома тоже, потому собираю из чего есть и плюс ваша помощь ;)

///////////////////////////////////// Добавленно ;)

Вот откапал это то? ;)

 uses ShellAPI; 

		 procedure TForm1.Button1Click(Sender: TObject); 
		 begin 
		   ShellExecute(Form1.Handle, 
						nil, 
						'http://www.borland.com', 
						nil, 
						nil, 
						SW_SHOWNORMAL); 
		 end;

Опубликовано

Да, оно самое. Но кроме ShellAPI в uses подключаются и другие модули

Опубликовано
подключаются и другие модули

Об это по подробнее можно одной длинющей лекцией, буду очень благодарен :)

Опубликовано (изменено)
Об это по подробнее можно одной длинющей лекцией, буду очень благодарен

Для начала можно почитать это. Ну это так, в общих чертах. В uses подключаются модули (по другому, "юниты" - .pas-файлы). В каждом модуле могут содержаться переменные, константы, процедуры, функции, компоненты (кнопки, текстовые поля и т.д.), формы (окна).

 

 

Вообще, рекомендую раздобыть для начинаний какую-нибудь книжку. Вот я начинал с "Delphi 4 для чайников", автора не помню. Вторым моим шагом было использование следующих оффлайн-сборников статей с кодом на Delphi:

DRKB

Delphi World

 

Также рекомендую поставить на Delphi расширение CnPack IDE Wizards - очень помогают, особенно в плане написания кода, заранее выдавая список возможных процедур/функций/значений, когда написал только буквы три из всего названия какой-либо функции.

Изменено пользователем Ta2i4
Опубликовано
Меня всё устроило, только я незнаю команд чтобы при нажатий на кнопку "Запустить консоль" - запускалась стандартная консоль винды то бишь cmd.exe
Так. По WinAPI тебе пока хватит Win32.hlp, поставляемого вместе с делфином. Для запуска процесса используются вроде 3 функции - WinExec, ShellExecute и CreateProcess. Смотришь параметры, в качестветого, что запускать используешь "cmd"...

 

Так исходники драйверов постараюсь выкласть сегодня, э вопрос вы сказали их можно запихнуть в Длл и после использовать, покажите как?
Скомпилировать в библиотеку любым СИшным компилятором (плюсов там я не вижу, только обычный Си)

 

Повторюсь еще раз я еще в этом зелёный, прошу говорить по человечески
Таааак. Пишешь в делфи WinExec (или что тебе надо) и тычешь F1. Читаешь.

 

С этого места пожалуйста по подробнее
Что - по-подробнее? Справку делаешь в HTML-формате, компилируешь в CHM (я пользуюсь официальным Microsoft HTML Help Workshop), в HTML-коде ставишь индексы, потом в своей проге в свойствах формы указываешь имя файла справки, а HelpIndex'ы у элементов управления ставишь как указывал в справке...

 

 

 

З.Ы. Дельфи 7
Рулёз.

 

З.Ы. User, ты бы факи-книжки почитал... по обустройству Борланды...

Опубликовано
З.Ы. User, ты бы факи-книжки почитал... по обустройству Борланды...

Итак читаю :)

Опубликовано
компилируешь в CHM (я пользуюсь официальным Microsoft HTML Help Workshop), в HTML-коде ставишь индексы, потом в своей проге в свойствах формы указываешь имя файла справки, а HelpIndex'ы у элементов управления ставишь как указывал в справке...

Только вроде Delphi не умеет с CHM форматом также легко работать, как с HLP (у меня для этого отдельный модуль из сборника статей DRKB). Или я ошибаюсь?

Опубликовано (изменено)

User

Что бы вызвать cmd.exe в Delphi используй

WinExec('cmd.exe',sw_shownormal);

Для что бы выполнить команду необходимо вызвать cmd.exe с ключом C или K, где С-выполняет указанную команду с последующем завершением, а K - без последующего завершения

Например cmd.exe /K ping ya.ru

WinExec('cmd.exe /K ping ya.ru',sw_shownormal);

Изменено пользователем kilo
  • Согласен 1
Опубликовано

Спасибо kilo за совет сегодня попробую :D

Опубликовано

Пожалуйста User только незабуть в uses подключить модуль ShellAPI если раньше этого не сделал

Пожалуйста, войдите, чтобы комментировать

Вы сможете оставить комментарий после входа в



Войти
×
×
  • Создать...