Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Items.Text übergabe (https://www.delphipraxis.net/79568-items-text-uebergabe.html)

newuser01 24. Okt 2006 22:18


Items.Text übergabe
 
Hallo

Ich habe folgendes Problem Wenn ich einer ListBox die Einträge einer StringList über "items.text" übergeben will klappt das nicht so recht

Delphi-Quellcode:
//so funktioniert die übergabe
for i := 0 to slTemp.Count -1 do
begin
lbAusgabe.Items.Add(slTemp.Strings[i]);
end;
Delphi-Quellcode:
// und so leider nicht es wird in lbAusgabe nichts angezeigt warum auch immer
lbAusgabe.Items.Text := slTemp.Text;

vielleicht hilft euch das noch weiter "lbAusgabe ist eine (JVCL Komponente TJvListBox)"

mkinzler 24. Okt 2006 22:21

Re: Items.Text übergabe
 
Versuch mal :
Delphi-Quellcode:
lbAusgabe.Items.DelimitedText := slTemp.DelimitedText;

newuser01 24. Okt 2006 22:27

Re: Items.Text übergabe
 
funktioniert leider auch nicht :(

inherited 24. Okt 2006 22:39

Re: Items.Text übergabe
 
Warum willst du es auch mit dem Text machen?

Eine andere Alternative wäre noch

Delphi-Quellcode:
lbAusgabe.Items.Clear;
lbAusgabe.Items.AddStrings(slTemp);

newuser01 24. Okt 2006 22:47

Re: Items.Text übergabe
 
Zitat:

Warum willst du es auch mit dem Text machen?
Wenn sehr viele Einträge vorhanden sind denk ich das es mit items.text schneller geht

Delphi-Quellcode:
//funktioniert
lbAusgabe.Items.AddStrings(slTemp); //auch besser wie schleife ?

aber warum items.text nicht :gruebel:

inherited 24. Okt 2006 23:02

Re: Items.Text übergabe
 
Delphi-Quellcode:
procedure TStrings.AddStrings(Strings: TStrings);
var
  I: Integer;
begin
  BeginUpdate;
  try
    for I := 0 to Strings.Count - 1 do
      AddObject(Strings[I], Strings.Objects[I]);
  finally
    EndUpdate;
  end;
end;
Kurz: Nein, auch mit schleife. Wobei ich nicht denke, dass das mit schleife sehr viel langsamer ist

marabu 25. Okt 2006 07:27

Re: Items.Text übergabe
 
Guten Morgen,

so geht es:
Delphi-Quellcode:
 
// Inhalt von ListBox ersetzen
lbAusgabe.Items.Assign(slTemp);

// Inhalt von ListBox ergänzen
lbAusgabe.Items.AddStrings(slTemp);
Die Zuweisung über die property Text ist ungünstig, da beim Lesen von Text erst der String aus den einzelnen Items zusammengebaut werden muss, beim Schreiben von Text umgekehrt.

Grüße vom marabu

inherited 25. Okt 2006 09:19

Re: Items.Text übergabe
 
Delphi-Quellcode:
procedure TStrings.Assign(Source: TPersistent);
begin
  if Source is TStrings then
  begin
    BeginUpdate;
    try
      Clear;
      FDefined := TStrings(Source).FDefined;
      FNameValueSeparator := TStrings(Source).FNameValueSeparator;
      FQuoteChar := TStrings(Source).FQuoteChar;
      FDelimiter := TStrings(Source).FDelimiter;
      AddStrings(TStrings(Source));
    finally
      EndUpdate;
    end;
    Exit;
  end;
  inherited Assign(Source);
end;
ergo->auch Assign arbeitet mit Schleife. Kommt also mehr oder weniger aufs gleiche hinaus

newuser01 26. Okt 2006 12:26

Re: Items.Text übergabe
 
OK Danke für eure Hilfe !


Alle Zeitangaben in WEZ +1. Es ist jetzt 08:20 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