rocedure TForm1.Button1Click(Sender: TObject); var vTemp:String; OldStr,NewStr:String; begin Edit2.Text:= AnsiReplaceText(Edit1.Text,',','_'); //将","换成"_" vTemp:=Edit2.Text; while pos('_',vTemp)>0 do begin OldStr:=copy(vTemp,1,pos('_',vTemp)-1); //转换前的字符串 NewStr:=format('0%s',[OldStr]); //转换后的字符串 Edit2.Text:= AnsiReplaceText(Edit2.Text,OldStr,NewStr); //转换字符串 vTemp:=copy(vTemp,pos('_',vTemp)+1,Length(vTemp)); end; end;
procedure TForm1.Button1Click(Sender: TObject); var vTemp:String; OldStr,NewStr:String; vF:TextFile; begin Edit2.Text:= AnsiReplaceText(Edit1.Text,',','_'); vTemp:=Edit2.Text; NewStr:=''; while pos('_',vTemp)>0 do begin OldStr:=copy(vTemp,1,pos('_',vTemp)-1); NewStr:=format('0%s',[OldStr]); Edit2.Text:= AnsiReplaceText(Edit2.Text,OldStr,NewStr); vTemp:=copy(vTemp,pos('_',vTemp)+1,Length(vTemp)); end; AssignFile(vF,'c:\a.txt'); Rewrite(vF); Writeln(vF,Edit2.Text); CloseFile(vF); end;
procedure TForm1.Button1Click(Sender: TObject); var sourse:string; terget:string; temp:array[1..100] of string[3]; i:integer; j:integer; k:integer; f:textfile; begin for i:=1 to 100 do temp[i]:=''; i:=0; sourse:='112,113,114,115,116,117...'; j:=length(sourse); if j>0 then begin //拆分 k:=1; repeat inc(i); repeat temp[i]:=temp[i]+sourse[k]; inc(k); until (sourse(k)=',') or (k>j); if k<j then inc(k); until k>j; end; if i>0 then begin //合并 target:=''; case i of 1:target:='0'+temp[1]; 2:target:='0'+temp[1]+'_'+'0'+temp[2]; else begin target:='0'+temp[1]; for j:=2 to i-1 do target:=target+'_'+'0'+temp[j]; target:=target+'_'+'0'+temp[i]; end; end; end; if i>0 then begin assignfile(f,'result.txt'); rewrite(f); writeln(f,target); closefile(f); end; end;这样的结构,S有多少个段也能搞定,但楼主发这个贴前先用用脑吧,这么简单也要发问,难怪现在的学生说读书是为了拿个证。
TO: MMas(凌乱) 这里是一个交流的地方,没有人强迫你来回答!你这样回答我感觉很伤人自尊的!所以我瞧不起你!
procedure TForm1.Button1Click(Sender: TObject); var i,j,k:integer; s:string; myFStream:Tstringlist; begin myfstream:=Tstringlist.Create; i:=-1; s:='123,456,788,123'; for j:=i+1 to length(s)do begin i:=pos(',',s); K:=i; if k<>0 then begin delete(s,i,1); insert('-',s,i); end; end; myfstream.Append(s); myfstream.SaveToFile('123.txt'); end;
这下可以了。 procedure TForm1.Button1Click(Sender: TObject); var s : String; ts : TStringList; begin s := '112,113,114,115,116,117'; s := StringReplace(s, ',', '_0',[rfReplaceAll]); //把','替换成'_0' s := '0' + s; //添加第一个0 ts := TStringList.Create; ts.Add(s); ts.SaveToFile('c:\a.txt'); //保存 ts.Free; end;
看错了 procedure TForm1.Button1Click(Sender: TObject); var i,j,k:integer; s:string; myFStream:Tstringlist; begin myfstream:=Tstringlist.Create; i:=-1; s:='123,456,788,123'; insert('0',s,0); for j:=i+1 to length(s)do begin i:=pos(',',s); K:=i; if k<>0 then begin delete(s,i,1); insert('0',s,i); insert('-',s,i); end; end; myfstream.Append(s); myfstream.SaveToFile('123.txt'); end;
var
vTemp:String;
OldStr,NewStr:String;
begin
Edit2.Text:= AnsiReplaceText(Edit1.Text,',','_'); //将","换成"_"
vTemp:=Edit2.Text;
while pos('_',vTemp)>0 do
begin
OldStr:=copy(vTemp,1,pos('_',vTemp)-1); //转换前的字符串
NewStr:=format('0%s',[OldStr]); //转换后的字符串
Edit2.Text:= AnsiReplaceText(Edit2.Text,OldStr,NewStr); //转换字符串
vTemp:=copy(vTemp,pos('_',vTemp)+1,Length(vTemp));
end;
end;
var
str:string;
begin
str := '112,113,114,115,116,117';
str := '0' + AnsiReplaceText(str, ',', '_0'); //转换
Memo1.Lines.Add(str);
Memo1.Lines.SaveToFile('D:\x.txt'); //保存
end;
var
vTemp:String;
OldStr,NewStr:String;
vF:TextFile;
begin
Edit2.Text:= AnsiReplaceText(Edit1.Text,',','_');
vTemp:=Edit2.Text;
NewStr:='';
while pos('_',vTemp)>0 do
begin
OldStr:=copy(vTemp,1,pos('_',vTemp)-1);
NewStr:=format('0%s',[OldStr]);
Edit2.Text:= AnsiReplaceText(Edit2.Text,OldStr,NewStr);
vTemp:=copy(vTemp,pos('_',vTemp)+1,Length(vTemp));
end;
AssignFile(vF,'c:\a.txt');
Rewrite(vF);
Writeln(vF,Edit2.Text);
CloseFile(vF);
end;
var
sourse:string;
terget:string;
temp:array[1..100] of string[3];
i:integer;
j:integer;
k:integer;
f:textfile;
begin
for i:=1 to 100 do temp[i]:='';
i:=0;
sourse:='112,113,114,115,116,117...';
j:=length(sourse);
if j>0 then begin //拆分
k:=1;
repeat
inc(i);
repeat
temp[i]:=temp[i]+sourse[k];
inc(k);
until (sourse(k)=',') or (k>j);
if k<j then inc(k);
until k>j;
end;
if i>0 then begin //合并
target:='';
case i of
1:target:='0'+temp[1];
2:target:='0'+temp[1]+'_'+'0'+temp[2];
else begin
target:='0'+temp[1];
for j:=2 to i-1 do target:=target+'_'+'0'+temp[j];
target:=target+'_'+'0'+temp[i];
end;
end;
end;
if i>0 then begin
assignfile(f,'result.txt');
rewrite(f);
writeln(f,target);
closefile(f);
end;
end;这样的结构,S有多少个段也能搞定,但楼主发这个贴前先用用脑吧,这么简单也要发问,难怪现在的学生说读书是为了拿个证。
这里是一个交流的地方,没有人强迫你来回答!你这样回答我感觉很伤人自尊的!所以我瞧不起你!
var i,j,k:integer;
s:string;
myFStream:Tstringlist;
begin
myfstream:=Tstringlist.Create;
i:=-1;
s:='123,456,788,123';
for j:=i+1 to length(s)do
begin
i:=pos(',',s);
K:=i;
if k<>0 then
begin
delete(s,i,1);
insert('-',s,i);
end;
end;
myfstream.Append(s);
myfstream.SaveToFile('123.txt');
end;
procedure TForm1.Button1Click(Sender: TObject);
var
s : String;
ts : TStringList;
begin
s := '112,113,114,115,116,117';
s := StringReplace(s, ',', '_0',[rfReplaceAll]); //把','替换成'_0'
s := '0' + s; //添加第一个0
ts := TStringList.Create;
ts.Add(s);
ts.SaveToFile('c:\a.txt'); //保存
ts.Free;
end;
procedure TForm1.Button1Click(Sender: TObject);
var i,j,k:integer;
s:string;
myFStream:Tstringlist;
begin
myfstream:=Tstringlist.Create;
i:=-1;
s:='123,456,788,123';
insert('0',s,0);
for j:=i+1 to length(s)do
begin
i:=pos(',',s);
K:=i;
if k<>0 then
begin
delete(s,i,1);
insert('0',s,i);
insert('-',s,i);
end;
end;
myfstream.Append(s);
myfstream.SaveToFile('123.txt');
end;