这样的一个字符串,形如:str := '620,6146;480,6083;706,6049;593,6049;1006,5856;869,5832;809,5832;755,5832;695,5832;' ;
str中间用分号分隔开的,是一组数值(包含两个数字),现在要做的是随机取出其中的一组数值,然后,再分别赋给另外的两个变量,x := 数值中的第一个数
Y := 数值中的第二个数求写法,
str中间用分号分隔开的,是一组数值(包含两个数字),现在要做的是随机取出其中的一组数值,然后,再分别赋给另外的两个变量,x := 数值中的第一个数
Y := 数值中的第二个数求写法,
var
List: TStringList; List := TStringList.Create;
List.text := StringReplace(str, ';', #13#10, [rfreplaceall]);
再随机和分割TStringList的某一行 给X和Y
List2 := TStringList.Create;
List2.text := StringReplace(List[random(List.count)], ',', #13#10, [rfreplaceall]);
X := List2[0];
Y := List2[1];
var
I: Integer;
Strs: TStringList;
begin
Randomize;
Strs := TStringList.Create;
try
Strs.Delimiter := SplitChar;
Strs.DelimitedText := StringReplace(Str, #13#10, '', [rfReplaceAll]);
for I := Strs.Count - 1 downto 0 do
if Trim(Strs[I]) = '' then Strs.Delete(I);
if Strs.Count = 0 then Exit;
Result := Strs[Random(Strs.Count)]
finally
Strs.Free;
end;
end;procedure TForm1.btn1Click(Sender: TObject);
var
Str: string;
I: Integer;
begin
Str := RandomSubStr(mmo1.Lines.Text, ';');
I := Pos(',', Str);
mmo2.Lines.Add(Str);
mmo2.Lines.Add('X = ' + Copy(Str, 1, I - 1));
mmo2.Lines.Add('Y = ' + Copy(Str, I + 1, Length(Str) - I));
mmo2.Lines.Add('');
end;运行时,将整理前的字符串粘贴在 mmo1 中,然后点击 btn1 开始整理。
用TStringList,按都好分割成列表,然后随机去list中的索引 +1