Contributor: SWAG SUPPORT TEAM


{ method #1 }

unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  StdCtrls;

type
  TForm1 = class(TForm)
    ComboBox1: TComboBox;
    Edit1: TEdit;
    Edit2: TEdit;
    procedure Edit1Change(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.DFM}

function ComboBox_Item_Exists(ComboBox: tComboBox; str: string): Integer;
var i: Integer;
begin
         if ComboBox.Items.Count = 0 then
         // ComboBox is empty
         begin
              Result := -1;  // not found
              Exit;
         end else
                  for i := 0 to ComboBox.Items.Count -1 do
                  begin
                       if ComboBox.Items[i] = str then
                       begin
                            Result := i; // eureka
                            // str at pos i in ComboBox
                            Exit; // look no further
                       end
                       else Result := -1; // not found
                  end;
end;

procedure TForm1.Edit1Change(Sender: TObject);
begin
     ComboBox1.ItemIndex := ComboBox_Item_Exists(ComboBox1, Edit1.Text);
end;

end.

What do you think about this replace ?

function ComboBox_Item_Exists(ComboBox: tComboBox; str: string): Integer;
begin
   Result := ComboBox.Items.IndexOf( Str );
end;