Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Text in Listbox einfügen (https://www.delphipraxis.net/29644-text-listbox-einfuegen.html)

0815 12. Sep 2004 14:28


Text in Listbox einfügen
 
Hallo,

wie kann ich Text in eine bestimmte Zeile einer Listbox einfügen, sodass die danach folgenden Werte nach unten verschoben werden?

Alexander 12. Sep 2004 14:30

Re: Text in Listbox einfügen
 
Hi,
schau dir mal ListBox1.Items.Insert(); an.

//Edit : Erster :tongue: :mrgreen:

mytar 12. Sep 2004 14:31

Re: Text in Listbox einfügen
 
Schau dir dazu Delphi-Referenz durchsuchenTListView.Add und Delphi-Referenz durchsuchenTListView.Insert in der OH an!

Dax 12. Sep 2004 14:32

Re: Text in Listbox einfügen
 
Versuch mal folgendes:
Delphi-Quellcode:
ListBox1.Items.Insert(2, 'New String');
Das fügt den string 'New String' in die dritte Zeile von oben ein, der Rest wird nach unten verschoben.

0815 12. Sep 2004 14:36

Re: Text in Listbox einfügen
 
Danke!

Aber wie sieht es bei Arrays aus? Da gibt es mehr Parameter.

Alexander 12. Sep 2004 14:40

Re: Text in Listbox einfügen
 
Also es gibt die Methode AddStrings, mit der man TStrings hinzufügen kann, z.b. auch Stringlists. Aber Methoden für richtige Arrays gibt es glaube ich gar nicht. Das musst du dir mit Insert der Listbox selber basteln.
Prinzip ist ja folgendes: Du gehst alle Indeces des Array durch (for-Schleife!) und fügst dann mit Insert in die Listbox ein...

Dax 12. Sep 2004 14:42

Re: Text in Listbox einfügen
 
Bei Array ist das nicht so einfach. Dort brauchst du 2 Arrays:
Delphi-Quellcode:
var TArray, TArray2 = array of ...;
begin
  TArray := Copy(DeinArray, 0, Index-1);
  SetLength(TArray, Length(TArray)+1);
  TArray2 := Copy(DeinArray, Index, Length(DeinArray)-Index);
  SetLength(DeinArray, Length(DeinArray)+Length(InsertItemArray));
  Move(DeinArray[0], TArray[0], Index);
  Move(DeinArray[Length(TArray)], InsertItemArray[0], Length(InsterItemArray));
  Move(DeinArray[Length(TArray)+Length(InsertItemArray)], TArray2[0], Length(TArray2));
end;
Dieser Code fügt das Array InsertItemArray in das Array DeinArray an der Position Index ein, wobei die Anderen Items nach hinten verschoben werden.

BtW: Alle Arrays müssen vom gleichen Typ sein (String, Integer, Byte, ..)


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