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

Вниз

Модем, АОН   Найти похожие ветки 

 
Suharew   (2003-03-11 18:47) [0]

Как на Delphi реализовать ф-цию АОН`а. У кого есть исходники?или подскажите документацию


 
Fredericco   (2003-03-11 19:33) [1]

Так же как и на других языках :-)
Сначала даешь команду модему что бы он определял номер при сигнале вызова на линии. Убедись что модем поддерживает данную функцию (АОН), так как именно он номер и определяет. Далее при сигнале вызова модем снимает трубку, дает тебе в порт комманду RING, АТС сообщает модему, после снятия трубки, номер абонента либо трелью (которую ты наверное часто слышал) либо другими способами. После снятия трубки модем выдает в линию характерные длинные гудки, что бы на том конце провода не догадались что трубку уже сняли, так что когда вообще кому-то звонишь после того как "щелкнул" АОН, а гудки все еще идут, не спеши сквернословить в трубку - там могут слышать. Когда АТС сообщила все инфу о звонившем модему, он кладет ее в свой регистр (его память), и , зараза, редкая модель модема тебя об этом оповещает. Далее специальной коммандой модему запрашиваешь у него состояние этого самого регистра. Определяешь номер, и даешь комманду, что бы модем больше не дурачил людей на той стороне. Все. Комманды для твоего модема смотри в иненте. Разные фирмы производители модемов - отличающиеся комманды, но как правило не очень.


 
Vad   (2003-03-12 02:27) [2]

To:Fredericco ©

Ну и нагородил! :-)

To:Suharew ©

Зависит от того какой модем.


 
Suharew   (2003-03-12 10:19) [3]

Модем Zyxel с поддержкой АОН`а.
А по конкретней, ни укого нет? ну там примерчик (хотябы на примере другого модема). Или документации.
С меня пиво.


 
Fredericco   (2003-03-12 10:31) [4]

1. Тебе нужна работа с СОМ портом. Или в ручную, или ищи компонент. Лично я пользуюсь TComPortDriver.

2. Открываешь порт на максимальной скорости, которую поддерживает модем. Шлешь в порт строку и ничего более (регистр имеет значение), что-то вроде "ATN1" или "ATN0". Где 0 - выкл. АОНа, а 1 - вкл. АОНа. Какая точно комманда смотри САМ. Если все хорошо, модем вернет тебе в порт "OK".

3. Спустя 2-3 сек. после того как модем снял трубку шли ему комманду на запрос определившегося номера. Какая точно комманда смотри САМ. Модем тебе вернет все что надо. Если номер не определился, модем тебе прямо об этом и скажет.

Короче ищи доки по твоему зюхелю в инете их полно. Или ищи компонент, но это не интереснее VML.

ЗЫ: Работать с модемом не трудно. Можешь вполне обойтись без стороннего компонента.


 
Max   (2003-03-12 11:22) [5]


ResetEvent(Modem.RingEvent);

Modem.Command("ATL1M2N7+FCLASS=8+VGT=255+VNH=1+VRA=0+FLO=0"#13);
if WaitForResponse(2000) <> MODEM_READY then Exit;
Modem.Command("ATA"#13);
if WaitForResponse(5000) <> MODEM_READY then
begin
LogEvent("Ошибка !!!");
end;
s := Modem.Answer;
//***************************
while pos("VCON",s) = 0 do
begin
s := Modem.Answer;
end;
Modem.PhoneNumber := copy(S, Pos("CALLER""S NUMBER:", S)+17, 7);
if copy(Modem.PhoneNumber, 1, 1) = "?" then Modem.PhoneNumber := "XXXXXXX";
try
LogEvent("Звонок с номера: "+ Modem.PhoneNumber);
except
end;



 
Max   (2003-03-12 11:25) [6]

Строка инициализации для зухеля.

Modem.Command("ATZE0N7L7S41.4=1S42.6=1"#13);


 
Suharew   (2003-03-12 11:48) [7]

to: max
переменные Modem и S какого типа,
еще ведь надо наверное какойто модуль подключать?
И что такое LogEvent


 
max_   (2003-03-12 16:14) [8]

Я тебе пример из рабочей проги вырвал!
S соответственно String
A Modem это созданный в другом модуле объект!
Не лезь в дебри моей проги!
Тебе нужен был пример - вот пример!
Тебя интересуют только:
Modem.Command("ATL1M2N7+FCLASS=8+VGT=255+VNH=1+VRA=0+FLO=0"#13);
Modem.Command("ATA"#13);
Modem.PhoneNumber := copy(S, Pos("CALLER""S NUMBER:", S)+17, 7);



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

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

Наверх




Память: 0.46 MB
Время: 0.008 c
1-87913
OxyGenASG
2003-03-17 10:22
2003.03.27
ExpressQuantumGrid от Developer Express


3-87828
Krok
2003-03-10 11:13
2003.03.27
Как програмно изменить ширину заголовка в DBGrid?


1-87912
hawkins
2003-03-14 09:01
2003.03.27
Есть ли компонент, такой же как TLabel, но многострочный?


3-87850
Engel
2003-03-09 23:19
2003.03.27
Индексы в ADO


1-88073
Кролик
2003-03-16 11:28
2003.03.27
Преобразование типов





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский