home *** CD-ROM | disk | FTP | other *** search
/ AMOS PD CD / amospdcd.iso / sourcecode / procedures / _zone_menu.amos / _zone_menu.amosSourceCode
AMOS Source Code  |  1994-04-26  |  2KB  |  109 lines

  1. Dim ME$(4),LINE$(4),BUTTON$(4),ZYCLUS(2)
  2. STDSCREEN
  3. ME$(0)="My Menu"
  4. For X=1 To 4
  5.    ME$(X)="Menu"+Str$(X)
  6. Next 
  7. MYMEN[4]
  8. Cls 
  9. Print "Your choice was";Param
  10. Wait 50
  11. Procedure MYMEN[ANZ]
  12.    Reserve Zone ANZ
  13.    Shared ME$()
  14.    Reset Zone 
  15.    BREITE=Screen Width/8
  16.    Locate 1,3 : Under On : Centre ME$(0) : Under Off 
  17.    BLEN=0
  18.    For X=1 To ANZ
  19.       ALEN=Len(ME$(X)) : BLEN=Max(BLEN,ALEN)
  20.    Next 
  21.    For X=1 To ANZ
  22.       ME$(X)= Extension_22_011A(ME$(X),BLEN,0)
  23.    Next 
  24.    Inverse On : Show : Curs Off 
  25.    Wait 10
  26.    LL=2*BLEN+4
  27.    L1=(BREITE-LL)/2
  28.    L2=L1+4+BLEN
  29.    P=4
  30.    ANZ1=ANZ/2
  31.    If ANZ/2*2<ANZ Then ANZ1=ANZ1+1
  32.    For X=1 To ANZ1
  33.       P=P+2
  34.       Box L1*8-1,P*8-1 To L1*8+BLEN*8,P*8+8
  35.       Set Zone X,L1*8-1,P*8-1 To L1*8+BLEN*8,P*8+8
  36.       Locate L1,P
  37.       Print ME$(X)
  38.    Next 
  39.    P=4
  40.    For X=ANZ1+1 To ANZ
  41.       P=P+2
  42.       Box L2*8-1,P*8-1 To L2*8+BLEN*8,P*8+8
  43.       Set Zone X,L2*8-1,P*8-1 To L2*8+BLEN*8,P*8+8
  44.       Locate L2,P
  45.       If ME$(X)<>"" Then Print ME$(X)
  46.    Next 
  47.    GMEN:
  48.    IN=Mouse Zone
  49.    If Mouse Key=1 and IN>0 and IN=<ANZ Then Goto GO
  50.    Goto GMEN
  51.    GO:
  52.    LL=2*BLEN+4
  53.    L1=(BREITE-LL)/2
  54.    L2=L1+4+BLEN
  55.    P=4
  56.    ANZ1=ANZ/2
  57.    If ANZ/2*2<ANZ Then ANZ1=ANZ1+1
  58.    For X=1 To ANZ1
  59.       P=P+2
  60.       Locate L1,P
  61.       If IN=X Then Inverse Off 
  62.       Print ME$(X)
  63.       If IN=X Then Inverse On 
  64.    Next 
  65.    P=4
  66.    For X=ANZ1+1 To ANZ
  67.       P=P+2
  68.       Locate L2,P
  69.       If IN=X Then Inverse Off 
  70.       If ME$(X)<>"" Then Print ME$(X)
  71.       If IN=X Then Inverse On 
  72.    Next 
  73.    While Mouse Key=1 : Wend 
  74.    LL=2*BLEN+4
  75.    L1=(BREITE-LL)/2
  76.    L2=L1+4+BLEN
  77.    P=4
  78.    ANZ1=ANZ/2
  79.    If ANZ/2*2<ANZ Then ANZ1=ANZ1+1
  80.    For X=1 To ANZ1
  81.       P=P+2
  82.       Locate L1,P
  83.       Print ME$(X)
  84.    Next 
  85.    P=4
  86.    For X=ANZ1+1 To ANZ
  87.       P=P+2
  88.       Locate L2,P
  89.       If ME$(X)<>"" Then Print ME$(X)
  90.    Next 
  91.    Hide 
  92.    Inverse Off 
  93. End Proc[IN]
  94. Procedure STDSCREEN
  95.    Default 
  96.    Close Editor 
  97.    Close Workbench 
  98.    Screen Open 0,680,257,4,Hires
  99.    Screen Offset 0,0,0
  100.    Limit Mouse 112,42 To 447,298
  101.    Curs Off : Flash Off 
  102.    Colour 0,0 : Colour 1,$90 : Colour 2,$8F8 : Colour 3,$E0 : Rem Gruen    
  103.    ' Colour 0,0 : Colour 1,$555 : Colour 2,$EEE : Colour 3,$AAA : Rem Grau      
  104.    RES_SCREEN[0]
  105. End Proc
  106. Procedure RES_SCREEN[X]
  107.    Gr Writing 1 : Ink 2,1 : Pen 2 : Paper 1
  108.    If X=0 Then Cls 
  109. End Proc