home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: InfoMgt / InfoMgt.zip / kim21.zip / KMASK.KIM < prev    next >
Text File  |  1995-07-01  |  21KB  |  876 lines

  1.   
  2.   rem Datum          :    Jun 95
  3.   rem Version        :    2.1
  4.   rem Programm       :    Maskengenerator
  5.   rem Programmierer  :    JK
  6.   
  7.   deffloat  _OS_SYS
  8.   rem 0 = WINDOWS / OS2
  9.   rem 1 = DOS
  10.   
  11.   _OS_SYS = 0
  12.   
  13.   
  14.   deffloat a,i,t,flag,taste , _jk_hoehe
  15.   defstring objekt
  16.   
  17.   dimfloat _x_pos,1,100
  18.   dimfloat _y_pos,1,100
  19.   dimfloat _b_pos,1,100
  20.   dimfloat _h_pos,1,100
  21.   
  22.   dimfloat _ob_flag,1,100
  23.   dimfloat _ob_typ,1,100
  24.   dim      _ob_id,1,100
  25.   dim      _ob_inhalt,1,100
  26.   dim      _ob_flagsA,1,100
  27.   dim      _ob_flagsB,1,100
  28.  
  29.   dimmemo _memo,32000
  30.   
  31.   
  32.   rem  *** Anzahl der Objekte ***
  33.   deffloat _ob_anzahl
  34.   defstring _dateiname
  35.   
  36.   rem Fenstergröße
  37.   deffloat _x,_y,_breite,_hoehe
  38.   _x=2
  39.   _y=2
  40.   _breite=75
  41.   _hoehe=15
  42.  
  43.   rem Hoehe fuer Postionsberechnung Eingestellt auf 640x480
  44.   _jk_hoehe=24
  45.  
  46.   
  47.    _dateiname="NONAME.MSK"
  48.   
  49.   
  50.   rem Definiert eine Palette mit der Vordergrundsfarbe 7 und Hintergrund 0
  51.   def_palette 1,15,0
  52.   def_palette 2,1,15
  53.   
  54.   load_dat "icon.dat",a
  55.   
  56.   def_window_st "window",_x,_y,_breite,_hoehe,"KIM-Maskengenerator 1.0"
  57.   call fenster_inhalt()
  58.   win_paint "window"
  59.   
  60.   set_item "pr2",_dateiname
  61.   
  62.   defstring ttt
  63.   while i<>1000
  64.     win_ev i
  65.     get_item_pos objekt,taste
  66.     if taste=13 then
  67.       call auswerten(objekt,i)
  68.     endif
  69.     
  70.   wend
  71.   end
  72.   
  73.   rem ---------------------------------------------------------------------
  74.   rem U N T E R P R O G R A M M E
  75.   rem ---------------------------------------------------------------------
  76.   
  77.   
  78.   modul auswerten(char obj,float i)
  79.     
  80.     deffloat a,flag,pos
  81.     defstring suche,zeichen,combo_obj,objekt
  82.     
  83.     
  84.     if obj="datei_1" then
  85.       _dateiname="NONAME.MSK"
  86.       call fenster_clear()
  87.       exitmod
  88.     endif
  89.     
  90.     if obj="datei_2" then
  91.       call laden()
  92.       rem endmod
  93.     endif
  94.     
  95.     if obj="datei_3" then
  96.       call speichern(0)
  97.       exitmod
  98.     endif
  99.     
  100.     if obj="datei_4" then
  101.       call speichern(1)
  102.       exitmod
  103.     endif
  104.     
  105.     
  106.     if obj="datei_5" then
  107.       msgbox "Wollen Sie das Programm beenden ?",1,flag,""
  108.       if flag=1 then
  109.         i=1000
  110.       endif
  111.     endif
  112.     
  113.     
  114.     
  115.     if obj="bearbeiten_1" then
  116.       call fixiere_objekte()
  117.       exitmod
  118.     endif
  119.     
  120.     if obj="bearbeiten_2" then
  121.       call neupos_objekte()
  122.       exitmod
  123.     endif
  124.     
  125.     if obj="bearbeiten_3" then
  126.       msgbox "Wählen Sie das Objekt im Fenster mit einem Klick !",0,flag,""
  127.       call loesche_objekt()
  128.       exitmod
  129.     endif
  130.     
  131.     if obj="bearbeiten_4" then
  132.       msgbox "Wählen Sie das Objekt aus der Combobox !",0,flag,""
  133.       exitmod
  134.     endif
  135.     
  136.     
  137.     rem Falls ein Objekt_neu Menüpunkt gewählt wurde
  138.     mid obj,zeichen,1,3
  139.     if zeichen="ob_" then
  140.       mid obj,zeichen,4,3
  141.       val zeichen,flag
  142.       call neues_objekt(flag)
  143.       exitmod
  144.     endif
  145.     
  146.     if obj="p_code" then
  147.       call code_bilden()
  148.     endif
  149.     
  150.     rem Ein Objekt wurde aus der Combobox ausgewählt
  151.     
  152.     mid obj,zeichen,1,2
  153.     if zeichen="ob" then
  154.       mid obj,zeichen,3,10
  155.       val zeichen,pos
  156.       if pos>999 then
  157.         rem Es handelt sich um eine Auswahl der Combobox
  158.         pos=pos/1000
  159.         form pos,zeichen,0,1
  160.         objekt="ob"+zeichen
  161.         call eig_bearbeiten(pos,objekt)
  162.       endif
  163.     endif
  164.     
  165.     
  166.     
  167.     
  168.     
  169.   endmod
  170.   
  171.   modul fenster_inhalt()
  172.     
  173.     def_toolbar "tool",0,0,90,5 ;"border"
  174.     def_prompt "pr1",0,0," Datei :"
  175.     def_prompt "pr2",0,1,"                                             "
  176.     
  177.     def_combo "combo",0,0,15,10
  178.     def_scrollbar "scroll",1,0,0,0,0
  179.     add_item "combo","scroll"
  180.     
  181.     add_item "tool","pr1","pr2","combo"
  182.     
  183.     def_pulldown_item "p_objekt","&Objekt_neu",1
  184.     def_pulldown_item "p_bearbeiten","&Bearbeiten",1
  185.     def_pulldown_item "p_code","&Code",0
  186.     def_pulldown_item "p_datei","&Datei",1
  187.     
  188.     def_popup_item "datei_1","&Neu"
  189.     def_popup_item "datei_2","&Laden"
  190.     def_popup_item "datei_3","&Speichern"
  191.     def_popup_item "datei_4","Speichern &unter"
  192.     def_popup_item "datei_5","&Quit"
  193.     
  194.     def_popup_item "bearbeiten_1","&Fixieren"
  195.     def_popup_item "bearbeiten_2","&Position neu"
  196.     def_popup_item "bearbeiten_3","&Löschen"
  197.     def_popup_item "bearbeiten_4","&Eigenschaften"
  198.     
  199.     def_popup_item "ob_1" ,"Feldname"
  200.     def_popup_item "ob_2" ,"String"
  201.     def_popup_item "ob_3" ,"Datum"
  202.     def_popup_item "ob_4" ,"Zeit"
  203.     def_popup_item "ob_5" ,"Text"
  204.     def_popup_item "ob_6" ,"Gruppe"
  205.     def_popup_item "ob_7" ,"Push-Button"
  206.     def_popup_item "ob_8" ,"Radio-Button"
  207.     def_popup_item "ob_9" ,"Checkbox"
  208.     
  209.     
  210.     add_item "p_objekt",..
  211.     "ob_1",..
  212.     "ob_2",..
  213.     "ob_3",..
  214.     "ob_4",..
  215.     "ob_5",..
  216.     "ob_6",..
  217.     "ob_7",..
  218.     "ob_8",..
  219.     "ob_9"
  220.     
  221.     add_item "p_datei","datei_1","datei_2","datei_3","datei_4","datei_5"
  222.     add_item "p_bearbeiten","bearbeiten_1","bearbeiten_2","bearbeiten_3","bearbeiten_4"
  223.     
  224.     def_pulldown_menu "menu",1 ;"border"
  225.     add_item "menu","p_datei","p_objekt","p_bearbeiten","p_code"
  226.     add_item "window","menu","tool"
  227.     
  228.     def_scrollbar "scrollx",0,0,0,0,0
  229.     add_item "window","scrollx"
  230.     
  231.     
  232.   endmod
  233.   
  234.   
  235.   modul speichern(float flag)
  236.     deffloat ok
  237.     defstring datei
  238.     
  239.     if flag=1 then
  240.       msgbox "Datei speichern ?",1,ok,""
  241.       if ok=1 then
  242.         if _OS_SYS=1 then
  243.           call dateiauswahl("*.msk",datei)
  244.         else
  245.           load "window","*.msk",datei,"Datei speichern "
  246.         endif
  247.         if datei="" then
  248.           msgbox "Maske wurde nicht gespeichert !",0,ok,""
  249.         else
  250.           _dateiname=datei
  251.           set_item "pr2",_dateiname
  252.           call code_speichern(datei)
  253.         endif
  254.       endif
  255.     else
  256.       set_item "pr2",_dateiname
  257.       call code_speichern(_dateiname)
  258.     endif
  259.     
  260.   endmod
  261.   
  262.   
  263.   modul laden()
  264.     
  265.     deffloat ok
  266.     defstring datei
  267.     
  268.     if _OS_SYS=1 then
  269.       call dateiauswahl("*.msk",datei)
  270.     else
  271.       load "window","*.msk",datei,"Datei laden "
  272.     endif
  273.     
  274.     if datei="" then
  275.       exitmod
  276.     else
  277.       call code_laden(datei)
  278.       _dateiname=datei
  279.       set_item "pr2",_dateiname
  280.     endif
  281.     
  282.     
  283.   endmod
  284.   
  285.   
  286.   modul neues_objekt(float flag)
  287.     
  288.     defstring obj$,zahl$,text$,combo_id$,zahl2$
  289.     deffloat l
  290.     
  291.     _ob_anzahl=_ob_anzahl+1
  292.     
  293.     form _ob_anzahl,zahl$,0,1
  294.     form _ob_anzahl*1000,zahl2$,0,1
  295.     
  296.     obj$     ="ob"+zahl$
  297.     combo_id$="ob"+zahl2$
  298.     
  299.     if flag=1 then
  300.       text$="Feldname"+zahl$
  301.       def_string obj$,1,_hoehe-5,15,text$;"color on","view only"
  302.     endif
  303.     if flag=2 then
  304.       text$="String"+zahl$
  305.       def_string obj$,1,_hoehe-5,15,text$;"color on","border","view only"
  306.     endif
  307.     if flag=3 then
  308.       text$="Datum"+zahl$
  309.       def_string obj$,1,_hoehe-5,15,text$;"color on","border","view only"
  310.     endif
  311.     if flag=4 then
  312.       text$="Zeit"+zahl$
  313.       def_string obj$,1,_hoehe-5,15,text$;"color on","border","view only"
  314.     endif
  315.     if flag=5 then
  316.       text$="Text"+zahl$
  317.       def_text obj$,1,_hoehe-5,15,2,255,text$;"color on","border","view only"
  318.     endif
  319.     if flag=6 then
  320.       text$="Gruppe"+zahl$
  321.       def_group obj$,1,_hoehe-5,15,2,text$;"color on","border"
  322.     endif
  323.     if flag=7 then
  324.       text$="PushButton"+zahl$
  325.       def_button obj$,1,_hoehe-5,15,"",text$;"auto size","center"
  326.     endif
  327.     if flag=8 then
  328.       text$="RadioButton"+zahl$
  329.       def_button obj$,1,_hoehe-5,15,"",text$;"radio"
  330.       _ob_flagsA[_ob_anzahl]='"radio"'
  331.     endif
  332.     if flag=9 then
  333.       text$="Checkbox"+zahl$
  334.       def_button obj$,1,_hoehe-5,15,"",text$;"checkbox"
  335.       _ob_flagsA[_ob_anzahl]='"checkbox"'
  336.     endif
  337.     
  338.     rem Combo-Box Element anfügen
  339.     def_string combo_id$,0,0,20,text$
  340.     add_item "combo",combo_id$
  341.     len text$,l
  342.     _ob_id[_ob_anzahl]=text$
  343.     _x_pos[_ob_anzahl]=1
  344.     _y_pos[_ob_anzahl]=_hoehe-5
  345.     _b_pos[_ob_anzahl]=l
  346.     _h_pos[_ob_anzahl]=1
  347.     _ob_flag[_ob_anzahl]=0
  348.     _ob_typ[_ob_anzahl]=flag
  349.     _ob_inhalt[_ob_anzahl]=""
  350.     
  351.     
  352.     color_item obj$,1
  353.     set_item_status obj$,0,"editmode"
  354.     add_item "window",obj$
  355.  
  356.     rem V 2.1
  357.     event_on_item "combo","create"
  358.     event_on_item "combo","redisplay"
  359.     event_on_item "window","redisplay"
  360.     
  361.     
  362.   endmod
  363.   
  364.   
  365.   modul fixiere_objekte()
  366.  
  367.     deffloat i,x,y,breite,hoehe,br,ho
  368.     defstring obj$,zahl$
  369.  
  370.     for i=1 to _ob_anzahl
  371.       rem Objekt nicht gelöscht
  372.       if _ob_flag[i]=0 and _ob_typ[i]>0 then
  373.         form i,zahl$,0,1
  374.         obj$="ob"+zahl$
  375.         color_item obj$,2
  376.         set_item_status obj$,1,"editmode"
  377.         textwidth  obj$,"X",breite
  378.         textheight obj$,"X",hoehe
  379.         get_item_xy obj$,x,y,br,ho
  380.         if _jk_hoehe>0 then
  381.           hoehe=_jk_hoehe
  382.         endif
  383.         _x_pos[i]=x/breite
  384.         _y_pos[i]=y/hoehe
  385.         _b_pos[i]=br/breite
  386.         _h_pos[_ob_anzahl]=(ho/hoehe)
  387.       endif
  388.     next
  389.     event_on_item "window","redisplay"
  390.   endmod
  391.  
  392.   modul neupos_objekte()
  393.  
  394.     deffloat i,x,y,breite,hoehe,br,ho
  395.     defstring obj$,zahl$
  396.  
  397.     for i=1 to _ob_anzahl
  398.       form i,zahl$,0,1
  399.       obj$="ob"+zahl$
  400.       color_item obj$,1
  401.       set_item_status obj$,0,"editmode"
  402.     next
  403.     event_on_item "window","redisplay"
  404.   endmod
  405.  
  406.   modul loesche_objekt()
  407.  
  408.     deffloat i,taste,pos
  409.     defstring obj,zeichen,combo_obj
  410.  
  411.     call fixiere_objekte()
  412.  
  413.  
  414.     while i<>1000
  415.       win_ev i
  416.       get_item_pos obj,taste
  417.       mid obj,zeichen,1,2
  418.       if zeichen="ob" then
  419.         beep
  420.         sub_item "window",obj
  421.         mid obj,zeichen,3,10
  422.         val zeichen,pos
  423.         _ob_flag[pos]=1
  424.         form pos*1000,zeichen,0,1
  425.         combo_obj="ob"+zeichen
  426.         sub_item "combo",combo_obj
  427.         call toolbar_neu()
  428.         i=1000
  429.       endif
  430.     wend
  431.  
  432.     call neupos_objekte()
  433.  
  434.   endmod
  435.   
  436.   
  437.   modul code_bilden()
  438.     deffloat i,x,y,breite,hoehe,br,ho,l
  439.     defstring obj$,zahl$,datei,date
  440.     defstring x$,y$,breite$,hoehe$,text$,leer$
  441.     datum date
  442.     
  443.     if _OS_SYS=1 then
  444.       call dateiauswahl("*.*",datei)
  445.     else
  446.       load "window","*.*",datei,"Code bilden"
  447.     endif
  448.     
  449.       
  450.     if datei="" then exitmod : endif
  451.     
  452.     kill datei
  453.     open 1,datei
  454.     
  455.     puts 1,"rem Programmierer : MASKI 1.0"
  456.     puts 1,"rem Datum         : ",date
  457.     puts 1,"rem ------------------------------------------------------------"
  458.     puts 1,""
  459.     puts 1,""
  460.     puts 1," call fenster_inhalt() "
  461.     puts 1,' win_paint "window"    '
  462.     puts 1," dummy_event           "
  463.     puts 1," end"
  464.     puts 1,""
  465.     puts 1,""
  466.     
  467.     puts 1,"MODUL fenster_inhalt()"
  468.     puts 1,""
  469.     puts 1,'DEF_WINDOW_ST "window",',_x,",",_y,",",_breite,",",_hoehe,',"Test"'
  470.     call fixiere_objekte()
  471.     rem 1. Schritt Definitionen bilden
  472.     for i=1 to _ob_anzahl
  473.       form _x_pos[i],x$,0,1
  474.       form _y_pos[i],y$,0,1
  475.       form _b_pos[i],breite$,0,1
  476.       form _h_pos[i],hoehe$,0,1
  477.       text$=_ob_inhalt[i]
  478.       len text$,l
  479.       
  480.       rem if l<_b_pos[i] then
  481.         rem   fillstr _b_pos[i]-l,leer$," "
  482.         rem   text$=text$+leer$
  483.       rem endif
  484.       
  485.       rem Objekt nicht gelöscht
  486.       if _ob_flag[i]=0 then
  487.         if _ob_typ[i]=1 then
  488.           if text$="" then text$=" " : endif
  489.           puts 1,'DEF_PROMPT "',_ob_id[i],'",',x$,",",y$,',"',text$,'"',
  490.         endif
  491.         if _ob_typ[i]=2 then
  492.           puts 1,'DEF_STRING "',_ob_id[i],'",',x$,",",y$,",",breite$,',"',text$,'"',
  493.         endif
  494.         if _ob_typ[i]=3 then
  495.           puts 1,'DEF_INPUT_DATE "',_ob_id[i],'",',x$,",",y$,",",breite$,',"',text$,'",""',
  496.         endif
  497.         if _ob_typ[i]=4 then
  498.           puts 1,'DEF_INPUT_TIME "',_ob_id[i],'",',x$,",",y$,",",breite$,',"',text$,'",""',
  499.         endif
  500.         if _ob_typ[i]=5 then
  501.           puts 1,'DEF_TEXT "',_ob_id[i],'",',x$,",",y$,",",breite$,",",hoehe$,',255,"',text$,'"',
  502.         endif
  503.         if _ob_typ[i]=6 then
  504.           puts 1,'DEF_GROUP "',_ob_id[i],'",',x$,",",y$,",",breite$,",",hoehe$,',"',text$,'"',
  505.         endif
  506.         if _ob_typ[i]=7 then
  507.           puts 1,'DEF_BUTTON "',_ob_id[i],'",',x$,",",y$,",",breite$,',"","',text$,'"',
  508.         endif
  509.         if _ob_typ[i]=8 then
  510.           puts 1,'DEF_BUTTON "',_ob_id[i],'",',x$,",",y$,",",breite$,',"","',text$,'"',
  511.         endif
  512.         if _ob_typ[i]=9 then
  513.           puts 1,'DEF_BUTTON "',_ob_id[i],'",',x$,",",y$,",",breite$,',"","',text$,'"',
  514.         endif
  515.         
  516.         rem Flags anfügen falls welche vorhanden
  517.         
  518.         compress _ob_flagsA[i]
  519.         compress _ob_flagsB[i]
  520.         
  521.         puts 1,";",
  522.         if _ob_flagsA[i]<>"" then
  523.           puts 1,_ob_flagsA[i],
  524.           if _ob_flagsB[i]<>"" then
  525.             puts 1,",",_ob_flagsB[i]
  526.           else
  527.             puts 1,""
  528.           endif
  529.         else
  530.           puts 1,'""'
  531.         endif
  532.         
  533.         
  534.         
  535.         
  536.       endif
  537.     next
  538.     
  539.     puts 1,""
  540.     puts 1,""
  541.     puts 1,'ADD_ITEM "window",..'
  542.     
  543.     rem 2.Schritt Daten an das Hauptfenster anfügen
  544.     for i=1 to _ob_anzahl
  545.       if _ob_flag[i]=0 then
  546.         if i<>_ob_anzahl then
  547.           puts 1,'"',_ob_id[i],'",..'
  548.         else
  549.           puts 1,'"',_ob_id[i],'"'
  550.         endif
  551.       endif
  552.     next
  553.     puts 1,""
  554.     puts 1,""
  555.     puts 1,"ENDMOD"
  556.     close 1
  557.     
  558.     call neupos_objekte()
  559.   
  560.     call in_zw_ablage(datei)
  561.   
  562.   endmod
  563.   
  564.   
  565.   modul eig_bearbeiten(float nr,char objekt)
  566.     
  567.     deffloat i,taste,pos
  568.     defstring obj,zeichen,combo_obj
  569.     
  570.     DEF_WINDOW_ST "win_eig",2,2,75,12,"Eigenschaften"
  571.     DEF_PROMPT "x1",2,1,"ID-Kennung "
  572.     DEF_STRING "x2",13,1,31,"";"border"
  573.     DEF_PROMPT "x3",2,2,"Inhalt "
  574.     DEF_STRING "x4",13,2,31,"";"border"
  575.     DEF_PROMPT "x5",2,4,'Flags   z.B. "border","center","auto size"'
  576.     DEF_STRING "x6",2,6,64,"";"border"
  577.     DEF_STRING "x7",2,7,64,"";"border"
  578.     DEF_BUTTON "x8",2,9,12,""," Schließen "
  579.     
  580.     ADD_ITEM "win_eig","x1","x2","x3","x4","x5","x6","x7","x8"
  581.     
  582.     
  583.     set_item "x2",_ob_id[nr]
  584.     set_item "x4",_ob_inhalt[nr]
  585.     set_item "x6",_ob_flagsA[nr]
  586.     set_item "x7",_ob_flagsB[nr]
  587.     
  588.     win_paint "win_eig"
  589.     
  590.     
  591.     while i<>1000
  592.       win_ev i
  593.       get_item_pos obj,taste
  594.       if taste=13 then
  595.         if obj="x8" then
  596.           get_item "x2",_ob_id[nr]
  597.           get_item "x4",_ob_inhalt[nr]
  598.           get_item "x6",_ob_flagsA[nr]
  599.           get_item "x7",_ob_flagsB[nr]
  600.           form nr*1000,zeichen,0,1
  601.           combo_obj="ob"+zeichen
  602.           set_item combo_obj,_ob_id[nr]
  603.           compress _ob_inhalt[nr]
  604.           if _ob_inhalt[nr]<>"" then
  605.             set_item objekt,_ob_inhalt[nr]
  606.           endif  
  607.           i=1000
  608.         endif
  609.       endif
  610.     wend
  611.     event_on_item "win_eig","end"
  612.     
  613.   endmod
  614.   
  615.   
  616.   modul code_speichern(char datei)
  617.     deffloat i,x,y,breite,hoehe,br,ho,l
  618.     defstring obj$,zahl$
  619.     defstring x$,y$,breite$,hoehe$,text$,leer$
  620.     
  621.     kill datei
  622.     open 1,datei
  623.     
  624.     call fixiere_objekte()
  625.     puts 1,"MASK"
  626.     puts 1,_ob_anzahl
  627.     for i=1 to _ob_anzahl
  628.       if _ob_flag[i]=0 then
  629.         puts 1,_ob_id[i]
  630.         puts 1,_ob_typ[i]
  631.         puts 1,_x_pos[i]
  632.         puts 1,_y_pos[i]
  633.         puts 1,_b_pos[i]
  634.         puts 1,_h_pos[i]
  635.         puts 1,_ob_inhalt[i]
  636.         puts 1,_ob_flagsA[i]
  637.         puts 1,_ob_flagsB[i]
  638.       endif
  639.     next
  640.     close 1
  641.     call neupos_objekte()
  642.   endmod
  643.   
  644.   
  645.   modul code_laden(char datei)
  646.     
  647.     deffloat i
  648.     defstring obj$,zahl$
  649.     defstring text$
  650.     
  651.     open 1,datei,"r"
  652.     gets 1,text$
  653.     
  654.     if text$<>"MASK" then
  655.       msgbox "Keine Maskendatei !",0,x,""
  656.       close 1
  657.       exitmod
  658.     endif
  659.     
  660.     call fenster_clear()
  661.     gets 1,_ob_anzahl
  662.     
  663.     
  664.     for i=1 to _ob_anzahl
  665.       gets 1,_ob_id[i]
  666.       gets 1,_ob_typ[i]
  667.       
  668.       gets 1,_x_pos[i]
  669.       gets 1,_y_pos[i]
  670.       gets 1,_b_pos[i]
  671.       gets 1,_h_pos[i]
  672.       
  673.       gets 1,_ob_inhalt[i]
  674.       gets 1,_ob_flagsA[i]
  675.       gets 1,_ob_flagsB[i]
  676.     next
  677.     close 1
  678.     call objekt_bilden()
  679.   endmod
  680.   
  681.   
  682.   modul objekt_bilden()
  683.     
  684.     defstring obj$,zahl$,text$,combo_id$,zahl2$
  685.     deffloat l,i,flag
  686.     
  687.     
  688.     for i=1 to _ob_anzahl
  689.       
  690.       
  691.       form i,zahl$,0,1
  692.       form i*1000,zahl2$,0,1
  693.       
  694.       obj$     ="ob"+zahl$
  695.       combo_id$="ob"+zahl2$
  696.       flag=_ob_typ[i]
  697.  
  698.   
  699.       
  700.       if flag=1 then
  701.         text$="Feldname"+zahl$
  702.         def_string obj$,_x_pos[i],_y_pos[i],_b_pos[i],text$;"color on","view only"
  703.       endif
  704.       if flag=2 then
  705.         text$="String"+zahl$
  706.         def_string obj$,_x_pos[i],_y_pos[i],_b_pos[i],text$;"color on","border","view only"
  707.       endif
  708.       if flag=3 then
  709.         text$="Datum"+zahl$
  710.         def_string obj$,_x_pos[i],_y_pos[i],_b_pos[i],text$;"color on","border","view only"
  711.       endif
  712.       if flag=4 then
  713.         text$="Zeit"+zahl$
  714.         def_string obj$,_x_pos[i],_y_pos[i],_b_pos[i],text$;"color on","border","view only"
  715.       endif
  716.       if flag=5 then
  717.         text$="Text"+zahl$
  718.         def_text obj$,_x_pos[i],_y_pos[i],_b_pos[i],_h_pos[i],255,text$;"color on","border","view only"
  719.       endif
  720.       if flag=6 then
  721.         text$="Gruppe"+zahl$
  722.         def_group obj$,_x_pos[i],_y_pos[i],_b_pos[i],_h_pos[i],text$;"color on","border"
  723.       endif
  724.       if flag=7 then
  725.         text$="PushButton"+zahl$
  726.         def_button obj$,_x_pos[i],_y_pos[i],_b_pos[i],"",text$;"auto size","center"
  727.       endif
  728.       if flag=8 then
  729.         text$="RadioButton"+zahl$
  730.         def_button obj$,_x_pos[i],_y_pos[i],_b_pos[i],"",text$;"radio"
  731.         _ob_flagsA[_ob_anzahl]='"radio"'
  732.       endif
  733.       if flag=9 then
  734.         text$="Checkbox"+zahl$
  735.         def_button obj$,_x_pos[i],_y_pos[i],_b_pos[i],"",text$;"checkbox"
  736.         _ob_flagsA[_ob_anzahl]='"checkbox"'
  737.       endif
  738.  
  739.       if flag>0 then
  740.         compress _ob_inhalt[i]
  741.         if _ob_inhalt[i]<>"" then
  742.            set_item obj$,_ob_inhalt[i]
  743.         endif  
  744.  
  745.         rem Combo-Box Element anfügen
  746.         def_string combo_id$,0,0,20,text$
  747.         add_item "combo",combo_id$
  748.       
  749.         color_item obj$,1
  750.         set_item_status obj$,0,"editmode"
  751.         add_item "window",obj$
  752.  
  753.       endif
  754.       
  755.     next
  756.  
  757.     rem V 2.1
  758.     event_on_item "combo","create"
  759.  
  760.     event_on_item "combo","redisplay"
  761.     event_on_item "window","redisplay"
  762.     
  763.     
  764.   endmod
  765.   
  766.   
  767.   
  768.   
  769. modul fenster_clear()
  770.     
  771.     deffloat i
  772.     defstring zahl$,obj$
  773.     
  774.     if _ob_anzahl=0 then exitmod : endif
  775.     
  776.     rem Alten Bestand löschen ....................
  777.     for i=1 to _ob_anzahl
  778.       _ob_id[i]=""
  779.       _ob_typ[i]=0
  780.       _x_pos[i]=0
  781.       _y_pos[i]=0
  782.       _b_pos[i]=0
  783.       _h_pos[i]=0
  784.       _ob_inhalt[i]=""
  785.       _ob_flagsA[i]=""
  786.       _ob_flagsB[i]=""
  787.       _ob_flag[i]=0
  788.       form i,zahl$,0,1
  789.       obj$="ob"+zahl$
  790.       sub_item "window",obj$
  791.       
  792.       form i*1000,zahl$,0,1
  793.       obj$="ob"+zahl$
  794.       sub_item "combo",obj$
  795.     next
  796.     _ob_anzahl=0
  797.   
  798.     call toolbar_neu()
  799.  
  800.  
  801.  
  802.   rem .................................................
  803.     
  804.     
  805.   endmod
  806.  
  807.   modul in_zw_ablage(char datei) 
  808.    if _os_sys=0 then
  809.      deffloat ok 
  810.      DEF_WINDOW_ST "tempwin",20,10,40,3,"Kopiere Daten in die Ablage"
  811.      win_paint "tempwin"    
  812.      loadmemo datei,_memo,ok
  813.      if ok=1 then
  814.        setclip _memo
  815.      endif
  816.      wait 1
  817.      event_on_item "tempwin","end"
  818.    endif
  819.  endmod
  820.  
  821.  modul toolbar_neu()
  822.     defstring obj$,zahl$,text$,combo_id$,zahl2$
  823.     deffloat l,i,flag
  824.   
  825.     rem Löschen der Toolbar
  826.  
  827.     sub_item "window","tool"
  828.     def_toolbar "tool",0,0,90,5 ;"border"
  829.     def_prompt "pr1",0,0," Datei :"
  830.     def_prompt "pr2",0,1,"                                             "
  831.     def_combo "combo",0,0,15,10
  832.     def_scrollbar "scroll",1,0,0,0,0
  833.     add_item "combo","scroll"
  834.   
  835.     add_item "tool","pr1","pr2","combo"
  836.     add_item "window","tool"
  837.     win_paint "window" 
  838.     set_item "pr2",_dateiname 
  839.   
  840.  
  841.     rem Combobox-Inhalt aufbauen
  842.  
  843.     for i=1 to _ob_anzahl
  844.       
  845.  
  846.       form i,zahl$,0,1
  847.       form i*1000,zahl2$,0,1
  848.       
  849.       obj$     ="ob"+zahl$
  850.       combo_id$="ob"+zahl2$
  851.       flag=_ob_flag[i]
  852.  
  853.       if flag=0 then
  854.         rem Combo-Box Element anfügen
  855.         def_string combo_id$,0,0,20,_ob_id[i]
  856.         add_item "combo",combo_id$
  857.       endif
  858.       
  859.     next
  860.  
  861.     rem V 2.1
  862.     event_on_item "combo","create"
  863.  
  864.     event_on_item "combo","redisplay"
  865.  
  866.  
  867.  
  868.  
  869.  
  870.  endmod
  871.  
  872.  
  873.   
  874.  rem drive.inc
  875.  
  876.