![]() |
sichtbar <> unsichtbar?
Hi Leuts und ein gesegnetes Fest.
Mich beschäftigt eine Frage: Angenommen ein Form hat 20 Labels. Jedes davon kann per einer procedure auf invisible geschaltet werden. Gibt es ein möglichkeit zu zählen wieviele davon sichtbar und wieviele unsichtbar sind? Das wäre interessant, weil man dann die Grösse der Labels anpassen könnte.Wenn nur wenige zu sehen sind soll sie grösser sein, bei allen halt entsprechend kleiner?! |
Mach die wie in dem anderen Topic erklärt in ein Array, dann frag für jedes Element des Arrays ab, ob es sichtbar ist. Dann zaählst du zusammen, wieviele sichbar sind (immer wenn eins sichtbar ist, zählst du eine Variable um eins hoch) und dann hast du am Ende in der Variablen die Anzahl der sichbaren!
|
Hoi.
Du kannst mit Findcomponent alle Labels abklappern und dann die Visible-Eigenschaft überprüfen. Oder du erhöhst in den "versteck"-Proceduren einen Count. Der entspricht ja dann den Versteckten Labels. |
:dancer2: Ich war schneller! :dancer:
|
Shit. Aber ich hab zwei Lösungswege genannt :mrgreen: :twisted:
|
Hi Jungs, die Theorie ist mir schon klar :|
aber wie siehts in der Praxis aus. Vielleicht habe ich zu allgemein gefragt... Wie frage ich mit Findcomponents ob sie sichtbar sind oder nicht? Und muss es ein Array sein oder reicht eine integer die ich anfans auf 0 setze und dann erhöhe? |
Sichtbare := 0;
if label1.visible = true then inc(sichtbare); das für jeden button, dann steht in Sichtbare die Anzahl. Machst du aber ein Array of TLabel kannst du mit Sichtbare := 0; for i := low(Array) to High(array) do if label[i].visible = true then inc(sichtbare); in 3 Zeilen packen... |
Danke NAilor,
inc steht für increment, richtig? Und der Rückgabewert ist der Integer: Sichtbar.. Geht sowas zur Laufzeit,oder gibts da Probleme? |
inc: Increment. Bei nur einem Parameter wird dieser um 1 erhöht.
Das ganze geht nur zur Laufzeit. Vorher hast du doch noch gar keine Labels! |
ja, sorry, natürlich.Falsche Frage von mir.
Ich meinte im Bezug auf meine ursprüngliche Frage, was das anpassen der Grösse der Labels angeht. Also habe ich folgende Reihenfolge: Erstellen der LAbels mithilfe von array of TLabel Zählen der sichtbaren Labels. Einstellen der Größe der Labels,abhängig vom vorhergehenden Ergebnis. Jetzt sollte die Möglichkeit bestehen zur Laufzeit des Programmes die Anzahl zu verändern, (Click auf ein Shape in diesem Fall) und damit o.g. Reihenfolge zu aktualisieren.Gleichzeitig sollte die aktuelle Anzahl festgehalten werden(Ini oder Reg). |
Alle Zeitangaben in WEZ +1. Es ist jetzt 05: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