home *** CD-ROM | disk | FTP | other *** search
/ AMOS PD CD / amospdcd.iso / totallyamos / issue2 / source_progs / requester.amos / requester.amosSourceCode < prev   
AMOS Source Code  |  1991-06-10  |  5KB  |  77 lines

  1. Global FIL$,KLL
  2. Repeat 
  3. REQ["Load A Program","Load"]
  4. If FIL$<>""
  5. If Exist(FIL$)
  6. Print "file exists"
  7. Else 
  8. Print "file does not exist"
  9. End If 
  10. End If 
  11. Wait Key 
  12. Until FRD=True
  13. Procedure REQ[DD$,LS$]
  14.    Dim FIL$(200) : FIL$="" : Unpack 15 To 7 : Screen Display 7,128,154,,0 : Reserve Zone 20 : Ink 0,3
  15.    If Len(DD$)>17 : DD$=Left$(DD$,17) : End If : If Len(LS$)>4 : LS$=Left$(LS$,4) : End If 
  16.    RQ=Len(DD$) : RQX=((17-RQ)*8)/2 : Text 190+RQX+8,9,DD$ : Text 350,68,LS$
  17.    For RZ=1 To 7 : Read RA,RB : Set Zone RZ,344,RA To 392,RB : Next RZ : Set Zone 8,374,102 To 394,120
  18.    Data 4,15,18,28,31,42,45,55,59,70,73,83,87,97
  19.    Set Zone 9,238,102 To 364,108 : Set Zone 10,238,116 To 364,122 : RX1=190 : RX2=336 : RY1=13 : RXZ=11
  20.    For Z=0 To 8 : Set Zone RXZ+Z,RX1,RY1 To RX2,RY1+9 : Add RY1,9 : Next Z
  21. For RZ=154 To 90 Step -1 : Screen Display 7,128,RZ,,ZR : Add ZR,2 : For DZ=1 To 10 : Next DZ : Next RZ
  22.    Repeat : RQX1=344 : RQX2=394 : RQZ=Mouse Zone
  23. If RQZ=10 and Mouse Key=1
  24. Gr Locate 240,122
  25. Cls 3,238,116 To 366,124
  26. Boom 
  27. Repeat 
  28. K$=Inkey$
  29. If K$=Chr$(13) : Goto OUTZ : End If 
  30. If K$=Chr$(8) : MUD$=Mid$(MUD$,1,Len(MUD$)-1) : Cls 3,238,116 To 366,125 : Add BLZ,-1 : BLZ=Max(BLZ,0) : Goto OUTZ : End If 
  31. If K$<>"" : If Len(MUD$)>12 : Add BLZ,1 : End If : End If 
  32. MUD$=MUD$+K$
  33. OUTZ:
  34. Text 240,122,Mid$(MUD$,BLZ,14)+"_"
  35. Until K$=Chr$(13)
  36. Bell 
  37. If MUD$<>"" : DUM$=MUD$ : End If 
  38. End If 
  39.       If RQZ>0 and RQZ<9 and Mouse Key=1 : Bell : On RQZ Gosub B1,B2,B3,B4,B5,B6,B7,B8 : End If 
  40.       If RQZ>10 and RQZ<20 and(FIL$(1)<>"") and OLDRQZ<>RQZ
  41.          Gr Writing 2 : Bar 190,13+(RQZ-11)*9 To 334,13+((RQZ-11)*9)+8 : Text 190,19+(RQZ-11)*9,Mid$(FIL$((RQZ-10)+OFFST),1,17)
  42.          If OLDRQZ>0
  43.             Ink 3 : Gr Writing 1 : Bar 190,13+(OLDRQZ-11)*9 To 334,13+((OLDRQZ-11)*9)+8
  44.          Ink 0 : Text 190,19+(OLDRQZ-11)*9,Mid$(FIL$((OLDRQZ-10)+OFFST),1,17) : End If : OLDRQZ=RQZ
  45.       End If 
  46.       If RQZ>10 and RQZ<20 and(FIL$(1)<>"") and Mouse Key=1 : Bell : Gr Writing 1
  47.          Cls 3,238,116 To 366,124 : Gr Writing 0 : Ink 0 : DUM$=FIL$((RQZ-10)+OFFST)
  48.          If Left$(DUM$,1)<>"*" : Text 240,122,Mid$(DUM$,1,15) : End If 
  49.       If Left$(DUM$,1)="*" : RFLG$=RFLG$+Mid$(DUM$,2,Len(DUM$))+"/" : Gosub GTDR : TPR=1 : OFFST=0 : DUM$="" : Gosub PRNTDR : End If : End If 
  50.    Until REQ=True or(FIL$<>"")
  51.    If REQ=True : FIL$="" : End If 
  52. For RZ=90 To 154 : Screen Display 7,128,RZ,,ZR : Add ZR,-2 : For DZ=1 To 10 : Next DZ : Next RZ : Screen Close 7 : Pop Proc
  53.    B1: RQY1=4 : RQY2=15 : Gosub INDNT : RFLG$="" : PATH$="df0:" : Gosub GTDR : TPR=1 : OFFST=0 : Gosub PRNTDR : Return 
  54.    B2: RQY1=17 : RQY2=29 : Gosub INDNT : If Exist("df1:") : RFLG$="" : PATH$="df1:" : Gosub GTDR : TPR=1 : OFFST=0 : Gosub PRNTDR : End If : Return 
  55.    B3: RQY1=31 : RQY2=43 : Gosub INDNT
  56. For Z=Len(RFLG$) To 1 Step -1 : T$=Mid$(RFLG$,Z,1) : If T$="/" : ZP=Z : Add DIV,1 : End If : Next Z
  57. If DIV=1 : RFLG$="" : End If 
  58. If DIV=2 : RFLG$=Mid$(RFLG$,1,ZP) : End If : DIV=0 : ZP=0
  59. Gosub GTDR : TPR=1 : OFFST=0 : Gosub PRNTDR : Return 
  60. B4: RQY1=45 : RQY2=56 : Gosub INDNT : If DUM$<>"" : KLL=True : FIL$=PATH$ : If RFLG$<>"" : FIL$=FIL$+RFLG$+"\"+DUM$ : Else FIL$=FIL$+DUM$ : End If : End If : Return 
  61. B5: RQY1=58 : RQY2=71 : Gosub INDNT : FIL$=PATH$ : If RFLG$<>"" : FIL$=FIL$+RFLG$+DUM$ : Else FIL$=FIL$+DUM$ : End If : Return 
  62.    B6: RQY1=73 : RQY2=84 : Gosub INDNT : If FIL$(1)<>"" : Add OFFST,1 : OFFST=Min(RQ1-2,OFFST) : Gosub PRNTDR : End If : Return 
  63.    B7: RQY1=86 : RQY2=97 : Gosub INDNT : If FIL$(1)<>"" : Add OFFST,-1 : OFFST=Max(OFFST,0) : Gosub PRNTDR : End If : Return 
  64.    B8: RQX1=372 : RQX2=396 : RQY1=102 : RQY2=121 : Gosub INDNT : REQ=True : Return 
  65.    RQWT: If RQZ<6 or RQZ>7 : While Mouse Key=1 : Wend : Wait 10 : End If : Return 
  66.    INDNT: Gr Writing 1 : Ink 4 : Draw RQX1,RQY2 To RQX1,RQY1 : Draw To RQX2,RQY1 : Ink 2 : Draw RQX2,RQY1 To RQX2,RQY2 : Draw To RQX1,RQY2
  67.    Gosub RQWT : Ink 2 : Draw RQX1,RQY2 To RQX1,RQY1 : Draw To RQX2,RQY1 : Ink 4 : Draw RQX2,RQY1 To RQX2,RQY2 : Draw To RQX1,RQY2 : Return 
  68.    GTDR: For Z=1 To 200 : FIL$(Z)="" : Next Z : Gr Writing 0
  69.    Cls 3,238,102 To 366,110 : Cls 3,238,116 To 366,124 : Cls 3,190,13 To 336,93 : Ink 0 : Text 240,108,Mid$(PATH$+RFLG$,1,15)
  70.    FIL$(1)=Dir First$(PATH$+RFLG$) : RQ1=2 : F$=" " : If Left$(FIL$(1),1)=" " : FIL$(1)=Mid$(FIL$(1),2,Len(FIL$(1))) : End If 
  71.    RZ=Instr(FIL$(1),"  ") : If RZ<>0 : FIL$(1)=Left$(FIL$(1),RZ-1) : End If 
  72.    While F$<>"" : F$=Dir Next$ : FIL$(RQ1)=F$
  73.       If Left$(FIL$(RQ1),1)=" " : FIL$(RQ1)=Mid$(FIL$(RQ1),2,Len(FIL$(RQ1))) : End If 
  74.       RZ=Instr(FIL$(RQ1),"  ") : If RZ<>0 : FIL$(RQ1)=Left$(FIL$(RQ1),RZ-1) : End If 
  75.    Add RQ1,1 : Wend : Add RQ1,-1 : Return 
  76.    PRNTDR: Cls 3,190,13 To 336,93 : Ink 0 : RQX1=190 : RQY1=19 : RX=0 : Repeat : Add RX,1 : Text RQX1,RQY1,Mid$(FIL$(TPR+OFFST),1,17) : Add RQY1,9 : Add TPR,1 : Until RX=9 or(FIL$(TPR)="") : TPR=1 : Return 
  77. End Proc