Re: Multipage-Support: Ich komme nicht weiter
... aber an sich ist es genau so, wie du es meintest, oder?
Und wie funktioniert das mit den properties? |
Re: Multipage-Support: Ich komme nicht weiter
Hi,
noch nicht. Die greifst falsch auf die Seiten zu (per TSeite(Index) geht das nicht). Zu den Properties: http://www.dsdt.info/grundlagen/sprache/oo.php Bei "Eigenschaften oder Properties" geht es los. Die Property für die Dokumentklasse wäre, wie schon geschrieben:
Delphi-Quellcode:
Und anstatt dem Aufruf "TSeite(Index)", geht es dann über Items[Index].
property Items[Index: Integer]: TSeite read GetSeite;
|
Re: Multipage-Support: Ich komme nicht weiter
.. also
Delphi-Quellcode:
, weil sonst kann ich ja nicht auf die Seiteneigenschaften zugreifen, oder?
TSeite(Items[Index])
|
Re: Multipage-Support: Ich komme nicht weiter
Hi,
Items gibt eine TSeite zurück, da brauchst Du keinen Typecast mehr ;) |
Re: Multipage-Support: Ich komme nicht weiter
He sorry, aber ich kapiere es grade überhaupt nicht mehr:
Zitat:
|
Re: Multipage-Support: Ich komme nicht weiter
Hi,
also, nochmal langsam :-) Wie auf DSDT.info steht, kann man mit einer property Lese- und Schreibzugriff auf eine Variable (ich sage mal) "überwachen". Mit Read überwacht man Lesezugriff und mit write Schreibzugriff. Bei unserer Items-Property gibt es aber nur ein Read, will heißen, man kann nur Lesen und nicht Schreiben:
Delphi-Quellcode:
Ruft man nun im Source Items[Index] auf, wird die Function GetSeite aufgerufen.
property Items[Index: Integer]: TSeite read GetSeite;
Delphi-Quellcode:
Wie Du hier siehst, wird schon eine Seite zurückgegeben (Funktionen kennst Du ja bestimmt, nur statt hier ein Boolean, Integer oder String zurückgegeben wird, wird hier ein Object, eine TSeite, zurückgegeben).
function TDokument.GetSeite(Index: Integer): TSeite;
begin Result := TSeite(inherited Items[Index]); end; Deswegen kannst Du auch direkt auf Items[Index].Width zugreifen und brauchst nicht TSeite(Items[Index].Width) schreiben. Unter dem Stichwort typisierte Listen sollte noch mehr zu finden sein. |
Re: Multipage-Support: Ich komme nicht weiter
Danke, da hab ich wieder etwas dazugelernt,
damit ergeben sich für mich ganz neue Programmiereigenschaften! |
DP-Maintenance
Dieses Thema wurde von "Christian Seehase" von "Programmieren allgemein" nach "Object-Pascal / Delphi-Language" verschoben.
Ein delphispezifisches Problem. |
Re: Multipage-Support: Ich komme nicht weiter
Liste der Anhänge anzeigen (Anzahl: 1)
Hallo,
also mittlerweile habe ich das Grundkonzept umgesetzt. Im Anhang befindet sich ein Test-Projekt, in das man zunächst, eben nur zu Testzwecken, beliebig viele Seiten einfügen kann (jeder Seite kann eine individuelle Hintergrundfarbe zugewiesen werden). Nun habe ich für TSeite und TDokument Save und Load Prozeduren geschrieben. Leider scheiter ich an der Load Prozedure für TDokument. Theoretisch müsste das mit einer repeat until Schleife funktionieren, hab nur keine Ahnung wie. Würde mich freuen, wenn sich jemand mal das Test-Projekt ansieht und mir mit der Procedure TDokument.Load(Datei: TFileStream) helfen könnte! Vielen Dank hansklok |
Re: Multipage-Support: Ich komme nicht weiter
... kann mir niemand helfen?
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:23 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz