Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Сети > Связь с телефоном


Автор: mvdr 17.4.2005, 04:06
Можно ли с помощью Делфи синхронизировать нажатия клавиш "0"-"9" чтоб они нажимались на телефоне (т.е. нобирались?

Автор: Alex 17.4.2005, 08:25
На каком телефоне?

Автор: Dr.No_xXx 17.4.2005, 09:47
Alex
На обычном.Голосовом.
Femida
Мона подавать сигнал в трубку или прямо в сеть.Но нажимать....врядли smile

Автор: mvdr 19.4.2005, 07:39
телефон обычный, работает в тональном режиме.
Задача: с нажатием клавиш клавиатуры (0-9) и пробела (гудок) набрать номер. Знаю, что средствами Windows такое вроде возможно (есть проги какие то), а вот с Делфи нельзя?

Автор: Guest 19.4.2005, 09:34
Ну дык проги то делаются на языке программирования=>на delphi тож можно.Взять например модем.Он тоже набирает номер.Делай через него.

Автор: mvdr 19.4.2005, 10:10
а как? сделать не проблема - проблема - надо дать пинок, чтоб подтолкнуть.
P.S. про пинок я образно smile

Автор: Dr.No_xXx 19.4.2005, 10:17
Спроси у microsoft smile А если серьезно то

Код

var
hCommFile : THandle; 

procedure TForm1.Button1Click(Sender: TObject); 
var 
 PhoneNumber : string;  
 
 CommPort : string;  
 
 NumberWritten : LongInt;  
 
  
begin 
 PhoneNumber := 'ATDT 1-555-555-1212' + #13 + #10;  
 
 CommPort := 'COM2';  
 
 {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;  
 
  
 NumberWritten:=0;  
 
 if WriteFile(hCommFile,  
 
  
 PChar(PhoneNumber)^,  
 
 Length(PhoneNumber),  
 
 NumberWritten,  
 
 nil) = false then   
 
  
 begin  
 
  
      ShowMessage('Unable to write to ' + CommPort);  
 
     end;  
 
  
end; 

procedure TForm1.Button2Click(Sender: TObject); 
begin 
 {Close the port}  
 
 CloseHandle(hCommFile);  
 
  
end; 





Автор: Петрович 19.4.2005, 10:22
Цитата(Dr @ 19.4.2005, 11:17)
У кого с головой хорошо я добавлю вам эту информацию.

AT-команды модема
...
S-регистры модема
...

Отмечу лишь то, что у разных модемов, некоторые команды, а так же назначение некоторых S-регистров (старше S12) могут отличаться. Поэтому, крайне желательно сначала полистать описание AT-команд и S-регистров именно Вашего модема.
Но, для набора номера (команда ATD), это не важно. Она одинакова для всех Hayes-совместимых модемов smile.

Автор: mvdr 19.4.2005, 11:20
Код

NumberWritten:=0;
 if WriteFile(hCommFile,PChar(PhoneNumber)^,Length(PhoneNumber), NumberWritten, nil) = false then
ему не нравиться. выдает, что Types of actual and formal var parameters must be identical. что это?

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)