AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi String richtig sortieren
Thema durchsuchen
Ansicht
Themen-Optionen

String richtig sortieren

Ein Thema von Walter Landwehr · begonnen am 16. Mai 2015 · letzter Beitrag vom 18. Mai 2015
Antwort Antwort
Seite 2 von 2     12   
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.851 Beiträge
 
Delphi 11 Alexandria
 
#11

AW: String richtig sortieren

  Alt 17. Mai 2015, 09:22
PS: Auch zum Thema: Muss es eine Firebird/DB-Lösung sein? Das ist nicht so leicht. In Delphi schreibt man einfach eine Vergleichsfunktion und kann das dann mal eben schnell sortieren.
Diese könnte man dann u.U. auch als UDF in FireBird benutzen.
Markus Kinzler
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.171 Beiträge
 
Delphi 10.4 Sydney
 
#12

AW: String richtig sortieren

  Alt 17. Mai 2015, 09:23
Hi Walter,
hab da eben mal ein wenig mit herumgespielt. Die Lösung von MKinzler funktioniert nicht, weil die Spalte nicht nur Ziffern enthält. Die Idee mit der Hilfs-Spalte führt dagegen zum Ziel:
Funktioniert aber nur bei so einfachen Konstellationen. Wir haben selbst öfter Komplexere Kombinationen. Dort führen wir die Sortierung auf Clientseite durch indem wir eine eigene Routine geschrieben haben.

Entschuldigt, da geht mir der Hut hoch!
Entweder der Feldinhalt ist numerisch oder ein Text. da sollte man sich vorher entscheiden und dementsprechend sortieren.
Du kannst ja das mal einigen unserer Kunden erklären. Genau solche Kombinationen sind üblich in der realen Welt. Das beste und bekannteste Beispiel wäre wohl die Schraube M8.
Geht hier auch der Hut hoch oder ist M8 nicht doch eine vernünftige Bezeichnung?

... führende Nullen weiter helfen.
Genau das macht unsere eigene Implementierung um dann diese natürliche Sortierung zu erreichen.
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
Benutzerbild von Captnemo
Captnemo

Registriert seit: 27. Jan 2003
Ort: Bodenwerder
1.126 Beiträge
 
Delphi XE4 Architect
 
#13

AW: String richtig sortieren

  Alt 17. Mai 2015, 09:41
Spricht etwas dagegen eine weitere Spalte als Suchfeld hinzuzufügen ?
Dann müsste man nur einmal mit einem speziellen Algorithmus drüberlaufen und diese nach beliben Setzen,
danach könnte man schnell per z.B. Integer-Feld sortieren.

Rollo
Ich muss in meinen Projekten leider auch öfter auf Fremddaten zurückgreifen, deren Inhalt, Formatierung und Sortierung nicht meiner Kontrolle unterliegen. Da ist fast immer unmöglich einfach mal ein Feld hinzuzufügen, oder die Tabelle nach eigenen Ansprüchen zu verändern. Zum einen weiß man nicht immer welche Probleme man damit in der Erstellersoftware hervorruft, zum anderen bekommt man selten von den Entwicklern dieser Tabelle die Genehmigung oder die Unterstützung (schon gar nicht, wenn es sich dabei um größere Unternehmen handelt, wenn man denn überhaupt die Erlaubnis bekommt). Und dann passiert es sogar ab und an, dass die Erstellersoftware diese Erweiterungen der Tabelle beim nächsten Start oder der nächsten Reorganisationen mal flux wieder zu nichte macht.
Ich seh bei solchen Sachen tunlichst zu, dass ich das dies in meiner Software erledige. Ob im Speicher oder in einer eigenen DB hängt von Größe und Frequenz der Änderungen ab. Dann allerdings kann ich das so machen, wie ich will.
Dieter
9 von 10 Stimmen in meinem Kopf sagen ich bin nicht verrückt. Die 10. summt dazu die Melodie von Supermario Bros.
MfG Captnemo
  Mit Zitat antworten Zitat
Walter Landwehr

Registriert seit: 28. Mär 2006
Ort: 32816 Schieder-Schwalenberg
384 Beiträge
 
Delphi 10.4 Sydney
 
#14

AW: String richtig sortieren

  Alt 17. Mai 2015, 11:25
Hallo Rollo,

nein dagegen spricht nichts. DB und Software liegt in meiner Veantwortung.
Walter Landwehr
Mfg

Walter

Geändert von Walter Landwehr (17. Mai 2015 um 11:33 Uhr) Grund: Text Ergänzt.
  Mit Zitat antworten Zitat
Benutzerbild von p80286
p80286

Registriert seit: 28. Apr 2008
Ort: Stolberg (Rhl)
6.659 Beiträge
 
FreePascal / Lazarus
 
#15

AW: String richtig sortieren

  Alt 18. Mai 2015, 12:43
@ Dann solltest Du nach Möglichkeit die Daten "entzerren"

@
Du kannst ja das mal einigen unserer Kunden erklären. Genau solche Kombinationen sind üblich in der realen Welt. Das beste und bekannteste Beispiel wäre wohl die Schraube M8.
Geht hier auch der Hut hoch oder ist M8 nicht doch eine vernünftige Bezeichnung?
Da ich aus der "realen Kundenwelt" komme muß ich Dir teilweise Recht geben. Der andere Teil ist der der durch die Programmierer verursacht wird. Da werden dann mal gerne Informationen die unterschiedliche Eigenschaften beinhalten in einem Feld zusammgegeworfen, nach dem Motto, da kann man dann ein paar Tabellen sparen. Solange gleiche Informationen wenigstens das gleiche Format haben ist das ja noch zähneknirschend hinnehmbar, sobald aber nur eine zwischen 2 und 5 Zeichen lang sein kann und sie sowohl Ziffern als auch Buchstaben enthalten kann, ist eine Auftrennung nur mit großem Aufwandt zu erreichen. Von Erfassungsfehlern, die sich immer wieder und bei 25stelligen Bandwurmangaben immer häufiger einschleichen, ganz zu schweigen. Ein weiteres Beispiel wären Konstrukte wie 1..8.Adresszeile. Natürlich funktioniert das noch ganz gut wenn man sich in Deutschland bewegt. Enthält der Datenbestand dann z.B. nordamerikanische Adressen und lautet die Aufgabenstellung Briefe nach Stadt,Straße,hausnummer zu sortieren, natürlich unter Berücksichtigung des US-States, dann wird das schon etwas aufwendiger.
Was Dein Beispiel "M8" angeht, dahinter verbirgt sich ein ganzer Satz von technischen Details die "M8" beschreiben. Da sollte eine Sortierung nicht über den Namen, sondern über eben diese Details erfolgen. Ein ähnliches Beispiel läuft mir in der täglichen Arbeit über den Weg, wobei offizelle Aktennummern zwei (oder mehr) unterschiedliche Formate haben(über 50 bis 100 Jahre gesehen verständlich). Da kann man nichts machen, ausser in einem zweiten Feld, die EDV-taugliche Variante ablegen. Ein schönes Beispiel für die Vermengung von unterschiedlichen Informationen hat es bei der Bundesbahn gegeben. Da hatten (Dampf)Lokomotiven eine Baureihenbezeichnung und eine mehr oder weniger fortlaufende Nummerierung. in den meisten Fällen reichten hierfür 2 + 3 Stellen. Bei der Baureiche 50 gab es aber mehr als 999 Lokomotieven, also gab es halt 4 Stellen für die Zählung. Bei Einführung der EDV wurde dann alles in ein 6 stelliges Schema mit Prüfziffer übertragen, und plötzlich gab es auch eine Baureihe 51 die die Lokomotiven >999 der Baureihe 50 enthielt. Verzeihlich wenn man an die Damalige Speicherknappheit denkt. Heute ist ein solchen Verhalten nicht mehr notwendig.

Gruß
K-H
Programme gehorchen nicht Deinen Absichten sondern Deinen Anweisungen
R.E.D retired error detector
  Mit Zitat antworten Zitat
Walter Landwehr

Registriert seit: 28. Mär 2006
Ort: 32816 Schieder-Schwalenberg
384 Beiträge
 
Delphi 10.4 Sydney
 
#16

AW: String richtig sortieren

  Alt 18. Mai 2015, 12:59
Habe dass Sortieren jetzt aufgegeben. In den Ziffern stecken zu viele Abnormitäten drin wie 10.1, 8256H1, A, 2a, usw.

Danke trotz alledem für Eure mühen.
Walter Landwehr
Mfg

Walter
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

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

AW: String richtig sortieren

  Alt 18. Mai 2015, 13:13
Ob/Wo sich soeine Funktion bei dir versteckt ... Bei Google suchenFirebird naturalsort
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat
Benutzerbild von p80286
p80286

Registriert seit: 28. Apr 2008
Ort: Stolberg (Rhl)
6.659 Beiträge
 
FreePascal / Lazarus
 
#18

AW: String richtig sortieren

  Alt 18. Mai 2015, 13:15
kannst du denn die sortierung nicht über andere Felder realisieren?
was wis ich Rechnungsdatum Durchmesser oder was auch immer Dir zur Verfügung steht?

Gruß
K-H
Programme gehorchen nicht Deinen Absichten sondern Deinen Anweisungen
R.E.D retired error detector
  Mit Zitat antworten Zitat
Dejan Vu
(Gast)

n/a Beiträge
 
#19

AW: String richtig sortieren

  Alt 18. Mai 2015, 15:20
Ich wette mit Dir, das Dir hier einer der Codefreaks hilft, sobald Du ihm die Sortierregeln erklärst. Das schreit doch gerade nach "Es-juckt-mir-in-den-Fingern-gib-mir-was-zum-Coden"
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

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

AW: String richtig sortieren

  Alt 18. Mai 2015, 17:40
Wieso? Wenn es doch schon was Fertiges für sowas und alles Mögliche gibt?
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 2     12   


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 23:11 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