Aber wie gesagt, es fehlt noch eine Bedingung.
Nein, fehlt nicht.
liste[i] := Copy(Liste[i], 1, 8);
übernimmt die ersten bis zu 8 Zeichen.
Zitat:
Gibt Count mehr Zeichen oder Array-Elemente an, als verfügbar sind, werden nur die Zeichen oder Elemente von S[Index] bis zum Ende von S zurückgegeben.
Die Abfrage ist also redundant.