home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
ftp.barnyard.co.uk
/
2015.02.ftp.barnyard.co.uk.tar
/
ftp.barnyard.co.uk
/
cpm
/
walnut-creek-CDROM
/
CPM
/
DATABASE
/
DIMS103.ARK
/
DINSTALL.DOC
< prev
next >
Wrap
Text File
|
1986-12-07
|
47KB
|
984 lines
.op
.he DIMS Installation Notes - Release 1.03 page #
.po 13
..----!----!----------------!------------------------!-----------------------
DIMS INSTALLATION NOTES AND OPERATING INSTRUCTIONS
by Dan Dugan
Release 1.03 - January 20, 1984
TABLE OF CONTENTS
INTRODUCTION: FEATURES AND LIMITATIONS
INSTALLATION -- before you can use it
BASIC VERSION DIFFERENCES
MEMORY REQUIREMENTS
MODIFYING THE PROGRAMS FOR YOUR TERMINAL AND PRINTER
DESCRIPTIONS OF THE FILES PROVIDED
PLACING THE FILES ON THE APPROPRIATE DRIVES
OPERATING INSTRUCTIONS
NO-FILE MENU
DEDIT COMMANDS
TRANSIENT COMMAND PROGRAMS
FILE STYLES
DESIGNING AND CREATING SCREEN/PRINTER FORMATS
CRASH RECOVERY
INTERFACE AND MODIFICATION
FILE COMPATIBILITY
WRITING YOUR OWN 'TRANSIENT' PROGRAMS
MODIFICATION GUIDELINES
KNOWN BUGS AND SUGGESTED IMPROVEMENTS
APPENDIX - HISTORY OF DIMS
.HE DIMS Installation Notes - Release 1.03 - INTRODUCTION PAGE #
.PAèINTRODUCTION - FEATURES AND LIMITATIONS
DIM╙ i≤ ß se⌠ oµ Basiπ program≤ tha⌠ chaiε togethe≥ automaticall∙ t∩ ì
creatσ ß versatilσ list-managinτ system« I⌠ ha≤ beeε proveε unde≥ pressurσ ì
t∩ bσ suitablσ fo≥ seriou≤ medium-scalσ (hundred≤ t∩ thousand≤ oµ names⌐ ì
mailing-lis⌠ operations¼ inventories¼ indexes¼ ledgers¼ etc« I⌠ mus⌠ bσ ì
installeΣ b∙ ß Basic-8░ programme≥ anΣ thereafte≥ caε bσ useΣ successfull∙ ì
b∙ almos⌠ anybody.
Filσ record≤ caε bσ eithe≥ 12╕ byte≤ lonτ witΦ u≡ t∩ 1╡ field≤ o≥ 25╢ ì
byte≤ lonτ witΦ u≡ t∩ 3░ fields« Withiε eacΦ recorΣ thσ field≤ arσ oµ ì
randoφ length« Aε indicato≥ appear≤ t∩ sho≈ ho≈ mucΦ spacσ i≤ lef⌠ wheε ì
lengtΦ limit≤ arσ beinτ approached« Ne≈ record≤ arσ addeΣ t∩ thσ enΣ oµ ì
thσ file« Record≤ ma∙ bσ deleted¼ bu⌠ recorΣ number≤ sta∙ thσ samσ unti∞ ì
thσ "renumberó commanΣ i≤ used« Wheε updatinτ record≤ thσ olΣ datß i≤ ì
showε fielΣ b∙ fielΣ anΣ ma∙ bσ kep⌠ o≥ replaced« Al∞ datß file≤ arσ ì
automaticall∙ kep⌠ iε duplicatσ oε tw∩ differen⌠ disks« Wheε ß recorΣ i≤ ì
updateΣ i⌠ i≤ automaticall∙ updateΣ oε botΦ disks« Thereforσ i⌠ i≤ diffiì
cul⌠ t∩ losσ ß DIM╙ file« Thσ file≤ caε bσ scanneΣ witΦ thσ CP/═ "typeó ì
command« Excep⌠ fo≥ temporar∙ file≤ kep⌠ durinτ operation≤ likσ sorting¼ ì
therσ arσ n∩ inde° files.
Thσ file≤ caε bσ searcheΣ rapidl∙ fo≥ ß litera∞ substrinτ anywherσ iε ì
thσ record¼ o≥ morσ slowl∙ fo≥ u≡ t∩ 1░ selectioε key≤ iε specifiπ field≤ ì
anΣ u≡ t∩ 1░ rejectioε key≤ iε fields« ┴ subse⌠ oµ record≤ s∩ selecteΣ ma∙ ì
bσ writteε ou⌠ t∩ anothe≥ DIM╙ file¼ o≥ writteε t∩ ß standarΣ Basiπ sequenì
tia∞ datß filσ fo≥ usσ b∙ othe≥ programs« ┴ standarΣ Basiπ sequentia∞ datß ì
filσ froφ an∙ sourcσ ma∙ bσ addeΣ ont∩ ß DIM╙ file« ┴ quitσ flexiblσ ì
multi-ke∙ sortinτ commanΣ i≤ includeΣ whicΦ caε sor⌠ ß wholσ filσ o≥ ß ì
rangσ oµ record≤ withiε it« Thσ sor⌠ outpu⌠ ma∙ bσ overlaiΣ oε thσ origiì
na∞ filσ o≥ sen⌠ t∩ ß ne≈ file.
Filσ sizσ i≤ limiteΣ onl∙ b∙ disδ space« Thσ DIM╙ "sortó commanΣ i≤ ì
limiteΣ b∙ thσ memor∙ spacσ useΣ b∙ it≤ ke∙ array¼ whicΦ depend≤ oε thσ ì
sizσ oµ thσ desireΣ key≤ anΣ thσ numbe≥ oµ records« Wherσ therσ arσ ì
thousand≤ oµ record≤ o≥ lonτ key≤ aε externa∞ sortinτ utilit∙ ma∙ bσ ì
needed. The author uses "SuperSort" from MicroPro.
Completσ screeε anΣ printe≥ forφ desigε i≤ provideΣ for« Scrollinτ o≥ ì
stationar∙ (onσ recorΣ pe≥ screen⌐ form≤ ma∙ displayed« Morσ thaε onσ forφ ì
ma∙ bσ designeΣ fo≥ ß filσ anΣ yo⌡ caε switcΦ betweeε theφ witΦ ß two-worΣ ì
command. At any time any fields may be hidden.
.cp 3
Mos⌠ operation≤ includσ self-explanator∙ dialogue« Iε thσ filσ edito≥ ì
DEDIT.BA╙ severa∞ screen≤ oµ hel≡ tex⌠ ma∙ bσ displayeΣ witΦ thσ commanΣ ì
"help.ó A⌠ thσ pausσ promp⌠ "Ready>ó ß lis⌠ oµ thσ option≤ therσ i≤ showε ì
in response to "h".
.he DIMS Installation Notes - Release 1.03 - INSTALLATION page #
.cp 9èINSTALLATION
BASIC VERSION DIFFERENCES
Therσ arσ tw∩ critica∞ difference≤ betweeε Microsof⌠ Basic-8░ versioε ì
4.╡ anΣ 5.x« Onσ i≤ tha⌠ thσ CLEA╥ statemen⌠ ha≤ changeΣ syntax« Thi≤ ì
statemen⌠ i≤ useΣ once¼ iε thσ maiε men⌡ prograφ DIMS« Iµ yo⌡ arσ instalì
linτ witΦ 4.╡ usσ "CLEA╥ 1000ó whicΦ set≤ strinτ space« Iµ yo⌡ arσ usinτ ì
versioε 5.x¼ usσ "CLEAR,,1000ó whicΦ set≤ stackô space« Iε 5.° strinτ spacσ ì
i≤ useΣ dynamically¼ bu⌠ thσ stacδ spacσ i≤ determineΣ froφ aε algorithφ ì
whicΦ wil∞ resul⌠ iε DIM╙ crashinτ witΦ aε "Ou⌠ oµ Memoryó erro≥ whicΦ wil∞ ì
bσ puzzlinτ becausσ fre(x⌐ wil∞ stil∞ sho≈ plent∙ oµ memory.
Thσ seconΣ differencσ i≤ tha⌠ Basic-8░ versioε ╡ ha≤ thσ commanΣ ì
"INKEY$ó whicΦ allow≤ checkinτ thσ keyboarΣ withou⌠ stopping« Iµ yo⌡ neeΣ ì
t∩ instal∞ DIM╙ oε versioε 4.5¼ yo⌡ wil∞ havσ t∩ eithe≥ givσ u≡ thσ "zó ì
scrollinτ contro∞ command¼ o≥ writσ codσ tha⌠ look≤ a⌠ you≥ hardwarσ ports« ì
Instead of X$=INKEY$ use X=INP(KEYBD.DATA.PORT).
MEMORY REQUIREMENT
DIM╙ i≤ currentl∙ beinτ developeΣ oε ß 59K-sizσ CP/═ system¼ actuall∙ ß ì
62╦ Morro≈ harΣ disδ system« ┴ smalle≥ systeφ ma∙ no⌠ havσ rooφ fo≥ al∞ oµ ì
thσ filσ edito≥ DEDIT¼ whicΦ i≤ big« Thσ prograφ STRIP.BA╙ i≤ provideΣ anΣ ì
ma∙ bσ useΣ t∩ removσ comment≤ froφ DEDIT« I⌠ wil∞ theε fi⌠ oε ß 54╦ ì
system« Iµ you≥ systeφ i≤ smalle≥ anΣ you'rσ adep⌠ a⌠ Basic¼ yo⌡ coulΣ ì
shrinδ DEDI╘ b∙ takinτ ou⌠ al∞ thσ codσ relatinτ t∩ thσ forma⌠ commanΣ anΣ ì
replacinτ al∞ thσ complicateΣ positioninτ codσ witΦ simplσ listinτ iε thσ ì
defaul⌠ format« Iµ yo⌡ stri≡ thσ comment≤ kee≡ you≥ developmen⌠ versioε ì
witΦ thσ comment≤ in¼ anΣ theε stri≡ i⌠ fo≥ running¼ s∩ you'l∞ havσ thσ ì
comment≤ t∩ guidσ yo⌡ iε makinτ modifications.
.cp 4
MODIFYING THE PROGRAMS FOR YOUR TERMINAL AND PRINTER
DIM╙ use≤ thσ clear-screeε anΣ curso≥ positioninτ function≤ oµ you≥ ì
terminal« Sincσ al∞ terminal≤ arσ different¼ AL╠ TH┼ DIM╙ PROGRAM╙ MUS╘ B┼ ì
MODIFIE─ T╧ SUI╘ YOU╥ TERMINAL« Iε thσ codσ (TER═ DEP⌐ wil∞ appea≥ iε ì
comment≤ a⌠ eacΦ placσ wherσ customizatioε i≤ necessary« Usσ you≥ tex⌠ ì
edito≥ t∩ searcΦ fo≥ thesσ spots« DEDI╘ use≤ thσ mos⌠ function≤ anΣ thereì
forσ require≤ thσ mos⌠ work« Thσ supplieΣ transien⌠ program≤ don'⌠ usσ ì
curso≥ positioninτ bu⌠ the∙ d∩ usσ screeε clea≥ anΣ keyboarΣ testing« AL╠ ì
TH┼ PROGRA═ SEGMENT╙ MUS╘ B┼ LOADE─ AN─ RE-SAVE─ becausσ DIM╙ use≤ CHAI╬ ì
anΣ program≤ storeΣ iε ASCI╔ forma⌠ wil∞ a⌠ firs⌠ appea≥ t∩ chaiε bu⌠ wil∞ ì
crash soon after with misleading error messages.
Wheε writinτ Basic-80¼ enterinτ ß line-feeΣ produce≤ ß ne≈ linσ iε thσ ì
listinτ whicΦ i≤ no⌠ counteΣ a≤ ß linσ b∙ Basic« Thσ combinatioε oµ thesσ ì
anΣ tab≤ make≤ i⌠ possiblσ t∩ ge⌠ ß lo⌠ oµ clarifyinτ whitσ spacσ int∩ thσ ì
codσ witΦ ver∙ littlσ cos⌠ iε term≤ oµ characters« Wheε ╔ edi⌠ ß ì
program.AS├ filσ witΦ WordSta≥ (iε "nó mode)¼ ╔ seσ extrß line≤ inserteΣ ì
anΣ sign≤ oµ confusioε iε thσ righ⌠ hanΣ column« Thi≤ i≤ becausσ Basiπ ha≤ ì
pu⌠ linefeeΣ followeΣ b∙ carriagσ return¼ thσ oppositσ oµ thσ usua∞ ì
sequence¼ iε thσ file« WordSta≥ can'⌠ edi⌠ thi≤ sequence« Jus⌠ leavσ ìèthosσ effect≤ alonσ wheε usinτ WordSta≥ anΣ al∞ wil∞ bσ well.
Specia∞ problem≤ caε arisσ iε thσ casσ oµ aε upper-casσ onl∙ terminal« ì
Iµ yo⌡ mus⌠ usσ one¼ cop∙ al∞ thσ prograφ AN─ DAT┴ file≤ witΦ PI╨ usinτ thσ ì
[u▌ option« Theε usσ ß tex⌠ edito≥ t∩ finΣ al∞ "CHR$(ó occurrence≤ iε thσ ì
program≤ anΣ changσ thosσ number≤ whicΦ represen⌠ lower-casσ character≤ (9╖ ì
t∩ 122⌐ t∩ upper-casσ code≤ (subtrac⌠ 32).
.cp 5
PRINTER
Thσ DIM╙ systeφ a≤ delivereΣ i≤ writteε fo≥ ß Diabl∩ 161░ o≥ 162░ ì
printer¼ anΣ use≤ man∙ oµ it≤ specia∞ contro∞ sequences¼ likσ settinτ ì
vertica∞ anΣ horizonta∞ pitcΦ fo≥ listinτ iε ß pre-recordeΣ form¼ anΣ higΦ ì
speeΣ absolutσ tabbing« Usσ witΦ othe≥ printer≤ wil∞ requirσ re-writinτ ì
thi≤ code« Diabl∩ contro∞ sequence≤ star⌠ witΦ ESCAPE¼ whicΦ i≤ CHR$(27)« ì
DIM╙ wil∞ allo≈ yo⌡ t∩ creatσ ß forma⌠ specificatioε whicΦ use≤ reversσ ì
scrollinτ oε thσ printer¼ bu⌠ don'⌠ d∩ i⌠ unles≤ yo⌡ havσ ß bidirectiona∞ ì
form≤ tractor.
.he DIMS Installation Notes - Release 1.03 - DESCRIPTIONS OF FILES PAGE #
.cp 9
DESCRIPTIONS OF FILES PROVIDED
*** GROUP 0 - Development ***
Kee≡ thesσ file≤ oε you≥ "DIM╙ Developmentó se⌠ oµ disks« The∙ arσ no⌠ ì
needed for working with files under DIMS.
READ-ME .103 Release letter
DINSTALL.DOC Installation and Operation Manual
STRIP .BAS Basic-80 utility for making DEDIT smaller
FORMFORM.DW╙ Sourcσ filσ t∩ bσ copieΣ wheε designinτ screen/printe≥ ì
formats with the aid of WordStar
FIELDFOR.DWS Source file to be appended to copies of FORMFORM.DWS
*** GROUP 1 - Main Programs ***
Thσ followinτ Basic-8░ program≤ arσ provideΣ iε ASCI╔ forma⌠ fo≥ easσ iε ì
transmission¼ scanning¼ anΣ editinτ durinτ installation« THE┘ MUS╘ THE╬ B┼ ì
SAVE─ I╬ TH┼ BASIC-8░ COMPRESSE─ FORMA╘ WIT╚ NAME.BA╙ T╧ RUN.
DIMS .ASC Opening menu program.
DEDIT .ASC The file editor program
.cp 10è *** GROU╨ ▓ - Transien⌠ Program≤ ***
Al∞ thesσ excep⌠ DCREAT┼ chaiε froφ anΣ returε t∩ thσ filσ editor¼ DEDIT.
DCFORM .ASC Command for creating a screen/printer format for a file.
DCHESHIR.AS├ CommanΣ fo≥ printinτ label≤ 4-acros≤ oε widσ pape≥ fo≥ ì
Cheshirσ automatiπ labe∞ applicatioε machine« Can als∩ bσ ì
useΣ a≤ ß stand-alonσ prograφ t∩ prin⌠ froφ ß comma-delimiteΣ ì
data file.
DCREATE .ASC Program to create a new file format. Chains from DIMS main
menu program.
DDO├ .AS├ CommanΣ tha⌠ display≤ o≥ write≤ t∩ ß tex⌠ filσ oµ note≤ ì
associated with a data file.
DGE╘ .AS├ CommanΣ whicΦ get≤ ß sequentia∞ filσ anΣ add≤ i⌠ t∩ ß DIM╙ file.
DHEL╨ .AS├ CommanΣ whicΦ display≤ screen≤ describinτ filσ edito≥ commands.
The screens are stored in the file DHELP.DOC.
DLABELS .ASC Command for printing 1-up mailing labels.
DLETTERS.ASC Command for printing form letters with file data inserted.
DNADI╬ .AS├ CommanΣ fo≥ inputtinτ ß NAD-likσ datß filσ t∩ ß DIM╙ ì
"standard" form mailing list file.
DPUT .ASC Command which puts a set of records out to a sequential file.
DSORT .ASC Command for sorting files.
DSTA╘ .AS├ CommanΣ fo≥ calculatinτ descriptivσ statistic≤ fo≥ datß iε ß ì
numeric field.
*** GROUP 3 - Main Data Files ***
LONGADDR.D Example data file for long form address lists.
STANDADD.D Example data file for standard form address lists.
SHORTADD.D Example data file for short form address lists.
ARTICLES.D Example data file for magazine articles.
MEMBERS .D Example data file for neighborhood association
*** GROUP 4 - Backup Data Files ***
LONGADDR.DD Example backup data file.
(etc.) .DDè
*** GROUP 5 - Auxiliary Files ***
SHORT .DFO Example format control file.
SHORT1 .DFO Example format control file.
STANDADD.DFO Example format control file.
MEMBERS .DFO Example format control file - used for printer listing.
MEMBERS .DOC Example of a notes file read and written via "doc" command
when editing MEMBERS file.
DHELP .DOC Screen texts used by help command.
.he DIMS Installation Notes - Release 1.03 - PLACING THE FILES PAGE #
.cp 5
PLACING THE FILES ON THE APPROPRIATE DRIVES
╔ recommenΣ tha⌠ beside≤ thσ distributioε master¼ yo⌡ kee≡ ß se⌠ oµ ì
disk≤ calleΣ "Dim≤ Developmentó whicΦ consist≤ oµ al∞ thσ releasσ file≤ iε ì
compresseΣ form¼ thσ demonstratioε files¼ anΣ smal∞ sample≤ oµ thσ datß ì
file≤ yo⌡ creatσ fo≥ yourself« Usσ thi≤ se⌠ oµ disk≤ t∩ creatσ anΣ tes⌠ ì
format≤ anΣ anΣ t∩ creatσ anΣ tes⌠ you≥ owε transien⌠ utilities« Theε havσ ì
set≤ oµ workinτ disks¼ whicΦ wil∞ bσ changeΣ iε pairs¼ witΦ jus⌠ thσ DIMS ì
component≤ yo⌡ neeΣ anΣ plent∙ oµ spacσ fo≥ datß files« WitΦ threσ disk≤ ╔ ì
usσ ┴ fo≥ everyda∙ prograφ librar∙ anΣ ┬ anΣ ├ fo≥ data¼ ┬ ª ├ gettinτ ì
changeΣ fo≥ differen⌠ set≤ oµ file≤ (seσ below).
Afte≥ eacΦ prograφ segmen⌠ i≤ checkeΣ ove≥ anΣ modifieΣ fo≥ you≥ termiì
nal¼ savσ i⌠ iε thσ standarΣ compresseΣ forma⌠ witΦ name.bas« Theε thσ ì
name.asπ filσ ma∙ bσ erased« Dependinτ oε ho≈ man∙ drive≤ yo⌡ have¼ yo⌡ ì
mus⌠ cop∙ thσ file≤ provideΣ oε thσ distributioε disδ t∩ disk≤ oε thσ ì
appropriatσ drive≤ oµ you≥ system« Theε changσ thσ initia∞ valuσ oµ thσ ì
variablσ NDRIVE╙ nea≥ thσ beginninτ oµ DIMS.BA╙ t∩ thσ numbe≥ oµ drive≤ yo⌡ ì
arσ using.
Iµ yo⌡ arσ usinτ ß harΣ disk¼ commen⌠ ou⌠ thσ tw∩ RESE╘ statement≤ nea≥ ì
thσ to≡ oµ DIMS.BAS« The∙ arσ necessar∙ fo≥ changinτ floppies¼ whicΦ i≤ ì
onl∙ alloweΣ a⌠ thσ no-filσ menu«
.cp 21èI╬ ┴ TW╧ DRIV┼ SYSTE═ ..« program≤ arσ spli⌠ betweeε A║ anΣ B║, attemptinτ ì
t∩ makσ balanceΣ spacσ fo≥ datß (.D⌐ anΣ backu≡ (.DD⌐ files.
Drive A: Drive B:
MBASIC .COM DCFORM .BAS
DIMS .BAS DCHESHIR.BAS
DEDIT .BAS DCREATE .BAS
LONGADDR.D DDOC .BAS
STANDADD.D DGET .BAS
SHORTADD.D DHELP .BAS
ARTICLES.D DLABELS .BAS
MEMBERS .D DLETTERS.BAS
DNADIN .BAS
DPUT .BAS
DSORT .BAS
DSTAT .BAS
SHORT .DFO
SHORT1 .DFO
MEMBERS .DFO
STANDADD.DFO
MEMBERS .DOC
DHELP .DOC
LONGADDR.DD
STANDADD.DD
SHORTADD.DD
ARTICLES.DD
MEMBERS .DD
O╬ A╬ OSBORN┼ ▒ O╥ SMALL-CAPACIT┘ 2-DRIV┼ SYSTE═ ..« Thσ minimuφ needeΣ t∩ ì
builΣ ß datß basσ i≤ shown« T∩ givσ thσ maximuφ possiblσ spacσ fo≥ data¼ ì
MBASIC.CO═ i≤ storeΣ oε drivσ B║ Thσ systeφ i≤ starteΣ froφ drivσ A║ b∙ ì
typing "b:mbasic dims". On an O-1, you can add 400 data records.
Drive A: Drive B:
DIMS .BAS MBASIC .COM
DEDIT .BAS STANDADD.DD
STANDADD.D
.cp 22 èI╬ ┴ THRE┼ DRIV┼ SYSTE═ ..« thσ prograφ librar∙ i≤ kep⌠ togethe≥ oε A║ anΣ ì
B║ anΣ C║ arσ saveΣ fo≥ largσ datß files« ┴ datß filσ caε bσ a≤ biτ a≤ thσ ì
whole user disk space, and still have 100% backup on the other disk.
Drive A: Drive B: Drive C:
MBASIC .COM LONGADDR.D LONGADDR.DD
DIMS .BAS STANDADD.D STANDADD.DD
DEDIT .BAS SHORTADD.D SHORTADD.DD
DCFORM .BAS ARTICLES.D ARTICLES.DD
DCHESHIR.BAS MEMBERS .D MEMBERS .DD
DCREATE .BAS
DDOC .BAS
DGET .BAS
DHELP .BAS
DLABELS .BAS
DLETTERS.BAS
DNADIN .BAS
DPUT .BAS
DSORT .BAS
DSTAT .BAS
SHORT .DFO
SHORT1 .DFO
STANDADD.DFO
MEMBERS .DFO
DHELP .DOC
MEMBERS .DOC
.cp 17
I╬ ┴ FOU╥ DRIV┼ SYSTE═ ..« auxiliar∙ file≤ (.DOC¼ .DF╧ anΣ temporar∙ .$$$⌐ ì
are kept on the fourth drive.
Drive A: Drive B: Drive C: Drive D:
MBASIC .COM LONGADDR.D LONGADDR.DD SHORT .DFO
DIMS .BAS STANDADD.D STANDADD.DD SHORT1 .DFO
DEDIT .BAS SHORTADD.D SHORTADD.DD STANDADD.DFO
DCFORM .BAS ARTICLES.─ ARTICLES.D─ MEMBERS .DFO
DCHESHIR.BAS MEMBERS .D MEMBERS .DD MEMBERS .DOC
DCREATE .BAS DHELP .DOC
DDOC .BAS
DGET .BAS
DHELP .BAS
DLABELS .BAS
DLETTERS.BAS
DNADIN .BAS
DPUT .BAS
DSORT .BAS
DSTAT .BAS
.he DIMS Installation Notes - Release 1.03 - OPERATING INSTRUCTIONS PAGE #
.paè
OPERATING INSTRUCTIONS: MAIN MENU
Afte≥ thσ file≤ havσ beeε pu⌠ oε thσ appropriatσ drives¼ modifieΣ fo≥ ì
you≥ termina∞ anΣ drivσ configuration¼ anΣ saveΣ iε standarΣ compresseΣ ì
forma⌠ (ASCI╔ file≤ won'⌠ CHAIN)¼ thσ systeφ i≤ starteΣ b∙ runninτ DIMS« ì
Yo⌡ shoulΣ ge⌠ thσ no-filσ men⌡ witΦ ß director∙ oµ thσ provideΣ tes⌠ datß ì
file≤ displayed« Iµ yo⌡ theε hi⌠ return¼ yo⌡ wil∞ ge⌠ men⌡ choicσ no« 1¼ ì
opeε ß file« Ente≥ thσ namσ oµ onσ oµ thσ existinτ files¼ jus⌠ thσ maiε ì
par⌠ oµ thσ name¼ skippinτ thσ extension« I⌠ ma∙ bσ iε eithe≥ lowe≥ o≥ ì
uppe≥ case.
DEDI╘ shoulΣ loaΣ anΣ displa∙ thσ las⌠ recorΣ iε thσ file« (Iµ yo⌡ ge⌠ ì
"BA─ FIL┼ MOD┼ I╬ 6250ó i⌠ mean≤ DEDI╘ hasn'⌠ beeε saveΣ iε norma∞ compresì
seΣ format.) Typσ "helpó fo≥ ß serie≤ oµ screen≤ explaininτ thσ availablσ ì
commands« A⌠ thσ "pausσ promptó "Ready>ó iµ yo⌡ typσ "hó ß men⌡ oµ pausσ ì
option≤ wil∞ appear.
Wheε yo⌡ arσ editinτ ß filσ thσ onl∙ safσ exi⌠ i≤ t∩ typσ thσ commanΣ ì
"doneó (don)« Thi≤ wil∞ returε yo⌡ t∩ thσ maiε menu« Othe≥ choice≤ ì
availablσ froφ thσ no-filσ men⌡ includσ ß rese⌠ whicΦ i≤ intendeΣ t∩ sho≈ ì
thσ ne≈ director∙ wheε datß disk≤ havσ beeε changed« Iµ DIM╙ ha≤ beeε ì
properl∙ installeΣ (tw∩ RESE╘ statement≤ enabled)¼ n∩ harφ wil∞ comσ iµ yo⌡ ì
ski≡ thi≤ ste≡ anΣ opeε ß file« Therσ i≤ als∩ ß commanΣ fo≥ changinτ thσ ì
numbe≥ oµ disk≤ iε thσ systeφ fo≥ thσ curren⌠ session« Thi≤ i≤ fo≥ emerì
genc∙ use« I⌠ i≤ necessar∙ t∩ firs⌠ usσ PI╨ t∩ movσ thσ file≤ arounΣ t∩ ì
thσ appropriatσ drive≤ iµ yo⌡ intenΣ t∩ d∩ this.
Thσ no-filσ men⌡ include≤ DCREATE¼ thσ sub-prograφ tha⌠ set≤ u≡ ß ne≈ ì
filσ froφ scratch« I⌠ ask≤ fo≥ thσ name¼ anΣ choicσ oµ size« 128-bytσ ì
record≤ arσ jus⌠ righ⌠ fo≥ mailinτ list≤ anΣ mos⌠ things╗ thσ 256-bytσ ì
recorΣ sizσ i≤ availablσ fo≥ record≤ tha⌠ neeΣ morσ space« Yo⌡ arσ askeΣ ì
t∩ givσ thσ defaul⌠ 4-characte≥ namσ fo≥ eacΦ field¼ anΣ whethe≥ i⌠ i≤ aε ì
alphabetiπ o≥ numeriπ field« Yo⌡ caε jus⌠ hi⌠ RETUR╬ fo≥ alphabetic« ì
Everywherσ iε DIM╙ dialogue≤ jus⌠ hittinτ RETUR╬ give≤ yo⌡ thσ firs⌠ choicσ ì
iε thσ men⌡ o≥ options« Ente≥ "stopó wheε al∞ field≤ havσ beeε defined¼ ì
and after approval the new file will be opened.
Iµ yo⌡ wan⌠ t∩ makσ ß ne≈ filσ witΦ thσ samσ fielΣ schemσ a≤ aε ì
existinτ one¼ there'≤ aε easie≥ way« Jus⌠ opeε thσ filσ anΣ cop∙ onσ ì
recorΣ ("cop∙ 1")¼ givinτ thσ ne≈ filσ name« Theε "doneó thσ olΣ file¼ ì
opeε thσ ne≈ filσ anΣ usσ "changeó t∩ pu⌠ ne≈ datß iε thσ copieΣ record« ì
Theε yo⌡ caε star⌠ adding.
.he DIMS Operating manual - Release 1.03 - DEDIT commands PAGE #
.cp 5èFILE EDITING COMMANDS
DEDI╘ ha≤ tw∩ prompts¼ "Edi⌠ FILENAME:ó anΣ "Ready>"« "Edi⌠ FILENAMEó ì
i≤ thσ commanΣ level¼ anΣ accept≤ ß commanΣ line« "Ready>ó i≤ thσ "pausσ ì
promptó betweeε record≤ iε ß sequencσ beinτ ruε thr⌡ iε responsσ t∩ ß ì
commanΣ line« Thσ pausσ promp⌠ "Ready>ó take≤ single-lette≥ instan⌠ comì
mand≤ SPACE¼ · o≥ ESC« Hittinτ thσ spacσ ba≥ wil∞ sho≈ thσ nex⌠ record« ì
Hittinτ · wil∞ star⌠ continuou≤ scrollinτ unti∞ spacσ i≤ hi⌠ t∩ stop« Thσ ì
ESCAP┼ ke∙ wil∞ alway≤ qui⌠ thσ sequencσ anΣ givσ yo⌡ "Edi⌠ FILENAME".
"Edi⌠ FILENAMEó take≤ ß somewha⌠ free-forφ commanΣ line« Thi≤ linσ i≤ ì
madσ u≡ oµ onl∙ valiΣ commanΣ words« Thσ sequencσ caε bσ prett∙ loose¼ bu⌠ ì
afte≥ ß "finaló commanΣ everythinτ elsσ wil∞ bσ ignoreΣ excep⌠ fo≥ range-ì
of-record≤ word≤ anΣ numbers¼ likσ "froφ 1░ t∩ 20."
Iµ there'≤ ß recorΣ numbe≥ o≥ ß pai≥ oµ recorΣ number≤ anywherσ iε thσ
command line, the command will be done on the specified range of records.
Thσ word≤ "fromó "toó "alló "endó "nextó o≥ "lastó ma∙ bσ useΣ wheε talkinτ ì
abou⌠ recorΣ numbers« ".ó insteaΣ oµ ß numbe≥ mean≤ usσ thσ mos⌠ recentl∙ ì
displayeΣ record« Al∞ thσ built-iε command≤ ma∙ bσ shorteneΣ t∩ threσ ì
letters.
For example, all the following are valid commands:
add
delete from 10 to 20
delete 10 20
print to 75
print select labels
change 57
cha . (means change last record shown)
10 20
list from 10 to 20 (same result as "10 20"
select copy delete (moves records to another file)
"FINAL" COMMANDS
Thesσ command≤ arσ normall∙ thσ las⌠ worΣ iε thσ commanΣ sentence« An∙ ì
followinτ word≤ excep⌠ recorΣ number≤ wil∞ bσ ignored.
add Appends records to the end of the file, prompting field by
field. In this mode the following commands take effect:
"stop" alone in any field quits adding.
"\" (backslash) at end of any field skips back 1 field.
";" alone in the field copies data from last record shown.
done Closes the file and returns to the no-file menu.
got∩ <filenamσ> Close≤ thσ filσ anΣ open≤ an∙ nameΣ filσ oε thσ
same disks.
fields Allows "hiding" fields you don't want to show. You may un-hide
them with the same command. Controls output of 'put.'
è format 0 Installs default display and print formats.
format <name> Installs named format definition for screen and printer.
formats Shows available format definition files.
backup Makes complete new backup file from main file. Rarely used
since backup file is maintained automatically.
renumber Renumbers all records sequentially from the top in both main
and backup files, closing up holes from deleted records.
MISCELLANEOUS COMMANDS
The following commands may be given freely anywhere in the command line:
change <#> Shows record or records field by field, new data may be
entered for each field or the old data may be kept by just
hittinτ RETURN« T∩ erasσ ß fielΣ ente≥ jus⌠ onσ space then
RETURN« BackslasΦ '\º back≤ u≡ t∩ previou≤ field« Iµ ß ì
ááááááááááááááááchangσ commanΣ include≤ morσ thaε onσ record¼ yo⌡ wil∞ bσ ì
áááááááááááááááágiveε thσ optioε t∩ selec⌠ field≤ t∩ change¼ whicΦ speed≤ ì
ááááááááááááááááu≡ thσ proces≤ oµ doinτ somethinτ likσ jus⌠ addinτ zipcode≤ ì
ááááááááááááááááto an existing file.
delete <#> Shows record or records and asks approval to erase.
list Shows records. Assumed if no other final command is given.
find <word> Finds records containing the exact word string. A phrase
can be found if underlines_are_used_instead_of_spaces.
select Find≤ record≤ containinτ u≡ t∩ 1░ differen⌠ word≤ o≥ ì
ááááááááááááááááphrases« Space≤ arσ OK¼ bu⌠ n∩ upper/lowe≥ casσ conversioε ì
áááááááááááááááái≤ done« Iµ yo⌡ hi⌠ returε wheε askeΣ wha⌠ fielΣ t∩ looδ ì
ááááááááááááááááiε thσ worΣ wil∞ bσ searcheΣ fo≥ iε al∞ fields« Yo⌡ als∩ ì
áááááááááááááááácaε specif∙ u≡ t∩ 1░ word≤ o≥ phrase≤ tha⌠ wil∞ causσ thσ ì
áááááááááááááááárecorΣ t∩ bσ skipped« Desigε you≥ codinτ systeφ t∩ worδ ì
ááááááááááááááááwitΦ this«
print Prints on list device rather than screen in the current format.
copy Copies data records and adds them on to the end of another
DIMS file. You will be asked for the name. You may create a
new file this way or add to an existing one, but the field
definitions must be the same. New records have no auto backup.
and Permitted for clarity, ignored.
page Sets the page number to start the printout with.
margin Set≤ thσ printe≥ margiε iµ yo⌡ don'⌠ wan⌠ thσ margiε tha⌠ ì
áááááááááááááááácome≤ witΦ thσ forφ you'rσ using.
è flag CombineΣ witΦ "addó o≥ "changeó t∩ ß rangσ oµ records¼ ask≤ ì
ááááááááááááááááyo⌡ fo≥ ß strinτ t∩ bσ addeΣ automaticall∙ t∩ an∙ (one⌐ ì
ááááááááááááááááfielΣ iε thσ record.
programs Shows a directory of available "transient commands," i.e.
áááááááááááááááávarious batch processes than can work on the file.
.cp 4
TRANSIENT COMMANDSáááááááááááááááá
Transien⌠ command≤ arσ sub-program≤ whicΦ d∩ ß batcΦ oµ worδ anΣ theε ì
returε yo⌡ t∩ DEDIT« Wherσ appropriate¼ the∙ wil∞ takσ ß rangσ oµ record≤ ì
anΣ selectioε criteriß froφ thσ commanΣ line« Example║ "prin⌠ selec⌠ ì
label≤ 10░ t∩ 150." The most commonly used are described here:
cform Process for creating format definition files. Complicated.
doc A "notepad" where you can read or write notes associated with
thσ datß file« Thσ doπ filσ caε bσ editeΣ late≥ witΦ ß ì
áááááááááááááááátex⌠ editor« Usefu∞ fo≥ documentinτ oε thσ spo⌠ code≤ yo⌡ ì
ááááááááááááááááinven⌠ fo≥ you≥ file.
labels Print≤ ß batcΦ oµ mailinτ label≤ (usσ "prin⌠ labels"⌐ witΦ ì
ááááááááááááááááblanδ field≤ closeΣ up« Work≤ onl∙ witΦ threσ standarΣ ì
ááááááááááááááááaddres≤ filσ formats« It'≤ no⌠ harΣ t∩ modif∙ iµ necesì
áááááááááááááááásary« Afte≥ thσ label≤ arσ aligned¼ hi⌠ spacσ t∩ prin⌠ onσ ì
ááááááááááááááááa⌠ ß timσ t∩ makσ sure« Theε hi⌠ · t∩ causσ continuou≤ ì
ááááááááááááááááprinting« Hi⌠ spacσ agaiε t∩ pause¼ ES├ t∩ abort.
letters Print≤ ß tex⌠ filσ witΦ datß froφ ß DIM╙ filσ inserted« ì
áááááááááááááááá┴ persona∞ salutatioε linσ o≥ othe≥ datß line≤ ma∙ bσ ì
ááááááááááááááááincludeΣ iµ desired« DLETTERS.BA╙ mus⌠ bσ modifieΣ fo≥ ì
ááááááááááááááááeacΦ job« Iµ yo⌡ havσ MailMergσ it'≤ easie≥ t∩ usσ "putó ì
áááááááááááááááát∩ makσ ß sequentia∞ datß filσ whicΦ i≤ ß subse⌠ oµ thσ ì
ááááááááááááááááDIM╙ data file anΣ usσ MailMergσ witΦ that.
sort Sort≤ thσ record≤ int∩ ß ne≈ sequencσ iε thσ wholσ filσ o≥ ì
áááááááááááááááájus⌠ ß rangσ oµ thσ file« Ask≤ question≤ fo≥ set-up« ì
ááááááááááááááááAlphabetiπ key≤ ma∙ bσ truncateΣ and/o≥ blank-filleΣ t∩ ß ì
ááááááááááááááááspecifieΣ length« Sort≤ alphabeticall∙ unles≤ al∞ field≤ ì
ááááááááááááááááspecifieΣ fo≥ key≤ arσ numeric« Thσ sorteΣ produc⌠ ma∙ ì
ááááááááááááááááreplacσ thσ olΣ filσ o≥ makσ ß ne≈ file« LimiteΣ b∙ memor∙ ì
ááááááááááááááááspace to smaller files.
stat Computes descriptive statistics for a selected numeric field.
put Makes an output file in standard Basic sequential form for
further processing with other programs. You may select a
range of records in the invoking command line, and selection
specifications« Hiddeε field≤ (seσ "fields"⌐ wil∞ bσ ì
skipped
get Add≤ datß froφ ß conventiona∞ Basiπ sequentia∞ datß filσ t∩ ì
ááááááááááááááááthσ enΣ oµ thσ DIM╙ filσ froφ whicΦ i⌠ i≤ called¼ addinτ ì
áááááááááááááááárecord≤ t∩ thσ end« Allow≤ skippinτ anΣ re-orderinτ oµ fields.è
.cp 5
FILE STYLES
Iµ you'rσ openinτ u≡ ß ne≈ mailinτ lis⌠ file¼ it'≤ convenien⌠ t∩ usσ ì
onσ oµ threσ establisheΣ set≤ oµ fielΣ name≤ « Looδ a⌠ thσ examplσ file≤ ì
provided¼ LONGADDR¼ STANDADD¼ anΣ SHORTADD« Thσ transien⌠ commanΣ "labelsó ì
ha≤ codσ built-iε t∩ dea∞ witΦ an∙ oµ thesσ threσ forms« Thσ lonτ forφ i≤ ì
useΣ fo≥ governmen⌠ o≥ academiπ worδ wherσ title≤ anΣ organization≤ abound« ì
Thσ standarΣ forφ i≤ fo≥ genera∞ purposes« Thσ shor⌠ forφ i≤ fo≥ shor⌠ ì
file≤ tha⌠ won'⌠ neeΣ t∩ bσ sorteΣ int∩ las⌠ namσ order.
T∩ makσ ß special-purposσ mailinτ lis⌠ sucΦ a≤ aε organizatioε whicΦ ì
woulΣ wan⌠ membershi≡ statu≤ o≥ othe≥ specia∞ fields¼ imitate onσ oµ thσ ì
threσ standarΣ fielΣ layout≤ fo≥ everythinτ u≡ t∩ thσ zi≡ code¼ theε desigε ì
thσ layou⌠ beyonΣ tha⌠ poin⌠ t∩ sui⌠ thσ application« Thi≤ wa∙ thσ label≤ ì
prograφ wil∞ worδ witΦ thσ file« Fo≥ example¼ stud∙ "MEMBERS.DOC,ó whicΦ ì
explains the fields of "MEMBERS.D."
Thσ ZI╨ fielΣ i≤ oµ thσ numeriπ typσ s∩ i⌠ wil∞ rejec⌠ un-sortablσ ì
mistake≤ likσ usinτ "ló fo≥ "1"« Pu⌠ Europeaε anΣ Canadiaε posta∞ code≤ ì
afte≥ thσ provincσ iε thσ C-S╘ field¼ anΣ leavσ thσ ZI╨ fielΣ blank.
DESIGNING CODES FOR RECORD SELECTION
Iµ codσ field≤ arσ compatibl∙ designed¼ thσ limiteΣ selection/rejectioε ì
logiπ iε DIM╙ caε d∩ quitσ ß gooΣ joΓ oµ pullinτ ou⌠ ß subset« Thσ ì
techniquσ tha⌠ I'vσ developeΣ tha⌠ work≤ rea∞ wel∞ i≤ t∩ usσ code≤ madσ u≡ ì
oµ onσ lower-casσ lette≥ anΣ onσ digit¼ sucΦ a≤ a0¼ a1¼ b0¼ c8¼ etc« An∙ ì
numbe≥ oµ code≤ caε bσ jumbleΣ iε an∙ orde≥ iε ß singlσ codσ field« Thi≤ ì
make≤ i⌠ eas∙ t∩ adΣ code≤ t∩ thσ schemσ a≤ i⌠ develop≤ - yo⌡ caε usσ thσ ì
"docó commanΣ t∩ notσ thei≥ meaninτ wheε yo⌡ thinδ theφ up« Iµ thi≤ forφ ì
oµ codinτ i≤ strictl∙ adhereΣ t∩ ß subse⌠ oµ ß singlσ codσ ma∙ bσ pulleΣ ì
ver∙ rapidl∙ usinτ "find,ó sincσ thi≤ combinatioε oµ lette≥ anΣ digi⌠ ì
doesn't occur anywhere else in the fields. For example:
print find a2 labels
.he DIMS Operating Manual - Release 1.03 - SCREEN & PRINTER FORMATS PAGE #
DESIGNING AND CREATING SCREEN & PRINTER FORMATS
Yo⌡ caε creatσ formats¼ tha⌠ is¼ totall∙ designeΣ way≤ oµ naminτ anΣ ì
displayinτ thσ datß oε thσ screeε anΣ oε thσ printer« Opeε thσ examplσ ì
filσ SHORTAD─ anΣ tr∙ thσ samplσ format≤ SHOR╘ anΣ SHORT▒ ou⌠ oε it« Yo⌡ ì
caε seσ thσ name≤ oµ thσ format≤ (.DF╧ files⌐ availablσ b∙ typinτ thσ ì
commanΣ "formats.ó
┴ forma⌠ i≤ usuall∙ designeΣ fo≥ usσ witΦ ß particula≥ file¼ thougΦ iµ ì
thσ field≤ arσ compatiblσ there'≤ n∩ reasoε wh∙ ß wholσ famil∙ oµ file≤ ì
couldn'⌠ usσ thσ samσ one« ┴ forma⌠ specificatioε include≤ botΦ thσ screeε ì
anΣ thσ printe≥ images« Yo⌡ caε desigε eithe≥ scrollinτ o≥ screen-orienteΣ ì
forms« Thσ designer≤ oµ commercia∞ data-entr∙ program≤ (e.g« DataStar¼ ì
dBAS┼ II⌐ seeφ t∩ bσ preferrinτ screen-orienteΣ display≤ thesσ days¼ wherσ ì
thσ screeε show≤ yo⌡ jus⌠ onσ filσ recorΣ a⌠ ß timσ displayeΣ iε ß designeΣ ìèform« Yo⌡ caε desigε fixed-positioε format≤ fo≥ DIMS« ╔ prefe≥ scrollinτ ì
datß entr∙ becausσ yo⌡ caε orien⌠ yourselµ t∩ wha⌠ yo⌡ jus⌠ did« ╔ haven'⌠ ì
useΣ fixed-positioε forma⌠ design≤ anΣ consequentl∙ ╔ mus⌠ warε yo⌡ tha⌠ ì
thougΦ provideΣ fo≥ iε DIM╙ thi≤ modσ hasn'⌠ beeε full∙ testeΣ anΣ therσ ì
ma∙ bσ bugs.
USING CFORM TO CREATE A FORMAT CONTROL FILE
Therσ arσ tw∩ way≤ oµ creatinτ thσ forma⌠ specificatioε file¼ ì
<name>.DFO« Thσ firs⌠ i≤ t∩ givσ thσ commanΣ "cformó iε DEDIT« Thσ cforφ ì
transien⌠ allow≤ yo⌡ t∩ prin⌠ ou⌠ ß lonτ pape≥ forφ oε whicΦ yo⌡ fil∞ ou⌠ ì
you≥ desigε fo≥ thσ screeε anΣ printe≥ form« Screeε and/o≥ pagσ heading≤ ì
ma∙ bσ madσ u≡ t∩ threσ line≤ long« Thesσ line≤ wil∞ onl∙ bσ printeΣ iµ ì
non-blank« FielΣ name≤ (prompts⌐ ma∙ bσ omitted¼ thσ defaul⌠ 4-characte≥ ì
fielΣ namσ ma∙ bσ used¼ o≥ ß custoφ namσ ma∙ bσ printeΣ anywhere« Iε ì
positioninτ name≤ anΣ datß fields¼ iµ thσ linσ i≤ specifieΣ thσ iteφ wil∞ ì
alway≤ bσ printeΣ a⌠ tha⌠ line. Iµ thσ linσ i≤ ░ i⌠ wil∞ bσ printeΣ wherì
eve≥ thσ curso≥ o≥ printheaΣ wa≤ lef⌠ a⌠ thσ enΣ oµ thσ previou≤ field« ì
Similarly¼ iµ ß columε i≤ specifieΣ thσ datß wil∞ bσ printeΣ there¼ anΣ iµ ì
columε ░ i≤ giveε i⌠ wil∞ prin⌠ a⌠ thσ columε wherσ i⌠ wa≤ lef⌠ b∙ thσ ì
previou≤ operation« Thi≤ allows¼ fo≥ example¼ printinτ
Firstnamσ Lastname
b∙ defininτ thσ fielΣ namσ promp⌠ fo≥ "Lastnameó a≤ ß singlσ space¼ a⌠ linσ ì
░ anΣ columε 0.
Takσ carσ wheε enterinτ thσ datß froφ thσ filled-ou⌠ form¼ becausσ ì
cforφ doesn'⌠ bacδ up« Iµ yo⌡ makσ aε erro≥ yo⌡ mus⌠ star⌠ over« Ente≥ ì
al∞ thσ specification≤ anΣ tes⌠ i⌠ oε you≥ datß file« Wheε you'rσ debugì
ginτ ß forma⌠ design¼ yo⌡ caε takσ ß shor⌠ cu⌠ b∙ usinτ ß tex⌠ edito≥ ì
prograφ oε thσ .DF╧ filσ tha⌠ cforφ createΣ froφ thσ specificatioε entr∙ ì
dialogue« Comparσ thσ number≤ oε thσ pape≥ forφ witΦ thσ filσ imagσ t∩ ì
figurσ ou⌠ wherσ iε thσ forma⌠ contro∞ filσ yo⌡ are« Thσ filσ i≤ reaΣ a≤ ß ì
sequentia∞ filσ wheε i⌠ i≤ useΣ b∙ DIMS¼ s∩ takσ grea⌠ carσ t∩ preservσ thσ ì
exac⌠ numbe≥ oµ line≤ anΣ item≤ pe≥ line«
USING WORDSTAR TO CREATE A FORMAT CONTROL FILE
Iµ yo⌡ havσ WordStar¼ aε easiest methoΣ ma∙ bσ used« ┴ WordSta≥ filσ ì
witΦ prompt≤ includeΣ a≤ non-printinτ comment≤ i≤ editeΣ t∩ fil∞ iε al∞ thσ ì
desireΣ specifications« Thσ filσ i≤ theε printeΣ t∩ disδ t∩ creatσ thσ ì
contro∞ file« Star⌠ WordStar« Typσ "nó t∩ begiε ß "non-documentó typσ oµ ì
file¼ anΣ namσ thσ ne≈ filσ witΦ ß ne≈ name« ╔ sugges⌠ usinτ thσ ì
suffix .DWS for this type of file.
A⌠ thσ to≡ oµ thσ blanδ ne≈ file¼ typσ ^KR¼ anΣ givσ thσ namσ ì
"formform.dws"« Thσ loadeΣ filσ contain≤ completσ prompt≤ anΣ ì
instruction≤ fo≥ creatinτ thσ forma⌠ contro∞ file« Wheε needed¼ thσ filσ ì
"fieldfor.dws" is also read in.
Thσ filσ i≤ printeΣ usinτ thσ optioε oµ printinτ t∩ ß disδ file« Thσ ì
produc⌠ file'≤ namσ mus⌠ havσ thσ extensioε .DFO« Thσ .DF╧ filσ mus⌠ bσ ìèediteΣ t∩ removσ extrß blanδ line≤ froφ thσ end« Theε i⌠ ma∙ bσ trieΣ ou⌠ ì
whilσ editinτ thσ DIM╙ file« Afte≥ correction≤ arσ noted¼ worδ oε thσ .DW╙ ì
source file and print it again.
.he DIMS Operating Instructions - Release 1.03 - CRASH RECOVERY PAGE #
CRASH RECOVERY
DIM╙ record≤ ever∙ recorΣ tha⌠ yo⌡ ente≥ o≥ updatσ immediatel∙ iε tw∩ ì
places¼ thσ maiε anΣ backu≡ datß files« Hopefull∙ you≥ systeφ wil∞ bσ se⌠ ì
u≡ s∩ tha⌠ thesσ arσ oε differen⌠ disks¼ givinτ protectioε agains⌠ eveε ß ì
crashed file directory on one disk.
Wheε ß disδ i≤ baΣ anΣ yo⌡ crasΦ t∩ onσ oµ CP/M'≤ cryptiπ "BDO╙ ERRORó ì
messages¼ al∞ you≥ datß excep⌠ thσ las⌠ recorΣ yo⌡ werσ enterinτ i≤ stil∞ ì
good« Iµ yo⌡ werσ iε thσ proces≤ oµ addinτ record≤ al∞ thσ newly-addeΣ ì
record≤ wil∞ bσ iε thσ filσ bu⌠ thσ numbe≥ oµ record≤ wil∞ no⌠ havσ beeε ì
updateΣ iε thσ DIM╙ filσ heade≥ record« Iµ yo⌡ remembe≥ wha⌠ thσ highes⌠ ì
recorΣ numbe≥ was¼ ski≡ thσ nex⌠ paragraph.
Usσ CP/M'≤ sta⌠ utilit∙ t∩ looδ a⌠ thσ datß file« Notσ thσ numbe≥ oµ ì
record≤ showε iε thσ left-hanΣ column« Iµ you≥ filσ i≤ 128-bytσ records¼ ì
thσ numbe≥ oµ datß record≤ (thσ numbe≥ yo⌡ want⌐ i≤ tha⌠ numbe≥ minu≤ one« ì
Iµ thσ filσ i≤ double-sizσ records¼ thσ numbe≥ oµ datß record≤ i≤ thσ ì
numbe≥ oµ CP/═ record≤ divideΣ b∙ two¼ theε minu≤ one« Re-star⌠ DIMS« ì
Open the file.
Notσ tha⌠ DIM╙ stil∞ think≤ tha⌠ thσ filσ ha≤ thσ numbe≥ oµ record≤ ì
tha⌠ i⌠ haΣ wheε yo⌡ diΣ thσ las⌠ "done.ó Hi⌠ control-C« Ente≥ "N=986ó ì
(usσ you≥ owε number)« Ente≥ "C=1"« Ente≥ "contó theε RETUR╬ anΣ seσ iµ ì
thσ filσ appear≤ t∩ bσ norma∞ now« D∩ "done."
Iµ ß crasΦ occur≤ whilσ thσ sor⌠ commanΣ i≤ writinτ it≤ outpu⌠ ove≥ thσ ì
backu≡ file¼ thσ backu≡ filσ i≤ invalid« Usσ "backupó t∩ restorσ it« ì
ShoulΣ thσ maiε o≥ backu≡ filσ bσ lost¼ PI╨ caε bσ useΣ t∩ cop∙ onσ o≥ thσ ì
other¼ anΣ theε thσ CP/═ "renó commanΣ t∩ renamσ thσ file« Thσ maiε anΣ ì
backup data files are identical.
.he DIMS Interface and Modification - Release 1.03 - FILE COMPATIBILITY PAGE #
INTERFACE AND MODIFICATION
FILE COMPATIBILITY
DIM╙ file≤ arσ ASCI╔ datß iε fixed-lengtΦ randoφ acces≤ blocks¼ anΣ al∞ ì
record≤ arσ eithe≥ standarΣ 12╕ bytσ lengtΦ o≥ 25╢ bytσ lengtΦ dependinτ oε ì
whicΦ wa≤ choseε wheε thσ filσ wa≤ created« Thi≤ ha≤ nothinτ t∩ d∩ witΦ ì
you≥ disk≤ beinτ doublσ o≥ singlσ density« MBASI├ anΣ CP/═ pacδ thσ reì
cord≤ oε thσ disδ witΦ n∩ carriagσ return≤ betweeε theφ anΣ n∩ control-┌ a⌠ ì
thσ end« Withiε eacΦ recorΣ thσ field≤ arσ jammeΣ sequentiall∙ witΦ thσ ì
delimite≥ characte≥ "~ó (chr$(126)⌐ betweeε thσ field≤ anΣ thσ left-ove≥ ì
spacσ filleΣ witΦ blanks« Thi≤ characte≥ ma∙ no⌠ bσ useΣ iε data¼ bu⌠ ì
comma≤ anΣ quote≤ ma∙ bσ entereΣ freely« Herσ i≤ aε examplσ oµ wha⌠ ß filσ ì
recorΣ look≤ likσ oε thσ disk:
.cp 8è(heade≥ recorΣ - thσ las⌠ iteφ i≤ thσ numbe≥ oµ record≤ iε thσ file.)
LNAM,a~FNAM,a~N2 ,a~ADDR,a~C-ST,a~ZIP ,n~PHON,a~CODE,a~NOTE,a~stop0~ 1~
(data record 1)
Dugan~Dan~Daε Dugaε SounΣ Design~29░ Napoleoε Street¼ Studi∩ E~Saε ì
Francisco¼ CA~94124~(415⌐ 821-9776~~DIMS~
Thσ filσ ma∙ bσ dumpeΣ witΦ thσ CP/═ "typeó command¼ o≥ examineΣ anΣ ì
repaireΣ witΦ E─ o≥ WordSta≥ versioε ▒ (versioε │ wil∞ crash⌐ iε thσ non-ì
documen⌠ mode« Christensens'≤ DU.CO═ utilit∙ ma∙ bσ useΣ t∩ repai≥ ß ì
crasheΣ file« SuperSor⌠ doe≤ no⌠ accep⌠ DIM╙ file≤ directl∙ becausσ i⌠ ì
insist≤ oε comma-delimiteΣ o≥ fixed-lengtΦ fielΣ files.
Thσ DIM╙ transien⌠ program≤ "DPUTó anΣ "DGETó providσ ß convenien⌠ ì
mean≤ fo≥ interfacinτ t∩ othe≥ programs« DPU╘ output≤ ß standarΣ Basiπ ì
sequentia∞ filσ oµ comma-delimiteΣ records« I⌠ caε bσ invokeΣ iε ß commanΣ ì
linσ witΦ rangσ anΣ selectioε command≤ t∩ outpu⌠ ß subse⌠ file¼ likσ ì
"selec⌠ put.ó DGE╘ doe≤ thσ exac⌠ reverse¼ loadinτ ß standarΣ sequentia∞ ì
filσ int∩ ß DIM╙ file¼ anΣ allow≤ stuffinτ thσ field≤ iε an∙ combinatioε o≥ ì
order.
Quote≤ anΣ comma≤ ma∙ bσ useΣ freel∙ iε DIM╙ datß fields« T∩ makσ ì
file≤ compatiblσ witΦ othe≥ programs¼ DPU╘ automaticall∙ put≤ quote≤ arounΣ ì
field≤ containinτ commas« I⌠ encode≤ existinτ quote≤ iε thσ filσ int∩ thσ ì
characte≥ "~"¼ CHR$(126)« DGE╘ drop≤ thσ surroundinτ quote≤ anΣ convert≤ ■ ì
bacδ t∩ ".
┴ DIM╙ filσ ma∙ bσ re-designeΣ b∙ usinτ thσ 'putº commanΣ t∩ outpu⌠ thσ ì
datß t∩ ß temporar∙ file¼ usinτ DCREAT┼ (maiε menu⌐ t∩ creatσ ß ne≈ DIM╙ ì
filσ witΦ thσ desireΣ fielΣ names¼ anΣ usinτ thσ 'getº commanΣ t∩ stufµ thσ ì
datß bacδ iε iε thσ desireΣ order.
.he DIMS Interface and Modification - Release 1.03 - YOUR TRANSIENTS PAGE #
.cp 4
WRITING YOUR OWN 'TRANSIENT' PROGRAMS
Wha⌠ ╔ usuall∙ d∩ wheε ╔ wan⌠ t∩ writσ ß ne≈ transien⌠ functioε i≤ ì
loaΣ "DLABELS.BASó anΣ theε replacσ thσ workinτ sectioε (usually¼ jus⌠ thσ ì
insidσ oµ thσ "Ió loop⌐ witΦ ne≈ codσ tha⌠ doe≤ wha⌠ ╔ want« Theε ╔ savσ ì
thσ filσ witΦ ß ne≈ name« Kee≡ thσ beginninτ excep⌠ fo≥ thσ question≤ anΣ ì
whateve≥ subroutine≤ yo⌡ need« Remembe≥ tha⌠ yo⌡ ente≥ ß transien⌠ prograφ ì
witΦ thσ rangσ oµ records¼ printinτ anΣ selectioε criteriß alread∙ speciì
fieΣ froφ thσ DEDI╘ commanΣ line.
Cautioε -- Don'⌠ changσ thσ COMMO╬ statement« Al∞ DIM╙ program≤ arσ ì
entereΣ a⌠ linσ 100░ excep⌠ fo≥ thσ cold-star⌠ oµ DIMS.BAS« DEDI╘ automaì
ticall∙ recognize≤ transien⌠ program≤ iµ they'rσ oε thσ righ⌠ drivσ anΣ ì
thei≥ name≤ star⌠ witΦ ─ anΣ enΣ witΦ .BAS.
.he DIMS Interface and Modification - Release 1.03 - MODIFICATION PAGE #
MODIFICATION GUIDELINES
Notσ tha⌠ al∞ GOTO'≤ anΣ GOSUB'≤ poin⌠ t∩ remarδ linesí Thi≤ i≤ thσ ì
oppositσ oµ advicσ commonl∙ heard« Thσ speeΣ penalt∙ fo≥ thi≤ i≤ infiniìètesmal« Thσ advantage≤ arσ firs⌠ yo⌡ caε seσ wha⌠ GOSU┬ nnnε doe≤ b∙ ì
typinτ "lis⌠ nnnn,ó anΣ seconΣ it'≤ easie≥ t∩ adΣ ß linσ a⌠ thσ beginninτ ì
oµ thσ subroutine¼ somethinτ ╔ seeφ t∩ neeΣ t∩ d∩ often.
Regardinτ speed¼ ╔ reaΣ somewherσ tha⌠ Basiπ searche≤ thσ wholσ prograφ ì
froφ thσ star⌠ fo≥ thσ destination≤ oµ branchinτ statements¼ anΣ tha⌠ it'≤ ì
supposeΣ t∩ bσ faste≥ iµ thσ subroutine≤ arσ a⌠ thσ beginninτ oµ thσ ì
program« ╔ spen⌠ ß fe≈ hour≤ re-organizinτ DEDI╘ t∩ tr∙ this¼ anΣ i⌠ ì
wasn'⌠ wortΦ it¼ thσ timσ fo≥ searchinτ 10░ record≤ wa≤ thσ same« ╔ pu⌠ ì
thσ sub≤ bacδ wherσ the∙ grew« I'vσ hearΣ tha⌠ thσ samσ goe≤ fo≥ variablσ ì
storage¼ tha⌠ thosσ tha⌠ arσ defineΣ earlie≥ iε thσ ruε arσ quicke≥ t∩ use« ì
Fo≥ thi≤ reasoε thσ commoε loo≡ indexinτ variable≤ arσ includeΣ iε thσ ì
COMMO╬ statement¼ thougΦ mos⌠ oµ theφ aren'⌠ useΣ fo≥ paramete≥ passing«
.he DIMS Interface and Modification - Release 1.03 - VARIABLES PAGE #
DEFINITION OF COMMON VARIABLES
B$() Array holds field data of current record
C Change flag = 1 when the file has been added to
C() Controls display and changing of fields, value 0, 1 or 2
DD$() Array holds drive names for five types of files
F$ Current file name
FT Current file type, 1 or 2 - determines 128 or 256 byte recs.
FT$ Added to extension of file name, blank or 2
I,J,K Loop index variables. Be sure they're free before re-using.
LOOKFIELD() - Numbers of fields for which select skips are set
N The current number of records in the file
N$() Default names for fields, comma, and "a" or "n" for type
NC The number of fields in the current file
P6 Flag, reserved for "write" function not implemented
P7 Flag, = 1 when "copy" in effect
P8 Flag, reserved
P9 Flag, = 1 when "print" in effect
PI Flag, = 1 when printer is assumed ready
R$ Disk data string read/written in main data file
S
S$ Disk data string read/written in backup data file
SEARCHFIELD () - Numbers of fields for which select keys have been set
SEARCHWORD$() - Key words or phrases for record selection
SKIPWORD$() - Key words or phrases for record skipping
T Command code, set by some DEDIT commands to control branching
T$ Data record string going to or from storage
T1 Lowest record number in the batch
T2 Highest record number in the batch
T1$ Temporary data string
X,Y Local parameter passing variables
.he DIMS Interface and Modification - Release 1.03 - BUGS PAGE #
.CP 5
KNOWN BUGS AND SUGGESTED IMPROVEMENTS
Display of non-scrolling forms in DEDIT hasn't been fully debugged.
┴ harmles≤ slightl∙ garbleΣ displa∙ happen≤ iµ yo⌡ usσ backslasΦ t∩ tr∙ ì
t∩ bacδ u≡ froφ thσ firs⌠ fielΣ oµ ß record.
è Thσ recorΣ selectioε logiπ i≤ rudimentary¼ anΣ coulΣ bσ improveΣ t∩ ì
includσ AND/O╥ anΣ greater/les≤ thaε comparisons« Thi≤ woulΣ requirσ ì
adding some common variables and updating all programs in the system.
"Undeleteó woulΣ bσ eas∙ t∩ implemen⌠ b∙ gettinτ datß froφ thσ backu≡ ì
file« Lot≤ oµ thing≤ coulΣ bσ addeΣ t∩ DEDI╘ iµ i⌠ weren'⌠ s∩ fa⌠ already« ì
Thσ "sortó commanΣ onl∙ sort≤ iε ascendinτ order« Therσ i≤ codσ ì
writteε iε thσ prograφ fo≥ descendinτ orde≥ sort≤ bu⌠ thi≤ switcΦ ha≤ beeε ì
commenteΣ ou⌠ a≤ i⌠ cause≤ aε unsolveΣ data-dependen⌠ crash.
.he DIMS Installation Notes - Release 1.03 - HISTORY PAGE #
HISTORY OF DIMS
╔ starteΣ witΦ m∙ S-10░ microcompute≥ a⌠ thσ enΣ oµ 1977« A⌠ tha⌠ timσ ì
therσ wa≤ n∩ generalizeΣ data-basσ managemen⌠ prograφ available« ╔ studieΣ ì
ß full-fledgeΣ systeφ writteε iε Basiπ calleΣ RIS╙ whicΦ i≤ publisheΣ a≤ ß ì
booδ (b∙ Meldmaε e⌠ al¼ Vaε NostranΣ ReinholΣ Co« '78⌐ I⌠ wa≤ to∩ comple° ì
fo≥ mσ t∩ understand« ╔ spuε m∙ wheel≤ fo≥ ß yea≥ unti∞ ╔ sa≈ aε aΣ fo≥ ì
ScelbΘ Publicationsº PIM╙ -- Persona∞ Informatioε Managemen⌠ System« Thi≤ ì
i≤ ß completσ functioninτ data-basσ manage≥ fo≥ cassette-baseΣ computer≤ ì
likσ TRS-8░ o≥ PET« ╔ bough⌠ i⌠ fo≥ $10¼ typeΣ i⌠ iε anΣ go⌠ i⌠ t∩ work.
T∩ backste≡ fo≥ ß moment¼ thi≤ prograφ wa≤ firs⌠ publisheΣ a≤ "┴ ì
People'≤ Datß Basσ Systemó b∙ Madaε Guptß anΣ Bren⌠ Lande≥ iε 1977« Theε ì
Scelbi published PIMS by Gupta in 1979.
WitΦ PIM╙ ╔ haΣ ß workinτ frameworδ whicΦ ╔ converteΣ t∩ disδ random-ì
acces≤ files« Afte≥ tha⌠ thσ prograφ immediatel∙ wen⌠ t∩ worδ fo≥ mσ anΣ ì
m∙ clients¼ anΣ jus⌠ gre≈ anΣ gre≈ a≤ thσ pressurσ oµ doinτ rea∞ worδ ì
determined« ╔ renteΣ machinσ timσ t∩ thσ Saε Francisc∩ Charte≥ Revisioε ì
Commissioε fo≥ thei≥ mailinτ lists¼ anΣ madσ man∙ improvement≤ t∩ thσ ì
prograφ a≤ tha⌠ projec⌠ grew« Thσ systeφ oµ chaininτ thσ transien⌠ proì
gram≤ developeΣ wheε thσ prograφ go⌠ to∩ biτ t∩ bσ al∞ iε memor∙ a⌠ thσ ì
samσ time« ╔ havσ neve≥ changeΣ thσ variablσ names¼ storagσ forma⌠ o≥ ì
defaul⌠ listinτ forma⌠ froφ PIMS«
I'vσ pu⌠ m∙ largσ persona∞ addres≤ list≤ ont∩ DIMS¼ anΣ ß successfu∞ ì
systeφ fo≥ storinτ technica∞ magazinσ articlσ citations« ┴ book¼ Thσ ì
Heart≤ oµ Spacσ Guidσ T∩ Cosmic¼ Transcenden⌠ anΣ Innerspacσ Musiπ starteΣ ì
ou⌠ a≤ ß DIM╙ datß file¼ wa≤ transformeΣ (b∙ ß purpose-buil⌠ transient⌐ t∩ ì
WordSta≥ wheε thσ datß wa≤ complete¼ theε sen⌠ t∩ thσ typesette≥ oε ß CP/═ ì
disk« ╔ als∩ havσ part≤ list≤ fo≥ m∙ product≤ anΣ thσ membershi≡ lis⌠ fo≥ ì
m∙ neighborhooΣ association« Al∞ thi≤ activit∙ madσ mσ wan⌠ morσ real-timσ ì
availabilit∙ oµ m∙ datß bases¼ anΣ iε '8▒ ╔ useΣ al∞ m∙ availablσ credi⌠ t∩ ì
instal∞ ß Morro≈ M2╢ harΣ disk« DIM╙ run≤ witΦ ß satisfyinτ speeΣ increasσ ì
oε thσ harΣ disk« Iε '81-8▓ pre-releasσ version≤ werσ u≡ oε tw∩ system≤ iε ì
m∙ laΓ anΣ fivσ othe≥ CP/═ system≤ belonginτ t∩ friends.
DIM╙ versioε 1.░ wa≤ releaseΣ t∩ thσ publiπ domaiε b∙ Daε Dugaε SounΣ ì
Desigε oε MarcΦ 20¼ 1983¼ m∙ 39tΦ birthday« Iε Apri∞ '8▓ Jiφ Ayer≤ madσ ì
thσ wholσ systeφ availablσ oε thσ bulletiε boarΣ oµ Compute≥ System≤ oµ ì
Marin.
.cp 3è Thσ prograφ wa≤ subsequentl∙ releaseΣ a≤ SIG/═ disδ #61« I⌠ receiveΣ ß ì
ravσ revie≈ froφ Chri≤ Terr∙ iε Microsystem≤, May '83« Hσ saiΣ "Iµ yo⌡ can'⌠ ì
afforΣ dBAS┼ II¼ ge⌠ DIMS.ó ╔ aφ usinτ dBAS┼ I╔ also¼ anΣ prefe≥ i⌠ fo≥ m∙ ì
financia∞ records« ╔ stil∞ prefe≥ DIM╙ fo≥ mailinτ list≤ becausσ it'≤ ì
easier for me.
Thσ mos⌠ recen⌠ growtΦ iε DIM╙ ha≤ beeε stimulateΣ b∙ ß mailinτ lis⌠ ╔ ì
aφ keepinτ fo≥ ß clien⌠ whicΦ ha≤ growε t∩ 750░ names« Currentl∙ thσ ì
updatσ cyclσ i≤ workinτ likσ this║ Name≤ arσ entereΣ anΣ editeΣ iε DIMS« ì
T∩ prin⌠ labels¼ ╔ usσ "putó t∩ writσ thσ datß t∩ ß sequentia∞ file¼ usσ ì
SuperSor⌠ t∩ sor⌠ tha⌠ filσ b∙ zi≡ codes¼ anΣ prin⌠ label≤ witΦ ì
DCHESHIR.BA╙ readinτ thσ sorteΣ sequentia∞ file« Thσ zip-sorteΣ filσ i≤ ì
re-sorteΣ t∩ alphabetica∞ b∙ SuperSort« Thσ origina∞ DIM╙ filσ i≤ archiveΣ ì
t∩ ß flopp∙ anΣ thσ harΣ disδ filσ i≤ erased« ┴ alphabetiπ sorteΣ ne≈ DIM╙ ì
filσ i≤ madσ usinτ "getó froφ thσ sorteΣ sequentia∞ file« Thσ sequentia∞ ì
filσ i≤ theε eraseΣ anΣ ß listinτ oµ thσ DIM╙ filσ i≤ printeΣ a≤ ß guidσ ì
fo≥ correction≤ anΣ editinτ durinτ thσ nex⌠ cycle.
Thi≤ worδ requireΣ writinτ DCHESHIR.BAS¼ bullet-proofinτ DGET.BAS¼ anΣ ì
designinτ ß mucΦ bette≥ defaul⌠ printe≥ listinτ format« Thesσ improvement≤ ì
anΣ somσ genera∞ improvements/fixe≤ comprisσ versioε 1.03¼ beinτ releaseΣ ì
iε January¼ 1983.