home *** CD-ROM | disk | FTP | other *** search
/ Programming Tool Box / SIMS_2.iso / bp_6_93 / vbwin / phoenix / demo.txt < prev    next >
Text File  |  1995-02-26  |  11KB  |  427 lines

  1.  
  2.  
  3.  
  4. Sub ButFirst_Click ()
  5.     JUMP_FIRST_Click
  6. End Sub
  7.  
  8. Sub ButLast_Click ()
  9.     JUMP_LAST_Click
  10. End Sub
  11.  
  12. Sub ButNext_Click ()
  13.     JUMP_NEXT_Click
  14. End Sub
  15.  
  16. Sub ButPrev_Click ()
  17.     JUMP_PREV_Click
  18. End Sub
  19.  
  20. Sub EDIT_DELETE_Click ()
  21.     Dim Res As Integer, Status As Integer
  22.  
  23.     Record.Vorname = VName.Text
  24.     Record.name = NName.Text
  25.     Record.Stra▀e = Stra▀e.Text
  26.     Record.Plz = Plz.Text
  27.     Record.Ort = Ort.Text
  28.     Record.Telefon = Telefon.Text
  29.  
  30.     If (Record.address <> 0) Then
  31.         Res = db_reclock(Db, Record.address)
  32.         Res = db_delete(Db, TBL_LEUTE, Record.address, Status)
  33.         Res = TestBase(Db)
  34.     End If
  35.  
  36.     VName.Text = ""
  37.     NName.Text = ""
  38.     Stra▀e.Text = ""
  39.     Plz.Text = ""
  40.     Ort.Text = ""
  41.     Telefon.Text = ""
  42. End Sub
  43.  
  44. Sub EDIT_FIND_Click ()
  45.     Dim Res As Integer
  46.     
  47.     Record.name = NName.Text
  48.     Record.Plz = Plz.Text
  49.     Record.Ort = Ort.Text
  50.     
  51.     If SearchIndex <> 0 Then
  52.         If db_search(Db, TBL_LEUTE, SearchIndex, ASCENDING, DbCursor, Record, 0) = 0 Then
  53.           MsgBox "Datensatz '" & SearchString & "' nicht gefunden!", 48, Title
  54.         End If
  55.         
  56.         Res = ReadAndGetLeute(Record)
  57.     End If
  58.     
  59.     Res = TestBase(Db)
  60. End Sub
  61.  
  62. Sub EDIT_INSERT_Click ()
  63.     Dim Res As Integer, Status As Integer
  64.  
  65.     Res = SetAndInsertLeute(Record, Status)
  66.  
  67.     VName.Text = ""
  68.     NName.Text = ""
  69.     Stra▀e.Text = ""
  70.     Plz.Text = ""
  71.     Ort.Text = ""
  72.     Telefon.Text = ""
  73. End Sub
  74.  
  75. Sub EDIT_NEW_Click ()
  76.     VName.Text = ""
  77.     NName.Text = ""
  78.     Stra▀e.Text = ""
  79.     Plz.Text = ""
  80.     Ort.Text = ""
  81.     Telefon.Text = ""
  82.     Record.address = 0
  83. End Sub
  84.  
  85. Sub EDIT_UPDATE_Click ()
  86.     Dim Res As Integer, Status As Integer
  87.  
  88.     Res = SetAndUpdateLeute(Record, Status)
  89. End Sub
  90.  
  91. Sub FILE_CLOSE_Click ()
  92.     Dim Res As Integer
  93.  
  94.     If Db <> 0 Then
  95.         db_freecursor Db, DbCursor
  96.         Res = db_close(Db)
  97.         FILE_CLOSE.Caption = "&╓ffnen"
  98.         Db = 0
  99.         ED.Enabled = False
  100.         JUMP.Enabled = False
  101.         INFO_TABLE.Enabled = False
  102.         ButFirst.Enabled = False
  103.         ButPrev.Enabled = False
  104.         ButLast.Enabled = False
  105.         ButNext.Enabled = False
  106.     
  107.         VName.Text = ""
  108.         NName.Text = ""
  109.         Stra▀e.Text = ""
  110.         Plz.Text = ""
  111.         Ort.Text = ""
  112.         Telefon.Text = ""
  113.         Record.address = 0
  114.     Else
  115.         Db = db_open(basename, basepath, OpenFlags, OpenCache, OpenDbCursors, username, password)
  116.         Res = TestBase(Db)
  117.         
  118.         If Db = 0 Then
  119.             MsgBox "Das Programm wird beendet.", 16, Title
  120.             End
  121.         Else
  122.             DbCursor = db_newcursor(Db)
  123.             FILE_CLOSE.Caption = "&Schlie▀en"
  124.             ED.Enabled = True
  125.             JUMP.Enabled = True
  126.             JUMP_FIRST_Click
  127.         End If
  128.     End If
  129. End Sub
  130.  
  131. Sub FILE_QUIT_Click ()
  132.     Dim Res As Integer
  133.  
  134.     If Db <> 0 Then
  135.         Beep
  136.         Res = MsgBox("Soll die Datenbank geschlossen und das Programm verlassen werden?", 36, Title)
  137.         If Res = 6 Then
  138.             Res = db_close(Db)
  139.             End
  140.         End If
  141.     Else
  142.         End
  143.     End If
  144. End Sub
  145.  
  146. Sub FILE_REORG_Click ()
  147.     Dim I As Integer, Ret As Integer
  148.     Dim reorgresult As REORG_RESULT
  149.     
  150.     Screen.MousePointer = 11            ' Busy
  151.     ED.Enabled = False
  152.     JUMP.Enabled = False
  153.     INFO_TABLE.Enabled = False
  154.     ButFirst.Enabled = False
  155.     ButPrev.Enabled = False
  156.     ButLast.Enabled = False
  157.     ButNext.Enabled = False
  158.     
  159.     If Db <> 0 Then
  160.         Ret = db_close(Db)
  161.         Db = 0
  162.     End If
  163.     
  164.     Ret = db_reorg(basename, basepath, OpenCache, False, 0&, reorgresult)
  165.  
  166.     If Ret = False Then
  167.         Ret = TestBase(Db)
  168.     Else
  169.         Db = db_open(basename, basepath, OpenFlags, OpenCache, OpenDbCursors, username, password)
  170.         Ret = TestBase(Db)
  171.  
  172.         If Db = 0 Then
  173.             MsgBox "Das Programm wird beendet.", 16, Title
  174.             End
  175.         Else
  176.             DbCursor = db_newcursor(Db)
  177.  
  178.             Screen.MousePointer = 0    ' Default
  179.             FILE_CLOSE.Caption = "&Schlie▀en"
  180.             ED.Enabled = True
  181.             JUMP.Enabled = True
  182.             JUMP_FIRST_Click
  183.             
  184.             MsgBox "Datenbank erfolgreich reorganisiert und wieder ge÷ffnet.", 64, Title
  185.         End If
  186.     End If
  187. End Sub
  188.  
  189. Sub Form_Load ()
  190.     Dim Res As Integer
  191.  
  192.     Record.address = 0
  193.     basepath = App.Path
  194.     basename = "LEUTE"
  195.  
  196.     If Right$(basepath, 1) <> "\" Then      ' if not the root path
  197.         basepath = basepath + "\"
  198.     End If
  199.  
  200.     Db = db_open(basename, basepath, OpenFlags, OpenCache, OpenDbCursors, username, password)
  201.     Res = TestBase(Db)
  202.  
  203.     If Db = 0 Then
  204.         MsgBox "Das Programm wird beendet.", 16, Title
  205.         End
  206.     Else
  207.         DbCursor = db_newcursor(Db)
  208.         JUMP_FIRST_Click
  209.     End If
  210. End Sub
  211.  
  212. Sub Form_Unload (Cancel As Integer)
  213.     Dim Ret As Integer
  214.  
  215.     If Db <> 0 Then
  216.         Ret = db_close(Db)
  217.     End If
  218.     End
  219. End Sub
  220.  
  221. Sub INFO_INFO_Click ()
  222.     InfoForm.Show 1
  223. End Sub
  224.  
  225. Sub INFO_TABLE_Click ()
  226.     TableInfoForm.Show 1
  227. End Sub
  228.  
  229. Sub JUMP_FIRST_Click ()
  230.     Dim Res As Integer
  231.  
  232.     If db_initcursor(Db, TBL_LEUTE, 1, ASCENDING, DbCursor) Then
  233.         If db_movecursor(Db, DbCursor, 1) Then
  234.             Res = ReadAndGetLeute(Record)
  235.         End If
  236.     End If
  237.     
  238.     Res = TestBase(Db)
  239. End Sub
  240.  
  241. Sub JUMP_LAST_Click ()
  242.     Dim Res As Integer
  243.  
  244.     If db_initcursor(Db, TBL_LEUTE, 1, DESCENDING, DbCursor) Then
  245.         If db_movecursor(Db, DbCursor, -1) Then
  246.             Res = ReadAndGetLeute(Record)
  247.         End If
  248.     End If
  249.     
  250.     Res = TestBase(Db)
  251. End Sub
  252.  
  253. Sub JUMP_NEXT_Click ()
  254.     Dim Res As Integer
  255.  
  256.     If db_movecursor(Db, DbCursor, 1) Then
  257.         Res = ReadAndGetLeute(Record)
  258.     End If
  259.     
  260.     Res = TestBase(Db)
  261. End Sub
  262.  
  263. Sub JUMP_PREV_Click ()
  264.     Dim Res As Integer
  265.  
  266.     If db_movecursor(Db, DbCursor, -1) Then
  267.         Res = ReadAndGetLeute(Record)
  268.     End If
  269.     
  270.     Res = TestBase(Db)
  271. End Sub
  272.  
  273. Sub NName_Change ()
  274.     If SearchIndex = 1 Then
  275.         SearchString = NName.Text
  276.     End If
  277. End Sub
  278.  
  279. Sub NName_GotFocus ()
  280.     SearchIndex = 1
  281.     SearchString = NName.Text
  282.  
  283.     SelLine NName
  284. End Sub
  285.  
  286. Sub Ort_Change ()
  287.     If SearchIndex = 3 Then
  288.         SearchString = Ort.Text
  289.     End If
  290. End Sub
  291.  
  292. Sub Ort_GotFocus ()
  293.     SearchIndex = 3
  294.     SearchString = Ort.Text
  295.  
  296.     SelLine Ort
  297. End Sub
  298.  
  299. Sub Plz_Change ()
  300.     If SearchIndex = 2 Then
  301.         SearchString = Plz.Text
  302.     End If
  303. End Sub
  304.  
  305. Sub Plz_GotFocus ()
  306.     SearchIndex = 2
  307.     SearchString = Plz.Text
  308.  
  309.     SelLine Plz
  310. End Sub
  311.  
  312. Function ReadAndGetLeute (Record As LEUTE) As Integer
  313.     Dim Ret As Integer, Res As Integer
  314.     
  315.     Ret = db_read(Db, TBL_LEUTE, DbBuffer(0), DbCursor, 0, False)
  316.     
  317.     If Ret <> False Then
  318.         Record.address = DbBuffer(0)                        'set DbAddress
  319.         Res = db_getstr(Db, TBL_LEUTE, COL_LEUTE_VORNAME, DbBuffer(0), Record.Vorname)
  320.         Res = db_getstr(Db, TBL_LEUTE, COL_LEUTE_NAME, DbBuffer(0), Record.name)
  321.         Res = db_getstr(Db, TBL_LEUTE, COL_LEUTE_STRASSE, DbBuffer(0), Record.Stra▀e)
  322.         Res = db_getstr(Db, TBL_LEUTE, COL_LEUTE_PLZ, DbBuffer(0), Record.Plz)
  323.         Res = db_getstr(Db, TBL_LEUTE, COL_LEUTE_ORT, DbBuffer(0), Record.Ort)
  324.         Res = db_getstr(Db, TBL_LEUTE, COL_LEUTE_TELEFON, DbBuffer(0), Record.Telefon)
  325.         VName.Text = Record.Vorname
  326.         NName.Text = Record.name
  327.         Stra▀e.Text = Record.Stra▀e
  328.         Plz.Text = Record.Plz
  329.         Ort.Text = Record.Ort
  330.         Telefon.Text = Record.Telefon
  331.         TestFirstLast Db, DbCursor
  332.     End If
  333.  
  334.     Res = TestBase(Db)
  335.     
  336.     ReadAndGetLeute = Ret
  337. End Function
  338.  
  339. Function SetAndInsertLeute (Record As LEUTE, Status As Integer) As Integer
  340.     Dim Ret As Integer, Res As Integer
  341.     
  342.     Record.Vorname = VName.Text
  343.     Record.name = NName.Text
  344.     Record.Stra▀e = Stra▀e.Text
  345.     Record.Plz = Plz.Text
  346.     Record.Ort = Ort.Text
  347.     Record.Telefon = Telefon.Text
  348.         
  349.     Res = db_setstr(Db, TBL_LEUTE, COL_LEUTE_VORNAME, DbBuffer(0), Record.Vorname)
  350.     Res = db_setstr(Db, TBL_LEUTE, COL_LEUTE_NAME, DbBuffer(0), Record.name)
  351.     Res = db_setstr(Db, TBL_LEUTE, COL_LEUTE_STRASSE, DbBuffer(0), Record.Stra▀e)
  352.     Res = db_setstr(Db, TBL_LEUTE, COL_LEUTE_PLZ, DbBuffer(0), Record.Plz)
  353.     Res = db_setstr(Db, TBL_LEUTE, COL_LEUTE_ORT, DbBuffer(0), Record.Ort)
  354.     Res = db_setstr(Db, TBL_LEUTE, COL_LEUTE_TELEFON, DbBuffer(0), Record.Telefon)
  355.     
  356.     Ret = db_insert(Db, TBL_LEUTE, DbBuffer(0), Status)
  357.     Res = TestBase(Db)
  358.     Record.address = DbBuffer(0)                        'set DbAddress
  359.     
  360.     SetAndInsertLeute = Ret
  361. End Function
  362.  
  363. Function SetAndUpdateLeute (Record As LEUTE, Status As Integer) As Integer
  364.     Dim Ret As Integer, Res As Integer
  365.     
  366.     Record.Vorname = VName.Text
  367.     Record.name = NName.Text
  368.     Record.Stra▀e = Stra▀e.Text
  369.     Record.Plz = Plz.Text
  370.     Record.Ort = Ort.Text
  371.     Record.Telefon = Telefon.Text
  372.         
  373.     Res = db_setstr(Db, TBL_LEUTE, COL_LEUTE_VORNAME, DbBuffer(0), Record.Vorname)
  374.     Res = db_setstr(Db, TBL_LEUTE, COL_LEUTE_NAME, DbBuffer(0), Record.name)
  375.     Res = db_setstr(Db, TBL_LEUTE, COL_LEUTE_STRASSE, DbBuffer(0), Record.Stra▀e)
  376.     Res = db_setstr(Db, TBL_LEUTE, COL_LEUTE_PLZ, DbBuffer(0), Record.Plz)
  377.     Res = db_setstr(Db, TBL_LEUTE, COL_LEUTE_ORT, DbBuffer(0), Record.Ort)
  378.     Res = db_setstr(Db, TBL_LEUTE, COL_LEUTE_TELEFON, DbBuffer(0), Record.Telefon)
  379.     
  380.     If (Record.address <> 0) Then
  381.         Res = db_reclock(Db, Record.address)
  382.         Ret = db_update(Db, TBL_LEUTE, DbBuffer(0), Status)
  383.         Res = TestBase(Db)
  384.     End If
  385.     
  386.     SetAndUpdateLeute = Ret
  387. End Function
  388.  
  389. Sub Stra▀e_GotFocus ()
  390.     SelLine Stra▀e
  391. End Sub
  392.  
  393. Sub Telefon_GotFocus ()
  394.     SelLine Telefon
  395. End Sub
  396.  
  397. Sub TestFirstLast (Db As Long, DbCursor As Long)
  398.     Dim FirstLast As Integer
  399.                 
  400.     If (db_isfirst(Db, DbCursor) = 0) Then
  401.         FirstLast = True
  402.     Else
  403.         FirstLast = False
  404.     End If
  405.                 
  406.     ButFirst.Enabled = FirstLast
  407.     JUMP_FIRST.Enabled = FirstLast
  408.     ButPrev.Enabled = FirstLast
  409.     JUMP_PREV.Enabled = FirstLast
  410.                 
  411.     If (db_islast(Db, DbCursor) = 0) Then
  412.         FirstLast = True
  413.     Else
  414.         FirstLast = False
  415.     End If
  416.     
  417.     ButLast.Enabled = FirstLast
  418.     JUMP_LAST.Enabled = FirstLast
  419.     ButNext.Enabled = FirstLast
  420.     JUMP_NEXT.Enabled = FirstLast
  421. End Sub
  422.  
  423. Sub VName_GotFocus ()
  424.     SelLine VName
  425. End Sub
  426.  
  427.