读书人

关于combobox与memo 的一段小程序有关

发布时间: 2012-02-05 12:07:15 作者: rapoo

关于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; 

读书人网 >.NET

热点推荐