AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

mehrere dateien ansprechen

Ein Thema von Chibi · begonnen am 15. Feb 2006 · letzter Beitrag vom 16. Feb 2006
Antwort Antwort
Seite 1 von 2  1 2      
Chibi

Registriert seit: 15. Feb 2006
2 Beiträge
 
#1

mehrere dateien ansprechen

  Alt 15. Feb 2006, 14:00
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

  Mit Zitat antworten Zitat
Benutzerbild von jfheins
jfheins

Registriert seit: 10. Jun 2004
Ort: Garching (TUM)
4.579 Beiträge
 
#2

Re: mehrere dateien ansprechen

  Alt 15. Feb 2006, 14:02
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.

  Mit Zitat antworten Zitat
Benutzerbild von malo
malo

Registriert seit: 19. Sep 2004
2.115 Beiträge
 
#3

Re: mehrere dateien ansprechen

  Alt 15. Feb 2006, 14:53
Zitat von jfheins:
Die Variablennamen sind nicht im Compilat enthalten, deshalb kannst du auch keine Variable zusammensetzen Nach dem Motto Memo{i} oder so.
Delphi-Quellcode:
for i := 1 to 10 do
begin
  (FindComponent('Image' + IntToStr(i)) as TImage).Hide;
end;
Seltsam...



edit: Klammern falsch gesetzt, nun korrigiert.
  Mit Zitat antworten Zitat
Benutzerbild von Khabarakh
Khabarakh

Registriert seit: 18. Aug 2004
Ort: Brackenheim VS08 Pro
2.876 Beiträge
 
#4

Re: mehrere dateien ansprechen

  Alt 15. Feb 2006, 15:07
Ist das ernst gemeint ?
Sebastian
Moderator in der EE
  Mit Zitat antworten Zitat
Benutzerbild von malo
malo

Registriert seit: 19. Sep 2004
2.115 Beiträge
 
#5

Re: mehrere dateien ansprechen

  Alt 15. Feb 2006, 15:26
Zitat von Khabarakh:
Ist das ernst gemeint ?
Was meinst du?
  Mit Zitat antworten Zitat
Benutzerbild von Khabarakh
Khabarakh

Registriert seit: 18. Aug 2004
Ort: Brackenheim VS08 Pro
2.876 Beiträge
 
#6

Re: mehrere dateien ansprechen

  Alt 15. Feb 2006, 20:32
Zitat von malo:
Zitat von Khabarakh:
Ist das ernst gemeint ?
Was meinst du?
Deinen gesamten Post .
Oder hast du jfheins' Begriff "Variablennamen" einfach mal um "Komponentenhilfsproperty" erweitert? Gut, das ginge noch .
Sebastian
Moderator in der EE
  Mit Zitat antworten Zitat
Benutzerbild von malo
malo

Registriert seit: 19. Sep 2004
2.115 Beiträge
 
#7

Re: mehrere dateien ansprechen

  Alt 16. Feb 2006, 15:41
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?

edit: 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...
  Mit Zitat antworten Zitat
Benutzerbild von Khabarakh
Khabarakh

Registriert seit: 18. Aug 2004
Ort: Brackenheim VS08 Pro
2.876 Beiträge
 
#8

Re: mehrere dateien ansprechen

  Alt 16. Feb 2006, 15:57
Zitat von malo:
edit: 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...
jfheins' Beitrag ist total richtig, aber es gibt einfach noch ein Hintertürchen . Dein Beitrag sah so aus, als ob du das eine für das andere halten würdest. Aber in meinem letzten Post habe ich mir dann schon gedacht, dass du jfheins eigentlich gar nicht widerlegen wolltest / etwas falsch verstanden hast.
Sebastian
Moderator in der EE
  Mit Zitat antworten Zitat
Benutzerbild von H4ndy
H4ndy

Registriert seit: 28. Jun 2003
Ort: Chemnitz
515 Beiträge
 
Delphi XE3 Professional
 
#9

Re: mehrere dateien ansprechen

  Alt 16. Feb 2006, 16:13
Zitat von malo:
jfheins hat geschrieben, es sei nicht möglich, einen Komponentennamen mit einer Variablen zu verknüpfen
Es ist möglich uns zwar mitfunction FindComponent(const AName: string): TComponent; Damit kannst du einfach nach vorhandenen Komponenten suchen.

In deinem Fall etwa so:
Delphi-Quellcode:
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;
Ich hoffe das ist, was du gesucht hast.
(Hiermit kannst du durchnummerierte, ähnliche Komponenten der Reihe nach ansprechen)
Manuel
  Mit Zitat antworten Zitat
Benutzerbild von malo
malo

Registriert seit: 19. Sep 2004
2.115 Beiträge
 
#10

Re: mehrere dateien ansprechen

  Alt 16. Feb 2006, 16:25
Zitat von H4ndy:
Es ist möglich uns zwar mitfunction FindComponent(const AName: string): TComponent;
Vielleicht solltest du mal alles lesen, bevor du irgendwas erzählst
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 07:38 Uhr.
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