home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: InfoMgt / InfoMgt.zip / kim21.zip / TABLE.KIM < prev    next >
Text File  |  1995-08-02  |  6KB  |  213 lines

  1. rem ------------------------------------------------------------
  2. rem Programm      : TABLE.KIM
  3. rem Bezeichnung   : Demo von Tabellenfunktionen
  4. rem Programmierer : Kohle
  5. rem Datum         : 01.08.95
  6. rem ------------------------------------------------------------
  7. rem WICHTIG !!!
  8. rem Bei Positionierungen and so one müssen Sie immer von der
  9. rem Basis 0 ausgehen.
  10. rem Beispiel : Gehe zu Datensatz 4 heißt positioniere auf 3
  11. rem            (0,1,2,3)
  12. rem ------------------------------------------------------------
  13. rem Definition von Variablen
  14.  
  15. deffloat _i,ok
  16. deffloat _anzahl_rec
  17.  
  18. rem ------------------------------------------------------------
  19. rem Definiton eines Arrays für die Tabelle
  20. dim _arr,0,100
  21.  
  22. rem ------------------------------------------------------------
  23. rem Laden von Datensätze in das Array
  24.  
  25. exist "table.txt",ok
  26. if ok=1 then
  27.   loadarray "table.txt",_arr,0,100,_anzahl_rec
  28. else
  29.   rem Bilden eines kleines Arrays, Trennzeichen "-"
  30.   _anzahl_rec=5
  31.  
  32.   rem ----------------------------------------------------------
  33.   rem     Vorname     Name      Geburt       Checkbox-Button   -
  34.   rem ----------------------------------------------------------
  35.   _arr0 = "Franz     -Huber    -30.01.1930  - 0"
  36.   _arr1 = "Willy     -Meier    -12.01.1965  - 1"
  37.   _arr2 = "Timo      -Schmidt  -01.10.1971  - 0"
  38.   _arr3 = "Thomas    -Keller   -04.03.1933  - 0"
  39.   _arr4 = "Fritz     -Hochmeier-03.03.1956  - 0"
  40.   
  41. endif
  42.  
  43. rem ------------------------------------------------------------
  44. rem Font und Farbpalette definieren
  45.  
  46. loadfont "c10","Courier",10
  47.  
  48. rem Farbpalette 9 ist für alle DEF_PROMPTS !
  49.  
  50. def_palette 9,0,7
  51.  
  52. rem ------------------------------------------------------------
  53. rem Fenster und Menü definieren
  54.  
  55. call fenster_inhalt()
  56. call def_menu()
  57.  
  58. rem ------------------------------------------------------------
  59. rem Darstellen am Bildschirm
  60.  
  61. win_paint "window"
  62.  
  63. rem ------------------------------------------------------------
  64. rem Event-Routine
  65.  
  66. while _i<>1000
  67.  win_ev _i
  68. wend
  69. end
  70.  
  71. rem ------------------------------------------------------------
  72. rem Event-Funktionen
  73. rem ------------------------------------------------------------
  74.  
  75. rem ------------------------------------------------------------
  76. rem Neuen Datensatz anfügen
  77.  
  78. modul ma1_select()
  79.   deffloat anzahl,ok
  80.  
  81.   get_table_count "t1",anzahl
  82.   
  83.   if anzahl<100 then
  84.     set_mouse_status 1
  85.     add_table_rec "t1"
  86.     get_table_count "t1",anzahl
  87.     set_table_recnr "t1",anzahl-1
  88.     set_mouse_status 0
  89.   else
  90.     msgbox "Es können keine weiteren Elemente addiert werden",0,ok,""
  91.   endif
  92.   
  93. endmod
  94.  
  95. rem ------------------------------------------------------------
  96. rem Positioniere auf Datensatz 4 (Basis 0 !)
  97.  
  98. modul ma2_select()
  99.   set_table_recnr "t1",3
  100. endmod
  101.  
  102. rem ------------------------------------------------------------
  103. rem Bist du auf DS 3 dann ändere DS 4
  104.  
  105. modul ma3_select()
  106.   deffloat pos
  107.      get_table_recnr "t1",pos
  108.  
  109.      rem pos=2 da Zählung 0,1,2 !!! Basis 0
  110.  
  111.      if pos=2 then
  112.        _arr3="xx - xx - xx - 0 "
  113.        event_on_item "t1","redisplay"
  114.      endif
  115.  
  116. endmod
  117.  
  118. rem ------------------------------------------------------------
  119. rem Ändere DS 4
  120.  
  121. modul ma4_select()
  122.    _arr3="xx - xx - xx - 0"
  123.    event_on_item "t1","redisplay"
  124. endmod
  125.  
  126. rem ------------------------------------------------------------
  127. rem Programm beenden und Felder speichern
  128.  
  129. modul ma5_select()
  130.  deffloat x,anzahl
  131.  _i=1000
  132.  get_table_count "t1",anzahl
  133.  
  134.  rem -----------------------------------------------------------------------
  135.  rem Wichtig !!!!
  136.  rem Damit die letzte Änderung in der Tabelle gespeichert wird, müssen
  137.  rem Sie mit <SET_TABLE_RECNR> den letzten Tabellensatz als aktiven
  138.  rem Satz setzen.
  139.  rem Hiermit wird die letzte Änderung in das Array gespeichert,
  140.  rem ansonst erfolgt Speicherung der letzten Änderung nur beim verlassen
  141.  rem des geänderten Records mit den Pfeiltasten oder der Maus.
  142.  rem -----------------------------------------------------------------------
  143.  set_table_recnr "t1",anzahl
  144.  savearray "table.txt",_arr,0,anzahl
  145.  
  146. endmod
  147.  
  148.  
  149. MODUL fenster_inhalt()
  150.  
  151. defstring _buffer
  152.  
  153. DEF_WINDOW_ST "window",2.000000,2.000000,75.000000,15.000000,"Test"
  154.  
  155. rem --------------------------------------------------------------------
  156. rem Anzahl der Überschriften muß mit Anzahl der Felder übereinstimmen !!
  157. rem --------------------------------------------------------------------
  158. DEF_PROMPT "p1",1,0,"Vorname  "
  159. DEF_PROMPT "p2",12,0,"Name  "
  160. DEF_PROMPT "p3",33,0,"Datum  "
  161. DEF_PROMPT "p4",45,0,"Auswahl  "
  162.  
  163. DEF_STRING "s1",1,0,10,"";"border"
  164. DEF_STRING "s2",12,0,20,"";"border"
  165. DEF_STRING "s3",33,0,10,"";"border"
  166. DEF_BUTTON "s4",45,0,1,"","";"checkbox"
  167. def_scrollbar "scroll",1,0,0,0,0
  168. def_scrollbar "scroll2",0,0,0,0,0
  169.  
  170.  
  171.  
  172. def_table "t1",0,0,0,0,4,45,_anzahl_rec,_arr,45 ;"region off"
  173.  
  174. def_header "h1";"column header"
  175.  
  176. def_table_rec "r1",100,1
  177. def_table_rec "r2",100,1
  178.  
  179. add_item "r1","p1","p2","p3","p4"
  180. add_item "r2","s1","s2","s3","s4"
  181.  
  182. add_item "h1","r1"
  183. add_item "t1","scroll","scroll2"
  184. add_item "t1","h1"
  185.  
  186. add_item "t1","r2"
  187.  
  188.  
  189.  
  190. ADD_ITEM "window","t1"
  191.  
  192.  
  193. ENDMOD
  194.  
  195.   MODUL def_menu()
  196.  
  197.     def_pulldown_item "ma","&Datei ",1
  198.  
  199.     def_popup_item "ma1","&Neuer Datensatz  "
  200.     def_popup_item "ma2","&Gehe zu Datensatz 4"
  201.     def_popup_item "ma3","&Bist du auf DS 3 dann ändere DS 4"
  202.     def_popup_item "ma4","&Ändere Werte in DS 4"
  203.     def_popup_item "ma5","&Ende und Speichern"
  204.     
  205.  
  206.     add_item "ma","ma1","ma2","ma3","ma4","ma5"
  207.  
  208.     def_pulldown_menu "Menu",1
  209.     ADD_ITEM "Menu","ma"
  210.     ADD_ITEM "window","Menu"
  211.  
  212.   ENDMOD
  213.