Wir haben hier Artikelnummnern rein aus Zahlen wie z.B.
5462155
76543887
Diese beginnen immer mit einer unterschiedlich langen Artikelgruppennummer. Zur Verdeutlichung *hier* durch einen Bindestrich abgegrenzt:
54-62155
5655-43887
64373-1
Zu einer Artikelnummer möchte ich nun die Artikelgruppennummer zusammen mit der Artikelgruppe ermitteln. Dazu gibt es diese Artikelgruppenliste:
...
52 Toner schwarz
53 Toner blau
54 Toner rot
...
5654 Papier A5
5655 Papier A4
...
64373 Klebefilm
5462155 wäre also ein "Toner rot". Da die Artikelnummer mit 54 beginnt.
Die Artikelgruppennummer ist immer eindeutig. Es gibt keine Überschneidungen.
Wie bekommt man das schnell hin, ohne jeden einzelnen Eintrag aus der Artikelgruppenliste mit der Artikelnummer abzugleichen?
Manchmal hilft es auch es nochmal aufzuschreiben, denn während ich das hier schreibe hat mich das und etwas googlen auf einen "Trie". Als Lösung geführt:
https://de.wikipedia.org/wiki/Trie Zitat im Abschnitt "Anwendungen":
Präfixanfragen der Art „Welche Zeichenketten in S beginnen mit dem Muster M?“
Das scheint hier also die Lösung zu sein. Gibt es da für Delphi schon etwas fertiges?