1,我有一個變量FileKindID
他的值是:
H01
H02
H03
I01
I02
I03
J01
J02
其中的一個,是數據庫中讀取的。2,有一個ComboBox:ComboBox1
他的Items是
H01-制程課
H02-產品課
H03-維護課
I01-成型課
I02-燒結課
I03-加工課
J01-品保課
J02-品管課我想實現這樣的功能,如果FileKindID是H01時,那麼就顯示ComboBox1中的“H01-制程課”
如果是I03,那麼就顯示ComboBox1中的“I03-加工課”,......請問怎樣實現?
附:
我用下面的東東時,
ComboBox1.ItemIndex:=Combobox1.Items.IndexOf('I01-成型課');
因為FileKindID只是其前面的3個字符而已,所以不知怎樣做!
謝謝!

解决方案 »

  1.   

    其实Combobox的Items.IndexOf也是循环查找一下而已
    function TStrings.IndexOf(const S: string): Integer;
    begin
      for Result := 0 to GetCount - 1 do
        if CompareStrings(Get(Result), S) = 0 then Exit;
      Result := -1;
    end;-----------
    var
      I: Integer;
    begin
      for I := 0 to Combobox1.Items.Count - 1 do
      begin
        if Copy(Combobox1.Items[I], 1, 3) = FileKindID then
        begin
          Combobox1.ItemIndex := I;
          break;
        end;
      end;
    end;
      

  2.   

    把变量定义为 FileKindID : TStringList;
    FileKinID 与 ComboBox1.Item 一一对应。
    ComboBox1.ItemIndex:=DeptId.IndexOf('I01-成型課');