А может кто то для меня тупенького доработать эту схему от Nesco?  схема Add(MainForm,13203121,231,161) { 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,875,196) { Left=215 Top=5 Width=256 Height=240 } Add(FormatStr,14414580,742,399) { DataCount=3 Mask="INSERT INTO images VALUES\r\n(\r\n(SELECT Max(Id) + 1 FROM images),\r\n'%1',\r\n'%2',\r\nx'%3'\r\n);" Point(FString) link(onFString,7229812:doExec,[]) link(Str1,527911:Part,[(748,388)(699,388)]) link(Str2,8646129:Part,[]) } Add(Case,5126562,728,196) { Value=String() link(onNextCase,14428262:doConvert,[]) } Add(Stream2Hex,14428262,777,196) { Mode=1 link(onResult,16673043:doLoadFrom,[]) } Add(Button,5646810,238,392) { Left=205 Top=250 TabOrder=-1 Caption="Add" Data=String(1) link(onClick,6607378:doExecute,[]) } Add(FileStream,11349030,525,392) { link(onLoad,13361357:doConvert,[]) link(FileName,5431599:Value,[(531,383)(433,383)(433,432)(398,432)]) } Add(Hub,15215390,490,392) { link(onEvent1,11349030:doOpen,[]) link(onEvent2,11349030:doClose,[]) } Add(Stream2Hex,13361357,574,392) { link(onResult,3763332:doEvent1,[]) } Add(StyleXP,6978038,231,105) { } Add(ListBox,6320610,560,182) { Left=5 Top=5 Width=200 Height=240 DataType=1 Point(doEnsureVisible) Point(EndIdx) Point(onSelect) Point(doSelect) link(onClick,8725124:doWork1,[(613,195)]) link(onSelect,8725124:doWork2,[]) } Add(DS_SQLite,15638967,287,175) { Name="sqlite_main" FileName="Images.db" link(onOpen,4510486:doExec,[]) } Add(DSC_Exec,4510486,336,175) { SQL="CREATE TABLE IF NOT EXISTS images (\r\nId int,\r\nname text,\r\nformat text,\r\nimage blob\r\n);" DSManager="sqlite_main" link(onExec,15015445:doEvent1,[]) } Add(DSC_Query,10684373,490,182) { SQL="SELECT name FROM images" DSManager="sqlite_main" link(onQuery,6320610:doAdd,[]) } Add(ODialog,6607378,294,392) { 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="" Select=1 link(onExecute,15667411:doEvent1,[]) } Add(Memory,5431599,392,392) { link(onData,1580319:doPart,[]) } Add(FilePartElm,1580319,441,392) { Point(Part) link(onPart,15215390:doEvent1,[]) } Add(FilePartElm,527911,693,343) { Mode=2 Point(Part) link(onPart,8646129:doPart,[]) link(FileName,569877:Var2,[]) } Add(FilePartElm,8646129,749,343) { Mode=3 Point(Part) link(FileName,569877:Var3,[(755,328)]) } Add(GetDataEx,569877,693,323) { Angle=3 link(Data,1580319:Part,[(629,328)(629,432)(447,432)]) } Add(Hub,3763332,644,392) { link(onEvent1,527911:doPart,[(669,398)(669,349)]) link(onEvent2,14414580:doString,[]) } Add(DSC_Exec,7229812,791,399) { DSManager="sqlite_main" } Add(Hub,15015445,399,175) { InCount=2 OutCount=4 link(onEvent1,6320610:doClear,[(424,181)(424,174)(529,174)(529,195)]) link(onEvent2,10684373:doQuery,[]) link(onEvent3,6431321:doData,[(424,195)(424,279)]) link(onEvent4,10483385:doData,[(431,202)(431,223)]) } Add(DoData,6431321,581,273) { link(onEventData,6320610:doEnsureVisible,[(620,279)(620,244)(550,244)(550,216)]) link(Data,2762085:Var2,[]) } Add(DoData,10483385,441,217) { link(onEventData,6320610:doSelect,[]) link(Data,2762085:Var1,[(447,208)(482,208)(482,250)]) } Add(GetDataEx,2762085,581,245) { link(Data,6320610:EndIdx,[]) } Add(Hub,15667411,350,392) { link(onEvent1,5431599:doValue,[]) link(onEvent2,15015445:doEvent2,[(382,405)(382,188)]) } Add(FormatStr,10088451,630,196) { DataCount=1 Mask="SELECT hex(Image) FROM images WHERE name = '%1'" Point(FString) link(onFString,10502055:doQuery,[]) } Add(DSC_Query,10502055,679,196) { DSManager="sqlite_main" link(onQuery,5126562:doCase,[]) } Add(Img_GDIFileProcessor,16673043,826,196) { Method=1 link(onLoad,8020156:doLoad,[]) } Add(HubEx,8725124,609,196) { link(onEvent,10088451:doString,[]) }
нужно чтобы база принимала картинки из потока, а не из файла. Так же надо завести кнопку "удалить". Редактировалось 2 раз(а), последний 2026-06-16 03:24:58
|