![]() |
Welche Vorteile haben persistente Felder?
Tja,
wollte mal eure Meinungen zu dem Thema haben. Ich benutze persistente Felder um Eigenschaften, wie 'visible' und 'readonly' für mein DBGrid zu verwenden. Ich glaube, das geht nicht ohne...? Oder doch? |
Re: Welche Vorteile haben persistente Felder?
du kannst mittels properties und feldern bestimmte eigenschaften verändern und das ganze gleichzeitig mit einer prozedur verbinden. das programm wird meines erachtens viel übersichtlicher und fehler findest du auch eher.
|
Re: Welche Vorteile haben persistente Felder?
Hi,
Zitat:
Danke! |
Re: Welche Vorteile haben persistente Felder?
Hi!
Ich erlaube mir, auf diese Frage zu Antworten:
Delphi-Quellcode:
{ Deine Klasse }
TMyLittleClass = class(TObject) private { Interne Varablen } FIntegerValue: Integer; FStringValue: String; function GetIncInteger: Integer; //Funktion, die das Resultat der Egenschaft liefert { Private-Deklarationen } protected { Protected-Deklarationen } public { Public-Deklarationen } published { Eigenschaften ("Schnitstellen zu den Internen Variablen") } property IntegerValue: Integer read FIntegerValue; //<-- Read-Only property IncInteger: Integer read GetIncInteger; //<-- Read-Only property StringValue: String read FStringValue write FStringValue; //<-- Read&Write { Published-Deklarationen } end; |
Re: Welche Vorteile haben persistente Felder?
Nehmen wir mal an, der Benutzer deiner Anwendung kann die Reihenanzahl eines StringGrids verändern. Bei jeder Veränderung (! wirklich nur bei einer Veränderung !) soll das Grid geleert werden und gleichzeitig die neue Reihenanzahl in der Zelle rechts unten angezeigt werden. Nun gibt es aber in deinem Programm sehr viele Möglichkeiten zur Veränderung der Reihenanzahl ... (dummes Beispiel, mir fällt aber jetzt spontan nix besseres ein):
Du deklarierst eine Variable, eine Property und eine Prozedur:
Delphi-Quellcode:
...
procedure SetReihen(Value: Integer); private { Private-Deklarationen } FReihen: Integer; property Reihen: Integer read FReihen write SetReihen; public { Public-Deklarationen } end; ... Die Prozedur "SetReihen" sieht wie folgt aus:
Delphi-Quellcode:
Der Zugriff auf die Property erfolgt denkbar einfach:
procedure TForm1.SetReihen(Value: Integer);
var r, c: Integer; begin if Value = FReihen then Exit; FReihen := Value; For r := 0 To StringGrid1.RowCount - 1 do For c := 0 To StringGrid1.ColCount - 1 do StringGrid1.Cells[r, c] := ''; StringGrid1.Cells[StringGrid1.ColCount - 1, StringGrid1.RowCount - 1] := IntToStr(FReihen); end;
Delphi-Quellcode:
Wenn "Reihen" (oder besser gesagt "FReihen") schon vor der Veränderung den Wert 5 hatte, wird am StringGrid nix verändert. Das ganze macht natürlich erst bei richtig vielen Eigenschaften Sinn.
Reihen := 5;
|
Re: Welche Vorteile haben persistente Felder?
Hi,
danke euch für die Aufklärung! |
Re: Welche Vorteile haben persistente Felder?
Hi,
um das nochmal ganz einfach zu formulieren, bei persistenten Feldern kannst Du zur Desintime Eigenschaften (Sichtbar, Breite des Feldes, Überschrift und vieles mehr) festlegen, ohne Code schreiben zu müssen, bei nicht persistenten Feldern mußt Du code schreiben, der das zur Laufzeit tut, was in vielen Fällen mehr Arbeit ist, aber auf jeden Fall mehr Know How erfordert. Grüsse Woki |
Alle Zeitangaben in WEZ +1. Es ist jetzt 22:06 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 by Thomas Breitkreuz