| Потоки | - LZMA |
LZMA
Краткое описание
Компонент предназначен для сжатия и декодирования потока данных по алгоритму LZMA
Параметры
Методы
События
Свойства
Данные
Пример
Пример использования компонента LZMA для сжатия/восстановления потока данных
Add(MainForm,11110781,546,203)
{
Left=300
Top=200
Width=153
Height=93
Font=[Arial,8,0,0,204]
Caption="LZMA Demo"
BorderStyle=3
}
Add(LZMA,1755314,350,259)
{
ProgressInterval=1000
Point(DestSize)
Point(onProgress)
Point(onProgressMax)
Point(onError)
link(onStream,1185699:doEvent1,[(390,265)(390,230)])
link(Stream,12259100:Stream,[])
link(onProgress,11003155:doPosition,[])
link(onProgressMax,11003155:doMax,[])
link(onError,7666746:doGetString,[])
}
Add(Button,10125888,154,147)
{
Left=10
Top=10
Font=[Arial,8,1,0,204]
TabOrder=-1
Caption="Pack"
link(onClick,1096359:doEvent1,[])
AddHint(-69,38,40,13,Caption)
}
Add(Button,6333852,154,210)
{
Left=80
Top=10
Font=[Arial,8,1,0,204]
TabOrder=-1
Caption="Unpack"
link(onClick,5168960:doEvent1,[])
AddHint(-69,40,53,13,Caption)
}
Add(ODialog,1914952,259,147)
{
FileName=""
link(onExecute,12259100:doOpen,[])
}
Add(FileStream,12259100,350,147)
{
link(onLoad,16264439:doExecute,[])
}
Add(Memory,11596301,441,147)
{
}
Add(SDialog,16264439,392,147)
{
FileName=""
link(onExecute,11596301:doValue,[])
}
Add(FileStream,13389639,441,210)
{
Mode=1
AutoCopy=0
Point(doCopyFromStream)
link(FileName,11596301:Value,[])
}
Add(Hub,1185699,399,224)
{
OutCount=4
link(onEvent1,13389639:doCopyFromStream,[])
link(onEvent2,13703545:doStop,[(482,237)(482,216)])
link(onEvent3,12259100:doClose,[(425,244)(425,202)(338,202)(338,160)])
link(onEvent4,6925404:doString,[(425,251)(425,353)(334,353)(334,321)])
}
Add(Message,8664802,441,315)
{
Caption="Done!!!"
}
Add(ProgressBar,11003155,441,266)
{
Top=41
Width=147
Align=4
Ctl3D=0
WinStyle=2
Smooth=1
ProgressColor=7554575
Point(doMax)
}
Add(FormatStr,6925404,350,315)
{
DataCount=1
Mask="File size is %1 bytes"
link(onFString,8664802:doMessage,[])
link(Str1,1755314:DestSize,[])
}
Add(Message,8038993,546,245)
{
Caption="Error"
Icon=1
}
Add(TimeCounter,13703545,497,203)
{
link(onStop,11110781:doCaption,[(537,216)(537,209)])
}
Add(Hub,1096359,203,147)
{
link(onEvent1,7999595:doWork2,[])
link(onEvent2,1934272:doStart,[(242,160)(242,209)])
}
Add(Hub,5168960,203,210)
{
link(onEvent1,7999595:doWork3,[(235,216)])
link(onEvent2,13232037:doStart,[(235,223)(235,265)])
}
Add(HubEx,7999595,231,147)
{
link(onEvent,1914952:doExecute,[])
}
Add(Thread,1934272,259,203)
{
Delay=0
FastStop=0
link(onExec,4009044:doEvent1,[])
}
Add(Thread,13232037,259,259)
{
Delay=0
FastStop=0
link(onExec,2659492:doEvent1,[])
}
Add(Hub,4009044,301,203)
{
link(onEvent1,15631013:doWork2,[])
link(onEvent2,1755314:doCompress,[(333,216)(333,265)])
}
Add(Hub,2659492,301,259)
{
link(onEvent1,15631013:doWork3,[(326,265)])
link(onEvent2,1755314:doDeCompress,[])
}
Add(HubEx,15631013,322,203)
{
link(onEvent,13703545:doStart,[])
}
Add(StrList,7666746,497,238)
{
@Hint=#11:Коды ошибок|
Strings=#38:Невозможно установить параметры сжатия|28:Входной поток очень короткий|20:Ошибка данных потока|24:Неверные свойства потока|0:|
Point(onGetString)
Point(doGetString)
link(onGetString,8038993:doMessage,[])
AddHint(53,60,83,13,@Hint)
}
Замечания
Обновление элемента: [svn]LZMA.pas[/svn]
BB-code статьи для вставки
Всего комментариев: 0
(комментарии к статье еще не добавлены)