Вверх ↑
Этот топик читают: Гость
Ответов: 107
Рейтинг: 0
#1: 2020-06-20 12:33:37 ЛС | профиль | цитата
Ребята привет, есть текст типа:
Ссылка на файл|картинка 1|картинка 2|картинка 3|картинка 4|картинка 5|картинка 6|Имя сообщения|1280|720|259|mp4|00:09:55|имя файла|разделитель сообщений (то же самое есть в базе SQlite)

Мне нужно получить следующее: (Вывод готового сообщения должен настраиваться в шаблонах)
Имя сообщения
имя файла
картинка 1 картинка 2
картинка 3 картинка 4
картинка 5 картинка 6
1280x720 259 mp4 00:09:55
Ссылка на файл
Разделитель сообщений
Это все я реализовал через разбиение строк и формат строк через маску, но есть одно НО, с небольшим количеством сообщений для обработки все происходит быстро, но если в списке 400-500 строк для разбиения, то процесс затягивается минут на 5. Может это можно как то реализовать по другому? Что бы процесс формирования был быстрее?

Часть кода формирования шаблона:

Add(ChildPanel,6811566,1085,357)
{
}
BEGIN_SDK
Add(EditMulti,15881204,238,21)
{
WorkCount=3
Width=762
Height=368
link(doWork1,63868:In,[])
link(doWork2,13363788:In,[])
link(doWork3,9735313:doExecute,[(248,41)(248,48)])
}
Add(Panel,6891368,301,224)
{
Left=15
Top=10
Width=708
Height=598
}
Add(Memo,11623648,767,189)
{
Left=2
Top=2
Width=704
Height=599
Align=5
ScrollBars=2
Point(doSave)
}
Add(Replace,3711631,651,189)
{
SubStr="‹%str%›"
DestStr="\r"
link(onReplace,11623648:doAdd,[])
}
Add(Replace,10016076,602,189)
{
SubStr="\n\r"
link(onReplace,3711631:doReplace,[])
}
Add(LineBreak,3259271,685,242)
{
Caption="doSave"
link(Out,11623648:doSave,[(748,230)])
Primary=[16675810,-377,-200]
}
Add(LineBreak,2561671,497,185)
{
Caption="add"
link(Out,16491560:doReplace,[(534,191)(534,195)])
Primary=[63868,-189,-164]
}
Add(SDialog,9735313,259,42)
{
Filter="TXT|*.txt"
FileName="post.txt"
NoChangeDir=1
link(onExecute,16675810:In,[])
}
Add(LineBreak,604573,721,196)
{
link(Out,11623648:doClear,[])
Primary=[13363788,-469,-168]
}
Add(Replace,16491560,553,189)
{
SubStr=" \r"
link(onReplace,10016076:doReplace,[])
}
END_SDK
Add(Label,721094,1043,490)
{
Left=762
Top=17
Width=242
Height=20
Color=8421504
Font=[MS Sans Serif,11,1,0,1]
Caption="Всего сообщений в списке: 0 шт."
link(Text,13105822:FString,[])
}
Add(FormatStr,16563636,868,357)
{
DataCount=15
Mask=""
Point(doMask)
Point(FString)
link(onFString,6811566:doWork1,[])
link(Str1,640451:Part1,[])
link(Str2,640451:Part2,[])
link(Str3,640451:Part3,[])
link(Str4,640451:Part4,[])
link(Str5,640451:Part5,[])
link(Str6,640451:Part6,[])
link(Str7,640451:Part7,[])
link(Str8,640451:Part8,[])
link(Str9,640451:Part9,[])
link(Str10,640451:Part10,[])
link(Str11,640451:Part11,[])
link(Str12,640451:Part12,[])
link(Str13,640451:Part13,[])
link(Str14,640451:Part14,[])
link(Str15,2072367:Var,[])
}
Add(MultiStrPart,640451,868,294)
{
Char="|"
Count=14
link(onSplit,5210914:doData,[(981,300)(981,335)(737,335)(737,370)])
}
Add(GlobalVar,16772759,749,343)
{
Name="shablon"
}
Add(Switch,8280403,525,196)
{
Point(onOn)
Point(onOff)
link(onSwitch,11760297:doEvent1,[])
link(onOff,6661889:doEvent1,[(593,300)])
}
Add(GlobalVar,2072367,966,336)
{
Name="separator"
}
Add(ArrayEnum,1474708,784,259)
{
link(onItem,14699960:doEvent1,[])
link(onEndEnum,16195626:doWork3,[(828,272)(828,232)(760,232)])
link(Array,13678988:Strings,[(790,233)(797,233)])
}
Add(LineBreak,197999,1029,364)
{
Caption="off"
link(Out,6811566:doWork2,[])
Primary=[2192435,-357,-77]
}
Add(LineBreak,7544444,777,231)
{
Type=1
link(Data,16114352:Var2,[])
Primary=[2468660,266,189]
}
Add(FormatStr,13105822,1043,448)
{
DataCount=1
Mask="Всего сообщений в списке: %1 шт."
Point(FString)
link(onFString,721094:doText,[(1083,454)(1083,485)(1031,485)(1031,496)])
link(Str1,2468660:Var,[])
}
Add(Hub,6661889,630,294)
{
OutCount=4
link(onEvent1,2192435:In,[(658,300)])
link(onEvent2,6996054:In,[(651,307)])
link(onEvent3,7986101:In,[(658,314)])
link(onEvent4,12770242:In,[(651,321)])
}
Add(HubEx,16064689,1029,448)
{
link(onEvent,13105822:doString,[])
}
Add(LineBreak,8454531,980,441)
{
Caption="clear"
link(Out,16064689:doWork1,[(1033,447)])
Primary=[6996054,-308,-133]
}
Add(Hub,11760297,574,196)
{
OutCount=4
link(onEvent1,13678988:doLoad,[])
link(onEvent2,7605371:In,[])
link(onEvent3,2544970:doStart,[(702,265)])
link(onEvent4,15893290:In,[])
}
Add(ProgressBarRush,8695912,1106,175)
{
Left=735
Top=70
Width=350
ColorTo=65280
Transparent=0
Caption=""
Point(doMax)
}
Add(Counter,13173064,1057,175)
{
Max=10000
link(onNext,7926712:doWork2,[])
}
Add(Hub,14699960,833,259)
{
OutCount=3
link(onEvent1,13176475:In,[])
link(onEvent2,640451:doSplit,[(854,272)])
link(onEvent3,640451:doClear,[(857,307)])
}
Add(LineBreak,11697528,1001,189)
{
link(Out,10387550:doEvent1,[])
Primary=[12770242,-329,154]
}
Add(LineBreak,8616292,1008,168)
{
link(Out,13173064:doNext,[(1048,181)])
Primary=[13176475,-133,91]
}
Add(DoData,7431509,966,182)
{
Data=Integer(1)
link(onEventData,8695912:doMax,[])
link(Data,955517:Var,[])
}
Add(GetDataEx,16114352,777,217)
{
link(Data,13678988:Count,[])
}
Add(Hub,10387550,1036,189)
{
link(onEvent1,13173064:doReset,[])
link(onEvent2,7926712:doWork3,[(1096,202)])
}
Add(HubEx,7926712,1092,175)
{
link(onEvent,8695912:doPosition,[])
}
Add(LineBreak,4900279,812,231)
{
Type=1
link(Data,16114352:Var3,[(818,222)])
Primary=[955517,154,-70]
}
Add(LineBreak,2619097,924,182)
{
link(Out,7431509:doData,[])
Primary=[7605371,-294,21]
}
Add(LineBreak,359958,721,182)
{
link(Out,16195626:doWork2,[])
Primary=[7986101,-49,147]
}
Add(LineBreak,12798506,973,462)
{
Caption="format"
link(Out,16064689:doWork2,[(1027,454)])
Primary=[15893290,-343,-245]
}
Add(StringTableMT,13678988,777,175)
{
Left=725
Top=95
Width=355
Height=425
Visible=1
StrDelimiter="|"
IconsCheck=[]
MiscIcons=[]
Icons=[]
FileName="setings\\UploadTXT\\postlistbefor.txt"
Point(doLoad)
Point(Strings)
}
Add(DoData,5210914,756,364)
{
link(onEventData,5846425:doEvent1,[])
link(Data,16772759:Var,[(762,360)(755,360)])
}
Add(Hub,5846425,819,364)
{
link(onEvent1,16563636:doMask,[])
link(onEvent2,16563636:doString,[(843,377)(843,363)])
}
Add(Thread,2544970,735,259)
{
link(onExec,1474708:doEnum,[])
}
Add(HubEx,16195626,756,182)
{
link(onEvent,13678988:doClear,[])
}
Add(Button,3972611,455,196)
{
Left=315
Top=710
Width=130
Height=50
Font=[MS Sans Serif,10,1,255,1]
TabOrder=1
Caption="Nachat"
Flat=0
link(onClick,8280403:doSwitch,[])
}
Add(Button,2672261,1018,378)
{
Left=450
Top=710
Width=130
Height=50
Font=[MS Sans Serif,10,1,255,1]
TabOrder=1
Caption="Sohranit"
Flat=0
link(onClick,6811566:doWork3,[(1068,384)(1068,377)])
}

