Announcement

Collapse
No announcement yet.

Variablen als Parameter/Zählvariablen

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Variablen als Parameter/Zählvariablen

    Folgendes Problem:
    Ich habez.B. 5 Labels label1..label5 und möchte nun alle löschen (bedeutet: caption := '').
    Gibt es eine Möglichkeit, das mittels

    for label1 to label5

    oder

    procedure loesche(var x:TLabel)

    zu lösen?

  • #2
    Geht beides......
    <p>
    Sinnvoller ist es sicher mit der <b>FindComponent</b>-Methode des Formulars:<p>

    <code><pre>
    <font face="Courier New"><font color="#000080"><b>procedure</b></font> TForm1<font color="#FF0000">.</font>LabelsLoeschen<font color="#FF0000">(</font>Sender<font color="#FF0000">:</font> TObject<font color="#FF0000">)</font><font color="#FF0000">;</font>
    <font color="#000080"><b>var</b></font>
    i<font color="#FF0000">:</font> Integer<font color="#FF0000">;</font>
    <font color="#000080"><b>begin</b></font>
    <font color="#000080"><b>for</b></font> i <font color="#FF0000">:=</font> <b>1</b> <font color="#000080"><b>to</b></font> <b>5</b> <font color="#000080"><b>do</b></font>
    TLabel<font color="#FF0000">(</font>FindComponent<font color="#FF0000">(</font>Format<font color="#FF0000">(</font><b>'Label%d'</b><font color="#FF0000">,</font> <font color="#FF0000">[</font>i<font color="#FF0000">]</font><font color="#FF0000">)</font><font color="#FF0000">)</font><font color="#FF0000">)</font><font color="#FF0000">.</font>Caption <font color="#FF0000">:=</font> <b>''</b><font color="#FF0000">;</font>
    <font color="#000080"><b>end</b></font><font color="#FF0000">;</font></font>
    </pre></code><hr>
    Aber du kannst auch eine Prozedur machen (in dem Fall aber wahrscheinlihc nicht so sinnvoll):<p>
    <code><pre>
    <font face="Courier New"><font color="#000080"><b>procedure</b></font> TForm1<font color="#FF0000">.</font>Loeschen<font color="#FF0000">(</font>Lbl<font color="#FF0000">:</font> TLabel<font color="#FF0000">)</font><font color="#FF0000">;</font>
    <font color="#000080"><b>begin</b></font>
    Lbl<font color="#FF0000">.</font>Caption <font color="#FF0000">:=</font> <b>''</b><font color="#FF0000">;</font>
    <font color="#000080"><b>end</b></font><font color="#FF0000">;</font></font>
    </pre></code>
    Die Var-Übergabe bringt in dem Fall nichts, da bei Objekten immer nur ein 32-Bit-Zeiger auf das Objekt übergeben wird.<p>
    Gruß,<br>
    Bernhar

    Comment

    Working...
    X