主题:[原创]combobox控件里的items怎么动态读取文本文件
freewolf
[专家分:30] 发布于 2006-07-15 15:02:00
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 楼
freewolf [专家分:30] 发布于 2006-07-15 22:49:00
等第一个程序完成了一定和兄弟一起分享那种快乐!
12 楼
freewolf [专家分:30] 发布于 2006-07-16 10:58:00
通过昨天晚上做梦想出来了怎么控制动态增加的组件的位置了:
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:= '';
///////////////////////////////////////////////////////////////////
我来回复