карма: 0

0
Ответов: 16884
Рейтинг: 1239
#2: 2020-06-20 15:34:02 ЛС | профиль | цитата
germes5558 писал(а):
Ссылка на файл|картинка 1|картинка 2|картинка 3|картинка 4|картинка 5|картинка 6|Имя сообщения|1280|720|259|mp4|00:09:55|имя файла|разделитель сообщений (то же самое есть в базе SQlite)
Красным (выделенное мной) ключевое сообщение.
Если это всё есть в БД, то сообщение можно (и нужно) формировать
одним
запросом SELECT, а не кучей компонент.
Ты работаешь с Базой Данных.

Редактировалось 2 раз(а), последний 2020-06-20 15:36:18
карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
Ответов: 107
Рейтинг: 0
#3: 2020-06-20 16:13:38 ЛС | профиль | цитата
Tad писал(а):

germes5558 писал(а):
Ссылка на файлкартинка 1|картинка 2|картинка 3|картинка 4|картинка 5|картинка 6|Имя сообщения|1280|720|259|mp4|00:09:55|имя файла|разделитель сообщений (то же самое есть в базе SQlite)
Красным (выделенное мной) ключевое сообщение.
Если это всё есть в БД, то сообщение можно (и нужно) формировать
одним запросом SELECT, а не кучей компонент.
Ты работаешь с Базой Данных.

