Function RegulateStr(aString:String;Sepchar:String):String;
var
i,Num:Integer;
Flag:Boolean;
MyStr,TempStr:String;
begin
Flag:=False;进行标志,去除多余的分割符
Num:=Length(aString); 计算aString串的长度
for i:=1 to Num do
begin
TempStr:=Copy(aString,i,1);取aString串中的一字符
if TempStr SepChar then
begin
MyStr:=MyStr+TempStr;
Flag:=True;
end
else
if(Flag = True)then
begin
Mystr:=Mystr+TempSrt;
Flag:=False;
end;
end;
if MyStr[Length(MyStr)] SepChar then
MyStr:=MyStr+SepChar;
RegulateSrt:=MyStr;
end;
Function GetSubStr(var aString:String,SepChar:Strign):String;
var
Mysrt:String;
StrLen:Integer;
SepCharPso:Integer;
begin
StrLen:=Length(aString);
SepCharPos:=Pos(SepChar,aString);计算分割符在子串中的位置
MyStr:=Copy(aString,1,SepCharPos-1); 将分割符前所有字符放到mystr串中
Delete(aString,1,SepCharPos);除去分割符和分割符前的子串
GetSubStr:=MyStr;返回一个字段
end;
FunctionTforml.GetSubStrNum(aString:String;SepChar:String):Integer;
var
i:Integer;
StrLen:Integer;
Num:Integer;
begin
StrLen:=Length(aString);
Num:=0;
for i:=1 to StrLen do
if Copy(aString,i,1) = SepCharthen
Num:=Num+1;
GetSubSrtNum:=Num;
end;
2.分别加入以下程序:
Const Space=
ProcedureTForml.FormCreate(Sender:Tobject);
begin
RichRditl.Lines.LoadFromFile(Archive.txt);
end;
ProcedureTForml.Button1Click(Sender:Tobject);
var
i,j:Integer;
MyLine:String;
begin
with Tablel do
begin
Open;
for i:=0 to RichEditl.Lines.Count-1 do
begin
MyLine:=RegulateStr(Richeditl.Lines[i],Space);
for j:=1 to Num do
begin
Append;
fileds[j-1].aString:=GetSubSrt(MyLine,Space));
post;
end;
end;
end;
end;