>!RunImage !Shield !RunImage file By Ben Carter 1994 (FreeWare) d= 12*4 ^ Max # of directories (must be a multiple of 12) Db$="!Shield": "Fatal initialisation error - "+ $+" ("+ +")": $+" at line "+ +" - Quit?"): a(a%):e= i::c=1:j= "Wimp_Initialise",200,&4B534154,b$ r%,f%: "WimpExt_Initialise",11,f%,400:: a 3000,l 100: a$(d):e= "WimpExt_PrePoll": "Wimp_Poll",0,a "WimpExt_Action",f%,a,g% C,E,F:: "WimpExt_OpenLinked",,a "WimpExt_CloseLinked",,a 17,18: "WimpExt_CloseDown",f%: "Wimp_CloseDown": b(g$): "Hourglass_Smash":!a=0:$(a+4)=g$+ "Wimp_ReportError",a,0,b$: z(g$): "Hourglass_Smash":!a=0:$(a+4)=g$+ "Wimp_ReportError",a,0,b$: d(h$): "Hourglass_Smash" (E!a=0:$(a+4)=h$+ "Wimp_ReportError",a,19,"Message from "+b$ G(h$): "Hourglass_Smash":!a=0:$(a+4)=h$+ "Wimp_ReportError",a,19,"Message from "+b$: e(b,k$,r):$b=k$:b!12=459271:b!16=r:b!20=44:b!24=0:b+=28:=b c(b,i,i$,k%,l%,m%,n%,o%):!b=0: !b+=1 !b+=2 !b+=4 !b+=128 0Gb!4=o%:b!8=&7000021:$(b+12)=i$: (i$)+1)*16>i!16 i!16=( (i$)+1)*16 b+=24:=b A(b,s,t,u,v,w): "WimpExt_MenuWidth",,b "WimpExt_CreateMenu",,b,!a-64,102+(44*(s+1)) "WimpExt_CreateMenu",,b,v,w 8 x=t: y 400:f=y::i=f:f= e(f,"Shield",0)::f= c(f,i,"Info", ,i%):f= c(f,i,"Quit", ,-1)::z=2:A=i: k:$l="!Shield"+ "WimpExt_IconBarSprite",,,-1,l,,3 "Wimp_GetPointerInfo",,a:: A(A,z,1, ,0,0): z("Menu click when no menu open!") a(b%) a(a%) a(i%) B 1000,m 6000,g 100:: g+100 4:!I=0: "WimpExt_LoadTemplates",g,B,m,m+4000,-1,".Templates",1::i%=!g:b%=g!4:a%=g!8:e%=g!12:: a(h%):!a=h%: "Wimp_GetWindowInfo",,a: "WimpExt_OpenLinked",,a: h(h%):!a=h%: "Wimp_GetWindowInfo",,a: "WimpExt_CloseLinked",,a: d(c%,d%,l$):!a=c%:a!4=d%: "Wimp_GetIconState",,a:a!8=0:a!12=0:$(a!28)=l$+ "Wimp_SetIconState",,a: a(c%,d%):!a=c%:a!4=d%: "Wimp_GetIconState",,a:= b(a!28) f(c$): c$,"."):c$= c$,".")+1): :=c$+ y:m$= b(a+44):j%=a!40:k=a!24: (a!20)<>b% j%<>4096 j%<>8192 b("This is not a directory or application"): d(b%,k,m$): "Wimp_SetCaretPosition",-1: g(h):d$="": ?h>31:d$+= (?h):h+=1: "Wimp_RedrawWindow",,a n:s%=a!4-a!20:t%=a!16-a!24: "WimpExt_Redraw",,a: "Wimp_GetRectangle",,a b(h):d$="":o=0: ?h>31 o<255:d$+= (?h):h+=1:o+=1: H:!a=-1:a!4=p%:a!8=0:a!12=0: "Wimp_SetIconState",,a: I(c%,d%,q%): "WimpExt_SetIcon",,,c%,d%,q%: ".Prefs": #D,p: b("There are more directories to protect than I have room for. Please increase max_directories or enter a new list"): #D,a$(I): ".Prefs": #D,d: #D,a$(I): I=c c+11 d(b%,I-c,a$(I)) "Wimp_SetCaretPosition",-1 c+11:a$(I)= a(b%,I-c): a$(I),1)= 13a$(I)= a$(I), (a$(I))-1) c<(d-12) c:c+=12: c:c-=12: a(e%) v:e$= a(a%,3): e$,1)= 13e$= (e$)-1) e$=a$ b("Sorry. That is the wrong password") h(a%): d(a%,3,""): w:a$= a(e%,0): a$,1)= 10a$= (a$)-1) h(e%): ".RTLib": b("There is no password set - You will need to set one"):a$="":j= #D,f$: #D:a$="": (f$):a$+= f$,I,1)) F:f$="": (a$):f$+= a$,I,1)) ".RTLib": #D,f$: ("Settype .RTLib FFC"): }31o$+= j$,I,1) o$=a$(I) ("Filer_CloseDir "+o$):I=d