![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Номеронабератель [D5, Win95/98]
NIC2 © (2002-03-17 09:23:00)Всем привет.
У меня такая проблема, нужно сделать обычный номеронабератель.
Я делаю так:
procedure TForm1.Button1Click(Sender: TObject);
var
PhoneNumber : string;
CommPort : string;
NumberWritten : Longword;
hCommFile : THandle;
begin
PhoneNumber := "ATDT 1-555-555-1212" + #13 + #10;
CommPort := "COM4"; {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; {Dial the phone}
NumberWritten:=0;
if WriteFile(hCommFile,
PChar(PhoneNumber)^,
Length(PhoneNumber),
NumberWritten,
nil) = false then
begin
ShowMessage("Unable to write to " + CommPort);
end;
end;
Работает только после того как наберу номер стандартным номеронаберателем винды.
Модем у меня USRobotics 33600.
В чем может быть проблема?
Song (2002-03-17 16:57:00) [1]AT&F1
ATDT xxx-xx-xx
NIC2 (2002-03-17 10:58:00) [2]Написал так: "AT&F1 ATDT"+номер
Все равно не работает.
Song (2002-03-17 10:02:00) [3]Сначала нужно инициализировать модем: AT&F1 (стандартная команда).
А после номеронабирателя у Вас получается потому, что винда после завершения любой работы с модемой переинициализирует его для дальнейших действий, чем Вы и воспользовались. :))