Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > [ "Начинающим" ]
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 21.11.2012, 13:46
Аватар для Edinora
Edinora Edinora вне форума
Прохожий
 
Регистрация: 12.11.2012
Сообщения: 22
Репутация: 10
По умолчанию Как проверить? есть ли изображение в ячейке массива TImage?

Добрый день.
Есть динамический массив І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  
Старый 21.11.2012, 15:34
Pyro Pyro вне форума
Так проходящий
 
Регистрация: 18.07.2011
Сообщения: 805
Версия Delphi: 7Lite
Репутация: 6063
По умолчанию

можно попробовать if ... <> nil
или можно добавлять пустую картинку в if fileexist else (...)
вместо массива можно было использовать imagelist
__________________
>woweook<
Ответить с цитированием
Этот пользователь сказал Спасибо Pyro за это полезное сообщение:
Edinora (22.11.2012)
  #3  
Старый 22.11.2012, 01:59
Аватар для Edinora
Edinora Edinora вне форума
Прохожий
 
Регистрация: 12.11.2012
Сообщения: 22
Репутация: 10
По умолчанию

Спасибо, помогло, правда не совсем, так что я переделала на :
Код:
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;
__________________
По переживать и по сокрушаться - я всегда успею.
Так что, дайте мне порадоваться в свое удовольствие!
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 19:33.


 

Сайт

Форум

FAQ

Соглашения

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2025