Карта сайта Kansoftware
НОВОСТИУСЛУГИРЕШЕНИЯКОНТАКТЫ
KANSoftWare

Как в Delphi дозвониться до провайдера 2

Delphi , Интернет и Сети , Dial-up

Как в Delphi дозвониться до провайдера 2

Автор: Nomadic

Идет коннект, качается, срываясь на ходу...


function DialProvider(connection: string): boolean;
// connection - имя учетной записи
var
  pars: TRasDialParams;
  hRas: ThrasConn;
  r: integer;
begin
  hRas := 0;
  strpcopy(pars.szEntryName, connection); // имя учетной записи
  pars.szPhoneNumber := ''; // номеp телефона - по умолчанию
  pars.szcallbacknumber := ''; // callback нам не нужен
  pars.szUserName := ''; // логин - по умолчанию
  pars.szPassWord := ''; // паpоль - по умолчанию
  pars.szDomain := '';   // аналогично с домейном
  pars.dwSize := Sizeof(TRasDialParams); // вычисляем pазмеp записи
  r := rasdial(nil, nil, pars, 0, nil, hRas); // звоним
  if r <> 0 then
  begin // если что-то неполучилось, то
    rasHangUp(hRas); // сбpасываем соединение
    result := false; // ф-ция тепеpь веpнет false
  end
  else
    result := true; // а если все ок - то true.
end;

P.S. Ras.pas бpать с www.torry.ru

Программный код на Delphi!

Функция DialProvider предназначена для установления соединения с удаленным провайдером с помощью API RAS (Remote Access Service) в Windows. Функция принимает строку connection как параметр входа, которая представляет собой имя пользователя учетной записи.

Код выполняет следующие действия:

  1. Инициализирует структуру TRasDialParams (pars) и устанавливает ее поля в значения по умолчанию.
  2. Копирует предоставленную строку connection в поле szEntryName структуры pars, которое представляет собой имя пользователя учетной записи.
  3. Функция вызывает функцию API rasdial для установления соединения с удаленным провайдером. Функция принимает несколько параметров:
    • nil: пустой указатель (не используется в этом случае)
    • nil: еще один пустой указатель (не используется в этом случае)
    • pars: структура TRasDialParams
    • 0: размер структуры pars
    • nil: указатель на функцию обратного вызова (не используется в этом случае)
    • hRas: переменная, которая будет хранить.handle соединения
  4. Если функция rasdial возвращает код ошибки (r <> 0), функция вызывает функцию rasHangUp для разъединения соединения и устанавливает результат в false.
  5. Если функция rasdial успешна, функция устанавливает результат в true.

Программный код предполагает, что библиотека RAS API (Ras.pas) доступна на системе.

В ответ на ваш вопрос о том, как подключиться к провайдеру с помощью Delphi, этот код-snippet должен помочь вам достичь этого. Просто убедитесь, что включите библиотеку Ras.pas в ваш проект и предоставьте правильное имя пользователя (connection строка) для установления соединения.

Альтернативное решение:

uses RAS;

function DialProvider(connection: string): boolean;
var
  hRas: ThrasConn;
begin
  Result := False; // assume failure

   // Create a new RAS connection
  hRas := RasCreate(NULL, NULL);

  if hRas <> 0 then begin
     // Set the username and other parameters
    RasSetEntryName(hRas, PChar(connection));
    RasHangUp(hRas);
    Result := True; // success
  end;
end;

Код использует функцию RasCreate для создания нового соединения RAS, устанавливает имя пользователя с помощью RasSetEntryName, а затем разъединяет соединение с помощью RasHangUp. Если создание соединения успешно, результат установлен в True.

Обратите внимание, что это альтернативное решение предполагает, что вы включили библиотеку Ras.pas в ваш проект.

В статье описывается функция на языке Delphi, которая позволяет дозвониться до провайдера 2 и установить соединение в случае успешного звонка, а в противном случае - сбросить соединение.


Комментарии и вопросы

Получайте свежие новости и обновления по Object Pascal, Delphi и Lazarus прямо в свой смартфон. Подпишитесь на наш Telegram-канал delphi_kansoftware и будьте в курсе последних тенденций в разработке под Linux, Windows, Android и iOS




Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.


:: Главная :: Dial-up ::


реклама


©KANSoftWare (разработка программного обеспечения, создание программ, создание интерактивных сайтов), 2007
Top.Mail.Ru

Время компиляции файла: 2024-12-22 20:14:06
2025-06-15 23:20:40/0.0037260055541992/0