Функция _GUICtrlRichEdit_StreamToFile

 ↑  ←  Описание функции


_GUICtrlRichEdit_StreamToFile

Записывает содержимое элемента Rich Edit в файл

#include <GuiRichEdit.au3>
_GUICtrlRichEdit_StreamToFile($hWnd, $sFilespec [, $fIncludeCOM=True [, $iOpts=0 [, $iCodePage = 0]]])

Параметры

$hWnd Дескриптор элемента
$sFileSpec Путь к файлу
$fIncludeCOM [необязательный] True (по умолчанию):
    Если записывается в файл .rtf, то включает в себя любые COM-объекты (space consuming)
    Если записывается в любой другой файл, то записывается текстовое представление COM-объектов
    False: Записывает пробелы вместо COM-объектов
$iOpts [необязательный] Дополнительные опции: (по умолчанию: 0)
    $SFF_PLAINTRTF - записывать только rich text keywords общий для всех языков
    $SF_UNICODE - записывать Unicode
$iCodePage [необязательный] Создать UTF-8 и текст использующий эту кодовую страницу
    По умолчанию: не использовать

Возвращаемое значение

Успех:Возвращает True
Ошибка:Возвращает False и устанавливает @error
@error:101 - $HWnd не является дескриптором
102 - Невозможно создать $sFilespec
1041 - $SFF_PLAINRTF недопустим для текстового файла
1042 - $opts: недопустимые опции
1043 - $SF_UNICODE допустимо только для текстовых файлов
700 - внутренняя ошибка

Примечания

Если текст выделен, то заменяется выделенное, иначе заменяется весь текст в элементе Rich Edit

Если расширение файла в $sFileSpec является .rtf, то записывается RTF, иначе текст

См. также

_GUICtrlRichEdit_SetLimitOnText, _GUICtrlRichEdit_StreamFromVar, _GUICtrlRichEdit_StreamToVar, _GUICtrlRichEdit_StreamFromFile

См. также

Искать EM_STREAMIN в библиотеке MSDN

Пример

#include <GuiRichEdit.au3>
#include <WindowsConstants.au3>
#include <GUIConstantsEx.au3>
OnAutoItExitRegister('_OnExit') ; Освобождает ресурсы RichEdit даже при завершении скрипта с ошибкой

$hGui = GUICreate(StringTrimRight(@ScriptName, 4), 380, 220, -1, -1)
$hRichEdit = _GUICtrlRichEdit_Create($hGui, "Попробуйте изменять текст, сохранять в файл и открывать из файла", _
        10, 10, 360, 170, BitOR($ES_MULTILINE, $WS_VSCROLL, $ES_AUTOVSCROLL))
$iButtonSave = GUICtrlCreateButton("Сохранить как ...", 40, 185, 140, 30)
$iButtonOpen = GUICtrlCreateButton("Открыть", 200, 185, 140, 30)
GUISetState()

While 1
    Switch GUIGetMsg()
        Case $iButtonSave
            $SaveFile = FileSaveDialog('Сохранить как ...', @DesktopDir, 'Файл RTF (*.rtf)', 24, 'gcre', $hGui)
            If @error Then ContinueLoop
            If StringRight($SaveFile, 4) <> '.rtf' Then $SaveFile &= '.rtf'
            ; Сохраняет в файл
            _GUICtrlRichEdit_StreamToFile($hRichEdit, $SaveFile)
        Case $iButtonOpen
            $OpenFile = FileOpenDialog('Открыть', @DesktopDir, 'Файл RTF (*.rtf)', '', 'gcre', $hGui)
            If @error Then ContinueLoop
            ; Открывает из файла
            _GUICtrlRichEdit_StreamFromFile($hRichEdit, $OpenFile)
        Case $GUI_EVENT_CLOSE
            Exit
    EndSwitch
WEnd

Func _OnExit()
    ; Для версий ниже 3.3.8.0 обязательно удаление RichEdit или GUI для освобождения ресурсов RichEdit
    _GUICtrlRichEdit_Destroy($hRichEdit)
    GUIDelete()
EndFunc