大概思路: const s = '1,28,21,2,22,31,5,27,19,10'; var i,j,k : integer; tsl : TStringList; begin tsl := TStringList.Create; tsl.CommaText := s; i := random(tsl.Count); j := random(tsl.count); k := StrToInt(tsl.Strings[i]); tsl.Strings[i] := tsl.Strings[j]; tsl.Strings[j] := IntToStr(k); end; end;
谢谢: hfyun(逮住就问) 请各位继续发表自已的意见!
function DataTest: string; var str: string; TempStr: string; begin Memo1.Clear; Memo1.Lines.LoadFromFile('D:\Data.txt'); str := Memo1.Lines.Strings[0]; TempStr := ''; While Pos(',',str)>0 do begin TempStr := Copy(str,1,pos(',',str)) + TempStr;//颠倒顺序 delete(str,1,Pos(',',str); end; Result := TempStr; end;
数字本身不变,只是顺序变化!!!
按照你的方法能否写几句代码??大家帮我呀。。
const
s = '1,28,21,2,22,31,5,27,19,10';
var
i,j,k : integer;
tsl : TStringList;
begin
tsl := TStringList.Create;
tsl.CommaText := s;
i := random(tsl.Count);
j := random(tsl.count);
k := StrToInt(tsl.Strings[i]);
tsl.Strings[i] := tsl.Strings[j];
tsl.Strings[j] := IntToStr(k);
end; end;
请各位继续发表自已的意见!
var
str: string;
TempStr: string;
begin
Memo1.Clear;
Memo1.Lines.LoadFromFile('D:\Data.txt');
str := Memo1.Lines.Strings[0];
TempStr := '';
While Pos(',',str)>0 do
begin
TempStr := Copy(str,1,pos(',',str)) + TempStr;//颠倒顺序
delete(str,1,Pos(',',str);
end;
Result := TempStr;
end;