Возможно не совсем в тему, но всё-же... Раз у вас это работает, может быть подскажете...
Такая вот задача - хочу отправить СМСку модемом 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;
Подскажите, что я делаю не так? То бишь задача отправить сигнал на ком-порт так же, как это делает гипер.