Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   FreePascal Mehrere Images --> Imagex ??? (https://www.delphipraxis.net/192232-mehrere-images-imagex.html)

Maurooon 31. Mär 2017 20:52

AW: Mehrere Images --> Imagex ???
 
Zitat:

Zitat von a.def (Beitrag 1366106)
Blöd ausgedrückt prüft Assigned ob das Objekt, das man prüft, zugewiesen (also nicht nil) wurde oder nicht.
FindComponent sucht ein Objekt mit dem Namen den man als String übergeben hat. Hier werden also "Image1" bis "Image5" übergeben.
"as TImage" behandelt das gefundene Objekt dann wie ein TImage soweit ich weiß aber das geht sicher noch viel schöner und vorallem besser.

Man könnte das Ergebnis auch in eine Variable zwischenspeichern dann wird es schöner:

Delphi-Quellcode:
var
 aImg: TImage;
begin
 // ...

 for i := 1 to 5 do
  begin
   aImg := (FindComponent('Image' + SysUtils.IntToStr(i)) as TImage);

   if Assigned(aImg) then
    aImg.Visible := True;
  end;
Aber ich betone: ich bin kein Profi und hier schlummern bestimmt Exceptions :P
Wenn man aber seine Image1...5 alle korrekt als TImage hat sollte es keine Fehler geben.
Wenn ich natürlich einen TButton habe der Image1 heißt wäre das doof.

okay vielen dank habe es jetzt verstanden!! Ich bin auch kein Profi also alles gut!

himitsu 31. Mär 2017 22:15

AW: Mehrere Images --> Imagex ???
 
Zitat:

Zitat von Maurooon (Beitrag 1366103)
Mit FindComponent oder SysUtils habe ich noch nie gearbeitet.

Wetten doch?

IntToStr
StrToInt
Format
Trim
UpperCase
...


SysUtils.IntToStr = IntToStr, wenn man den Namespace nicht braucht, wenn es keine Andere Methode/Funktion gibt, die auch so heißt, wie die in der SysUtils.pas


Alle Zeitangaben in WEZ +1. Es ist jetzt 21:29 Uhr.
Seite 2 von 2     12   

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz