Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi Labels sollen gleich Aussehen und gleiches Verhalten haben (https://www.delphipraxis.net/85574-labels-sollen-gleich-aussehen-und-gleiches-verhalten-haben.html)

DelphiManiac 1. Feb 2007 17:12


Labels sollen gleich Aussehen und gleiches Verhalten haben
 
Hallo,

ich habe folgendes Prob, (naja mal gucken, ob es überhaupt ein Problem ist)

Ich besitzte ungefähr 10 Labels, die jeweils eine Einheit anzeigen
Beispiel (sind natürlich nicht die richtigen Namen)
Delphi-Quellcode:
Label1.Caption:='[°C];
Label2.Caption:='[°C];
Label3.Caption:='[°C];
Label4.Caption:='[°C];
Label5.Caption:='[°C];
// ..
Mein Problem ist jetzt ich schalte die Einheit um, dass heißt ich ändere dann auch alle Einheitlabels.
Klar ich könnte mir so eine Prozedur schreiben
Delphi-Quellcode:
procedure (aLabel:TLabel,Einheit:String)
begin
 aLabel.Caption:='Einheit';
end;
oder die Labels in ein Array packen (bzw die Referenzen auf die Labels.

Aber ich würde gerne das die Labels sich genau gleich verhalten.
Also
Label1 Änderung hat auch Auswirkung auf Label(n)..
Vielleicht ist dass ja , wenn ich genau drüber nachdenke gar nicht so toll, aber so würde ich das gerne haben.

Vielleicht könnt ihr mir ja helfen..

Gruß DelphiManiac

Alexander Roth 1. Feb 2007 17:22

Re: Labels sollen gleich Aussehen und gleiches Verhalten hab
 
Willst du es mit allen Labels auf der Form/WinControl, oder nur mit bestimmten machen?

mkinzler 1. Feb 2007 17:25

Re: Labels sollen gleich Aussehen und gleiches Verhalten hab
 
Zitat:

Aber ich würde gerne das die Labels sich genau gleich verhalten.
Also
Label1 Änderung hat auch Auswirkung auf Label(n)..
Verpasse dazu am Besten der Form ne Methode, der du die Eigenschaft und den Wert übergibst, anstatt den Wert eines Labels zu ändern.

DelphiManiac 1. Feb 2007 17:26

Re: Labels sollen gleich Aussehen und gleiches Verhalten hab
 
Hi,

ich will das nur mit bestimmten machen (sont könnte ich ja mit FindComponent arbeiten)...

DelphiManiac 1. Feb 2007 17:31

Re: Labels sollen gleich Aussehen und gleiches Verhalten hab
 
Hi, ja ich denke ne Methode für die Form,
die mir dann alle Labels (die in der Methode sind) ändert ist wohl am einfachsten...

Pfoto 1. Feb 2007 17:31

Re: Labels sollen gleich Aussehen und gleiches Verhalten hab
 
Hi!

pack doch deine Labels auf ein Panel
und arbeite dies durch:


etwa so:
Delphi-Quellcode:
var
  i: integer;
begin
  for i:= 0 to Panel1.ControlCount-1 do
    If Panel1.Controls[i] is TLabel then
      with Panel1.Controls[i] as TLabel do
      begin
        Caption:= 'Hier die geänderte Caption';
      end;

Hier kannst du ganz gezielt nur die Labels
verändern, die du auf dem Panel platziert hast.

Wenn du es nur mit bestimmten machen willst, könntst
du den .Tag bei den Labels beschreiben und
dann noch eine If-Abfrage einfügen, etwa so:


Delphi-Quellcode:
var
  i: integer;
begin
  for i:= 0 to Panel1.ControlCount-1 do
    If Panel1.Controls[i] is TLabel then
      with Panel1.Controls[i] as TLabel do
      begin
        If Tag = 1 then
          Caption:= 'Hier die geänderte Caption';
      end;

Gruß
Pfoto

DelphiManiac 1. Feb 2007 17:42

Re: Labels sollen gleich Aussehen und gleiches Verhalten hab
 
Hi Pfoto,

ja das wäre ne Idee, nur leider sind meine Labels quer in der ganzen Anwendung
verteilt, deswegen kann ich sie nicht auf ein Panel packen.

Pfoto 1. Feb 2007 17:56

Re: Labels sollen gleich Aussehen und gleiches Verhalten hab
 
Und warum definierst du nicht eine Funktion, die
einfach aktuell prüft, welche Einstellungen du vorgenomme hast
und die dann die entsprechende Einheit zurückliefert?

Delphi-Quellcode:
label1.caption:= GetCurrentUnit;
Die Funktion "GetCurrentUnit" müsste dann global vorliegen.

Gruß
Pfoto


Alle Zeitangaben in WEZ +1. Es ist jetzt 19:53 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