Головна сторінка
Top.Mail.Ru Яндекс.Метрика
Форум: "пошарпану";
Поточний архів: 2004.12.12;
Завантажити: [xml.tar.bz2];

Вниз

Робота з RAS Знайти схожі гілки


Piter ©   (2004-11-07 18:24) [0]

Ось цікавить мене такий аспект. Якщо у властивостях DIAL-UP з'єднання поставлено "Вивести вікно терміналу", то при додзвоні за допомогою RasDial, після з'єднання отримуєш помилку щось типу "З'єднання вимагає від користувача даних, але додаток не підтримує роботу з користувачем" або якось так, після чого з'єднання припиняється.

В принципі, логічно, так як потрібно відкрити вікно терміналу куди писати текст видавамий віддаленим сервером і посилати введені користувачем комманди ... Але як це організувати? Які опції налаштовувати? Не уявляю як організувати такий термінал ...



Piter ©   (2004-11-08 12:23) [1]

Люди?



KilkennyCat ©   (2004-11-08 12:29) [2]

Звірі.



Koala ©   (2004-11-08 13:41) [3]

Скопійовано з Kuliba

-------------------------------------------------- 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); // обчислюємо діаметра записи r: = rasdial (nil, nil, pars, 0, nil, hRas); // дзвонимо if r <> 0 then begin // якщо щось неполучілось, то rasHangUp (hRas); // сбpасиваем з'єднання result: = false; // ф-ція тепер веpнется false end else result: = true; // а якщо все ок - то true. end;
-------------------------------------------------- ----------------------
Ras.pas брат з www.torry.ru
У мене десь був, якщо треба знайду і вишлю поштою ...



Piter ©   (2004-11-08 14:34) [4]

Koala © (08.11.04 13: 41) [3]

ти питання читав? Додзвонитися до провайдера і я можу. Більш того, на цю тему я написав відповідь в FAQ. Можу процитувати:
--------------------------------------------
Питання: як встановити - розірвати з'єднання DialUp

Відповідь: потрібно скористатися функціями RAS - Remote Access Service. Але проблема в тому, що хоча в WIN32SDK.HLP є опис функцій з цього набору в розділі "Remote Access Service Functions", але файлів імпорту в постачанні Delphi немає. Тому ви можете вручну експортувати потрібні функції з "rasapi32.dll" користуючись довідкою Delphi і MSDN, але набагато ефективніше і розумніше буде взяти перекладені файли імпорту з проекту http://www.delphi-jedi.org/, в даний час точний URL для завантаження файлів імпорту RAS - ftp://delphi-jedi.org/api/RAS.zip

У набір входить декілька юнітів: Ras.pas, RasAuth.pas, RasDlg.pas, RasError.pas, RasSapi.pas, RasShost.pas, і додаткові юніти: RasUtils.pas, RasHelperClasses.pas, а також файли з папки DEMOS з потрібними константами: Lmcons.pas, LmErr.pas.

Можна ці юніти переписати по якомусь шляху, відомому Delphi, наприклад записати всі перераховані файли в каталог {Каталог_Delphi} / lib і далі просто підключати до будь-якими програмами ці модулі, наприклад:

uses ..., Ras, RasUtils, RasHelperClasses;

У RasHelperClasses.pas реалізовані дуже корисні класи, наприклад TRasDialer, TRasPhonebook, TRasConnectionsList, із застосуванням яких і побудований демонстраційний приклад RasDemo.dpr.

TRasDialer - инкапсулирует в собі з'єднання, після настройки можна встановлювати, роз'єднувати з'єднання, стежити за процесом встановлення з'єднання

TRasPhonebook - служить для управління існуючими з'єднаннями, дозволяє створювати нові, видаляти існуючі з'єднання, перейменовувати, налаштовувати параметри з'єднань

TRasConnectionsList - служить для управління поточними встановленими сполуками.

У мене тільки одне зауваження по вихідного коду прикладу RasDemo.dpr. Там в обробнику події TMainForm.PBDialBtnClick йде настройка TRasDialer по запису з TRasPhonebook методом

RasDialer.Assign (RasPhonebook [Selected.Index]);

Але реалізація методу Assign така, що імені з'єднання присвоюється порожній рядок:

procedure TRasDialer.Assign (Source: TPersistent); ... FParams.szEntryName: = ""; ...

З точки зору RAS установка з'єднання з такими параметрами буде йти як незалежне з'єднання. Тобто, фактично від вибраного з'єднання копіюються номер дозвону, номер зворотного виклику, ім'я користувача, пароль і домен. І встановлюється нове з'єднання з такими параметрами, яке до вибраного з'єднанню ніякого відношення не має. Але у вибраного з'єднання можуть бути встановлені необхідні для дозвону властивості, типу "Сценарій" або "Ручний набір номера".
Тому щоб перейняти і ці параметри, треба привласнити встановлюється з'єднання ім'я, аналогічне імені потрібного існуючого з'єднання. Наприклад, переробити приклад RasDemo.dpr таким чином:

