home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Power-Programmierung
/
CD1.mdf
/
clarion
/
library
/
autodi
/
autodial.cla
next >
Wrap
Text File
|
1991-03-09
|
5KB
|
195 lines
! 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