Вверх ↑
Разработчик
Ответов: 26351
Рейтинг: 2150
#1: 2026-06-19 18:41:55 ЛС | профиль | цитата
Gitarist писал(а):
А может кто то для меня тупенького доработать эту схему от Nesco?

Схема

Add(MainForm,13203121,273,126)
{
Left=20
Top=105
Width=495
Height=315
Caption="Example_bd_ImgToBLOB_&_BLOBToImg"
Position=1
Point(onClose)
link(onCreate,15638967:doOpen,[])
link(onClose,15638967:doClose,[])
}
Add(Image,8020156,1015,168)
{
Left=215
Top=5
Width=256
Height=240
}
Add(FormatStr,14414580,560,350)
{
DataCount=1
Mask="UPDATE images\r\nSET name = (SELECT 'Bitmap_' || CAST((SELECT Max(Id) FROM images) AS TEXT) FROM images), \r\n format = 'bmp',\r\n image = x'%1'\r\nWHERE Id = (SELECT Max(Id) FROM images);"
Point(FString)
link(onFString,16727517:doWork2,[])
}
Add(Case,5126562,868,168)
{
Value=String()
link(onNextCase,14428262:doConvert,[])
}
Add(Stream2Hex,14428262,917,168)
{
Mode=1
link(onResult,16673043:doLoadFrom,[])
}
Add(Button,5646810,77,329)
{
Left=10
Top=250
TabOrder=-1
Caption="Add"
Data=String(1)
link(onClick,6607378:doExecute,[])
}
Add(Stream2Hex,13361357,504,350)
{
link(onResult,14414580:doString,[])
}
Add(StyleXP,6978038,273,84)
{
}
Add(ListBox,6320610,644,154)
{
Left=5
Top=5
Width=200
Height=240
DataType=1
Point(doEnsureVisible)
Point(EndIdx)
Point(onSelect)
Point(doSelect)
link(onClick,8725124:doWork1,[(697,167)])
link(onSelect,8725124:doWork2,[])
}
Add(DS_SQLite,15638967,336,140)
{
Name="sqlite_main"
FileName=":memory:"
link(onOpen,10882982:doEvent1,[])
}
Add(DSC_Exec,4510486,427,147)
{
SQL="CREATE TABLE IF NOT EXISTS images (\r\nId INTEGER PRIMARY KEY AUTOINCREMENT,\r\nname text,\r\nformat text,\r\nimage blob\r\n);"
DSManager="sqlite_main"
link(onExec,15015445:doEvent2,[])
}
Add(DSC_Query,10684373,574,154)
{
SQL="SELECT name FROM images"
DSManager="sqlite_main"
link(onQuery,6320610:doAdd,[])
}
Add(ODialog,6607378,133,329)
{
Filter="All Image Files|*.bmp;*.gif;*.ico;*wmf;*.emf;*.tif;*.png;*.jpg;*.jpeg|BMP (*.bmp)|*.bmp|JPG (*.jpg, *.jpeg)|*.jpg;*.jpeg|GIF (*.gif)|*.gif|TIFF (*.tif)|*.tif|PNG (*.png)|*.png|ICO (*.ico)|*.ico|EMF (*.emf)|*.emf|WMF (*.wmf)|*.wmf|All files (*.*)|*.*"
FileName=""
link(onExecute,8041728:doLoadFrom,[])
}
Add(DSC_Exec,7229812,644,350)
{
DSManager="sqlite_main"
}
Add(Hub,15015445,483,140)
{
InCount=3
OutCount=4
link(onEvent1,6320610:doClear,[(613,146)(613,167)])
link(onEvent2,10684373:doQuery,[(564,153)(564,160)])
link(onEvent3,6431321:doData,[(508,160)(508,251)])
link(onEvent4,10483385:doData,[(515,167)(515,195)])
}
Add(DoData,6431321,665,245)
{
link(onEventData,6320610:doEnsureVisible,[(704,251)(704,216)(634,216)(634,188)])
link(Data,2762085:Var2,[])
}
Add(DoData,10483385,525,189)
{
link(onEventData,6320610:doSelect,[])
link(Data,2762085:Var1,[(531,180)(566,180)(566,222)])
}
Add(GetDataEx,2762085,665,217)
{
link(Data,6320610:EndIdx,[])
}
Add(Hub,15667411,441,343)
{
OutCount=3
link(onEvent1,10183303:doString,[(487,349)(487,307)])
link(onEvent2,13361357:doConvert,[])
link(onEvent3,15015445:doEvent3,[(466,363)(466,160)])
}
Add(FormatStr,10088451,770,168)
{
DataCount=1
Mask="SELECT hex(Image) FROM images WHERE name = '%1'"
Point(FString)
link(onFString,10502055:doQuery,[])
}
Add(DSC_Query,10502055,819,168)
{
DSManager="sqlite_main"
link(onQuery,5126562:doCase,[])
}
Add(Img_GDIFileProcessor,16673043,966,168)
{
Method=1
link(onLoad,8020156:doLoad,[])
}
Add(HubEx,8725124,693,168)
{
link(onEvent,10973051:doEvent1,[])
}
Add(DSC_Query,2183518,427,84)
{
SQL="SELECT sqlite_version();"
DSManager="sqlite_main"
link(onQuery,16577214:doText,[])
}
Add(Hub,10882982,385,140)
{
link(onEvent1,2183518:doQuery,[(410,146)(410,90)])
link(onEvent2,4510486:doExec,[])
}
Add(StatusBar,16577214,476,84)
{
}
Add(Img_GDIFileProcessor,8041728,189,329)
{
link(onLoad,9980368:doEvent1,[])
}
Add(BitmapStream,5226381,350,308)
{
link(Stream,13079059:Var2,[])
}
Add(MemoryStream,12195586,350,245)
{
}
Add(Hub,9980368,294,329)
{
OutCount=3
link(onEvent1,12195586:doClear,[(319,335)(319,258)])
link(onEvent2,5226381:doWrite,[(326,342)(326,321)])
link(onEvent3,14955864:doData,[])
}
Add(DoData,14955864,392,343)
{
link(onEventData,15667411:doEvent1,[])
link(Data,13079059:Var3,[(398,292)])
}
Add(GetDataEx,13079059,350,287)
{
link(Data,12195586:Stream,[])
}
Add(FormatStr,10183303,560,301)
{
DataCount=1
Mask="INSERT INTO images VALUES\r\n(\r\n(SELECT Max(Id) + 1 FROM images),\r\n'',\r\n'',\r\nx''\r\n);"
Point(FString)
link(onFString,16727517:doWork1,[(620,307)])
}
Add(HubEx,16727517,616,350)
{
link(onEvent,7229812:doExec,[])
}
Add(Hub,10973051,728,168)
{
link(onEvent1,10088451:doString,[])
link(onEvent2,9796746:doText2,[(760,181)(760,244)])
}
Add(Button,11561141,707,287)
{
Left=75
Top=250
TabOrder=-1
Caption="Del"
Data=String(1)
link(onClick,6364607:doEvent1,[])
}
Add(Edit,9796746,819,231)
{
Left=135
Top=250
Width=105
Enabled=1
Text=""
}
Add(FormatStr,16301111,819,287)
{
DataCount=1
Mask="DELETE FROM images WHERE name = '%1';"
Point(FString)
link(onFString,11784442:doWork2,[])
link(Str1,9796746:Text,[])
}
Add(DSC_Exec,5134636,917,287)
{
DSManager="sqlite_main"
link(onExec,10686385:doEvent1,[])
}
Add(Hub,10686385,966,287)
{
link(onEvent1,8020156:doClear,[(1005,293)(1005,181)])
link(onEvent2,15015445:doEvent1,[(1054,300)(1054,132)(473,132)(473,146)])
}
Add(InfoTip,7793053,63,287)
{
Info=#37:Эти компоненты меняются на свою схему|
Width=204
Height=88
}
Add(FormatStr,11869738,819,329)
{
DataCount=1
Mask="DELETE FROM sqlite_sequence WHERE name = 'images';\r\nINSERT INTO "sqlite_sequence" VALUES\r\n('images', (SELECT MAX(Id) FROM images));"
Point(FString)
link(onFString,5642181:doWork2,[])
}
Add(VisualStrings,7646049,819,371)
{
Lines=#7:VACUUM;|
Width=60
Point(doText)
Point(onText)
link(onText,5642181:doWork3,[(907,377)])
}
Add(HubEx,11784442,903,287)
{
link(onEvent,5134636:doExec,[])
}
Add(HubEx,5642181,903,329)
{
Angle=3
link(onEvent,11784442:doWork3,[])
}
Add(Hub,6364607,770,287)
{
OutCount=3
link(onEvent1,16301111:doString,[])
link(onEvent2,11869738:doString,[(809,300)(809,335)])
link(onEvent3,7646049:doText,[(802,307)(802,377)])
}

|
карма: 23

0
Редактировалось 2 раз(а), последний 2026-06-23 05:38:12