home *** CD-ROM | disk | FTP | other *** search
-
-
- ! Demo of Auto-dialler LEM - requires a Hayes compatible modem
- !
- ! Please refer to DIAL.DOC for programming details
- !
- !
- ! Copyright 1991 Sterling Data Services
- ! 2 Fairford Road
- ! Tilehurst
- ! Reading
- ! Berkshire RG3 6QB
- ! ENGLAND
- !
- ! +44 (0734) 427333
- !
- ! If you find this LEM useful a contribution of 10 pounds
- ! or 20 dollars would be appreciated. Registered users
- ! may use this LEM in their applications without any further
- ! payment of any kind and will be notified of future enhancements.
- !
- ! Mike McLoughlin
- !
- !
-
-
- AUTODIAL PROGRAM
-
- INCLUDE('STD_KEYS.CLA')
- INCLUDE('CTL_KEYS.CLA')
-
-
- MAP
- PROC(DIAL)
- PROC(MODEM_INIT)
-
- MODULE('DCLAR.bin'),BINARY ! DIALER
- PROC(SERINIT) ! init serial port
- FUNC(SERSEND),LONG ! send byte to port
- .
- .
-
-
- SCREEN2 SCREEN HUE(7,1)
-
- ROW(2,17) PAINT(7,49),HUE(0,7)
- ROW(7,20) PAINT(1,43),HUE(4,7)
- ROW(16,1) PAINT(1,55),HUE(14,1)
- ROW(2,17) STRING('┌─{47}┐')
- ROW(3,17) REPEAT(5);STRING('│<0{47}>│') .
- ROW(8,17) STRING('└─{47}┘')
- ROW(3,31) STRING('DEMO OF AUTO-DIALLER')
- ROW(4,23) STRING('COPYRIGHT 1991 STERLING DATA SERVICES')
- ROW(5,22) STRING('2 Fairford Road, Tilehurst, Reading, UK')
- ROW(6,35) STRING('(0734) 427333')
- ROW(7,20) STRING('Specialists in customised business software')
- ROW(16,28) STRING('(ESC TO QUIT - F1 HELP)')
- ROW(14,25) STRING('ENTER PHONE NUMBER')
- COL(44) ENTRY(@S14),USE(NUMBER),HLP('NUMHLP'),HUE(0,7),SEL(0,7)|
- LFT,UPR
- .
-
- NUMBER STRING(14)
-
-
- CONFIG GROUP,PRE(CNF) ! This group would be part
- ! of your app's config file
- PORT STRING(1) ! serial port
- INITSTR STRING(10) ! Hayes init string
- TERMSTR STRING(15) ! Hayes termimate string
- .
-
- CODE
- ALERT
- ALERT(ESC_KEY)
- HELP('DIAL')
- CNF:PORT=2 ! I use port 2 for my modem
- MODEM_INIT
- CNF:TERMSTR='~~~+++~~~ATH0|'
- OPEN(SCREEN2)
- LOOP
- ACCEPT
- IF KEYCODE()=ESC_KEY THEN BREAK.
- DIAL()
- .
- RETURN
-
-
-
-
-
- DIAL PROCEDURE
-
- SCREEN1 SCREEN WINDOW(7,68),HUE(0,7)
- OMIT('**-END-**')
- ┌──────────────────────────────────────────────────────────────────┐
- │ │
- │ │
- │ DIALLING .... PLEASE WAIT │
- │ │
- │ │
- └──────────────────────────────────────────────────────────────────┘
- **-END-**
-
- ROW(1,1) STRING('┌─{66}┐')
- ROW(2,1) REPEAT(5);STRING('│<0{66}>│') .
- ROW(7,1) STRING('└─{66}┘')
- ROW(4,23) STRING('DIALLING .... PLEASE WAIT')
- .
-
-
- SCREEN SCREEN WINDOW(9,58),HUE(15,5)
- OMIT('**-END-**') Rows 9 thru 16
- ╔══════════════════════════════════════════════════════╗
- ║ ║
- ║ ║
- ║ PICK UP THE TELEPHONE ║
- ║ AND PRESS ANY KEY TO DISCONNECT MODEM ║
- ║ WHEN DIALLING HAS BEEN COMPLETED ║
- ║ ║
- ╚══════════════════════════════════════════════════════╝
- **-END-**
-
- ROW(9,1) PAINT(1,1),TRN
- ROW(1,57) PAINT(1,2),TRN
- ROW(2,57) PAINT(8,2),HUE(8,0),TRN
- ROW(9,2) PAINT(1,55),HUE(8,0),TRN
- ROW(1,1) STRING('╔═{54}╗')
- ROW(2,1) REPEAT(6);STRING('║<0{54}>║') .
- ROW(8,1) STRING('╚═{54}╝')
- ROW(4,19) STRING('PICK UP THE TELEPHONE')
- ROW(5,11) STRING('AND PRESS ANY KEY TO DISCONNECT MODEM')
- ROW(6,13) STRING('WHEN DIALLING HAS BEEN COMPLETED')
- .
-
- TEMPSTR STRING(24)
- DIALBYTE BYTE,DIM(24),OVER(TEMPSTR)
- SERPORT SHORT
-
-
- CODE
- OPEN(SCREEN1) ! shows that dialling is taking
- ! place - really only neede on
- ! older slow pulse exchanges
- SERPORT=CNF:PORT-1
-
- SERINIT(SERPORT,67)
- CNF:INITSTR='ATDT' ! FOR TONE DIALLING, use ATDP if you are on a pulse xchange.
- TEMPSTR=CLIP(CNF:INITSTR) & NUMBER
-
- LOOP I# = 1 TO 24
- RESULT#=SERSEND(SERPORT,DIALBYTE[I#]) ! send out the number one byte
- IF KEYBOARD() THEN GOTO OUT. ! at a time
- .
-
- RESULT#=SERSEND(SERPORT,13)
-
- CLOSE(SCREEN1)
-
- OPEN(SCREEN)
- ASK
- OUT TEMPSTR=CLIP(CNF:TERMSTR)
-
- LOOP I# = 1 TO 15 ! finish up
- RESULT#=SERSEND(SERPORT,DIALBYTE[I#])
-
- .
- RESULT#=SERSEND(SERPORT,13)
- CLOSE(SCREEN)
-
-
-
-
- MODEM_INIT PROCEDURE ! Set DTR to on
-
- TEMPSTR STRING(24)
- DIALBYTE BYTE,DIM(24),OVER(TEMPSTR)
- SERPORT SHORT
-
-
- CODE
- SERPORT=CNF:PORT-1
-
- SERINIT(SERPORT,67)
- CNF:INITSTR='AT&D1'
- TEMPSTR=CLIP(CNF:INITSTR)
-
- LOOP I# = 1 TO 24
- RESULT#=SERSEND(SERPORT,DIALBYTE[I#])
- .
-
- RESULT#=SERSEND(SERPORT,13)
- RETURN
-