|
SMARTWARE PROGRAM CODE, Page 2
| 'simbrows.pf3'
Simulated Browse Command |
public $key lr choice ch
screen clear 15 0 no-border
beep
repaint on
repaint
smartpoke $_spndmes 0
suspend
keys "dba",f8
label retry
screen clear box scrheight-3 1 scrheight scrwidth 1 1 no-border
screen print scrheight-2 1 14 1 "Enter = Show Full Record"
screen print scrheight-1 3 14 1 "Esc = Update Record"
screen print scrheight 2 15 1 " F10 = Main Menu"
screen print scrheight-2 28 14 1 "F8 = List Recs"
screen print scrheight-1 29 14 1 CHR(24)&"= Prev Rec"
screen print scrheight 26 14 1 "PgUp = Prev Scrn"
screen print scrheight-1 62 14 1 "Ctrl-Home = 1st Rec"
screen print scrheight-1 45 14 1 CHR(25)&"= Next Rec"
screen print scrheight 63 14 1 "Ctrl-End = End Rec"
screen print scrheight 45 14 1 "PgDn = Next Scrn"
screen print scrheight-3 58 15 4 " Current Time:"&str(TIME)
screen print scrheight-2 45 14 1 "P = Print Record"
screen print scrheight-2 68 14 1 "A = Print All"
lr=record
if lr>records
lr=records
end if
screen print scrheight-3 1 15 4 "Working on Record:"&STR(lr)&"of"&STR(RECORDS)|"
"
$key=inchar
if $key={Up}
data goto record previous
jump retry
elseif $key={f8}
suspend
keys "dba",f8
jump retry
elseif $key={cr}
suspend
keys "dbo",f8
jump retry
elseif $key={F10}
transfer "mainmenu"
elseif $key={down}
data goto record next
jump retry
elseif $key={PgUp}
suspend
keys PgUp,f8
jump retry
elseif $key={PgDn}
suspend
keys PgDn,f8
jump retry
elseif $key={^Home}
suspend
keys ^Home,f8
jump retry
elseif $key={^End}
suspend
keys ^End,f8
jump retry
elseif $key={right}
suspend
keys right,f8
jump retry
elseif $key={left}
suspend
keys left,f8
jump retry
elseif $key={P} or $key={p}
repaint off
data browse off
screen clear box 12 23 16 52 15 10
screen print 14 25 15 10 "Please wait - printing...."
print current-record view all
transfer "mainmenu"
elseif $key={A} or $key={a}
repaint off
data goto record first
while record<=records
data browse off
screen clear box 12 23 16 52 15 10
screen print 14 25 15 10 "Please wait - printing...."
print current-record view all
data goto record next
end while
transfer "mainmenu"
elseif $key={esc}
data update
jump retry
else
beep 2
jump retry
end if |
| -search.pf3
BAR VERSION OF TWIDDLER |
'use function in a query by eaxpression,
i.e. ..... and -search(record,records)
public -search(2) flag
function -search(fg,bg)
local bar$ size
size=0
if flag=0
screen clear box screhight/2-1 scrwidth/2-21
\
screhight/2+4 scrwidth/2+22 0 0
screen clear box screhight/2-2 scrwidth/2-22
\
scrheight/2+3 scrwidth/2+21 fg bg
screen print scrheight/2+2 scrwidth/2-20
fg bg "Searched"
flag=1
end if
size=int((records-record)/records*40)
bar$=repeat("-",size)
screen print scrheight/2-1 scrwidth/2-1 fg bg \ str(format(record/records,"%"))
screen print scrheight/2 scrwidth/2-20 12 15 repeat("_",40)
screen print scrheight/2 scrwidth/2-20 15 12 bar$
screen print screhight/2+2 scrwidth/2-20_9 fg bg \
str(record)|"/"|str(records)
return true
end function
|
| twiddler.pf3 |
public twiddler() t#
function twiddler()
screen print scrheight-3 scrwidth-15 15 0
"Processing"&mid("-/|\",let
t#=mod(t#,4)+1,1)
return true
end function |
| 'vbsearch.rf3'
VISUAL BASIC SEARCHER |
'test's VB search program
'_searcher("datafile","startdate")
EXTERNAL _banner() _drawtxt() _drawbox()
GLOBAL _searcher(2)
PUBLIC flag startdate option$
flag=0
DATA GOTO RECORD FIRST 'get start date for calendar
startdate=DBGET("[INPUT-DATE]") `use to set calendar to
the first input date in the chosen datafile
_searcher(APINFO(AP_FILEX),startdate) `parameters are current database
and the startdate calculated
IF flag=0 and option$<>"MO" `don't run in certain
circumstances
BEEP
EXECUTE "howsort" IN-MEMORY `displays
a list of fields for sorting
BEEP
EXECUTE "bwse-prt" IN-MEMORY `choose
browsing or printing of matches
REPAINT ON
REPAINT
EXECUTE "simbrows" IN-MEMORY `simulated
browse command
END IF
IF flag=1
' BEEP 2
' _drawtxt(SCRHEIGHT-10,5,"Search cancelled",15,14,12)
`this lines can be used if you wish to generate a smartware error
' WAIT 2
ELSEIF flag=2
BEEP 2
_drawtxt(SCRHEIGHT-10,5,"No records
found",15,14,12) `no records found message
WAIT 2
END IF
RETURN
FUNCTION _searcher(datafile,datefield)
LOCAL temp
TOOLS FILE ERASE "vbdates.dfq" `delete temporary query file
FOPEN "startdte.tmp" AS 1
FWRITE 1 FROM date2(datefield) `write date for calendar start to a
temp file read by the VB program
FCLOSE 1
PROCESS_CREATE("searcher.exe") `run the seacher VB program
_banner("DATE SEARCH IN PROGRESS")
WHILE(FILE("vbdates.dfq"))=0 `wait for the file created
by VB program to appear before continuing
END WHILE
WAIT 1
FOPEN "vbdates.dfq" AS 1 `open query file
FREAD 1 INTO temp `read contents
FCLOSE 1
IF temp="Cancelled" `user press `quit' in VB program
TOOLS FILE ERASE "vbdates.dfq"
`delete the file
flag=1 `set a flag to be recognised by smartware
as an error
EXIT FUNCTION
END IF
_drawtxt(5,5,"Finding matching records. Please wait....",15,14,1)
`do the search
TOOLS FILE ERASE "vbdates.idx"
DATA QUERY EXECUTE "vbdates" INDEX "vbdates"
IF FILE("vbdates.idx")=0
flag=2 `no records found, different flag
value.
END IF END FUNCTION |
 
|