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

1001 и 1 вопрос по Дельфи


Apollon

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

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

Вот ниже утилита собрал на дельфи и плюс исходники, но ! у неё еще 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 ;)

Ссылка на комментарий
Поделиться на другие сайты

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

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

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

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

 uses ShellAPI; 

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

Ссылка на комментарий
Поделиться на другие сайты

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

Для начала можно почитать это. Ну это так, в общих чертах. В 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, ты бы факи-книжки почитал... по обустройству Борланды...

Ссылка на комментарий
Поделиться на другие сайты

компилируешь в 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
Ссылка на комментарий
Поделиться на другие сайты

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

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



Войти
  • Похожий контент

    • Elly
      От Elly
      Вопросы по работе форума следует писать сюда. Вопросы по модерированию, согласно правилам, сюда писать не следует.
      Ответ можно получить только на вопрос, который грамотно сформулирован и не нарушает правил\устава форума.
    • igrok52
      От igrok52
      Подскажите пожалуйста. Антивирусом касперского пользуюсь много лет с 3.0 версии как все работает понимаю на пк. Подскажите пожалуйста кто знает по поводу Антивируса для Android устройств, не разу не ставил и вообще в экосистеме андроида не очень разбираюсь. Купил планшет дочке, загрузчик разблокирован, что там поставили понятия не имею, все работает но боюсь что есть какие то закладки от "китайцев" и пока не проверю не успокоюсь. Поможет антивирус касперского для андроида найти закладки или что то что может быть типа как в телефонах в китайских были закладки от китайцев которые смс отправляли на странные номера (лет 5 назад была эпидемия что и кнопочные и смартфоны дешевые слали смс по ночам в неизвестном направлении, оказалось что прошивка была с вирусами). Или для андроида версия может проверять только apk и не сможет увидеть что в системе есть вредоносы? Если что планшет из нашего ретейла, подумать не мог что у нас в солидных магазинах будут продавать планшеты с китайской прошивкой с разблокированным загрузчиком (Lenovo Xiaoxin Pad Pro 12.7).
    • MiStr
      От MiStr
      Цикл интервью с экспертами "Лаборатории Касперского" сезона 2024 года возобновляется
       
      На прошедшей в стенах "Лаборатории Касперского"  встрече , приуроченной к 18-летию Kaspersky Club, участники клуба пообщались с Еленой Лесных, старшим продуктовым маркетологом в подразделении мобильных продуктов в продуктовом маркетинге B2C. Елена рассказала о том, как была усилена защита от киберугроз и мошенников в последних обновлениях мобильной версии Kaspersky и Kaspersky Who Calls.
       
      Выступление Елены и её коллеги Никиты вызвало большой интерес у участников клуба. Не все присутствующие на встрече смогли задать свои вопросы, не говоря уже про тех, кто не смог посетить офис "Лаборатории Касперского". Именно поэтому мы пригласили Елену ещё раз пообщаться с участниками клуба, на этот раз в формате онлайн
       
      @Lena_Lesnykh готова отвечать на вопросы участников клуба по 18 октября 2024 года включительно. Традиционно интервьюируемой будет выбран лучший вопрос, автор которого получит подарок от клуба. Вопросы можно начинать задавать уже сейчас.
       

       
       
    • pokrac
      От pokrac
      Давал ребенкоу поиграть в компьютер, что то скачивал, по итогу ночью открываю компьютер, а у меня все файлы с префиксом Lock. ничего не открывается, ну и смена обоев, с тг аккаунтом для решения вопроса
    • esc.tech
      От esc.tech
      Здравствуйте, я бы хотел у вас спросить, когда вы добавите в свой антивирус дополнительное сканирование файлов? Так как в последнее время люди уже начинают шифровать вирусы что делает его незамеченным и ваш антивирус не замечает его. 

×
×
  • Создать...