有个循环有问题查不出,请教大家
var
od,cp1:integer;
begin
if OpenDialog1.Execute then
begin
for od := 0 to OpenDialog1.Files.Count-1 do
begin
for cp1:= 0 to ComponentCount - 1 do
begin
if (Components[cp1] is TEdit) then
begin
if (((Components[cp1] as TEdit).Tag mod 3)=1) and ((Components[cp1] as TEdit).Text='') then
begin
(Components[cp1] as TEdit).Text:=ExtractFileName(OpenDialog1.Files.Strings[od]);
Continue;
end;
end;
end;
end;
end;
窗体上有个数不定的EDIT,TAG从1开始自加一。排列如下
1,2,3
4,5,6
7,8,9
10,11,12
13,14,15
我现在的目的是打开文件,选择多个文件后,判断第一列是否有空的EDIT,如果有,就把文件名填上去。但是这个代码有问题,请教。
[解决办法]
另外,如果是需要安装先列后行的顺序进行填充的话,只需要修改FindEdit函数。
- Delphi(Pascal) code
function TForm1.FindEdit(const ACol: Byte): TEdit;var i: Integer;begin Result := nil; for i:=0 to ComponentCount - 1 do begin if (Components.Tag mod 3 == ACol) and (Components[i] is TEdit) and ((Components[i] as TEdit).Text = '') then begin Result := TEdit(Components[i]); Break; end; end;end;
[解决办法]