Delphi – Glasovno telefoniranje

U sledećem primeru ćemo videti kako da iz naše Delphi aplikacije biramo telefonske brojeve za glasovnu komunikaciju, nešto slično Windows-ovom „Phone Dialer“-u. Sve se ovo odvija preko poziva funkcija u biblioteci „TAPI32.dll„. Pokrenite Delphi i kreirajte novi projekt, a zatim posle svih deklaracija dodajte sledeće konstante i funkcije:


{tapi Errors}
const TAPIERR_CONNECTED = 0;
const TAPIERR_DROPPED = -1;
const TAPIERR_NOREQUESTRECIPIENT = -2;
const TAPIERR_REQUESTQUEUEFULL = -3;
const TAPIERR_INVALDESTADDRESS = -4;
const TAPIERR_INVALWINDOWHANDLE = -5;
const TAPIERR_INVALDEVICECLASS = -6;
const TAPIERR_INVALDEVICEID = -7;
const TAPIERR_DEVICECLASSUNAVAIL = -8;
const TAPIERR_DEVICEIDUNAVAIL = -9;
const TAPIERR_DEVICEINUSE = -10;
const TAPIERR_DESTBUSY = -11;
const TAPIERR_DESTNOANSWER = -12;
const TAPIERR_DESTUNAVAIL = -13;
const TAPIERR_UNKNOWNWINHANDLE = -14;
const TAPIERR_UNKNOWNREQUESTID = -15;
const TAPIERR_REQUESTFAILED = -16;
const TAPIERR_REQUESTCANCELLED = -17;
const TAPIERR_INVALPOINTER = -18;

{tapi size constants}
const TAPIMAXTelBrojSIZE = 80;
const TAPIMAXAPPNAMESIZE = 40;
const TAPIMAXPozivUpucenSIZE = 40;
const TAPIMAXKomentarSIZE = 80;
const TAPIMAXDEVICECLASSSIZE = 40;
const TAPIMAXDEVICEIDSIZE = 40;

function tapiRequestMakeCallA(TelBroj : PAnsiChar;
AppName : PAnsiChar;
PozivUpucen : PAnsiChar;
Komentar : PAnsiChar) : LongInt;
stdcall; external ‘TAPI32.DLL’;

function tapiRequestMakeCallW(TelBroj : PWideChar;
AppName : PWideChar;
PozivUpucen : PWideChar;
Komentar : PWideChar) : LongInt;
stdcall; external ‘TAPI32.DLL’;

function tapiRequestMakeCall(TelBroj : PChar;
AppName : PChar;
PozivUpucen : PChar;
Komentar : PChar) : LongInt;
stdcall; external ‘TAPI32.DLL’;


Potom dodajte na formu jedno komandno dugme, i u događaj „Button Click“ smestite sledeći kod:


procedure TForm1.Button1Click(Sender: TObject);
var
TelBroj : string;
PozivUpucen : string;
Komentar : string;
begin
TelBroj := ‘011-111111’; // broj telefona
PozivUpucen := ‘Ime’; // onaj koga pozivamo
Komentar := ‘Poziv upicen…’; // neki komentar
tapiRequestMakeCall(pChar(TelBroj),
PChar(Application.Title),
PChar(PozivUpucen),
PChar(Komentar));
end;

Kada pokrenete aplikaciju i kliknete na dugme, automatski će se birati broj naveden u varijabli „TelBroj“. Na ovaj način možete na napravite program – Telefonski imenik, koji će odmah birati upisane brojeve.

Pratite Krstaricu i preko mobilne aplikacije za Android i iPhone.