正如您在我的问题历史记录中看到的,我正在开发一个电子书管理器,它将是开源的,我将在大约 10 天后发布它,但我有一个 TRadioGroup
,如你可以看到:
TRadioGroup Used On My Form http://img85.imageshack.us/img85/1830/radiogroup.png
我想将一些东西存储在一个变量中(需要是一个整数
),该变量将与这个TRadioGroup
“链接”。
我需要执行一个 if
函数,如下所示:
Caption Of The TRadioButton -> Number that will need to be stored in the variable
Fit 2xWidth - Default -> 0
Fit 2xHeight -> 1
Fit Width -> 2
Fit Height -> 3
但我只使用了 TRadioGroup
和 TRadioButton
一次,这与我在 C# 中使用过 20 多次不同。然后我想知道我需要在 if 函数上添加什么,因为它会做什么我已经知道该怎么做:
var
num: Integer;
begin
if(TRadioButton1 checked?)
begin
num := 0;
end;
end.
我需要在 if
函数的括号内放入什么?
PS:我将把积分归功于在这个小项目中帮助过我的人们。
最佳答案
TRadioButton 具有 Checked 属性。但 TRadioGroup 具有 ItemIndex 属性。
TRadioGroup 中的项目使用 TString 存储。因此,您可以将一个对象与每个选项关联起来,并且可以将一个整数转换为要存储的 TObject。
示例:
// fill the radiogroup
radiogroup.Items.AddObject('Fit 2xWidth', TObject(0));
radiogroup.Items.AddObject('Fit 2xHeight', TObject(1));
radiogroup.Items.AddObject('Fit Width', TObject(2));
radiogroup.Items.AddObject('Fit Height', TObject(3));
radiogroup.ItemIndex := 0;
读取当前设置:
value := radiogroup.ItemIndex;
或者获取关联的整数:
index := radiogroup.ItemIndex;
Assert(index>=0); // Sanity check
value := Integer(radiogroup.Items.Objects[index]);
在您的例子中,值是 0 到 3,因此您可以使用 ItemIndex。
请注意,if 不是函数。函数是一段根据输入参数返回值的代码。 if是一条语句,是一条可以执行的命令。 if 语句很特殊,因为它使您能够根据 if 条件执行不同的语句。
关于delphi - 在 TRadioGroup 中选择了哪个单选按钮?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1986246/