singlepost

Создание таблицы в RTF-документе << На главную или назад  

мне нужно создать таблицу вида

+—+—-+
|…. |…..|
|….+—-+
|…. |…..|
+—+—-+

я смог сделать только таблицу вида

+—+—-+
|…. |…..|
|—-+—-+
|…. ……|
+———+

вот код

{\rtf1
\qc

\trowd
\cellx500\cellx1000
123\cell 456\cell \row

\trowd
\cellx1000
789\cell \row
}

нужен именно rtf какой версии не принципиально

в спецификации RTF Version 1.8 (на википедии ссылка) надыбал следующие команды:

\tscbandshNCount of rows in a row band
\tscbandsvNCount of cells in a cell band

\clmgfThe first cell in a range of table cells to be merged.
\clmrgContents of the table cell are merged with those of the preceding cell.
\clvmgfThe first cell in a range of table cells to be vertically merged.
\clvmrgContents of the table cell are vertically merged with those of the preceding cell.

но что с ними делать не зна(( на форумах видел эту траблу .. но решение походу не найдено…

пробывал создавать таблицу в Ворде а потом смотреть ее…ну такие дебри(( .. кто нить может помочь примером без лишних параметров?

130 ответов в теме “Создание таблицы в RTF-документе”

  1. 10
    Артур Мазурик ответил:

    Ну это типа на работе нужно реставрировать древнию программу для расчета модели заземления для электроподстанций написанной на фортране77)))) ну для переписания расчетной части у меня мозгов не хватит, а вот я сделал на делфях формочки для работы с исходных значениями (редактирование, сохранения, загрузки), потом делфи сохраняют все данныев текстовый файл, запускается программа на фортране считывает данные, вычисляет и выводит все в файл…ну а на фортране нужно было подправить вывод: не на принтер, а в файл и сделать достойный вид тоесть не обычный текстовый файл, а норм документ данные из которого можно скопировать и вставить в какой нить проект ))

  2. 9
    Кирилл Быков ответил:

    Ффига, Артур! Да не за что! Я ж ничё не сделал :)
    Ничё, хорошо в форматах рубишь.
    Только слово "Единицы" неправильно написал.
    А ещё у меня некоторые слова в ячейках таблицы неправильно переносятся.
    И подозреваю, что "PR" после "U" должно быть нижним индексом.
    Можешь рассказать, для чего это всё нужно?

  3. 8
    Артур Мазурик ответил:

    может кому пригодиться:

    {\rtf1\ansicpg1251

    \viewkind1

    \pard\par\trowd\qc
    \cellx1100\cellx7300\cellx8400\cellx9500\intbl
    Номер параметра\cell Наименование параметра\cell Еденицы измерения\cell Значение параметра\cell \row
    1\cell 2\cell 3\cell 4\cell \row

    \pard\par\trowd\qc
    \cellx7300\cellx8400\cellx9500\intbl
    Наименование параметра\cell Еденицы измерения\cell Значение параметра\cell \row
    1\cell 2\cell 3\cell \row

    \pard\par\trowd\qc
    \clvmgf\cellx1000\clvmgf\cellx3000\clvmgf\cellx4300\cellx9500 \intbl
    Номер зоны \cell Координаты точек \cell Допустимое UPR (B)\cell Напряжение прикосновения\cell \row
    \trowd
    \clvmrg\cellx1000\clvmrg\cellx3000\clvmrg\cellx4300\clvmgf\cellx5900\cellx9500 \intbl
    \cell \cell \cell Без мероприятий\cell С меро\-приятиями\cell \row
    \trowd
    \clvmrg\cellx1000\cellx2000\cellx3000\clvmrg\cellx4300\clvmrg\cellx5900\cellx7100\cellx8300\cellx9500 \intbl
    \cell X\cell Y\cell \cell \cell Полоса\cell Решетка\cell Подсыпка\cell \row
    \trowd
    \cellx1000\cellx2000\cellx3000\cellx4300\cellx5900\cellx7100\cellx8300\cellx9500 \intbl
    1\cell 2\cell 3\cell 4\cell 5\cell 6\cell 7\cell 8\cell \row

    }

    это уже конечный вариант теперь он правильно отображается в вордпаде висты и хп, в офисе 2000, но не работает в вордпаде 2000 винды((
    там ваще нету понятия слияния полей…хотя в спецификации RTF1.6 1999 года есть нужные для этого средства ((

  4. 7
    Артур Мазурик ответил:

    для нормальной кодировки в вордпад нужно добавить \ansicpg1251 после {\rtf1

  5. 6
    Артур Мазурик ответил:

    Вот то что мне нужно было сделать:
    {\rtf1
    \qc

    \par
    \trowd
    \cellx1000\cellx5000\cellx6000\cellx9500
    Номер параметра\cell Наименование параметра\cell Еденицы измерения\cell Значение параметра\cell \row
    1\cell 2\cell 3\cell 4\cell \row

    \par
    \trowd
    \cellx5000\cellx6000\cellx7000
    Наименование параметра\cell Еденицы измерения\cell Значение параметра\cell \row
    1\cell 2\cell 3\cell \row

    \par
    \trowd
    \clvmgf\cellx1000\clvmgf\clmgf\cellx2000\clvmgf\clmrg\cellx3000\clvmgf\cellx4000\clmgf\cellx5000\clmrg\cellx6000\clmrg\cellx7000\clmrg\cellx8000
    Номер зоны \cell Координаты точек \cell \cell Допустимое UPR (B)\cell Напряжение прикосновения\cell\cell \cell \cell \row

    \trowd
    \clvmrg\cellx1000\clvmrg\clmgf\cellx2000\clvmrg\clmrg\cellx3000\clvmrg\cellx4000\clvmgf\cellx5000\clmgf\cellx6000\clmrg\cellx7000\clmrg\cellx8000
    \cell \cell \cell \cell Без мероприятий\cell С мероприятиями\cell\cell \cell\row

    \trowd
    \clvmrg\cellx1000\cellx2000\cellx3000\clvmrg\cellx4000\clvmrg\cellx5000\cellx6000\cellx7000\cellx8000
    \cell X\cell Y\cell \cell \cell Полоса\cell Решетка\cell Подсыпка\cell \row

    \trowd
    \cellx1000\cellx2000\cellx3000\cellx4000\cellx5000\cellx6000\cellx7000\cellx8000
    1\cell 2\cell 3\cell 4\cell 5\cell 6\cell 7\cell 8\cell \row

    }

    если нужно объеденить не две ячейки а больше то нужно в первой использовать \clvmgf ав каждой последующей \clvmrg

  6. 5
    Артур Мазурик ответил:

    ))))
    получилось)) Кирилл, респектеще вам))
    все оказалось очень просто )))
    были нужны \clvmgf \clvmrg – для объеденения по вертикали ))
    и поидее для грамотного объеденения по горизонтали нужны \clmgf \clmrg

    {\rtf

    \trowd
    \clvmgf\cellx500\cellx1000
    123\cell 456\cell \row

    \trowd
    \clvmrg\cellx500\cellx1000
    \cell 789\cell \row

    }

    еще раз спасиб за помощь )

  7. 4
    Артур Мазурик ответил:

    ))) хех )))) чет я в вордпаде не нашел с первого раза как таблицу создать (((…ну лан спасиб ща попробую…))

  8. 3
    Кирилл Быков ответил:

    Я тож не нашёл :-) Из ворда скопировал :-D
    Потом скажи, получилось или нет :)

  9. 2
    Кирилл Быков ответил:

    Надо в вордпаде создавать. Код в два раза меньше, легче искать :)
    {\rtf1\ansi\ansicpg1251\deff0\deflang1049{\fonttbl{\f0\froman\fprq2\fcharset204{\*\fname Times New Roman;}Times New Roman CYR;}{\f1\fswiss\fcharset204{\*\fname Arial;}Arial CYR;}}
    {\*\generator Msftedit 5.41.15.1507;}\viewkind4\uc1\trowd\trgaph10\trleft-10\trpaddl10\trpaddr10\trpaddfl3\trpaddfr3
    \clvmgf\cellx490\cellx990\pard\intbl\nowidctlpar\qc\f0\fs24 123\cell 456\cell\row\trowd\trgaph10\trleft-10\trpaddl10\trpaddr10\trpaddfl3\trpaddfr3
    \clvmrg\cellx490\cellx990\pard\intbl\nowidctlpar\qc\cell 789\cell\row\pard\f1\fs20\par
    }

  10. 1
    Георгий Утевский ответил:

    ))))

Клуб программистов работает уже ой-ой-ой сколько, а если поточнее, то с 2007 года.