Вверх ↑
Ответов: 16884
Рейтинг: 1239
#1: 2018-07-29 16:44:21 ЛС | профиль | цитата
А, подключив свои функции, можно получить ещё более красивую картинку.

Add(MainForm,420876,140,147)
{
Point(onClose)
link(onCreate,9077544:doOpen,[])
link(onClose,9077544:doClose,[])
}
Add(InlineCode,507989,294,168)
{
@Hint=#8:Функция |10:FirstUpper|
WorkPoints=#11:addFunction|
DataPoints=#8:dbHandle|
Code=#15:unit HiAsmUnit;|0:|9:interface|0:|52:uses kol,Share,Debug,Windows,SQLite3Api,hiSQLite_DB;|0:|4:type|28: THiAsmClass = class(TDebug)|9: public|22: dbHandle:THI_Event;|52: procedure addFunction(var _Data:TData; idx:word);|5: end;|0:|14:implementation|0:|13:var s:string;|65:procedure myFunc(ctx:pointer; nArg:integer; args:ppvalue); cdecl;|5:begin|31: s:=sqlite3_value_text(args^);|13: s:=Trim(s);|33: CharLowerBuff(@s[1],Length(s));|25: CharUpperBuff(@s[1],1);|49: sqlite3_result_text(ctx,PChar(s),Length(s),-1);|4:end;|0:|34:procedure THiAsmClass.addFunction;|13:var dt:TData;|5:begin|37: dt := ReadData(_Data,dbHandle,nil);|41: if _IsObject(dt,SQLite_GUID) then begin|89: sqlite3_create_function(ToObject(dt),PChar('FIUP'),1,SQLITE_ANY,nil,@myFunc,nil,nil);|6: end;|4:end;|0:|4:end.|
AddHint(38,4,64,26,@Hint)
}
Add(InlineCode,8344503,294,133)
{
@Hint=#12:Функция FStr|
WorkPoints=#11:addFunction|
DataPoints=#8:dbHandle|
Code=#15:unit HiAsmUnit;|0:|9:interface|0:|52:uses kol,Share,Debug,Windows,SQLite3Api,hiSQLite_DB;|0:|4:type|28: THiAsmClass = class(TDebug)|9: public|22: dbHandle:THI_Event;|52: procedure addFunction(var _Data:TData; idx:word);|5: end;|46:type arr = array[0..2] of PValue; parr = ^arr;|0:|14:implementation|0:|65:procedure myFunc(ctx:pointer; nArg:integer; args:ppvalue); cdecl;|13:var a:double;|19: b, c : integer;|13: s:string;|5:begin|11: s := '';|44: a := sqlite3_value_double(parr(args)[0]);|41: b := sqlite3_value_int(parr(args)[1]);|41: c := sqlite3_value_int(parr(args)[2]);|16: Str(a:b:c,s);|50: sqlite3_result_text(ctx,PChar(s),Length(s),-1);|4:end;|0:|34:procedure THiAsmClass.addFunction;|13:var dt:TData;|5:begin|37: dt := ReadData(_Data,dbHandle,nil);|36: if _IsObject(dt,SQLite_GUID) then |7: begin|89: sqlite3_create_function(ToObject(dt),PChar('FSTR'),3,SQLITE_ANY,nil,@myFunc,nil,nil);|6: end;|4:end;|0:|4:end.|
AddHint(36,7,83,13,@Hint)
}
Add(SQLite_DB,9077544,203,161)
{
FileName=":memory:"
link(onOpen,10594254:doEvent1,[])
}
Add(SQLite_Query,2596819,420,231)
{
link(onQuery,3046124:doStr,[])
link(dbHandle,9077544:dbHandle,[(426,208)(209,208)])
}
Add(Hub,10594254,259,161)
{
OutCount=3
link(onEvent1,8344503:addFunction,[(283,167)(283,139)])
link(onEvent2,507989:addFunction,[])
link(onEvent3,13210823:doFor,[(283,181)(283,237)])
}
Add(For,13210823,294,231)
{
Start=1
End=100
link(onEvent,12248595:doString,[])
}
Add(FormatStr,12248595,371,231)
{
DataCount=1
Mask="SELECT FSTR(n,6,0),FiUp("пУПКИН"), Fstr(n*1.54,9,2) \r\n FROM (SELECT %1+1 AS n);"
link(onFString,2596819:doQuery,[])
link(Str1,4607444:Count,[(377,219)(354,219)(354,276)(524,276)])
}
Add(StringTable,4607444,518,231)
{
Left=75
Top=25
Width=275
Height=210
Font=[Courier New,8,1,0,204]
Columns=#1:1|1:2|1:3|
}
Add(MT_String,3046124,469,231)
{
link(onResult,4607444:doAdd,[])
}

карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0