Вверх ↑
Этот топик читают: Гость
Ответов: 263
Рейтинг: 18
#1: 2019-01-14 13:54:04 ЛС | профиль | цитата
Подскажите, пожалуйста, как по примеру Схемы1 реализовать сохранение содержимого StringTableMT и BitmapArray в один файл в Схеме2.

Схема1

Add(MainForm,2953706,63,91)
{
Width=370
Height=238
Caption=""
}
Add(Image,6289249,231,119)
{
Left=35
Top=150
Width=32
Height=32
Picture=[ZIP5A0B000078DAB5D44D6813411407F078163C7B520F227A097811BDF6AA82071511F1D48B52940A82972882624F162B529A86B4256DD29026E4BBD9A4C96E1277936EA2B55D4DD3DA34A818090429A5E8A98C6FB29975CDEC6E53930E6F2EC9F29B99FFDBD9BECB370F9B9AE31CCCD3308FC13C0EF390E968F3F793F0FF09B33CC9E8BF3F7840653221848AA1D0A2DF9FF7FB733E1F94E0F50A7373BCC7F3D6E3C9BADD5099D9D9B4CB95763AB99919767A9A7538520E47726A6A016A7232313191B0DBE3763B63B3C56CB6F9F171286217C2E11EF2F20ACABE23915EF1CA0AC47E178DF684571F80D8EFA3D1EEF9B603107B2916EB92A7F351D9DDF09AF910FB03C3D0BCFBDE91E0E3337BF33AF12B763C4EF3CC33F3AFB22BF3AA8F7D73458F37889FD8CB8904CD33CFCFA2EF1CAA06EBB9E1F09353346FDC5D62AF2412348FEDFA228ADC428265F74BB4E41D8088147ECFEE125B4A26691EDB0D09DBBE4B28741D49633B6B3E88881BBDDAC9CBA3B2699E19BA80B62A88E9C7B65C0B7720A29A30A23E801E4FEC8FA914CD637BFB1B6207FFDA728943D0078828F4D46CC013FB13CBD2BCAE0D0541959D3B15FC8C1EAFD81C47F32D5BB0E0B0A1D43684F395FD5174C0D6F5C22176299DA679F6F5456C4302DC5D9C7AEC766B1169EC776D89B75E83070C6E16B15733199A6FED7BD58A8A16947F84F807789D86B4917C09BD2C0483622060F05D50EC6C96E6E75F9CC776D5854AC3A83402FDDBDECCC28281D1017C714321639ED865B0295EB6E1D6A01AB3FB737DC5FB10D2FDE7BB60C8137B8DE769BEB5EFAD4A7DD90BAAE677C18027F63ACFD33CB61B52C67A037AA679718D79C516049A87864169BEFA9DF0C4FE9CCBD1BCE6CBD339AFD8F97C1BAFD9DD7DF1C4DE005BC56BC6BF5F9ED815515478CD7CFE8327F6A628CA7CDB01BAE1895D2D1414BE077624023CB10F6234ED3FED76DBFC]
}
Add(Image,8966449,747,127)
{
Left=265
Top=150
Width=32
Height=32
}
Add(Button,6700001,140,294)
{
Left=30
Top=5
Caption="Save"
link(onClick,10340199:doPack,[])
}
Add(Button,10989959,364,301)
{
Left=260
Top=5
Caption="Load"
link(onClick,1449169:doEvent1,[])
}
Add(StreamPack,10340199,203,294)
{
DataCount=#4:text|3:bmp|
link(onPack,9551284:doCopyFromStream,[(254,300)(254,321)])
link(text,14389576:Text,[(209,278)(188,278)])
link(bmp,6289249:ImageBitmap,[(216,279)(237,279)])
}
Add(FileStream,9551284,273,301)
{
Mode=1
AutoCopy=0
Point(doCopyFromStream)
link(FileName,11976393:Var1,[(279,257)])
}
Add(FileStream,10758982,462,301)
{
AutoCopy=0
link(onLoad,13077494:doUnPack,[])
link(FileName,11976393:Var3,[(468,257)])
}
Add(Hub,1449169,420,301)
{
link(onEvent1,10758982:doOpen,[])
link(onEvent2,10758982:doClose,[])
}
Add(Edit,16013048,361,203)
{
Left=120
Top=5
Width=110
Text="контент1.dat"
}
Add(GetDataEx,11976393,361,252)
{
link(Data,16013048:Text,[])
}
Add(StreamUnPack,13077494,525,301)
{
DataCount=#4:text|3:bmp|
link(onUnPack,8564297:doEvent1,[])
}
Add(Hub,8564297,567,301)
{
link(onEvent1,16383314:doData,[])
link(onEvent2,8554645:doData,[])
}
Add(DoData,16383314,623,301)
{
link(onEventData,9690810:doText,[(671,307)(671,153)])
link(Data,13077494:text,[(629,289)(597,289)(597,345)(531,345)])
}
Add(DoData,8554645,693,308)
{
link(onEventData,8966449:doLoad,[(736,314)(736,133)])
link(Data,13077494:bmp,[(699,291)(682,291)(682,352)(538,352)])
}
Add(Memo,14389576,182,119)
{
Left=10
Top=35
Width=115
Height=110
Strings=#5:Текст|3:для|7:примера|
}
Add(Memo,9690810,686,126)
{
Left=225
Top=35
Width=115
Height=110
}
Add(InfoTip,6256813,147,70)
{
Info=#13:Это сохраняем|
Width=141
Height=130
}
Add(InfoTip,12169793,651,70)
{
Info=#14:Сюда загружаем|
Width=141
Height=130
}
Add(InfoTip,10882306,322,175)
{
Info=#9:Имя файла|
Width=120
Height=74
}

Схема2

