если кто не в курсе, есть ещё одна интересная функция
function LogicSubStr(var St : string; CutSize : byte; Per : boolean;
DelCut : boolean) : string;
! Логически верное выделение подстроки не более заданной длины,
! т.е. не происходит резка в середине слова, строка режется
! только по пробелам.
!
! St - исходная строка
! CutSize - максимальный размер вырезаемой подстроки
! Per - необходимость переноса в случае невозможности выделить непустую
! подстроку:
! true - вырезается подстрока длиной CutSize-1, а последним
! символом ставится знак переноса "-"
! false - просто вырезается подстрока длиной CutSize
! DelCut - производить ли удаление найденной подстроки из исходной