Вверх ↑
Ответов: 32
Рейтинг: -2
#1: 2018-03-27 17:47:51 ЛС | профиль | цитата
Вот наскребал элемент :
.ini

[About]
Version=1.0
Author=
Mail=

[Type]
Class=Element
Info=Данные в файл (Или новый файл)

[Property]

[Methods]
doCreate=Создание Файла (Путь из потока или Selecteon )|1|
onLoad=При успешной загрузке файлов|2|
Selecteon=Имя файла|4|
SrcStream=Данные в файл|4|

.pas

unit hiFileWrite2;

interface

uses
Windows,
hiEditMultiEx,
hiMemory,
hiFileStream,
hiDoData,
hiHub,
hiMultiElementEx,hiMultiBase,kol,Share;

type
THIFileWrite2 = class(ThiMultiElementEx)
private
EditMultiEx_3064A30:THIEditMultiEx;
Memory_2162B98:THIMemory;
FileStream_2162C30:THIFileStream;
DoData_2162CC8:THIDoData;
Hub_21DA680:THIHub;
procedure SetonLoad(event:THI_Event);
procedure SetSelecteon(data:THI_Event);
procedure SetSrcStream(data:THI_Event);
public
Child:THIEditMultiEx;

constructor Create;
destructor Destroy; override;
procedure _work_doCreate(var Data:TData; index:word);
property _event_onLoad:THI_Event write SetonLoad;
property _data_Selecteon:THI_Event write SetSelecteon;
property _data_SrcStream:THI_Event write SetSrcStream;
end;

implementation


constructor THIFileWrite2.Create;
begin
inherited Create;
//Init for EditMultiEx;
EditMultiEx_3064A30 := THIEditMultiEx.Create;
with EditMultiEx_3064A30 do begin
SetLength(Works,1);
SetLength(Vars, 0);
end;
//Init for Memory;
Memory_2162B98 := THIMemory.Create;
//Init for FileStream;
FileStream_2162C30 := THIFileStream.Create;
with FileStream_2162C30 do begin
_prop_FileName := PChar(#0);
_prop_Mode := 1;
_prop_AutoCopy := True;
end;
//Init for DoData;
DoData_2162CC8 := THIDoData.Create;
//Init for Hub;
Hub_21DA680 := THIHub.Create;
with Hub_21DA680 do begin
_prop_InCount := 1;
_prop_OutCount := 2;
end;
//%multi%
//Make all connection in scheme
EditMultiEx_3064A30.Works[0] := _DoEvent(Memory_2162B98._work_doValue,0);
Memory_2162B98._event_onData := _DoEvent(Hub_21DA680.doEvent,0);
Memory_2162B98._data_Data := _DoEvent(EditMultiEx_3064A30._Data,0);
FileStream_2162C30._data_FileName := _DoEvent(Memory_2162B98._var_Value,0);
DoData_2162CC8._event_onEventData := _DoEvent(FileStream_2162C30._work_doCopyFromStream,2);
DoData_2162CC8._data_Data := _DoEvent(EditMultiEx_3064A30._Data,1);
Hub_21DA680.onEvent[0] := _DoEvent(FileStream_2162C30._work_doOpen,0);
Hub_21DA680.onEvent[1] := _DoEvent(DoData_2162CC8._work_doData,0);

Child := EditMultiEx_3064A30;
Child.MainClass := TClassMultiBase(Self); // work but not correct... :(
Child.Parent := Self;
SetLength(Events, 1);
SetLength(Datas, 2);
end;

destructor THIFileWrite2.Destroy;
begin
Hub_21DA680.Destroy;
DoData_2162CC8.Destroy;
FileStream_2162C30.Destroy;
Memory_2162B98.Destroy;
EditMultiEx_3064A30.Destroy;
inherited;
end;

procedure THIFileWrite2._work_doCreate(var Data:TData; index:word);
begin
_hi_onEvent(Child.Works[0], Data);
end;

procedure THIFileWrite2.SetonLoad;
begin
Events[0] := event;
end;

procedure THIFileWrite2.SetSelecteon;
begin
Datas[0] := data;
end;

procedure THIFileWrite2.SetSrcStream;
begin
Datas[1] := data;
end;



end.

Инструкция ясна ?

--- Добавлено в 2018-03-27 17:50:39

Установка -
1 Сохранить файлы
1.2 Скинуть .ini в HiASM
2 Установить в Delphi Файлы
3 Всё пользуйся
карма: -2
cschanell
0
Редактировалось 1 раз(а), последний 2018-03-27 17:50:39