关于combobox与memo 的一段小程序问题
combobox1 list editor 里填的是单项分别为A B C D……的字母,我想获得当前下拉框里的选项,然后 memo里出现对应的数据,如
选W,则memo里显示
W
X X
Y Y Y
Z Z Z Z
程序如下,但是 运行会提示 当前选项不为 integer
意思是说combobox里每一项是整型数据???
那如何获取当前选项的string数据?
本人是初学者,好多函数和其它不甚了解,希望大家帮忙指点,谢谢!
------------------------------------
procedure TForm1.ComboBox1Change(Sender: TObject);
var
i,j,n,k:integer;
aa:array[1..1000] of char;
begin
k:=1;
n:=ord('z')-strtoint(combobox1.Items[combobox1.ItemIndex])+1;
for i:=1 to n do
begin
for j:=1 to i do
begin
aa[k]:=char(strtoint(combobox1.Items[combobox1.ItemIndex])+i-1);
Inc(k);
aa[k]:=' ';
Inc(k);
end;
aa[k]:=#13;
Inc(k);
end;
Memo1.Text:=copy(aa,Low(aa),k);
end;
[解决办法]
procedure TForm1.ComboBox1Change(Sender: TObject);
var
i,j,n,k:integer;
aa:string;
begin
k:=1;
n:=ord('Z')-ord(combobox1.Items[combobox1.ItemIndex][1])+1;//看你的意思这里的Z要大写了
for i:=1 to n do
begin
for j:=1 to i do
begin
aa:=aa+char(ord(combobox1.Items[combobox1.ItemIndex][1])+i-1);
aa:=aa+' ';
end;
aa :=aa+sLineBreak;
end;
Memo1.Text:=aa;
end;
[解决办法]
- Delphi(Pascal) code
procedure TForm1.CbbChange(Sender: TObject);var i,j:integer; s:string;begin if Cbb.ItemIndex=-1 then Exit; for i:=0 to (Ord('Z') - Ord(Cbb.Text[1])) do begin for j:=0 to i do s:=s+' '+ char(Ord(Cbb.Text[1])+i); s:=s+sLineBreak; end; Memo1.Text:=s;end;