OberonCore

Библиотека  Wiki  Форум  BlackBox  Компоненты  Проекты
Текущее время: Четверг, 28 Март, 2024 14:28

Часовой пояс: UTC + 3 часа




Начать новую тему Ответить на тему  [ Сообщений: 2 ] 
Автор Сообщение
СообщениеДобавлено: Вторник, 05 Январь, 2021 17:47 
Аватара пользователя

Зарегистрирован: Четверг, 08 Октябрь, 2009 15:00
Сообщения: 3774
Пример для подписчика

Код:
MODULE DemoText;

   IMPORT TextModels, TextMappers, TextViews, Views, Files, Converters;
   
   PROCEDURE Start*();
   VAR
      t: TextModels.Model;
      f: TextMappers.Formatter;
      conv: Converters.Converter;
      loc: Files.Locator;
      name: Files.Name;
      res: INTEGER;
   BEGIN
      t := TextModels.dir.New();
      f.ConnectTo(t);
      f.WriteString("число Пи"); f.WriteLn;
      f.WriteReal(3.14); f.WriteLn;
      
      (* cохранить в виде оберон-документа *)
      Views.RegisterView(
         TextViews.dir.New(t),  (* создаем отображение из модели текста *)
         Files.dir.This(""),  (* путь *)
         "test.odc"  (* имя файла *)
      );
      
      (* cохранить в виде RTF документа см. модуль Config  *)
      conv := Converters.list;
      WHILE (conv # NIL) & (conv.exp # "HostTextConv.ExportRichText") DO
         conv := conv.next
      END;
      
      loc := Files.dir.This("");
      name := "test.rtf";
      Views.Register(TextViews.dir.New(t), Files.dontAsk, loc, name, conv, res);
      
   END Start;   

END DemoText.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Вторник, 05 Январь, 2021 18:31 
Аватара пользователя

Зарегистрирован: Суббота, 16 Февраль, 2008 02:47
Сообщения: 660
А можно и напрямую, минуя Views.Register, если уж точно известно, какой конвертер (выходной формат) нужен:

Код:
   IMPORT HostTextConv;

   PROCEDURE ExportFocusPlain* (IN location, name: ARRAY OF CHAR);
   (** Экспортировать фокусный текст в формат PlainText в файл по адресу location/name *)
      VAR file: Files.File; _: INTEGER; v: TextViews.View;
   BEGIN
      v := TextViews.Focus();
      IF v # NIL THEN
         file := Files.dir.New(Files.dir.This(location), Files.dontAsk);
         HostTextConv.ExportText(v, file);
         file.Register(name$, '', Files.dontAsk, _)
      END
   END ExportFocusPlain;


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 2 ] 

Часовой пояс: UTC + 3 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 6


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Вся информация, размещаемая участниками на конференции (тексты сообщений, вложения и пр.) © 2005-2024, участники конференции «OberonCore», если специально не оговорено иное.
Администрация не несет ответственности за мнения, стиль и достоверность высказываний участников, равно как и за безопасность материалов, предоставляемых участниками во вложениях.
Без разрешения участников и ссылки на конференцию «OberonCore» любое воспроизведение и/или копирование высказываний полностью и/или по частям запрещено.
Powered by phpBB® Forum Software © phpBB Group
Русская поддержка phpBB