Add(BitmapArray,11681732,462,175)
{
Bitmaps=['Bitmap'=[ZIP5A0B000078DAB5D44D6813411407F078163C7B520F227A097811BDF6AA82071511F1D48B52940A82972882624F162B529A86B4256DD29026E4BBD9A4C96E1277936EA2B55D4DD3DA34A818090429A5E8A98C6FB29975CDEC6E53930E6F2EC9F29B99FFDBD9BECB370F9B9AE31CCCD3308FC13C0EF390E968F3F793F0FF09B33CC9E8BF3F7840653221848AA1D0A2DF9FF7FB733E1F94E0F50A7373BCC7F3D6E3C9BADD5099D9D9B4CB95763AB99919767A9A7538520E47726A6A016A7232313191B0DBE3763B63B3C56CB6F9F171286217C2E11EF2F20ACABE23915EF1CA0AC47E178DF684571F80D8EFA3D1EEF9B603107B2916EB92A7F351D9DDF09AF910FB03C3D0BCFBDE91E0E3337BF33AF12B763C4EF3CC33F3AFB22BF3AA8F7D73458F37889FD8CB8904CD33CFCFA2EF1CAA06EBB9E1F09353346FDC5D62AF2412348FEDFA228ADC428265F74BB4E41D8088147ECFEE125B4A26691EDB0D09DBBE4B28741D49633B6B3E88881BBDDAC9CBA3B2699E19BA80B62A88E9C7B65C0B7720A29A30A23E801E4FEC8FA914CD637BFB1B6207FFDA728943D0078828F4D46CC013FB13CBD2BCAE0D0541959D3B15FC8C1EAFD81C47F32D5BB0E0B0A1D43684F395FD5174C0D6F5C22176299DA679F6F5456C4302DC5D9C7AEC766B1169EC776D89B75E83070C6E16B15733199A6FED7BD58A8A16947F84F807789D86B4917C09BD2C0483622060F05D50EC6C96E6E75F9CC776D5854AC3A83402FDDBDECCC28281D1017C714321639ED865B0295EB6E1D6A01AB3FB737DC5FB10D2FDE7BB60C8137B8DE769BEB5EFAD4A7DD90BAAE677C18027F63ACFD33CB61B52C67A037AA679718D79C516049A87864169BEFA9DF0C4FE9CCBD1BCE6CBD339AFD8F97C1BAFD9DD7DF1C4DE005BC56BC6BF5F9ED815515478CD7CFE8327F6A628CA7CDB01BAE1895D2D1414BE077624023CB10F6234ED3FED76DBFC],'Bitmap'=[ZIP5A0B000078DAB5D43D6FD3401807F063E60B300103035317101F8019562458902A568418189158905858BA36725BD257A58DD2364E9398244E829D60535EFA4679AD041B62E20B1C4FFCF839997BCE8D53D2D3FF4E8A63FFCE2F77CFF59B77CE8AA85D837E19FA79E817A09F11E7A2E397E0FF8B13D8A9DD7BF0F094228494F2CDE6E6EB52A95F2AF58A4588BFB6E6AFAE7A85C2AB42A1BBB202E92C2FB79796DA8B8BEEC2426B7EBE95CF37F3F9C6DCDC4BC8ECAC3333E35856DDB26AB95C3597DB9A9E86901D96CB63E4710675DFB63D2E5ECD40F676A532122FE1AA7F837CF201C87E5BA964E7657489DE84D01E80EC77D56A46DE0C9BF8849D853F0E663CD9EF6BB5A1FC7038B2D5D75576BD3E94E7B6EBBAB0F56034F2647F701CCE3FBDBA950C5C748535111DD46C5C9B64EF380EE7C1FBBD2B7F6DC7C97EDFB8F4C9DE6D34388F76F1461CE3FB16FC20CC16EDAC84CDF993D842A88D4BF65EB3C979CD36F2DC567581ECFD568BF368976F0D02308E1A2FC493E48F645D50B6EB721EEDCE7DE94CCADADDC18849DBF35AD921FBA0DDE67C9A6DDF96BC56F1B243F6C74E87F368878F07F11FC523046783C0BF704E5A555376B7CB79B40FA7E4FEF3383BCFE2E08468A75535B20FC1663CDA3F5EC8236B30038E189C0AED607DDDC893FDC9F3388FF69F9FC705CE0937368C3CD99F3D8FF35A3D490BD43323AF6CDF37F2C6B569289A269EEC2FBD1EE78D8B273BAFEC7E5FE38D5F77249EECAF602778F3FB199127FB5B1028DEF87E4EC093FD3D0890D71EE07F78B28FC250F163B06D1B78B24FA345F65FDA64FA28],'Bitmap'=[ZIP5A0B000078DAB5D43B4FDB501407F074EE17602A1D3A3075AAFA013AD3150916A4AA6B851818192B7561E94AE42484A742A240E290C4E4E1043BA95D4A9B9496B640A422905A31F50B5C4E727C2E69EEBDC8E461FDEF1D62E777EC9313BF7839F330D0399EC39A80F508D638AC0781B1CEE74FE0FCE3A7B8E8783D373FA204028CB18FA9D48764B29E4CD61209881D8FDBDBDB562C76108B55B7B62095CD4D7363C35C5F2FAFAD9556574BD168311A2D4422FB9070D808850C4DCB6B5A2E18CC06837BCBCB10B2DD747A883C56E0F7ADEBC3E27905B20F3399A1F0DD0F40F6A74C6670BEE701C83ECA6607E4C5FE74D983F0D2FE90FD3997EB9F57B49FDBF9BCC8BF7DB6E727AAF693FDC530441EBE77DD647F0F6FF3A7EEE5CA6497450667E11AD5AF4B76C330441EEDC4A432DC96F264370B0591F769AB86A7CB16799FB66A78C8FE5A2C8A3CDAE9A97640C25DB455B349F671A924F26857DE30E315CBCDB6778C3EEDD5F16CC56C72BB5C16799FB66AF4C9FE669A228FB6BBD88EBDE0ED10AC06E1B69427FB7BA522F2689FBC67C74B5E1AEFBC6041B4557F5C6E57AB228FF6EF15D6D2DA1570C76029B455EF05B24FC01678B4FF5DDC15B8C6D9D991F264FFB02C91F7F93E717777A53CD93F2D4BCAC3DD4B47FFBFB75A2A25E5B96DDB725E369B3E79B27FD56A222F1D1EFF3CB7EBF51E5EDA9F7BF1649F82DDC5DFD17EFF3CD9678EC379697FFAE0C93E771CE47B1E60109EEC96EB727E08B6AE034FF6288E8E7D0317D1DACA]]
}
Add(MainForm,6473175,182,280)
{
Width=370
Height=238
Caption=""
link(onCreate,6397971:doEnum,[])
}
Add(Image,6289249,525,287)
{
Left=35
Top=150
Width=32
Height=32
}
Add(StringTableMT,15384470,399,175)
{
Left=10
Top=35
Width=115
Height=110
Columns=#4: =60|4: =20|
IconsCheck=[]
MiscIcons=[]
Icons=[]
link(onClick,6809424:doRead,[(447,181)(447,293)])
}
Add(StrList,7950823,238,231)
{
Strings=#7:image;1|7:image;2|7:image;3|
}
Add(ArrayEnum,6397971,252,294)
{
link(onItem,15384470:doAdd,[(362,300)(362,181)])
link(Array,7950823:Array,[])
}
Add(ArrayRW,6809424,462,287)
{
link(onRead,6289249:doLoad,[])
link(Array,11681732:Array,[])
}
Add(Image,1036128,883,291)
{
Left=260
Top=150
Width=32
Height=32
}
Add(StringTableMT,1316878,757,158)
{
Left=235
Top=35
Width=115
Height=110
Columns=#4: =60|4: =20|
IconsCheck=[]
MiscIcons=[]
Icons=[]
link(onClick,7895206:doRead,[(804,164)(804,297)])
}
Add(ArrayRW,7895206,819,291)
{
link(onRead,1036128:doLoad,[])
link(Array,521636:Array,[])
}
Add(BitmapArray,521636,819,158)
{
Bitmaps=[]
}
Add(Button,6700001,385,490)
{
Left=30
Top=5
Caption="Save"
link(onClick,10340199:doPack,[])
}
Add(Button,10989959,609,497)
{
Left=260
Top=5
Caption="Load"
link(onClick,1449169:doEvent1,[])
}
Add(StreamPack,10340199,448,490)
{
DataCount=#4:text|3:bmp|
link(onPack,9551284:doCopyFromStream,[(499,496)(499,517)])
}
Add(FileStream,9551284,518,497)
{
Mode=1
AutoCopy=0
Point(doCopyFromStream)
link(FileName,11976393:Var1,[(524,453)])
}
Add(FileStream,10758982,707,497)
{
AutoCopy=0
link(onLoad,13077494:doUnPack,[])
link(FileName,11976393:Var3,[(713,453)])
}
Add(Hub,1449169,665,497)
{
link(onEvent1,10758982:doOpen,[])
link(onEvent2,10758982:doClose,[])
}
Add(Edit,16013048,606,399)
{
Left=120
Top=5
Width=110
Text="контент2.dat"
}
Add(GetDataEx,11976393,606,448)
{
link(Data,16013048:Text,[])
}
Add(StreamUnPack,13077494,770,497)
{
DataCount=#4:text|3:bmp|
link(onUnPack,8564297:doEvent1,[])
}
Add(Hub,8564297,812,497)
{
link(onEvent1,16383314:doData,[])
link(onEvent2,8554645:doData,[])
}
Add(DoData,16383314,868,497)
{
link(Data,13077494:text,[(874,485)(842,485)(842,541)(776,541)])
}
Add(DoData,8554645,938,504)
{
link(Data,13077494:bmp,[(944,487)(927,487)(927,548)(783,548)])
}
Add(InfoTip,6256813,378,133)
{
Info=#13:Это сохраняем|
Width=141
Height=130
}
Add(InfoTip,12169793,728,126)
{
Info=#14:Сюда загружаем|
Width=141
Height=130
}
Add(InfoTip,10882306,574,371)
{
Info=#9:Имя файла|
Width=120
Height=74
}

Редактировалось 4 раз(а), последний 2019-01-14 15:20:49
карма: 3

