Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Reihenfolge einer Listbox / Itemindex (https://www.delphipraxis.net/113692-reihenfolge-einer-listbox-itemindex.html)

Cosamia 13. Mai 2008 08:30


Reihenfolge einer Listbox / Itemindex
 
Hallo,

ich habe eine für mich etwas knifflige Aufgabe zu erledigen, wobei ich derzeit kein Plan habe, wie so etwas zu lösen ist.

ich lese aus einem Inifile per

Delphi-Quellcode:
myini.ReadSection('DAT',datbox.Items);
eine hälfte einer Referenztabelle in ein ein Listbox Namens datbox.

Dann lese ich aus einem XML File Daten in eine andere Listbox Namens Content (Die Attribute der XML sind gleich der Bezeichner aus dem Inifile).

Nun ermittle ich den Index der XML Datein (Content) in Bezug auf die aus der Inidatei (DATBOX).

Delphi-Quellcode:
function TForm1.getindex(field:string): integer;
var n:integer;
begin
result := -1;
for n := 0 to datbox.Items.Count - 1 do
  if uppercase (field) = uppercase (datbox.Items[n]) then
     result := n;
end;
Field wird aus der XML ermittelt.


Und jetzt fehlt mir die Idee wie ich die Daten aus Content in der Reihenfolge von Datbox anzeigen lassen kann.

mkinzler 13. Mai 2008 08:36

Re: Reihenfolge einer Listbox / Itemindex
 
Brauchst du wirklich die Reihenfolge oder reicht es den entsprechende Wert zu finden?

Cosamia 13. Mai 2008 08:41

Re: Reihenfolge einer Listbox / Itemindex
 
Die Daten sind in der XMl nicht immer in der gleichen Reihenfolge, und da die Daten später ausgedruckt werden müssen, will ich das die Daten aus Content immer an der gleichen Stelle stehen.

hoika 13. Mai 2008 09:36

Re: Reihenfolge einer Listbox / Itemindex
 
Hallo,

ich würde TStringList benutzen,
fülle die in der Reihenfolge der datList.

Zur Not müssen es 2 sein, eine für das Original-XML,
die andere zum sortierten Eintragen.


Heiko

Cosamia 13. Mai 2008 10:11

Re: Reihenfolge einer Listbox / Itemindex
 
Zitat:

Zitat von hoika
Hallo,

ich würde TStringList benutzen,
fülle die in der Reihenfolge der datList.

Zur Not müssen es 2 sein, eine für das Original-XML,
die andere zum sortierten Eintragen.


Heiko

Stinglist, ok . Aber wie bekomme ich das mit der Reihenfolge realisiert?

Oder sollte ich jetzt besser für heute nach Hause gehen? :drunken:

hoika 13. Mai 2008 10:21

Re: Reihenfolge einer Listbox / Itemindex
 
Hallo,

was hast du denn daran nicht verstanden ?

1. Du brauchst eine Methode, um aus dem XML ein item zu laden
2. du erzeugst ein leere StringList
3. du gehst alle Einträge aus datList durch
und ermittelst das entsprechende XML-Dingens
das wird per StringList.Add in die StringList eingetragen

Damit ist es sortiert nach datList

4. per ListBox_XML.Assign(StringList)
packst du deine jetzt sortierte Liste in die 2. ListBox
ListBox_XML darf natürlich nicht selbst sortiert sein (Sorted auf False lassen)


Heiko


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