IF !( 'FOXTOOLS' $ UPPER(SET('LIBRARY')) ) SET LIBRARY TO HOME() + "FOXTOOLS" ADDI ENDIF LOCAL lccomport,lcdstring,lnport,lcfonelook lccomport='COM2' lcdstring = "ATDT " + m_fone + CHR(13) opencomm = RegFn("OpenComm", "CII", "I",'User.exe') writecomm = RegFn("WriteComm", "ICI", "I",'User.exe') closecomm = RegFn("CloseComm", "I", "I",'User.exe') lnport = CallFn(OpenComm,lccomport, 100, 100) =CallFn(WriteComm, lnport, lcdstring, len(lcdstring)) lcphonelook=IIF(m_fone='1','1 - '+PHONE(SUBS(m_fone,2)),PHONE(m_fone)) =MESSAGEBOX('Dialing '+ALLT(lcphonelook)+CHR(13)+CHR(13)+; "Pick up the phone and press any key ",64) lcdstring=CHR(10)+CHR(13)+CHR(10)+CHR(13) =CallFn(WriteComm, lnport, lcdstring, len(lcdstring)) =CallFn(CloseComm, lnport) PROCEDURE PHONE * Function to return a formatted string from a passed phone number PARA pphONE LOCAL lcretval lcretval=PADL(ALLT(pphONE),14) DO CASE CASE LEN(ALLT(pphONE))=7 lcretval=SPAC(6)+SUBS(pphONE,1,3)+'-'+RIGH(pphONE,4) CASE LEN(ALLT(pphONE))=10 lcretval='('+LEFT(pphONE,3)+') '+SUBS(pphONE,4,3)+'-'+RIGH(pphONE,4) ENDC RETU lcretvalThis code doesn't pick up the phone for you though...