2.23 :insert()

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

2.23.1 :insert() (Listenobjekte)

Mit Hilfe dieser Methode können Zeilen und Spalten in den Inhalt eines Objektes eingefügt werden, wenn der Inhalt dieses Objekts aus mehreren, mit integer oder index indizierten, Einträgen besteht. Das Einfügen ist auch möglich, wenn noch keine Einträge vorhanden sind. Beim Einfügen werden auch die dazugehörenden Attribute entsprechend erweitert. Die neu eingefügten Einträge sind leer bzw. weisen – sofern vorhanden – den Standardwert auf.

Definition

boolean :insert
(
      integer Position input
  { , integer Count := 1 input }
  { , boolean Direction := false input }
)

Parameter

integer Position input
Dieser Parameter definiert, an welcher Stelle die neuen Zeilen bzw. Spalten eingefügt werden. Wenn sein Wert 0 ist, werden die Zeilen bzw. Spalten am Ende angehägt.
integer Count := 1 input
Mit diesem optionalen Parameter wird die Anzahl der einzufügenden Zeilen bzw. Spalten festgelegt. Wird der Parameter nicht angegeben, so wird 1 angenommen.
boolean Direction := false input

Dieser optionale Parameter steuert beim tablefield, ob Zeilen oder Spalten eingefügt 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
Einfügen entgegen der vom Attribut .direction angegebenen Richtung
true
Einfügen in der vom Attribut .direction angegebenen Richtung

Damit werden beim tablefield folgende Inhalte eingefügt:

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 Zeilen bzw. Spalten eingefügt werden konnten.

Wenn beim Einfügen ein Fehler aufgetreten ist, gibt die Methode ein fail zurück.

Objekte mit dieser Methode

Beispiel

dialog D

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

  child treeview Tv
  {
    .content[1] "Firma A";
    .content[2] "Mueller";
    .content[3] "Mayer";
    .content[4] "Firma B";
    .content[5] "Schulz";
    .content[6] "Schmidt";
    .content[7] "Fischer";
    .style[style_lines]   true;
    .style[style_buttons] true;
    .style[style_root]    true;
    .level[2] 2;
    .level[3] 2;
    .level[5] 2;
    .level[6] 2;
    .level[7] 2;
  }

  child pushbutton Pb
  {
    .text "Fuege neuen Mitarbeiter ein";

    on select
    {
      if fail(atoi(Et_level.content)) then
        Et_level.content := "Sie haben keine Stufe angegeben";
      else
        Tv:insert((Tv.activeitem + 1));
        Tv.level[(Tv.activeitem + 1)] := atoi(Et_level.content);
        Tv.content[(Tv.activeitem + 1)] := Et_name.content;
        Et_level.content := "Auf welcher Stufe?";
      endif
    }
  }
  child edittext Et_name
  {
    .content "Hier Name eingeben";
  }
  child edittext Et_level
  {
    .content "Auf welcher Stufe?";
  }
}

2.23.2 :insert() (Felder)

Mit Hilfe dieser Methode können neue Elemente in Felder (indizierte, nicht-assoziative, benutzerdefinierte Attribute) eingefügt werden. Die neu eingefügten Elemente sind leer bzw. weisen – sofern vorhanden – den Standardwert auf.

Definition

boolean :insert
(
      attribute Attr input,
      integer Position input
  { , integer Count := 1 input }
)

Parameter

attribute Attr input
Dieser Parameter definiert das benutzerdefinierte Attribut, auf das die Methode angewendet werden soll.
integer Position input
In diesem Parameter wird der Index übergeben, an dem die neuen Elemente eingefügt werden sollen. Wenn sein Wert 0 ist, werden die Elemente am Ende angehängt.
integer Count := 1 input
Dieser optionale Parameter definiert die Anzahl der einzufügenden Elemente. Wird der Parameter nicht angegeben, so wird 1 angenommen.

Rückgabewert

Die Methode gibt true zurück, wenn die Elemente eingefügt werden konnten.

Wenn beim Einfügen 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“