Gedemin TLB.IgsApplication.MimeEncodeStream
Материал из GedeminWiki
(Различия между версиями)
SYSDBA (обсуждение | вклад) |
SYSDBA (обсуждение | вклад) |
||
| Строка 22: | Строка 22: | ||
' двоичные данные => base64 с разбивкой на строки | ' двоичные данные => base64 с разбивкой на строки | ||
Call Application.MimeEncodeStream(InStream, OutStream, True) | Call Application.MimeEncodeStream(InStream, OutStream, True) | ||
| + | End Sub | ||
| + | </syntaxhighlight> | ||
| + | |||
| + | ====Пример кодирования данных двоичного поля в base64==== | ||
| + | |||
| + | <syntaxhighlight lang="vbnet"> | ||
| + | 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 | End Sub | ||
</syntaxhighlight> | </syntaxhighlight> | ||
Версия 14:00, 16 июля 2014
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