回 帖 发 新 帖 刷新版面

主题:[原创]combobox控件里的items怎么动态读取文本文件

procedure TForm1.N2Click(Sender: TObject);
var
 f1:TextFile;
 FileName,TmpStr,AllStr:String;
begin
 FileName:='pingwei.txt';  //打开指定文件
  AssignFile(F1,FileName);
  Reset(F1);
  AllStr:='';//利用循环将F1的文件内容显示
  While not Eof(F1) do begin
  Readln(F1,TmpStr);
  //为每一行之间加入换行符号
  AllStr:=AllStr+TmpStr+ #10;
  end;
  //关闭文件
  CloseFile(F1);
  //显示文件的所有内容
  ShowMessage(AllStr);
end;

======================================
我已经把'pingwei.txt读入程序中,
现在我想把该文本文件内容如下:
张三
李四
王五
赵二
王八
动态读入combobox的items里。
如何实现?

回复列表 (共12个回复)

11 楼

等第一个程序完成了一定和兄弟一起分享那种快乐!

12 楼

通过昨天晚上做梦想出来了怎么控制动态增加的组件的位置了:
unit Unit1;

interface

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

type
    TForm1 = class(TForm)
    GroupBox1: TGroupBox;
    Label1000: TLabel;
    GroupBox3: TGroupBox;
    MainMenu1: TMainMenu;
    N1: TMenuItem;
    N4: TMenuItem;
    N5: TMenuItem;
    N6: TMenuItem;
    N7: TMenuItem;
    N8: TMenuItem;
    ComboBox1: TComboBox;
    StatusBar1: TStatusBar;
     procedure N3Click(Sender: TObject);
    procedure N7Click(Sender: TObject);
    procedure N1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;


implementation

{$R *.dfm}

procedure TForm1.N3Click(Sender: TObject);
var
 f11:TextFile;
 FileName1,TmpStr1, AllStr1:String;

begin


  end;

procedure TForm1.N7Click(Sender: TObject);
begin
Form1.Close;
end;

procedure TForm1.N1Click(Sender: TObject);
var
 i:integer;//评委个数
 j:integer;//项目个数
 f1,f11:TextFile;
 FileName,TmpStr,AllStr,FileName1,TmpStr1,AllStr1:String;
 PingweiName:Array of TEdit;
 k:Integer;
  begin
      i:=0;
      FileName:='pingwei.txt';
      AssignFile(F1,FileName);
      Reset(F1);
      AllStr:='';
      While not Eof(F1) do begin
      Readln(F1,TmpStr);
      AllStr:=TmpStr;
      i:=i+1;
      StatusBar1.Panels[1].Text :='此次评分评委有:'+inttostr(i);  //读取评委个数到statusbar
  ////////////////////////////////////////
  ///////动态添加lable和Edit组件//////////
  ////////////////////////////////////////

  ////////////////////////////////////////
  ///////动态添加lable和Edit组件//////////
  ////////////////////////////////////////
  end;
  //关闭文件
  CloseFile(F1);
  //////////////////////////////////////////////////////////////////////////////////////////
    SetLength(PingweiName, i);// 设置i个(即多少个评委添加多少个Edit)TEdit对象
    for k:=0 to i-1 do begin
    PingweiName[k]:=TEdit.Create(Self);
    PingweiName[k].Parent:=form1;
    PingweiName[k].Left:=((k+1)-((k+1) div 5)*5)*110+15;
    PingweiName[k].Top:=(k div 5)*50+70;
    PingweiName[k].Height:=22;
    PingweiName[k].Width:=85;
    PingweiName[k].Color:=$FFFFFF;
    PingweiName[k].Text:= '';
    /////////////////////////////////////////////////
    //for k:=0 to i-1 do begin
    //PingweiName[k].Free;
  end;


 ///////////////////////////////////////////////////////////////////////////////////////////
     j:=0;
    FileName1:='xiangmu.txt';
    AssignFile(F11,FileName1);
    Reset(F11);
    AllStr1:='';
    While not Eof(F11) do begin
    Readln(F11,TmpStr1);
    AllStr1:=TmpStr1;
    j:=j+1;
    StatusBar1.Panels[0].Text :='此次评分项目有:'+inttostr(j);  //读取项目个数到statusbar
    ComboBox1.Items.Add(AllStr1); //把读入的文本文件读入combobox组件
    end;
    //关闭文件
    CloseFile(F11);
end;

end.







///////////////////////////////////////////////////////////////////
SetLength(PingweiName, i);// 设置i个(即多少个评委添加多少个Edit)TEdit对象
    for k:=0 to i-1 do begin
    PingweiName[k]:=TEdit.Create(Self);
    PingweiName[k].Parent:=form1;
    PingweiName[k].Left:=((k+1)-((k+1) div 5)*5)*110+15;
    PingweiName[k].Top:=(k div 5)*50+70;
    PingweiName[k].Height:=22;
    PingweiName[k].Width:=85;
    PingweiName[k].Color:=$FFFFFF;
    PingweiName[k].Text:= '';
///////////////////////////////////////////////////////////////////

我来回复

您尚未登录,请登录后再回复。点此登录或注册