delphi 读取文本的问题

我i你you她her你们you你们的your……一个txt文本内容如上,如何做到输入左边的字符串就可以得到右边的字符串新手,给出所有代码吧,学习下... 我 i
你 you
她 her
你们 you
你们的 your
… …
一个txt文本内容如上,如何做到输入左边的字符串就可以得到右边的字符串
新手,给出所有代码吧,学习下
展开
 我来答
YiFei_erp19
2013-11-08 · TA获得超过1169个赞
知道小有建树答主
回答量:1584
采纳率:40%
帮助的人:456万
展开全部
A1=B1
A2=B2
...

整个文件用AA: tstriglist读入,
用 AA.Values[‘A1'] 即可返回 B1;
forestry98
2013-11-08 · TA获得超过2442个赞
知道小有建树答主
回答量:1351
采纳率:33%
帮助的人:556万
展开全部
假设你的文本文件是 C:\1.txt
假设文件中“我“和“i"之间的间隔是 Tab

那么代码如下
unit Unit1;

interface

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

type
TForm1 = class(TForm)
Edit1: TEdit;
Button1: TButton;
Label1: TLabel;
procedure Button1Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
private
FList: TStrings;
{ Private declarations }
public
{ Public declarations }
end;

var
Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
begin
ShowMessage(FList.Values[Edit1.Text]);
end;

procedure TForm1.FormCreate(Sender: TObject);
var
s1,s2: TStrings;
i: Integer;
begin
FList := TStringList.Create;
s1 := TStringList.Create;
s2 := TStringList.Create;
s1.LoadFromFile('c:\1.txt');
for i := 0 to s1.Count - 1 do begin
s2.Clear;
s2.Delimiter := Char(VK_TAB);
s2.DelimitedText := s1.Strings[i];
if s2.Count = 2 then
FList.Values[s2.Strings[0]] := s2.Strings[1];
end;
s2.Free;
s1.Free;
end;

procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
begin
FList.Free;
end;

end.
追问
好像没有效果
追答
我这里运行很正常 估计是你文件的格式不是以TAB分隔 要么文件路径错了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
谢3哥
2013-11-08 · TA获得超过120个赞
知道小有建树答主
回答量:402
采纳率:33%
帮助的人:140万
展开全部
最简单,把这个加载到ini里,key=value ,查key返回value即可,或者放到map里
追问
给个完整的代码吧
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式