Utilizamos cookies propias y de terceros. [Más información sobre las cookies].
Política de cookies
Proyecto AjpdSoft

· Inicio
· Buscar
· Contactar
· Cookies
· Descargas
· Foros
· Historia
· Nosotros
· Temas
· Top 10
· Trucos
· Tutoriales
· Wiki
Función que marca un número de teléfono - Delphi
Lenguaje de programación Borland Delphi


Esta función en Delphi 6 realiza la marcación telefónica de un número dado en el puerto indicado. Para que funcione es necesario que haya un módem conectado al PC y que éste esté conectado a la línea telefónica desde la que se quiera realizar la llamada:

En primer lugar deberemos declarar una variable global, de la siguiente forma:


...

implementation 

{$R *.dfm} 

var 
  ficheroComunicacion : THandle; 

...
function marcarTelefono (telefono : string; puerto : string) : boolean;
var
  numeroTelefono : string;
  numeroBytesEscritos : cardinal;
begin
  numeroTelefono := 'ATDT ' + telefono + #13 + #10;
  ficheroComunicacion := CreateFile(PChar(puerto), GENERIC_WRITE, 0, nil, OPEN_EXISTING,
      FILE_ATTRIBUTE_NORMAL, 0);
  if ficheroComunicacion = INVALID_HANDLE_VALUE then
    Result := false
  else
  begin
    numeroBytesEscritos := 0;
    if WriteFile (ficheroComunicacion, PChar(numeroTelefono)^, Length(numeroTelefono),
        numeroBytesEscritos, nil) = false then
      Result := false
    else
      result := true;
  end;
end;
Para colgar la llamada utilizaremos el siguiente procedimiento:
procedure colgarLlamada (); 
begin 
  try 
    CloseHandle(ficheroComunicacion); 
  except 
  end; 
end;
Un ejemplo de uso de la función:
  if not marcarTelefono (md.tContactomovilempresa1.AsString, 'COM3') then
    MessageDlg ('Error en la conexión con ' + '',
        mtwarning, [mbok], 0)
  else
    MessageDlg ('Marcación realizada con éxito.',
        mtInformation, [mbok], 0);




Publicado el: 2007-03-31

Visita nuestro nuevo sitio web con programas y contenidos actualizados: Proyecto A