0
vip
#1.1контекстная реклама от партнеров
Разработчик
Ответов: 26061
Рейтинг: 2120
#2: 2019-01-15 00:25:50 ЛС | профиль | цитата
Без доработки компонентов упаковщика как-то так (может кто проще придумает, мне на ум ничего толкового больше не пришло, но работает)
Схема


Add(BitmapArray,11681732,378,175)
{
Bitmaps=['Bitmap'=[ZIP5A0B000078DAB5D44D6813411407F078163C7B520F227A097811BDF6AA82071511F1D48B52940A82972882624F162B529A86B4256DD29026E4BBD9A4C96E1277936EA2B55D4DD3DA34A818090429A5E8A98C6FB29975CDEC6E53930E6F2EC9F29B99FFDBD9BECB370F9B9AE31CCCD3308FC13C0EF390E968F3F793F0FF09B33CC9E8BF3F7840653221848AA1D0A2DF9FF7FB733E1F94E0F50A7373BCC7F3D6E3C9BADD5099D9D9B4CB95763AB99919767A9A7538520E47726A6A016A7232313191B0DBE3763B63B3C56CB6F9F171286217C2E11EF2F20ACABE23915EF1CA0AC47E178DF684571F80D8EFA3D1EEF9B603107B2916EB92A7F351D9DDF09AF910FB03C3D0BCFBDE91E0E3337BF33AF12B763C4EF3CC33F3AFB22BF3AA8F7D73458F37889FD8CB8904CD33CFCFA2EF1CAA06EBB9E1F09353346FDC5D62AF2412348FEDFA228ADC428265F74BB4E41D8088147ECFEE125B4A26691EDB0D09DBBE4B28741D49633B6B3E88881BBDDAC9CBA3B2699E19BA80B62A88E9C7B65C0B7720A29A30A23E801E4FEC8FA914CD637BFB1B6207FFDA728943D0078828F4D46CC013FB13CBD2BCAE0D0541959D3B15FC8C1EAFD81C47F32D5BB0E0B0A1D43684F395FD5174C0D6F5C22176299DA679F6F5456C4302DC5D9C7AEC766B1169EC776D89B75E83070C6E16B15733199A6FED7BD58A8A16947F84F807789D86B4917C09BD2C0483622060F05D50EC6C96E6E75F9CC776D5854AC3A83402FDDBDECCC28281D1017C714321639ED865B0295EB6E1D6A01AB3FB737DC5FB10D2FDE7BB60C8137B8DE769BEB5EFAD4A7DD90BAAE677C18027F63ACFD33CB61B52C67A037AA679718D79C516049A87864169BEFA9DF0C4FE9CCBD1BCE6CBD339AFD8F97C1BAFD9DD7DF1C4DE005BC56BC6BF5F9ED815515478CD7CFE8327F6A628CA7CDB01BAE1895D2D1414BE077624023CB10F6234ED3FED76DBFC],'Bitmap'=[ZIP5A0B000078DAB5D43D6FD3401807F063E60B300103035317101F8019562458902A568418189158905858BA36725BD257A58DD2364E9398244E829D60535EFA4679AD041B62E20B1C4FFCF839997BCE8D53D2D3FF4E8A63FFCE2F77CFF59B77CE8AA85D837E19FA79E817A09F11E7A2E397E0FF8B13D8A9DD7BF0F094228494F2CDE6E6EB52A95F2AF58A4588BFB6E6AFAE7A85C2AB42A1BBB202E92C2FB79796DA8B8BEEC2426B7EBE95CF37F3F9C6DCDC4BC8ECAC3333E35856DDB26AB95C3597DB9A9E86901D96CB63E4710675DFB63D2E5ECD40F676A532122FE1AA7F837CF201C87E5BA964E7657489DE84D01E80EC77D56A46DE0C9BF8849D853F0E663CD9EF6BB5A1FC7038B2D5D75576BD3E94E7B6EBBAB0F56034F2647F701CCE3FBDBA950C5C748535111DD46C5C9B64EF380EE7C1FBBD2B7F6DC7C97EDFB8F4C9DE6D34388F76F1461CE3FB16FC20CC16EDAC84CDF993D842A88D4BF65EB3C979CD36F2DC567581ECFD568BF368976F0D02308E1A2FC493E48F645D50B6EB721EEDCE7DE94CCADADDC18849DBF35AD921FBA0DDE67C9A6DDF96BC56F1B243F6C74E87F368878F07F11FC523046783C0BF704E5A555376B7CB79B40FA7E4FEF3383BCFE2E08468A75535B20FC1663CDA3F5EC8236B30038E189C0AED607DDDC893FDC9F3388FF69F9FC705CE0937368C3CD99F3D8FF35A3D490BD43323AF6CDF37F2C6B569289A269EEC2FBD1EE78D8B273BAFEC7E5FE38D5F77249EECAF602778F3FB199127FB5B1028DEF87E4EC093FD3D0890D71EE07F78B28FC250F163B06D1B78B24FA345F65FDA64FA28],'Bitmap'=[ZIP5A0B000078DAB5D43B4FDB501407F074EE17602A1D3A3075AAFA013AD3150916A4AA6B851818192B7561E94AE42484A742A240E290C4E4E1043BA95D4A9B9496B640A422905A31F50B5C4E727C2E69EEBDC8E461FDEF1D62E777EC9313BF7839F330D0399EC39A80F508D638AC0781B1CEE74FE0FCE3A7B8E8783D373FA204028CB18FA9D48764B29E4CD61209881D8FDBDBDB562C76108B55B7B62095CD4D7363C35C5F2FAFAD9556574BD168311A2D4422FB9070D808850C4DCB6B5A2E18CC06837BCBCB10B2DD747A883C56E0F7ADEBC3E27905B20F3399A1F0DD0F40F6A74C6670BEE701C83ECA6607E4C5FE74D983F0D2FE90FD3997EB9F57B49FDBF9BCC8BF7DB6E727AAF693FDC530441EBE77DD647F0F6FF3A7EEE5CA6497450667E11AD5AF4B76C330441EEDC4A432DC96F264370B0591F769AB86A7CB16799FB66A78C8FE5A2C8A3CDAE9A97640C25DB455B349F671A924F26857DE30E315CBCDB6778C3EEDD5F16CC56C72BB5C16799FB66AF4C9FE669A228FB6BBD88EBDE0ED10AC06E1B69427FB7BA522F2689FBC67C74B5E1AEFBC6041B4557F5C6E57AB228FF6EF15D6D2DA1570C76029B455EF05B24FC01678B4FF5DDC15B8C6D9D991F264FFB02C91F7F93E717777A53CD93F2D4BCAC3DD4B47FFBFB75A2A25E5B96DDB725E369B3E79B27FD56A222F1D1EFF3CB7EBF51E5EDA9F7BF1649F82DDC5DFD17EFF3CD9678EC379697FFAE0C93E771CE47B1E60109EEC96EB727E08B6AE034FF6288E8E7D0317D1DACA]]
}
Add(MainForm,6473175,98,161)
{
Width=370
Height=238
Caption=""
link(onCreate,6397971:doEnum,[])
}
Add(Image,6289249,441,287)
{
Left=35
Top=150
Width=32
Height=32
}
Add(StringTableMT,15384470,315,175)
{
Left=10
Top=35
Width=115
Height=110
Columns=#4: =60|4: =20|
IconsCheck=[]
MiscIcons=[]
Icons=[]
Point(FStream)
Point(doSaveFStream)
link(onClick,6809424:doRead,[(363,181)(363,293)])
}
Add(StrList,7950823,154,112)
{
Strings=#7:image;1|7:image;2|7:image;3|
}
Add(ArrayEnum,6397971,168,175)
{
link(onItem,15384470:doAdd,[])
link(Array,7950823:Array,[])
}
Add(ArrayRW,6809424,378,287)
{
Point(Count)
link(onRead,6289249:doLoad,[])
link(Array,1644154:Var2,[])
}
Add(Image,1036128,890,291)
{
Left=260
Top=150
Width=32
Height=32
}
Add(StringTableMT,1316878,764,158)
{
Left=235
Top=35
Width=115
Height=110
Columns=#4: =60|4: =20|
IconsCheck=[]
MiscIcons=[]
Icons=[]
Point(doLoadFStream)
Point(FTblStream)
link(onClick,7895206:doRead,[(811,164)(811,297)])
link(FTblStream,13077494:sttable,[(777,152)(748,152)(748,558)(930,558)])
}
Add(ArrayRW,7895206,826,291)
{
link(onRead,1036128:doLoad,[])
link(Array,521636:Array,[])
}
Add(BitmapArray,521636,826,151)
{
Bitmaps=[]
}
Add(Button,6700001,98,595)
{
Left=30
Top=5
Caption="Save"
link(onClick,12294494:doEvent1,[])
}
Add(Button,10989959,763,462)
{
Left=260
Top=5
Caption="Load"
link(onClick,1449169:doEvent1,[])
}
Add(StreamPack,10340199,602,637)
{
DataCount=#7:sttable|5:stbmp|
link(onPack,9551284:doCopyFromStream,[])
link(sttable,15384470:FStream,[(608,327)(335,327)])
link(stbmp,12859248:Var3,[(615,530)])
}
Add(FileStream,9551284,658,623)
{
Mode=1
AutoCopy=0
Point(doCopyFromStream)
link(FileName,11976393:Var1,[(664,446)])
}
Add(FileStream,10758982,861,462)
{
AutoCopy=0
link(onLoad,13077494:doUnPack,[])
link(FileName,11976393:Var3,[(867,446)])
}
Add(Hub,1449169,819,462)
{
link(onEvent1,10758982:doOpen,[])
link(onEvent2,10758982:doClose,[])
}
Add(Edit,16013048,823,392)
{
Left=120
Top=5
Width=110
Text="контент2.dat"
}
Add(GetDataEx,11976393,823,441)
{
link(Data,16013048:Text,[])
}
Add(StreamUnPack,13077494,924,462)
{
DataCount=#7:sttable|5:stbmp|
link(onUnPack,7113959:doEvent1,[])
}
Add(InfoTip,6256813,294,133)
{
Info=#13:Это сохраняем|
Width=141
Height=130
}
Add(InfoTip,12169793,735,126)
{
Info=#14:Сюда загружаем|
Width=141
Height=130
}
Add(InfoTip,10882306,791,364)
{
Info=#9:Имя файла|
Width=120
Height=74
}
Add(MemoryStream,8255471,567,336)
{
}
Add(StreamCopy,7035712,525,602)
{
Count=4
link(Dest,12859248:Var1,[(531,530)])
link(Source,15510515:Var3,[(538,502)])
link(Count,16157972:Var3,[(545,495)])
}
Add(DataToFileEx,16408125,567,553)
{
DataSize=4
link(Stream,12859248:Var2,[])
}
Add(Hub,12294494,154,595)
{
OutCount=6
link(onEvent1,15384470:doSaveFStream,[(207,601)(207,202)])
link(onEvent2,8255471:doClear,[(214,608)(214,349)])
link(onEvent3,15773011:doData,[(221,615)(221,412)])
link(onEvent4,13399679:doWork2,[(241,622)(241,461)])
link(onEvent5,8675574:doEnum,[(251,629)(251,531)])
link(onEvent6,10340199:doPack,[(515,636)(515,643)])
}
Add(MemoryStream,6382998,434,448)
{
Point(doPosition)
}
Add(ArrayEnum,8675574,266,525)
{
link(onItem,1448185:doEvent1,[])
link(Array,1644154:Var1,[(272,236)])
}
Add(GetDataEx,1644154,378,231)
{
link(Data,11681732:Array,[])
}
Add(BitmapStream,7230259,434,518)
{
link(Stream,15510515:Var2,[])
}
Add(Hub,1448185,315,525)
{
OutCount=5
link(onEvent1,7230259:doWrite,[])
link(onEvent2,4785526:doText,[(361,538)(361,482)])
link(onEvent3,15158904:doData,[(424,545)(424,566)])
link(onEvent4,7035712:doCopy,[(417,552)(417,608)])
link(onEvent5,13399679:doWork3,[(347,559)])
}
Add(DoData,15158904,476,560)
{
link(onEventData,16408125:doPut,[])
link(Data,16157972:Var2,[])
}
Add(GetDataEx,16157972,476,490)
{
Angle=3
link(Data,6382998:Size,[(447,495)])
}
Add(GetDataEx,12859248,567,525)
{
link(Data,8245059:Var2,[])
}
Add(GetDataEx,15510515,434,497)
{
link(Data,6382998:Stream,[])
}
Add(VisualStrings,4785526,385,476)
{
Lines=#1:0|
Point(doText)
Point(onText)
link(onText,6382998:doPosition,[(424,482)(424,468)])
}
Add(HubEx,13399679,343,455)
{
link(onEvent,6382998:doClear,[])
}
Add(Hub,7113959,980,462)
{
OutCount=5
link(onEvent1,1316878:doLoadFStream,[(1006,468)(1006,357)(753,357)(753,185)])
link(onEvent2,521636:doClear,[(1012,475)(1012,146)(816,146)(816,157)])
link(onEvent3,2565372:doCopy,[])
link(onEvent4,2565372:doPosition,[(1026,489)(1026,496)])
link(onEvent5,8866967:doGet,[(1005,496)(1005,636)])
}
Add(MemoryStream,2565372,1036,476)
{
Point(Position)
Point(doPosition)
link(SrcStream,13077494:stbmp,[(1042,467)(1077,467)(1077,516)(937,516)])
}
Add(DataToFileEx,8866967,1036,630)
{
DataSize=4
link(onGet,1541794:doFor,[])
link(Stream,8599113:Var2,[])
}
Add(DataToFileEx,15800768,434,399)
{
DataSize=4
link(Stream,8245059:Var1,[(440,383)])
}
Add(GetDataEx,8245059,567,378)
{
link(Data,8255471:Stream,[])
}
Add(DoData,15773011,385,406)
{
link(onEventData,15800768:doPut,[])
link(Data,6809424:Count,[])
}
Add(For,1541794,1099,630)
{
IncludeEnd=1
InData=0
link(onEvent,3984462:doEvent1,[])
link(Start,10569068:Text,[])
}
Add(DataToFileEx,3746704,1197,539)
{
DataSize=4
link(onGet,11565088:doValue,[])
link(Stream,8811054:Var2,[])
}
Add(GetDataEx,8599113,1036,518)
{
link(Data,2565372:Stream,[])
}
Add(StreamCopy,1103437,1316,637)
{
Count=4
link(Dest,7257913:Var2,[])
link(Source,8811054:Var3,[(1329,628)(1357,628)(1357,523)])
link(Count,11565088:Value,[(1336,593)(1252,593)])
}
Add(MemoryStream,5872210,1316,532)
{
Point(doPosition)
}
Add(GetDataEx,8811054,1197,518)
{
Angle=3
link(Data,8599113:Var3,[])
}
Add(Hub,3984462,1155,630)
{
OutCount=4
link(onEvent1,3746704:doGet,[(1180,636)(1180,545)])
link(onEvent2,1103437:doCopy,[])
link(onEvent3,6160156:doText,[(1187,650)(1187,608)])
link(onEvent4,5205948:doRead,[(1306,657)(1306,678)])
}
Add(VisualStrings,10569068,1099,588)
{
Lines=#1:0|
Point(doText)
Point(onText)
}
Add(Memory,11565088,1246,539)
{
link(onData,5872210:doClear,[])
}
Add(BitmapStream,5205948,1358,672)
{
link(onRead,7895206:doAdd,[(1397,678)(1397,349)(816,349)(816,311)])
link(Stream,7257913:Var3,[(1364,579)])
}
Add(GetDataEx,7257913,1316,574)
{
link(Data,5872210:Stream,[])
}
Add(VisualStrings,6160156,1246,602)
{
Lines=#1:0|
Point(doText)
Point(onText)
link(onText,5872210:doPosition,[(1285,608)(1285,552)])
}

