{"id":373,"date":"2008-05-24T02:03:09","date_gmt":"2008-05-24T02:03:09","guid":{"rendered":"http:\/\/6teen.ru\/?p=101"},"modified":"2008-05-24T02:03:09","modified_gmt":"2008-05-24T02:03:09","slug":"9029","status":"publish","type":"post","link":"http:\/\/pblog.ru\/lab\/?p=373","title":{"rendered":"\u0414\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u0442\u0435\u043a\u0441\u0442\u043e\u0432\u043e\u0439 \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u0438 \u0432 .\u0435\u0445\u0435-\u0444\u0430\u0439\u043b \u0438 \u0447\u0442\u0435\u043d\u0438\u0435 \u0435\u0435"},"content":{"rendered":"<p>\u0414\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u0442\u0435\u043a\u0441\u0442\u043e\u0432\u043e\u0439 \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u0438 \u0432 .\u0435\u0445\u0435-\u0444\u0430\u0439\u043b \u0438 \u0447\u0442\u0435\u043d\u0438\u0435 \u0435\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 \u0442\u0435\u043a\u0441\u0442\u043e\u0432\u043e\u0439 \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u0438 \u0432 .\u0435\u0445\u0435-\u0444\u0430\u0439\u043b \u0438 \u0447\u0442\u0435\u043d\u0438\u0435 \u0435\u0435\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\nfunction LoadFromFile(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, 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\nprocedure TForm1.Button1Click(Sender: TObject);\nvar aStream: TMemoryStream;\nbegin\nMemo1.SetFocus;\nApplication.ProcessMessages;\nSleep(500);\naStream := TMemoryStream.Create;\ntry\nMemo1.Lines.SaveToStream(aStream);\nAttachToFile('D:\\_Sernum\\Proba.exe', aStream);\nfinally\naStream.Free;\nend;\naStream := TMemoryStream.Create;\ntry\nLoadFromFile('D:\\_Sernum\\Proba.exe', aStream);\nMemo2.Lines.LoadFromStream(aStream);\nfinally\naStream.Free;\nend;\nMemo2.SetFocus;\nApplication.ProcessMessages;\nend;\n<\/div><\/pre>\n<p><\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u0414\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u0442\u0435\u043a\u0441\u0442\u043e\u0432\u043e\u0439 \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u0438 \u0432 .\u0435\u0445\u0435-\u0444\u0430\u0439\u043b \u0438 \u0447\u0442\u0435\u043d\u0438\u0435 \u0435\u0435<\/p>\n","protected":false},"author":3,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[448,459],"tags":[703,718,237,1016,356],"_links":{"self":[{"href":"http:\/\/pblog.ru\/lab\/index.php?rest_route=\/wp\/v2\/posts\/373"}],"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=373"}],"version-history":[{"count":0,"href":"http:\/\/pblog.ru\/lab\/index.php?rest_route=\/wp\/v2\/posts\/373\/revisions"}],"wp:attachment":[{"href":"http:\/\/pblog.ru\/lab\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=373"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/pblog.ru\/lab\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=373"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/pblog.ru\/lab\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=373"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}