aaa.txt文件的内容:
50,90
20,85
30,98
bbb.txt文件的内容:
30,96
25,97
45,93
aaa.txt和bbb.txt存放于同一个目录下。
在delphi中实现的程序要求:
窗体左侧为一个listbox显示文件名称(一行显示一个文件名,如aaa,且去掉.txt后缀)
窗体右侧为六个文本框,假如在listbox中选择的是aaa,则六个文本框分别显示为
30 96
25 97
45 93
50,90
20,85
30,98
bbb.txt文件的内容:
30,96
25,97
45,93
aaa.txt和bbb.txt存放于同一个目录下。
在delphi中实现的程序要求:
窗体左侧为一个listbox显示文件名称(一行显示一个文件名,如aaa,且去掉.txt后缀)
窗体右侧为六个文本框,假如在listbox中选择的是aaa,则六个文本框分别显示为
30 96
25 97
45 93
解决方案 »
- 靠,BORLAND公司怎么知道我用盗版DELPHI7的。各位用盗版的DELPHI7可要注意了。
- 大家好问各位兄弟一个菜鸟级问题
- 怎么建立动态的数据库
- 如何判断某字符串中是否包含某字符???在线等,可决给分.
- [求助] 关于Ado的一个疑惑!
- 关于数据库的问题!
- 如何通过函数把窗体中所有DBEDIT(都是integer)的值的和算出来!
- 朗之间,以前制作MS OFFICE助手的那个程序还在吗?能不能给我E过来。
- 帮帮忙 !!!
- opendialog已经设为可multilselect,如何把选中的一批文件放入listbox?
- 高手救命,关于MSTTS(Microsoft Text To Speech)技术
- 知道一个文件的中HEAD的长度,如何去掉?比如head长(000H---aobH)
var
sr:TSearchRec;
begin
FileBuf.Clear;
if FindFirst(sPath,faAnyFile,sr)=0 then
begin
if not((sr.Attr and faDirectory)>0) then
FileBuf.Add(sr.Name);
while FindNext(sr)=0 do
begin
if not((sr.Attr and faDirectory)>0) then
FileBuf.Add(sr.Name);
end;
end;
FindClose(sr);
end;
然后在ListBox的Click时间写
Var
F:TextFile;
S:String;
begin
Assignfile(F,'文件的路径');
reset(F);
while not Eof(F) do
begin
ReadLn(F,S);
加到Edit中
end;
CloseFile(F);
end;
注:算法不好,方法比较笨.你可以自己改改了......^_^//////////////////
unit main;interfaceuses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ComCtrls;type
TForm1 = class(TForm)
Edit1: TEdit;
ListBox1: TListBox;
Edit2: TEdit;
Edit3: TEdit;
Edit4: TEdit;
Edit5: TEdit;
Edit6: TEdit;
Button1: TButton;
procedure FormCreate(Sender: TObject);
procedure Button1Click(Sender: TObject);
procedure ListBox1DblClick(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;type
Tstr=record
str1:string;
str2:string;
end;var
Form1: TForm1;
line: integer = 0;
sss: Array [1..10] of string; //存放绝对文件路径....
edit: Array[1..10] of TEdit; //控件数组
function findstr(s :string ):Tstr; //分析每行字串,分离 "," 前后的字串...
implementation{$R *.dfm}function findstr( s :string ):Tstr;
var ss:Tstr;
begin
ss.str1:=copy(s,1,pos(',',s)-1); //","号前的字串
ss.str2:=copy(s,pos(',',s)+1,length(s)-pos(',',s)); //","后的字串
result:=ss;
end;//数组化Edit控件
procedure TForm1.FormCreate(Sender: TObject);
begin
edit[1]:=edit1;
edit[2]:=edit2;
edit[3]:=edit3;
edit[4]:=edit4;
edit[5]:=edit5;
edit[6]:=edit6;
end;//将"C:\top\"下的所有*.txt文件导到listbox项目里.
procedure TForm1.Button1Click(Sender: TObject);
var
SearchRec:tSearchRec;
FindResult:integer;
i:integer;
begin
i:=1;
FindResult := FindFirst('C:\top\'+ '*.txt',FaAnyFile,SearchRec);
while findresult=0 do
begin
listbox1.items.Add(ChangeFileExt(SearchRec.Name,''));
sss[i]:='C:\top\'+SearchRec.Name; //保存真实文件路径(绝对..)
i:=i+1;
FindResult :=findnext(Searchrec);
end;
FindClose(Searchrec);
end;procedure TForm1.ListBox1DblClick(Sender: TObject);
var myfile :TextFile;
n :integer;
strlist :Array[0..100] of string ; //存放文件中每行的内容
begin
if listbox1.Selected[listbox1.ItemIndex]=true then
begin
Assignfile(myfile,sss[listbox1.ItemIndex+1]);
reset(myfile);
n:=1;
while not Eof(myfile) do
begin
line:=line+1;
ReadLn(myfile,strlist[line]);
edit[n].Text:=findstr(strlist[line]).str1; //","号前
edit[n+1].Text:=findstr(strlist[line]).str2; //","号后
n:=n+2;
end;
CloseFile(myfile);
end
else
Exit;
end;
end.
Borland\Delphi5\Demos\Virtual Listview
你看看这个例子吧,用他的方法显示文件列表