home *** CD-ROM | disk | FTP | other *** search
/ Planet Source Code Jumbo …e CD Visual Basic 1 to 7 / 4_2005-2006.ISO / data / Zips / Listbox_Re198443412006.psc / frmMain.frm < prev    next >
Text File  |  2006-04-01  |  15KB  |  508 lines

  1. VERSION 5.00
  2. Object = "{F9043C88-F6F2-101A-A3C9-08002B2F49FB}#1.2#0"; "comdlg32.ocx"
  3. Begin VB.Form frmMain 
  4.    BorderStyle     =   3  'Fixed Dialog
  5.    Caption         =   "ListClass Test"
  6.    ClientHeight    =   8430
  7.    ClientLeft      =   45
  8.    ClientTop       =   435
  9.    ClientWidth     =   10830
  10.    LinkTopic       =   "Form1"
  11.    MaxButton       =   0   'False
  12.    MinButton       =   0   'False
  13.    ScaleHeight     =   8430
  14.    ScaleWidth      =   10830
  15.    ShowInTaskbar   =   0   'False
  16.    StartUpPosition =   1  'CenterOwner
  17.    Begin MSComDlg.CommonDialog COM 
  18.       Left            =   4920
  19.       Top             =   0
  20.       _ExtentX        =   847
  21.       _ExtentY        =   847
  22.       _Version        =   393216
  23.    End
  24.    Begin VB.ListBox lstList 
  25.       Height          =   7815
  26.       IntegralHeight  =   0   'False
  27.       Left            =   7200
  28.       TabIndex        =   6
  29.       Top             =   360
  30.       Width           =   3615
  31.    End
  32.    Begin VB.TextBox txtList 
  33.       Height          =   7815
  34.       Left            =   3600
  35.       Locked          =   -1  'True
  36.       MultiLine       =   -1  'True
  37.       ScrollBars      =   3  'Both
  38.       TabIndex        =   5
  39.       Top             =   360
  40.       Width           =   3615
  41.    End
  42.    Begin VB.Frame Frame1 
  43.       Caption         =   "Test the class"
  44.       Height          =   8175
  45.       Left            =   0
  46.       TabIndex        =   0
  47.       Top             =   0
  48.       Width           =   3615
  49.       Begin VB.CommandButton cmdDecode 
  50.          Caption         =   "Decode"
  51.          Height          =   255
  52.          Left            =   2760
  53.          TabIndex        =   30
  54.          Top             =   720
  55.          Width           =   735
  56.       End
  57.       Begin VB.CommandButton cmdEncode 
  58.          Caption         =   "Encode"
  59.          Height          =   255
  60.          Left            =   1920
  61.          TabIndex        =   29
  62.          Top             =   720
  63.          Width           =   735
  64.       End
  65.       Begin VB.CommandButton cmdImport 
  66.          Caption         =   "Import"
  67.          Height          =   255
  68.          Left            =   2760
  69.          TabIndex        =   28
  70.          Top             =   240
  71.          Width           =   735
  72.       End
  73.       Begin VB.CommandButton cmdExport 
  74.          Caption         =   "Export"
  75.          Height          =   255
  76.          Left            =   1920
  77.          TabIndex        =   27
  78.          Top             =   240
  79.          Width           =   735
  80.       End
  81.       Begin VB.CheckBox chkMatchCase 
  82.          Caption         =   "Case match"
  83.          Height          =   255
  84.          Left            =   120
  85.          TabIndex        =   26
  86.          Top             =   6480
  87.          Width           =   1215
  88.       End
  89.       Begin VB.CheckBox chkMatchExact 
  90.          Caption         =   "Exact match"
  91.          Height          =   255
  92.          Left            =   120
  93.          TabIndex        =   25
  94.          Top             =   6240
  95.          Width           =   1215
  96.       End
  97.       Begin VB.CommandButton cmdSearch 
  98.          Caption         =   "Search"
  99.          Height          =   255
  100.          Left            =   120
  101.          TabIndex        =   24
  102.          Top             =   6840
  103.          Width           =   735
  104.       End
  105.       Begin VB.TextBox txtSearch 
  106.          Height          =   285
  107.          Left            =   120
  108.          TabIndex        =   23
  109.          Text            =   "Test"
  110.          Top             =   5880
  111.          Width           =   1575
  112.       End
  113.       Begin VB.CommandButton cmdCredits 
  114.          Caption         =   "About the sorting algorithm (please click here!!)"
  115.          Height          =   735
  116.          Left            =   120
  117.          TabIndex        =   21
  118.          Top             =   7320
  119.          Width           =   1575
  120.       End
  121.       Begin VB.CommandButton cmdGet 
  122.          Caption         =   "Get"
  123.          Height          =   255
  124.          Left            =   120
  125.          TabIndex        =   20
  126.          Top             =   5160
  127.          Width           =   735
  128.       End
  129.       Begin VB.TextBox txtGet 
  130.          Height          =   285
  131.          Left            =   120
  132.          TabIndex        =   19
  133.          Text            =   "0"
  134.          Top             =   4800
  135.          Width           =   1575
  136.       End
  137.       Begin VB.CommandButton cmdSort 
  138.          Caption         =   "Sort"
  139.          Height          =   255
  140.          Left            =   120
  141.          TabIndex        =   17
  142.          Top             =   4080
  143.          Width           =   735
  144.       End
  145.       Begin VB.CheckBox chkCaps 
  146.          Caption         =   "Caps first"
  147.          Height          =   255
  148.          Left            =   120
  149.          TabIndex        =   16
  150.          Top             =   3720
  151.          Width           =   1575
  152.       End
  153.       Begin VB.CheckBox chkRev 
  154.          Caption         =   "Reverse alphabet"
  155.          Height          =   255
  156.          Left            =   120
  157.          TabIndex        =   15
  158.          Top             =   3480
  159.          Width           =   1575
  160.       End
  161.       Begin VB.CommandButton cmdClear 
  162.          Caption         =   "Clear"
  163.          Height          =   255
  164.          Left            =   120
  165.          TabIndex        =   14
  166.          Top             =   3000
  167.          Width           =   735
  168.       End
  169.       Begin VB.CommandButton cmdDel 
  170.          Caption         =   "Delete"
  171.          Height          =   255
  172.          Left            =   120
  173.          TabIndex        =   13
  174.          Top             =   2520
  175.          Width           =   735
  176.       End
  177.       Begin VB.TextBox txtDel 
  178.          Height          =   285
  179.          Left            =   120
  180.          TabIndex        =   12
  181.          Text            =   "0"
  182.          Top             =   2160
  183.          Width           =   1575
  184.       End
  185.       Begin VB.TextBox txtAddIndex 
  186.          Height          =   285
  187.          Left            =   120
  188.          TabIndex        =   9
  189.          Text            =   "-1"
  190.          Top             =   1080
  191.          Width           =   1575
  192.       End
  193.       Begin VB.CommandButton cmdAdd 
  194.          Caption         =   "Add"
  195.          Height          =   255
  196.          Left            =   120
  197.          TabIndex        =   3
  198.          Top             =   1440
  199.          Width           =   735
  200.       End
  201.       Begin VB.TextBox txtAddText 
  202.          Height          =   285
  203.          Left            =   120
  204.          TabIndex        =   2
  205.          Top             =   480
  206.          Width           =   1575
  207.       End
  208.       Begin VB.Line Line8 
  209.          X1              =   1920
  210.          X2              =   3480
  211.          Y1              =   600
  212.          Y2              =   600
  213.       End
  214.       Begin VB.Line Line7 
  215.          X1              =   1800
  216.          X2              =   1800
  217.          Y1              =   120
  218.          Y2              =   8160
  219.       End
  220.       Begin VB.Label Label7 
  221.          AutoSize        =   -1  'True
  222.          Caption         =   "Expression:"
  223.          Height          =   195
  224.          Left            =   120
  225.          TabIndex        =   22
  226.          Top             =   5640
  227.          Width           =   810
  228.       End
  229.       Begin VB.Line Line6 
  230.          X1              =   120
  231.          X2              =   1680
  232.          Y1              =   7200
  233.          Y2              =   7200
  234.       End
  235.       Begin VB.Line Line5 
  236.          X1              =   120
  237.          X2              =   1680
  238.          Y1              =   5520
  239.          Y2              =   5520
  240.       End
  241.       Begin VB.Label Label6 
  242.          AutoSize        =   -1  'True
  243.          Caption         =   "Index:"
  244.          Height          =   195
  245.          Left            =   120
  246.          TabIndex        =   18
  247.          Top             =   4560
  248.          Width           =   435
  249.       End
  250.       Begin VB.Line Line4 
  251.          X1              =   120
  252.          X2              =   1680
  253.          Y1              =   4440
  254.          Y2              =   4440
  255.       End
  256.       Begin VB.Line Line3 
  257.          X1              =   120
  258.          X2              =   1680
  259.          Y1              =   3360
  260.          Y2              =   3360
  261.       End
  262.       Begin VB.Line Line2 
  263.          X1              =   120
  264.          X2              =   1680
  265.          Y1              =   2880
  266.          Y2              =   2880
  267.       End
  268.       Begin VB.Label Label5 
  269.          AutoSize        =   -1  'True
  270.          Caption         =   "Index:"
  271.          Height          =   195
  272.          Left            =   120
  273.          TabIndex        =   11
  274.          Top             =   1920
  275.          Width           =   435
  276.       End
  277.       Begin VB.Line Line1 
  278.          X1              =   120
  279.          X2              =   1680
  280.          Y1              =   1800
  281.          Y2              =   1800
  282.       End
  283.       Begin VB.Label Label4 
  284.          AutoSize        =   -1  'True
  285.          Caption         =   "Index:"
  286.          Height          =   195
  287.          Left            =   120
  288.          TabIndex        =   8
  289.          Top             =   840
  290.          Width           =   435
  291.       End
  292.       Begin VB.Label Label1 
  293.          AutoSize        =   -1  'True
  294.          Caption         =   "Text:"
  295.          Height          =   195
  296.          Left            =   120
  297.          TabIndex        =   1
  298.          Top             =   240
  299.          Width           =   360
  300.       End
  301.    End
  302.    Begin VB.Label lblMsg 
  303.       BorderStyle     =   1  'Fixed Single
  304.       Caption         =   "Events are shown here :D"
  305.       Height          =   255
  306.       Left            =   0
  307.       TabIndex        =   10
  308.       Top             =   8160
  309.       Width           =   10815
  310.    End
  311.    Begin VB.Label Label3 
  312.       AutoSize        =   -1  'True
  313.       Caption         =   "In a listbox:"
  314.       Height          =   195
  315.       Left            =   7200
  316.       TabIndex        =   7
  317.       Top             =   120
  318.       Width           =   795
  319.    End
  320.    Begin VB.Label Label2 
  321.       AutoSize        =   -1  'True
  322.       Caption         =   "In a textbox:"
  323.       Height          =   195
  324.       Left            =   3600
  325.       TabIndex        =   4
  326.       Top             =   120
  327.       Width           =   870
  328.    End
  329. End
  330. Attribute VB_Name = "frmMain"
  331. Attribute VB_GlobalNameSpace = False
  332. Attribute VB_Creatable = False
  333. Attribute VB_PredeclaredId = True
  334. Attribute VB_Exposed = False
  335. Option Explicit
  336.  
  337. 'Private APIs
  338. Private Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)
  339.  
  340. 'Private event references
  341. Private WithEvents vList As cListClass
  342. Attribute vList.VB_VarHelpID = -1
  343.  
  344. '\/List events
  345. Private Sub vList_ItemAdd(Index As Long)
  346. 'An item has been added
  347. 'Index represents the index of the new item
  348. lblMsg.Caption = "New item index: " & Index
  349. End Sub
  350.  
  351. Private Sub vList_ItemRemove(Index As Long)
  352. 'An item has removed
  353. 'Index represents the index of the removed item
  354. lblMsg.Caption = "Removed item index: " & Index
  355. End Sub
  356.  
  357. Private Sub vList_Clear()
  358. 'The list has been cleared
  359. lblMsg.Caption = "The list has been cleared"
  360. End Sub
  361.  
  362. Private Sub vList_Sort(SortTime As Double, Success As Boolean)
  363. 'The list has been sorted
  364. 'SortTime represents the time it took to sort the list (in seconds)
  365. 'Success represents the success of the sorting. False if error
  366. lblMsg.Caption = "List sorted in " & SortTime & " seconds. Success = " & Success
  367. End Sub
  368.  
  369. Private Sub vList_ListCreated(Ctl As Control)
  370. 'The list has been transported to a control
  371. 'Ctl represents the control the list has been transported to
  372. 'lblMsg.Caption = "List created in " & Ctl.Name
  373. End Sub
  374.  
  375. Private Sub vList_Error(Number As Byte, Description As String)
  376. 'An error occurred in the class
  377. 'Number represents the identification number of the error
  378. 'Description represents the default description of the error
  379. lblMsg.Caption = "Error " & Number & ": " & Description
  380. End Sub
  381.  
  382. Private Sub vList_SearchFinish(Result As Long)
  383. 'The search finished
  384. 'Result represents the result (index) of the search
  385. End Sub
  386.  
  387. Private Sub vList_ExportDone(Filename As String, BytesWritten As Long)
  388. 'The list has been exported to a file
  389. 'Filename represents the name of the destination file
  390. 'BytesWritten is the size of the file in bytes
  391. End Sub
  392.  
  393. Private Sub vList_ImportDone(Filename As String, BytesRead As Long)
  394. 'The list has been imported from a file
  395. 'Filename represents the name of the source file
  396. 'BytesRead is the size of the file in bytes
  397. End Sub
  398.  
  399. Private Sub vList_EncodeDone()
  400. 'The list has been encoded
  401. End Sub
  402.  
  403. Private Sub vList_DecodeDone()
  404. 'The list has been decoded
  405. End Sub
  406. '/\List events
  407.  
  408. 'Update all controls
  409. Private Sub Update()
  410. vList.PutInControl txtList, True
  411. vList.PutInControl lstList, True
  412. Me.Caption = vList.ListCount
  413. End Sub
  414.  
  415. '\/Button events
  416. Private Sub cmdAdd_Click()
  417. vList.AddItem txtAddText.Text, txtAddIndex.Text
  418. Update
  419. End Sub
  420.  
  421. Private Sub cmdClear_Click()
  422. vList.Clear
  423. Update
  424. End Sub
  425.  
  426. Private Sub cmdDel_Click()
  427. vList.RemoveItem txtDel.Text
  428. Update
  429. End Sub
  430.  
  431. Private Sub cmdSort_Click()
  432. vList.Sort chkCaps.Value, chkRev.Value
  433. Update
  434. End Sub
  435.  
  436. Private Sub cmdGet_Click()
  437. MsgBox vList.Text(txtGet.Text)
  438. End Sub
  439.  
  440. Private Sub cmdCredits_Click()
  441. MsgBox "Please take a moment to vote for Rde at" & vbCrLf & "http://www.pscode.com/vb/scripts/ShowCode.asp?txtCodeId=64095&lngWId=1" & vbCrLf & vbCrLf & "He wrote the sorting code :D (thank you Rde, if you read this)" & vbCrLf & "The link is also in the class."
  442. End Sub
  443.  
  444. Private Sub cmdSearch_Click()
  445. lstList.ListIndex = vList.SearchItem(txtSearch.Text, chkMatchExact.Value, chkMatchCase.Value)
  446. End Sub
  447.  
  448. Private Sub cmdExport_Click()
  449. On Error GoTo FndErr
  450.  
  451. With COM
  452.     .CancelError = True
  453.     .DialogTitle = "Export list"
  454.     .Filename = ""
  455.     .Filter = "Text files (*.txt)|*.txt|All files (*.*)|*.*"
  456.     .Flags = &H2 'Warn before overwrite
  457.     .ShowSave
  458. End With
  459. If Trim(COM.Filename) = "" Then Exit Sub 'No filename returned
  460.  
  461. vList.Export COM.Filename
  462.  
  463. FndErr: 'An error occurred
  464. End Sub
  465.  
  466. Private Sub cmdImport_Click()
  467. On Error GoTo FndErr
  468.  
  469. With COM
  470.     .CancelError = True
  471.     .DialogTitle = "Import list"
  472.     .Filename = ""
  473.     .Filter = "Text files (*.txt)|*.txt|All files (*.*)|*.*"
  474.     .Flags = &H1000 'File MUST exist
  475.     .ShowOpen
  476. End With
  477. If Trim(COM.Filename) = "" Then Exit Sub 'No filename returned
  478.  
  479. vList.Import COM.Filename
  480. Update
  481.  
  482. FndErr: 'An error occurred
  483. End Sub
  484.  
  485. Private Sub cmdEncode_Click()
  486. vList.Encode
  487. Update
  488. End Sub
  489.  
  490. Private Sub cmdDecode_Click()
  491. vList.Decode
  492. Update
  493. End Sub
  494. '/\Button events
  495.  
  496. '\/Form events
  497. Private Sub Form_Load()
  498. Set vList = New cListClass
  499. End Sub
  500.  
  501. Private Sub Form_Unload(Cancel As Integer)
  502. lblMsg.Caption = "If you found any errors, please report them :D"
  503. Me.Caption = "Please read the message label, this form will close automaticly in 5 seconds"
  504. DoEvents
  505. Sleep 5000
  506. End Sub
  507. '/\Form events
  508.