home *** CD-ROM | disk | FTP | other *** search
/ Turbo Toolbox / Turbo_Toolbox.iso / spezial / 20 / dos_txl / beispiel / adress.txl next >
Encoding:
Text File  |  1991-03-22  |  5.7 KB  |  250 lines

  1. gehezu haupt
  2.  
  3. const Name 1
  4. const Vorname 2
  5. const Strasse 3
  6. const PLZ 4
  7. const Ort 5
  8. const Col1 31    * Menue - Rahmen und Auswahlbalken
  9. const Col2 30    * Menuepunktfarbe
  10. const EdCol1 33
  11. const EdCol2 36
  12. const EdHeadTop 31
  13. const HelpCol 49
  14.  
  15. label init
  16.   blockbegin    *** Definition der Menueeinträge
  17.     setze men1=" Datensätze hinzufügen "
  18.     setze men2=" Markierte DS löschen "
  19.     setze men3=" Markierungen rückgängig "
  20.     setze men4=" Sortieren und Suchen... "
  21.     setze men4A=" Baum erstellen... "
  22.     setze men4B=" >> Editieren / Markieren "
  23.     setze men4C=" Element suchen "
  24.     setze men4D=" Bedingungen für Liste "
  25.     OpenDB 0 "ADRESS"
  26.     setze AktEd=1;
  27.     setze EditorWr=EineZeile;
  28.     strdef str 300
  29.     setze Cond=0;
  30.     setze minPlz=0;
  31.     setze maxPlz=9000;
  32.   blockend
  33.  
  34. label haupt
  35.   gosub init
  36.   gosub HMenue
  37.   gehezu ende
  38.  
  39. label HMenue
  40.   blockbegin
  41.     openwindow 10 5 38 10 Col1 Col2 0 0
  42.     menue men1 Add men2 Del men3 UnMark men4 Tree
  43.     closewindow
  44.   blockend
  45.  
  46. label Add  *** Editieren neuer Datensaetze
  47.   blockbegin
  48.     winmessage " Geben Sie die Sätze in den Editor ein - Hilfe : F1 "
  49.     openwindow 1 1 60 20 EdCol1 EdCol2 EdHeadTop EdHeadTop
  50.     initeditor 1 "TEMP.DAT"
  51.     setfkey 1 EditHilfe
  52.     setfkey 2 ReadData
  53.     GotoEnd 0
  54.     editorproc 1
  55.     closeeditor 1
  56.     setfkey 1 0
  57.     setfkey 2 0
  58.   blockend
  59.  
  60. label UnMark
  61.   UnMarkAll 0
  62.  
  63. label Del
  64.   DelMarked 0
  65.  
  66. label Tree   *** Baum-Untermenue
  67.   blockbegin
  68.     openwindow 15 10 43 15 Col1 Col2 0 0
  69.     menue men4A MTree men4B ATree men4C STree men4D SetCond
  70.     closewindow
  71.   blockend
  72.  
  73. label MTree  *** Baum nach gewähltem Datenfeld sortieren
  74.   blockbegin
  75.     gosub WaehleSatz
  76.     pop satznr
  77.     MakeTree 0 satznr
  78.   blockend
  79.  
  80. label ATree  *** Daten nach Sortierung im Baum in einem Editorfenster
  81.   blockbegin *** darstellen F3 : Markieren, F4 : Editieren
  82.     openwindow 1 1 60 20 EdCol1 EdCol2 EdHeadTop EdHeadTop
  83.     initeditor 1 "TEMP.DAT"
  84.     setfkey 3 EditorMark
  85.     setfkey 4 EditorEdit
  86.     PassTree 0 Cond WriteToEd
  87.     editorproc 1
  88.     setfkey 3 0
  89.     setfkey 4 0
  90.     closeeditor 1
  91.   blockend
  92.  
  93. label EditorMark
  94.   blockbegin
  95.     getedword 1 str
  96.     SearchTree 0 POS str
  97.     wenn POS=1000000000
  98.       winmessage " Satz nicht gefunden ! "
  99.       MarkCurrent 0 1
  100.   blockend
  101.  
  102. label EditorEdit
  103.   blockbegin
  104.     getedword 1 str
  105.     SearchTree 0 POS str
  106.     wenn POS=1000000000
  107.       winmessage " Satz nicht gefunden ! "
  108.       gosub EditCurr
  109.   blockend
  110.  
  111. label EditCurr
  112.   blockbegin
  113.     openwindow 20 6 50 15 EdCol1 EdCol2 EdHeadTop EdHeadTop
  114.     initeditor 2 "TEMP2.DAT"
  115.     setfkey 1 EditHilfe
  116.     setfkey 2 ReadData
  117.     setze AktEd=2;
  118.     setze EditorWr=Getrennt;
  119.     gosub WriteToEd
  120.     winmessage " F2 überschreibt ab aktuellem Satz -> Nur 1* benutzen. "
  121.     editorproc 2
  122.     setze EditorWr=EineZeile;
  123.     setze AktEd=1;
  124.     closeeditor 2
  125.     setfkey 1 0
  126.     setfkey 2 0
  127.   blockend
  128.  
  129. label WriteToEd  *** Schreibt aktuellen Datensatz in Editor Nr 1
  130.   blockbegin
  131.     ReadDBForm 0 1 str
  132.     gosub EditorWr
  133.     ReadDBForm 0 2 str
  134.     gosub EditorWr
  135.     ReadDBForm 0 3 str
  136.     gosub EditorWr
  137.     ReadDBForm 0 4 str
  138.     gosub EditorWr
  139.     ReadDBForm 0 5 str
  140.     gosub EditorWr
  141.     edfunction AktEd 1 0
  142.     edfunction AktEd 13 0
  143.   blockend
  144.  
  145. label EineZeile
  146.   blockbegin
  147.     insertstring AktEd str
  148.     insertstring AktEd "  "
  149.   blockend
  150.  
  151. label Getrennt
  152.   blockbegin
  153.     insertstring AktEd str
  154.     edfunction AktEd 1 0
  155.     edfunction AktEd 13 0
  156.   blockend
  157.  
  158. label STree
  159.   blockbegin
  160.     winreadstring " Bitte zu suchenden Feldinhalt eingeben : " str 50
  161.     SearchTree 0 POS str
  162.     wenn POS=1000000000
  163.       winmessage " Satz nicht gefunden ! "
  164.       gosub EditCurr
  165.   blockend
  166.  
  167. label WaehleSatz  *** Auswahl eines Datensatzes
  168.   blockbegin
  169.     openwindow 30 1 40 7 11 30 0 0
  170.     auswahl " Name "  " Vorname "  " Straße "  " PLZ "  " Ort " 
  171.     closewindow
  172.   blockend
  173.  
  174. label EditHilfe  *** Editor-Hotkey : F1 - Hilfe
  175.   blockbegin
  176.     openwindow 20 5 62 16 HelpCol HelpCol 0 0
  177.     winwrite 1 1 HelpCol " Kurzhilfe Datensatzeditieren im Editor"
  178.     winwrite 1 3 HelpCol " Feldinhalte untereinander eingeben"    
  179.     winwrite 1 4 HelpCol " Cursor auf erstes Feld positionieren"
  180.     winwrite 1 5 HelpCol " und F2 zum Einlesen des Satzes eingeben"
  181.     winwrite 1 6 HelpCol " ESC beendet Editor"    
  182.     winwrite 1 8 HelpCol " <Return> drücken ..."    
  183.     readln dummy 
  184.     closewindow
  185.   blockend
  186.  
  187. label ReadData  *** Editor-Hotkey : F2 - Datenblock in Datenbank 
  188.   blockbegin    *** aufnehmen
  189.     getedstring AktEd str
  190.     WriteDB 0 Name str 0
  191.     edfunction AktEd 2 0
  192.     getedstring AktEd str
  193.     WriteDB 0 Vorname str 0
  194.     edfunction AktEd 2 0
  195.     getedstring AktEd str
  196.     WriteDB 0 Strasse str 0
  197.     edfunction AktEd 2 0
  198.     getedstring AktEd str
  199.     strtoi str plz
  200.     WriteDB 0 PLZ str plz
  201.     edfunction AktEd 2 0
  202.     getedstring AktEd str
  203.     WriteDB 0 Ort str 0
  204.     edfunction AktEd 2 0
  205.     AddDB 0
  206.   blockend
  207.  
  208. label SetCond
  209.   blockbegin
  210.     openwindow 30 1 50 4 5 30 0 0
  211.     auswahl "Alle Sätze" "Beschränkung in PLZ"
  212.     closewindow
  213.     pop wahlnr
  214.     wenn wahlnr=1
  215.     setze Cond=0;
  216.     gosub fragegrenzen
  217.   blockend
  218.  
  219. label fragegrenzen
  220.   blockbegin
  221.     winreadstring "Minimale PLZ : " plzstr 5
  222.     strtoi plzstr minPlz
  223.     winreadstring "Maximale PLZ : " plzstr 5
  224.     strtoi plzstr maxPlz
  225.     setze Cond=PlzCond;
  226.   blockend
  227.  
  228. label PlzCond
  229.   blockbegin
  230.     ReadDB 0 PLZ str plz
  231.     wenn plz<minPlz
  232.       gehezu endePlzCond
  233.       wenn plz>maxPlz
  234.         gehezu endePlzCond
  235.         GefundenOK
  236. label endePlzCond    
  237.   blockend
  238.  
  239. label ende
  240.   CloseFile 0
  241.   merke
  242.  
  243.  
  244.  
  245.  
  246.  
  247.  
  248.  
  249.  
  250.