Показать сообщение отдельно
Старый 16.08.2010, 00:27   #58
Lem0nti
Новичок
 
Регистрация: 16.08.2010
Сообщений: 1
Поблагодарил: 0
Поблагодарили один раз в одном сообщении
Репа: 0
Возможно не совсем в тему, но всё-же... Раз у вас это работает, может быть подскажете...
Такая вот задача - хочу отправить СМСку модемом huawei. В гипертерминале весь процесс выглядит так:
Код:
at+cmgf=1
OK
at+cmgs="+79211234567"
> qweqwe

+CMGS: 3

OK
СМСка отправляется, всё отлично. В дельфях пробовал всячески, нифига не понял как это сделать. Не было соответствующего опыта и курение инета что-то не помогло пока что. На данный момент, выглядит так:
Код:
procedure TForm1.Button1Click(Sender: TObject);
var 
  CommPort : string;
  hCommFile : THandle;
  ModemStat : DWord;
  dwWrite: DWORD;
  StrBuff: string;
begin
  CommPort := 'COM6';
  hCommFile := CreateFile(PChar(CommPort),GENERIC_READ or GENERIC_WRITE,0,nil,OPEN_EXISTING,FILE_ATTRIBUTE_NORMAL,0);
  if hCommFile = INVALID_HANDLE_VALUE then
    ShowMessage('Unable to open '+ CommPort)
  else
    try
      if GetCommModemStatus(hCommFile, ModemStat) <> false then
      begin
        StrBuff:='AT+CMGF=1';
        WriteFile(hCommFile,StrBuff,length(StrBuff),dwWrite,nil);
        StrBuff:='AT+CMGS="+79211234567"';
        WriteFile(hCommFile,StrBuff,length(StrBuff),dwWrite,nil);
        StrBuff:='qweqwe'#26;
        WriteFile(hCommFile,StrBuff,length(StrBuff),dwWrite,nil);
      end;
    finally
      CloseHandle(hCommFile);
    end;
end;
Подскажите, что я делаю не так? То бишь задача отправить сигнал на ком-порт так же, как это делает гипер.
Lem0nti вне форума   Ответить с цитированием Вверх
Следующие пользователи поблагодарили Lem0nti за это сообщение: