2.9 :clear()

Die Methode :clear() gibt es in zwei verschiedenen Ausprägungen:

2.9.1 :clear() (Listenobjekte)

Mit Hilfe dieser Methode können die Werte in Zeilen und Spalten des Inhalts eines Objektes gelöscht werden, dessen Inhalt aus mehreren, mit integer oder index indizierten, Einträgen besteht. Zusammen mit dem Inhalt werden auch die Werte der dazugehörenden Attribute gelöscht.

Im Unterschied zur :delete()-Methode werden mit :clear() nur die Werte in den Zeilen bzw. Spalten gelöscht. Die Einträge selbst bleiben als leere Einträge erhalten, die – sofern vorhanden – den Standardwert aufweisen. :clear() verringert also die Anzahl der Zeilen bzw. Spalten nicht.

Definition

boolean :clear
(
      integer Start input
  { , integer Count := 1 input }
  { , boolean Direction := false input }
)

Parameter

integer Start input
Dieser Parameter definiert die Position, ab der die Inhalte der Zeilen bzw. Spalten gelöscht werden sollen.
integer Count := 1 input
Mit diesem optionalen Parameter wird die Anzahl der Zeilen bzw. Spalten festgelegt, deren Inhalte gelöscht werden sollen. Wird der Parameter nicht angegeben, so wird 1 angenommen.
boolean Direction := false input)

Dieser optionale Parameter steuert beim tablefield, ob die Inhalte von Zeilen oder von Spalten gelöscht werden. Dies ist abhängig vom Wert des tablefield-Attributs .direction.

Der Parameter darf nur beim tablefield angegeben werden. Bei anderen Objekten als dem tablefield führt die Angabe des Parameters zu einem Fehler.

Wertebereich

false
Löschen entgegen der vom Attribut .direction angegebenen Richtung
true
Löschen in der vom Attribut .direction angegebenen Richtung

Damit werden beim tablefield folgende Inhalte gelöscht:

Parameter Direction

.direction 1 (vertikal)

.direction 2 (horizontal)

false

Zeile(n)

Spalte(n)

true

Spalte(n)

Zeile(n)

Rückgabewert

Die Methode gibt true zurück, wenn die Inhalte der Zeilen bzw. Spalten gelöscht werden konnten.

Wenn beim Löschen der Inhalte ein Fehler aufgetreten ist, gibt die Methode ein fail zurück.

Objekte mit dieser Methode

Beispiel

window Wn
{
  .title "Beispiel fuer die Methode :clear()";

  child listbox Lb
  {
    .content[1] "Klettenheimer";
    .content[2] "Strassenmeier";
    .content[3] "Redweik";
    .content[4] "Tilly";
    .content[5] "Mueller";
    .content[6] "Meyer";
    .content[7] "Schulz";
  }

  child pushbutton Pb_clear
  {
    .text "Loesche Eintrag";

    on select
    {
      Lb:clear(Lb.activeitem);
    }
  }
}

2.9.2 :clear() (Felder)

Mit Hilfe dieser Methode können die Inhalte von Elementen in Feldern (indizierte, nicht assoziative, benutzerdefinierte Attribute) gelöscht werden.

Im Unterschied zur :delete()-Methode werden mit :clear() nur die Inhalte der Elemente gelöscht. Die Elemente selbst bleiben als leere Elemente erhalten, die – sofern vorhanden – den Standardwert aufweisen. :clear() verringert also die Anzahl der Elemente nicht.

Besonderheit

Die :clear()-Methode kann auch dafür benutzt werden, alle Elemente eines assoziativen Felds zu löschen. In diesem Fall dürfen weder der Start- noch der Count-Parameter angegeben werden. Es ist also nicht möglich, mit :clear() einzelne Elemente aus einem assoziativen Feld zu löschen. Außerdem werden in diesem Fall nicht nur die Inhalte sondern die Elemente selbst gelöscht. Die Anzahl der Elemente ist danach also 0.

Definition

boolean :clear
(
      attribute Attr input
  { , integer Start input }
  { , integer Count input }
)

Parameter

attribute Attr input
Dieser Parameter definiert das benutzerdefinierte Attribut, auf das die Methode angewendet werden soll.
integer Start input

Dieser Parameter definiert die Position, ab der die Inhalte der Elemente gelöscht werden sollen.

Der Wertebereich für Start ist 0 … .count[Attr], d.h. es kann auch der Standardwert gelöscht werden.

Wenn weder Start noch Count angegeben sind, werden die Inhalte aller Elemente gelöscht.

integer Count input

Dieser optionale Parameter definiert die Anzahl der Elemente, deren Inhalte gelöscht werden sollen.

Wenn weder Start noch Count angegeben sind, werden die Inhalte aller Elemente gelöscht.

Wenn Start angegeben wird, ist der Standardwert von Count 1.

Rückgabewert

Die Methode gibt true zurück, wenn die Inhalte der Elemente gelöscht werden konnten.

Wenn beim Löschen der Inhalte ein Fehler aufgetreten ist, gibt die Methode ein fail zurück.

Objekte mit dieser Methode

Alle Objekte, die benutzerdefinierte Attribute haben können.

Siehe auch

Kapitel „Methoden für Arrays benutzerdefinierter Attribute“ im Handbuch „Benutzerdefinierte Attribute und Methoden“