Step 16 - with

OOP erstmal einfach: Die with-Klausel

Um mehrere Eigenschaften oder Methoden eines Objektes komfortabel zu nutzen oder zu ändern, kann man die anweisung "with" verwenden.
Folgende Beispiele zeigen kurz und knapp die Verwendung von "with":
  with [Objekt] do
  begin
    // Anweisungen
  end;

//Beispiele:

  with MyEdit do
  begin
    Text:='test mit with';
    with Font do
    begin        
      Color:= clRed;
      Name:= 'Verdana';
      Size:= 10;
    end;
    PasswordChar:= '*';
  end;

// Ohne With:

  MyEdit.Text:='test ohne with';
  MyEdit.Font.Color:= clRed;
  MyEdit.Font.Name:= 'Verdana';
  MyEdit.Font.Size:= 10;
  MyEdit.PasswordChar:= '#';


  with MyEdit do
    Text:= IntToStr(StrToInt(Text)+StrToInt(Text));

// Ohne With:

  MyEdit.Text:= IntToStr(StrToInt(MyEdit.Text)+StrToInt(MyEdit.Text));
An diesem kurzen Beispiele kann man schon die Vorteile der With-Klausel erkennen. Es ist weniger zu lesen. Nachteilig kann das werden, wenn "zu viel" Source per with abgedeckt wird und man in diesen großen Methoden nicht mehr weiß, auf was sich "Text" nun bezieht. Aber, für kurze zusammenfassende Bereiche, hilft es schon, die Lesbarkeit und damit die Übersichtlichkeit zu verbessern.