Работа с модемом -- звонок на номер

Тема в разделе "WASM.BEGINNERS", создана пользователем calidus, 15 дек 2006.

  1. calidus

    calidus Member

    Публикаций:
    0
    Регистрация:
    27 дек 2005
    Сообщения:
    618
    Как можно сделать дозвон на определенный номер програмно на ассемблере , или где взяь пример..... документации полно ...но там расплывчито и не оч. понятно как реально это сделать...Заранее Пасиб !
     
  2. calidus

    calidus Member

    Публикаций:
    0
    Регистрация:
    27 дек 2005
    Сообщения:
    618
    Ни кто не знает ?????????
     
  3. khv_test

    khv_test New Member

    Публикаций:
    0
    Регистрация:
    30 июн 2004
    Сообщения:
    135
    вот мой пример на С используя RAS...
    когда-то када был diul-up у меня работало...
     
  4. khv_test

    khv_test New Member

    Публикаций:
    0
    Регистрация:
    30 июн 2004
    Сообщения:
    135
    нашел еще с использование TAPI тока хз работает или нет...
    тож на С
     
  5. Jimmy_Jakes

    Jimmy_Jakes New Member

    Публикаций:
    0
    Регистрация:
    16 дек 2006
    Сообщения:
    1
    Ком порт модема открывается как простой файл и в него пишутся простые текстовые AT-команды.

    Простейший пример на ассемблере прикреплен.

    --
    Если не ошибаюсь где-то здесь, где-то в разделе исходники, где-то в разделе сеть
    был пример, названный [mini]TERMINAL :) Наверно вам стоит его посмотреть.
     
  6. ring4

    ring4 New Member

    Публикаций:
    0
    Регистрация:
    19 ноя 2006
    Сообщения:
    279
    Еси я не ошибаюсь, то можно же с Асма записывать данные в порт, хоть теже АТешные команды.
     
  7. calidus

    calidus Member

    Публикаций:
    0
    Регистрация:
    27 дек 2005
    Сообщения:
    618
    Jimmy_Jakes и khv_test Пасибки за примеры .......у меня есть пример на делфях ....вот там так и пишится в файл...а потом ещё что то ... На Сии можно выдернуть АСМ код ...это неплохо ....Терминал я тоже взял разбирать ......сейчас найден был недавно .... но мне на асме просто удобнее ))) Пасиб

    Это пример на Дельфях. Думаю принцип будет понятен.
    var
    hCommFile : THandle;

    procedure TForm1.Button1Click(Sender: TObject);
    var
    PhoneNumber : string;
    CommPort : string;
    NumberWritten : LongInt;
    begin
    PhoneNumber := 'ATDT 1-555-555-1212' + #13 + #10; //Типа команда дозвона отправляемая на модем
    CommPort := 'COM2'; //Порт модема
    {Open the comm port}
    hCommFile := CreateFile(PChar(CommPort),
    GENERIC_WRITE,
    0,
    nil,
    OPEN_EXISTING,
    FILE_ATTRIBUTE_NORMAL,
    0);
    if hCommFile=INVALID_HANDLE_VALUE then
    begin
    ShowMessage('Unable to open '+ CommPort);
    exit;
    end;

    NumberWritten:=0;
    if WriteFile(hCommFile,
    PChar(PhoneNumber)^,
    Length(PhoneNumber),
    NumberWritten,
    nil) = false then ShowMessage('Unable to write to ' + CommPort);

    end;

    procedure TForm1.Button2Click(Sender: TObject);
    begin
    {Close the port}
    CloseHandle(hCommFile);
    end;

    Помойму тоже есть такой вариант ....
     
  8. calidus

    calidus Member

    Публикаций:
    0
    Регистрация:
    27 дек 2005
    Сообщения:
    618
    Jimmy_Jakes Круто ...Ещё раз Пасиб !!!! Класный вариант и оч. простой ..все понятно
     
  9. PsReadRtfm

    PsReadRtfm New Member

    Публикаций:
    0
    Регистрация:
    16 дек 2006
    Сообщения:
    32
    угу, да даже юзая виндовые апи
     
  10. Hmm

    Hmm New Member

    Публикаций:
    0
    Регистрация:
    22 ноя 2006
    Сообщения:
    162
    Великодушно извините .
    Ибо разум мой смущен и возроптал . Не в силах постигнуть, что значит сии руны:
    "Ком порт модема открывается как простой файл"
    ...
    ModemPort db "COM3",0
    MuteDinamic db "ATM2",13,10,0
    ...
    invoke CreateFile, ADDR ModemPort, ...
    ?
    (Признаюсь , что недавно начал и раньше не работал с портами .)
    Но как возможно открыть строку "COM3"(Не константу из windows.inc) и получить доступ к порту ? Равносильно сказать "хлеб и вино" и вот они появились ... т е фактически чудо.
    Воистину , ткните меня в документацию , где это описано . Ибо не в силах Уверовать .
     
  11. assorted

    assorted New Member

    Публикаций:
    0
    Регистрация:
    7 авг 2006
    Сообщения:
    227
    Hmm, в книге win для чайников сказано что подобные имена зарезервированы для работы с одноименными деавйсами

    >>Но как возможно открыть строку "COM3"(Не константу из windows.inc) и получить >>доступ к порту ?

    Почитай про драйвера и виртуальные устройства станет ясно. Причем тут windows.inc?
     
  12. Hmm

    Hmm New Member

    Публикаций:
    0
    Регистрация:
    22 ноя 2006
    Сообщения:
    162
    И , таки , что тут странного ?
    В linux , например , все лежит в /dev/ . И все понятно . И если бы в windows.inc была константа типа
    COM3 equ "%windir%\system32\drivers\com3.vxd" , тогда
    я бы ни разу не удивился . Но её там нет .
    А вы говорите "виртуальные устройства".

    Когда то , win95 часто не находил видеокарты , но зато всегда джойстик . Которого небыло . Может это и есть "виртуальное устройство" ? :)
     
  13. n0name

    n0name New Member

    Публикаций:
    0
    Регистрация:
    5 июн 2004
    Сообщения:
    4.336
    Адрес:
    Russia
    Hmm
    MSDN. CreateFile.
     
  14. Y_Mur

    Y_Mur Active Member

    Публикаций:
    0
    Регистрация:
    6 сен 2006
    Сообщения:
    2.494
    Скажи это официанту в ресторане и чудо свершится :)))
    Здесь официант CreateFile, у которого в меню, есть строки: "COM1", "COM2", "COM3", ..., "LPT1", ..., имена всех файлов что на твоём диске, и на заказ он может сварганить новый файл, но увы не новый девайс :dntknw: - це блюдо долгосрочного приготовлеия :)))
    Почитай PSDK или WinHelp там всё подробно.
     
  15. Hmm

    Hmm New Member

    Публикаций:
    0
    Регистрация:
    22 ноя 2006
    Сообщения:
    162
    Всем спасибо . Надеюсь эти заморочки есть только в
    CreateFile . А то это достает немного , особенно в 3 ч. ночи .

    Мало ли , что этот официант притащит , если у него день
    не удался.
     
  16. calidus

    calidus Member

    Публикаций:
    0
    Регистрация:
    27 дек 2005
    Сообщения:
    618
    А что если я не знаю какой порт ........как его узнать ????????? ....что если соединение USB как это узнать и как использовать ???
     
  17. khv_test

    khv_test New Member

    Публикаций:
    0
    Регистрация:
    30 июн 2004
    Сообщения:
    135
    юзай TAPI собсно для этого оно и было задумано ;)
     
  18. calidus

    calidus Member

    Публикаций:
    0
    Регистрация:
    27 дек 2005
    Сообщения:
    618
    TAPI задумано для этого ??? ...Млин прочитал статью про ТАПИ ....полный п**** ....очень сложно ...это те не крит файл .........и что больше способов нема ????
     
  19. khv_test

    khv_test New Member

    Публикаций:
    0
    Регистрация:
    30 июн 2004
    Сообщения:
    135
    ну мне не извесно нече кроме напрямую через CreateFile,TAPI и RAS....
     
  20. calidus

    calidus Member

    Публикаций:
    0
    Регистрация:
    27 дек 2005
    Сообщения:
    618
    Где можно полистать вот про что ..............чтобы проверить где модем ...я буду посылать ATZ команду на каждый порт .......какие входные и выходные данные ....в какие регистры ???? Помогите плиз... короче 8 сомов проверяю ......цикл это будет ..