This is non-commercial site, its content is based on Atari 8-bit home computer contents and references.
If you feel your rights are violated by showing/using any part of contents of your product represented on this page,
please contact me immediatelly so I can remove it!
Entry name:
VersiLabel
|
Publisher/Developer:
BELLCOM - Public Domain Library (Software library) |
|
|
-
Entry name:VersiLabel
-
Category:Printer utilities
-
Publisher/Developer:BELLCOM - Public Domain Library
-
Year:1983
Listing 1
5REM.VERSILABEL1.2
6REM.byBillCummings2/83
8REM
9REM.PRINTSDISKETTEMENUONANYSIZELABELINANYOF
10REM.128DIFFERENTFORMATS
11REM
12DIMCOMP$(2),NORM$(2):LETCOMP$="":NORM$="":REMCOMPRESSEDANDNORMALPRINTERFORMATCODESFOROKIDATA
13COL=80:REMNUMBEROFPRINTCOLUMNS
14REM
15REMALTERTHEABOVETOSATISFYYOURPRINTER
16REM
17LF=1:REMNUMBEROFLINEFEEDSBETWEENLABELS
18REM
20DIMA$(18),T$(18),SFX$(3),N$(72),SEC$(4):CLOSE#5:OPEN#5,4,0,"K"
21ERL=21:TRAP3000:CLOSE#7:OPEN#7,8,0,"P":?#7;COMP$
25?""
26?"byBillCummings"
27POSITION2,3:TRAP27:?"WIDTHOFLABELININCHES";:INPUTWIDTH:WIDTH=INT(WIDTH*16):IFWIDTH>84THENWIDTH=84
29POSITION2,4:TRAP28:?"HEIGHTOFLABEL";:INPUTHEIGHT:HEIGHT=INT(HEIGHT*6):IFHEIGHT>11THENHEIGHT=11
30?"DRAWLINEATTOPANDBOTTOM?";:GOSUB4000:BORD=YN
31NF=0:?"SHOULDTHELABELINDICATE:"
32?"LENGTHOFEACHFILE?";:L=14:GOSUB4000:SECS=YN:IFYNTHENL=18
35?"WHETHERFILEISLOCKED?";:GOSUB4000:LOCK=YN:IFNOTLOCKTHENL=L-1
38PER=INT(WIDTH/L):SP=INT((COL*1.6500000000000001-PER*L+1)/2):IFPERTHEN40
39?:?"LABELTOOSMALL":GOTO27
40?"'.SYS'FILES?";:GOSUB4000:SYS=YN
50?"'.DAT'FILES?";:GOSUB4000:LETDAT=YN
60H=HEIGHT+1:?"FREESECTORS?";:GOSUB4000:F=YN
62GOSUB6000:IFNFTHEN?:?NF;"FILESDIDN'TFITONLABEL":?:NF=0
65?"ENTERDISKTITLEORFORNONE":INPUTN$:H=HEIGHT+1-F-2*BORD:IFN$=""THEN67
66H=H-1:IFPER*L<LEN(N$)THEN?:?"TITLETOOLONG":GOTO65
67IFH<1THEN39
68MAX=PER*H:IFMAX<40THEN?:?"AMAXIMUMOF";MAX;"FILENAMESWILLFIT":?"ONALABELUSINGTHESEPARAMETERS"
69?:?"CENTERLABELINPRINTER,"
70?"INSERTDISKETTE,ANDHIT:":?"TOPRINT,":?"TOCHANGEPARAMETERS,OR":?"TOQUIT";
72GET#5,X:IFX=155THEN80
75IFX=ASC("P")THEN25
76IFX=ASC("Q")THEN?#7;NORM$:TRAP40000:END
77GOTO72
80FEED=0:IFBORDTHENGOSUB1000:FEED=1
90ERL=90:TRAP3000:IFLEN(N$)THENGOSUB5000:?#7;"TITLE:";N$;:FEED=1
100TRAP2000:CLOSE#2:OPEN#2,6,0,"D:*.*":TRAP40000:E=-1:FP=0:MESS=0
110TRAP2000:INPUT#2,T$:IFLEN(T$)<17THEN300
111A$(1)=T$(1,1):A$(2)=T$(3):IFNOTLOCKTHENT$(1,1)="":REMKILLSPACEAFTER*
112FORS=2TO9:IFA$(S,S)<>""THENNEXTS
115SFX$=A$(10,12):IFSFX$<>""THENA$(S)=".":A$(S+1)=SFX$:S=S+4
120IFNOTDATANDSFX$="DAT"THEN110
130IFNOTSYSANDSFX$="SYS"THEN110
140FORYN=STO14:A$(YN)="":NEXTYN
150IFSECSTHENA$(14)=T$(14):A$(18)=""
170IFFP=MAXTHENNF=NF+1:GOTO110
200E=E+1:IFINT(E/PER)=E/PERTHEN?#7:GOSUB5000:FEED=FEED+1
210T$=A$:IFNOTLOCKTHENT$=A$(2)
250?#7;T$;:FP=FP+1:GOTO110
300CLOSE#2:?#7:GOSUB5000:IFFTHEN?#7;T$:FEED=FEED+1
310FEED=H-FEED:IFFEED>0THENFORYN=1TOFEED:ERL=310:?#7:NEXTYN
320ERL=320:IFBORDTHENGOSUB1000
330IFLFTHENFORI=1TOLF:?#7:NEXTI
340GOTO62
1000GOSUB5000:FORI=1TOPER*L:?#7;"_";:NEXTI:?#7:RETURN
2000?:?"CAN'TACCESSDIRECTORY":GOTO70
3000?:?"PRINTERNOTOPERATIONAL":?"FIXANDHIT"
3010GET#5,YN:IFYN<>155THEN3010
3020CLOSE#7:OPEN#7,8,0,"P":GOTOERL
4000POKE764,255:GET#5,YN:IFYN<>ASC("Y")ANDYN<>ASC("N")THEN4000
4010IFYN-ASC("N")THENYN=1:?"YES":RETURN
4020YN=0:?"NO":RETURN
5000TRAP3000:ERL=5000:FORI=1TOSP:?#7;"";:NEXTI
5010RETURN
6000POSITION2,12:?"";:RETURN
References
Listing downloads
Copyright holder
