{"id":234,"date":"2008-05-05T22:11:17","date_gmt":"2008-05-05T22:11:17","guid":{"rendered":"http:\/\/6teen.ru\/?p=98"},"modified":"2008-05-05T22:11:17","modified_gmt":"2008-05-05T22:11:17","slug":"6125","status":"publish","type":"post","link":"http:\/\/pblog.ru\/lab\/?p=234","title":{"rendered":"\u0414\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u0434\u0430\u043d\u043d\u044b\u0445 \u0432 EXE \u0444\u0430\u0439\u043b \u0438 \u0438\u0445 \u0447\u0442\u0435\u043d\u0438\u0435"},"content":{"rendered":"<p>\u0414\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u0434\u0430\u043d\u043d\u044b\u0445 \u0432 EXE \u0444\u0430\u0439\u043b \u0438 \u0438\u0445 \u0447\u0442\u0435\u043d\u0438\u0435<br \/>\n<!--more--><\/p>\n<pre class=\"alt2\" style=\"margin:0px; padding:6px; border:1px inset; width:580px; height:320px; overflow:auto\"><div>\u0414\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u0434\u0430\u043d\u043d\u044b\u0445 \u0432 EXE \u0444\u0430\u0439\u043b \u0438 \u0438\u0445 \u0447\u0442\u0435\u043d\u0438\u0435\n\n\u041d\u0430 \u0441\u0430\u043c\u043e\u043c \u0434\u0435\u043b\u0435 \u044d\u0442\u043e \u0432\u043f\u043e\u043b\u043d\u0435 \u0440\u0435\u0430\u043b\u044c\u043d\u043e \u0441\u0434\u0435\u043b\u0430\u0442\u044c \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0435\u0433\u043e \u043a\u043e\u0434\u0430. \u041f\u0440\u0438\u043c\u0435\u043d\u0435\u043d\u0438\u0435 \u0434\u0430\u043d\u043d\u043e\u043c\u0443 \u043c\u0435\u0442\u043e\u0434\u0443 \u043c\u043e\u0436\u043d\u043e \u043d\u0430\u0439\u0442\u0438 \u043c\u0430\u0441\u0441\u0443, \u0440\u0435\u0448\u0430\u0442\u044c \u0432\u0430\u043c.\n\u0412\u043e\u0442 \u043f\u0440\u043e\u0446\u0435\u0434\u0443\u0440\u0430, \u0434\u043e\u0431\u0430\u0432\u043b\u044f\u044e\u0449\u0430\u044f \u043a\u0430\u043a\u0438\u0435-\u043b\u0438\u0431\u043e \u0434\u0430\u043d\u043d\u044b\u0435 \u043a \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u044e\u0449\u0435\u043c\u0443 EXE \u0444\u0430\u0439\u043b\u0443:\n\nfunction AttachToFile(const AFileName: string; MemoryStream: TMemoryStream): Boolean;\nvar\naStream: TFileStream;\niSize: Integer;\nbegin\nResult := False;\nif not FileExists(AFileName) then\nExit;\ntry\naStream := TFileStream.Create(AFileName, fmOpenWrite or fmShareDenyWrite);\nMemoryStream.Seek(0, soFromBeginning);\n\/\/ \u043f\u043e\u0438\u0441\u043a \u043a\u043e\u043d\u0446\u0430 \u0444\u0430\u0439\u043b\u0430\naStream.Seek(0, soFromEnd);\n\/\/ \u043a\u043e\u043f\u0438\u0440\u0443\u0435\u043c \u0434\u0430\u043d\u043d\u044b\u0435 \u0438\u0437 MemoryStream\naStream.CopyFrom(MemoryStream, 0);\n\/\/ \u0441\u043e\u0445\u0440\u0430\u043d\u044f\u0435\u043c \u0440\u0430\u0437\u043c\u0435\u0440 \u043f\u043e\u0442\u043e\u043a\u0430\niSize := MemoryStream.Size + SizeOf(Integer);\naStream.Write(iSize, SizeOf(iSize));\nfinally\naStream.Free;\nend;\nResult := True;\nend;\n\n\u0410 \u0432\u043e\u0442 \u0442\u0430\u043a \u044d\u0442\u0438 \u0434\u0430\u043d\u043d\u044b\u0435 \u043c\u043e\u0436\u043d\u043e \u043f\u0440\u043e\u0447\u0438\u0442\u0430\u0442\u044c:\n\nfunction LoadFromFile(const AFileName: string; MemoryStream: TMemoryStream): Boolean;\nvar\naStream: TFileStream;\niSize: Integer;\nbegin\nResult := False;\nif not FileExists(AFileName) then\nExit;\n\ntry\naStream := TFileStream.Create(AFileName, fmOpenRead or fmShareDenyWrite);\n\/\/ \u0438\u0449\u0435\u043c \u043f\u043e\u0437\u0438\u0446\u0438\u044e \u0441 \u043a\u043e\u0442\u043e\u0440\u043e\u0439 \u043d\u0430\u0447\u0438\u043d\u0430\u044e\u0442\u0441\u044f \u0441\u043e\u0445\u0440\u0430\u043d\u0435\u043d\u043d\u044b\u0435 \u0434\u0430\u043d\u043d\u044b\u0435\naStream.Seek(-SizeOf(Integer), soFromEnd);\naStream.Read(iSize, SizeOf(iSize));\nif iSize > aStream.Size then\nbegin\naStream.Free;\nExit;\nend;\n\/\/ \u0438\u0449\u0435\u043c \u043f\u043e\u0437\u0438\u0446\u0438\u044e \u0441\u043e\u0445\u0440\u0430\u043d\u0435\u043d\u043d\u044b\u0445 \u0434\u0430\u043d\u043d\u044b\u0445\naStream.Seek(-iSize, soFromEnd);\nMemoryStream.SetSize(iSize - SizeOf(Integer));\nMemoryStream.CopyFrom(aStream, iSize - SizeOf(iSize));\nMemoryStream.Seek(0, soFromBeginning);\nfinally\naStream.Free;\nend;\nResult := True;\nend;\n\n\u0410 \u0432\u043e\u0442 \u043a\u0430\u043a \u044d\u0442\u043e \u043c\u043e\u0436\u043d\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c:\n\nprocedure TForm1.SaveClick(Sender: TObject);\nvar\naStream: TMemoryStream;\nbegin\naStream := TMemoryStream.Create;\nMemo1.Lines.SaveToStream(aStream);\nAttachToFile('Test.exe', aStream);\naStream.Free;\nend;\n\nprocedure TForm1.LoadClick(Sender: TObject);\nvar\naStream: TMemoryStream;\nbegin\naStream := TMemoryStream.Create;\nLoadFromFile('Test.exe', aStream);\nMemo1.Lines.LoadFromStream(aStream);\naStream.Free;\nend;\n\n\u0414\u0443\u043c\u0430\u044e, \u0447\u0442\u043e \u0441 \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u0438\u043c\u0438 \u043f\u0440\u0438\u043c\u0435\u0440\u0430\u043c\u0438 \u0432\u0441\u0435 \u043f\u043e\u043d\u044f\u0442\u043e. \u0412 \u0434\u0430\u043d\u043d\u043e\u043c \u0441\u043b\u0443\u0447\u0430\u0435 \u043c\u044b \u0440\u0430\u0441\u0441\u043c\u043e\u0442\u0440\u0435\u043b\u0438 \u0441\u043e\u0445\u0440\u0430\u043d\u0435\u043d\u0438\u0435 \u0434\u0430\u043d\u043d\u044b\u0445 \u0432 \u0444\u0430\u0439\u043b\u0435 Test.exe \u0438\u0437 \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442\u0430 TMemo.\n<\/div><\/pre>\n<p><\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u0414\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u0434\u0430\u043d\u043d\u044b\u0445 \u0432 EXE \u0444\u0430\u0439\u043b \u0438 \u0438\u0445 \u0447\u0442\u0435\u043d\u0438\u0435<\/p>\n","protected":false},"author":3,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[16,456],"tags":[63,212,703,1029,356],"_links":{"self":[{"href":"http:\/\/pblog.ru\/lab\/index.php?rest_route=\/wp\/v2\/posts\/234"}],"collection":[{"href":"http:\/\/pblog.ru\/lab\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/pblog.ru\/lab\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/pblog.ru\/lab\/index.php?rest_route=\/wp\/v2\/users\/3"}],"replies":[{"embeddable":true,"href":"http:\/\/pblog.ru\/lab\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=234"}],"version-history":[{"count":0,"href":"http:\/\/pblog.ru\/lab\/index.php?rest_route=\/wp\/v2\/posts\/234\/revisions"}],"wp:attachment":[{"href":"http:\/\/pblog.ru\/lab\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=234"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/pblog.ru\/lab\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=234"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/pblog.ru\/lab\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=234"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}