карма: 22

0
Ответов: 263
Рейтинг: 18
#3: 2019-01-15 05:52:17 ЛС | профиль | цитата
Спасибо, это оч. круто. Теперь бы понять как это работает.
карма: 3

0
Ответов: 263
Рейтинг: 18
#4: 2019-01-15 09:15:45 ЛС | профиль | цитата
Не знаю правильно ли конвертировать картинку в текст, но получилось чуть проще и понятнее (для меня).
схема


Add(BitmapArray,11681732,490,147)
{
Bitmaps=['Bitmap'=[ZIP5A0B000078DAB5D44D6813411407F078163C7B520F227A097811BDF6AA82071511F1D48B52940A82972882624F162B529A86B4256DD29026E4BBD9A4C96E1277936EA2B55D4DD3DA34A818090429A5E8A98C6FB29975CDEC6E53930E6F2EC9F29B99FFDBD9BECB370F9B9AE31CCCD3308FC13C0EF390E968F3F793F0FF09B33CC9E8BF3F7840653221848AA1D0A2DF9FF7FB733E1F94E0F50A7373BCC7F3D6E3C9BADD5099D9D9B4CB95763AB99919767A9A7538520E47726A6A016A7232313191B0DBE3763B63B3C56CB6F9F171286217C2E11EF2F20ACABE23915EF1CA0AC47E178DF684571F80D8EFA3D1EEF9B603107B2916EB92A7F351D9DDF09AF910FB03C3D0BCFBDE91E0E3337BF33AF12B763C4EF3CC33F3AFB22BF3AA8F7D73458F37889FD8CB8904CD33CFCFA2EF1CAA06EBB9E1F09353346FDC5D62AF2412348FEDFA228ADC428265F74BB4E41D8088147ECFEE125B4A26691EDB0D09DBBE4B28741D49633B6B3E88881BBDDAC9CBA3B2699E19BA80B62A88E9C7B65C0B7720A29A30A23E801E4FEC8FA914CD637BFB1B6207FFDA728943D0078828F4D46CC013FB13CBD2BCAE0D0541959D3B15FC8C1EAFD81C47F32D5BB0E0B0A1D43684F395FD5174C0D6F5C22176299DA679F6F5456C4302DC5D9C7AEC766B1169EC776D89B75E83070C6E16B15733199A6FED7BD58A8A16947F84F807789D86B4917C09BD2C0483622060F05D50EC6C96E6E75F9CC776D5854AC3A83402FDDBDECCC28281D1017C714321639ED865B0295EB6E1D6A01AB3FB737DC5FB10D2FDE7BB60C8137B8DE769BEB5EFAD4A7DD90BAAE677C18027F63ACFD33CB61B52C67A037AA679718D79C516049A87864169BEFA9DF0C4FE9CCBD1BCE6CBD339AFD8F97C1BAFD9DD7DF1C4DE005BC56BC6BF5F9ED815515478CD7CFE8327F6A628CA7CDB01BAE1895D2D1414BE077624023CB10F6234ED3FED76DBFC],'Bitmap'=[ZIP5A0B000078DAB5D43D6FD3401807F063E60B300103035317101F8019562458902A568418189158905858BA36725BD257A58DD2364E9398244E829D60535EFA4679AD041B62E20B1C4FFCF839997BCE8D53D2D3FF4E8A63FFCE2F77CFF59B77CE8AA85D837E19FA79E817A09F11E7A2E397E0FF8B13D8A9DD7BF0F094228494F2CDE6E6EB52A95F2AF58A4588BFB6E6AFAE7A85C2AB42A1BBB202E92C2FB79796DA8B8BEEC2426B7EBE95CF37F3F9C6DCDC4BC8ECAC3333E35856DDB26AB95C3597DB9A9E86901D96CB63E4710675DFB63D2E5ECD40F676A532122FE1AA7F837CF201C87E5BA964E7657489DE84D01E80EC77D56A46DE0C9BF8849D853F0E663CD9EF6BB5A1FC7038B2D5D75576BD3E94E7B6EBBAB0F56034F2647F701CCE3FBDBA950C5C748535111DD46C5C9B64EF380EE7C1FBBD2B7F6DC7C97EDFB8F4C9DE6D34388F76F1461CE3FB16FC20CC16EDAC84CDF993D842A88D4BF65EB3C979CD36F2DC567581ECFD568BF368976F0D02308E1A2FC493E48F645D50B6EB721EEDCE7DE94CCADADDC18849DBF35AD921FBA0DDE67C9A6DDF96BC56F1B243F6C74E87F368878F07F11FC523046783C0BF704E5A555376B7CB79B40FA7E4FEF3383BCFE2E08468A75535B20FC1663CDA3F5EC8236B30038E189C0AED607DDDC893FDC9F3388FF69F9FC705CE0937368C3CD99F3D8FF35A3D490BD43323AF6CDF37F2C6B569289A269EEC2FBD1EE78D8B273BAFEC7E5FE38D5F77249EECAF602778F3FB199127FB5B1028DEF87E4EC093FD3D0890D71EE07F78B28FC250F163B06D1B78B24FA345F65FDA64FA28],'Bitmap'=[ZIP5A0B000078DAB5D43B4FDB501407F074EE17602A1D3A3075AAFA013AD3150916A4AA6B851818192B7561E94AE42484A742A240E290C4E4E1043BA95D4A9B9496B640A422905A31F50B5C4E727C2E69EEBDC8E461FDEF1D62E777EC9313BF7839F330D0399EC39A80F508D638AC0781B1CEE74FE0FCE3A7B8E8783D373FA204028CB18FA9D48764B29E4CD61209881D8FDBDBDB562C76108B55B7B62095CD4D7363C35C5F2FAFAD9556574BD168311A2D4422FB9070D808850C4DCB6B5A2E18CC06837BCBCB10B2DD747A883C56E0F7ADEBC3E27905B20F3399A1F0DD0F40F6A74C6670BEE701C83ECA6607E4C5FE74D983F0D2FE90FD3997EB9F57B49FDBF9BCC8BF7DB6E727AAF693FDC530441EBE77DD647F0F6FF3A7EEE5CA6497450667E11AD5AF4B76C330441EEDC4A432DC96F264370B0591F769AB86A7CB16799FB66A78C8FE5A2C8A3CDAE9A97640C25DB455B349F671A924F26857DE30E315CBCDB6778C3EEDD5F16CC56C72BB5C16799FB66AF4C9FE669A228FB6BBD88EBDE0ED10AC06E1B69427FB7BA522F2689FBC67C74B5E1AEFBC6041B4557F5C6E57AB228FF6EF15D6D2DA1570C76029B455EF05B24FC01678B4FF5DDC15B8C6D9D991F264FFB02C91F7F93E717777A53CD93F2D4BCAC3DD4B47FFBFB75A2A25E5B96DDB725E369B3E79B27FD56A222F1D1EFF3CB7EBF51E5EDA9F7BF1649F82DDC5DFD17EFF3CD9678EC379697FFAE0C93E771CE47B1E60109EEC96EB727E08B6AE034FF6288E8E7D0317D1DACA]]
}
Add(MainForm,1105219,210,133)
{
Width=370
Height=238
Caption=""
link(onCreate,6397971:doEnum,[])
}
Add(Image,6289249,553,259)
{
Left=35
Top=150
Width=32
Height=32
}
Add(StringTableMT,15384470,427,147)
{
Left=10
Top=35
Width=115
Height=110
Columns=#4: =60|4: =20|
IconsCheck=[]
MiscIcons=[]
Icons=[]
Point(FStream)
Point(doSaveFStream)
link(onClick,6809424:doRead,[(475,153)(475,265)])
}
Add(StrList,7950823,266,84)
{
Strings=#7:image;1|7:image;2|7:image;3|
}
Add(ArrayEnum,6397971,280,147)
{
link(onItem,15384470:doAdd,[])
link(Array,7950823:Array,[])
}
Add(ArrayRW,6809424,490,259)
{
Point(Count)
link(onRead,6289249:doLoad,[])
link(Array,1644154:Var2,[])
}
Add(Image,1036128,1261,277)
{
Left=260
Top=150
Width=32
Height=32
}
Add(StringTableMT,1316878,1142,144)
{
Left=235
Top=35
Width=115
Height=110
Columns=#4: =60|4: =20|
IconsCheck=[]
MiscIcons=[]
Icons=[]
Point(doLoadFStream)
Point(FTblStream)
link(onClick,7895206:doRead,[(1182,150)(1182,283)])
link(FTblStream,13077494:sttable,[(1155,131)(1025,131)(1025,483)(1042,483)])
}
Add(ArrayRW,7895206,1197,277)
{
link(onRead,1036128:doLoad,[])
link(Array,521636:Array,[])
}
Add(BitmapArray,521636,1197,130)
{
Bitmaps=[]
}
Add(Button,6700001,210,567)
{
Left=30
Top=5
Caption="Save"
link(onClick,12294494:doEvent1,[])
}
Add(Button,10989959,875,434)
{
Left=260
Top=5
Caption="Load"
link(onClick,1449169:doEvent1,[])
}
Add(StreamPack,10340199,588,588)
{
DataCount=#7:sttable|5:stbmp|
link(onPack,9551284:doCopyFromStream,[])
link(sttable,15384470:FStream,[(594,554)(639,554)(639,301)(447,301)])
link(stbmp,1791150:Text,[])
}
Add(FileStream,9551284,700,574)
{
Mode=1
AutoCopy=0
Point(doCopyFromStream)
link(FileName,11976393:Var1,[(706,418)])
}
Add(FileStream,10758982,973,434)
{
AutoCopy=0
link(onLoad,13077494:doUnPack,[])
link(FileName,11976393:Var3,[(979,418)])
}
Add(Hub,1449169,931,434)
{
link(onEvent1,10758982:doOpen,[])
link(onEvent2,10758982:doClose,[])
}
Add(Edit,16013048,809,364)
{
Left=120
Top=5
Width=110
Text="контент2.dat"
}
Add(GetDataEx,11976393,809,413)
{
link(Data,16013048:Text,[])
}
Add(StreamUnPack,13077494,1036,434)
{
DataCount=#7:sttable|5:stbmp|
link(onUnPack,7113959:doEvent1,[])
}
Add(InfoTip,6256813,406,105)
{
Info=#13:Это сохраняем|
Width=141
Height=130
}
Add(InfoTip,12169793,1106,112)
{
Info=#14:Сюда загружаем|
Width=141
Height=130
}
Add(InfoTip,10882306,777,336)
{
Info=#9:Имя файла|
Width=106
Height=74
}
Add(Hub,12294494,266,567)
{
OutCount=4
link(onEvent1,15384470:doSaveFStream,[(335,573)(335,174)])
link(onEvent2,1791150:doClear,[(583,580)(583,503)])
link(onEvent3,8675574:doEnum,[(347,587)(347,531)])
link(onEvent4,10340199:doPack,[])
}
Add(ArrayEnum,8675574,378,525)
{
link(onItem,1448185:doEvent1,[])
link(Array,1644154:Var1,[(384,208)])
}
Add(GetDataEx,1644154,490,203)
{
link(Data,11681732:Array,[])
}
Add(Hub,1448185,427,525)
{
OutCount=3
link(onEvent1,15561524:doClear,[(465,531)(465,454)])
link(onEvent2,6485638:doWrite,[(476,538)(476,517)])
link(onEvent3,3661983:doConvert,[])
}
Add(Hub,7113959,1092,434)
{
OutCount=4
link(onEvent1,1316878:doLoadFStream,[(1115,440)(1115,171)])
link(onEvent2,521636:doClear,[(1126,447)(1126,136)])
link(onEvent3,14921755:doData,[])
link(onEvent4,12786939:doEnum,[(1116,461)(1116,489)])
}
Add(BitmapStream,5205948,1295,483)
{
link(onRead,7895206:doAdd,[(1339,489)(1339,393)(1185,393)(1185,297)])
}
Add(StrList,1791150,595,490)
{
}
Add(MemoryStream,15561524,490,441)
{
}
Add(StreamConvertor,3661983,525,539)
{
Point(Data)
link(onResult,1791150:doAdd,[(576,545)(576,496)])
link(Data,5231647:Var3,[(531,489)])
}
Add(BitmapStream,6485638,490,504)
{
link(Stream,5231647:Var2,[])
}
Add(GetDataEx,5231647,490,484)
{
link(Data,15561524:Stream,[])
}
Add(DoData,14921755,1134,448)
{
link(onEventData,2490959:doText,[])
link(Data,13077494:stbmp,[(1140,414)(1074,414)(1074,483)(1049,483)])
}
Add(StrList,2490959,1183,427)
{
}
Add(ArrayEnum,12786939,1197,483)
{
link(onItem,13176669:doConvert,[])
link(Array,2490959:Array,[])
}
Add(StreamConvertor,13176669,1246,483)
{
Mode=1
link(onResult,5205948:doRead,[])
}

карма: 3

0
Разработчик
Ответов: 26061
Рейтинг: 2120
#5: 2019-01-15 10:27:59 ЛС | профиль | цитата
fox-video писал(а):
Не знаю правильно ли конвертировать картинку в текст, но получилось чуть проще и понятнее (для меня)

Можно, конечно, почему бы и нет, только размер картинного потока в два раза больше будет и немного медленнее работать будет, но при таких размерах картинок это не так важно. Я же применил стандартный метод -- длина контента+контент, в начале записано количество картинных контентов. Если немного подправить упаковщик (у него, в конце, стоит возврат потока к началу, надо бы сделать опционально), то можно практически так же сделать и с бинарными данными.

Редактировалось 1 раз(а), последний 2019-01-15 10:36:45
карма: 22

0
Ответов: 4621
Рейтинг: 746
#6: 2019-01-15 12:32:44 ЛС | профиль | цитата
nesco писал(а):
в конце стоит возврат потока к началу, надо бы сделать опционально
Не надо возвращать. Без "опций". При записи в поток позиция автоматически перемещается на после записанных данных, чтобы можно было продолжить писать. Возврат, если надо - сделают вручную. Просто зачем нужен возврат? Чтобы записать что-то поверх записанных перед этим данных? Или чтобы прочитать только что записанные данные - зачем, если они и так были доступны перед записью?
карма: 26

