home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: InfoMgt / InfoMgt.zip / kim21.zip / MEMO.KIM < prev    next >
Text File  |  1994-07-15  |  9KB  |  405 lines

  1.   rem Datum          :    Dezember
  2.   rem Version        :    Beta 2.0 Release 00.05
  3.   rem Programm       :    Beta-Test Programm mit DBASE/FOXPRO Grundlage
  4.   rem Programmierer  :    EDV-Kohlenbach
  5.  
  6.  
  7.  
  8.  
  9.  
  10.   deffloat a,i,t,flag,taste
  11.   defstring objekt,ob_alt
  12.  
  13.   load_dat "icon2.dat",a
  14.   if a=-1 then
  15.     msgbox "Datei ICON2.DAT nicht gefunden.",0,a,""
  16.   endif
  17.  
  18.  
  19.  
  20.   rem Datenbankstruktur ( nur noch interessant für Masken )
  21.  
  22.   DEFINE  soft1, 10 as Zeit
  23.   DEFINE  soft2, 10 as Datum
  24.   DEFINE  soft3, 40 as Name
  25.   dimmemo soft4,10000
  26.  
  27.   rem Definition eines Fensters mit Inhalt
  28.   call db_oeffnen()
  29.   call fenster_def()
  30.   call fenster_inhalt()
  31.  
  32.   win_paint "window"
  33.  
  34.   call info("memo.doc")
  35.  
  36.   while i<>1000
  37.     win_ev i
  38.     get_item_pos objekt,taste
  39.     if taste=13 then
  40.       call auswerten(objekt,i)
  41.     endif
  42.  
  43.   wend
  44.   iclose 1
  45.   end
  46.  
  47.  
  48.   rem ---------------------------------------------------------------------
  49.   rem U N T E R P R O G R A M M E
  50.   rem ---------------------------------------------------------------------
  51.  
  52.  
  53.   modul fenster_def()
  54.  
  55.     def_window "window",3,2, 70, 16
  56.  
  57.     rem ** Definition der Objecte die das Fenster zum Fenster machen
  58.  
  59.     def_system_button "system_button",0
  60.     def_max_button    "max_button"
  61.     def_min_button    "min_button"
  62.     def_border        "border"
  63.     def_titel         "titel","Memoverwaltung"
  64.  
  65.  
  66.     rem Objekte an das Fenster anfügen
  67.     add_item "window",..
  68.            "border",..
  69.            "max_button",..
  70.            "min_button",..
  71.            "system_button",..
  72.            "titel"
  73.  
  74.     rem Fertig ist das Fenster aufgebaut ( noch im Speicher )
  75.  
  76.   endmod
  77.  
  78.  
  79.   modul fenster_inhalt()
  80.  
  81.  
  82.  
  83.     def_prompt     "aus1",1,1,"Name  "
  84.     def_prompt     "aus2",1,0,"Zeit  "
  85.  
  86.     def_input_time "inp1",10,0, 8,soft1,"12.00..24.00"  ;"border"
  87.     def_string     "inp2",20,0,16,soft2;"border"
  88.     def_string     "inp3",10,1,40,soft3 ;"border"
  89.     def_text       "inp4",1,2,55,10,10000,soft4 ;"border","wrap off"
  90.  
  91.     rem  /* Definition einer Toolbar */
  92.     def_toolbar "toolbar",0,0,80,5 ;"region off"
  93.  
  94.  
  95.     rem Definiton einiger Pushbuttons für die Toolbar
  96.  
  97.     def_button     "b0",0,0,16,"gesicht2","&Speichern";"auto size"
  98.     def_button     "b1",0,0,5,"kill"               ,"";"auto size"
  99.     def_button     "b2",0,0,5,"pfeil_rechts"       ,"";"auto size"
  100.     def_button     "b3",0,0,5,"pfeil_links"        ,"";"auto size"
  101.     def_button     "b4",0,0,5,"Quit"               ,"";"auto size"
  102.     def_button     "b5",0,0,12,"note1","&Neu"         ;"auto size"
  103.     def_button     "b6",0,0,5,"kartei3"            ,"";"auto size"
  104.     def_button     "b7",0,0,6,"asterisk"           ,"";"auto size"
  105.  
  106.     add_item "toolbar","b0","b1","b5","b2","b3","b4","b6","b7"
  107.  
  108.  
  109.     rem Alle Object in das Fensterobject hinzugeben
  110.  
  111.  
  112.  
  113.     rem Flag = 0 HZ   1 VT    sonst CORNER */
  114.     def_scrollbar "scroll1",0,0,0,0,0
  115.     def_scrollbar "scroll2",1,0,0,0,0
  116.  
  117.  
  118.     add_item "inp4","scroll1","scroll2"
  119.  
  120.  
  121.     add_item "window","toolbar","aus1","aus2","inp1","inp2","inp3","inp4"
  122.  
  123.  
  124.   endmod
  125.  
  126.  
  127.   modul daten_setzen()
  128.  
  129.     set_item_array "inp",soft,1,4
  130.  
  131.   endmod
  132.  
  133.   modul daten_schreiben()
  134.  
  135.     get_item "inp1",soft1
  136.     get_item "inp2",soft2
  137.     get_item "inp3",soft3
  138.     get_item "inp4",soft4
  139.  
  140.   endmod
  141.  
  142.  
  143.   modul auswerten(char obj,float i)
  144.  
  145.     deffloat a,flag
  146.     defstring expr,eingabe,date,teil1,teil2
  147.  
  148.  
  149.     if obj="b0" then
  150.       call daten_schreiben()
  151.       imodrec 1,soft
  152.       exitmod
  153.     endif
  154.  
  155.     if obj="b1" then
  156.       msgbox "Datensatz löschen ? ",1,flag,""
  157.       if flag=1 then
  158.         idel 1
  159.         inext 1,a,soft
  160.         call daten_setzen()
  161.       endif
  162.     endif
  163.  
  164.     if obj="b2" then
  165.       inext 1,a,soft
  166.       call daten_setzen()
  167.       exitmod
  168.     endif
  169.     if obj="b3" then
  170.       iprev 1,a,soft
  171.       call daten_setzen()
  172.       exitmod
  173.     endif
  174.     if obj="b4" then
  175.       call msg_box("Programm beenden",flag)
  176.       if flag=0 then
  177.         event_on_item "window","end"
  178.         i=1000
  179.       endif
  180.       exitmod
  181.     endif
  182.     if obj="b5" then
  183.       clear soft,1,4
  184.       datum date
  185.       mid date,teil1,1,6
  186.       mid date,teil2,7,2
  187.       soft2=teil1+"19"+teil2
  188.       iadd 1,soft
  189.       igetrec 1,soft
  190.       call daten_setzen()
  191.       exitmod
  192.     endif
  193.  
  194.  
  195.     if obj="b6" then
  196.  
  197.       call input_box("Suche", eingabe, flag)
  198.       if flag=0 then
  199.         iset 1,"NAME",expr
  200.         iread 1,a,eingabe,soft
  201.         call daten_setzen()
  202.         iset 1,"DATUM",expr
  203.       endif
  204.       exitmod
  205.     endif
  206.  
  207.     if obj="b7" then
  208.       call info("memo.kim")
  209.     endif
  210.  
  211.  
  212.   endmod
  213.  
  214.  
  215.  
  216.   modul msg_fenster()
  217.  
  218.     def_window "msg",10,5, 45,8 ;"move off","modal"
  219.     def_border "msg_border"
  220.     def_titel  "msg_titel","Meldung" ;"center"
  221.     def_button "msg_button1",5 ,5,15,"ok","OK";"auto size"
  222.     def_button "msg_button2",21,5,15,"x","Abbruch";"auto size"
  223.     def_prompt "msg_pr",5,1,"                      "
  224.     def_icon "icon1",30,1,"frage2","" ;"auto size","select off","view only"
  225.  
  226.  
  227.  
  228.     add_item "msg",..
  229.     "msg_border",..
  230.     "msg_titel",..
  231.     "msg_pr",..
  232.     "icon1",..
  233.     "msg_button1",..
  234.     "msg_button2"
  235.  
  236.   endmod
  237.  
  238.  
  239.   rem Message-Box by Hand wird es noch ohne Programmierung geben
  240.  
  241.   modul msg_box(char text,float flag)
  242.     deffloat y,t
  243.     defstring obj
  244.  
  245.     call msg_fenster()
  246.     win_paint "msg"
  247.     set_item "msg_pr",text
  248.     while y<>1000
  249.       win_ev y
  250.       get_item_pos obj,t
  251.       if t=13 then
  252.         if obj="msg_button1" then y=1000 : flag=0 :endif
  253.         if obj="msg_button2" then y=1000 : flag=1 :endif
  254.       endif
  255.     wend
  256.  
  257.     event_on_item "msg","end"
  258.  
  259.   endmod
  260.  
  261.  
  262.   modul db_oeffnen()
  263.  
  264.     DEFFLOAT a
  265.     DEFSTRING expr
  266.  
  267.     rem Prüfen ob Datenbank schon existiert
  268.     exist "memox.dbf",a
  269.     IF a<>1 THEN
  270.       dim feld,1,10
  271.       dim index,1,10
  272.  
  273.       feld1="  TIME     ,   C  ,    10  ,   0"
  274.       feld2="  DATUM    ,   D  ,    10  ,   0"
  275.       feld3="  NAME     ,   C  ,    40  ,   0"
  276.       feld4="  MEMO     ,   M  ,    10  ,   0"
  277.       feld5=""
  278.  
  279.       index1=' Name ,  NAME , del()<>"*"  ,  0,  0'
  280.       index2=' Datum,  DATUM, del()<>"*"  ,  0,  0'
  281.       index3=""
  282.  
  283.       rem Alte Dateien löschen : Datenbank / Index
  284.       kill "memox.dbf"
  285.       kill "memox.cdx"
  286.       kill "memox.fpt"
  287.  
  288.  
  289.       rem Datenbank MEMOX.DBF erstellen
  290.       icreate "memox",feld,index
  291.       rem beep
  292.  
  293.     ENDIF
  294.  
  295.     rem Datenbank öffnen, Indexdatei öffnen, Index auf Datum setzen
  296.  
  297.     IOPEN  1,"memox"
  298.     IOPEN_INDEX 1,"memox"
  299.     iset 1,"DATUM",expr
  300.     istart 1,soft
  301.     rem ireindex 1
  302.     rem beep
  303.  
  304.   ENDMOD
  305.  
  306.  
  307.  
  308.   rem ************** Ende des Programms *******************
  309.  
  310.  modul info(char datei)
  311.  
  312.  dimmemo _memo,10000
  313.  defstring objekt,text
  314.  deffloat ok,i,taste
  315.  
  316.  loadmemo datei,_memo,ok
  317.  if ok=-1 then
  318.   text=" Datei "+datei+" nicht gefunden "
  319.    msgbox text,0,ok,""
  320.    exitmod
  321.  endif
  322.  
  323.  def_window "win_info",2,2, 85,15 ;"modal"
  324.  def_border "win_info_border"
  325.  def_titel  "win_info_titel","KIM 2.0 Informationen" ;"center"
  326.  
  327.  add_item "win_info","win_info_border","win_info_titel"
  328.  
  329.  DEF_TOOLBAR   "tool_info",0,0,0,0;"region off","border"
  330.  DEF_SCROLLBAR "scroll_info",1,0,0,0,0
  331.  DEF_BUTTON    "PushButton1",3,1,15,"","Weiter";""
  332.  DEF_TEXT      "text_info",3,2,66,9,10000,_memo;"region off","view only"
  333.  
  334.  add_item "text_info","scroll_info"
  335.  add_item "tool_info","PushButton1"
  336.  ADD_ITEM "win_info", "tool_info", "text_info"
  337.  
  338.  
  339.  win_paint "win_info"
  340.  
  341.  while i<>1000
  342.     win_ev i
  343.     get_item_pos objekt,taste
  344.     if taste=13 and objekt="PushButton1" then
  345.        i=1000
  346.     endif
  347.   wend
  348.  
  349.   event_on_item "win_info","end"
  350.  
  351.  endmod
  352.  
  353.  
  354.   modul input_box(char text,char eingabe,float flag)
  355.     deffloat y,t
  356.     defstring obj
  357.     call inputbox_fenster("Name :")
  358.     win_paint "inputbox"
  359.  
  360.     rem Eingabe bekommt aktuellen Focus
  361.     add_item "inputbox","inputbox_eingabe"
  362.  
  363.  
  364.     while y<>1000
  365.       win_ev y
  366.       get_item_pos obj,t
  367.       if t=13 then
  368.         if obj="inputbox_button1" then y=1000 : flag=0 :endif
  369.         if obj="inputbox_button2" then y=1000 : flag=1 :endif
  370.       endif
  371.     wend
  372.     get_item "inputbox_eingabe",eingabe
  373.     event_on_item "inputbox","end"
  374.  
  375.   endmod
  376.  
  377.   modul inputbox_fenster(char text)
  378.  
  379.  
  380.     def_window "inputbox",10,5, 45,8 ;"modal"
  381.     def_border "inputbox_border"
  382.     def_titel  "inputbox_titel","Eingabe" ;"center"
  383.     def_button "inputbox_button1",5 ,5,15,"ok","OK";"auto size"
  384.     def_button "inputbox_button2",21,5,15,"x","Abbruch";"auto size"
  385.     def_prompt "inputbox_pr",5,1,text
  386.     def_string "inputbox_eingabe",5,2,30,""
  387.  
  388.  
  389.  
  390.     add_item "inputbox",..
  391.     "inputbox_border",..
  392.     "inputbox_titel",..
  393.     "inputbox_pr",..
  394.     "inputbox_button1",..
  395.     "inputbox_button2",..
  396.     "inputbox_eingabe"
  397.  
  398.  
  399.  
  400.   endmod
  401.  
  402.  
  403.  
  404.  rem -- Programm Ende --
  405.