Thema: Delphi String richtig sortieren

Einzelnen Beitrag anzeigen

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