Welcome
Guest
, you are in:
<root>
•
Anmelden
CP Wiki
Navigation
¶
CP Solutions
Startseite
domizil+
Startseite
Administration
Administration
Neue Seite
Alle Seiten
Kategorien
Navigations-Pfade
Datei Manager
Neuer Benutzer
Suche im wiki
»
Zurück
funktion FieldByName
Modified on 08/04/2010 17:17
by
CPATRD
Categorized as
Plattform
'''Syntax:''' {{{{'''function''' FieldByName(const FieldName: string): TField@@}}}} '''Beschreibung:''' Die Methode FieldByName sucht ein Feld anhand seines Namens. Mit FieldByName können Sie Informationen zu einem Feld über dessen Namen abrufen. Dieser Name wird im Parameter FieldName übergeben. Die Methode gibt die TField-Komponente des gesuchten Feldes zurück. Ist das angegebene Feld nicht vorhanden, wird eine EDatabaseError-Exception ausgelöst. FieldName kann der Name eines einfachen Feldes, der qualifizierte Name eines Unterfeldes in einem Objektfeld oder der Name eines Aggregatfeldes sein. Aufgrund dieser Flexibilität ist FieldByName in vielen Situationen besser geeignet als die Eigenschaft Fields oder AggFields. In einer Anwendung kann direkt auf bestimmte Eigenschaften und Methoden des von FieldByName zurückgegebenen Feldes zugegriffen werden. So kann beispielsweise mit folgender Anweisung ermittelt werden, ob ein bestimmtes Feld ein berechnetes Feld ist: <code pascal> if Customers.FieldByName('FullName').Calculated then begin MessageDlg(Format('%s is a calculated field. ', ['FullName']), mtInformation, [mbOK], 0); if (Customers->FieldByName("FullName")->Calculated) begin Application.ShowMessage("This is a calculated field", "FullName", MB_OK); end; end; </code> FieldByName ist insbesondere während des Entwurfs hilfreich, wenn Sie keinen Zugriff auf die zugrunde liegende Tabelle haben und deshalb keine persistenten Feldkomponenten verwenden können. Tipp: Um auf den Wert eines bestimmten Feldes zuzugreifen, rufen Sie anstelle von FieldByName die Standard-Datenmengenmethode FieldValues auf. '''Beispiel:''' <code pascal> //In diesem Beispiel wird über das Ereignis BeforeInsert eine Datenprüfung implementiert. //Löst die Funktion StrToInt eine Exception aus, wird der Inhalt des Eingabefeldes auf einen gültigen Wert zurückgesetzt, //damit die Zuordnung zum Integerfeld in der Datenmenge erfolgreich durchgeführt werden kann. procedure TForm1.ClientDataSet1BeforeInsert(DataSet: TDataSet); begin try //Sicherstellen, dass Eingabefeld in Integer konvertiert werden kann. //Andernfalls wird Exception ausgelöst. StrToInt(Edit1.Text); except Edit1.Text := '0'; end; end; procedure TForm1.Button1Click(Sender: TObject); begin ClientDataSet1.Insert; ClientDataSet1.FieldByName('QUANTITY').AsInteger := StrToInt(Edit1.Text); ClientDataSet1.Post; end; </code>
ScrewTurn Wiki
version 3.0.1.400. Some of the icons created by
FamFamFam
.