Atendimento de uma ligação
|
Início Anterior Próximo |
No código abaixo utilizamos o case .. of do Pascal pois é muito mais legível que uma seqüência de if aninhados (ifs dentro de ifs!) principalmente quando houverem muitos estados a tratar. O Visual Basic tem o equivalente Select Case e o C/C++ tem o switch.
|
Caso sua linguagem não tenha uma estrutura equivalente, só caberá utilizar o if...
|
|
procedure TForm1.voice1RingDetected(Sender: TObject; Port:
|
Smallint);
|
begin
|
case Estado[Port] of
|
NADA: //Só entra aqui se estiver no estado de espera
|
begin
|
//Limpa o buffer de digitos da porta corrente
|
voice1.ClearDigits(Port);
|
//comentario na janela de status
|
InsereDado(Port,'Atendeu');
|
//Atende a ligação
|
voice1.PickUp(Port,4000);
|
//indica para esperar DTMF
|
voice1.SetDetectionType(Port,dtDTMF);
|
end;
|
end;
|
end;
|
|