OberonCore https://forum.oberoncore.ru/ |
|
Создание текста и сохранние в двух форматах https://forum.oberoncore.ru/viewtopic.php?f=35&t=6707 |
Страница 1 из 1 |
Автор: | Иван Денисов [ Вторник, 05 Январь, 2021 17:47 ] |
Заголовок сообщения: | Создание текста и сохранние в двух форматах |
Пример для подписчика Код: 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. |
Автор: | adimetrius [ Вторник, 05 Январь, 2021 18:31 ] |
Заголовок сообщения: | Re: Создание текста и сохранние в двух форматах |
А можно и напрямую, минуя 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; |
Страница 1 из 1 | Часовой пояс: UTC + 3 часа |
Powered by phpBB® Forum Software © phpBB Group https://www.phpbb.com/ |