Thema: Delphi Image Visible ?

Einzelnen Beitrag anzeigen

Hawkeye219

Registriert seit: 18. Feb 2006
Ort: Stolberg
2.227 Beiträge
 
Delphi 2010 Professional
 
#2

Re: Image Visible ?

  Alt 27. Jan 2007, 10:27
Hallo Blackheart,

wenn du Referenzen auf die TImage-Komponenten in ein (statisches oder dynamisches) Array packst, kannst du mit einer einfachen Hilfsroutine den nächsten freien Platz ermitteln:

Delphi-Quellcode:
var
  Images : array [0..5] of TImage; // evtl. dynamisches Array

function GetVisibleImage (var aImage: TImage): Boolean;
var
  i : Integer;
begin
  for i := 0 to High(Images) do
    begin
      aImage := Images[i];
      Result := aImage.Visible;
      if Result then
        Exit;
    end;
  Result := False;
end;

var
  Image : TImage;
begin
  // einmalige Initialisierung des Arrays
  Images[0] := Image1;
  ...
  Images[5] := Image6;
  // beliebige Anzahl von Tests
  if GetVisibleImage(Image) then
    Image.LoadFromFile (...);
end;
Du kannst die ganze Verwaltung der Bilder auch in eine Klasse stecken. Diese benötigt nur zwei Methoden: eine zum Hinzufügen von Bildern zur (internen) Liste und die obige Routine zum Ermitteln des nächsten freien Platzes:

Delphi-Quellcode:
type
  TImageManager = class
  private
    FImages : array of TImage;
  public
    procedure AddImage (aImage: TImage);
    function GetVisibleImage (var aImage: TImage): Boolean;
  end;
Gruß Hawkeye
  Mit Zitat antworten Zitat