我无法完全理解帮助文件中的设置成员资格。请解释如何在C ++中为以下代码处理in
:
if s1[1] in['0'..'9'] then
begin
ii := StrToInt(s1)+1;
s1 := IntToStr(ii);
if Length(s1)<2 then s1 := '0'+s1;
Edit_deneyismi.text := copy(s,1,i)+s1;
end
else Edit_deneyismi.text := 'Yeni_Deney_01';
答案 0 :(得分:3)
Delphi集在C ++ Builder中使用Set<>
模板类实现,该类具有Contains()
方法来支持in
操作,例如:
Set<char, '0', '9'> Digits;
for (char c = '0'; c <= '9'; ++c)
Digits << c;
if (Digits.Contains(s1[1]))
{
ii = StrToInt(s1)+1;
s1 = IntToStr(ii);
if (s1.Length() < 2) s1 = "0" + s1;
Edit_deneyismi->Text = s.SubString(1, i) + s1;
}
else
Edit_deneyismi->Text = "Yeni_Deney_01";
否则,请使用C isdigit()
函数或RTL Character::IsDigit()
函数。或者像Michael建议的那样手动比较char
值。