>I want my office software (VFP5.0) to be able to dial phone numbers. I have an address table with supplier and customer phone numbers and I want my users to be able to select a number and then press a command button to dial it. Any ideas??
Hi Chris.
I got this code from the VFOX forum at Compuserve. It was posted by Tom Piper (credit where credit is due and all that jazz) Hope it helps.
You can use this code in the click of your Dial button:
either send the number as a parameter or store a value to m_fone from the open table
* assume m_fone is the number to dial
IF !( 'FOXTOOLS' $ UPPER(SET('LIBRARY')) )
SET LIBRARY TO 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))
lcfonelook=IIF(m_fone='1','1 - '+FONE(SUBS(m_fone,2)),FONE(m_fone))
=MESSAGEBOX('Dialing '+ALLT(lcfonelook)+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 FONE
* Function to return a formatted string from a passed phone number
PARA tcFONE
LOCAL lcretval
lcretval=PADL(ALLT(tcFONE),14)
DO CASE
CASE LEN(ALLT(tcFONE))=7
lcretval=SPAC(6)+SUBS(tcFONE,1,3)+'-'+RIGH(tcFONE,4)
CASE LEN(ALLT(pFONE))=10
lcretval='('+LEFT(tcFONE,3)+') '+SUBS(tcFONE,4,3)+'-'+RIGH(tcFONE,4)
ENDC
RETU lcretval
* eop()
Marcia