home *** CD-ROM | disk | FTP | other *** search
/ Mastering Visual Basic 6 / mastvb6.iso / mastvb6.exe / Ch05 / KeyList / KeyList.frm (.txt) next >
Encoding:
Visual Basic Form  |  1998-07-03  |  14.6 KB  |  456 lines

  1. VERSION 5.00
  2. Begin VB.Form KeyList 
  3.    Caption         =   "Key List"
  4.    ClientHeight    =   3540
  5.    ClientLeft      =   2400
  6.    ClientTop       =   1650
  7.    ClientWidth     =   6450
  8.    LinkTopic       =   "Form1"
  9.    ScaleHeight     =   3540
  10.    ScaleWidth      =   6450
  11.    Begin VB.ListBox List1 
  12.       BeginProperty Font 
  13.          Name            =   "Verdana"
  14.          Size            =   9
  15.          Charset         =   0
  16.          Weight          =   400
  17.          Underline       =   0   'False
  18.          Italic          =   0   'False
  19.          Strikethrough   =   0   'False
  20.       EndProperty
  21.       Height          =   3000
  22.       Left            =   105
  23.       TabIndex        =   12
  24.       Top             =   405
  25.       Width           =   2355
  26.    End
  27.    Begin VB.CommandButton DeleteButton 
  28.       Caption         =   "Delete"
  29.       BeginProperty Font 
  30.          Name            =   "MS Sans Serif"
  31.          Size            =   9.75
  32.          Charset         =   0
  33.          Weight          =   400
  34.          Underline       =   0   'False
  35.          Italic          =   0   'False
  36.          Strikethrough   =   0   'False
  37.       EndProperty
  38.       Height          =   495
  39.       Left            =   2625
  40.       TabIndex        =   1
  41.       Top             =   2910
  42.       Width           =   1215
  43.    End
  44.    Begin VB.CommandButton AddButton 
  45.       Caption         =   "Add New"
  46.       BeginProperty Font 
  47.          Name            =   "MS Sans Serif"
  48.          Size            =   9.75
  49.          Charset         =   0
  50.          Weight          =   400
  51.          Underline       =   0   'False
  52.          Italic          =   0   'False
  53.          Strikethrough   =   0   'False
  54.       EndProperty
  55.       Height          =   495
  56.       Left            =   5055
  57.       TabIndex        =   0
  58.       Top             =   2910
  59.       Width           =   1215
  60.    End
  61.    Begin VB.CommandButton CancelButton 
  62.       Caption         =   "Cancel"
  63.       BeginProperty Font 
  64.          Name            =   "MS Sans Serif"
  65.          Size            =   9.75
  66.          Charset         =   0
  67.          Weight          =   400
  68.          Underline       =   0   'False
  69.          Italic          =   0   'False
  70.          Strikethrough   =   0   'False
  71.       EndProperty
  72.       Height          =   495
  73.       Left            =   2625
  74.       TabIndex        =   3
  75.       Top             =   2910
  76.       Width           =   1215
  77.    End
  78.    Begin VB.CommandButton OKButton 
  79.       Caption         =   "OK"
  80.       BeginProperty Font 
  81.          Name            =   "MS Sans Serif"
  82.          Size            =   9.75
  83.          Charset         =   0
  84.          Weight          =   400
  85.          Underline       =   0   'False
  86.          Italic          =   0   'False
  87.          Strikethrough   =   0   'False
  88.       EndProperty
  89.       Height          =   495
  90.       Left            =   5055
  91.       TabIndex        =   2
  92.       Top             =   2910
  93.       Width           =   1215
  94.    End
  95.    Begin VB.TextBox txtISBN 
  96.       BeginProperty Font 
  97.          Name            =   "MS Sans Serif"
  98.          Size            =   9.75
  99.          Charset         =   0
  100.          Weight          =   400
  101.          Underline       =   0   'False
  102.          Italic          =   0   'False
  103.          Strikethrough   =   0   'False
  104.       EndProperty
  105.       Height          =   360
  106.       Left            =   2595
  107.       TabIndex        =   4
  108.       Top             =   390
  109.       Width           =   1695
  110.    End
  111.    Begin VB.TextBox txtPublisher 
  112.       BeginProperty Font 
  113.          Name            =   "MS Sans Serif"
  114.          Size            =   9.75
  115.          Charset         =   0
  116.          Weight          =   400
  117.          Underline       =   0   'False
  118.          Italic          =   0   'False
  119.          Strikethrough   =   0   'False
  120.       EndProperty
  121.       Height          =   360
  122.       Left            =   4560
  123.       Locked          =   -1  'True
  124.       TabIndex        =   7
  125.       Top             =   390
  126.       Width           =   1755
  127.    End
  128.    Begin VB.TextBox txtAuthor 
  129.       BeginProperty Font 
  130.          Name            =   "MS Sans Serif"
  131.          Size            =   9.75
  132.          Charset         =   0
  133.          Weight          =   400
  134.          Underline       =   0   'False
  135.          Italic          =   0   'False
  136.          Strikethrough   =   0   'False
  137.       EndProperty
  138.       Height          =   360
  139.       Left            =   2610
  140.       Locked          =   -1  'True
  141.       TabIndex        =   6
  142.       Top             =   1155
  143.       Width           =   3705
  144.    End
  145.    Begin VB.TextBox txtTitle 
  146.       BeginProperty Font 
  147.          Name            =   "MS Sans Serif"
  148.          Size            =   9.75
  149.          Charset         =   0
  150.          Weight          =   400
  151.          Underline       =   0   'False
  152.          Italic          =   0   'False
  153.          Strikethrough   =   0   'False
  154.       EndProperty
  155.       Height          =   675
  156.       Left            =   2595
  157.       Locked          =   -1  'True
  158.       MultiLine       =   -1  'True
  159.       TabIndex        =   5
  160.       Top             =   1995
  161.       Width           =   3720
  162.    End
  163.    Begin VB.Label Label5 
  164.       Caption         =   "ISBN List"
  165.       BeginProperty Font 
  166.          Name            =   "MS Sans Serif"
  167.          Size            =   9.75
  168.          Charset         =   0
  169.          Weight          =   400
  170.          Underline       =   0   'False
  171.          Italic          =   0   'False
  172.          Strikethrough   =   0   'False
  173.       EndProperty
  174.       Height          =   225
  175.       Left            =   105
  176.       TabIndex        =   13
  177.       Top             =   135
  178.       Width           =   1005
  179.    End
  180.    Begin VB.Label Label4 
  181.       Caption         =   "Author"
  182.       BeginProperty Font 
  183.          Name            =   "MS Sans Serif"
  184.          Size            =   9.75
  185.          Charset         =   0
  186.          Weight          =   400
  187.          Underline       =   0   'False
  188.          Italic          =   0   'False
  189.          Strikethrough   =   0   'False
  190.       EndProperty
  191.       Height          =   225
  192.       Left            =   2610
  193.       TabIndex        =   11
  194.       Top             =   900
  195.       Width           =   1050
  196.    End
  197.    Begin VB.Label Label3 
  198.       Caption         =   "Published by"
  199.       BeginProperty Font 
  200.          Name            =   "MS Sans Serif"
  201.          Size            =   9.75
  202.          Charset         =   0
  203.          Weight          =   400
  204.          Underline       =   0   'False
  205.          Italic          =   0   'False
  206.          Strikethrough   =   0   'False
  207.       EndProperty
  208.       Height          =   270
  209.       Left            =   4545
  210.       TabIndex        =   10
  211.       Top             =   120
  212.       Width           =   1380
  213.    End
  214.    Begin VB.Label Label2 
  215.       Caption         =   "Title"
  216.       BeginProperty Font 
  217.          Name            =   "MS Sans Serif"
  218.          Size            =   9.75
  219.          Charset         =   0
  220.          Weight          =   400
  221.          Underline       =   0   'False
  222.          Italic          =   0   'False
  223.          Strikethrough   =   0   'False
  224.       EndProperty
  225.       Height          =   210
  226.       Left            =   2595
  227.       TabIndex        =   9
  228.       Top             =   1725
  229.       Width           =   1455
  230.    End
  231.    Begin VB.Label Label1 
  232.       Caption         =   "ISBN"
  233.       BeginProperty Font 
  234.          Name            =   "MS Sans Serif"
  235.          Size            =   9.75
  236.          Charset         =   0
  237.          Weight          =   400
  238.          Underline       =   0   'False
  239.          Italic          =   0   'False
  240.          Strikethrough   =   0   'False
  241.       EndProperty
  242.       Height          =   225
  243.       Left            =   2595
  244.       TabIndex        =   8
  245.       Top             =   120
  246.       Width           =   840
  247.    End
  248. Attribute VB_Name = "KeyList"
  249. Attribute VB_GlobalNameSpace = False
  250. Attribute VB_Creatable = False
  251. Attribute VB_PredeclaredId = True
  252. Attribute VB_Exposed = False
  253. Dim DataArray(999, 3) As String
  254. Dim ArrayIndex As Integer
  255. Function Search(KeyField) As Integer
  256.     List1.Text = KeyField
  257.     Search = List1.ListIndex
  258. End Function
  259. Sub ClearFields()
  260.     txtISBN.Text = ""
  261.     txtPublisher.Text = ""
  262.     txtPublisher.Locked = False
  263.     txtAuthor.Text = ""
  264.     txtAuthor.Locked = False
  265.     txtTitle.Text = ""
  266.     txtTitle.Locked = False
  267.     DeleteButton.Visible = False
  268.     AddButton.Visible = False
  269.     OKButton.Visible = True
  270.     CancelButton.Visible = True
  271. End Sub
  272. Sub ShowButtons()
  273.     OKButton.Visible = False
  274.     CancelButton.Visible = False
  275.     AddButton.Visible = True
  276.     DeleteButton.Visible = True
  277.     txtPublisher.Locked = True
  278.     txtAuthor.Locked = True
  279.     txtTitle.Locked = True
  280. End Sub
  281. Private Sub AddButton_Click()
  282.     ClearFields
  283. End Sub
  284. Private Sub CancelButton_Click()
  285.     ShowButtons
  286. End Sub
  287. Private Sub DeleteButton_Click()
  288.     If List1.ListIndex < 0 Then
  289.         MsgBox "No item selected in the list"
  290.     Else
  291.         List1.RemoveItem List1.ListIndex
  292.     End If
  293. End Sub
  294. Private Sub Form_Load()
  295. ' Add a few books initially
  296. ' 1ST BOOK
  297.     DataArray(0, 0) = "0-7821109-8-3"
  298.     List1.AddItem DataArray(0, 0)
  299.     DataArray(0, 1) = "SYBEX"
  300.     DataArray(0, 2) = "Bobchin, Craig"
  301.     DataArray(0, 3) = "Developing Foxpro 2 Applications"
  302.     List1.ItemData(List1.NewIndex) = 0
  303. ' 2ND BOOK
  304.     DataArray(1, 0) = "0-8958865-5-3"
  305.     List1.AddItem DataArray(1, 0)
  306.     DataArray(1, 1) = "SYBEX"
  307.     DataArray(1, 2) = "Radcliffe, Robert A."
  308.     DataArray(1, 3) = "Encyclopedia C"
  309.     List1.ItemData(List1.NewIndex) = 1
  310. ' 3RD BOOK
  311.     DataArray(2, 0) = "0-8958887-1-8"
  312.     List1.AddItem DataArray(2, 0)
  313.     DataArray(2, 1) = "SYBEX"
  314.     DataArray(2, 2) = "Jones, Gerald E."
  315.     DataArray(2, 3) = "Harvard Graphics 3 Instant Reference"
  316.     List1.ItemData(List1.NewIndex) = 2
  317. ' 4TH BOOK
  318.     DataArray(3, 0) = "0-7821147-6-8"
  319.     List1.AddItem DataArray(3, 0)
  320.     DataArray(3, 1) = "SYBEX"
  321.     DataArray(3, 2) = "Pike, Mary Ann"
  322.     DataArray(3, 3) = "Mastering Autocad 13 for Windows/Book and Cd"
  323.     List1.ItemData(List1.NewIndex) = 3
  324. ' 5TH BOOK
  325.     DataArray(4, 0) = "0-8958830-1-5"
  326.     List1.AddItem DataArray(4, 0)
  327.     DataArray(4, 1) = "SYBEX"
  328.     DataArray(4, 2) = "Townsend, Carl"
  329.     DataArray(4, 3) = "Mastering dBASE III : A Structured Approach"
  330.     List1.ItemData(List1.NewIndex) = 4
  331. ' 6TH BOOK
  332.     DataArray(5, 0) = "0-7821173-9-2"
  333.     List1.AddItem DataArray(5, 0)
  334.     DataArray(5, 1) = "SYBEX"
  335.     DataArray(5, 2) = "Cantu, Marco"
  336.     DataArray(5, 3) = "Mastering Delphi/Book and Cd-Rom"
  337.     List1.ItemData(List1.NewIndex) = 5
  338. ' 7TH BOOK
  339.     DataArray(6, 0) = "0-7821130-2-8"
  340.     List1.AddItem DataArray(6, 0)
  341.     DataArray(6, 1) = "SYBEX"
  342.     DataArray(6, 2) = "Getz, Ken"
  343.     DataArray(6, 3) = "Mastering Lotus Notes"
  344.     List1.ItemData(List1.NewIndex) = 6
  345. ' 8TH BOOK
  346.     DataArray(7, 0) = "0-7821176-4-3"
  347.     List1.AddItem DataArray(7, 0)
  348.     DataArray(7, 1) = "SYBEX"
  349.     DataArray(7, 2) = "Getz, Ken"
  350.     DataArray(7, 3) = "Mastering Microsoft Access for Windows 95/Book and Cd-Rom"
  351.     List1.ItemData(List1.NewIndex) = 7
  352. ' 9TH BOOK
  353.     DataArray(8, 0) = "0-7821146-7-9"
  354.     List1.AddItem DataArray(8, 0)
  355.     DataArray(8, 1) = "SYBEX"
  356.     DataArray(8, 2) = "Saraswat, Vijay"
  357.     DataArray(8, 3) = "Mastering Ole 2/Book and Disk"
  358.     List1.ItemData(List1.NewIndex) = 8
  359. ' 10TH BOOK
  360.     DataArray(9, 0) = "0-4718013-8-0"
  361.     List1.AddItem DataArray(9, 0)
  362.     DataArray(9, 1) = "JOHN WILEY & SONS"
  363.     DataArray(9, 2) = "Leben, Joe"
  364.     DataArray(9, 3) = "MVS JCL for Sequential Data Management : JCL Book 2 (Data Processing Training Series)"
  365.     List1.ItemData(List1.NewIndex) = 9
  366. ' 11TH BOOK
  367.     DataArray(10, 0) = "0-8306252-9-1"
  368.     List1.AddItem DataArray(10, 0)
  369.     DataArray(10, 1) = "Windcrest Books (Imprint of TAB Bks.)"
  370.     DataArray(10, 2) = "Van Der Lans, Rick F."
  371.     DataArray(10, 3) = "Oracle Sql Developer's Guide"
  372.     List1.ItemData(List1.NewIndex) = 10
  373. ' 12TH BOOK
  374.     DataArray(11, 0) = "1-5585138-7-6"
  375.     List1.AddItem DataArray(11, 0)
  376.     DataArray(11, 1) = "M & T BOOKS"
  377.     DataArray(11, 2) = "Dutton, Ellen"
  378.     DataArray(11, 3) = "Lan Security Handbook/Book and Disk"
  379.     List1.ItemData(List1.NewIndex) = 11
  380. ' 13TH BOOK
  381.     DataArray(12, 0) = "0-7923279-8-5"
  382.     List1.AddItem DataArray(12, 0)
  383.     DataArray(12, 1) = "KLUWER ACADEMIC PUB"
  384.     DataArray(12, 2) = "Hager, W.W."
  385.     DataArray(12, 3) = "Large Scale Optimization : State of the Art"
  386.     List1.ItemData(List1.NewIndex) = 12
  387. ' 14TH BOOK
  388.     DataArray(13, 0) = "0-1391743-6-2"
  389.     List1.AddItem DataArray(13, 0)
  390.     DataArray(13, 1) = "KLUWER ACADEMIC PUB"
  391.     DataArray(13, 2) = "Meyer, Bertrand"
  392.     DataArray(13, 3) = "Technology of Object-Oriented Languages and Systems Tools 7 (Tools Conference Series"
  393.     List1.ItemData(List1.NewIndex) = 13
  394. ' 15TH BOOK
  395.     DataArray(14, 0) = "1-8744167-4-5"
  396.     List1.AddItem DataArray(14, 0)
  397.     DataArray(14, 1) = "WROX PR INC"
  398.     DataArray(14, 2) = "Jewell, Dave"
  399.     DataArray(14, 3) = "The Beginner's Guide to Delphi/Book and Disk"
  400.     List1.ItemData(List1.NewIndex) = 14
  401. End Sub
  402. Private Sub List1_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single)
  403.     ShowRecord
  404. End Sub
  405. Private Sub OKButton_Click()
  406.     Key = Trim(txtISBN.Text)
  407.     If Key = "" Then
  408.         MsgBox "Key field must be non-mepty"
  409.         Exit Sub
  410.     End If
  411.     position = Search(Trim(txtISBN.Text))
  412.     If position > -1 Then
  413.          reply = MsgBox("Key exists. Replace existing record?", vbYesNo)
  414.         If reply = vbYes Then
  415.             List1.RemoveItem position
  416.         Else
  417.             txtISBN.SetFocus
  418.             Exit Sub
  419.         End If
  420.     End If
  421.     ArrayIndex = ArrayIndex + 1
  422.     List1.AddItem Key
  423.     List1.ItemData(List1.NewIndex) = ArrayIndex
  424.     DataArray(ArrayIndex, 1) = txtPublisher.Text
  425.     DataArray(ArrayIndex, 2) = txtAuthor.Text
  426.     DataArray(ArrayIndex, 3) = txtTitle.Text
  427.     List1.ListIndex = List1.NewIndex
  428.     ShowRecord
  429.     ShowButtons
  430. End Sub
  431. Private Sub txtISBN_Change()
  432.     position = Search(Trim$(txtISBN.Text))
  433.     If position > -1 Then
  434.         List1.ListIndex = position
  435.         ShowRecord
  436.     Else
  437.         txtPublisher.Text = ""
  438.         txtAuthor.Text = ""
  439.         txtTitle.Text = ""
  440.     End If
  441. End Sub
  442. Sub ShowRecord()
  443.     If List1.ListIndex < 0 Then
  444.         txtISBN.Text = ""
  445.         txtPublisher.Text = ""
  446.         txtAuthor.Text = ""
  447.         txtTitle.Text = ""
  448.         Exit Sub
  449.     End If
  450.     ItemIndex = List1.ItemData(List1.ListIndex)
  451.     txtISBN.Text = List1.List(List1.ListIndex)
  452.     txtPublisher.Text = DataArray(ItemIndex, 1)
  453.     txtAuthor.Text = DataArray(ItemIndex, 2)
  454.     txtTitle.Text = DataArray(ItemIndex, 3)
  455. End Sub
  456.