Если не предусмотрен Modify для параметра DataWindow

Автор: GAA. Опубликовано в PowerBuilder

Столкнулся с необходимостью программно изменять параметр New Page on Group Break (Если выбран, каждая группа начинается с новой страницы)

Возможность установки параметра newpage=yes (no) при помощи функции Modify() не предусмотрена ... 

 

Решение:

string ls_syntax 

ls_syntax = dw_report.describe("datawindow.syntax")
ls_syntax = uo_string.of_globalreplace(ls_syntax, "newpage=yes", "")
dw_report.create(ls_syntax)

Конвертация .doc в .rtf без использования MS Word.

Автор: GAA. Опубликовано в PowerBuilder

Иногда требуется конвертация .doc в .rtf (или иные форматы) без использования MS Word. Spire.Doc вполне подходит для решения этой задачи.

  • Код PowerBuilder можно скачать по ссылке в конце статьи.
  • С сайта разработчика скачать компонент Free Spire.Doc for .NET. Установить (в примере установлен в папку C:\e-iceblue\Spire.Doc-Fe).
  • Создать в PowerBuilder (в примере Classic version 12.1 Build 6639) новое приложение:  Target  .Net Windows Form Application. В примере Target: Convert; Application: Convert; PBL: D:\WORK\PB121\MyPBL\convert\convert.pbl;

  • Добавить .NET Assembles from Application Properties (RBM - правая кнопка мыши на Target convert). System Assembly нужно выбирать в соответствии с framework для PowerBuilder (для 12.1 -> 3.5). 

  • Должно выглядеть так.

  • Все, теперь можно писать код для конвертации - у меня это небольшая функция:

#IF Defined PBDOTNET Then

Spire.Doc.Document document
Spire.Doc.Section section
Spire.Doc.Documents.Paragraph paragraph
Spire.Doc.FileFormat fileformat

document = create Spire.Doc.Document
fileformat = Spire.Doc.FileFormat.DOCX!
document.LoadFromFile(as_source_file, fileformat);

fileformat = Spire.Doc.FileFormat.Rtf!

document.SaveToFile(as_destination_file, fileformat);

#END IF

 

 

Attachments:
Download this file (convert.txt)convert.rar[Example (rename extension to .rar)]7247 kB