![]() |
|
|
|||||||
| Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
|
|
#1
|
||||
|
||||
|
Добрый день.
Есть динамический массив ІMG. В него записываются картинки с файла. Потом эти же картинки вставляются в таблицу. Но дело в том что у меня скорее всего не все ячейки массива будут заняты, потому перед вставкой мне надо проверить существование картинки. Подскажите, пожалуйста, как это сделать? Обявление: Код:
public
{ Public declarations }
ІMG: Array of TImage;Код:
if FileExists(fFilePicPath+fFilePicName) then
begin
fileNewPicPath:= s+ '/im/';
fileNewPicName:= edt3.Text+'.bmp';
CopyFile(pchar(fFilePicPath+fFilePicName), pchar(fileNewPicPath +fileNewPicName),true);
IMG[num-1]:= TImage.Create(Self);
with IMG[num-1] do
begin
Parent := Self;
Width := 50;
Height := 50;
Proportional:=true;
Picture.LoadFromFile(fileNewPicPath +fileNewPicName);
end;
end;И сам вывод в таблицу: Код:
procedure TForm3._sg1DrawCell(Sender: TObject; ACol, ARow: Integer;
Rect: TRect; State: TGridDrawState);
var k,NumTeam:Integer; s:string;
begin
if (Length(Form1.ImageTeamsArray)<>0) then
begin
NumTeam:=length(IMG);
for k := 1 to _sg1.RowCount do
begin
if (Form1.ImageTeamsArray[k-1] = ??????????????????) then
if ((ACol=1)and(ARow=(k))) then
begin
_sg1.Canvas.StretchDraw(Rect, IMG[k-1].Picture.Graphic);
end;
end;
end;
end; |
|
#2
|
|||
|
|||
|
можно попробовать if ... <> nil
или можно добавлять пустую картинку в if fileexist else (...) вместо массива можно было использовать imagelist |
| Этот пользователь сказал Спасибо Pyro за это полезное сообщение: | ||
Edinora (22.11.2012)
| ||
|
#3
|
||||
|
||||
|
Спасибо, помогло, правда не совсем, так что я переделала на :
Код:
procedure TForm3._sg1DrawCell(Sender: TObject; ACol, ARow: Integer;
Rect: TRect; State: TGridDrawState);
var s: string;
begin
if ((length(form1.TeamsArray)<>0) ) then
if ( (ACol=1) and (ARow>0)) then
begin
Form1.TestRec:=Form1.TeamsArray[ARow-1];
s:=Form1.TestRec.FEmblem;
if FileExists(Form1.TestRec.FEmblem) then
begin
Form3.ImEmblem.Picture.Bitmap.LoadFromFile(s);
Form3._sg1.Canvas.StretchDraw(Rect, Form3.ImEmblem.Picture.Graphic);
Form3.edt1.text:='';
end
else
_sg1.Cells[ACol, ARow]:='-';
end;
end; |