Стал старик кликать золотую рыбку и не открылась ему страница, видно линия была перегружена.
unit Unit1;
{ This unit shows how you can establish a connection to the internet without any
user interaction.}interfaceuses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;
type
TForm1 = class(TForm)
Button1: TButton;
Button2: TButton;
edtEntry: TEdit; // holds the name of the connection, e.g. 'bluewin'
edtUser: TEdit; // the username for the above connection
edtPass: TEdit; // and the password procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
private{ Private declarations }public{ Public declarations }end;
var
Form1: TForm1;
implementationuses shellapi;
{$R *.dfm}procedure TForm1.Button1Click(Sender: TObject);
var
cmd, par, fil, dir: PChar;
begin// establish the connection // die Verbindung aufbauen // rasdial.exe entryname username password
cmd := 'open';
fil := 'rasdial.exe';
par := PChar(edtEntry.Text + ' ' + edtUser.Text + ' ' + edtPass.Text);
dir := 'C:';
// call rasdial.exe with Shellexecute // rasdial mit Shellexecute aufrufen
ShellExecute(Self.Handle, cmd, fil, par, dir, SW_SHOWMINNOACTIVE);
end;
procedure TForm1.Button2Click(Sender: TObject);
var
cmd, par, fil, dir: PChar;
begin// disconnect the connection to the Internet // Verbindung zum Internet abbrechen
cmd := 'open';
fil := 'rasdial.exe';
par := PChar(edtEntry.Text + ' /DISCONNECT');
dir := 'C:';
ShellExecute(Self.Handle, cmd, fil, par, dir, SW_SHOWMINNOACTIVE);
end;
end.
Программный модуль на языке Delphi, демонстрирующий установку и отключение интернет-соединения с помощью командной утилиты rasdial.exe.
Вот разбивка кода:
Единица начинается с объявления формы (TForm1) с двумя кнопками, тремя полями для ввода и процедурой для каждой кнопки.
Процедура Button1Click устанавливает соединение с интернетом, вызывая командную утилиту rasdial.exe с следующими аргументами:
cmd: установлено в 'open'
fil: установлено в 'rasdial.exe'
par: установлено в конкатенированной строке полей ввода формы (edtEntry, edtUser и edtPass)
dir: установлено в текущий каталог ('C:')
SW_SHOWMINNOACTIVE: флаг, указывающий, что оболочка должна отображать окно в миниатюре
Процедура Button2Click отключает интернет-соединение, вызывая ту же командную утилиту rasdial.exe с следующими аргументами:
cmd: установлено в 'open'
fil: установлено в 'rasdial.exe'
par: установлено в конкатенированной строке полей ввода формы (edtEntry) с добавлением /DISCONNECT
dir: установлено в текущий каталог ('C:')
SW_SHOWMINNOACTIVE: флаг, указывающий, что оболочка должна отображать окно в миниатюре
Для использования этого кода вам нужно:
Создать новый проект Delphi и добавить эту единицу к нему.
Добавить форму на главной форме проекта и добавить три поля ввода (edtEntry, edtUser и edtPass) и две кнопки (Button1 и Button2) к ней.
Установить заголовок каждой кнопки в 'Establish Connection' и 'Disconnect', соответственно.
Запустить проект и нажать на кнопку 'Establish Connection', чтобы установить интернет-соединение с указанными учетными данными.
Обратите внимание, что этот код предполагает, что командная утилита rasdial.exe установленна на системе и пользователь имеет необходимые разрешения для доступа к ней. Кроме того, код не обрабатывает ошибки или исключения, которые могут возникнуть при выполнении команды rasdial.exe.
Статья описывает способ установки соединения с Интернет и его отключения в Delphi-приложении, используя команду rasdial.exe для настройки сетевых подключений.
Комментарии и вопросы
Получайте свежие новости и обновления по Object Pascal, Delphi и Lazarus прямо в свой смартфон. Подпишитесь на наш Telegram-канал delphi_kansoftware и будьте в курсе последних тенденций в разработке под Linux, Windows, Android и iOS
Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.