Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi ListBox mit verknüpften StringLists sortieren (https://www.delphipraxis.net/165258-listbox-mit-verknuepften-stringlists-sortieren.html)

delphihase 20. Dez 2011 16:51

Delphi-Version: XE

ListBox mit verknüpften StringLists sortieren
 
Hallo,

jetzt hab ich (schon wieder :roll: ) ne Aufgabe. Und zwar:

Ich soll eine Verwaltung von mehreren Datenfeldern (gespeichert in StringLists) programmieren.

Dabei müssen diese paar StringLists aber nach einer StringList geordnet werden.
Konstillation z.B.
(sortiert nach Feld A)
Eintrag 1:
Feld A: Bärenstark
Feld B: Wert
Feld C: Wert

Eintrag 2:
Feld A: AAAA 1. Stelle
Feld B: Inhalt
Feld C: Inhalt

usw.
Ich habe 19 Felder, die die Daten speichern sollen. (Feld B & Feld C)
Es sind in Feld A & Feld B nur Buchstaben möglich.
Achja, wenn ich mehrere Einträge habe, die Feld A gleich sind, dann wird zusätzlich noch nach Feld B sortiert.

Soo - hat jemand das ganze verstanden? Wenn nein - fragen bitte !!


Außerdem: Was verwende ich dann am besten, um das ganze zu speichern? Die DB sollte auch recht groß werden können (So ca. 500 Einträge), hat aber auch recht viele Felder (werden so etwa 20, davon ist eine aber schon eine "Untertabelle". In dieser "Untertabelle" existiert nochmal eine "Untertabelle")

Wer das ganze jetzt nicht durchblickt hat:

- 1. Ebene: 20 Felder.
- Feld XX: Untertabelle 1
- Ebene 2: 10 Felder
- Feld YY: Untertabelle 2
- Ebene 3: 5 Felder

So sähe die Struktur etwa aus. Mit XML würde das gehen. Nur es sollte ja möglichst rasch geladen werden können.

Sir Rufo 20. Dez 2011 17:05

AW: ListBox mit verknüpften StringLists sortieren
 
Wie wäre es, wenn du das mal etwas strukturierter zusammenschreiben würdest?

Deine Beschreibung ist sehr konfus und abstrakt (und beschreibt wahrscheinlich auch nur das linke Ohr vom Eisbär)

Wenn du etwas nicht beschreiben kannst, dann mal es auf und schick ein Bild mit hoch.

delphihase 20. Dez 2011 18:34

AW: ListBox mit verknüpften StringLists sortieren
 
Vielleicht verstehst du es mit dieser Struktur besser?

XML-Code:
<liste>
   <eintrag>
      <typ>Eisbär</typ>
      <name>Robert</typ>
      <interessen>
         <unterListe typ="Fressen">
            <einstellung detail="pizza">Nein danke</einstellung>
            <einstellung detail="fische">Eher</einstellung>
         </unterListe>
         <unterListe typ="Hobbies">
            <einstellung detail="schach">Was ist das?</einstellung>
            <einstellung detail="fressen fangen">Eher</einstellung>
         </unterListe>
      </interessen>
   </eintrag>
   <eintrag>
      <typ>Rentier</typ>
      <name>Rudolf</name>
      <interessen>
         <unterListe typ="Fressen">
            <einstellung detail="-">keine Angabe</einstellung>
         </unterListe>
         <unterListe typ="Hobbies">
            <einstellung detail="Schlitten ziehen">Das macht Spaß!</einstellung>
            <einstellung detail="Für Weihnachtsmann arbeiten">Juhu!</einstellung>
         </unterListe>
      </interessen>
   </eintrag>
</liste>
In dem Fall wäre <interessen> die 1. Untertabelle. Darin gibt es dann die "unterListe", wo weitere <einstellung>'s gespeichert sind.

Sir Rufo 20. Dez 2011 18:54

AW: ListBox mit verknüpften StringLists sortieren
 
ok, also in kleinen Schritten ...

Was soll jetzt wie und wo in der ListBox (oder werden es mehrere?) angezeigt werden?

Bjoerk 20. Dez 2011 19:02

AW: ListBox mit verknüpften StringLists sortieren
 
Die Struktur ist mir nicht klar. Meinst du so ?

Delphi-Quellcode:
type
  TItem = class(TObject)
    Typ: string;
    List1: TStringlist;
    SubList1: array of TStringlist;
    List2: TStringlist;
    SubList2: array of TStringlist;
  end;
  TItemList = array of TItem;

Impulz 21. Dez 2011 10:29

AW: ListBox mit verknüpften StringLists sortieren
 
ich glaube er will 2 Ebenen in einer zusammenfassen.

hast du 2 listen die du in eine anzeige bringen willst? oder wie?

delphihase 21. Dez 2011 15:35

AW: ListBox mit verknüpften StringLists sortieren
 
Hmm - also:

ich habe eine ListBox (1). in der steht halt immer Feld1 und Feld2.

Dann gibt es Edit-Komponenten, um die ganzen Felder editieren zu können. Ja, soweit bin ich ja schon.

Aber: ich brauche dann eine weitere ListBox (2), die dann die Einträge der von Bjoerk genannten SubList1 anzeigen. Wieder Feld1 und Feld2.
Dann ändern sich auf "Change" der ListBox2 wieder ein paar Felder, eben die der SubList1.

In der SubList 1 gibt es nochmal eine ListBox (3). Auf das OnChange dieser sehe ich dann Inhalte der SubList2.

@Bjoerk: Ich habe aber in der SubList2 mehrere Felder, nicht nur eines. nämlich zwei Stück.

DeddyH 21. Dez 2011 18:08

AW: ListBox mit verknüpften StringLists sortieren
 
Vielleicht könnte man die Struktur so abbilden (Fehler vorbehalten):
Delphi-Quellcode:
type
  TInteresse = class
  private
    FDetailTyp: string;
    FDetail: string;
  public
    property DetailTyp: string read FDetailTyp write FDetailTyp;
    property Detail: string read FDetail write FDetail;
  end;
 
  TInteressenKategorie = class
  private
    FInteressen: TObjectList<TInteresse>;
    FTyp: string;
    function GetInteresse(Index: integer): TInteresse;
  public
    constructor Create;
    destructor Destroy; override;
    procedure AddInteresse(Value: TInteresse);
    procedure Sortiere;
    property Typ: string read FTyp write FTyp;
    property Interesse[Index: integer]: TInteresse read GetInteresse;
  end;
 
  TEintrag = class
  private
    FKategorien: TObjectList<TInteressenKategorie>;
    FTyp: string;
    FName: string;
    function GetKategorie(Index: integer): TInteressenKategorie;
  public
    constructor Create;
    destructor Destroy; override;
    procedure AddKategorie(Value: TInteressenKategorie);
    procedure Sortiere;
    property Typ: string read FTyp write FTyp;
    property Kategorie[Index: integer]: TInteressenKategorie read GetKategorie;
  end;
 
  TListe = TObjectList<TEintrag>;

Bjoerk 21. Dez 2011 19:03

AW: ListBox mit verknüpften StringLists sortieren
 
Zitat:

Zitat von delphihase (Beitrag 1142594)
Hmm - also:

ich habe eine ListBox (1). in der steht halt immer Feld1 und Feld2.

Dann gibt es Edit-Komponenten, um die ganzen Felder editieren zu können. Ja, soweit bin ich ja schon.

Aber: ich brauche dann eine weitere ListBox (2), die dann die Einträge der von Bjoerk genannten SubList1 anzeigen. Wieder Feld1 und Feld2.
Dann ändern sich auf "Change" der ListBox2 wieder ein paar Felder, eben die der SubList1.

In der SubList 1 gibt es nochmal eine ListBox (3). Auf das OnChange dieser sehe ich dann Inhalte der SubList2.

@Bjoerk: Ich habe aber in der SubList2 mehrere Felder, nicht nur eines. nämlich zwei Stück.

Das heißt, du hast eine Hypertextstruktur? Jeder Item sieht so aus, stimmt das ?

Code:
X
X.1    X.2
X.1.1  X.2.1
X.1.2  X.2.2

delphihase 23. Dez 2011 16:44

AW: ListBox mit verknüpften StringLists sortieren
 
@Bjoerk: Ja, so meine ich es.


Alle Zeitangaben in WEZ +1. Es ist jetzt 05:40 Uhr.
Seite 1 von 2  1 2      

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