procedure TMainForm.PBDialBtnClick (Sender: TObject); var NewDialParam: TRasDialParams; begin with PhonebookListView do if (Selected <> nil) then begin RasDialer.Assign (RasPhonebook [Selected.Index]); NewDialParam: = RasDialer.Params; StrPCopy (NewDialParam.szEntryName, RasPhonebook [Selected.Index] .Name); RasDialer.Params: = NewDialParam; UserNameEdit.Text: = RasDialer.UserName; PasswordEdit.Text: = RasDialer.Password; PhoneNumberEdit.Text: = RasDialer.PhoneNumber; PageControl1.ActivePage: = TabSheet3; end; end;

Решта функцій реалізовані дуже гарні і ви можете їх повивчати.

І в кінці хочу зробити пару зауважень:

1) швидше за все, в NT системах ви не дізнаєтеся пароля від з'єднання. В поле пароля будуть просто зірочкою. Щоб встановити з'єднання з паролем за замовчуванням (якщо він зберігається) потрібно залишити пароль порожнім

2) якщо ви хочете набрати номер в імпульсному наборі, а у вас набирається в тоновом - то потрібно просто поставити символ "p" (від слова "pulse") перед номером, наприклад "p1055555". Символ "w" позначає очікування гудка в лінії, наприклад, при наборі через АТС "9w1055555".

Відповідав: Piter
------------------------------------------

А зараз - ПИТАННЯ:


> Якщо у властивостях DIAL-UP з'єднання поставлено
> "Вивести вікно терміналу", то при додзвоні за допомогою
> RasDial, після з'єднання отримуєш помилку щось типу
> "З'єднання вимагає від користувача даних, але
> Додаток не підтримує роботу з користувачем "або
> Якось так, після чого з'єднання припиняється.
>
> В принципі, логічно, так як потрібно відкрити вікно
> Терміналу куди писати текст видавамий віддаленим
> Сервером і посилати введені користувачем
> Комманди ... Але як це організувати? які опції
> Налаштовувати? Не уявляю як організувати такий
> Термінал ...



Piter ©   (2004-11-09 18:44) [5]

Народ?



Piter ©   (2004-11-10 19:09) [6]

Невже ніхто не використовував RAS?



Piter ©   (2004-11-13 11:27) [7]

Піду в ФИДО ...



Piter ©   (2004-11-14 14:51) [8]

Ніхто ж не підкаже?



KilkennyCat ©   (2004-11-14 15:16) [9]

видно, в ФИДО теж все звірі ...



Piter ©   (2004-11-15 18:50) [10]

поки не відповіли ...



Piter ©   (2004-11-19 19:07) [11]

нету відповіді ніде ...



сторінки: 1 вся гілка

Форум: "пошарпану";
Поточний архів: 2004.12.12;
Завантажити: [xml.tar.bz2];

наверх









Пам'ять: 0.61 MB
Час: 0.139 c
9-1092055159
john black
2004-08-09 16:39
2004.12.12
Приклад Jan Horn-a + Космос


3-1100517366
Domkrat
2004-11-15 14:16
2004.12.12
Sql


1-1101369450
Maverick
2004-11-25 10:57
2004.12.12
як прибрати іконку з border a взагалі або не відображати?


14-1100981122
Пітер
2004-11-20 23:05
2004.12.12
Чому ВИ не використовуєте клієнт?


3-1100074594
Serguar
2004-11-10 11:16
2004.12.12
Повільне відкриття таблиці Paradox





африкаанс албанський арабська вірменин азербайджанець баскський білоруський болгарська каталонський Китайська (спрощене письмо) Китайський традиційний) хорватський чеська данську мову нідерландський Ukranian естонець Філіппінська фінську мову французький
галісійська грузинський німецький грецький гаїтянський креольський давньоєврейську хінді угорський ісландський індонезієць ірландський італійський японський корейський латиська литовець македонець малайський мальтійський норвежець
перс полірування португальська румунський російська сербський словацький словенський іспанська суахілі шведську мову тайський турецька український урду в&#39;єтнамський валлійський ідиш бенгальський боснійський
кебуано есперанто гуджараті хауса хмонг ігбо яванський каннада кхмерская Лао латинь маорі маратхі монгольський непальська панджабі сомалійський тамільська телугу йоруба
зулуський
Англійська Французький Німецький Італійський Португальська Русский Іспанська