Все очень просто. Клиппер и два файла. Шаблон и тот , где будет записан результат.
Шаблон готовите на любой машине в ворде и проверяете его печать на принтере. Если результат Вас устраивает можно забыть об управляющих символах и т.д.
Шаблон сохраняем в формате RTF и дальше работаем с этим файлом, как с ТЕКСТОВЫМ. Все, что предлагает Андрей никакого отношения к этому не имеет :)
Открываем шаблон и читаем его по строкам. Если есть метка для вставки какой-то информации заменяем ее на нужное.
"Готовую" строку записываем в выходной файл. Если считали строку с таблицей дублируем ее нужное число раз. Т.е. на выходе получаем тело таблицы.
И далее по шаблону до последней строки. Получили Rtf файл.
Речь не идет о ворде , как его открывать с олей или с кем другим. Мы работаем с обычным текстовым файлом.
Теперь все немножко подробнее. Шаблон может быть любым, проблема в его заполнении. Мы не использум доковский файл, а используем Rtf.
Если глянуть глазом, то внутри он выглядит где-то так -
..........................
{\f48\froman\fcharset186\fprq2 Times New Roman Baltic;}{\f51\fswiss\fcharset0\fprq2 Arial;}{\f49\fswiss\fcharset238\fprq2 Arial CE;}....
.....................
Берем простой примерчик: пару полей и таблица. Надеюсь на рисунке видно. В качестве метки будем использовать твердый знак ( заглавный) :)
Каким будет этот Ъ таким быдет и текст на выходе. ( Шрифт, размер, цвет ... ) . Теперь считать построчно, найти, заменить , записать...
Да, и по поиску. В rtf формате эта метка выглядит вот так - \'da
Т.е. в жизни Ъ , а в Rtf \'da
Если tp считанная строка, то поиск соответственно -
do while (tp:=AT("\'da",kk))<>0.and.i<len(strin)
Надеюсь в общем идея Вам ясна. Это простой вариант, далее можно усложнять . Например генератор отчетов