Einzelnen Beitrag anzeigen

BerndS

Registriert seit: 8. Mär 2006
Ort: Jüterbog
480 Beiträge
 
Delphi 11 Alexandria
 
#12

AW: Code Optimierung zu ".. is <type>"

  Alt 11. Mär 2022, 22:43
Ich hatte erwartet, dass nach Uwes Beitrag die Frage beantwortet ist. Denn nach der ersten if Component is TLabel macht eine weitere Prüfung per as doch keinen Sinn mehr.
Man könnte es aber auch so machen. Aber with sollte ja nicht mehr verwendet werden.
Hier wird die Typenprüfung gemacht und für den Fall, dass dieser nicht passt die Exception abgefangen.
Delphi-Quellcode:
   try
     with (Component as TLabel) do
       if pos('||', Caption) = 0 then
       begin
         ....
         Caption := Caption + ' || ' + s;
      end;
    except
    end;

Ohne with würde ich diese Variante verwenden.
Delphi-Quellcode:
  if (Component is TLabel) then
  begin
    if pos('||',TLabel(Component).Caption) = 0 then
    begin
      ....
      TLabel(Component).Caption := TLabel(Component).Caption + ' || ' + s;
    end;
  end;
end
Die Verwendung einer weiteren Variante ist so nicht notwendig.
Bernd
  Mit Zitat antworten Zitat