0
Разработчик
Ответов: 26061
Рейтинг: 2120
#7: 2019-01-15 12:55:27 ЛС | профиль | цитата
Netspirit писал(а):
Не надо возвращать. Без "опций". При записи в поток позиция автоматически перемещается на после записанных данных, чтобы можно было продолжить писать. Возврат, если надо - сделают вручную. Просто зачем нужен возврат? Чтобы записать что-то поверх записанных перед этим данных? Или чтобы прочитать только что записанные данные - зачем, если они и так были доступны перед записью?

Это нарушит совместимость, так делать не стоит, мало ли где это использовал. Поэтому, только опционально, увы.
карма: 22

0
Ответов: 4621
Рейтинг: 746
#8: 2019-01-15 13:02:45 ЛС | профиль | цитата
Да ну, какая там совместимость. Я же описал варианты когда это можно было использовать - ну, и кто сколько раз это делал?
карма: 26

0
Разработчик
Ответов: 26061
Рейтинг: 2120
#9: 2019-01-15 13:32:08 ЛС | профиль | цитата
Netspirit писал(а):
Да ну, какая там совместимость. Я же описал варианты когда это можно было использовать - ну, и кто сколько раз это делал?

Те ты предлагаешь просто тупо выбросить возврат потока на нулевую позицию, я так понял? Не понятно только, для чего автор туда его воткнул, у него же какие-то мысли по этому поводу были?

Редактировалось 1 раз(а), последний 2019-01-15 13:35:19
карма: 22

0
Ответов: 4621
Рейтинг: 746
#10: 2019-01-15 13:56:12 ЛС | профиль | цитата
Ну, придётся только догадываться. А раз не догадались - значит, не нужно оно нам, выбрасывай.
Я в своём коде пишу комментарии, если вижу, что может быть неочевидно для читающего.
карма: 26

0
Разработчик
Ответов: 26061
Рейтинг: 2120
#11: 2019-01-15 16:29:06 ЛС | профиль | цитата
Внес правки на SVN, теперь, если обновить компонент StreamPack, то можно упростить схему до такого состояния
Схема

