Witam.
Post umieszczam w dziale delphi/pascal, jako że problem swój realizuję w delphi, ale w sumie to sprawa jest dosyć uniwersalna. Potrzebuję mianowicie porady dotyczącej obsługi modemu z poziomu aplikacji.
Program miałby wybierać szereg numerów z listy określonej przez użytkownika, dzwoniąc na każdy z nich przez określony czas bądź do momentu odebrania/podniesienia słuchawki po drugiej stronie. W idealnym świecie, chciałbym aby odtwarzał przez linię głosową określony dźwięk/wiadomość, ale wątpię aby udało mi się to zrealizować.
Wracając do podstawowej funkcjonalności, generalnie nie mam problemu z wybraniem numeru, definiuję po prostu port szeregowy :
s:='COM4';
hCommFile:= CreateFile( PChar(s), GENERIC_READ or GENERIC_WRITE,
0, {not shared}
nil, {no security ??}
OPEN_EXISTING,
FILE_ATTRIBUTE_NORMAL,
0 {template} );
a następnie wysyłam mu odpowiedni ciąg znaków aby wybrać numer:
s:='ATDT'+Number+#13+#10;
NumberWritten:=0;
Status:=WriteFile( hCommFile,PChar(s)[0],
Length(s),
NumberWritten,
nil);
problem w tym, że nie mam pomysłu jak sprawdzić, czy słuchawka po drugiej stronie została podniesiona.
próbowałem po prostu czytać z portu, ale brak tam jakichkolwiek danych w przypadku połączenia ze zwykłym aparatem telefonicznym, co potwierdza zresztą eksperymentowanie z hiperterminalem...
czy ktoś mógłby zasugerować jakieś rozwiązanie tego problemu?
z góry dziękuję za pomoc.