home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Shareware Overload
/
ShartewareOverload.cdr
/
windows
/
sqllink.zip
/
SSLDEMO.PRG
< prev
next >
Wrap
Text File
|
1990-08-09
|
10KB
|
582 lines
* SQL SERVER SQL Softlink Demo
* (c) 1990 SQLSoft
* ....
SET PROCEDURE TO ssldemo
CLEAR
SET CONFIRM ON
SET DELETED ON
SET MESSAGE LINE TO 0
SET EVENTMSK TO 31
SET READ VIDEO TO 159
SET GET VIDEO TO 185
SET EXIT VIDEO TO 143
SET ERASE VIDEO TO 240
xset_say=240
SET BOX OFF
xT="SQL Softlink Demo (c) 1990 SQLSoft"
q=CHR(34)
e="Field cannot contain quotes."
SET WINDOW TITLE TO xT
SET WINDOW TYPE TO 1
xSay_vid=249
SET SAY VIDEO TO xSay_vid
CLEAR
xconnect=.F.
IF .NOT. connect()
QUIT
ENDIF
DO WHILE .T.
DO rows_lim
CLOSE DATABASES
xmenu="Authors Table;"
CREATE POPUP MENU "Edit" xmenu AT 1,1
xmenu="Demo Reports;"
CREATE POPUP MENU "Reports" xmenu AT 1,1
xmenu="Edit SQL Server Parameters;"
xmenu=xmenu+"Work Station Memory;"
xmenu=xmenu+"Server Database Memory;;"
xmenu=xmenu+"Dump Pubs Database;"
xmenu=xmenu+"Load Pubs Database;"
xmenu=xmenu+"Dump Master Database;"
CREATE POPUP MENU "Utilities" xmenu AT 1,1
xmenu="Quit Demo;"
CREATE POPUP MENU "Exit" xmenu AT 1,1
xmenu="Access System Help;"
CREATE POPUP MENU "Help" xmenu AT 1,1
CREATE PULLDOWN MENU "menu" FROM "Edit","Reports","Utilities","Exit","Help"
SET MENU TO "menu"
SET BOX OFF
DO scrn
WAIT ""
CLOSE MENU "menu"
CLEAR
option=EVENT()
DO CASE
CASE option=2
menu_h=HMENU()
menu_v=VMENU()
DO CASE
CASE menu_h=1
DO CASE
CASE menu_v=1
CHAIN vauth
ENDCASE
CASE menu_h=2
CONFIRM("Use R"+CHR(38)+"R Report Writer. Contact SQLSoft for details.")
CASE menu_h=3
CHAIN util
CASE menu_h=4
IF CONFIRM("Quit SQL Softlink Demo?")
IF .NOT. xconnect
QUIT
ENDIF
disconnect()
QUIT
ENDIF
CASE menu_h=5
DO help WITH "main.hlp"
ENDCASE
CASE option=6
EXIT
ENDCASE
ENDDO
QUIT
*----------------------------------------
FUNCTION sh_but
PARAMETERS xstr,xrow,xoffset
DECLARE xbut[10]
j=0
tlen=0
DO WHILE .T.
j=j+1
xbut[j]=SUBSTR(xstr,1,AT(";",xstr)-1)
xlen=LEN(TRIM(xbut[j]))
tlen=tlen+xlen
xstr=SUBSTR(xstr,AT(";",xstr)+1,100)
xlen=LEN(TRIM(xstr))
IF xlen=0
EXIT
ENDIF
ENDDO
ylen=tlen+(j-1)*3
ycol=39-ROUND(ylen/2,0)
FOR i=1 TO j
CREATE BUTTON xbut[i] AT xrow,ycol+xoffset
ycol=ycol+LEN(TRIM(xbut[i]))+3
NEXT i
RETURN(.T.)
*----------------------------------------
PROCEDURE say_msg1
PARAMETERS xstr
xlen=LEN(TRIM(xstr))
l=ROUND(39-xlen/2,0)
r=l+xlen
CREATE WINDOW "Message" FROM 10,l TO 13,r
@ 1,0 SAY xstr
RETURN
*----------------------------------------
PROCEDURE say_msg2
CLOSE WINDOW "Message"
RETURN
*----------------------------------------
FUNCTION pwait
PARAMETERS xstr
@ 0,0 say xstr
value=0
DO WHILE value=0
value=INKEY()
ENDDO
IF value=27
QUIT
ENDIF
RETURN(.T.)
*----------------------------------------
PROCEDURE show_mem
WARNING("Message","Available Memory - "+ALLTRIM(STR(MEMORY())),1)
RETURN
*----------------------------------------
PROCEDURE scrn
SET SAY VIDEO TO xSay_vid
CLEAR
LOAD BITMAP ssldemo.bmp INTO xpict
@ 2,7 SAY xpict
RELEASE xpict
SET SAY VIDEO TO xset_say
RETURN
*----------------------------------------
PROCEDURE help
PARAMETERS xfile
xhand=FOPEN(xfile,1)
IF xhand=-1
WARNING("","No help available",1)
RETURN
ELSE
SELECT 1
USE Help
ZAP
xmax=90
xline=SPACE(xmax)
xcnt=0
DO WHILE FGETS(@xline,xmax,xhand)>0
IF LEN(TRIM(xline))<>0
APPEND BLANK
REPLACE Hline WITH xline
xcnt=xcnt+1
ENDIF
ENDDO
xscrpg=1000*10/xcnt
xscrln=1000/xcnt
SET WINDOW TYPE TO 97
xtop=1
GOTO TOP
CREATE WINDOW "Help" FROM 5,0 TO 17,80
DO WHILE .T.
CLEAR
IF xtop<=1
xtop=1
ENDIF
IF xtop>xcnt
xtop=xcnt
ENDIF
IF (xtop+9)>xcnt
xend=xcnt
ELSE
xend=xtop+9
ENDIF
IF xend>xcnt
xend=xcnt
ENDIF
xline=2
i=xtop
GOTO xtop
IF xtop=xcnt
SETSCROLL(1,1000)
ELSE
SETSCROLL(1,(xtop-1)*1000/xcnt+1)
ENDIF
DO WHILE i<=xend
@ xline,0 SAY Hline
xline=xline+1
i=i+1
SKIP
ENDDO
WAIT ""
IF EVENT()=5
CLOSE WINDOW "Help"
RETURN
ENDIF
IF EVENT()=7
DO CASE
CASE VMENU()=1
xtop=xtop-1
CASE VMENU()=2
xtop=xtop+1
CASE VMENU()=3
xtop=xtop-10
CASE VMENU()=4
xtop=xtop+10
CASE VMENU()=5
xtop=ROUND(xcnt*MROW()/1000,0)
ENDCASE
ENDIF
ENDDO
CLOSE WINDOW "Help"
SET WINDOW TYPE TO 1
ENDIF
RETURN
*----------------------------------------
FUNCTION connect
IF .NOT. CONFIRM("Connect to SQL Server?")
RETURN(.F.)
ENDIF
TALK TO "SQL_SoftLink" ABOUT "SQL"
IF .NOT. CONTACT()
WARNING("","SQLSoft SQL SoftLink not loaded.",1)
RETURN(.F.)
ENDIF
CREATE WINDOW "Connect to SQL Server" FROM 10,28 TO 17,52
error=.T.
SELECT 1
USE Sysparms
xU=U
xP=P
xS=S
xD=D
xMax_rows=Max_rows
USE
TEXT
User Name: ----------
Password:
Server Name:
Database:
ENDTEXT
@ 1,13 GET xU PICTURE REPLICATE("!",10)
@ 2,13 GET xP PICTURE REPLICATE("!",10)
@ 3,13 GET xS PICTURE REPLICATE("!",10)
@ 4,13 GET xD PICTURE REPLICATE("!",10)
CREATE BUTTON "OK" AT 6,6
CREATE BUTTON "Cancel" AT 6,11
READ
IF EVENT()=6
IF BUTTON()="Cancel"
CLOSE WINDOW "Connect to SQL Server"
QUIT
ENDIF
ENDIF
IF .NOT. ( SENDDATA("Server",TRIM(xS)) .AND.;
SENDDATA("UserName",TRIM(xU)) .AND.;
SENDDATA("Pswd",TRIM(xP)) .AND.;
SENDDATA("Dbase",TRIM(xD)) )
WARNING("","Problem with log in parameters.",1)
ELSE
x=REQUEST("Connect")
IF x="F"
WARNING("","Cannot connect to SQL Server.",1)
xconnect=.F.
RETURN(.F.)
ELSE
error1=.T.
IF SENDDATA("Xstr1","16")
IF SENDDATA("Xstr2",ALLTRIM(STR(xMax_rows,6,0)))
IF REQUEST("SetOpt")="T"
xconnect=.T.
error=.F.
error1=.F.
ENDIF
ENDIF
ENDIF
ENDIF
ENDIF
CLOSE WINDOW "Connect to SQL Server"
IF error1
WARNING("","Problem with SetOpt",1)
RETURN(.F.)
ENDIF
IF error
RETURN(.F.)
ELSE
WARNING("Message","Successful connection to SQL Server.",3)
RETURN(.T.)
ENDIF
*----------------------------------------
FUNCTION disconnect
REQUEST("Dbexit")
TERMINATE
WARNING("Message","Disconnected from SQL Server",3)
xconnect=.T.
RETURN(.T.)
*----------------------------------------
FUNCTION fsenddata
PARAMETERS str1,str2
IF .NOT. SENDDATA(str1,str2)
disp_msgs()
WARNING("","SENDDATA problem - "+str1,1)
RETURN(.F.)
ENDIF
RETURN(.T.)
*----------------------------------------
FUNCTION fdbcmd
PARAMETERS str1
IF SENDDATA("Xstr1",str1)
IF REQUEST("Dbcmd")="T"
RETURN(.T.)
ELSE
WARNING("","Dbcmd problem - "+str1,1)
disp_msgs()
RETURN(.F.)
ENDIF
ELSE
WARNING("","SENDDATA problem - "+str1,1)
disp_msgs()
RETURN(.F.)
ENDIF
RETURN(.T.)
*----------------------------------------
FUNCTION fresults
PARAMETERS str1
DO WHILE REQUEST("Dbresults")<>"2"
ENDDO
IF REQUEST("Dbsqlexec")="T"
xreq=REQUEST("Dbresults")
IF xreq="1" .OR. xreq="2"
RETURN(.T.)
ENDIF
WARNING("",str1+" - Dbresults error",1)
disp_msgs()
RETURN(.F.)
ELSE
WARNING("",str1+" - Dbsqlexec error",1)
disp_msgs()
RETURN(.F.)
ENDIF
RETURN(.T.)
*----------------------------------------
FUNCTION all_res
PARAMETERS str1
IF REQUEST("Dbsqlexec")="T"
DO WHILE .T.
xreq=REQUEST("Dbresults")
DO CASE
CASE xreq="0"
WARNING("",str1+" - Dbresults error",1)
disp_msgs()
RETURN(.F.)
CASE xreq="1"
LOOP
CASE xreq="2"
RETURN(.T.)
OTHERWISE
WARNING("",str1+" - Dbresults error",1)
disp_msgs()
RETURN(.F.)
ENDCASE
ENDDO
ELSE
WARNING("",str1+" - Dbsqlexec error",1)
disp_msgs()
RETURN(.F.)
ENDIF
RETURN(.T.)
*----------------------------------------
FUNCTION disp_msgs
xmsg=REQUEST("Msgmsg")+SPACE(250)
xdbl=REQUEST("Dblmsg")+SPACE(250)
xsys=REQUEST("Sysmsg")+SPACE(250)
CREATE WINDOW "SQL Server Messages" FROM 2,1 TO 22,78
@ 1,0 SAY "SQL Server Message -"
@ 2,0 SAY SUBSTR(xmsg,1,76)
@ 3,0 SAY SUBSTR(xmsg,77,76)
@ 4,0 SAY SUBSTR(xmsg,153,76)
@ 6,0 SAY "DB Lib Message -"
@ 7,0 SAY SUBSTR(xdbl,1,76)
@ 8,0 SAY SUBSTR(xdbl,77,76)
@ 9,0 SAY SUBSTR(xdbl,153,76)
@ 11,0 SAY "System Message -"
@ 12,0 SAY SUBSTR(xsys,1,76)
@ 13,0 SAY SUBSTR(xsys,77,76)
@ 14,0 SAY SUBSTR(xsys,153,76)
WAIT
CLOSE WINDOW "SQL Server Messages"
RETURN(.T.)
*--------------------------------------
FUNCTION parse_row
PARAMETERS xcnt
xlen=LEN(xline)
i=1
DO WHILE i<=xcnt
fld[i]=""
i=i+1
ENDDO
ifld=1
i=1
DO WHILE i<=xlen
xchar=SUBSTR(xline,i,1)
IF xchar=CHR(9)
ifld=ifld+1
ELSE
fld[ifld]=fld[ifld]+xchar
ENDIF
i=i+1
ENDDO
RETURN(ifld-1)
*--------------------------------------
FUNCTION do_cmd
PARAMETERS xstr
IF .NOT. SENDDATA("Xstr1",xstr)
WARNING("","Problem with SENDDATA",1)
disp_msgs()
error=.T.
RETURN(.F.)
ENDIF
IF REQUEST("Fastins")="T"
RETURN(.T.)
ELSE
WARNING("","Problem with Fastins",1)
disp_msgs()
error=.T.
RETURN(.F.)
ENDIF
RETURN(.F.)
*--------------------------------------
PROCEDURE rows_all
IF SENDDATA("Xstr1","16")
IF SENDDATA("Xstr2","0")
REQUEST("SetOpt")="T"
ENDIF
ENDIF
RETURN
*--------------------------------------
PROCEDURE rows_lim
USE Sysparms
IF SENDDATA("Xstr1","16")
IF SENDDATA("Xstr2",STR(Max_rows,3,0))
REQUEST("SetOpt")="T"
ENDIF
ENDIF
USE
RETURN