Add(BitmapArray,11681732,301,105)
{
Bitmaps=['Bitmap'=[ZIP5A0B000078DAB5D44D6813411407F078163C7B520F227A097811BDF6AA82071511F1D48B52940A82972882624F162B529A86B4256DD29026E4BBD9A4C96E1277936EA2B55D4DD3DA34A818090429A5E8A98C6FB29975CDEC6E53930E6F2EC9F29B99FFDBD9BECB370F9B9AE31CCCD3308FC13C0EF390E968F3F793F0FF09B33CC9E8BF3F7840653221848AA1D0A2DF9FF7FB733E1F94E0F50A7373BCC7F3D6E3C9BADD5099D9D9B4CB95763AB99919767A9A7538520E47726A6A016A7232313191B0DBE3763B63B3C56CB6F9F171286217C2E11EF2F20ACABE23915EF1CA0AC47E178DF684571F80D8EFA3D1EEF9B603107B2916EB92A7F351D9DDF09AF910FB03C3D0BCFBDE91E0E3337BF33AF12B763C4EF3CC33F3AFB22BF3AA8F7D73458F37889FD8CB8904CD33CFCFA2EF1CAA06EBB9E1F09353346FDC5D62AF2412348FEDFA228ADC428265F74BB4E41D8088147ECFEE125B4A26691EDB0D09DBBE4B28741D49633B6B3E88881BBDDAC9CBA3B2699E19BA80B62A88E9C7B65C0B7720A29A30A23E801E4FEC8FA914CD637BFB1B6207FFDA728943D0078828F4D46CC013FB13CBD2BCAE0D0541959D3B15FC8C1EAFD81C47F32D5BB0E0B0A1D43684F395FD5174C0D6F5C22176299DA679F6F5456C4302DC5D9C7AEC766B1169EC776D89B75E83070C6E16B15733199A6FED7BD58A8A16947F84F807789D86B4917C09BD2C0483622060F05D50EC6C96E6E75F9CC776D5854AC3A83402FDDBDECCC28281D1017C714321639ED865B0295EB6E1D6A01AB3FB737DC5FB10D2FDE7BB60C8137B8DE769BEB5EFAD4A7DD90BAAE677C18027F63ACFD33CB61B52C67A037AA679718D79C516049A87864169BEFA9DF0C4FE9CCBD1BCE6CBD339AFD8F97C1BAFD9DD7DF1C4DE005BC56BC6BF5F9ED815515478CD7CFE8327F6A628CA7CDB01BAE1895D2D1414BE077624023CB10F6234ED3FED76DBFC],'Bitmap'=[ZIP5A0B000078DAB5D43D6FD3401807F063E60B300103035317101F8019562458902A568418189158905858BA36725BD257A58DD2364E9398244E829D60535EFA4679AD041B62E20B1C4FFCF839997BCE8D53D2D3FF4E8A63FFCE2F77CFF59B77CE8AA85D837E19FA79E817A09F11E7A2E397E0FF8B13D8A9DD7BF0F094228494F2CDE6E6EB52A95F2AF58A4588BFB6E6AFAE7A85C2AB42A1BBB202E92C2FB79796DA8B8BEEC2426B7EBE95CF37F3F9C6DCDC4BC8ECAC3333E35856DDB26AB95C3597DB9A9E86901D96CB63E4710675DFB63D2E5ECD40F676A532122FE1AA7F837CF201C87E5BA964E7657489DE84D01E80EC77D56A46DE0C9BF8849D853F0E663CD9EF6BB5A1FC7038B2D5D75576BD3E94E7B6EBBAB0F56034F2647F701CCE3FBDBA950C5C748535111DD46C5C9B64EF380EE7C1FBBD2B7F6DC7C97EDFB8F4C9DE6D34388F76F1461CE3FB16FC20CC16EDAC84CDF993D842A88D4BF65EB3C979CD36F2DC567581ECFD568BF368976F0D02308E1A2FC493E48F645D50B6EB721EEDCE7DE94CCADADDC18849DBF35AD921FBA0DDE67C9A6DDF96BC56F1B243F6C74E87F368878F07F11FC523046783C0BF704E5A555376B7CB79B40FA7E4FEF3383BCFE2E08468A75535B20FC1663CDA3F5EC8236B30038E189C0AED607DDDC893FDC9F3388FF69F9FC705CE0937368C3CD99F3D8FF35A3D490BD43323AF6CDF37F2C6B569289A269EEC2FBD1EE78D8B273BAFEC7E5FE38D5F77249EECAF602778F3FB199127FB5B1028DEF87E4EC093FD3D0890D71EE07F78B28FC250F163B06D1B78B24FA345F65FDA64FA28],'Bitmap'=[ZIP5A0B000078DAB5D43B4FDB501407F074EE17602A1D3A3075AAFA013AD3150916A4AA6B851818192B7561E94AE42484A742A240E290C4E4E1043BA95D4A9B9496B640A422905A31F50B5C4E727C2E69EEBDC8E461FDEF1D62E777EC9313BF7839F330D0399EC39A80F508D638AC0781B1CEE74FE0FCE3A7B8E8783D373FA204028CB18FA9D48764B29E4CD61209881D8FDBDBDB562C76108B55B7B62095CD4D7363C35C5F2FAFAD9556574BD168311A2D4422FB9070D808850C4DCB6B5A2E18CC06837BCBCB10B2DD747A883C56E0F7ADEBC3E27905B20F3399A1F0DD0F40F6A74C6670BEE701C83ECA6607E4C5FE74D983F0D2FE90FD3997EB9F57B49FDBF9BCC8BF7DB6E727AAF693FDC530441EBE77DD647F0F6FF3A7EEE5CA6497450667E11AD5AF4B76C330441EEDC4A432DC96F264370B0591F769AB86A7CB16799FB66A78C8FE5A2C8A3CDAE9A97640C25DB455B349F671A924F26857DE30E315CBCDB6778C3EEDD5F16CC56C72BB5C16799FB66AF4C9FE669A228FB6BBD88EBDE0ED10AC06E1B69427FB7BA522F2689FBC67C74B5E1AEFBC6041B4557F5C6E57AB228FF6EF15D6D2DA1570C76029B455EF05B24FC01678B4FF5DDC15B8C6D9D991F264FFB02C91F7F93E717777A53CD93F2D4BCAC3DD4B47FFBFB75A2A25E5B96DDB725E369B3E79B27FD56A222F1D1EFF3CB7EBF51E5EDA9F7BF1649F82DDC5DFD17EFF3CD9678EC379697FFAE0C93E771CE47B1E60109EEC96EB727E08B6AE034FF6288E8E7D0317D1DACA]]
}
Add(MainForm,1105219,42,189)
{
Width=370
Height=238
Caption=""
link(onCreate,6397971:doEnum,[])
}
Add(Image,6289249,364,203)
{
Left=35
Top=150
Width=32
Height=32
}
Add(StringTableMT,15384470,238,203)
{
Left=10
Top=35
Width=115
Height=110
Columns=#4: =60|4: =20|
IconsCheck=[]
MiscIcons=[]
Icons=[]
Point(FStream)
Point(doSaveFStream)
link(onClick,6809424:doRead,[])
}
Add(StrList,7950823,98,140)
{
Strings=#7:image;1|7:image;2|7:image;3|
}
Add(ArrayEnum,6397971,112,203)
{
link(onItem,15384470:doAdd,[])
link(Array,7950823:Array,[])
}
Add(ArrayRW,6809424,301,203)
{
Point(Count)
link(onRead,6289249:doLoad,[])
link(Array,1644154:Var2,[])
}
Add(Image,1036128,981,221)
{
Left=260
Top=150
Width=32
Height=32
}
Add(StringTableMT,1316878,848,221)
{
Left=235
Top=35
Width=115
Height=110
Columns=#4: =60|4: =20|
IconsCheck=[]
MiscIcons=[]
Icons=[]
Point(doLoadFStream)
Point(FTblStream)
link(onClick,7895206:doRead,[])
link(FTblStream,13077494:sttable,[(861,215)(643,215)(643,418)(713,418)])
}
Add(ArrayRW,7895206,917,221)
{
link(onRead,1036128:doLoad,[])
link(Array,521636:Array,[])
}
Add(BitmapArray,521636,917,130)
{
Bitmaps=[]
}
Add(Button,6700001,84,441)
{
Left=30
Top=5
Caption="Save"
link(onClick,12294494:doEvent1,[])
}
Add(Button,10989959,497,315)
{
Left=260
Top=5
Caption="Load"
link(onClick,1449169:doEvent1,[])
}
Add(StreamPack,10340199,378,455)
{
DataCount=#7:sttable|8:bmpcount|
link(onPack,7339699:doWork2,[])
link(sttable,15384470:FStream,[(384,299)(258,299)])
link(bmpcount,6809424:Count,[(391,292)(314,292)])
}
Add(FileStream,9551284,455,441)
{
Mode=1
AutoCopy=0
Point(doCopyFromStream)
link(FileName,11976393:Var1,[(461,299)])
}
Add(FileStream,10758982,595,315)
{
AutoCopy=0
link(onLoad,6665855:doEvent1,[])
link(FileName,11976393:Var3,[(601,299)])
}
Add(Hub,1449169,553,315)
{
link(onEvent1,10758982:doOpen,[])
link(onEvent2,10758982:doClose,[])
}
Add(Edit,16013048,522,245)
{
Left=120
Top=5
Width=110
Text="контент2.dat"
}
Add(GetDataEx,11976393,522,294)
{
link(Data,16013048:Text,[])
}
Add(StreamUnPack,13077494,707,378)
{
DataCount=#7:sttable|8:bmpcount|
link(onUnPack,7113959:doEvent1,[])
link(Stream,13041511:Var2,[])
}
Add(InfoTip,6256813,217,77)
{
Info=#13:Это сохраняем|
Width=197
Height=179
}
Add(InfoTip,12169793,833,105)
{
Info=#14:Сюда загружаем|
Width=197
Height=179
}
Add(InfoTip,10882306,490,217)
{
Info=#9:Имя файла|
Width=106
Height=74
}
Add(Hub,12294494,140,441)
{
OutCount=5
link(onEvent1,9551284:doOpen,[])
link(onEvent2,15384470:doSaveFStream,[(165,454)(165,230)])
link(onEvent3,10340199:doPack,[])
link(onEvent4,8675574:doEnum,[(172,468)(172,398)])
link(onEvent5,9551284:doClose,[(368,475)(368,496)(438,496)(438,454)])
}
Add(ArrayEnum,8675574,189,392)
{
link(onItem,1448185:doEvent1,[])
link(Array,1644154:Var1,[(195,159)])
}
Add(GetDataEx,1644154,301,154)
{
link(Data,11681732:Array,[])
}
Add(Hub,1448185,238,392)
{
OutCount=3
link(onEvent1,15561524:doClear,[(276,398)(276,321)])
link(onEvent2,6485638:doWrite,[(287,405)(287,384)])
link(onEvent3,9228192:doPack,[])
}
Add(Hub,7113959,763,378)
{
link(onEvent1,1316878:doLoadFStream,[(788,384)(788,248)])
link(onEvent2,5562312:doFor,[])
}
Add(BitmapStream,5205948,924,385)
{
link(onRead,7895206:doAdd,[(963,391)(963,370)(907,370)(907,241)])
link(Stream,1633233:stbmp,[(930,376)(916,376)(916,425)(874,425)])
}
Add(MemoryStream,15561524,301,308)
{
}
Add(BitmapStream,6485638,301,371)
{
link(Stream,5231647:Var2,[])
}
Add(GetDataEx,5231647,301,351)
{
link(Data,15561524:Stream,[])
}
Add(StreamPack,9228192,336,406)
{
DataCount=#5:stbmp|
link(onPack,7339699:doWork1,[(424,412)])
link(stbmp,5231647:Var3,[(342,356)])
}
Add(HubEx,7339699,420,455)
{
link(onEvent,9551284:doCopyFromStream,[])
}
Add(StreamUnPack,1633233,868,385)
{
DataCount=#5:stbmp|
link(onUnPack,5205948:doRead,[])
link(Stream,13041511:Var3,[(874,362)])
}
Add(For,5562312,812,385)
{
IncludeEnd=1
link(onEvent,1633233:doUnPack,[])
link(End,13077494:bmpcount,[(825,376)(804,376)(804,418)(720,418)])
}
Add(MemoryStream,13774357,707,322)
{
Point(doPosition)
}
Add(Hub,6665855,651,315)
{
OutCount=4
link(onEvent1,521636:doClear,[(676,321)(676,136)])
link(onEvent2,13774357:doCopy,[])
link(onEvent3,13774357:doPosition,[(697,335)(697,342)])
link(onEvent4,13077494:doUnPack,[(690,342)(690,384)])
}
Add(GetDataEx,13041511,707,357)
{
link(Data,13774357:Stream,[])
}