Блин, а как же это сделать то). Ладно спасибо, буду копать в эту сторону

Может дополню в чем суть.
Есть шаблон настроек типа:
<%PostName%>
<%FileName1%>
<%img1%> <%img2%>
<%img3%> <%img4%>
<%img5%> <%img6%>
Size: <%Size%>Mb | Duration: <%Duration%> min | Resolution : <%Widh%> x<%Heght%> px | Format: <%Format%>
[b][url=<%links%>]Download [/url][/b]
<%prev1%>400<%prev2%>
<%sep%>
И нужно что бы каждое сообщение формировалось по этому шаблону. Как такой запрос сделать не пойму пока

Редактировалось 3 раз(а), последний 2020-06-20 16:25:43
карма: 0

0
Ответов: 16884
Рейтинг: 1239
#4: 2020-06-20 17:29:34 ЛС | профиль | цитата
germes5558 писал(а):
Есть шаблон настроек типа:
Шаблон настроек для чего?
карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
Ответов: 107
Рейтинг: 0
#5: 2020-06-20 17:44:15 ЛС | профиль | цитата
Tad писал(а):

germes5558 писал(а):
Есть шаблон настроек типа:
Шаблон настроек для чего?



Что бы можно было готовое сообщение для сайта формировать по разным шаблонам.
Что бы в место этого подставлялись ссылки на картинки, тех данные, ссылку на файл и тд. из базы данных
<%PostName%> = имя сообщения
<%FileName1%> = имя файла
<%img1%> <%img2%> = ссылки на 1 и 2 картинки (постеры)
<%img3%> <%img4%> = ссылки на 3 и 4 картинки (постеры)
<%img5%> <%img6%> = ссылки на 5 и 6 картинки (постеры)и тд...

И что бы этот шаблон можно было менять в настройках программы прописывая эти значения так как нужно пользователю (как в компоненте FormatSTR)

Редактировалось 3 раз(а), последний 2020-06-20 17:48:39
карма: 0

0
Ответов: 16884
Рейтинг: 1239
#6: 2020-06-20 18:28:46 ЛС | профиль | цитата
germes5558 писал(а):
как в компоненте FormatSTR
Ну и используй FormatStr для создания шаблона.
карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
Ответов: 107
Рейтинг: 0
#7: 2020-06-20 18:53:25 ЛС | профиль | цитата
Tad писал(а):

