![]() |
|
|
Регистрация | << Правила форума >> | 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 >woweook< |
Этот пользователь сказал Спасибо 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; По переживать и по сокрушаться - я всегда успею. Так что, дайте мне порадоваться в свое удовольствие! |