Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Сети";
Текущий архив: 2005.12.18;
Скачать: [xml.tar.bz2];

Вниз

Подключение к сети   Найти похожие ветки 

 
Korvet   (2005-08-23 23:00) [0]

Добрый вечер.
Мне нужна ваша помощь.Мне нужно сделать так что бы моя программа выходила в сеть.Ну тоесть что бы она набирала номер телефона,логин, пароль.Можно ничего не отображать нужно что бы она просто вошла в сеть.Ну или можно создать подкючение в Windows. И сделать что бы по нажатию на кнопку вызывалось это подключение.
P.S.Если не понятен вопрос спрашивайте.


 
Piter ©   (2005-08-24 00:33) [1]

Да нет, все понятно.

Используй RAS


 
Korvet   (2005-08-24 08:50) [2]

Извените но я в этой облости полный нуль, покожите исходник пожалуйста, или ссылку подкиньте.


 
Piter ©   (2005-08-24 13:09) [3]

Какой исходник? Готовую программу тебе? Это стоит денег.
Ссылку на информацию? Да пожалуйста: http://msdn.microsoft.com/library/default.asp?url=/library/en-us/rras/rras/rasdial.asp - можешь начинать копать отсюда


 
Piter ©   (2005-08-24 13:13) [4]

А, вот еще. Я когда для этого сайта 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


 
ANTOXA2005   (2005-09-09 11:56) [5]

RAS - работает!



Страницы: 1 вся ветка

Форум: "Сети";
Текущий архив: 2005.12.18;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.47 MB
Время: 0.014 c
14-1132643010
syte_ser78
2005-11-22 10:03
2005.12.18
что с компом?


1-1132824219
Tigra
2005-11-24 12:23
2005.12.18
Delphi + MS Word


14-1132916818
Не молодой
2005-11-25 14:06
2005.12.18
Атака порта


6-1117730133
Дмитрий_05
2005-06-02 20:35
2005.12.18
Свой браузер-чат


1-1132804734
Separator
2005-11-24 06:58
2005.12.18
Запись через BlockWtite





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский