|
发表于 2020-3-24 21:54:22
|
显示全部楼层
本帖最后由 YOK 于 2020-3-24 22:02 编辑
2020年学习delphi,来回答这个远古问题,在小甲鱼教学视频(用户自定义类型2)中,提出了课后思考题,把有的元音字母显示出来,注意有颜色的那几行:
type //先定义类型
vowel = set of Char; //一个字符型集合
var//再定义变量
vowels: vowel;
str_1: string;
m: Integer; //循环变量
vchar:Char; //迭代输出的元素
s:string; //存放迭代输出元素的字符串,用作最后显示
begin
vowels := [];
str_1 := '';
s:='';
for m := 1 to Length(edt1.Text) do
begin
str_1 := Copy(edt1.Text, m, 1);
if ((str_1 = 'a') or (str_1 = 'A')) then
vowels := vowels + ['a']; //集合的并集 --> Include(vowels,'a'); 集合是无序的
if ((str_1 = 'e') or (str_1 = 'E')) then
vowels := vowels + ['e'];
if ((str_1 = 'i') or (str_1 = 'I')) then
vowels := vowels + ['i'];
if ((str_1 = 'o') or (str_1 = 'O')) then
vowels := vowels + ['o'];
if ((str_1 = 'u') or (str_1 = 'U')) then
vowels := vowels + ['u'];
end;
if vowels = [] then
ShowMessage('没有元音字母')
else
begin
for vchar in vowels do //迭代输出
s:=s+vchar; //字符串拼接
ShowMessage('有元音字母:'+s);
end;
就可以进行集合的迭代显示了 ,目测这位楼主已经成为了编程大牛,不过路过学习delphi的小萌新还是可以看看哈!~~~ |
|