delphi 读取文本的问题

我 i
你 you
她 her
你们 you
你们的 your
… …
一个txt文本内容如上,如何做到输入左边的字符串就可以得到右边的字符串
新手,给出所有代码吧,学习下

A1=B1
A2=B2
...

整个文件用AA: tstriglist读入,
用 AA.Values[‘A1'] 即可返回 B1;
温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-11-08
假设你的文本文件是 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分隔 要么文件路径错了

第2个回答  2013-11-08
最简单,把这个加载到ini里,key=value ,查key返回value即可,或者放到map里追问

给个完整的代码吧