home *** CD-ROM | disk | FTP | other *** search
/ Visual Basic Source Code / Visual Basic Source Code.iso / vbsource / search / search.frm (.txt) < prev    next >
Encoding:
Visual Basic Form  |  1995-05-08  |  14.9 KB  |  504 lines

  1. VERSION 2.00
  2. Begin Form Form1 
  3.    BackColor       =   &H00C0C0C0&
  4.    Caption         =   "Search a List Box"
  5.    ClientHeight    =   3780
  6.    ClientLeft      =   1095
  7.    ClientTop       =   1485
  8.    ClientWidth     =   3750
  9.    Height          =   4185
  10.    Left            =   1035
  11.    LinkMode        =   1  'Source
  12.    LinkTopic       =   "Form1"
  13.    MaxButton       =   0   'False
  14.    ScaleHeight     =   3780
  15.    ScaleWidth      =   3750
  16.    Top             =   1140
  17.    Width           =   3870
  18.    Begin CommandButton btnExit 
  19.       Cancel          =   -1  'True
  20.       Caption         =   "E&xit"
  21.       Height          =   495
  22.       Left            =   2160
  23.       TabIndex        =   4
  24.       Top             =   3120
  25.       Width           =   1215
  26.    End
  27.    Begin CommandButton btnOK 
  28.       Caption         =   "&Ok"
  29.       Default         =   -1  'True
  30.       Height          =   495
  31.       Left            =   360
  32.       TabIndex        =   3
  33.       Top             =   3120
  34.       Width           =   1215
  35.    End
  36.    Begin ListBox List1 
  37.       Height          =   1980
  38.       Left            =   120
  39.       Sorted          =   -1  'True
  40.       TabIndex        =   2
  41.       Tag             =   "List1"
  42.       Top             =   960
  43.       Width           =   3495
  44.    End
  45.    Begin TextBox Text1 
  46.       Height          =   375
  47.       Left            =   120
  48.       TabIndex        =   1
  49.       Tag             =   "Text1"
  50.       Top             =   480
  51.       Width           =   3495
  52.    End
  53.    Begin Label Label1 
  54.       Alignment       =   2  'Center
  55.       Caption         =   "&Search for cities on my phone bill:"
  56.       Height          =   255
  57.       Left            =   120
  58.       TabIndex        =   0
  59.       Top             =   120
  60.       Width           =   3495
  61.    End
  62. Sub btnExit_Click ()
  63.     End
  64. End Sub
  65. Sub btnOK_Click ()
  66.     MsgBox "You selected " + List1.Text
  67. End Sub
  68. Sub Form_Load ()
  69.     List1.AddItem "a"
  70.     List1.AddItem "ab"
  71.     List1.AddItem "abc"
  72.     List1.AddItem "abcd"
  73.     List1.AddItem "abcde"
  74.     List1.AddItem "abcdef"
  75.     List1.AddItem "abcdefg"
  76.     List1.AddItem "abcdefg"
  77.     List1.AddItem "abcdefgh"
  78.     List1.AddItem "abcdefghi"
  79.     List1.AddItem "abcdefghij"
  80.     List1.AddItem "abcdefghijk"
  81.     List1.AddItem "abcdefghijk"
  82.     List1.AddItem "abcdefghijkl"
  83.     List1.AddItem "Sunnyvale"
  84.     List1.AddItem "San Jose"
  85.     List1.AddItem "Santa Cruz"
  86.     List1.AddItem "Scotts Valley"
  87.     List1.AddItem "Chicago"
  88.     List1.AddItem "Lowell"
  89.     List1.AddItem "Roswell"
  90.     List1.AddItem "Cambridge"
  91.     List1.AddItem "Muskegon"
  92.     List1.AddItem "Agoura"
  93.     List1.AddItem "Englewood"
  94.     List1.AddItem "Bellevue"
  95.     List1.AddItem "Anaheim"
  96.     List1.AddItem "Newkirk"
  97.     List1.AddItem "Edmond"
  98.     List1.AddItem "Oklahoma City"
  99.     List1.AddItem "Crescent"
  100.     List1.AddItem "Guthrie"
  101.     List1.AddItem "Perry"
  102.     List1.AddItem "Midwest City"
  103.     List1.AddItem "Kremlin"
  104.     List1.AddItem "Wakita"
  105.     List1.AddItem "Medford"
  106.     List1.AddItem "Enid"
  107.     List1.AddItem "Waukomis"
  108.     List1.AddItem "Kildare"
  109.     List1.AddItem "Yukon"
  110.     List1.AddItem "Moore"
  111.     List1.AddItem "Wichita"
  112.     List1.AddItem "Topeka"
  113.     List1.AddItem "Kansas City"
  114.     List1.AddItem "Coffeyville"
  115.     List1.AddItem "Hutchison"
  116.     List1.AddItem "Arkansas City"
  117.     List1.AddItem "Winfield"
  118.     List1.AddItem "Lions"
  119.     List1.AddItem "Tonkawa"
  120.     List1.AddItem "Blackwell"
  121.     List1.AddItem "Ponca City"
  122.     List1.AddItem "Kaw City"
  123.     List1.AddItem "Dallas"
  124.     List1.AddItem "Fort Worth"
  125.     List1.AddItem "Houston"
  126.     List1.AddItem "Miami"
  127.     List1.AddItem "Fort Lauderdale"
  128.     List1.AddItem "Denver"
  129.     List1.AddItem "Colorado Springs"
  130.     List1.AddItem "Washington D.C."
  131.     List1.AddItem "Bismark"
  132.     List1.AddItem "Lincoln"
  133.     List1.AddItem "Las Vegas"
  134.     List1.AddItem "Eureka Springs"
  135.     List1.AddItem "Branson"
  136.     List1.AddItem "Boise"
  137.     List1.AddItem "Redmond"
  138.     List1.AddItem "Reno"
  139.     List1.AddItem "Jacksonville"
  140.     List1.AddItem "New Orleans"
  141.     List1.AddItem "Atlanta"
  142.     List1.AddItem "New York"
  143.     List1.AddItem "Sacremento"
  144.     List1.AddItem "Boston"
  145.     List1.AddItem "Detroit"
  146.     List1.AddItem "Pitsburg"
  147.     List1.AddItem "Albany"
  148.     List1.AddItem "Nashville"
  149.     List1.AddItem "Amarillo"
  150.     List1.AddItem "Woodward"
  151.     List1.AddItem "Tulsa"
  152.     List1.AddItem "Bartlesville"
  153.     List1.AddItem "Columbus"
  154.     List1.AddItem "Yukon"
  155.     List1.AddItem "Ardmore"
  156.     List1.AddItem "Altus"
  157.     List1.AddItem "Sunnyvale"
  158.     List1.AddItem "San Jose"
  159.     List1.AddItem "Santa Cruz"
  160.     List1.AddItem "Scotts Valley"
  161.     List1.AddItem "Chicago"
  162.     List1.AddItem "Lowell"
  163.     List1.AddItem "Roswell"
  164.     List1.AddItem "Cambridge"
  165.     List1.AddItem "Muskegon"
  166.     List1.AddItem "Agoura"
  167.     List1.AddItem "Englewood"
  168.     List1.AddItem "Bellevue"
  169.     List1.AddItem "Anaheim"
  170.     List1.AddItem "Newkirk"
  171.     List1.AddItem "Edmond"
  172.     List1.AddItem "Oklahoma City"
  173.     List1.AddItem "Crescent"
  174.     List1.AddItem "Guthrie"
  175.     List1.AddItem "Perry"
  176.     List1.AddItem "Midwest City"
  177.     List1.AddItem "Kremlin"
  178.     List1.AddItem "Wakita"
  179.     List1.AddItem "Medford"
  180.     List1.AddItem "Enid"
  181.     List1.AddItem "Waukomis"
  182.     List1.AddItem "Kildare"
  183.     List1.AddItem "Yukon"
  184.     List1.AddItem "Moore"
  185.     List1.AddItem "Wichita"
  186.     List1.AddItem "Topeka"
  187.     List1.AddItem "Kansas City"
  188.     List1.AddItem "Coffeyville"
  189.     List1.AddItem "Hutchison"
  190.     List1.AddItem "Arkansas City"
  191.     List1.AddItem "Winfield"
  192.     List1.AddItem "Lions"
  193.     List1.AddItem "Tonkawa"
  194.     List1.AddItem "Blackwell"
  195.     List1.AddItem "Ponca City"
  196.     List1.AddItem "Kaw City"
  197.     List1.AddItem "Dallas"
  198.     List1.AddItem "Fort Worth"
  199.     List1.AddItem "Houston"
  200.     List1.AddItem "Miami"
  201.     List1.AddItem "Fort Lauderdale"
  202.     List1.AddItem "Denver"
  203.     List1.AddItem "Colorado Springs"
  204.     List1.AddItem "Washington D.C."
  205.     List1.AddItem "Bismark"
  206.     List1.AddItem "Lincoln"
  207.     List1.AddItem "Las Vegas"
  208.     List1.AddItem "Eureka Springs"
  209.     List1.AddItem "Branson"
  210.     List1.AddItem "Boise"
  211.     List1.AddItem "Redmond"
  212.     List1.AddItem "Reno"
  213.     List1.AddItem "Jacksonville"
  214.     List1.AddItem "New Orleans"
  215.     List1.AddItem "Atlanta"
  216.     List1.AddItem "New York"
  217.     List1.AddItem "Sacremento"
  218.     List1.AddItem "Boston"
  219.     List1.AddItem "Detroit"
  220.     List1.AddItem "Pitsburg"
  221.     List1.AddItem "Albany"
  222.     List1.AddItem "Nashville"
  223.     List1.AddItem "Amarillo"
  224.     List1.AddItem "Woodward"
  225.     List1.AddItem "Tulsa"
  226.     List1.AddItem "Bartlesville"
  227.     List1.AddItem "Columbus"
  228.     List1.AddItem "Yukon"
  229.     List1.AddItem "Ardmore"
  230.     List1.AddItem "Altus"
  231.     List1.AddItem "Sunnyvale"
  232.     List1.AddItem "San Jose"
  233.     List1.AddItem "Santa Cruz"
  234.     List1.AddItem "Scotts Valley"
  235.     List1.AddItem "Chicago"
  236.     List1.AddItem "Lowell"
  237.     List1.AddItem "Roswell"
  238.     List1.AddItem "Cambridge"
  239.     List1.AddItem "Muskegon"
  240.     List1.AddItem "Agoura"
  241.     List1.AddItem "Englewood"
  242.     List1.AddItem "Bellevue"
  243.     List1.AddItem "Anaheim"
  244.     List1.AddItem "Newkirk"
  245.     List1.AddItem "Edmond"
  246.     List1.AddItem "Oklahoma City"
  247.     List1.AddItem "Crescent"
  248.     List1.AddItem "Guthrie"
  249.     List1.AddItem "Perry"
  250.     List1.AddItem "Midwest City"
  251.     List1.AddItem "Kremlin"
  252.     List1.AddItem "Wakita"
  253.     List1.AddItem "Medford"
  254.     List1.AddItem "Enid"
  255.     List1.AddItem "Waukomis"
  256.     List1.AddItem "Kildare"
  257.     List1.AddItem "Yukon"
  258.     List1.AddItem "Moore"
  259.     List1.AddItem "Wichita"
  260.     List1.AddItem "Topeka"
  261.     List1.AddItem "Kansas City"
  262.     List1.AddItem "Coffeyville"
  263.     List1.AddItem "Hutchison"
  264.     List1.AddItem "Arkansas City"
  265.     List1.AddItem "Winfield"
  266.     List1.AddItem "Lions"
  267.     List1.AddItem "Tonkawa"
  268.     List1.AddItem "Blackwell"
  269.     List1.AddItem "Ponca City"
  270.     List1.AddItem "Kaw City"
  271.     List1.AddItem "Dallas"
  272.     List1.AddItem "Fort Worth"
  273.     List1.AddItem "Houston"
  274.     List1.AddItem "Miami"
  275.     List1.AddItem "Fort Lauderdale"
  276.     List1.AddItem "Denver"
  277.     List1.AddItem "Colorado Springs"
  278.     List1.AddItem "Washington D.C."
  279.     List1.AddItem "Bismark"
  280.     List1.AddItem "Lincoln"
  281.     List1.AddItem "Las Vegas"
  282.     List1.AddItem "Eureka Springs"
  283.     List1.AddItem "Branson"
  284.     List1.AddItem "Boise"
  285.     List1.AddItem "Redmond"
  286.     List1.AddItem "Reno"
  287.     List1.AddItem "Jacksonville"
  288.     List1.AddItem "New Orleans"
  289.     List1.AddItem "Atlanta"
  290.     List1.AddItem "New York"
  291.     List1.AddItem "Sacremento"
  292.     List1.AddItem "Boston"
  293.     List1.AddItem "Detroit"
  294.     List1.AddItem "Pitsburg"
  295.     List1.AddItem "Albany"
  296.     List1.AddItem "Nashville"
  297.     List1.AddItem "Amarillo"
  298.     List1.AddItem "Woodward"
  299.     List1.AddItem "Tulsa"
  300.     List1.AddItem "Bartlesville"
  301.     List1.AddItem "Columbus"
  302.     List1.AddItem "Yukon"
  303.     List1.AddItem "Ardmore"
  304.     List1.AddItem "Altus"
  305.     List1.AddItem "Sunnyvale"
  306.     List1.AddItem "San Jose"
  307.     List1.AddItem "Santa Cruz"
  308.     List1.AddItem "Scotts Valley"
  309.     List1.AddItem "Chicago"
  310.     List1.AddItem "Lowell"
  311.     List1.AddItem "Roswell"
  312.     List1.AddItem "Cambridge"
  313.     List1.AddItem "Muskegon"
  314.     List1.AddItem "Agoura"
  315.     List1.AddItem "Englewood"
  316.     List1.AddItem "Bellevue"
  317.     List1.AddItem "Anaheim"
  318.     List1.AddItem "Newkirk"
  319.     List1.AddItem "Edmond"
  320.     List1.AddItem "Oklahoma City"
  321.     List1.AddItem "Crescent"
  322.     List1.AddItem "Guthrie"
  323.     List1.AddItem "Perry"
  324.     List1.AddItem "Midwest City"
  325.     List1.AddItem "Kremlin"
  326.     List1.AddItem "Wakita"
  327.     List1.AddItem "Medford"
  328.     List1.AddItem "Enid"
  329.     List1.AddItem "Waukomis"
  330.     List1.AddItem "Kildare"
  331.     List1.AddItem "Yukon"
  332.     List1.AddItem "Moore"
  333.     List1.AddItem "Wichita"
  334.     List1.AddItem "Topeka"
  335.     List1.AddItem "Kansas City"
  336.     List1.AddItem "Coffeyville"
  337.     List1.AddItem "Hutchison"
  338.     List1.AddItem "Arkansas City"
  339.     List1.AddItem "Winfield"
  340.     List1.AddItem "Lions"
  341.     List1.AddItem "Tonkawa"
  342.     List1.AddItem "Blackwell"
  343.     List1.AddItem "Ponca City"
  344.     List1.AddItem "Kaw City"
  345.     List1.AddItem "Dallas"
  346.     List1.AddItem "Fort Worth"
  347.     List1.AddItem "Houston"
  348.     List1.AddItem "Miami"
  349.     List1.AddItem "Fort Lauderdale"
  350.     List1.AddItem "Denver"
  351.     List1.AddItem "Colorado Springs"
  352.     List1.AddItem "Washington D.C."
  353.     List1.AddItem "Bismark"
  354.     List1.AddItem "Lincoln"
  355.     List1.AddItem "Las Vegas"
  356.     List1.AddItem "Eureka Springs"
  357.     List1.AddItem "Branson"
  358.     List1.AddItem "Boise"
  359.     List1.AddItem "Redmond"
  360.     List1.AddItem "Reno"
  361.     List1.AddItem "Jacksonville"
  362.     List1.AddItem "New Orleans"
  363.     List1.AddItem "Atlanta"
  364.     List1.AddItem "New York"
  365.     List1.AddItem "Sacremento"
  366.     List1.AddItem "Boston"
  367.     List1.AddItem "Detroit"
  368.     List1.AddItem "Pitsburg"
  369.     List1.AddItem "Albany"
  370.     List1.AddItem "Nashville"
  371.     List1.AddItem "Amarillo"
  372.     List1.AddItem "Woodward"
  373.     List1.AddItem "Tulsa"
  374.     List1.AddItem "Bartlesville"
  375.     List1.AddItem "Columbus"
  376.     List1.AddItem "Yukon"
  377.     List1.AddItem "Ardmore"
  378.     List1.AddItem "Altus"
  379.     List1.AddItem "Sunnyvale"
  380.     List1.AddItem "San Jose"
  381.     List1.AddItem "Santa Cruz"
  382.     List1.AddItem "Scotts Valley"
  383.     List1.AddItem "Chicago"
  384.     List1.AddItem "Lowell"
  385.     List1.AddItem "Roswell"
  386.     List1.AddItem "Cambridge"
  387.     List1.AddItem "Muskegon"
  388.     List1.AddItem "Agoura"
  389.     List1.AddItem "Englewood"
  390.     List1.AddItem "Bellevue"
  391.     List1.AddItem "Anaheim"
  392.     List1.AddItem "Newkirk"
  393.     List1.AddItem "Edmond"
  394.     List1.AddItem "Oklahoma City"
  395.     List1.AddItem "Crescent"
  396.     List1.AddItem "Guthrie"
  397.     List1.AddItem "Perry"
  398.     List1.AddItem "Midwest City"
  399.     List1.AddItem "Kremlin"
  400.     List1.AddItem "Wakita"
  401.     List1.AddItem "Medford"
  402.     List1.AddItem "Enid"
  403.     List1.AddItem "Waukomis"
  404.     List1.AddItem "Kildare"
  405.     List1.AddItem "Yukon"
  406.     List1.AddItem "Moore"
  407.     List1.AddItem "Wichita"
  408.     List1.AddItem "Topeka"
  409.     List1.AddItem "Kansas City"
  410.     List1.AddItem "Coffeyville"
  411.     List1.AddItem "Hutchison"
  412.     List1.AddItem "Arkansas City"
  413.     List1.AddItem "Winfield"
  414.     List1.AddItem "Lions"
  415.     List1.AddItem "Tonkawa"
  416.     List1.AddItem "Blackwell"
  417.     List1.AddItem "Ponca City"
  418.     List1.AddItem "Kaw City"
  419.     List1.AddItem "Dallas"
  420.     List1.AddItem "Fort Worth"
  421.     List1.AddItem "Houston"
  422.     List1.AddItem "Miami"
  423.     List1.AddItem "Fort Lauderdale"
  424.     List1.AddItem "Denver"
  425.     List1.AddItem "Colorado Springs"
  426.     List1.AddItem "Washington D.C."
  427.     List1.AddItem "Bismark"
  428.     List1.AddItem "Lincoln"
  429.     List1.AddItem "Las Vegas"
  430.     List1.AddItem "Eureka Springs"
  431.     List1.AddItem "Branson"
  432.     List1.AddItem "Boise"
  433.     List1.AddItem "Redmond"
  434.     List1.AddItem "Reno"
  435.     List1.AddItem "Jacksonville"
  436.     List1.AddItem "New Orleans"
  437.     List1.AddItem "Atlanta"
  438.     List1.AddItem "New York"
  439.     List1.AddItem "Sacremento"
  440.     List1.AddItem "Boston"
  441.     List1.AddItem "Detroit"
  442.     List1.AddItem "Pitsburg"
  443.     List1.AddItem "Albany"
  444.     List1.AddItem "Nashville"
  445.     List1.AddItem "Amarillo"
  446.     List1.AddItem "Woodward"
  447.     List1.AddItem "Tulsa"
  448.     List1.AddItem "Bartlesville"
  449.     List1.AddItem "Columbus"
  450.     List1.AddItem "Yukon"
  451.     List1.AddItem "Ardmore"
  452.     List1.AddItem "Altus"
  453. End Sub
  454. Sub List1_Click ()
  455.     If Screen.ActiveControl.Tag = List1.Tag Then
  456.         Text1.Text = List1.Text
  457.     End If
  458. End Sub
  459. Sub List1_DblClick ()
  460.     btnOK_Click
  461. End Sub
  462. Sub Text1_Change ()
  463.     'Only execute the subroutine if it was called from its own control item
  464.     If Not Screen.ActiveControl.Tag = Text1.Tag Then
  465.         Exit Sub
  466.     End If
  467.     Dim SearchFor As String
  468.     Dim SearchLen As Integer
  469.     Dim Lesser As Integer
  470.     Dim CurrentNumber As Integer
  471.     Dim CurrentItem As String
  472.     Dim Greater As Integer
  473.     SearchFor = UCase$(Text1.Text)
  474.     If Len(SearchFor) > 0 And List1.ListCount > 0 Then
  475.         Lesser = 0
  476.         Greater = List1.ListCount - 1
  477.         'Perform a binary search for a match, quick!
  478.         Do While Lesser + 1 <> Greater And Lesser <> Greater
  479.             CurrentNumber = Lesser + Int((Greater - Lesser) / 2 + .5)
  480.             CurrentItem = UCase$(Left$(List1.List(CurrentNumber), Len(SearchFor)))
  481.             If CurrentItem = SearchFor Then
  482.                 Greater = CurrentNumber
  483.             Else
  484.                 If CurrentNumber = Lesser Or CurrentNumber = Greater Then
  485.                     Exit Do
  486.                 Else
  487.                     If CurrentItem < SearchFor Then
  488.                         Lesser = CurrentNumber
  489.                     Else
  490.                         Greater = CurrentNumber
  491.                     End If
  492.                 End If
  493.             End If
  494.         Loop
  495.         If UCase$(Left$(List1.List(Lesser), Len(SearchFor))) = SearchFor Then
  496.             List1.ListIndex = Lesser
  497.         Else
  498.             If UCase$(Left$(List1.List(Greater), Len(SearchFor))) = SearchFor Then
  499.                 List1.ListIndex = Greater
  500.             End If
  501.         End If
  502.     End If
  503. End Sub
  504.