home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: InfoMgt / InfoMgt.zip / kim21.zip / KUNDEN.KIM < prev    next >
Text File  |  1995-07-27  |  38KB  |  1,304 lines

  1.   
  2.   rem Programm         :   Kundenverwaltung
  3.   rem Programmierer    :   JK & HW
  4.   rem Datum            :   01.07.95
  5.   rem Hauptprogramm    :   KUNDEN.KIM *
  6.   rem Includeprogramme :   KUNDEN.INC   Weitere Routinen
  7.   rem                      AUSWAHL.INC  Listfunktion
  8.   rem                      LOCK.INC     Netzfunktionen
  9.   
  10.   rem Datendateien     :   KUNDEN.DBF
  11.   rem                      KUNDEN.MDX
  12.   rem                      KUNDEN.DBT (Memo)
  13.   rem                      KUNHIS.DBF (Nur in Verb. mit AUFTRAG)
  14.   rem                      KUNHIS.MDX
  15.   
  16.   rem Zusatzdateien    :   VERZ.DAT   (Def. des Programm u. Datenverz.)
  17.   rem                      DRUCK.DAT  (Druck intern oder über Report)
  18.   rem                      REIHE.DAT  (Feldreihenfolge) 
  19.   rem                      KUVAR.DAT  (Positionen und Beschreibungen
  20.   rem                                  der var. Zusatzfelder )
  21.  
  22.   rem --------------------------------------------------------------------
  23.   rem Netzfunktionen aktivieren
  24.   rem --------------------------------------------------------------------
  25.   call jk_init_net()
  26.  
  27.   rem --------------------------------------------------------------------
  28.   rem Variablen definieren
  29.   rem --------------------------------------------------------------------
  30.   dimfloat _jk_schalter,1,3
  31.   dim _reiheA,1,30
  32.   dim _reiheB,1,30
  33.   dim _alt,1,30
  34.   
  35.   DEFFLOAT  a,taste,i,_f2,_f3,_f5,_f6,_f8,_f9,_pgauf,_pgab,zahl,flag,_ENTER
  36.   DEFSTRING objekt,old_objekt,_ind_bez,_version$,_verz1,_verz2,text$
  37.   deffloat _jk,_neu,_dr_lpt,_shareware
  38.   deffloat _def_prompt_len
  39.   
  40.   rem --------------------------------------------------------------------
  41.   rem Physikalische Reihenfolge der Felder der ersten Seite
  42.   rem --------------------------------------------------------------------
  43.   _reiheA1 ="inp1"
  44.   _reiheA2 ="inp2"
  45.   _reiheA3 ="inp3"
  46.   _reiheA4 ="inp5"
  47.   _reiheA5 ="inp6"
  48.   _reiheA6 ="inp7"
  49.   _reiheA7 ="inp8"
  50.   _reiheA8 ="inp9"
  51.   _reiheA9 ="inp10"
  52.   _reiheA10="inp11"
  53.   _reiheA11="inp12"
  54.   _reiheA12="inp13"
  55.   _reiheA13="inp14"
  56.   _reiheA14="inp15"
  57.   _reiheA15="inp16"
  58.   _reiheA16="inp17"
  59.   _reiheA17="inp18"
  60.   _reiheA18="inp19" 
  61.   _reiheA19="inp20"
  62.   _reiheA20="inp22"
  63.   _reiheA21="inp64"
  64.   _reiheA22="inp65"
  65.   _reiheA23="inp66"
  66.   _reiheA24="inp67"
  67.   
  68.   rem --------------------------------------------------------------------
  69.   rem Font laden
  70.   rem --------------------------------------------------------------------
  71.   loadfont "c8","Courier",8
  72.   
  73.   rem --------------------------------------------------------------------
  74.   rem Prompts plus ein Leerzeichen darstellen
  75.   rem --------------------------------------------------------------------
  76.   
  77.   _def_prompt_len=1
  78.   
  79.   rem --------------------------------------------------------------------
  80.   rem Verschiedene Farbpaletten definieren
  81.   rem --------------------------------------------------------------------
  82.   def_palette 1,0,15
  83.   def_palette 2,0,15
  84.   def_palette 3,2,4
  85.   rem --------------------------------------------------------------------
  86.   rem Tastaturmappings definieren
  87.   rem --------------------------------------------------------------------
  88.   _f2=10001
  89.   _f3=10002
  90.   _f5=10003
  91.   _f9=10004
  92.   _pgauf=10005
  93.   _pgab=10006
  94.   _f8=10007
  95.   _f6=10009
  96.   _ENTER=10010
  97.   
  98.   SET_KEYMAP "F2",_f2,1
  99.   SET_KEYMAP "F3",_f3,2
  100.   SET_KEYMAP "F5",_f5,3
  101.   SET_KEYMAP "F6",_f6,9
  102.   SET_KEYMAP "F9",_f9,4
  103.   SET_KEYMAP "GRAY_PGUP",_pgauf,5
  104.   SET_KEYMAP "GRAY_PGDN",_pgab,6
  105.   SET_KEYMAP "F8",_f8,7
  106.   
  107.   rem --------------------------------------------------------------------
  108.   rem Datei mit Bitmaps und Icons laden
  109.   rem --------------------------------------------------------------------
  110.   load_dat "icon.dat",a
  111.   
  112.   rem --------------------------------------------------------------------
  113.   rem Datenbank öffnen
  114.   rem --------------------------------------------------------------------
  115.   CALL db_oeffnen()
  116.   
  117.   rem --------------------------------------------------------------------
  118.   rem Feldreihenfolge holen
  119.   rem --------------------------------------------------------------------
  120.   call jk_var_holen()
  121.   
  122.   rem --------------------------------------------------------------------
  123.   rem Bildschirmmasken definieren
  124.   rem --------------------------------------------------------------------
  125.   CALL fenster_inhalt()
  126.   
  127.   rem --------------------------------------------------------------------
  128.   rem Menüs definieren
  129.   rem --------------------------------------------------------------------
  130.   CALL def_menu()
  131.   
  132.   rem --------------------------------------------------------------------
  133.   rem Fenster auf maximale Größe und darstellen
  134.   rem --------------------------------------------------------------------
  135.   set_item_status "window",0,"maximized"
  136.   win_paint "window"
  137.   
  138.   rem --------------------------------------------------------------------
  139.   rem Ersten Datensatz holen und zeigen
  140.   rem --------------------------------------------------------------------
  141.   istart 1,kun
  142.   call daten_setzen()
  143.   
  144.   rem --------------------------------------------------------------------
  145.   rem Haupt-Eventschleife , wartet auf Aktionen
  146.   rem --------------------------------------------------------------------
  147.   while i<>1000
  148.     win_ev i
  149.     get_item_pos objekt,taste,old_objekt
  150.     if taste=13 then
  151.       call auswerten(objekt,taste,i)
  152.     endif
  153.     if taste >= _f2 then
  154.       call auswerten_taste(objekt,taste,i)
  155.     endif
  156.     if old_objekt = "inp1" and objekt<>"inp1"  and _jk=1 then
  157.       CALL vorhanden()
  158.     endif
  159.   wend
  160.   
  161.   rem --------------------------------------------------------------------
  162.   rem Programm beenden
  163.   rem --------------------------------------------------------------------
  164.   iclose 1
  165.   iclose 2
  166.   iclose 3
  167.   event_on_item "window","end"
  168.   end
  169.   
  170.   rem --------------------------------------------------------------------
  171.   rem Weitere exterene Programmteile laden
  172.   rem --------------------------------------------------------------------
  173.   @auswahl.inc
  174.   @kunden.inc
  175.   @lock.inc
  176.   
  177.   rem --------------------------------------------------------------------
  178.   rem Mod. zum Prüfen ob Kundennummer schon vergeben
  179.   rem --------------------------------------------------------------------
  180.   MODUL vorhanden()
  181.     deffloat ok,flag
  182.     defstring merke
  183.     dim ku,1,100
  184.     
  185.     get_item "inp1",merke
  186.     set 10,merke
  187.     iread 2,ok,merke,ku
  188.     if ok = 0 then
  189.       msgbox "Nummer vorhanden",1,flag,""
  190.       set_item "inp1",""
  191.       setfocus "inp1"
  192.       exitmod
  193.     endif
  194.     
  195.   ENDMOD
  196.   
  197.   rem --------------------------------------------------------------------
  198.   rem Herkömmliche Auswertungsroutine KIM Ver 2.0
  199.   rem siehe neue Module mit _select() Endung
  200.   rem --------------------------------------------------------------------
  201.   MODUL auswerten(char obj,float taste,float i)
  202.     
  203.     deffloat flag,a,zahl,laenge,x
  204.     defstring merke,eingabe,expr,jktemp
  205.     
  206.     mid obj,merke,1,1
  207.     if merke="m" and _neu=1 and obj<>"ma1" and obj <>"ma2" then
  208.       call speichern()
  209.     endif
  210.     
  211.     if obj = "ma1" and _neu<>1 then
  212.       _jk=1
  213.       _neu=1
  214.       clear kun,1,63
  215.       iadd 1,kun
  216.       call daten_setzen()
  217.       set_item "inp17","1"
  218.       set_item "inp18","0"
  219.       setfocus "inp1"
  220.       exitmod
  221.     else
  222.       _jk=0
  223.     endif
  224.     
  225.     if obj="ma4" then
  226.       i=1000
  227.       exitmod
  228.     endif
  229.     
  230.     
  231.     if obj="ma8" then
  232.       if _jk_schalter3=0 then
  233.         
  234.         for x=1 to 24
  235.           jktemp=_reiheA[x]
  236.           get_item _reiheA[x],_alt[x]
  237.           set_item _reiheA[x],""
  238.         next
  239.         
  240.         call jk_reihe_zeigen()
  241.         _jk_schalter3=1
  242.         set_item "ma8","Feldreihenfolge sichern "
  243.         setfocus "inp1"
  244.       else
  245.         call jk_reihe_erstellen()
  246.         for x=1 to 24
  247.           set_item _reiheA[x],_alt[x]
  248.         next
  249.         msgbox "Reihenfolgeänderung wirksam nach Neustart",0,flag,""
  250.         _jk_schalter3=0
  251.         set_item "ma8","Feldreihenfolge ändern "
  252.       endif
  253.       exitmod
  254.     endif
  255.     
  256.     
  257.     
  258.     
  259.     if obj="Button1" and taste < _f2 then
  260.       if _neu=1 then
  261.         call speichern()
  262.       else
  263.         call fenster2()
  264.       endif
  265.     endif
  266.     
  267.     if obj="Button2" and taste < _f2 then
  268.       if _neu=1 then
  269.         call speichern()
  270.       else
  271.         call fenster3()
  272.       endif
  273.     endif
  274.     
  275.     if obj="Button3" and taste < _f2 then
  276.       if _neu=1 then
  277.         call speichern()
  278.       else
  279.         call fenster4()
  280.       endif
  281.     endif
  282.     
  283.     if obj="Button4" and taste < _f2 then
  284.       if _neu=1 then
  285.         call speichern()
  286.       else
  287.         call fenster5()
  288.       endif
  289.     endif
  290.     
  291.     
  292.   ENDMOD
  293.   
  294.   
  295.   rem --------------------------------------------------------------------
  296.   rem Tastendrücke auf Keymaps prüfen und reagieren
  297.   rem --------------------------------------------------------------------
  298.   MODUL auswerten_taste(char obj,float taste,float i)
  299.     
  300.     deffloat flag,a,zahl,laenge
  301.     defstring merke,eingabe,expr
  302.     
  303.     if taste = _f2 and _neu<>1 then
  304.       _jk=1
  305.       _neu=1
  306.       clear kun,1,63
  307.       iadd 1,kun
  308.       call daten_setzen()
  309.       set_item "inp17","1"
  310.       set_item "inp18","0"
  311.       setfocus "inp1"
  312.       exitmod
  313.     else
  314.       _jk=0
  315.     endif
  316.     
  317.     if taste = _f3 then
  318.       call daten_schreiben()
  319.       imodrec 1,kun
  320.       setfocus "inp1"
  321.       _neu=0
  322.       exitmod
  323.     endif
  324.     
  325.     if taste = _f6 then
  326.       call zusatz_zeilen()
  327.       exitmod
  328.     endif
  329.     
  330.     if taste = _f9 then
  331.       if _neu=1 then
  332.         call speichern()
  333.       else
  334.         i=1000
  335.       endif
  336.       exitmod
  337.     endif
  338.     
  339.     if taste = _pgab then
  340.       if _neu=1 then
  341.         call speichern()
  342.       else
  343.         call vor_blaettern()
  344.       endif
  345.       exitmod
  346.     endif
  347.     
  348.     if taste = _pgauf then
  349.       if _neu=1 then
  350.         call speichern()
  351.       else
  352.         call zur_blaettern()
  353.       endif
  354.       exitmod
  355.     endif
  356.     
  357.   ENDMOD
  358.   
  359.   rem --------------------------------------------------------------------
  360.   rem Eventfunktion : Falls Objekt MA5,... selektiert dann rufe die
  361.   rem                 entsprechende Routine auf. (Neu in KIM 2.1)
  362.   rem --------------------------------------------------------------------
  363.   modul ma5_select()
  364.     call zusatz_zeilen()
  365.   endmod
  366.   modul mf_select()
  367.     call history()
  368.   endmod
  369.   modul mc1_select()
  370.     call druck_kundenliste()
  371.     setfocus "inp1"
  372.   endmod
  373.   modul mc2_select()
  374.     call druck_telephonliste()
  375.     setfocus "inp1"
  376.   endmod
  377.   modul mc3_select()
  378.     call druck_umsatzliste()
  379.     setfocus "inp1"
  380.   endmod
  381.   modul md_select()
  382.     call zur_blaettern()
  383.   endmod
  384.   modul me_select()
  385.     call vor_blaettern()
  386.   endmod
  387.   modul mb1_select() 
  388.     call suche_nach("1")
  389.     setfocus "inp1"
  390.   endmod
  391.   modul mb2_select()
  392.     call suche_nach("2")
  393.     setfocus "inp1"
  394.   endmod
  395.   modul mb3_select()
  396.     call suche_nach("3")
  397.     setfocus "inp1"
  398.   endmod
  399.   modul mb4_select()
  400.     call suche_nach("4")
  401.     setfocus "inp1"
  402.   endmod
  403.   modul ma2_select()
  404.     call daten_schreiben()
  405.     imodrec 1,kun
  406.     setfocus "inp1"
  407.     _neu=0
  408.   endmod
  409.   modul ma3_select()
  410.     deffloat flag,a
  411.     msgbox "Wollen Sie Datensatz wirklich löschen ? ",1,flag,""
  412.     if flag=1 then
  413.       ilen 1,flag
  414.       if flag <= 1 then
  415.         clear kun,1,67
  416.         imodrec 1,kun
  417.       else
  418.         idel 1
  419.         inext 1,a,kun
  420.       endif
  421.       call daten_setzen()
  422.       setfocus "inp1"
  423.     endif
  424.   endmod
  425.   
  426.   rem --------------------------------------------------------------------
  427.   rem Speichern eines Datensatzes
  428.   rem --------------------------------------------------------------------
  429.   MODUL speichern()
  430.     deffloat a,flag
  431.     defstring merke
  432.     
  433.     sound 100,200
  434.     call meldung_speichern(30,10,"Eingabe nicht gespeichert","Abspeichern ?",flag)
  435.     if flag=0 then
  436.       call daten_schreiben()
  437.       imodrec 1,kun
  438.       setfocus "inp1"
  439.       _neu=0
  440.       exitmod
  441.     else
  442.       if flag=2 then
  443.         idel 1
  444.         inext 1,a,kun
  445.         call daten_setzen()
  446.         setfocus "inp1"
  447.         _jk=0
  448.         _neu=0
  449.       endif
  450.     endif
  451.     
  452.   ENDMOD
  453.   
  454.   rem --------------------------------------------------------------------
  455.   rem Daten aus Datenbank holen und in Maskenelemente kopieren
  456.   rem --------------------------------------------------------------------
  457.   MODUL daten_setzen()
  458.     igetrec 1,kun
  459.     set_item_array "inp",kun,1,3
  460.     set_item_array "inp",kun,5,20
  461.     set_item "inp22",kun22
  462.     set_item_array "inp",kun,64,67
  463.   ENDMOD
  464.   
  465.   rem --------------------------------------------------------------------
  466.   rem Daten aus Maske holen und in DB schreiben
  467.   rem --------------------------------------------------------------------
  468.   MODUL daten_schreiben()
  469.     defstring merke
  470.     deffloat i
  471.     
  472.     get_item "inp17",merke
  473.     if merke <>"0" and merke <>"1" then
  474.       set_item "inp17","1"
  475.     endif
  476.     get_item "inp18",merke
  477.     if merke <>"0" and merke <>"1" then
  478.       set_item "inp18","0"
  479.     endif
  480.     
  481.     get_item_array "inp",kun,1,3
  482.     get_item_array "inp",kun,5,20
  483.     kun21=""
  484.     get_item "inp22",kun22
  485.     kun23=""
  486.     
  487.     get_item_array "inp",kun,64,67
  488.     
  489.     if _neu=1 then
  490.       kun41=kun3
  491.       kun42=kun2
  492.       kun43=kun5
  493.       kun44=kun6
  494.       kun45=kun7
  495.       kun46=kun8
  496.       i=48
  497.       merke="        0,00"
  498.       while i<= 60
  499.         kun[i]=merke
  500.         i=i+1
  501.       wend
  502.       _neu=0
  503.     endif
  504.   ENDMOD
  505.   
  506.   rem --------------------------------------------------------------------
  507.   rem Die Artikelhistory nur in Verbindung mit ADEUS-AUFTRAG
  508.   rem --------------------------------------------------------------------
  509.   MODUL history()
  510.     defstring objekt,teil,merke
  511.     deffloat i,taste,z,erg,flag,a
  512.     
  513.     call listen_anzeige(erg)
  514.     if erg=-1 then
  515.       msgbox "Keine Artikel-History vorhanden ! ",0,flag,""
  516.       exitmod
  517.     endif
  518.     win_paint "window5"
  519.     taste=0
  520.     while i <> 1000
  521.       WIN_EV i
  522.       GET_ITEM_POS objekt,taste
  523.       if taste=13 or taste =_f9 or taste = _ENTER then
  524.         i=1000
  525.       endif
  526.       find_item "liste",a
  527.       if a=-1 then
  528.         i=1000
  529.       endif
  530.     wend
  531.     
  532.     if a<>-1 then
  533.       event_on_item "window5","end"
  534.     endif
  535.     
  536.   ENDMOD
  537.   
  538.   rem -------------------------------------------------------------------- 
  539.   rem Listfunktion für HISTORY
  540.   rem --------------------------------------------------------------------
  541.   MODUL listen_anzeige(float ret)
  542.     
  543.     defstring objekt,merke_str,zahl,id$,string,merke,teil
  544.     deffloat i,taste,zeilen,ok,a,k,z
  545.     dim text,1,100
  546.     dim artzu,1,10
  547.     
  548.     
  549.     def_window "window5",5,10,80,10;"modal","size off"
  550.     def_border "rand"
  551.     def_titel "titel","Auftrags - History";"center"
  552.     add_item "window5","rand","titel"
  553.     DEF_LIST "liste",0,1,1,77,7,0,0 ;"border","c8"
  554.     DEF_SCROLLBAR "scroll1",1,0,0,0,0;"border"
  555.     def_prompt "z1",4,0,"Datum"
  556.     def_prompt "z2",18,0,"Status"
  557.     def_prompt "z3",34,0,"Bearbeiter"
  558.     def_prompt "z4",49,0,"Beleg-Nr."
  559.     def_prompt "z5",64,0,"Betrag"
  560.     
  561.     add_item "window5","z1","z2","z3","z4","z5"
  562.     add_item "liste","scroll1"
  563.     add_item "window5","liste"
  564.     
  565.     ret=-1
  566.     i=1
  567.     merke=kun1
  568.     iread 3,ok,merke,hist
  569.     if ok=0 then
  570.       while a<>4 and a<>3 and merke=hist1 and i<= 50
  571.         if i <=9 then
  572.           form i,string,0,1
  573.         else
  574.           form i,string,0,2
  575.         endif
  576.         text[i]=""
  577.         set 15,hist3 : set 10,hist4 : set 10,hist6 : rset 10,hist5
  578.         change hist6,44,46
  579.         form hist6,hist6,2,10
  580.         stradd text[i],hist2,"  ",hist3,"  ",hist4,"  ",hist5,"  ",hist6
  581.         id$="text"+string
  582.         def_string id$,1,0,80,text[i]
  583.         add_item "liste",id$
  584.         i=i+1
  585.         ret=0
  586.         inext 3,a,hist
  587.       wend
  588.     endif
  589.     
  590.   ENDMOD
  591.   
  592.   rem --------------------------------------------------------------------
  593.   rem Darstellen des aktuellen Indizes
  594.   rem --------------------------------------------------------------------
  595.   MODUL index_anzeige(char ind)
  596.     
  597.     if ind="KUNDENNR" then
  598.       _ind_bez="Kundennummer"
  599.     else
  600.       if ind="UPPER(ZUSATZ)" then
  601.         _ind_bez="Firmenname"
  602.       else
  603.         if ind="UPPER(ZUNAME)" then
  604.           _ind_bez="Zuname"
  605.         else
  606.           if ind="PLZ" then
  607.             _ind_bez="Postleitzahl"
  608.           else
  609.             if ind="umsges" then
  610.               _ind_bez="Umsatz"
  611.             endif
  612.           endif
  613.         endif
  614.       endif
  615.     endif
  616.     set_item "inp70",_ind_bez
  617.   ENDMOD
  618.   
  619.   rem -------------------------------------------------------------------- 
  620.   rem Kundenliste drucken
  621.   rem --------------------------------------------------------------------
  622.   MODUL druck_kundenliste()
  623.     defstring merke,expr,anfang,zeilen,endk,merke_feld,ausgabe
  624.     defstring formatiert,co_endk,teil1,teil2,date,sklave
  625.     deffloat flag,ok,zahl,laenge,zahl1,zahl2,a,db_nr
  626.     dim zeile,1,10
  627.     
  628.     call druck_meldung(flag)
  629.     if flag=-1 then exitmod : endif
  630.     iget_nr 1,db_nr
  631.     iset 1,"tag1",expr
  632.     call index_anzeige(expr)
  633.     istart 1,kun
  634.     anfang=kun1
  635.     flag=0
  636.     call fenster_druck("Kundenliste","Ab Kundennr.","Bis Kundennr.",anfang,endk,flag)
  637.     if flag=-1 then
  638.       igo_nr 1,db_nr
  639.       call daten_setzen()
  640.       exitmod
  641.     endif
  642.     rset 10,anfang
  643.     iread 1,ok,anfang,kun
  644.     if ok=3 then
  645.       stradd zeilen,"Artikelnr. >= ",anfang," nicht vorhanden !"
  646.       msgbox zeilen,0,flag,""
  647.       igo_nr 1,db_nr
  648.       call daten_setzen()
  649.       exitmod
  650.     endif
  651.     
  652.     merke_feld=kun1
  653.     compress merke_feld
  654.     compress endk
  655.     len endk,laenge
  656.     rset laenge,merke_feld
  657.     
  658.     if merke_feld > endk and endk<>"" then
  659.       msgbox "Keinen Kunden gefunden",0,flag,""
  660.       igo_nr 1,db_nr
  661.       call daten_setzen()
  662.       exitmod
  663.     endif
  664.     
  665.     compress endk
  666.     co_endk=endk
  667.     if endk="" then
  668.       endk="9999999999"
  669.     endif
  670.     rset 10,endk
  671.     if _dr_lpt=1 then
  672.       ausgabe="lpt1"
  673.     else
  674.       if _dr_lpt=2 then
  675.         ausgabe="lpt2"
  676.       else
  677.         ausgabe="screen"
  678.       endif
  679.     endif
  680.     exist "druck.dat",a
  681.     formatiert=""
  682.     if a=1 then
  683.       loadarray "druck.dat",zeile,1,10,a
  684.       select zeile4,44,teil,1,2
  685.       compress teil2
  686.       if teil2="1" then
  687.         formatiert="ja"
  688.       endif
  689.     endif
  690.     
  691.     if formatiert="" then
  692.       call tmp_fenster(1)
  693.       datum date,3
  694.       compress co_endk
  695.       kill ausgabe
  696.       open 9,ausgabe
  697.       iread 1,ok,kun1,kun
  698.       if ok=0 then
  699.         puts 9,""
  700.         puts 9,"   KUNDENLISTE  vom ",date
  701.         puts 9,""
  702.         puts 9,"   Von Kundennr. ",merke_feld,"    Bis Kundennr. ",co_endk
  703.         puts 9,""
  704.         puts 9,"   Kunden-Nr.   Name   "
  705.         puts 9,"   PLZ          Ort                           Zentrale "
  706.         puts 9,"   ------------------------------------------------------------------------"
  707.         val kun1,zahl1
  708.         val endk,zahl2
  709.         while zahl1<=zahl2 and a<>3 and a<> 4
  710.           set 10,kun1 : set 15,kun4 : set  7,kun7
  711.           set 30,kun8 :  set 20,kun11
  712.           compress kun5
  713.           if kun5="" then
  714.             set 30,kun2
  715.             puts 9,"   ",kun1," ",kun2
  716.           else
  717.             set 30,kun2
  718.             set 30,kun5
  719.             puts 9,"   ",kun1," ",kun5," ",kun2
  720.           endif
  721.           puts 9,"   ",kun7,"    ",kun8," ",kun11
  722.           puts 9,"   ------------------------------------------------------------------------"
  723.           inext 1,a,kun
  724.           val kun1,zahl1
  725.         wend
  726.         call tmp_fenster(0)
  727.         close 9
  728.         if ausgabe="screen" then
  729.           call show_datei(ausgabe)
  730.         endif
  731.       endif
  732.     else
  733.       sklave=_verz2+"kunden"
  734.       merke="kun1_li.rpt"
  735.       kill "report.dte"
  736.       kill "datei.dte"
  737.       open 8,"datei.dte"
  738.       puts 8,"_datei = ",chr(34),merke,chr(34)
  739.       puts 8,"importend"
  740.       close 8
  741.       open 8,"report.dte"
  742.       puts 8,'_index         = "tag1"'
  743.       puts 8,"_ausgabe       = ",chr(34),ausgabe,chr(34)
  744.       puts 8,"_startkey      = ",chr(34),kun1,chr(34)
  745.       puts 8,"_endkey        = ",chr(34),endk,chr(34)
  746.       puts 8,"_slavedb       = ",chr(34),sklave,chr(34)
  747.       puts 8,"_masterdb      = ",chr(34),sklave,chr(34)
  748.       puts 8,"_index_feld    = 1"
  749.       puts 8,'_aufsteigend   = "ja"'
  750.       puts 8,"importend"
  751.       close 8
  752.       shell "krun.exe","","report.kim"
  753.     endif
  754.     igo_nr 1,db_nr
  755.     call daten_setzen()
  756.     
  757.   ENDMOD
  758.   
  759.   rem --------------------------------------------------------------------
  760.   rem Ausgabe der Telefonliste
  761.   rem --------------------------------------------------------------------
  762.   MODUL druck_telephonliste()
  763.     defstring merke,expr,anfang,zeilen,endk,merke_feld,ausgabe
  764.     defstring formatiert,co_endk,teil1,teil2,date,sklave
  765.     deffloat flag,ok,zahl,laenge,zahl1,zahl2,a,db_nr
  766.     dim zeile,1,10
  767.     
  768.     call druck_meldung(flag)
  769.     if flag=-1 then exitmod : endif
  770.     iget_nr 1,db_nr
  771.     iset 1,"tag1",expr
  772.     call index_anzeige(expr)
  773.     istart 1,kun1
  774.     anfang=kun1
  775.     flag=0
  776.     call fenster_druck("Telephonliste","Ab Kundennr.","Bis Kundennr.",anfang,endk,flag)
  777.     if flag=-1 then
  778.       igo_nr 1,db_nr
  779.       call daten_setzen()
  780.       exitmod
  781.     endif
  782.     rset 10,anfang
  783.     iread 1,ok,anfang,kun
  784.     if ok=3 then
  785.       stradd zeilen,"Kundennr. >= ",anfang," nicht vorhanden !"
  786.       msgbox zeilen,0,flag,""
  787.       igo_nr 1,db_nr
  788.       call daten_setzen()
  789.       exitmod
  790.     endif
  791.     
  792.     merke_feld=kun1
  793.     compress merke_feld
  794.     len endk,laenge
  795.     rset laenge,merke_feld
  796.     
  797.     if merke_feld > endk and endk<>"" then
  798.       msgbox "Keinen Kunden gefunden",0,flag,""
  799.       igo_nr 1,db_nr
  800.       call daten_setzen()
  801.       exitmod
  802.     endif
  803.     
  804.     compress endk
  805.     if endk="" then
  806.       endk="9999999999"
  807.     endif
  808.     rset 10,endk
  809.     
  810.     if _dr_lpt=1 then
  811.       ausgabe="lpt1"
  812.     else
  813.       if _dr_lpt=2 then
  814.         ausgabe="lpt2"
  815.       else
  816.         ausgabe="screen"
  817.       endif
  818.     endif
  819.     exist "druck.dat",a
  820.     formatiert=""
  821.     if a=1 then
  822.       loadarray "druck.dat",zeile,1,10,a
  823.       select zeile5,44,teil,1,2
  824.       compress teil2
  825.       if teil2="1" then
  826.         formatiert="ja"
  827.       endif
  828.     endif
  829.     
  830.     if formatiert="" then
  831.       call tmp_fenster(1)
  832.       datum date,3
  833.       compress co_endk
  834.       kill ausgabe
  835.       open 9,ausgabe
  836.       iread 1,ok,kun1,kun
  837.       if ok=0 then
  838.         puts 9,""
  839.         puts 9,"   TELEPHONLISTE  vom ",date
  840.         puts 9,""
  841.         puts 9,"   Von Kundennr. ",merke_feld,"    Bis Kundennr. ",co_endk
  842.         puts 9,""
  843.         puts 9,"   Kunden-Nr.   Name   "
  844.         puts 9,"   Ansprechpartner       Zentrale             Durchwahl"
  845.         puts 9,"   ------------------------------------------------------------------------"
  846.         val kun1,zahl1
  847.         val endk,zahl2
  848.         while zahl1<=zahl2 and a<>3 and a<> 4
  849.           set 10,kun1 : set 20,kun4 : set 20,kun9
  850.           set 20,kun11 :  set 30,kun10
  851.           compress kun5
  852.           if kun5="" then
  853.             set 30,kun2
  854.             puts 9,"   ",kun1," ",kun2
  855.           else
  856.             set 30,kun2
  857.             set 30,kun5
  858.             puts 9,"   ",kun1," ",kun5," ",kun2
  859.           endif
  860.           puts 9,"   ",kun9,"  ",kun11," ",kun10
  861.           puts 9,"   ------------------------------------------------------------------------"
  862.           inext 1,a,kun
  863.           val kun1,zahl1
  864.         wend
  865.         call tmp_fenster(0)
  866.         close 9
  867.         if ausgabe="screen" then
  868.           call show_datei(ausgabe)
  869.         endif
  870.       endif
  871.     else
  872.       sklave=_verz2+"kunden"
  873.       merke="kun2_li.rpt"
  874.       kill "report.dte"
  875.       kill "datei.dte"
  876.       open 8,"datei.dte"
  877.       puts 8,"_datei = ",chr(34),merke,chr(34)
  878.       puts 8,"importend"
  879.       close 8
  880.       open 8,"report.dte"
  881.       puts 8,'_index         = "tag1"'
  882.       puts 8,"_ausgabe       = ",chr(34),ausgabe,chr(34)
  883.       puts 8,"_startkey      = ",chr(34),kun1,chr(34)
  884.       puts 8,"_endkey        = ",chr(34),endk,chr(34)
  885.       puts 8,"_slavedb       = ",chr(34),sklave,chr(34)
  886.       puts 8,"_masterdb      = ",chr(34),sklave,chr(34)
  887.       puts 8,"_index_feld    = 1"
  888.       puts 8,'_aufsteigend   = "ja"'
  889.       puts 8,"importend"
  890.       close 8
  891.       shell "krun.exe","","report.kim"
  892.     endif
  893.     igo_nr 1,db_nr
  894.     call daten_setzen()
  895.   ENDMOD
  896.   
  897.   rem --------------------------------------------------------------------
  898.   rem Druck-Umsatzliste
  899.   rem -------------------------------------------------------------------- 
  900.   MODUL druck_umsatzliste()
  901.     defstring merke,expr,anfang,zeilen,endk,merke_feld,ausgabe
  902.     defstring formatiert,co_endk,teil1,teil2,date,sklave
  903.     deffloat flag,ok,zahl,laenge,zahl1,zahl2,a,db_nr
  904.     dim zeile,1,10
  905.     
  906.     call druck_meldung(flag)
  907.     if flag=-1 then exitmod : endif
  908.     iget_nr 1,db_nr
  909.     iset 1,"tag5",expr
  910.     istart 1,kun
  911.     anfang=kun60
  912.     flag=1
  913.     call fenster_druck("Umsatzliste","Ab Umsatz ","Bis Umsatz ",anfang,endk,flag)
  914.     if flag=-1 then
  915.       iset 1,"tag1",expr
  916.       call index_anzeige(expr)
  917.       igo_nr 1,db_nr
  918.       call daten_setzen()
  919.       exitmod
  920.     endif
  921.     rset 12,anfang
  922.     iread 1,ok,anfang,kun
  923.     if ok=3 then
  924.       stradd zeilen,"Umsatz >= ",anfang," nicht vorhanden !"
  925.       msgbox zeilen,0,flag,""
  926.       iset 1,"tag1",expr
  927.       call index_anzeige(expr)
  928.       igo_nr 1,db_nr
  929.       call daten_setzen()
  930.       exitmod
  931.     endif
  932.     
  933.     merke_feld=kun60
  934.     compress merke_feld
  935.     len endk,laenge
  936.     rset laenge,merke_feld
  937.     
  938.     if merke_feld > endk and endk<>"" then
  939.       msgbox "Keinen Kunden gefunden",0,flag,""
  940.       iset 1,"tag1",expr
  941.       call index_anzeige(expr)
  942.       igo_nr 1,db_nr
  943.       call daten_setzen()
  944.       exitmod
  945.     endif
  946.     
  947.     compress endk
  948.     co_endk=endk
  949.     if endk="" then
  950.       endk="999999999999"
  951.     endif
  952.     rset 12,endk
  953.     
  954.     if _dr_lpt=1 then
  955.       ausgabe="lpt1"
  956.     else
  957.       if _dr_lpt=2 then
  958.         ausgabe="lpt2"
  959.       else
  960.         ausgabe="screen"
  961.       endif
  962.     endif
  963.     exist "druck.dat",a
  964.     formatiert=""
  965.     if a=1 then
  966.       loadarray "druck.dat",zeile,1,10,a
  967.       select zeile6,44,teil,1,2
  968.       compress teil2
  969.       if teil2="1" then
  970.         formatiert="ja"
  971.       endif
  972.     endif
  973.     
  974.     if formatiert="" then
  975.       call tmp_fenster(1)
  976.       datum date,3
  977.       compress co_endk
  978.       kill ausgabe
  979.       open 9,ausgabe
  980.       iread 1,ok,kun60,kun
  981.       if ok=0 then
  982.         puts 9,""
  983.         puts 9,"   UMSATZLISTE  vom ",date
  984.         puts 9,""
  985.         puts 9,"   AB Umsatz ",merke_feld,"    Bis Umsatz ",co_endk
  986.         puts 9,""
  987.         puts 9,"   Kunden-Nr.         Name   "
  988.         puts 9,""
  989.         puts 9,"       Januar         Februar        Maerz       April           Mai"
  990.         puts 9,"       Juni           Juli           August      September      Oktober"
  991.         puts 9,"       November       Dezember                                   Gesamt"
  992.         puts 9,"   ------------------------------------------------------------------------"
  993.         val kun60,zahl1
  994.         val endk,zahl2
  995.         while zahl1<=zahl2 and a<>3 and a<> 4
  996.           set 10,kun1 : set 20,kun4
  997.           rset 12,kun48 : rset 12,kun49 : rset 12,kun50 : rset 12,kun51 : rset 12,kun52
  998.           rset 12,kun53 : rset 12,kun54 : rset 12,kun55 : rset 12,kun56 : rset 12,kun57
  999.           rset 12,kun58 : rset 12,kun59 : rset 12,kun60
  1000.           compress kun5
  1001.           if kun5="" then
  1002.             set 30,kun2
  1003.             puts 9,"   ",kun1," ",kun2
  1004.           else
  1005.             set 30,kun2
  1006.             set 30,kun5
  1007.             puts 9,"   ",kun1," ",kun5," ",kun2
  1008.           endif
  1009.           puts 9,""
  1010.           puts 9,"   ",kun48,"  ",kun49,"  ",kun50,"  ",kun51,"  ",kun52
  1011.           puts 9,"   ",kun53,"  ",kun54,"  ",kun55,"  ",kun56,"  ",kun57
  1012.           puts 9,"   ",kun58,"  ",kun59,"                              ",kun60
  1013.           puts 9,"   ------------------------------------------------------------------------"
  1014.           inext 1,a,kun
  1015.           val kun60,zahl1
  1016.         wend
  1017.         call tmp_fenster(0)
  1018.         close 9
  1019.         if ausgabe="screen" then
  1020.           call show_datei(ausgabe)
  1021.         endif
  1022.       endif
  1023.     else
  1024.       sklave=_verz2+"kunden"
  1025.       merke="kun3_li.rpt"
  1026.       kill "report.dte"
  1027.       kill "datei.dte"
  1028.       open 8,"datei.dte"
  1029.       puts 8,"_datei = ",chr(34),merke,chr(34)
  1030.       puts 8,"importend"
  1031.       close 8
  1032.       open 8,"report.dte"
  1033.       puts 8,'_index         = "tag5"'
  1034.       puts 8,"_ausgabe       = ",chr(34),ausgabe,chr(34)
  1035.       puts 8,"_startkey      = ",chr(34),kun60,chr(34)
  1036.       puts 8,"_endkey        = ",chr(34),endk,chr(34)
  1037.       puts 8,"_slavedb       = ",chr(34),sklave,chr(34)
  1038.       puts 8,"_masterdb      = ",chr(34),sklave,chr(34)
  1039.       puts 8,"_index_feld    = 60"
  1040.       puts 8,'_aufsteigend   = "ja"'
  1041.       puts 8,"importend"
  1042.       close 8
  1043.       shell "krun.exe","","report.kim"
  1044.     endif
  1045.     iset 1,"tag1",expr
  1046.     call index_anzeige(expr)
  1047.     igo_nr 1,db_nr
  1048.     call daten_setzen()
  1049.   ENDMOD
  1050.   
  1051.   rem --------------------------------------------------------------------
  1052.   rem Umsatz pro Kunden drucken
  1053.   rem --------------------------------------------------------------------
  1054.   MODUL umsatz_einzel_druck()
  1055.     defstring merke,expr,anfang,zeilen,endk,merke_feld,ausgabe
  1056.     defstring formatiert,co_endk,teil1,teil2,date,sklave
  1057.     deffloat flag,ok,zahl,laenge,zahl1,zahl2,a
  1058.     dim zeile,1,10
  1059.     
  1060.     call druck_meldung(flag)
  1061.     if flag=-1 then exitmod : endif
  1062.     
  1063.     if _dr_lpt=1 then
  1064.       ausgabe="lpt1"
  1065.     else
  1066.       if _dr_lpt=2 then
  1067.         ausgabe="lpt2"
  1068.       else
  1069.         ausgabe="screen"
  1070.       endif
  1071.     endif
  1072.     
  1073.     call tmp_fenster(1)
  1074.     datum date,3
  1075.     kill ausgabe
  1076.     open 9,ausgabe
  1077.     puts 9,""
  1078.     puts 9,"     UMSATZLISTE  vom ",date
  1079.     puts 9,""
  1080.     puts 9,"     Kunden-Nr.      ",kun1
  1081.     puts 9,"     Anrede          ",kun3
  1082.     puts 9,"     Firmenname 1    ",kun5
  1083.     puts 9,"     Firmenname 2    ",kun2
  1084.     puts 9,"     Strasse         ",kun6
  1085.     puts 9,"     Plz             ",kun7
  1086.     puts 9,"     Ort             ",kun8
  1087.     puts 9,"     Ansprechpartner ",kun9
  1088.     puts 9,"     Durchwahl       ",kun10
  1089.     puts 9,"     Zentrale        ",kun11
  1090.     puts 9,"     Telefax         ",kun12
  1091.     
  1092.     rset 12,kun48 : rset 12,kun49 : rset 12,kun50 : rset 12,kun51 : rset 12,kun52
  1093.     rset 12,kun53 : rset 12,kun54 : rset 12,kun55 : rset 12,kun56 : rset 12,kun57
  1094.     rset 12,kun58 : rset 12,kun59 : rset 12,kun60
  1095.     puts 9,""
  1096.     puts 9,"     ------------------------------"
  1097.     puts 9,"     Januar        ",kun48," DM"
  1098.     puts 9,"     Februar       ",kun49," DM"
  1099.     puts 9,"     Maerz         ",kun50," DM"
  1100.     puts 9,"     April         ",kun51," DM"
  1101.     puts 9,"     Mai           ",kun52," DM"
  1102.     puts 9,"     Juni          ",kun53," DM"
  1103.     puts 9,"     Juli          ",kun54," DM"
  1104.     puts 9,"     August        ",kun55," DM"
  1105.     puts 9,"     September     ",kun56," DM"
  1106.     puts 9,"     Oktober       ",kun57," DM"
  1107.     puts 9,"     November      ",kun58," DM"
  1108.     puts 9,"     Dezember      ",kun59," DM"
  1109.     puts 9,"     ------------------------------"
  1110.     puts 9,"     Gesamt        ",kun60," DM"
  1111.     puts 9,"     =============================="
  1112.     call tmp_fenster(0)
  1113.     close 9
  1114.     if ausgabe="screen" then
  1115.       call show_datei(ausgabe)
  1116.     endif
  1117.     
  1118.   ENDMOD
  1119.   
  1120.   
  1121.   rem --------------------------------------------------------------------
  1122.   rem Fenster für Eingabe der Druckparameter (von .. bis )
  1123.   rem --------------------------------------------------------------------
  1124.   MODUL fenster_druck(char titel,char ueber1,char ueber2,char merke1,char merke2,float ret)
  1125.     deffloat taste,i,a
  1126.     defstring obj
  1127.     
  1128.     def_window "windr",30,6,30,7;"modal","size off"
  1129.     def_border "randdr"
  1130.     def_titel "titeldr",titel;"center"
  1131.     add_item "windr","randdr","titeldr"
  1132.     
  1133.     DEF_PROMPT "ausdr1" , 1, 1,ueber1
  1134.     DEF_PROMPT "ausdr2" , 1, 2,ueber2
  1135.     if ret=1 then
  1136.       def_number "inpdr1" ,15, 1,12,"","";"decimal 2","right","clear","border"
  1137.       def_number "inpdr2" ,15, 2,12,"","";"decimal 2","right","clear","border"
  1138.     else
  1139.       DEF_STRING "inpdr1" ,15, 1,12,merke1;"border","clear"
  1140.       DEF_STRING "inpdr2" ,15, 2,12,merke1;"border","clear"
  1141.     endif
  1142.     
  1143.     def_button "buttdr1",2,4,10,"","Ok";"auto size"
  1144.     def_button "buttdr2",15,4,10,"","Abbruch";"auto size"
  1145.     
  1146.     ADD_ITEM "windr","ausdr1","inpdr1","ausdr2","inpdr2","buttdr1","buttdr2"
  1147.     
  1148.     win_paint "windr"
  1149.     add_item "windr","inpdr1"
  1150.     while i<>1000
  1151.       win_ev i
  1152.       get_item_pos obj,taste
  1153.       if obj="buttdr2" and taste=13 then
  1154.         ret=-1
  1155.         i=1000
  1156.       endif
  1157.       if obj="buttdr2" and taste=_ENTER then
  1158.         ret=-1
  1159.         i=1000
  1160.       endif
  1161.       if obj="buttdr2" then
  1162.         ret=-1
  1163.         i=1000
  1164.       endif
  1165.       if obj="buttdr1" and taste=13 then
  1166.         ret=0
  1167.         get_item "inpdr1",merke1
  1168.         get_item "inpdr2",merke2
  1169.         i=1000
  1170.       endif
  1171.       if obj="buttdr1" and taste=_ENTER then
  1172.         ret=0
  1173.         get_item "inpdr1",merke1
  1174.         get_item "inpdr2",merke2
  1175.         i=1000
  1176.       endif
  1177.       find_item "windr",a
  1178.       if a=-1 then
  1179.         i=1000
  1180.       endif
  1181.     wend
  1182.     if a<>-1 then
  1183.       event_on_item "windr","end"
  1184.     endif
  1185.   ENDMOD
  1186.   
  1187.   rem --------------------------------------------------------------------
  1188.   rem Eventroutine für Eingabe der Druckparametern
  1189.   rem --------------------------------------------------------------------
  1190.   MODUL druck_meldung(float flag)
  1191.     deffloat z,t,a,ok
  1192.     defstring obj
  1193.     
  1194.     call msg_fenster_dr()
  1195.     win_paint "mdr"
  1196.     set_item_status "mdr_button1",0,"set"
  1197.     add_item "mdr","mdr_button4"
  1198.     
  1199.     while z<>1000
  1200.       win_ev z
  1201.       get_item_pos obj,t
  1202.       if t=13 or t=_ENTER then
  1203.         if obj="mdr_button5" then z=1000 : flag=-1 :endif
  1204.         if obj="mdr_button4" then
  1205.           get_item_status "mdr_button1","set",ok
  1206.           if ok=1 then _dr_lpt=1 : endif
  1207.           get_item_status "mdr_button2","set",ok
  1208.           if ok=1 then _dr_lpt=2 : endif
  1209.           get_item_status "mdr_button3","set",ok
  1210.           if ok=1 then _dr_lpt=3 : endif
  1211.           z=1000
  1212.         endif
  1213.       endif
  1214.       find_item "mdr",a
  1215.       if a=-1 then
  1216.         z=1000
  1217.       endif
  1218.     wend
  1219.     if a<>-1 then
  1220.       event_on_item "mdr","end"
  1221.     endif
  1222.   ENDMOD
  1223.   
  1224.   rem --------------------------------------------------------------------
  1225.   rem Definition des Fesnsters für Druckparameter
  1226.   rem --------------------------------------------------------------------
  1227.   MODUL msg_fenster_dr()
  1228.     
  1229.     def_window "mdr",22,6, 40, 6;"move off","modal"
  1230.     def_border "mdr_border"
  1231.     def_titel  "mdr_titel","Meldung" ;"center"
  1232.     def_button "mdr_button1",2,1,7,"","LPT&1";"checkbox"
  1233.     def_button "mdr_button2",12,1,7,"","LPT&2";"checkbox"
  1234.     def_button "mdr_button3",22,1,12,"","&Bildschirm";"checkbox"
  1235.     
  1236.     def_group "druck",1,0,36,2,"Ihre Wahl"
  1237.     add_item "druck","mdr_button1","mdr_button2","mdr_button3"
  1238.     
  1239.     def_button "mdr_button4", 5,3,10,"","&Ok";"auto size"
  1240.     def_button "mdr_button5",20,3,10,"","&Abbruch";"auto size"
  1241.     
  1242.     add_item "mdr",..
  1243.     "mdr_border",..
  1244.     "mdr_titel",..
  1245.     "mdr_button4",..
  1246.     "mdr_button5",..
  1247.     "druck"
  1248.   ENDMOD
  1249.   
  1250.   rem --------------------------------------------------------------------
  1251.   rem Eingabe von zusätzlichen Text für Kunden
  1252.   rem --------------------------------------------------------------------
  1253.   MODUL zusatz_zeilen()
  1254.     deffloat z,t,a
  1255.     defstring obj
  1256.     
  1257.     def_window "msg_ze",5,7,78,7 ;"move off","modal"
  1258.     def_border "msg_border_ze"
  1259.     def_titel  "msg_titel_ze","Zusatz-Text" ;"center"
  1260.     def_button "msg_button1_ze",15,4,15,"","&Speichern";"auto size"
  1261.     def_button "msg_button2_ze",40,4,15,"","&Quit";"auto size"
  1262.     def_prompt "msg_pr1_ze",1,1,"Zeile 1 "
  1263.     def_prompt "msg_pr2_ze",1,2,"Zeile 2 "
  1264.     def_string "msg_inp1",9 , 1,60,kun61  ;"border","clear"
  1265.     def_string "msg_inp2",9 , 2,60,kun62  ;"border","clear"
  1266.     
  1267.     add_item "msg_ze","msg_border_ze","msg_titel_ze","msg_pr1_ze","msg_pr2_ze",..
  1268.     "msg_button1_ze","msg_button2_ze","msg_inp1","msg_inp2"
  1269.     
  1270.     win_paint "msg_ze"
  1271.     set_item "msg_inp1",kun61
  1272.     set_item "msg_inp2",kun62
  1273.     add_item "msg_ze","msg_inp1"
  1274.     while z<>1000
  1275.       win_ev z
  1276.       get_item_pos obj,t
  1277.       if t=13 or t=_enter then
  1278.         if obj="msg_button1_ze" then
  1279.           get_item "msg_inp1",kun61
  1280.           get_item "msg_inp2",kun62
  1281.           imodrec 1,kun
  1282.           z=1000
  1283.         endif
  1284.         if obj="msg_button2_ze" then
  1285.           z=1000
  1286.         endif
  1287.         find_item "msg_ze",a
  1288.       endif
  1289.       if a=-1 then
  1290.         z=1000
  1291.       endif
  1292.     wend
  1293.     if a<>-1 then
  1294.       event_on_item "msg_ze","end"
  1295.     endif
  1296.   ENDMOD
  1297.   
  1298.   
  1299.   rem ****************** Programmende ************************
  1300.   
  1301.   
  1302.   
  1303.    
  1304.