Es gibt da noch die Klasse TBits, die
IMHO angenehmer und platzsparender ist.
Aber ganz perfekt wäre es so:
1.) string in einzelstücke zerlegen (explode & co)
2.)
TSeitenEintrag = record von,bis:integer end;
ein array of TSeitenEintrag anlegen und befüllen.
3.) dieses Array sortieren (einfaches Selection Sort reicht aus)
4.) Optimieren. Array von hinten nach vorne durchgehen und schauen,
ob man anliegende oder überschneidende Seiten von zwei auf einen Eintrag reduzieren kann
dieser Schritt ist optional
5.) Suchfunktion schreiben, die array durchläuft und schaut ob es einen Treffer gibt
6.) Punkt 1.) bis 5.) als wiederverwendbare Klassse implementieren
Diese Vorgehensweise kann auch folgende Anweisung problemlos umsetzen:
Das wären die Seiten 1 bis 5 und 60 bis Ende.
Nachtrag:
die Klasse bekommt zusätzlich die Boolean Properties EvenPages und OddPages.
Die Suchfunktion von 5.) berücksichtigt diese Flags.
Somit können auch "nur gerade Seiten" oder "nur ungerade Seiten" von nur einer
Klasse behandelt werden.