germes5558 писал(а):
как в компоненте FormatSTR
Ну и используй FormatStr для создания шаблона.

Я его и использую для этого, но в месте с ним я использую перебор массива и разбиение строк, можно ли эту кучу компонентов заменить на запросы к базе? Я так понял, что мне нужно добавить к каждой строке БД, что то типа ID и для выборки использовать этот ID?

Редактировалось 1 раз(а), последний 2020-06-20 18:55:54
карма: 0

0
Ответов: 16884
Рейтинг: 1239
#8: 2020-06-20 20:54:19 ЛС | профиль | цитата

Add(MainForm,2953706,21,105)
{
Width=513
Height=285
BorderStyle=1
Position=1
Point(onClose)
link(onCreate,11129859:doOpen,[])
link(onClose,11129859:doClose,[])
}
Add(DS_SQLite,11129859,70,119)
{
Name="db"
FileName=":memory:"
link(onOpen,11608800:doEvent1,[])
}
Add(DSC_Exec,9653181,147,119)
{
SQL="\r\n--Список серверов\r\nCREATE TABLE IF NOT EXISTS [servers](\r\n [id] INTEGER PRIMARY KEY, -- 1\r\n [name] TEXT); -- forum.hiasm.com/rwerdsfsd\r\n----------------------------------------\r\n-- Список файлов \r\nCREATE TABLE IF NOT EXISTS [files](\r\n [id] INTEGER PRIMARY KEY,-- 1\r\n [name] TEXT, --gfsdfsdf.mp4\r\n [ser_id] INTEGER); -- 1 id сервера на который выложен этот файл\r\n----------------------------------------\r\n--Список скриншотов\r\nCREATE TABLE IF NOT EXISTS [ssh](\r\n [id] INTEGER PRIMARY KEY, -- 1\r\n [name] TEXT, -- gfsdfsdf1.jpg\r\n [f_id] INTEGER); -- 1 id файла к которому относится этот скриншот\r\n"
DSManager="db"
link(onExec,2029484:doQuery,[])
}
Add(DSC_Exec,6667028,287,119)
{
SQL="INSERT INTO [servers] VALUES(NULL,"forum.hiasm.com/rwerdsfsd");\r\nINSERT INTO [files] VALUES(NULL, "gfsdfsdf.mp4", 1);\r\nINSERT INTO [files] VALUES(NULL, "aaaaa.mp4", 1);\r\nINSERT INTO [ssh] VALUES(NULL,"gfsdfsdf1.jpg",1);\r\nINSERT INTO [ssh] VALUES(NULL,"gfsdfsdf2.jpg",1);\r\nINSERT INTO [ssh] VALUES(NULL,"gfsdfsdf3.jpg",1);\r\nINSERT INTO [ssh] VALUES(NULL,"gfsdfsdf4.jpg",1);\r\nINSERT INTO [ssh] VALUES(NULL,"gfsdfsdf5.jpg",1);\r\nINSERT INTO [ssh] VALUES(NULL,"sdf1.jpg",2);\r\nINSERT INTO [ssh] VALUES(NULL,"sdf2.jpg",2);\r\nINSERT INTO [ssh] VALUES(NULL,"sdf3.jpg",2);\r\nINSERT INTO [ssh] VALUES(NULL,"sdf4.jpg",2);\r\nINSERT INTO [ssh] VALUES(NULL,"sdf5.jpg",2);"
DSManager="db"
}
Add(DSC_Query,2029484,196,119)
{
SQL="SELECT CASE \r\n WHEN count()=0 THEN 0 ELSE 1 END \r\n FROM files;"
DSManager="db"
link(onQuery,14782519:doEvent,[])
}
Add(IndexToChanel,14782519,238,119)
{
link(onEvent1,6667028:doExec,[])
}
Add(DSC_Query,13049672,147,175)
{
SQL="SELECT name, id from servers;"
DSManager="db"
link(onQuery,8730412:doAdd,[])
}
Add(Hub,11608800,105,119)
{
link(onEvent1,9653181:doExec,[])
link(onEvent2,13049672:doQuery,[(137,132)(137,181)])
}
Add(ComboBox,8730412,196,175)
{
Left=75
Top=5
Width=305
Height=21
ReadOnly=0
Point(Data)
link(onClick,12642516:doEvent1,[])
}
Add(Label,13039691,14,168)
{
Left=5
Top=5
Width=65
Height=70
Caption="Сервер\r\n\r\nФайл\r\n\r\nСкришоты"
AutoSize=1
Alignment=1
}
Add(ComboBox,202778,385,189)
{
Left=75
Top=30
Width=305
Height=21
ReadOnly=0
Point(Data)
link(onClick,10954420:doEvent1,[])
}
Add(FormatStr,12858237,294,189)
{
Mask="SELECT name,id from files WHERE ser_id=%1;"
link(onFString,16694669:doQuery,[])
link(Str1,15503625:Var1,[(300,173)(258,173)])
}
Add(DSC_Query,16694669,336,189)
{
DSManager="db"
link(onQuery,202778:doAdd,[])
}
Add(Hub,12642516,266,182)
{
link(onEvent1,202778:doClear,[(375,188)(375,202)])
link(onEvent2,12858237:doString,[])
}
Add(FormatStr,10284540,469,203)
{
Mask="SELECT name from ssh WHERE f_id=%1;"
link(onFString,7600020:doQuery,[])
link(Str1,14509082:Var3,[(475,187)(433,187)(433,229)])
}
Add(DSC_Query,7600020,511,203)
{
DSManager="db"
link(onQuery,13597979:doAdd,[])
}
Add(Hub,10954420,441,196)
{
link(onEvent1,13597979:doClear,[(550,202)(550,216)])
link(onEvent2,10284540:doString,[])
}
Add(ListBox,13597979,574,203)
{
Left=75
Top=55
Width=100
Height=165
Hint="Выделите необходимые скриншоты."
MultiSelect=0
Point(SelectArray)
}
Add(FormatStr,1350943,336,322)
{
Mask="SELECT "Скриншот: "||"http://"||"%1"||"/"||name FROM ssh WHERE f_id=%2;"
link(onFString,15746344:doWork2,[])
link(Str1,8730412:String,[(342,313)(209,313)])
link(Str2,14509082:Var2,[(349,313)(377,313)(377,257)(405,257)])
}
Add(GetDataEx,14509082,399,224)
{
link(Data,202778:Data,[])
}
Add(Memo,2267509,497,266)
{
Left=180
Top=55
Width=325
Height=190
}
Add(MT_Enum,6230144,448,266)
{
link(onItem,2267509:doAdd,[])
}
Add(GetDataEx,15503625,252,210)
{
Angle=3
link(Data,8730412:Data,[(216,215)])
}
Add(DSC_Query,9127517,399,266)
{
DSManager="db"
link(onQuery,6230144:doEnum,[])
}
Add(FormatStr,5734271,336,266)
{
Mask="SELECT "Имя сообщения", "Имя файла: "||name FROM files WHERE id=%2;"
link(onFString,14361421:doWork2,[])
link(Str2,14509082:Var1,[(349,229)])
}
Add(Hub,10607192,294,266)
{
OutCount=3
link(onEvent1,5734271:doString,[])
link(onEvent2,1350943:doString,[(326,279)(326,328)])
link(onEvent3,10525835:doString,[(319,286)(319,363)])
}
Add(FormatStr,10525835,336,357)
{
Mask="SELECT "1280x720 259 mp4 "||strftime('%H:%M:%S', 'now');"
link(onFString,15746344:doWork3,[(389,363)])
}
Add(HubEx,14361421,385,266)
{
link(onEvent,9127517:doQuery,[])
}
Add(HubEx,15746344,385,322)
{
Angle=3
link(onEvent,14361421:doWork3,[])
}
Add(Button,9862664,224,266)
{
Left=90
Top=225
link(onClick,10607192:doEvent1,[])
}

карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
Ответов: 107
Рейтинг: 0
#9: 2020-06-20 21:44:13 ЛС | профиль | цитата
Tad, Огромное спасибо, буду разбираться.

Это нужно еще к запросам добавить formatstr со всеми нужными значениями и чтобы сообщения формировались по веткам при самом создании?

Редактировалось 2 раз(а), последний 2020-06-20 22:36:23
карма: 0

0
Ответов: 16884
Рейтинг: 1239
#10: 2020-06-20 22:38:20 ЛС | профиль | цитата
germes5558, да, ещё одно.
Если, для работы с SQLite, применишь компоненты из вкладки SQLite, то можно обойтись одним FormatStr,
т.к. эти компоненты допускают выполнение сценариев.
карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
Ответов: 16884
Рейтинг: 1239
#11: 2020-06-21 18:37:53 ЛС | профиль | цитата

Add(MainForm,2953706,21,112)
{
Width=513
Height=285
BorderStyle=1
Position=1
Point(onClose)
link(onCreate,7541278:doOpen,[])
link(onClose,7541278:doClose,[])
}
Add(ComboBox,8730412,252,182)
{
Left=75
Top=5
Width=305
Height=21
Text="Выбор сервера."
Point(Data)
link(onClick,12642516:doEvent1,[])
}
Add(Label,13039691,14,175)
{
Left=5
Top=5
Width=65
Height=70
Caption="Сервер\r\n\r\nФайл\r\n\r\nСкришоты"
AutoSize=1
Alignment=1
}
Add(ComboBox,202778,441,196)
{
Left=75
Top=30
Width=305
Height=21
Text="Выбор файла."
Point(Data)
link(onClick,10954420:doEvent1,[])
}
Add(FormatStr,12858237,350,196)
{
Mask="SELECT name, id from files WHERE ser_id=%1;"
link(onFString,1073998:doQuery,[])
link(Str1,8730412:Data,[(356,180)(314,180)(314,222)(272,222)])
}
Add(Hub,12642516,322,189)
{
link(onEvent1,202778:doClear,[(431,195)(431,209)])
link(onEvent2,12858237:doString,[])
}
Add(FormatStr,10284540,525,210)
{
Mask="SELECT name from ssh WHERE f_id=%1;"
link(onFString,3894306:doQuery,[])
link(Str1,14509082:Var3,[(531,194)(489,194)(489,236)])
}
Add(Hub,10954420,497,203)
{
link(onEvent1,13597979:doClear,[(619,209)(619,223)])
link(onEvent2,10284540:doString,[])
}
Add(ListBox,13597979,630,210)
{
Left=75
Top=55
Width=100
Height=165
Hint="Выделите необходимые скриншоты."
MultiSelect=0
Point(SelectArray)
}
Add(GetDataEx,14509082,455,231)
{
link(Data,202778:Data,[])
}
Add(Memo,2267509,658,266)
{
Left=180
Top=55
Width=325
Height=190
ScrollBars=2
}
Add(MT_Enum,6230144,609,266)
{
link(onItem,2267509:doAdd,[])
}
Add(Button,9862664,392,266)
{
Left=90
Top=225
link(onClick,15318066:doString,[])
}
Add(SQLite_DB,7541278,77,126)
{
FileName=":memory:"
link(onOpen,5634017:doValue,[])
}
Add(SQLite_Query,2289830,252,126)
{
SQL="SELECT CASE \r\n WHEN count()=0 THEN 0 ELSE 1 END \r\n FROM files;"
link(onQuery,7278304:doEvent,[])
link(dbHandle,1135469:Var2,[])
}
Add(SQLite_Exec,1636882,203,126)
{
SQL="--Список серверов\r\nCREATE TABLE IF NOT EXISTS [servers](\r\n [id] INTEGER PRIMARY KEY, -- 1\r\n [name] TEXT); -- forum.hiasm.com/rwerdsfsd\r\n----------------------------------------\r\n-- Список файлов \r\nCREATE TABLE IF NOT EXISTS [files](\r\n [id] INTEGER PRIMARY KEY,-- 1\r\n [name] TEXT, --gfsdfsdf.mp4\r\n [ser_id] INTEGER); -- 1 id сервера на который выложен этот файл\r\n----------------------------------------\r\n--Список скриншотов\r\nCREATE TABLE IF NOT EXISTS [ssh](\r\n [id] INTEGER PRIMARY KEY, -- 1\r\n [name] TEXT, -- gfsdfsdf1.jpg\r\n [f_id] INTEGER); -- 1 id файла к которому относится этот скриншот\r\n"
}
Add(SQLite_Exec,13479172,343,126)
{
SQL="INSERT INTO [servers] VALUES(NULL,"forum.hiasm.com/rwerdsfsd");\r\nINSERT INTO [files] VALUES(NULL, "gfsdfsdf.mp4", 1);\r\nINSERT INTO [files] VALUES(NULL, "aaaaa.mp4", 1);\r\nINSERT INTO [ssh] VALUES(NULL,"gfsdfsdf1.jpg",1);\r\nINSERT INTO [ssh] VALUES(NULL,"gfsdfsdf2.jpg",1);\r\nINSERT INTO [ssh] VALUES(NULL,"gfsdfsdf3.jpg",1);\r\nINSERT INTO [ssh] VALUES(NULL,"gfsdfsdf4.jpg",1);\r\nINSERT INTO [ssh] VALUES(NULL,"gfsdfsdf5.jpg",1);\r\nINSERT INTO [ssh] VALUES(NULL,"sdf1.jpg",2);\r\nINSERT INTO [ssh] VALUES(NULL,"sdf2.jpg",2);\r\nINSERT INTO [ssh] VALUES(NULL,"sdf3.jpg",2);\r\nINSERT INTO [ssh] VALUES(NULL,"sdf4.jpg",2);\r\nINSERT INTO [ssh] VALUES(NULL,"sdf5.jpg",2);"
link(dbHandle,8882193:Var2,[])
}
Add(IndexToChanel,7278304,294,126)
{
link(onEvent1,13479172:doExec,[])
}
Add(GlobalVar,5634017,119,126)
{
Name="dH"
link(onValue,7484858:doEvent1,[])
}
Add(GetDataEx,1135469,252,110)
{
Angle=3
link(Data,5634017:Var,[(156,115)(156,152)(125,152)])
}
Add(Hub,7484858,168,126)
{
OutCount=3
link(onEvent1,1636882:doExec,[])
link(onEvent2,2289830:doQuery,[(217,139)(217,132)])
link(onEvent3,6226590:doQuery,[(192,146)(192,188)])
}
Add(SQLite_Query,3894306,574,210)
{
link(onQuery,13597979:doAdd,[])
link(dbHandle,13001970:Var3,[(580,115)])
}
Add(SQLite_Query,6226590,203,182)
{
SQL="SELECT name, id from servers;"
link(onQuery,8730412:doAdd,[])
link(dbHandle,12555659:Var1,[(209,166)])
}
Add(SQLite_Query,1073998,392,196)
{
link(onQuery,202778:doAdd,[])
link(dbHandle,12555659:Var2,[])
}
Add(GetDataEx,8882193,343,110)
{
Angle=3
link(Data,1135469:Var3,[])
}
Add(GetDataEx,2872961,392,110)
{
Angle=3
link(Data,8882193:Var3,[])
}
Add(SQLite_Query,12640233,560,266)
{
link(onQuery,6230144:doEnum,[])
link(dbHandle,13001970:Var2,[])
}
Add(GetDataEx,13001970,560,110)
{
Angle=3
link(Data,2872961:Var3,[])
}
Add(FormatStr,15318066,448,266)
{
Mask="SELECT "Имя сообщения", "Имя файла: "||name FROM files WHERE id=%2;\r\nSELECT "Скриншоты:";\r\nSELECT "http://"||"%1"||"/"||name FROM ssh WHERE f_id=%2;\r\nSELECT "1280x720 259 mp4 "||datetime('now'),"-----------------";"
link(onFString,12640233:doQuery,[])
link(Str1,8730412:String,[(454,254)(265,254)])
link(Str2,14509082:Var2,[])
}
Add(GetDataEx,12555659,392,161)
{
link(Data,2872961:Var2,[])
}

карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
Ответов: 107
Рейтинг: 0
#12: 2020-06-21 22:17:46 ЛС | профиль | цитата
Tad, Спасибо огромное, пришлось очень многое переделывать в программе, но я почти закончил, вроде все работает. Еще раз ОГРОМНОЕ спасибо!
карма: 0

0
Ответов: 16884
Рейтинг: 1239
#13: 2020-06-22 08:37:53 ЛС | профиль | цитата
germes5558, если надо отслеживать движение файлов по обменникам, то добавь ещё
CREATE TABLE IF NOT EXISTS [map](
[id] INTEGER PRIMARY KEY,
[ser] INTEGER, -- id сервера
[fil] INTEGER); -- id файла

Редактировалось 2 раз(а), последний 2020-06-22 11:09:53
карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
13
Сообщение
...
Прикрепленные файлы
(файлы не залиты)