Benutzer-Werkzeuge

Webseiten-Werkzeuge


k10:k10.5:k10.5.4:start

10.5.4 With .. End With

Die Syntax der With…End_With-Kontrollstruktur ist einfach:

WITH Object Name
  ... 
END WITH
  • Zwischen dem With und dem Ende der With-Instruktion beginnt ein Ausdruck mit einem Punkt und stellt so den Bezug (→ Objekt-Selektor) zu dem nach With notierten Objekt her.
  • Sie können With…End_With-Strukturen auch verschachteln.

Beispiel 1

With btnCancel
  .Text = "Cancel"
End With ' Äquivalent zur Anweisung: btnCancel.Text = "Cancel"

Die Stärke der With…End_With-Struktur zeigt sich erst dann, wenn Sie zum Beispiel viele Eigenschaftswerte für ein Objekt setzen müssen, so wie Sie das im nächsten Quelltext-Ausschnitt aus der Datei ../src/gb.form/ListContainer.class sehen.

Beispiel 2

Public Sub _new() 
 
  $hScrollView = New ScrollView(Me) As "ScrollView" 
  $hScrollView.Resize(80, 60) 
  $hScrollView.Name = Me.Name & ".ScrollView" 
 
  $hTimer = New Timer As "Child" 
  $hTimer.Delay = 80 
 
  With $hScrollView 
    .Border = True 
    .ScrollBar = Scroll.Vertical 
    .Background = Color.TextBackground 
    .Arrangement = Arrange.Vertical 
    $iSaveBackground = .Background 
    $iSaveForeground = Color.TextForeground 
  End With 
 
  Me._Container = $hScrollView 
  Me.Arrangement = Arrange.Vertical 
 
End ' _new()

Seit Gambas 3.5 können Sie die With…End_With-Syntax auch für Elemente eines Arrays oder einer Collection in zwei unterschiedlichen Schreibweisen nutzen:

Beispiel 3

Public Sub Main()
  Dim hArray As New String[]
  Dim hCollection As New Collection
  Dim i As Integer
 
  hArray.Add("Maria")
  hArray.Add("Peter")
 
  With hArray
    Print .[0], !"1" ' !"1" ist äquivalent für .[1] 
  End With
 
  hCollection["1"] = "Maria"
  hCollection.Add("Peter", "2")
  hCollection["3"] = "Uta"
  hCollection["4"] = "Eva"
 
  With hCollection
    !"5" = "Susi" ' Äquivalent für .["5"] = "Susi"
    For i = 1 To .Count
        Print .[Str(i)],
    Next
  End With  
End ' Main()

Die Prozedur Main() erzeugt folgende Ausgaben in der Konsole:

Maria   Peter
Maria   Peter   Uta     Eva     Susi

Wenn Sie sich die drei Beispiele genau ansehen, werden Sie sicher erkennen: Sie können einiges an Schreibarbeit mit der With…End_With-Struktur sparen und dem Quelltext Struktur geben – mehr nicht.

Download

Wir verwenden Cookies, um unser Internetangebot optimal zu gestalten. Durch weitere Nutzung dieser Webseite stimmen Sie der Verwendung von Cookies zu. Informationen zu Cookies erhalten Sie in unserer Datenschutzerklärung
k10/k10.5/k10.5.4/start.txt · Zuletzt geändert: 20.06.2016 (Externe Bearbeitung)

Seiten-Werkzeuge