unit Unit1;interfaceuses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;type
TForm1 = class(TForm)
Memo1: TMemo;
Button1: TButton;
Edit1: TEdit;
Edit2: TEdit;
Edit3: TEdit;
Edit4: TEdit;
Button2: TButton;
Edit5: TEdit;
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Label4: TLabel;
Label5: TLabel;
Button3: TButton;
procedure FormShow(Sender: TObject);
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure Button3Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;var
Form1: TForm1;
iLine:integer;implementation{$R *.dfm}procedure TForm1.FormShow(Sender: TObject);
begin
iLine:=1;
Edit1.Text:='';
Edit2.Text:='';
Edit3.Text:='';
Edit4.Text:='';
Memo1.Text:='';
Memo1.Lines.add('12|25|56|88|22|50|56|77|12|25|56|86|12|');
Memo1.Lines.add('22|50|56|77|12|25|56|88|22|50|56|77|34|');
Memo1.Lines.add('12|25|56|86|12|25|56|88|22|50|56|77|14|');
Memo1.Lines.add('32|45|56|88|22|50|56|77|12|25|56|86|12|');
Memo1.Lines.add('25|56|56|73|32|25|56|88|22|50|56|77|34|');
Memo1.Lines.add('52|25|66|84|15|24|56|88|22|50|56|77|14|');
Memo1.Lines.add('17|24|56|85|27|56|56|77|12|25|56|86|12|');
Memo1.Lines.add('25|56|76|72|18|25|56|88|22|50|56|77|34|');
Memo1.Lines.add('14|25|58|84|32|75|56|88|22|50|56|77|14|');
end;procedure TForm1.Button1Click(Sender: TObject);
begin
iLine:=Strtoint(Edit5.Text);
end;procedure TForm1.Button2Click(Sender: TObject);
var MyList:TStringList;
S:string;
i:integer;
begin
MyList:=TStringList.Create;
MyList.Text:=Trim(Memo1.Text);
if iLine>Memo1.Lines.Count then exit;
for i := 0 to Memo1.Lines.Count do
if i=(iLine-1) then S:=MyList.Strings[i];
Edit1.Text:=Copy(S,1,2);
Edit2.Text:=Copy(S,5,2);
Edit3.Text:=Copy(S,9,2);
Edit4.Text:=Copy(S,13,2);
iLine:= iLine+1;
MyList.Free;
end;procedure TForm1.Button3Click(Sender: TObject);
begin
close;
end;end.
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;type
TForm1 = class(TForm)
Memo1: TMemo;
Button1: TButton;
Edit1: TEdit;
Edit2: TEdit;
Edit3: TEdit;
Edit4: TEdit;
Button2: TButton;
Edit5: TEdit;
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Label4: TLabel;
Label5: TLabel;
Button3: TButton;
procedure FormShow(Sender: TObject);
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure Button3Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;var
Form1: TForm1;
iLine:integer;implementation{$R *.dfm}procedure TForm1.FormShow(Sender: TObject);
begin
iLine:=1;
Edit1.Text:='';
Edit2.Text:='';
Edit3.Text:='';
Edit4.Text:='';
Memo1.Text:='';
Memo1.Lines.add('12|25|56|88|22|50|56|77|12|25|56|86|12|');
Memo1.Lines.add('22|50|56|77|12|25|56|88|22|50|56|77|34|');
Memo1.Lines.add('12|25|56|86|12|25|56|88|22|50|56|77|14|');
Memo1.Lines.add('32|45|56|88|22|50|56|77|12|25|56|86|12|');
Memo1.Lines.add('25|56|56|73|32|25|56|88|22|50|56|77|34|');
Memo1.Lines.add('52|25|66|84|15|24|56|88|22|50|56|77|14|');
Memo1.Lines.add('17|24|56|85|27|56|56|77|12|25|56|86|12|');
Memo1.Lines.add('25|56|76|72|18|25|56|88|22|50|56|77|34|');
Memo1.Lines.add('14|25|58|84|32|75|56|88|22|50|56|77|14|');
end;procedure TForm1.Button1Click(Sender: TObject);
begin
iLine:=Strtoint(Edit5.Text);
end;procedure TForm1.Button2Click(Sender: TObject);
var MyList:TStringList;
S:string;
i:integer;
begin
MyList:=TStringList.Create;
MyList.Text:=Trim(Memo1.Text);
if iLine>Memo1.Lines.Count then exit;
for i := 0 to Memo1.Lines.Count do
if i=(iLine-1) then S:=MyList.Strings[i];
Edit1.Text:=Copy(S,1,2);
Edit2.Text:=Copy(S,5,2);
Edit3.Text:=Copy(S,9,2);
Edit4.Text:=Copy(S,13,2);
iLine:= iLine+1;
MyList.Free;
end;procedure TForm1.Button3Click(Sender: TObject);
begin
close;
end;end.
aFile:TEXTFILE;
curLine:String;
aStringList:TStringList;
i:Integer;
begin
ASSIGNFILE(aFile,'C:\aTextFile.TXT');
RESET(aFile);
aStringList:=TStringList.Create;
aStringList.Delimiter:='|';
while not EOF(aFile) do
begin
READLN(aFile,curLine);
//对curLine字符串进行处理
//由于楼主的分隔符是全角的|,所以不能使用下面的代码
//我将全角的换成半角的|,就可以简单用TStringList来演示
aStringList.DelimitedText:=curLine;
for i:=Low(aStringList) to High(aStringList) do
//保存你的列数据
end;
end;