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
解决方案 »
- delphi 动态创建 twebbrowser 并添加事件处理函数
- idhttp.get如何才能不获取到过期的网页?
- ▲▲▲ 简单SQL语句,请问这个语句应如何写 ▲▲▲
- 一个类,各位兄弟帮俺看一看,到底是哪里有错
- 窗口的问题
- showmessage
- 关与form的一个小问题?
- NetMessageBufferSend 这个API在DELPHI的那个单元中有定义,如果没有,请写出DELPHI的API定义原型,如果有个使用例子就更好了!!急用!知道的请进!(70分)
- 怎么处理长度超过255的字符串? 如 Pos 函数?
- 我快不行了!!!求用DELPHI 5 ADO控件进行添加、修改、删除记录操作的源码!万分感谢!!!
- 高手救命,关于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
你看看这个例子吧,用他的方法显示文件列表