Gedemin TLB.IgsApplication.MimeEncodeStream
Материал из GedeminWiki
Версия от 14:00, 16 июля 2014; SYSDBA (обсуждение | вклад)
From Gedemin TLB.pas
procedure MimeEncodeStream(const InputStream: IgsStream; const OutputStream: IgsStream; WithCRLF: WordBool); safecall;
Unit: Gedemin TLB
Type: procedure
Visibility: public
Member Of: IgsApplication
Содержание |
Описание
Кодирует двоичный поток в base64. С разбивкой на строки (параметр WithCRLF = True) или без нее (WithCRLF = False). Парная процедура к MimeDecodeStream.
Пример кодирования данных файла в base64
Option Explicit Sub EncodeBase64 Const fmOpenRead = 0 Const fmCreate = &HFFFF& Dim Creator, InStream, OutStream Set Creator = New TCreator ' Исходный файл с данными, которые мы будем кодировать Set InStream = Creator.GetObject(Array("c:\temp\some_file", fmOpenRead), "TFileStream", "") ' Сюда мы поместим закодированные в base64 данные Set OutStream = Creator.GetObject(Array("c:\temp\some_file.txt", fmCreate), "TFileStream", "") ' двоичные данные => base64 с разбивкой на строки Call Application.MimeEncodeStream(InStream, OutStream, True) End Sub
Пример кодирования данных двоичного поля в base64
Option Explicit Sub EncodeBase64 ... Dim Creator, InStream, OutStream Set Creator = New TCreator ' Исходный файл с данными, которые мы будем кодировать Set InStream = Creator.GetObject(nil, "TMemoryStream", "") ' Сюда мы поместим закодированные в base64 данные Set OutStream = Creator.GetObject(nil, "TStringStream", "") ... q.FieldByName("field_name").SaveToStream(InStream) ' двоичные данные => base64 с разбивкой на строки Call Application.MimeEncodeStream(InStream, OutStream, True) ' перекодированные данные выводим на экран MsgBox OutStream.DataString ... End Sub