AGB  ·  Datenschutz  ·  Impressum  







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

StringList Sortieren?

Ein Thema von Bernd29bln · begonnen am 16. Okt 2010 · letzter Beitrag vom 16. Okt 2010
Antwort Antwort
Seite 1 von 2  1 2      
Bernd29bln

Registriert seit: 28. Feb 2005
Ort: Berlin
281 Beiträge
 
Delphi 7 Professional
 
#1

StringList Sortieren?

  Alt 16. Okt 2010, 12:59
Hallo,

Ich möchte eine Stringlist Sortieren.

Meine Stringlist sieht so aus.(Delimiter := ; )

1;3.00;4;1.13;0.75;50.00;9.43
2;1.10;5;1.05;0.22;52.00;9.80

Am Anfang steht die Zeilen Zahl.
Das sortieren soll sich der größe nach an der vorletzen Position in der Zeile richten.

hat Jemand eine Idee.

Gruß Bernd
Bernd
Es ist keine Schande, nichts zu wissen, wohl aber, nichts lernen zu wollen.
Sokrates
  Mit Zitat antworten Zitat
Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#2

AW: StringList Sortieren?

  Alt 16. Okt 2010, 13:03
Du hast eine CSV Datei in einer Stringlist und möchtest diese CSV Datei sortieren.

Eine StringList als Container ist dafür mehr als ungeeignet.
(es ginge schon, ist aber mehr durch die Brust ins Auge)

Wo kommen die Daten her und was soll mit den Daten weiter geschehen?

Ich Wette, da gibt es einen besseren Grundansatz.
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ‎ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)
  Mit Zitat antworten Zitat
Bernd29bln

Registriert seit: 28. Feb 2005
Ort: Berlin
281 Beiträge
 
Delphi 7 Professional
 
#3

AW: StringList Sortieren?

  Alt 16. Okt 2010, 13:14
Hallo Sir Rufo,

Es handelt sich um einstellungs Daten die voher generiert werden.
Es soll nach der best möglichen einstellung sortiert werden.


Gruß bernd
Bernd
Es ist keine Schande, nichts zu wissen, wohl aber, nichts lernen zu wollen.
Sokrates
  Mit Zitat antworten Zitat
Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#4

AW: StringList Sortieren?

  Alt 16. Okt 2010, 13:21
Ei jo ... aber so wie die Daten da jetzt stehen, kann man da nicht so gemütlich drauf zugreifen, oder?

Werden diese Daten durch das gleiche Programm erstellt, mit dem du jetzt sortieren möchtest?
-> warum befinden sich diese Daten nicht in einer Klasse (pro Zeile) und alle (Zeile) dann in einer TObjectList?
Der TObjectList gibt man jetzt einen Comparer und die wird automatisch sortiert.

Oder kommen die Daten von einem externen Programm?
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ‎ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)
  Mit Zitat antworten Zitat
Bernd29bln

Registriert seit: 28. Feb 2005
Ort: Berlin
281 Beiträge
 
Delphi 7 Professional
 
#5

AW: StringList Sortieren?

  Alt 16. Okt 2010, 13:28
Jepp leider kommen die Daten von einem externen Programm.

dann wäre es ja einfach gewesen

Irgendwie muss das gehen.

Gruß Bernd
Bernd
Es ist keine Schande, nichts zu wissen, wohl aber, nichts lernen zu wollen.
Sokrates
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu
Online

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.052 Beiträge
 
Delphi 12 Athens
 
#6

AW: StringList Sortieren?

  Alt 16. Okt 2010, 13:32
Du benutzt die Methode CustomSort(Compare: TStringListSortCompare); deiner TStringList.
- in deiner selbstgeschriebenen Compare-Function bekommst du 2 Zeilen-Indize
- holst dir aus der übergebenen StringList die entsprechenden Zeilen
- zerlegst diese, bzw. extrahierst den zu vergleichenden Anteil
- wandelst diese Anteil ("Zahlen") jeweils in einen Read/Single/Double um,
da du ja bestimmt die nummerischen Werte vergleichen willst
- vergleichst diese Werte und gibst das Ergebnis als Result zurück
- das Sortieren übernimmt dann CustomSort für dich

Du kannst dir auch eine eigene Klasse von TStringList ableiten, überschreibst darin die Methode "Sort", implementierst in dieser die ganzen Vergleiche und rufst dann einfach nur noch das .Sort auf.
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.

Geändert von himitsu (16. Okt 2010 um 13:39 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#7

AW: StringList Sortieren?

  Alt 16. Okt 2010, 13:38
Ja, natürlich geht das, aber ich versuche gerade dir mühsam aus der Nase zu ziehen, wie diese Daten denn jetzt da vorliegen.

Ich vermute jetzt mal (konkret hast du dich noch nicht geäußert) da ist eine Datei wo das Gelumpe drin steht.

Dann schau mal da

Da kann man beim Einlesen gleich sortieren lassen, und auf jeden Wert gemütlich zugreifen.

Es kommt jetzt darauf an, was man mit dem Zeuges noch anfangen will
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ‎ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)
  Mit Zitat antworten Zitat
Bernd29bln

Registriert seit: 28. Feb 2005
Ort: Berlin
281 Beiträge
 
Delphi 7 Professional
 
#8

AW: StringList Sortieren?

  Alt 16. Okt 2010, 13:46
Hi Sir Rufo,

Es soll ja nix dolles passieren die Daten soll nur sortiert in die Datei zurück kopiert werden.

Das war es schon.

Aber wie gesagt ich komme nicht weiter.

Danke @himitsu aber mit CustomSort hatte ich noch nicht das vergnügen. Kannst du das näher beschreiben?

Gruß Bernd
Bernd
Es ist keine Schande, nichts zu wissen, wohl aber, nichts lernen zu wollen.
Sokrates
  Mit Zitat antworten Zitat
Benutzerbild von sx2008
sx2008

Registriert seit: 16. Feb 2008
Ort: Baden-Württemberg
2.332 Beiträge
 
Delphi 2007 Professional
 
#9

AW: StringList Sortieren?

  Alt 16. Okt 2010, 13:46
aber ich versuche gerade dir mühsam aus der Nase zu ziehen, wie diese Daten denn jetzt da vorliegen.
Bin da genau deiner Meinung - es kommt doch darauf an, was diese Zahlen bedeuten.
(Temperaturen, Spannungswerte, Aktienkurse, ???)
Die Daten sind in einer ungeeigneten Darstellung; man sollte sie erst mal so umformen,
dass klar hervorgeht um was es sich handelt.
Man kann natürlich die Stringliste so wie sie ist sortieren
aber dann entsteht dieser völlig unverständliche Sourcecode den wir als
Programmierer so hassen.
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.622 Beiträge
 
Delphi 12 Athens
 
#10

AW: StringList Sortieren?

  Alt 16. Okt 2010, 13:53
Es soll ja nix dolles passieren die Daten soll nur sortiert in die Datei zurück kopiert werden.
Es muss nicht so sein, aber hier liegt der Verdacht nahe, dass das Pferd von hinten aufgezäumt werden soll. Sortierung ist ja eigentlich eine Sache der Darstellung und nicht des Datenbestandes.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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 16:33 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