如何设计delphi程序,用来读取、搜索和处理TXT文件中的数据,然后将处理过的数据显示在delphi的界面上。

我是菜鸟,刚学delphi,需要用它来做管理比赛成绩。我的想法是这样的:先用protel软件模拟比赛过程,得到TXT格式的报表,然后设计delphi程序,用来读取、搜索,... 我是菜鸟,刚学delphi,需要用它来做管理比赛成绩。我的想法是这样的:先用protel软件模拟比赛过程,得到TXT格式的报表,然后设计delphi程序,用来读取、搜索,过滤和处理TXT文件中的数据,最后将各个名次对应的运动员名字显示出来。S1代表运动员1,H1代表比赛第一名,以此类推。而得到的TXT文件有需要的和不需要的数据,但不知道具体行数,靠搜索关键字,需要网络线NetS?-1后面的数据,例如(NetS1-1 H2-1 S1-1) 中,表示比赛第二名是运动员1号。现在需要设计程序,在delphi中,显示成绩所对应的运动员名单。例如成绩第二名对应显示的是S1。当然我的方案很粗糙,如果网友能提供更好的方案,就是更好的排版和规划,但必须用到protel与delphi软件,我将不胜感激。 展开
 我来答
arvsoft
2012-05-22 · TA获得超过142个赞
知道答主
回答量:44
采纳率:0%
帮助的人:49.2万
展开全部
楼主一不小写开了两个贴,我已经在第一个帖作答了,看能不能解决楼主的问题。

-----
满意回答 上传的图太小了,只有尽最大努力为你写一段代码,其中包含了对文本文件读取以及搜索关键字的方法(我加了注释),希望对你有所帮助

代码如下:
文件名:Project1.dpr
内容:
program Project1;

uses
Forms,
Unit1 in 'Unit1.pas' {Form1};

{$R *.res}

begin
Application.Initialize;
Application.CreateForm(TForm1, Form1);
Application.Run;
end.

文件名:Unit1.dfm
内容:
object Form1: TForm1
Left = 151
Top = 107
Width = 696
Height = 480
Caption = 'Form1'
Color = clBtnFace
Font.Charset = DEFAULT_CHARSET
Font.Color = clWindowText
Font.Height = -11
Font.Name = 'Tahoma'
Font.Style = []
OldCreateOrder = False
PixelsPerInch = 96
TextHeight = 13
object Label1: TLabel
Left = 128
Top = 104
Width = 48
Height = 13
Caption = #31532#19968#21517#65306
end
object Label2: TLabel
Left = 128
Top = 136
Width = 48
Height = 13
Caption = #31532#20108#21517#65306
end
object Label3: TLabel
Left = 128
Top = 168
Width = 48
Height = 13
Caption = #31532#19977#21517#65306
end
object Edit1: TEdit
Left = 200
Top = 104
Width = 121
Height = 21
TabOrder = 0
Text = 'Edit1'
end
object Edit2: TEdit
Left = 200
Top = 136
Width = 121
Height = 21
TabOrder = 1
Text = 'Edit2'
end
object Edit3: TEdit
Left = 200
Top = 168
Width = 121
Height = 21
TabOrder = 2
Text = 'Edit3'
end
object Button1: TButton
Left = 360
Top = 168
Width = 75
Height = 25
Caption = 'Let'#39's Go'
TabOrder = 3
OnClick = Button1Click
end
end

文件名:Unit1.pas
内容:
unit Unit1;

interface

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

type
TForm1 = class(TForm)
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Edit1: TEdit;
Edit2: TEdit;
Edit3: TEdit;
Button1: TButton;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;

var
Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
var
fs:TStringList;
i:Integer;
begin
//假设文件名为: C:\test.txt
fs:=TStringList.Create;
fs.LoadFromFile('c:\text.txt');
for i:=0 to fs.Count-1 do
begin
//搜索关键字 S1代表运动员1,H1代表比赛第一名
if fs.Strings[i]='H1-1' then //判断第一名
Edit1.Text:=fs.Strings[i+1]; //显示运动员名
if fs.Strings[i]='H2-1' then //判断第二名
Edit2.Text:=fs.Strings[i+1]; //显示运动员名
if fs.Strings[i]='H3-1' then //判断第三名
Edit3.Text:=fs.Strings[i+1]; //显示运动员名
end;
fs.Free;
end;

end.赞同0| 评论

向TA求助 回答者: arvsoft | 四级采纳率:48%

擅长领域: 暂未定制

参加的活动: 暂时没有参加的活动

提问者对回答的评价:

非常感谢!

参考资料: http://zhidao.baidu.com/question/413851187.html?push=core&group=1

wawt_cn1
2012-04-26 · TA获得超过260个赞
知道小有建树答主
回答量:163
采纳率:100%
帮助的人:64.7万
展开全部
用DELPHI的TSTRINGLIST
如aaa:=tstringlist.create;
aaa.loadfromfile(bbb.txt);
然后用FOR I:=0 TO AAA.COUNT-1 DO
BEGIN
END
来循环读取每一行
关键字用POS来判断就成!
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友df0b9b0cc
2012-04-23
知道答主
回答量:27
采纳率:0%
帮助的人:7.1万
展开全部
ADO,可以访问text,不过对于text文本的数据格式要有要求,最好像是数据库一样,一条记录一条记录这样子,可以用空格或逗号分隔符。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式