Здравствуйте, подскажите как мне вывести в мемо ответ от модема: Вот код отправки АТ команды: PHP: procedure SendSMS(AComPort: integer; AMsg: String; ANumTel: String); var hFile: THandle; procedure WriteStr(AStr: String); //пишет в порт переданную строку var LWrited: Cardinal; begin //Пишем в порт WriteFile(hFile, PAnsiChar(AStr)^, Length(AStr), LWrited, nil); end; begin //открываем порт hFile := Windows.CreateFile(PChar('\\.\COM' + IntToStr(AComPort)), GENERIC_READ or GENERIC_WRITE, 0, nil, OPEN_EXISTING, 0, 0); //если открылся if (hFile <> INVALID_HANDLE_VALUE) then begin try //устанавливаем текстовый режим WriteStr('AT+CMGF=1' + #$D#$A); //вводим номер в формате "+79xxxxxxxxx" WriteStr('AT+CMGS="'+ANumTel+'"' + #$D#$A); //вводим текст сообщения, только латиница WriteStr(AMsg + #$D#$A#$1A); finally //закрываем порт Windows.CloseHandle(hFile); end; end; end; Как мне прочитать ответ, зарание спасибо
Читайте либо синхронно либо асинхронно из порта с помощью функции ReadFile. Подробнее про неё можно почитать в документациях в интернете. P.S. Если по делу, то наверное не стоит этим заниматься, если Вы не знаете как вывести ответ в Memo. Ну это не моё дело. Удачи.
я знаю про эту функцию, подскажи плз как правильно ее записать в данном случае, у меня чет не выходит, буду благодарен
обьясните пожалуйста, где что писать на месте переменных в этой строке: R e a d F i l e ( h F i l e , b u f , 5 , N , n i l ) хФайл- это я так понял СОМ порт, а остальное?
ReadFile(Файл из которого читаем, Переменная в которую записываем, Кол-во считываемых байт, Кол-во прочитанных, Указатель асинхронности); P.S. Как-то так, типо на русском языке)