zoukankan      html  css  js  c++  java
  • delphi ComboBox AddObject 组合框下拉取值正确使用方法

    大家都知道 TComboBox  AddObject 是个好东西。

    最近由于数据库结构设计设计上的原因(有很多诸如字典表) 如 国家代码表 语种表 而需要TComboBox  存储两列数据 一个 代码 一个值

    如  中国  chi   而这些值是数据库读取填入的 AddObject 的诟病也显露无疑 经过一天努力写了一个类

    unit Mccb;
     
    interface
     
    uses adodb, StdCtrls;
    type
      Tarr = array of string;
    type
     
      TMycbb = class(Tobject)
     
      public
          procedure Additem(ADOQuery1: TADOQuery;Asql:string; ccb: TComboBox;var ss:Tarr );
     
      end;
     
    implementation
     
    { TMycbb }
     
    procedure TMycbb.Additem(ADOQuery1: TADOQuery;Asql:string; ccb: TComboBox;var ss:Tarr);
    var
      i: Integer;
      s: string;
    begin
      ccb.items.clear();
      s := 'bd';
      ccb.items.addobject('不定', Tobject(s));
      ADOQuery1.close();
      ADOQuery1.SQL.Text :=Asql;
      ADOQuery1.open();
     
      SetLength(ss, ADOQuery1.RecordCount);
      for i := 0 to ADOQuery1.RecordCount - 1 do
      begin
     
     
        ss[i] := ADOQuery1.Fields[0].AsString;
        ccb.Items.AddObject(ADOQuery1.Fields[1].AsString, TObject(ss[i]));
        ADOQuery1.Next();
      end;
      ADOQuery1.close();
    end;
     
    end.
     

    初始化组合框

    procedure TForm1.Button9Click(Sender: TObject);
    var dd: TMycbb;
      sqls: string;
    begin
      sqls := 'select  lang_code,lang_name from  language_code';
      dd := TMycbb.Create;
     
      try
        dd.Additem(ADOQuery1, sqls, ComboBox1, ss);
     
      finally
        dd.Free;
      end;
    end;

    读取下拉值

    procedure TForm1.Button7Click(Sender: TObject);
    var A_Value: string;
    begin
      A_Value := string(ComboBox1.Items.Objects[ComboBox1.ItemIndex]);
     
        ShowMessage(A_Value);
    end;

    这里需要注意的是  要再测试主窗体 定义全局变量 ss 才能保证正确 读取

    var ss: Tarr;

    经过 CheckMem.pas 测试 无内存泄露 方便易用 减少了很多字典表的数据库读取访问。

  • 相关阅读:
    Golang判断文件/文件夹是否存在
    Golang将一个文件中的内容写入到另一个文件里
    Golang打开已存在的文件并覆盖其内容
    Golang打开文件并写入
    【正则】day01
    【正则】day02
    【day09】PHP
    【day08】PHP
    转换函数
    变量作用域
  • 原文地址:https://www.cnblogs.com/jijm123/p/12624045.html
Copyright © 2011-2022 走看看