![]() |
Unterschied zwischen TStrings und TStringList Deklaration
Hallo,
ich habe mal eine Frage rein interessehalber, wenn man eine StringList deklariert warum dies mit TStrings geschieht. In der Delphi-Hilfe ist dies angegeben:
Delphi-Quellcode:
Warum wird die Deklaration nicht direkt mit TStringList durchgeführt?
procedure TForm1.Button1Click(Sender: TObject);
var TempList: TStrings; { Liste deklarieren } begin TempList := TStringList.Create; { Listenobjekt erzeugen } try { Stringliste verwenden } finally TempList.Free; { Listenobjekt freigeben } end; end; In der Delhi-Hilfe der Version 7, unter dem Beispiel für die Methoden Add, AddStrings, Find Wird die String-Liste mit:
Delphi-Quellcode:
Wie soll nun die String-Liste deklariert werden?
Var MyList: TStringList // deklariert.
Welche Vor- und Nachteile können sich daraus ergeben? Bis bald Chemiker |
Re: Unterschied zwischen TStrings und TStringList Deklaratio
TStringList ist eine Erweiterung von TStrings meines Wissens nach.
Man sollte bei der Deklaration
Delphi-Quellcode:
verwenden
Var MyList: TStringList // deklariert.
|
Re: Unterschied zwischen TStrings und TStringList Deklaratio
Um mal aus der Hilfe zu zitieren ;)
Zitat:
|
Re: Unterschied zwischen TStrings und TStringList Deklaratio
Hallo,
wenn ich eine Variable vereinbare, dann verwende ich immer diejenige Vorgänger-Klasse, deren Eigenschaften und Methoden für meine Zwecke ausreichen. Dadurch erhöhe ich die Wiederverwendbarkeit des Codes beträchtlich. Bei einer StringList gilt es zu prüfen, ob die neu eingeführten Methoden und Eigenschaften bzgl. der Sortierfähigkeit im Vordergrund der Anwendung stehen. In diesem Fall würde ich auch die Variable mit dem Typ TStringList vereinbaren, aber nur für den Kontext in welchem diese Eigenschaften benötigt werden. Bei der Übergabe an eine Funktion, die keinen Gebrauch von diesen Eigenschaften macht, würde ich dann wieder mit TStrings arbeiten. Die Vorgehensweise gilt für alle Klassen und ist eine direkte Umsetzung des Information Hiding Prinzips. Grüße vom marabu |
Re: Unterschied zwischen TStrings und TStringList Deklaratio
Hallo,
danke für die schnelle Antwort. Was ich feststellen muss, dass die Meinungen bezüglich der Deklaration von StringList da etwas auseinander gehen. Was marabu geschrieben hat ist aber sehr interessant, weil ich so bisher nicht vorgegangen bin. Das liegt aber wohl an meinen Programmierstil, wenn ich anfange weis ich nicht immer so im Detail was letztlich am Ende rauskommt. Während des Schreibens kommen Ideen die ich dann versuche auch noch umzusetzen. Ich versuche mal das Ganze in einem Satz zusammenzufassen: So viel wie nötig, so wenig wie möglich Bis bald Chemiker |
Alle Zeitangaben in WEZ +1. Es ist jetzt 12:58 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