![]() |
mehrere dateien ansprechen
Hi
Bin neu hier und hab da eine Frage zu einem Problem bei Delphi... Ich hab mehrere Bilder, die ich alle über eine Variable ansprechen möchte... d.h.: die Bilder hab ich in Delphi eingefügt und sie heißen Image1, Image2, Image3 ,... etc. wollte Fragen, ob ich die nicht alle über ne Variable wie var i : integer; ansprechen kann ... doch wie mache ich das? so nach dem Prinzip for i := 1 to 10 do image[i].hide (oder änliches) hilfe :coder2: |
Re: mehrere dateien ansprechen
Erstelle dir einen Array of TImage und füge die Bilder in das Array ein.
Grund: Die Variablennamen sind nicht im Compilat enthalten, deshalb kannst du auch keine Variable zusammensetzen Nach dem Motto Memo{i} oder so. ;) |
Re: mehrere dateien ansprechen
Zitat:
Delphi-Quellcode:
Seltsam... :gruebel:
for i := 1 to 10 do
begin (FindComponent('Image' + IntToStr(i)) as TImage).Hide; end; edit: Klammern falsch gesetzt, nun korrigiert. |
Re: mehrere dateien ansprechen
Ist das ernst gemeint :gruebel: ?
|
Re: mehrere dateien ansprechen
Zitat:
|
Re: mehrere dateien ansprechen
Zitat:
Oder hast du jfheins' Begriff "Variablennamen" einfach mal um "Komponentenhilfsproperty" erweitert? Gut, das ginge noch :wink: . |
Re: mehrere dateien ansprechen
Ich verstehe nicht was du meinst.
jfheins hat geschrieben, es sei nicht möglich, einen Komponentennamen mit einer Variablen zu verknüpfen (wenn ich es richtig verstanden hab), und da hab ich wiedersprochen. Der von mir gepostete Quelltext funktioniert, wenn es min. 10 Images gibt, die die Namen "Image1", "Image2",..., "Image10" haben. Oder hab ich irgendetwas falsch verstanden? :gruebel: edit: :wall: Jetzt hab ich verstanden was du meintest. jfheins scheint da einen kleinen Denkfehler gehabt zu haben. Man muss nämlich nicht die Variablennamen beeinflussen, sondern nur die Eigenschaft "name", welche in der IDE den Variablennamen automatisch ändert. Man kann Komponentennamen allerdings ganz einfach abfragen. Dazu wird, wie du (khabarakh) schon richtig erkannt hast. Ich hab wohl auch jhfeins' Posting nicht gründlich genug gelesen... |
Re: mehrere dateien ansprechen
Zitat:
|
Re: mehrere dateien ansprechen
Zitat:
Delphi-Quellcode:
Damit kannst du einfach nach vorhandenen Komponenten suchen.
function FindComponent(const AName: string): TComponent;
In deinem Fall etwa so:
Delphi-Quellcode:
Ich hoffe das ist, was du gesucht hast.
var AComponent: TComponent;
for i:=1 to 10 do begin AComponent := FindComponent('Image'+IntToStr(i)); if AComponent <> nil then begin // Komponente gefunden - nur noch Typecasten und benutzen =) (AComponent as TImage).Picture.LoadFromFile('bla_blubb'+IntToStr(i)+'.bmp'); end; end; (Hiermit kannst du durchnummerierte, ähnliche Komponenten der Reihe nach ansprechen) |
Re: mehrere dateien ansprechen
Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 13:05 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz