Noch ein Hinweis: Im Gegensatz zu PHP beginnt in Delphi die Zeichenzählung in einem String nicht mit 0, sondern mit 1.
Die Lösung, das ganze rekursiv zu machen, ist auf gar keinen Fall optimal, aber am einfachsten. Ich verweise mal hierauf:
http://delphi.zsg-rottenburg.de/parser.html
Und auch in Delphi kannst du ein einzelnes Zeichen mit s[i] auslesen, aber wie gesagt, Zählung beginnt bei 1.