我的源代码如下!可是没有完成相应的功能!大家能帮我看一下吗?
procedure TForm1.FormCreate(Sender: TObject);
begin
Richedit1.Lines.LoadFromFile('f:/pinyin/pinyin.txt');
end;
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+TempStr;
Flag:=False;
end;
end;
if MyStr[Length(MyStr)]>=SepChar then
MyStr:=MyStr+SepChar;
RegulateStr:=MyStr;
end;
Function GetSubStr(var aString:String; SepChar:String):String;
var
Mystr:String;
StrLen:Integer;
SepCharPos:Integer;
begin
StrLen:=Length(aString);
SepCharPos:=Pos(SepChar,aString);//计算分割符在子串中的位置
MyStr:=Copy(aString,1,SepCharPos-1);//将分割符前所有字符放到mystr串中
Delete(aString,1,SepCharPos);//除去分割符和分割符前的子串
GetSubStr:=MyStr;//返回一个字段
end;
Function 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)=SepChar then
Num:=Num+1;
GetSubStrNum:=Num;
end;
procedure TForm1.Button1Click(Sender: TObject);
var i,j:Integer;
MyLine:String;
space:string;
begin
with Table1 do
begin
Open;
for i:=0 to RichEdit1.Lines.Count-1 do
begin
MyLine:=RegulateStr(Richedit1.Lines,Space);
for j:=1 to GetSubStrNum(myline,space) do //ken(MyLIne,Space)
begin
Append;
fields[j-1].asString:=GetSubStr(MyLine,Space);
post;
end;
end;
end;
end;
procedure TForm1.Button2Click(Sender: TObject);
begin
table1.close;
table1.EmptyTable;
Table1.open;
end;
end.