Koding 'menu pull-down' pada Clipper

Kamis, 05 Januari 2012 Published by Unknown

Bagi temen2 yang masih agak bingung bagaimana membuat form utama yang terdapat bar menu yang dilengkapi menu tarik (pull-down), bisa copas dari sini.
Silakan edit sesuai kebutuhan     :D


#INCLUDE "INKEY.CH"
#INCLUDE "SETCURS.CH"
#INCLUDE "BOX.CH"

set wrap on
set mess to 24
do while .t.
   set colo to g+/w
   @0,0 clea to 0,79
   @24,0 clea to 24,79
   set colo to b+/w
   frame := repl (chr(176),9)
   @1,0,23,79 box frame
   @0,5  prompt "File" mess "Proses Entry Data"
   @0,20 prompt "Informasi" mess "Proses Cetak Informasi"
   @0,40 prompt "Utility" mess "Proses Bantuan"
   menu to pilih
   do case
      case pilih = 1
          menu1()
      case pilih = 2
          menu2()
      case pilih = 3
          menu3()
   endcase
end do

func menu1()
   local msscreen, mcolor
   save screen to msscreen
   mcolor := setcolor()
   do while .t.
        set key 4 to rkey
        set key 19 to lkey
        set colo to w+/b
        @1,5 clea to 5,24
        @1,5 to 5,24
        @2,6 prompt "Tabel Klasifikasi"
        @3,6 prompt "Tabel Ruang      "
        @4,6 prompt "Tabel Barang     "
        menu to P1
        set key 4 to
        set key 19 to
        do case
           case P1 = 0
               exit
           CASE P1=1
                //BUATFILE1()
                //ISI()
                rest screen from msscreen
           CASE P1=2
                //BUATFILE2()
                //ISI2()
                rest screen from msscreen
           CASE P1=3
                //BUATFILE4()
                //ISI4()
                rest screen from msscreen

        endcase
    enddo
    rest screen from msscreen
    setcolor(mcolor)
return

func menu2()
   local msscreen, mcolor
   save screen to msscreen
   mcolor:=setcolor()
   do while .t.
        set key 4 to rkey
        set key 19 to lkey
        set colo to w+/b
        @1,20 clea to 5,41
        @1,20 to 5,41
        @2,21 prompt "Daftar Klasifikasi"
        @3,21 prompt "Daftar Ruang"
        @4,21 prompt "Daftar Barang"
        menu to P1
        set key 4 to
        set key 19 to
        do case
           case P1 = 0
               exit
           case p1=3
              //menu23()
              rest screen from msscreen
        endcase
    enddo
    rest screen from msscreen
    setcolor(mcolor)
return

func menu23()
   local msscreen, mcolor
   save screen to msscreen
   mcolor:=setcolor()
   do while .t.
        set key 4 to rkey
        set key 19 to lkey
        set colo to w+/b
        @4,30 clea to 8,47
        @4,30 to 8,47
        @5,31 prompt "Keseluruhan    "
        @6,31 prompt "Per Klasifikasi"
        @7,31 prompt "Per Ruang      "
        menu to P1
        set key 4 to
        set key 19 to
        do case
           case P1 = 0
               exit
        endcase
    enddo
    rest screen from msscreen
    setcolor(mcolor)
return

func menu3()
   local msscreen, mcolor
   save screen to msscreen
   mcolor := setcolor()
   do while .t.
        set key 4 to rkey
        set key 19 to lkey
        set colo to w+/b
        @1,40 clea to 7,52
        @1,40 to 7,52
        @2,41 prompt "Backup"
        @3,41 prompt "Restore"
        @4,41 prompt "Index"
        @5,41 prompt "Help"
        @6,41 prompt "Selesai"
        menu to P1
        set key 4 to
        set key 19 to
        do case
           case P1 = 0
               exit
           case P1 = 3
               //Lyt_Rest()
              //REIN()
           case p1=5
              quit
        endcase
    enddo
    rest screen from msscreen
    setcolor(mcolor)
return

funct rkey()
        keyboard chr(27) + chr(4) + chr(13)
retu

funct lkey()
        keyboard chr(27) + chr(19) + chr(13)
retu

func kursor(t,k)
  do case
     case k=K_UP
        t:up()
     case k=K_DOWN
        t:down()
     case k=K_LEFT
        t:left()
     case k=K_RIGHT
        t:right()
     case k=K_PGUP
        t:pageup()
     case k=K_PGDN
        t:pagedown()
     case k=K_HOME
        t:gotop()
     case k=K_END
        t:gobottom()
     otherwise
        return .f.
     endcase
  return .t.

No responses yet

Leave a Reply

Diberdayakan oleh Blogger.

Followers