我正在德国网站delphi-treff上学习delphi。
它们提供了生成随机字符串的功能。
https://www.delphi-treff.de/tipps-tricks/object-pascal/strings/zufallstring-generieren/
function RandomString(strlength: integer): string;
var
temp : integer;
begin
randomize;
repeat
temp := random(122); //ggf. erhöhen
if temp in [48..57{0-1}, 65..90{A-Z}, 97..122{a-z}] then
//Kann um beliebige ASCII-Zeichen erweitert werden,
//ggf. den Wert in Random hochsetzen
result := result + Chr(temp);
until length(result) = strlength;
end;
你可以在这里看到:
if temp in [48..57{0-1}, 65..90{A-Z}, 97..122{a-z}] then
他们只把0-1,A-Z和a-z作为字符。
但是我觉得我的程序因为这个功能而崩溃了。
所以我改变了:直到length(result)= strlength;
to:until length(result)> = strlength;
确实有时候> strlength。
有人可以解释为什么它更大吗?
它不应该更大,因为它一次只能添加1个字符?
答案 0 :(得分:4)