AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

TStringList einer TListBox zuweisen

Ein Thema von Peter-Pascal · begonnen am 10. Okt 2012 · letzter Beitrag vom 12. Okt 2012
Antwort Antwort
Peter-Pascal

Registriert seit: 18. Feb 2007
Ort: 32139 Spenge
197 Beiträge
 
Delphi 11 Alexandria
 
#1

AW: TStringList einer TListBox zuweisen

  Alt 11. Okt 2012, 08:21
Hallo Thomas,

die Sache mit lbVirtual habe ich mir angeschaut und ich muss zugeben auf den ersten Blick als zu kompliziert beiseite gelegt. Nichtsdestotrotz möchte ich gerade den vollen Leistungsumfang der CheckListBox haben.

Wozu ich es brauche:

Ich habe mehrere tief verschachtelte selbstgebaute Objecte. In einem Object wird eine Liste (TStringList) geführt, die Objecte und Namen entgegen nimmt. Hier habe ich mich für TStringList entschieden statt TObjectList, gerade weil ich die Liste weitergeben wollte. Und in der CheckBoxList müssen alle Namen angezeigt werden.
Um das ständige synchronisieren zweier Listen zu vermeiden, habe ich diese Zuweisung vorgenommen von TCheckListBox.Item an eine Variable vom Typ TStringList. Das klappt auch. Ich kann entweder über die CheckListBox zugreifen oder über die StringList in meinem Object. Ist aber doch nicht so elegant wie ich es gehofft habe. Greife ich über TCheckListBox.Item zu, muss ich immer eine TypCast machen: TObject(TCheckListBox.Item.Object[i]).
Zur vollständigkeit: Im anderen Falle muss ich natürlich auch einen TypCast durchführen, kann mir aber ein Property schreiben, das mir genau das gewünschte Object liefert.

Ich denke ich werde hier noch viele Fragen stellen. Wobei ich vieles auch in den bisherigen Beiträgen gefunden habe.

Gruß Peter
Peter Niemeier
  Mit Zitat antworten Zitat
Benutzerbild von Bummi
Bummi

Registriert seit: 15. Jun 2010
Ort: Augsburg Bayern Süddeutschland
3.470 Beiträge
 
Delphi XE3 Enterprise
 
#2

AW: TStringList einer TListBox zuweisen

  Alt 11. Okt 2012, 08:36
Klingt so als ob Du Dir die Genrics mal anschauen könntest, mit lbVirtual könntest Du für die Check-Infos direkt eine Property Deiner Objekte vorsehen.
Thomas Wassermann H₂♂
Das Problem steckt meistens zwischen den Ohren
DRY DRY KISS
H₂ (wenn bei meinen Snipplets nichts anderes angegeben ist Lizenz: WTFPL)
  Mit Zitat antworten Zitat
Peter-Pascal

Registriert seit: 18. Feb 2007
Ort: 32139 Spenge
197 Beiträge
 
Delphi 11 Alexandria
 
#3

AW: TStringList einer TListBox zuweisen

  Alt 11. Okt 2012, 11:57
Was heißt Genrics?

Ich sehe gerade Du arbeitest mit Delphi XE3, weißt Du ob in dieser Version die TRibbon verbessert wurden? In hatte in einem anderen Beitrag schon danach gefragt, weil ich bei XE2 große Probleme mit TRibbon habe.
Peter Niemeier
  Mit Zitat antworten Zitat
Benutzerbild von Bummi
Bummi

Registriert seit: 15. Jun 2010
Ort: Augsburg Bayern Süddeutschland
3.470 Beiträge
 
Delphi XE3 Enterprise
 
#4

AW: TStringList einer TListBox zuweisen

  Alt 11. Okt 2012, 12:05
Generics wäre in Deinem Fall z.B. eine Liste TObjectList<TMyClass> ...
Die delphieigene Ribbonimplementierung verwende ich nicht (stattdessen devExpress)
Thomas Wassermann H₂♂
Das Problem steckt meistens zwischen den Ohren
DRY DRY KISS
H₂ (wenn bei meinen Snipplets nichts anderes angegeben ist Lizenz: WTFPL)
  Mit Zitat antworten Zitat
Peter-Pascal

Registriert seit: 18. Feb 2007
Ort: 32139 Spenge
197 Beiträge
 
Delphi 11 Alexandria
 
#5

AW: TStringList einer TListBox zuweisen

  Alt 11. Okt 2012, 12:52
Ja die Empfehlung für devExpress habe ich hier bereits bekommen, aber da ich noch nicht so richtig weiß, wo die Reise hingeht, möchte ich noch kein Geld ausgeben und hoffe halt darauf, dass XE3 die TRibbon verbessert hat. Es ist von der Anlage her soweit ja ganz gut, funktioniert nur nicht, das wird man ja wohl in den Griff bekommen...
Peter Niemeier
  Mit Zitat antworten Zitat
Popov
(Gast)

n/a Beiträge
 
#6

AW: TStringList einer TListBox zuweisen

  Alt 11. Okt 2012, 14:13
Vielleicht noch einen kleinen Tipp:

  ListBox1.Items.Text := List.Text;
  Mit Zitat antworten Zitat
Benutzerbild von Bummi
Bummi

Registriert seit: 15. Jun 2010
Ort: Augsburg Bayern Süddeutschland
3.470 Beiträge
 
Delphi XE3 Enterprise
 
#7

AW: TStringList einer TListBox zuweisen

  Alt 11. Okt 2012, 14:43
@Popov

Zitat:
Ich nutze die Object-Eigenschaft der TStringList
Thomas Wassermann H₂♂
Das Problem steckt meistens zwischen den Ohren
DRY DRY KISS
H₂ (wenn bei meinen Snipplets nichts anderes angegeben ist Lizenz: WTFPL)
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.202 Beiträge
 
Delphi 12 Athens
 
#8

AW: TStringList einer TListBox zuweisen

  Alt 11. Okt 2012, 16:12
Vielleicht noch einen kleinen Tipp:

  ListBox1.Items.Text := List.Text;
Kommt auf's Selbe raus, wie

Delphi-Quellcode:
ListBox1.Items := List;
// oder
ListBox1.Items.Assigned(List);

Wobei der Weg über .Text eines TStrings nicht unbedingt optimal ist (außer z.B. bei aktuellen TMemo und TRichEdit), denn was passiert intern?
Es wird, beim Auslesen von .Text, aus allen einzelnen Strings ein ganz großer String gemacht, welcher dann, beim Zuweisen an .Text, erst wieder zerlegt und dann jeder einzelstring an die Komponente übergeben wird.
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:29 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