![]() |
Delphi-Version: 6
Items in TComboBox überschreiben
Hallo!
Ich habe eine Klasse geschrieben, die von TStringList abgelitten ist und ein paar extra Prozeduren wie z.B. deleteDublicates enthält:
Delphi-Quellcode:
Die möchte ich jetzt gerne für den Inhalt einer TComboBox nutzen.
type
TStringListX = class(TStringList) public procedure DeleteText(text:string); procedure DeleteDublicates; end; Also habe ich eine neue Klasse erstellt
Delphi-Quellcode:
Wie kann ich nun die items der TComboBox mit neuen items vom Typ TStringListX überschreiben? Geht das überhaupt so einfach? Override geht ja nur für Prozeduren und Funktionen?
type
TComboExt = class(TComboBox) end; Besten Dank schon mal, Thomas |
AW: Items in TComboBox überschreiben
Über Classhelper oder Casts...
Delphi-Quellcode:
type
TStrings=Class(Classes.TStrings) public procedure DeleteText(text:string); procedure DeleteDublicates; end; TForm1 = class(TForm) ... TStrings(Combobox1.Items).deletetext('Nase21'); |
AW: Items in TComboBox überschreiben
Etwas umständlicher als gedacht (mit dem extra TStrings() ) aber es funktioniert, besten Dank!
Thomas |
AW: Items in TComboBox überschreiben
Ein class helper wäre auch sinnvoller, weil man den einfach in einer externen Unit deklarieren und überall einbinden kann. Dann braucht man auch keine Casts:
Delphi-Quellcode:
Dann kannst du einfach ComboBox1.Items.DeleteText aufrufen. Den Parameter solltest du auch nicht ausgerechnet text nennen, da die Eigenschaft auch in TStrings schon existiert...
type
TMyStringsClassHelper = class helper for TStrings procedure DeleteText(const AText: String); procedure DeleteDuplicates; end; Und nebenbei schreibt man Duplikate auch im englischen mit p. ;-) |
AW: Items in TComboBox überschreiben
Class Helper gibt es in Delphi 6 doch gar nicht.
Bezüglich der 'Duplicates'-Geschichte könnte es ausreichen, die Eigenschaft 'Duplicates' auf 'dupIgnore' zu setzen. |
AW: Items in TComboBox überschreiben
Duplicates gibt es erst ab TStringlist, aber nicht in TStrings.
|
AW: Items in TComboBox überschreiben
Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 14:37 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