Combobox 要编码的组合框值

Combobox 要编码的组合框值,combobox,pascal,Combobox,Pascal,我是一个帕斯卡新手,我已经读了一些关于它的东西,但对我来说还是很难。我想创建一个简单的密码生成器,并调整字符数 我发现了一个函数,它实际上为我生成了随机密码,它是这样的: function RandomPassword(PLen: Integer): string; var str: string; begin Randomize; //string with all possible chars str := 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKL

我是一个帕斯卡新手,我已经读了一些关于它的东西,但对我来说还是很难。我想创建一个简单的密码生成器,并调整字符数

我发现了一个函数,它实际上为我生成了随机密码,它是这样的:

function RandomPassword(PLen: Integer): string;
var
str: string;
begin
Randomize;
//string with all possible chars
str    := 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890';
Result := '';
repeat
Result := Result + str[Random(Length(str)) + 1];
until (Length(Result) = PLen)
end;
这是将字符串打印到备忘录的代码:

procedure TForm1.Button2Click(Sender: TObject);
begin
Memo1.Caption := RandomPassword(10);
end; 

我还得到了一个TComboBox,我想使用combobox中的值来选择字符数(6-32)。在本例中,字符数为10,但我希望使用组合框中的值,而不是预定的数字。谁能帮我?我会很感激的

您可以这样选择组合框值:

RandomPassword(stroint(ComboBox.Items[ComboBox.ItemIndex]))

ComboBox.ItemIndex
返回选择ComboBox项的索引

组合框。Items[]
用于选择组合框中的项目


由于组合框值是一个字符串,您必须将其更改为整数,因此使用了
strotint()
您可以这样选择组合框值:

RandomPassword(stroint(ComboBox.Items[ComboBox.ItemIndex]))

ComboBox.ItemIndex
返回选择ComboBox项的索引

组合框。Items[]
用于选择组合框中的项目


使用
stroint()
是因为组合框值是字符串,您必须将其更改为整数

@Permambuco好的,谢谢您的回复!但是,我不知道如何在代码中实现它。基本上我需要的是,10英寸的密码将是组合框中的值,所以如果我单击10,它将是10个字符等。你知道我如何解决这个问题吗?我只是不明白我该怎么做。你可以使用上面提到的itemindex,或者总是镜像当前combobox.itemindex的combobox.text属性。由于组合框行是基于文本的,因此文本将为“10”。所以:myInteger:=stroint(Combobox.Text)返回字符串“10”的整数值,您可以使用它。@Permambuco好的,谢谢您的回答!但是,我不知道如何在代码中实现它。基本上我需要的是,10英寸的密码将是组合框中的值,所以如果我单击10,它将是10个字符等。你知道我如何解决这个问题吗?我只是不明白我该怎么做。你可以使用上面提到的itemindex,或者总是镜像当前combobox.itemindex的combobox.text属性。由于组合框行是基于文本的,因此文本将为“10”。所以:myInteger:=stroint(Combobox.Text)返回字符串“10”的整数值,然后您可以使用它。