AGB  ·  Datenschutz  ·  Impressum  







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

Eine StringList mit Childs

Ein Thema von Brainstalker · begonnen am 2. Jun 2006 · letzter Beitrag vom 2. Jun 2006
Antwort Antwort
Benutzerbild von Brainstalker
Brainstalker

Registriert seit: 9. Jan 2004
Ort: Berlin
176 Beiträge
 
Delphi 2009 Professional
 
#1

Eine StringList mit Childs

  Alt 2. Jun 2006, 01:40
Hallöchen!

In einem Quick'n'Dirty Projekt von mir habe ich ein TListView benutzt um Daten anzuzeigen und zu bearbeiten. Ich weiß das es nicht sehr performant ist, aber es war eben nur für mich mal eben schnell geschrieben. Jetzt stellt sich mir die Frage ob es auch eine art StringList gibt die ähnlich funktioniert.
Im Moment habe ich in einer anderen Anwendung in einer StringList Einträge die so aussehen: bla;blabla;blabl;bla. Wenn ich nun die Einträge bearbeiten oder auslesen will mach ich dies mit der Funktion Explode hier aus der Code-Library. Will ich jetzt einen Teil des Strings bearbeiten, muss ich den ganzen String durchs Explode jagen den Teil verändern den ich haben will und wieder alles zusammenfügen. Das ist allerdings bei vielen Strings etwas aufwendig.

Deshalb jetzt meine Frage gibt es etwas TStringList ähnliches was Childs unterstützt?
Im moment sieht meine Liste so aus:
bla;blabla;blabl;bla
bla;blabla;blabl;bla
bla;blabla;blabl;bla
bla;blabla;blabl;bla
bla;blabla;blabl;bla

Möchte aber gerne das sie so aussieht:
bla
blabla
blabl
bla
bla
blabla
blabl
bla
bla
blabla
blabl
bla

Ich möchte dann nämlich gerne einfach auf die Einträge zugreifen können:
MeineListe.Items[i].Caption := '123';
var := MeineListe.Items[i].Subitem[i];

Naja sowas in der Art halt. Wenn es sowas nicht gibt wäre es nett wenn mir jemand Tipps geben könnte wie man es anders machen könnte.

MfG Michael
Michael N.
Brainstalker
  Mit Zitat antworten Zitat
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#2

Re: Eine StringList mit Childs

  Alt 2. Jun 2006, 07:54
Hallo Michael,

eigentlich brauchst du eher eine StringList als Child und nicht eine StringList mit Children. Du kannst die StringList mit den Werten einer Zeile als Item einer ObjectList verwalten:

Delphi-Quellcode:
type
  TRecordList = class(TObjectList)
  private
    function GetField(col, row: Integer): String;
    procedure SetField(col, row: Integer; value: String);
  public
    property Field[col, row: integer]: String read GetField write SetField;
  end;
Der Zugriff geschieht dann über einen zweistufigen Index:

Delphi-Quellcode:
procedure TDemoForm.CellEditExecute(Sender: TObject);
var
  s: String;
begin
  with StringGrid do
  begin
    s := RecordList.Field[Col, Row];
    if InputQuery('Edit Cell', Format('Col %d Row %d', [Col, Row]), s) then
      RecordList.Field[Col, Row] := s;
  end;
end;
Grüße vom marabu
Angehängte Dateien
Dateityp: zip sl2d_127.zip (2,1 KB, 18x aufgerufen)
  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 11:25 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