devil Geschrieben 29. März 2002 Teilen Geschrieben 29. März 2002 naja, in fast jedem programm findet man sie - mehrspaltige listenfelder. die haben eine überschrift mit der man meistens nach der spalte sortieren kann. im explorer die dateien im outlook die mails etc... wie kann ich sowas mit borland builder5 in mein programm einbinden? muss ich dafür externe komponenten benutzten? wenn ja wo bekomme ich diese? danke jetzt schonmal Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Orffi Geschrieben 29. März 2002 Teilen Geschrieben 29. März 2002 Der C++ Builder bringt schon die Komponente TListView mit. Mit der kannst Du mehrzeilige Listenfelder erzeugen. Zu finden ist die Komponente unter der Kategorie Win32. HTH Jan Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
devil Geschrieben 29. März 2002 Autor Teilen Geschrieben 29. März 2002 oh cool.... danke, ich hatte mit dieser komponente schon rumprobiert aber jetzt nach dem tipp habe ich das auch so hinbekommen wie ich es wollte. nur wie ich items dynamisch adde, anspreche etc. ist mir noch nicht ganz klar - hat da jemand evtl. einen rat wo es dazu online mehr infos/beispiele gibt als in der borland hilfe? danke Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Orffi Geschrieben 29. März 2002 Teilen Geschrieben 29. März 2002 Ich weiß nicht, ob es das ist, was Du suchst aber: Du schnappst Dir erstmal eine Zeigervariable vom Typ TListItem. TListItem *newline; Nun soll es auf eine neue Zeile im TListView zeigen, also: newline = myListView -> Items -> Add (); Und als letztes füllst Du die neue Zeile mit Inhalt: newline -> Caption = "Hallo" newline -> SubItems -> Add ( "Welt!" ); // Weitere unterkategorien... HTH Jan Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
devil Geschrieben 29. März 2002 Autor Teilen Geschrieben 29. März 2002 aha... ok danke, das bringt mich schon mal weiter. nun zum nächsten punkt - die normalen listfelder können mit -items->savetofile und items->loadfromfile gelesen bzw. gesichert werden - gibt es diese möglichkeit auch für die tlistview? *nerv* ich weiss Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Orffi Geschrieben 30. März 2002 Teilen Geschrieben 30. März 2002 Naja, schau doch einfach in der Hilfe nach. Mehr kann ich auch nicht tun. Ich habe kurz geschaut und im ersten Moment habe ich kein SaveToFile / LoadFromFile gefunden. Ich benutze zwar kein BCB5 aber ich glaube nicht, daß Borland es dort eingeführt hat. Bei TListBox geht LoadFromFile ja über die Eigenschaft Items, was vom TStrings ist. TStrings bringt LoadFromFile mit. Aber bei TListView sind Items nicht vom Typ TStrings. Ich fürchte Du mußt Dir selber eine Load-/Save-Funktion schreiben. HTH Jan Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
devil Geschrieben 1. April 2002 Autor Teilen Geschrieben 1. April 2002 hm aha... kann ich auch irgendwie mit dem filewrite direkt den inhalt der listview komplett in ein file schreiben und wieder lesen oder muss ich da die ganzen elemente einzeln auslesen und wieder einlesen? Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Orffi Geschrieben 1. April 2002 Teilen Geschrieben 1. April 2002 Ich nehme an, Du hast in der Hilfe nachgeschaut, oder? Wenn nicht, dann mach' es doch einfach. Aber ich glaube nicht, daß man alles auf einmal einlesen/auslesen kann. Aber das macht (fast) nichts, denn Borland stellt alles zur Verfügung was man braucht. Zum Schreiben in eine Datei: Laß einfach eine for-Schleife von 0 bis Count-1 (zu finden unter TListItems) laufen. In der Liest Du von das Array von Item aus und schreibst sie in eine Datei. Zum Lesen denkst Du Dir irgendein sinnvolles Format aus und liest bis zum Dateiende alle Daten ein und fügst sie, wie oben beschrieben, in TListView ein. HTH Jan Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Crush Geschrieben 1. April 2002 Teilen Geschrieben 1. April 2002 Man sollte im Sinne von C++ das ganze so machen: Von TListItems eine eigene Klasse ableiten und eine Serialize-Funktion hinzufügen und dann nachher darf jedes Objekt sich selbst serialisieren, bzw. speichern und laden. Sollten keine Referenzen drin sein und die Elementgrößen Standardgrößen haben, dann wäres es sogar möglich einfach zu casten. Weil Du aber meintest Borland: Gibt es da nicht auch sowas wie CObjects & CArchive bei M$? Wenn es TObjects und TArchive gibt, dann sollte man die Items davon ableiten, weil diese ein halbautomatisches Serialize() für Standard-Elemente haben müßte. Man schiebt die dann ganz einfach und bequem in das Archive-Object über die Operatoren << und >> von & in die Variablen des Listen-Objects beim Serialize() (was man auch wieder überschreiben muß). Damit Du das besser siehst, was ich meine ein kurzes Beispiel von der MSDN: // example for CObject::Serialize void CItem::Serialize( CArchive& ar ) { CObject::Serialize( ar ); if( ar.IsStoring() ) ar << m_years; else ar >> m_years; } [/PHP] Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.