AGB  ·  Datenschutz  ·  Impressum  







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

D7 FindComponent über .tag und Caption

Ein Thema von beanbear6 · begonnen am 3. Jun 2016 · letzter Beitrag vom 7. Jun 2016
Antwort Antwort
beanbear6

Registriert seit: 28. Okt 2009
Ort: Passau
170 Beiträge
 
Delphi 7 Enterprise
 
#1

AW: D7 FindComponent über .tag und Caption

  Alt 3. Jun 2016, 17:39
Hi zusammen,
uups... nun ist mir was aufgefallen... ich melde mich dann nochmal...
nene es genügt wenn die Panels über i (also tag1, tag2, usw.) gefunden werden und ich dann die caption ändern kann...

Also: Ich hab 10 Panels (mit Caption) und möchte die Caption über einen Zähler 1..10 leeren. Wenn das Passiert ist hol ich mir aus einer Datenbank (Spalte1 = Nummer von 1..10 und spalte2 ist Bezeichnung für die Panels) die neue Beschriftung. Ziel des Ganzen ist, dass ich Panels aus einer Datenbank raus beschriften kann. Im OnShow Ergebnis der Form leere ich also die Beschriftungen der 10 Panels und hol mir die neue Beschriftung aus der Datenbank. Is bissl schwierig zu erklären ich hoffe i habs hingekriegt...

Gruß Reiner
Reiner

Geändert von beanbear6 ( 3. Jun 2016 um 17:44 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von Helmi
Helmi

Registriert seit: 29. Dez 2003
Ort: Erding, Republik Bayern
3.344 Beiträge
 
Delphi XE2 Professional
 
#2

AW: D7 FindComponent über .tag und Caption

  Alt 3. Jun 2016, 17:52
Dann vielleicht so:
Delphi-Quellcode:
procedure TForm1.Button3Click(Sender: TObject);
var
  i: Integer;
  TempPanel: TPanel;

begin
  for i := 0 to Pred(ComponentCount) do
    If Components[i].ClassType = TPanel then
      begin
        TempPanel := TPanel(Components[i]);

        If TempPanel.Tag in [1..10] then
          TempPanel.Caption := Format('Ich bin Panel-Nr. %d!', [TempPanel.Tag]);
      end;
end;
mfg
Helmi

>> Theorie ist Wissen, dass nicht funktioniert - Praxis ist, wenn alles funktioniert und keiner weiss warum! <<
  Mit Zitat antworten Zitat
nahpets
(Gast)

n/a Beiträge
 
#3

AW: D7 FindComponent über .tag und Caption

  Alt 3. Jun 2016, 17:53
Oder suchst Du sowas? (nicht getestet)
Delphi-Quellcode:
var
   myComp : TComponent;
begin
  while not qry.Eof Do begin
    myComp := FindComponent(Format('Panel%d',[qry.FieldByName('Spalte1').AsInteger]));
    if Assigned(myComp) and (myComp is TPanel) then begin
      TPanel(myComp).Caption := qry.FieldByName('Spalte2').AsString;
    end;
    qry.Next;
  end;
end;
  Mit Zitat antworten Zitat
beanbear6

Registriert seit: 28. Okt 2009
Ort: Passau
170 Beiträge
 
Delphi 7 Enterprise
 
#4

AW: D7 FindComponent über .tag und Caption

  Alt 3. Jun 2016, 17:58
Hi zusammen,
ich teste das mal ab und melde mich... Gleich aber mal ein großes Dankeschön für Eure Mühe...
Gruß Reiner
Reiner
  Mit Zitat antworten Zitat
beanbear6

Registriert seit: 28. Okt 2009
Ort: Passau
170 Beiträge
 
Delphi 7 Enterprise
 
#5

AW: D7 FindComponent über .tag und Caption

  Alt 3. Jun 2016, 18:08
Hi zusammen,
also ich nochmal... Ich dachte mir schon dass das wenn ich nun noch mit Datenbank ankommen ausartet und ich Eure Geduld sehr strapaziere. Also ich versuch das nochmal mit folgendem Beispiel (z.B. für 100 Panels - die Panels haben die tags von 1 bis 100):

Delphi-Quellcode:
for x = 1 to 100 do
  // suche Panels mit den tags 1 bis 100
  // Setze auf Panels 1 bis 100 den Text: nicht verfügbar
Wenn ich das hinkriege dann schaff ich den Rest mit der Datenbank auch. Und gleich nochmal ein Dankeschön!!
Gruß beanbear
Reiner
  Mit Zitat antworten Zitat
Benutzerbild von Helmi
Helmi

Registriert seit: 29. Dez 2003
Ort: Erding, Republik Bayern
3.344 Beiträge
 
Delphi XE2 Professional
 
#6

AW: D7 FindComponent über .tag und Caption

  Alt 3. Jun 2016, 18:11
Hi zusammen,
also ich nochmal... Ich dachte mir schon dass das wenn ich nun noch mit Datenbank ankommen ausartet und ich Eure Geduld sehr strapaziere. Also ich versuch das nochmal mit folgendem Beispiel (z.B. für 100 Panels - die Panels haben die tags von 1 bis 100):

Delphi-Quellcode:
for x = 1 to 100 do
  // suche Panels mit den tags 1 bis 100
  // Setze auf Panels 1 bis 100 den Text: nicht verfügbar
Wenn ich das hinkriege dann schaff ich den Rest mit der Datenbank auch. Und gleich nochmal ein Dankeschön!!
Gruß beanbear
Die Lösung steht schon da - einfach mal die Codes verstehen versuchen und schon kommst auf die Lösung
mfg
Helmi

>> Theorie ist Wissen, dass nicht funktioniert - Praxis ist, wenn alles funktioniert und keiner weiss warum! <<
  Mit Zitat antworten Zitat
nahpets
(Gast)

n/a Beiträge
 
#7

AW: D7 FindComponent über .tag und Caption

  Alt 3. Jun 2016, 18:16
Delphi-Quellcode:
var
  i : Integer;
begin
  while not qry.Eof Do begin
    for i := 0 to ComponentCount - 1 do begin
      if not (Component[i] is TPanel) then continue;
      if TPanel(Component[i]).Tag = qry.FieldByName('Spalte1').AsInteger then begin
        TPanel(Component[i]).Caption := qry.FieldByName('Spalte2').AsString;
      end;
    end;
    qry.Next;
  end;
end;
  Mit Zitat antworten Zitat
beanbear6

Registriert seit: 28. Okt 2009
Ort: Passau
170 Beiträge
 
Delphi 7 Enterprise
 
#8

AW: D7 FindComponent über .tag und Caption

  Alt 4. Jun 2016, 05:02
Hallo zusammen,
vieelen vieelen Dank für Eure Hilfe, es klappt jetzt
Gruß Reiner
Reiner
  Mit Zitat antworten Zitat
Benutzerbild von markus5766h
markus5766h

Registriert seit: 5. Mär 2009
Ort: Hamburg
569 Beiträge
 
Delphi XE8 Professional
 
#9

AW: D7 FindComponent über .tag und Caption

  Alt 4. Jun 2016, 17:22
nur der Vollständigkeit halber :

http://www.delphipraxis.net/147151-c...erstellen.html
Markus H.
  Mit Zitat antworten Zitat
Antwort Antwort


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 04:57 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