Редактировалось 2 раз(а), последний 2019-01-15 16:35:02
карма: 22

0
Ответов: 263
Рейтинг: 18
#12: 2019-01-15 20:08:54 ЛС | профиль | цитата
Обновился - работает. Сама схема стала понятной. Спасибо за помощь.

Редактировалось 2 раз(а), последний 2019-01-15 20:23:56
карма: 3

0
Ответов: 2059
Рейтинг: 131
#13: 2019-01-15 21:31:05 ЛС | профиль | цитата
Зачем?
Способов - море.
Наверное все зависящие от Мелкософта делают компиляторы согласно утверждённым райкомом партии расценкам.
Нет проблем записывать в exe_шник кусок дополнительной программы, а тем более данных.
Только Вы плюньте на это на всё это дорогой товарищ,...
Потому что Delphi, C++ и т.д.
Можно прилиньковать к созданным exe-dll.
А вот если "самому делать" exe_шник, или компилятор(link_ер)...
Выкладывал пример по другому поводу...
То вполне всё срастается, - попробую завтра родить, если действительно надо (никакого отношения к Delphi и второй производной от Kol - Hiasm не может быть и речи).
Слово "родить" - по причине утраты компьютера.
Конечно можно кренделя выписывать нед секцией "ресурсы" - туда и пишутся тексты и т.д. из компонентов.
Только руля-то нету-ти в Hiasm!
И вообще...!

Редактировалось 1 раз(а), последний 2019-01-15 21:33:07
карма: 6

0
Разработчик
Ответов: 26061
Рейтинг: 2120
#14: 2019-01-15 22:05:51 ЛС | профиль | цитата
flint2 писал(а):
Нет проблем записывать в exe_шник кусок дополнительной программы, а тем более данных.

А кто-то что-то писал в экзешник? Была попытка создать обычный простой непрерывный архив, что тут такого криминального, где тут экзешник?

Редактировалось 1 раз(а), последний 2019-01-15 22:06:21
карма: 22

0
Ответов: 2059
Рейтинг: 131
#15: 2019-01-15 22:45:01 ЛС | профиль | цитата
А кто-то что-то писал в экзешник?

Я!
И не однократно.
И многие другие.
Была попытка создать обычный простой непрерывный архив, что тут такого криминального, где тут экзешник?

Конституция не запрещает писать в файлы INI и с другим расширением чего угодно.
Я понял так, что надо сохранять данные именно в программе под названием exe.

nesco, чего задираешься?

И да, можно привязать кусочек программы на кнопку "Х" для сохранения всей программы со всем, что было добавлено.
Мало того, некоторые языки интерактивно принимают входную строку, как определение функции(процедуры выдуманы и когда у функции только один результат - тоже плохо. бывает надо возвратить 3-5 значений) и тут-же компилируют в тело.
После можно вызывать эту функцию, ровно так-же, как иные были скомпилированны в exe-шник.
А после записать всю эту бодягу с новыми функциями и иной точкой входа под именем того-же exe-шника.
Но это не delphi-4.

Редактировалось 4 раз(а), последний 2019-01-15 23:18:03
карма: 6

0
Сообщение
...
Прикрепленные файлы
(файлы не залиты)