![]() |
Re: Code verkürzen (Clear bei mehreren Edits)
Mal ganz im Ernst .... die Suche existiert nicht umsonst :!:
z.B.: ![]() ![]() Und das ist gerade Mal einen Tag alt. |
Re: Code verkürzen (Clear bei mehreren Edits)
Erstmal danke. Genau das was ich wissen wollte.
Zitat:
|
Re: Code verkürzen (Clear bei mehreren Edits)
Hier scheint Verwirrung zu herrschen. :mrgreen: Trotzdem noch zu dem is/as. Man kann ja sogar den Namen der Komponente für gezielte Aktionen verwenden. Angenommen, man will irgendeinen Text wegen irgendeiner Aktion, z.B. ButtonClick nur im "Edit9" haben :
Delphi-Quellcode:
Wäre zwar identisch mit
if c is TEdit then
if (copy ((c as TEdit).Name,5,1) = '9') then (c as TEdit).Text := 'TEST';
Delphi-Quellcode:
, ABER :
Edit9.Text := 'TEST';
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. Nenne ich die Adress-Felder jetzt konsequent z.B. edAdrAnrede, edAdrName etc. dann brauche ich nur auf 'edAdr' zu prüfen (siehe oben) und mache auf einen Schlag die Adresse leer, ohne die anderen Felder zu beeinflussen. |
Re: Code verkürzen (Clear bei mehreren Edits)
"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:
|
Re: Code verkürzen (Clear bei mehreren Edits)
Tja, die Tags könnte man auch verwenden für sowas. Aber dann sind sie auch nicht mehr frei verfügbar. Und wer weiß ? Wird das mit String-Operationen zu schwer lesbar, dann macht man besser eigene Properties. Bei mir gibts z.B. im OI ein published "aktiv". Das setze ich notfalls mal schnell auf false und die Funktion ist gesperrt. :mrgreen:
|
Re: Code verkürzen (Clear bei mehreren Edits)
Zitat:
|
Re: Code verkürzen (Clear bei mehreren Edits)
Zitat:
|
Re: Code verkürzen (Clear bei mehreren Edits)
du hast einen komplizierten weg vorgeschlagen und als man dann einen einfacheren genannt hat, eine Grund gegen diesen gefunden.
|
Re: Code verkürzen (Clear bei mehreren Edits)
nja, das .Tag ist ja zur freien Nutzung für den Programmierer vorgesehn und wofür man es nun verwendet ist dabei egal ... also kann man es auch ganz gut zur Identifikation nutzen.
ich hab hier irgendwo 'nen alten Installer-Setup rumliegen, dessen Benutzeroberfläche komplett über .Tag identifiziert wird (einige viele Edits, Buttons, ListBoxen ...) dort sind im .Tag dann die Objekt-ID, Gruppen-ID und einige Statusflags integriert, worüber z.B. alle Edits mit nur ein/zwei Ereignisprozeduren behandelt werden können. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 20:21 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz