如图,当我点击表格第10列时,想取得第二列对应的拼音,可以取得拼音,但每次都递增,语法在哪出错了,望指教呀
procedure TF_jhthd.StringGrid1Click(Sender: TObject);
var
hz:string;
i:integer;
begin
inherited;
pyjm:='';
for xh:=1 to StringGrid1.RowCount do
For i:=1 to length(Trim(StringGrid1.Cells[2,xh])) div 2 do begin
hz:=copy(Trim(StringGrid1.Cells[2,xh]),i*2-1,5);
pyjm:=pyjm+F_zct.getpy(hz);
StringGrid1.Cells[10,xh]:=pyjm;
end;
end;红色为取第二列拼音代码,能取到
var
hz:string;
i:integer;
begin
inherited; for xh:=1 to StringGrid1.RowCount do
For i:=1 to length(Trim(StringGrid1.Cells[2,xh])) div 2 do begin
hz:=copy(Trim(StringGrid1.Cells[2,xh]),i*2-1,5);
pyjm:=F_zct.getpy(hz);
StringGrid1.Cells[10,xh]:=pyjm;
end;
end;
如果是为某一行的第10列赋值,则
“StringGrid1.Cells[10,xh]:=pyjm;”错误,把它放在到数第二个“end;”后。
var
hz:string;
i:integer;
begin
inherited;
for xh:=1 to StringGrid1.RowCount do
begin
pyjm:= ' ';
For i:=1 to length(Trim(StringGrid1.Cells[2,xh])) div 2 do
begin
hz:=copy(Trim(StringGrid1.Cells[2,xh]),i*2-1,5);
pyjm:=pyjm+F_zct.getpy(hz);
end;
StringGrid1.Cells[10,xh]:=pyjm;
end;
end;
copy(Trim(StringGrid1.Cells[2,xh]),i*2-1,5)?---------------》
为什么是取5,不是2?