home *** CD-ROM | disk | FTP | other *** search
/ Monster Media 1993 #2 / Image.iso / clipper / pow_tb.zip / TBSIMPL2.PRG < prev    next >
Text File  |  1993-05-14  |  3KB  |  117 lines

  1.    /* tbSimpl2.prg: A very simple browse of supplier.dbf with editing.
  2.    
  3.    Copyright (C) Dave Boettcher 1993. This source code, and functional 
  4.    fragments thereof, may only be distributed unchanged and as part of 
  5.    the file POWER_TB.ARJ. See POWER_TB.TXT for full copyright details.
  6.    
  7.    Last change:  14 May 93       6:49 pm
  8.    */
  9.    
  10.    #include "setcurs.ch"
  11.    #include "inkey.ch"
  12.    #include "box.ch"
  13.    
  14. function main()
  15.    
  16.    local oBrowse
  17.    local oColumn
  18.    local nKey
  19.    local lCont := .T.
  20.    local oldColour := setcolor("w+/b")
  21.    local oldCursor := setcursor(SC_NONE)   
  22.    
  23.    use supplier new
  24.    
  25.    clear screen
  26.    @ 0, 0, 24, 79 box B_DOUBLE
  27.    
  28.    oBrowse := tbrowsedb(1, 1, 23, 78)
  29.    oBrowse:headsep   := "─┬─"
  30.    oBrowse:colsep    := " │ "
  31.    
  32.    oColumn := TBColumnNew("Name", fieldBlock("name"))
  33.    oColumn:width := 30
  34.    oColumn:footsep := "─┴─"
  35.    oBrowse:AddColumn(oColumn)
  36.    
  37.    oColumn := TBColumnNew("Street", fieldBlock("street"))
  38.    oColumn:width := 20 
  39.    oColumn:footsep := "─┴─"
  40.    oBrowse:AddColumn(oColumn)
  41.    
  42.    oColumn := TBColumnNew("Village", fieldBlock("village"))
  43.    oColumn:width := 20 
  44.    oColumn:footsep := "─┴─"
  45.    oBrowse:AddColumn(oColumn)
  46.    
  47.    oColumn := TBColumnNew("Town", fieldBlock("town"))
  48.    oColumn:width := 20
  49.    oColumn:footsep := "─┴─"
  50.    oBrowse:AddColumn(oColumn)
  51.    
  52.    oColumn := TBColumnNew("County", fieldBlock("county"))
  53.    oColumn:width := 20
  54.    oColumn:footsep := "─┴─"
  55.    oBrowse:AddColumn(oColumn)
  56.    
  57.    oColumn := TBColumnNew("Postcode", fieldBlock("postcode"))
  58.    oColumn:width := 7
  59.    oColumn:footsep := "─┴─"
  60.    oBrowse:AddColumn(oColumn)
  61.    
  62.    oColumn := TBColumnNew("Product", fieldBlock("product"))
  63.    oColumn:width := 250
  64.    oColumn:footsep := "─┴─"
  65.    oBrowse:AddColumn(oColumn)
  66.    
  67.    do while lCont
  68.       
  69.       do while .not. oBrowse:stable .AND. (nKey := InKey()) == 0
  70.          oBrowse:Stabilize()
  71.       enddo
  72.       
  73.       if oBrowse:stable
  74.          if (oBrowse:hitTop .OR. oBrowse:hitBottom)
  75.             Tone(125,0)
  76.          endif
  77.          nKey := InKey(0)
  78.       endif
  79.       
  80.       Do Case
  81.          case nKey == K_ENTER       ;  editField(oBrowse)
  82.          Case nKey == K_DOWN        ;  oBrowse:Down()
  83.          Case nKey == K_UP          ;  oBrowse:Up()
  84.          Case nKey == K_LEFT        ;  oBrowse:Left()
  85.          Case nKey == K_RIGHT       ;  oBrowse:Right()
  86.          Case nKey == K_PGDN        ;  oBrowse:PageDown()
  87.          Case nKey == K_PGUP        ;  oBrowse:PageUp()
  88.          Case nKey == K_CTRL_PGUP   ;  oBrowse:GoTop()
  89.          Case nKey == K_CTRL_PGDN   ;  oBrowse:GoBottom()
  90.          Case nKey == K_ESC         ;  lCont := .F.
  91.       endcase
  92.       
  93.    enddo
  94.    
  95.    setcolor(oldColour)
  96.    setcursor(oldCursor)
  97.    clear screen
  98.    
  99.    return nil
  100.    
  101.    
  102. function editField(oBrowse)
  103.    
  104.    local oCol
  105.    local oGet
  106.    local oldCursor := setcursor(SC_NORMAL)   
  107.    
  108.    
  109.    oCol := oBrowse:getColumn(oBrowse:colPos)
  110.    oGet := getNew(row(), col(), oCol:block,,, "n/bg")
  111.    ReadModal( {oGet} )
  112.    oBrowse:refreshCurrent()
  113.    
  114.    setcursor(oldCursor)
  115.    
  116.    return nil
  117.