"as" prüft genauso wie "is" ... nur wirft "as" im Fehlerfall eine
Exception und gibt als Result den Typ des Vergleichs,
wärend "is" nur prüft und als Result einen Boolean mit dem Ergebnis des Vergleichs liefert.
und typ(var) konvertiert ohne eine Prüfung...
da jetzt schon mit "is" geprüft wurde, kann man also jegliche weitere Prüfung mit "as" eigentlich weglassen.
Delphi-Quellcode:
if c is TEdit then
if (copy (TEdit(c).Name, 5, 1) = '9') then
TEdit(c).Text := 'TEST';
Zitat:
Wenn man die Namen der Komponenten geschickt wählt, dann lassen sich schöne Konstrukte bauen, die man dann mit Schleife über ComponentCount und dem entsprechenden Prefix etc. gezielt ansprechen kann. Beispiel : Adresse und noch diverse andere Editfelder.
man kann auch .Tag geschickt verwenden und so die aufwendigen Stringoperationen durch nette Integer-Operationen ersetzen