{"id":362538,"date":"2024-05-21T01:37:15","date_gmt":"2024-05-21T01:37:15","guid":{"rendered":"http:\/\/savepearlharbor.com\/?p=362538"},"modified":"-0001-11-30T00:00:00","modified_gmt":"2024-05-21T01:37:15","slug":"","status":"publish","type":"post","link":"https:\/\/savepearlharbor.com\/?p=362538","title":{"rendered":"<span>\u041a\u0430\u043a \u0441\u0442\u0430\u0442\u044c Delphi-\u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0441\u0442\u043e\u043c \u0437\u0430 \u0447\u0430\u0441 \u00ab\u0434\u043b\u044f \u0441\u0430\u043c\u044b\u0445 \u043c\u0430\u043b\u0435\u043d\u044c\u043a\u0438\u0445\u00bb<\/span>"},"content":{"rendered":"<div><!--[--><!--]--><\/div>\n<div id=\"post-content-body\">\n<div>\n<div class=\"article-formatted-body article-formatted-body article-formatted-body_version-2\">\n<div xmlns=\"http:\/\/www.w3.org\/1999\/xhtml\">\n<p>\u041f\u0440\u0438\u043d\u044f\u0442\u043e \u0441\u0447\u0438\u0442\u0430\u0442\u044c, \u0447\u0442\u043e\u00a0\u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u044d\u0442\u043e \u0441\u043b\u043e\u0436\u043d\u043e, \u043d\u043e\u00a0\u044d\u0442\u043e \u043c\u0438\u0444 (\u0432\u0441\u0435 \u043f\u0440\u043e\u0449\u0435 \u0447\u0435\u043c \u043a\u0430\u0436\u0435\u0442\u0441\u044f), \u0438 \u0432\u0441\u0435 \u0447\u0442\u043e\u00a0\u043d\u0443\u0436\u043d\u043e \u0447\u0442\u043e\u0431\u044b \u0441\u0442\u0430\u0442\u044c \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0441\u0442\u043e\u043c \u044d\u0442\u043e \u043d\u0435\u043c\u043d\u043e\u0433\u043e \u0443\u043f\u043e\u0440\u0441\u0442\u0432\u0430 \u0438 \u0438\u0437\u043e\u0431\u0440\u0435\u0442\u0430\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u0438.<\/p>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/937\/930\/65a\/93793065afd4a24f7da680cef5501d0c.png\" width=\"906\" height=\"614\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/937\/930\/65a\/93793065afd4a24f7da680cef5501d0c.png\"\/><\/figure>\n<p>\u0412\u00a0\u044d\u0442\u043e\u0439 \u0441\u0442\u0430\u0442\u044c\u0435 \u043c\u044b \u043f\u043e\u043b\u0443\u0447\u0438\u043c \u0432\u0441\u0435 \u0431\u0430\u0437\u043e\u0432\u044b\u0435 \u043d\u0430\u0432\u044b\u043a\u0438, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043d\u0443\u0436\u043d\u044b Delphi \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0441\u0442\u0443 (\u0432\u043a\u043b\u044e\u0447\u0430\u044f \u0431\u0430\u0437\u043e\u0432\u044b\u0435 \u0437\u043d\u0430\u043d\u0438\u044f RunTime, \u0440\u0430\u0431\u043e\u0442\u0443 \u0441\u00a0Com\u2011\u043e\u0431\u044a\u0435\u043a\u0442\u0430\u043c\u0438 \u0438 Canvas, \u0432\u0432\u043e\u0434\u043e\u043c\\\u0432\u044b\u0432\u043e\u0434\u043e\u043c, \u0444\u0430\u0439\u043b\u0430\u043c\u0438, \u043f\u0430\u0440\u0441\u0438\u043d\u0433\u043e\u043c, \u043e\u043e\u043f, \u0438 \u0442\u0434), \u043f\u043e\u00a0\u043e\u043a\u043e\u043d\u0447\u0430\u043d\u0438\u0438 \u0441\u0442\u0430\u0442\u044c\u0438.<\/p>\n<p>\u0418 \u043f\u0435\u0440\u0432\u043e\u0435 \u0447\u0442\u043e\u00a0\u043d\u0443\u0436\u043d\u043e \u0437\u043d\u0430\u0442\u044c \u044d\u0442\u043e \u0442\u043e, \u0447\u0442\u043e\u00a0\u044f\u0437\u044b\u043a, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043c\u044b \u0438\u0437\u0443\u0447\u0438\u043c \u043d\u0430\u0437\u044b\u0432\u0430\u0435\u0442\u0441\u044f Object Pascal, \u043b\u044e\u0434\u0438 \u0434\u0430\u043b\u0435\u043a\u0438\u0435 \u043e\u0442\u00a0\u0418\u0422 \u0438 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u043d\u0430\u0437\u044b\u0432\u0430\u044e\u0442 \u0435\u0433\u043e Delphi (\u043f\u043e \u043d\u0430\u0437\u0432\u0430\u043d\u0438\u044e \u0441\u0430\u043c\u043e\u0433\u043e \u043f\u043e\u043f\u0443\u043b\u044f\u0440\u043d\u043e\u0433\u043e \u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0442\u043e\u0440\u0430 (\u0440\u0435\u0434\u0430\u043a\u0442\u043e\u0440\u0430 \u043a\u043e\u0434\u0430) \u0434\u043b\u044f\u00a0\u044d\u0442\u043e\u0433\u043e \u044f\u0437\u044b\u043a\u0430).<\/p>\n<p>(\u041d\u0435 \u0437\u043d\u0430\u044e \u043f\u043e\u0447\u0435\u043c\u0443 \u044d\u0442\u043e \u043d\u0438\u043a\u0442\u043e \u043d\u0435\u00a0\u0447\u0438\u0442\u0430\u0435\u0442, <strong>\u043d\u043e\u00a0\u044d\u0442\u0430 \u0441\u0442\u0430\u0442\u044c\u044f \u043d\u0435\u00a0\u0431\u0443\u0434\u0435\u0442 \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u043d\u0430\u044f \u0442\u0435\u043c, \u043a\u0442\u043e \u0443\u0436\u0435 \u0437\u043d\u0430\u043a\u043e\u043c \u0441\u00a0\u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435\u043c<\/strong>, \u043e\u043d\u0430 \u0431\u0443\u0434\u0435\u0442 \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u043d\u0430\u044f \u043d\u0430\u0447\u0438\u043d\u0430\u044e\u0449\u0438\u043c \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0441\u0442\u0430\u043c!)<\/p>\n<blockquote>\n<p>\u044f \u043f\u043b\u0430\u043d\u0438\u0440\u043e\u0432\u0430\u043b \u0446\u0438\u043a\u043b \u0438\u0437 5 \u0441\u0442\u0430\u0442\u0435\u0439 \u043f\u043e\u0441\u0432\u044f\u0449\u0435\u043d\u043d\u044b\u0439 \u0432\u0441\u0435\u043c \u043e\u0441\u043d\u043e\u0432\u043d\u044b\u043c \u044f\u0437\u044b\u043a\u0430\u043c (\u0441++, \u043f\u0430\u0441\u043a\u0430\u043b\u044c, \u0434\u0436\u0430\u0432\u0430, \u0441\u0438 \u0448\u0430\u0440\u043f, \u0432\u0435\u0431), \u043d\u043e \u043d\u0430\u043b\u0435\u0442\u0435\u0432\u0448\u0438\u0435 <s>\u044d\u043a\u0441\u043f\u0435\u0440\u0442\u044b \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f<\/s> (*\u044b\u0434\u043b\u043e\u043a\u043e\u0434\u0435\u0440\u044b) , \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0434\u0430\u0436\u0435 \u0441\u0442\u0430\u0442\u044c\u0438 \u0442\u043e\u043b\u043a\u043e\u043c \u043d\u0435 \u0447\u0438\u0442\u0430\u043b\u0438 \u0432\u044b\u0437\u0432\u0430\u043b\u0438 \u0443 \u043c\u0435\u043d\u044f \u0436\u0435\u0441\u0442\u043a\u0438\u0439 \u0431\u0430\u0434\u0445\u0435\u0440\u0442 \u0438 \u0434\u0435\u0437\u043c\u043e\u0440\u0430\u043b, \u0438\u0437 \u0437\u0430 \u0447\u0435\u0433\u043e \u0436\u0435\u043b\u0430\u043d\u0438\u0435 \u043f\u0438\u0441\u0430\u0442\u044c \u0441\u0442\u0430\u0442\u044c\u0438 \u0443\u043f\u0430\u043b\u043e \u043d\u0430 \u043f\u043e\u043b \u0448\u0435\u0441\u0442\u043e\u0433\u043e, \u043a\u0430\u043a \u0438 \u043f\u0440\u0435\u0431\u044b\u0432\u0430\u043d\u0438\u0435 \u043d\u0430 \u044d\u0442\u043e\u043c \u043f\u0430\u0431\u043b\u0438\u043a\u0435, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u0441\u043e\u0440\u044f\u043d\u0447\u0438\u043a:(<\/p>\n<\/blockquote>\n<p>\u0418\u0442\u0430\u043a, \u0431\u043b\u0438\u0436\u0435 \u043a\u00a0\u0434\u0435\u043b\u0443.<\/p>\n<p>\u0421\u043e\u0437\u0434\u0430\u0434\u0438\u043c \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0443, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u0431\u0443\u0434\u0435\u0442 \u0440\u0430\u0437\u0431\u0438\u0440\u0430\u0442\u044c \u0442\u0435\u043a\u0441\u0442 \u0432\u00a0\u0440\u0435\u0434\u0430\u043a\u0442\u043e\u0440\u0435, \u0438 (\u043d\u0430 \u043e\u0441\u043d\u043e\u0432\u0430\u043d\u0438\u0438 \u043a\u043e\u043c\u0430\u043d\u0434 \u0438\u0437\u00a0\u0440\u0435\u0434\u0430\u043a\u0442\u043e\u0440\u0430) \u0440\u0438\u0441\u043e\u0432\u0430\u0442\u044c \u0444\u0438\u0433\u0443\u0440\u044b \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u043d\u043e\u0433\u043e \u0440\u0430\u0437\u043c\u0435\u0440\u0430 \u0432\u00a0\u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u043d\u043e\u043c \u043c\u0435\u0441\u0442\u0435 \u043d\u0430\u00a0\u0441\u043f\u0435\u0446\u0438\u0430\u043b\u044c\u043d\u043e\u0439 \u043e\u0431\u043b\u0430\u0441\u0442\u0438 \u0441\u043f\u0440\u0430\u0432\u0430:<\/p>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/0ef\/adb\/a9a\/0efadba9a7df67e08036427c1cbc7246.png\" width=\"687\" height=\"507\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/0ef\/adb\/a9a\/0efadba9a7df67e08036427c1cbc7246.png\"\/><\/figure>\n<p>\u041d\u0435\u043c\u043d\u043e\u0433\u043e \u0442\u0435\u043e\u0440\u0438\u0438 \u0438 \u043c\u043d\u043e\u0433\u043e \u043f\u0440\u0430\u043a\u0442\u0438\u043a\u0438, \u0442\u0430\u043a\u0436\u0435 \u0442\u0435\u0431\u0435 \u0431\u0443\u0434\u0435\u0442 \u0433\u043e\u0440\u0430\u0437\u0434\u043e \u043f\u0440\u043e\u0449\u0435 \u0435\u0441\u043b\u0438 \u0442\u044b \u043f\u0435\u0440\u0435\u0434 \u043f\u0440\u043e\u0447\u0442\u0435\u043d\u0438\u0435\u043c \u044d\u0442\u043e\u0439 \u0441\u0442\u0430\u0442\u044c\u0438, \u043f\u0440\u043e\u0447\u0438\u0442\u0430\u0435\u0448\u044c \u0441\u0442\u0430\u0442\u044c\u044e, \u043f\u043e\u0441\u0432\u044f\u0449\u0435\u043d\u043d\u0443\u044e \u0442\u043e\u043c\u0443 \u00ab<a href=\"https:\/\/habr.com\/ru\/articles\/779092\/\" rel=\"noopener noreferrer nofollow\">\u043a\u0430\u043a\u00a0\u0432\u043e\u0439\u0442\u0438 \u0432\u00a0\u0430\u0439\u0442\u0438 \u0441 0\u00a0\u0437\u0430\u00a0\u0447\u0430\u0441, \u043d\u0430\u00a0\u044f\u0437\u044b\u043a\u0435 \u0421++<\/a>\u00bb<\/p>\n<details class=\"spoiler\">\n<summary>\u0427\u0443\u0442\u044c-\u0447\u0443\u0442\u044c \u0442\u0435\u043e\u0440\u0438\u0438 \u0438 \u043c\u043d\u043e\u0433\u043e \u043f\u0440\u0430\u043a\u0442\u0438\u043a\u0438.<\/summary>\n<div class=\"spoiler__content\">\n<p>\u041f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u043f\u043e\u0441\u0442\u0440\u043e\u0435\u043d\u043e \u043d\u0430 4\u00a0\u043e\u0441\u043d\u043e\u0432\u043d\u044b\u0445 \u043a\u043e\u043d\u0446\u0435\u043f\u0442\u0430\u0445:<\/p>\n<p> 1) \u041f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0435<br \/> 2) \u041a\u043e\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u0438 \u0443\u0441\u043b\u043e\u0432\u0438\u0439<br \/> 3) \u041a\u043e\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u0438 \u0446\u0438\u043a\u043b\u043e\u0432<br \/> 4) \u0418 \u043a\u043e\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u0438 \u0444\u0443\u043d\u043a\u0446\u0438\u0439<\/p>\n<p>\u0412\u00a0\u0434\u0432\u0443\u0445 \u0441\u043b\u043e\u0432\u0430\u0445 \u043c\u044b \u0445\u0438\u0442\u0440\u043e\u0443\u043c\u043d\u043e \u0438\u0433\u0440\u0430\u0435\u043c \u0441\u00a0\u0431\u0430\u0437\u043e\u0432\u044b\u043c \u0444\u0443\u043d\u043a\u0446\u0438\u043e\u043d\u0430\u043b\u043e\u043c, \u043f\u0440\u0435\u0434\u043e\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u043c\u044b\u043c \u043d\u0430\u00a0\u0443\u0440\u043e\u0432\u043d\u0435 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u043e\u0440\u0430\\\u0431\u0438\u043e\u0441\u0430\\\u0441\u0438\u0441\u0442\u0435\u043c\u044b, \u043a\u043e\u043c\u0431\u0438\u043d\u0438\u0440\u0443\u0435\u043c \u0442\u0435 \u0431\u0430\u0437\u043e\u0432\u044b\u0435 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 \u0441\u00a0\u043a\u0430\u043a\u0438\u043c\u0438\u2011\u0442\u043e \u0434\u0430\u043d\u043d\u044b\u043c\u0438 \u0438\u0437\u00a0\u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0445, \u0434\u043e\u0431\u0430\u0432\u043b\u044f\u0435\u043c \u0443\u0441\u043b\u043e\u0432\u0438\u044f \u0438 \u0446\u0438\u043a\u043b\u044b \u0438 \u043e\u0431\u043e\u0440\u0430\u0447\u0438\u0432\u0430\u0435\u043c \u044d\u0442\u043e \u0432\u0441\u0435 \u0432\u00a0\u043d\u043e\u0432\u044b\u0435 \u0444\u0443\u043d\u043a\u0446\u0438\u0438.<\/p>\n<p>\u041a\u00a0\u043f\u0440\u0438\u043c\u0435\u0440\u0443:<\/p>\n<p>\u0423\u00a0\u043d\u0430\u0441 \u0435\u0441\u0442\u044c \u0444\u0443\u043d\u043a\u0446\u0438\u044f \u043d\u0430\u00a0\u0443\u0440\u043e\u0432\u043d\u0435 \u0441\u0438\u0441\u0442\u0435\u043c\u044b (\u0434\u043b\u044f \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u044f \u0446\u0432\u0435\u0442\u0430 \u043f\u0438\u043a\u0441\u0435\u043b\u044f \u043d\u0430\u00a0\u044d\u043a\u0440\u0430\u043d\u0435, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u0432\u044b\u0445\u043e\u0434\u0438\u0442 \u043e\u0442\u00a0\u0434\u0440\u0430\u0439\u0432\u0435\u0440\u0430 \u0432\u0438\u0434\u0435\u043e\u043a\u0430\u0440\u0442\u044b, \u0430\u00a0\u0442\u0430 \u0438\u0437\u00a0\u043a\u043e\u043c\u0431\u0438\u043d\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u043e\u0439 \u0440\u0430\u0431\u043e\u0442\u044b \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u043e\u0440\u0430 \u0438 \u0432\u0438\u0434\u0435\u043e\u043a\u0430\u0440\u0442\u044b).<\/p>\n<p>\u041c\u044b \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0440\u0430\u0437 \u0432\u044b\u0437\u044b\u0432\u0430\u0435\u043c \u044d\u0442\u0443 \u0444\u0443\u043d\u043a\u0446\u0438\u044e (\u0432 \u043a\u0430\u043a\u0438\u0445\u2011\u043b\u0438\u0431\u043e \u043a\u043e\u043e\u0440\u0434\u0438\u043d\u0430\u0442\u0430\u0445), \u0442\u0430\u043a\u0438\u043c \u043e\u0431\u0440\u0430\u0437\u043e\u043c \u0440\u0438\u0441\u0443\u0435\u043c\u00a0\u043b\u0438\u043d\u0438\u044e, \u043e\u0431\u043e\u0440\u0430\u0447\u0438\u0432\u0430\u0435\u043c \u044d\u0442\u043e \u0432\u00a0\u0444\u0443\u043d\u043a\u0446\u0438\u044e \u0434\u043b\u044f\u00a0\u0440\u0438\u0441\u043e\u0432\u0430\u043d\u0438\u044f\u00a0\u043b\u0438\u043d\u0438\u0439, 4\u00a0\u0440\u0430\u0437\u0430 \u0432\u044b\u0437\u044b\u0432\u0430\u0435\u043c \u044d\u0442\u0443 \u0444\u0443\u043d\u043a\u0446\u0438\u044e \u0447\u0442\u043e\u0431\u044b \u043d\u0430\u0440\u0438\u0441\u043e\u0432\u0430\u0442\u044c (\u043a \u043f\u0440\u0438\u043c\u0435\u0440\u0443) \u043a\u043d\u043e\u043f\u043a\u0443, \u043f\u043e\u0442\u043e\u043c \u043e\u0431\u043e\u0440\u0430\u0447\u0438\u0432\u0430\u0435\u043c \u044d\u0442\u043e \u0432\u00a0\u0444\u0443\u043d\u043a\u0446\u0438\u044e \u0434\u043b\u044f\u00a0\u0440\u0438\u0441\u043e\u0432\u0430\u043d\u0438\u044f \u043a\u043d\u043e\u043f\u043e\u043a \u0438 \u0443\u0436\u0435 \u0440\u0438\u0441\u0443\u0435\u043c \u0432\u00a0\u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e\u0441\u0442\u0438 \u043e\u0442\u00a0\u043f\u043e\u043b\u043e\u0436\u0435\u043d\u0438\u044f \u043a\u0443\u0440\u0441\u043e\u0440\u0430 \u0440\u0430\u0437\u043d\u044b\u043c\u0438 \u0446\u0432\u0435\u0442\u0430\u043c\u0438, \u0438 \u0442\u0434.<\/p>\n<p>\u041d\u0430\u0434\u0435\u044e\u0441\u044c, \u043b\u043e\u0433\u0438\u043a\u0430 \u043f\u043e\u043d\u044f\u0442\u043d\u0430, \u043d\u0435\u043c\u043d\u043e\u0433\u043e \u043f\u043e\u00a0\u0441\u0443\u0442\u0438:<\/p>\n<p>\u041f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u0430\u044f\u00a0\u2014 \u0443\u0441\u043b\u043e\u0432\u043d\u044b\u0439 \u00ab\u043c\u0430\u0440\u043a\u0435\u0440 \u0434\u0430\u043d\u043d\u044b\u0445\u00bb, \u043f\u043e\u0434\u0441\u0442\u0430\u043d\u043e\u0432\u043e\u0447\u043d\u043e\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435, \u043a\u043b\u044e\u0447\u0435\u0432\u043e\u0435 \u0441\u043b\u043e\u0432\u043e, \u0441\u00a0\u043a\u043e\u0442\u043e\u0440\u044b\u043c \u0447\u0442\u043e\u2011\u0442\u043e \u0430\u0441\u0441\u043e\u0446\u0438\u0438\u0440\u043e\u0432\u0430\u043d\u043e, \u0445\u0440\u0430\u043d\u0438\u043b\u0438\u0449\u0435 \u0434\u0430\u043d\u043d\u044b\u0445.<\/p>\n<p>\u041a\u043e\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u044f \u0443\u0441\u043b\u043e\u0432\u0438\u0439\u00a0\u2014 \u043a\u0430\u043a\u043e\u0435\u00a0\u043b\u0438\u0431\u043e \u043f\u0440\u0430\u0432\u0438\u043b\u043e \u0434\u043b\u044f\u00a0\u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f \u043e\u0434\u043d\u043e\u0439 \u0447\u0430\u0441\u0442\u0438 \u043a\u043e\u0434\u0430,\u00a0\u043b\u0438\u0431\u043e \u0430\u043b\u044c\u0442\u0435\u0440\u043d\u0430\u0442\u0438\u0432\u043d\u043e\u0439 (\u0441\u043e\u0441\u0442\u043e\u0438\u0442 \u0438\u0437\u00a0\u0437\u0430\u0433\u043e\u043b\u043e\u0432\u043a\u0430 \u00ab\u0443\u0441\u043b\u043e\u0432\u0438\u044f\u00bb \u0438 \u0431\u043b\u043e\u043a\u0430 \u043a\u043e\u0434\u0430, \u043c\u0435\u0436\u0434\u0443 \u043a\u043b\u044e\u0447\u0435\u0432\u044b\u043c\u0438 \u0441\u043b\u043e\u0432\u0430\u043c\u0438 begin \u0438 end \u00ab\u0442\u0435\u043b\u0430\u00bb).<\/p>\n<p>\u041a\u043e\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u044f \u0446\u0438\u043a\u043b\u0430\u00a0\u2014 \u0442\u043e\u0436\u0435 \u0443\u0441\u043b\u043e\u0432\u0438\u0435, \u043d\u043e\u00a0\u0432\u043c\u0435\u0441\u0442\u043e \u0430\u043b\u044c\u0442\u0435\u0440\u043d\u0430\u0442\u0438\u0432\u043d\u043e\u0433\u043e, \u043a\u043e\u0433\u0434\u0430 \u043f\u043e\u0432\u0442\u043e\u0440\u044f\u0435\u0442 \u043a\u043e\u0434 \u0432\u043d\u0443\u0442\u0440\u0438 \u0442\u0435\u043b\u0430 (\u043c\u0435\u0436\u0434\u0443 \u043a\u043b\u044e\u0447\u0435\u0432\u044b\u043c\u0438 \u0441\u043b\u043e\u0432\u0430\u043c\u0438 begin \u0438 en), \u0434\u043e\u00a0\u0442\u0435\u0445 \u043f\u043e\u0440, \u043f\u043e\u043a\u0430 \u0443\u0441\u043b\u043e\u0432\u0438\u0435 \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0435\u0442\u0441\u044f.<\/p>\n<p>\u0424\u0443\u043d\u043a\u0446\u0438\u044f\u00a0\u2014 \u043a\u043b\u044e\u0447\u0435\u0432\u043e\u0435 \u0441\u043b\u043e\u0432\u043e, \u043a\u043e\u0442\u043e\u0440\u043e\u0435 \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0435\u0442 \u043a\u0430\u043a\u043e\u0439\u2011\u043b\u0438\u0431\u043e \u0431\u043b\u043e\u043a \u043a\u043e\u0434\u0430, \u0438 \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u0442 \u043d\u0430\u00a0\u043c\u0435\u0441\u0442\u043e \u0441\u0432\u043e\u0435\u0433\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044f \u043a\u0430\u043a\u0438\u0435\u2011\u043b\u0438\u0431\u043e \u0434\u0430\u043d\u043d\u044b\u0435 (\u0444\u0443\u043d\u043a\u0446\u0438\u044f \u043c\u043e\u0436\u0435\u0442 \u043d\u0435\u00a0\u0442\u043e\u043b\u044c\u043a\u043e \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0442\u044c \u043a\u0430\u043a\u0438\u0435\u2011\u043b\u0438\u0431\u043e \u0434\u0430\u043d\u043d\u044b\u0435, \u043d\u043e\u00a0\u0438 \u043f\u0440\u0438\u043d\u0438\u043c\u0430\u0442\u044c \u0432\u00a0\u0441\u0435\u0431\u044f \u0434\u0430\u043d\u043d\u044b\u0435 (\u0430\u0440\u0433\u0443\u043c\u0435\u043d\u0442\u044b \u0444\u0443\u043d\u043a\u0446\u0438\u0438), \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0432\u043c\u0435\u0441\u0442\u0435 \u0441\u00a0\u0444\u0443\u043d\u043a\u0446\u0438\u0435\u0439 \u0443\u043a\u0430\u0437\u0430\u043d\u044b \u0432\u00a0\u043c\u0435\u0441\u0442\u0435 \u0432\u044b\u0437\u043e\u0432\u0430, \u0432\u00a0\u043a\u043e\u0434\u0435, \u0444\u0443\u043d\u043a\u0446\u0438\u044f \u0442\u0430\u043a\u0436\u0435 \u0441\u043e\u0441\u0442\u043e\u0438\u0442 \u0438\u0437\u00a0\u0437\u0430\u0433\u043e\u043b\u043e\u0432\u043a\u0430 \u0438 \u0442\u0435\u043b\u0430).<\/p>\n<p>\u041d\u0435\u0447\u0442\u043e \u0432\u0430\u0436\u043d\u043e\u0435, \u0447\u0442\u043e\u00a0\u043d\u0443\u0436\u043d\u043e \u0437\u043d\u0430\u0442\u044c \u044d\u0442\u043e \u00ab\u0442\u0438\u043f\u044b \u0434\u0430\u043d\u043d\u044b\u0445\u00bb \u0434\u043b\u044f\u00a0\u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0445, \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u044e\u0442 \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u043d\u044b\u0435 \u0447\u0438\u0441\u043b\u043e\u0432\u044b\u0435 \u0438 \u0441\u0442\u0440\u043e\u043a\u043e\u0432\u044b\u0435, \u043d\u043e\u00a0\u0431\u043e\u043b\u044c\u0448\u0430\u044f \u0447\u0430\u0441\u0442\u044c \u00ab\u0442\u0438\u043f\u043e\u0432 \u0434\u0430\u043d\u043d\u044b\u0445\u00bb \u044d\u0442\u043e \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u0441\u043a\u0438\u0435 \u0442\u0438\u043f\u044b \u0434\u0430\u043d\u043d\u044b\u0445, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043c\u043e\u0433\u0443\u0442 \u0441\u043e\u0441\u0442\u043e\u044f\u0442\u044c \u043a\u0430\u043a\u00a0\u0438\u0437 2\u00a0\u0447\u0438\u0441\u043b\u043e\u0432\u044b\u0445 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0445 \u0432\u00a0\u043e\u0434\u043d\u043e\u0439, \u0442\u0430\u043a \u0438 \u0438\u0437\u00a0\u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u0438\u0445 \u043e\u043a\u043e\u043d \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u044b \u0432\u00a0\u043e\u0434\u043d\u043e\u0439 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u043e\u0439 (\u0438\u043d\u0430\u0447\u0435 \u0433\u043e\u0432\u043e\u0440\u044f \u0442\u0438\u043f\u044b \u0434\u0430\u043d\u043d\u044b\u0445 \u0434\u043b\u044f\u00a0\u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0445 \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u044e\u0442 \u0441\u043e\u0437\u0434\u0430\u0432\u0430\u0442\u044c \u043b\u044e\u0431\u044b\u0435 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0435, \u0430\u00a0\u044d\u0442\u0438 \u00ab\u043b\u044e\u0431\u044b\u0435 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0435 \u043c\u043e\u0433\u0443\u0442 \u0438\u043c\u0435\u0442\u044c \u0432\u043d\u0443\u0442\u0440\u0438 \u0441\u0435\u0431\u044f, \u043a\u0430\u043a\u00a0\u043f\u0440\u043e\u0441\u0442\u043e \u0447\u0438\u0441\u043b\u043e, \u0442\u0430\u043a \u0438 \u0444\u0443\u043d\u043a\u0446\u0438\u0438, \u0446\u0438\u043a\u043b\u044b, \u0443\u0441\u043b\u043e\u0432\u0438\u044f, \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0435, \u0438 \u0434\u0440\u0443\u0433\u0438\u0435, \u043a\u043d\u043e\u043f\u043a\u0438, \u043e\u043a\u043d\u0430, \u0438 \u0442\u0434).<\/p>\n<p>\u041d\u0438\u0447\u0435\u0433\u043e \u0441\u0442\u0440\u0430\u0448\u043d\u043e\u0433\u043e \u0435\u0441\u043b\u0438 \u043d\u0435\u043f\u043e\u043d\u044f\u0442\u043d\u043e \u0440\u0430\u0437\u0431\u0435\u0440\u0435\u043c\u0441\u044f \u043d\u0430\u00a0\u0445\u043e\u0434\u0443.<\/p>\n<p>\u041f\u043e\u0441\u043b\u0435\u0434\u043d\u0435\u0435 \u0438\u0437\u00a0\u0442\u0435\u043e\u0440\u0438\u0438 \u044d\u0442\u043e GetMessage() \u0438 SendMessage(), \u0434\u0432\u0435 \u043a\u043b\u044e\u0447\u0435\u0432\u044b\u0445 \u0444\u0443\u043d\u043a\u0446\u0438\u0438, \u043d\u0430\u00a0\u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u043f\u043e\u0441\u0442\u0440\u043e\u0435\u043d\u044b \u0432\u0441\u0435 \u0433\u0440\u0430\u0444\u0438\u0447\u0435\u0441\u043a\u0438\u0435 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f, \u043f\u0435\u0440\u0432\u0430\u044f \u043f\u043e\u043b\u0443\u0447\u0430\u0435\u0442 \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u044f \u043e\u0442\u00a0\u0441\u0438\u0441\u0442\u0435\u043c\u044b, \u0432\u0442\u043e\u0440\u0430\u044f \u043e\u0442\u043f\u0440\u0430\u0432\u043b\u044f\u0435\u0442 \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u044f \u0432\u00a0\u0441\u0438\u0441\u0442\u0435\u043c\u0443.<\/p>\n<p>\u041a\u00a0\u043f\u0440\u0438\u043c\u0435\u0440\u0443: \u043f\u043e\u043b\u0443\u0447\u0430\u0435\u043c \u043e\u0442\u00a0\u0441\u0438\u0441\u0442\u0435\u043c\u044b \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u0435 \u00ab\u043a\u043e\u043e\u0440\u0434\u0438\u043d\u0430\u0442\u044b \u043c\u044b\u0448\u0438 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u044b\u00bb, \u0432\u00a0\u043a\u043e\u0434\u0435 \u0441\u043e\u0437\u0434\u0430\u0435\u043c \u0443\u0441\u043b\u043e\u0432\u0438\u0435, \u043f\u0440\u043e\u0432\u0435\u0440\u044f\u044e\u0449\u0438\u0435 \u043f\u0435\u0440\u0435\u0441\u0435\u043a\u0430\u044e\u0442\u00a0\u043b\u0438 \u043d\u043e\u0432\u044b\u0435 \u043a\u043e\u043e\u0440\u0434\u0438\u043d\u0430\u0442\u044b \u043c\u0435\u0441\u0442\u043e\u043f\u043e\u043b\u043e\u0436\u0435\u043d\u0438\u0435 \u043a\u043d\u043e\u043f\u043a\u0438, \u0438, \u0435\u0441\u043b\u0438 \u0434\u0430, \u043c\u0435\u043d\u044f\u0435\u043c \u0446\u0432\u0435\u0442 \u043a\u043d\u043e\u043f\u043a\u0438. \u041e\u0442\u043f\u0440\u0430\u0432\u043b\u044f\u0435\u043c \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u0435 \u043f\u0440\u0438\u043c\u0435\u0440\u043d\u043e \u0442\u0430\u043a\u0436\u0435 (\u0438\u0437 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u044b \u0432\u00a0\u0441\u0438\u0441\u0442\u0435\u043c\u0443), \u0438 \u0442\u0430\u043a\u043e\u0439 \u0446\u0438\u043a\u043b \u043f\u0440\u043e\u0438\u0441\u0445\u043e\u0434\u0438\u0442 \u0432\u0441\u0435 \u0432\u0440\u0435\u043c\u044f, \u043f\u043e\u043a\u0430 \u0437\u0430\u043f\u0443\u0449\u0435\u043d\u043d\u0430 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0430 (\u0441\u0438\u0441\u0442\u0435\u043c\u0430: \u043d\u0430\u0436\u0430\u0442\u0430 \u043a\u043d\u043e\u043f\u043a\u0430, \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0430: \u0438\u0437\u043c\u0435\u043d\u0435\u043d \u0440\u0430\u0437\u043c\u0435\u0440 \u043e\u043a\u043d\u0430, \u0441\u0438\u0441\u0442\u0435\u043c\u0430: \u0441\u043e\u0437\u0434\u0430\u043d \u043d\u043e\u0432\u044b\u0439 \u0444\u0430\u0439\u043b, \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0430: \u043e\u043a\u043d\u043e \u043f\u0435\u0440\u0435\u0440\u0438\u0441\u043e\u0432\u0430\u043d\u043e, \u0438 \u0442\u0434).<\/p>\n<\/div>\n<\/details>\n<p><strong>\u0410\u00a0\u0434\u043b\u044f \u0442\u0435\u0445, \u043a\u0442\u043e \u0443\u0436\u0435 \u0447\u0438\u0442\u0430\u043b \u043c\u043e\u044e \u043f\u0440\u0435\u0434\u044b\u0434\u0443\u0449\u0443\u044e \u0441\u0442\u0430\u0442\u044c\u044e \u0440\u0430\u0441\u0441\u043a\u0430\u0436\u0443 \u0432\u00a0\u0434\u0432\u0443\u0445 \u0441\u043b\u043e\u0432\u0430\u0445:<\/strong><\/p>\n<p>Object Pascal \u043f\u043e\u00a0\u0441\u0443\u0442\u0438 \u043d\u0438 \u0447\u0435\u043c \u043d\u0435\u00a0\u043e\u0442\u043b\u0438\u0447\u0430\u0435\u0442\u0441\u044f \u043e\u0442\u00a0\u0421++ (\u043a\u0440\u043e\u043c\u0435 \u0441\u0438\u043d\u0442\u0430\u043a\u0441\u0438\u0441\u0430), \u0432\u0441\u044f \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u0430 \u0438 \u043f\u043e\u0434\u0445\u043e\u0434\u044b \u0438\u0434\u0435\u043d\u0442\u0438\u0447\u043d\u044b, \u0437\u0430\u00a0\u0438\u0441\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435\u043c \u043e\u0434\u043d\u043e\u0433\u043e \u0431\u043e\u043b\u044c\u0448\u043e\u0433\u043e \u043c\u0438\u043d\u0443\u0441\u0430\u00a0\u2014 \u041e\u0441\u043e\u0431\u0435\u043d\u043d\u043e\u0441\u0442\u0438 \u043a\u043e\u043d\u0446\u0435\u043f\u0446\u0438\u0438 \u044f\u0437\u044b\u043a\u0430 \u043f\u0440\u0435\u0434\u043f\u043e\u043b\u0430\u0433\u0430\u044e\u0442 \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u0435 \u043d\u043e\u0432\u044b\u0445 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0445 \u0442\u043e\u043b\u044c\u043a\u043e \u0432\u00a0\u0437\u0430\u0433\u043e\u043b\u043e\u0432\u043a\u0430\u0445, \u043f\u0440\u0438\u00a0\u044d\u0442\u043e\u043c \u043d\u0430\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u0435 (\u0430\u0441\u0441\u043e\u0446\u0438\u0430\u0446\u0438\u044f) \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0445 \u0441\u00a0\u043a\u0430\u043a\u0438\u043c\u0438 \u0442\u043e \u0434\u0430\u043d\u043d\u044b\u043c\u0438 \u043d\u0435\u00a0\u043c\u043e\u0436\u0435\u0442 \u043f\u0440\u043e\u0438\u0441\u0445\u043e\u0434\u0438\u0442\u044c \u0432\u00a0\u043c\u043e\u043c\u0435\u043d\u0442\u0435 \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u044f \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043e\u0439 (\u0447\u0442\u043e \u0432\u00a0\u043f\u0440\u0438\u043d\u0446\u0438\u043f\u0435 \u043b\u043e\u0433\u0438\u0447\u043d\u043e, \u0442\u0430\u043a \u043a\u0430\u043a\u00a0\u043e\u043d\u0438 \u043e\u0431\u044a\u044f\u0432\u043b\u044f\u044e\u0442\u0441\u044f \u0432\u00a0\u0437\u0430\u0433\u043e\u043b\u043e\u0432\u043a\u0435, \u0430\u00a0\u043d\u0435\u00a0\u0432\u00a0\u0442\u0435\u043b\u0435, \u0433\u0434\u0435 \u043f\u0440\u043e\u0438\u0441\u0445\u043e\u0434\u0438\u0442 \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044f).<\/p>\n<p>\u042d\u0442\u043e \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u043e\u0447\u0435\u043d\u044c \u0431\u043e\u043b\u044c\u0448\u0438\u043c \u043c\u0438\u043d\u0443\u0441\u043e\u043c \u044f\u0437\u044b\u043a\u0430 (\u0432\u043e\u043e\u0431\u0449\u0435 \u0441\u0438\u043d\u0442\u0430\u043a\u0441\u0438\u0441 (\u0432 \u0446\u0435\u043b\u043e\u043c) \u043e\u0431\u044a\u0435\u043a\u0442\u043d\u043e\u0433\u043e \u043f\u0430\u0441\u043a\u0430\u043b\u044f \u043a\u0440\u0430\u0439\u043d\u0435 \u043f\u0430\u0441\u043a\u0443\u0434\u043d\u044b\u0439 \u0438 \u0448\u0430\u043a\u0430\u043b\u044c\u043d\u044b\u0439), \u0432\u00a0\u0441\u043b\u0443\u0447\u0430\u044f\u0445 \u0435\u0441\u043b\u0438 \u0443\u00a0\u0442\u0435\u0431\u044f \u0432\u00a0\u043a\u043e\u0434\u0435 \u0435\u0441\u0442\u044c \u043e\u0447\u0435\u043d\u044c \u0435\u043c\u043a\u0438\u0435 \u0444\u0443\u043d\u043a\u0446\u0438\u0438, \u0442\u0435\u0431\u0435 \u043f\u0440\u0438\u0445\u043e\u0434\u0438\u0442\u0441\u044f \u0431\u0435\u0437\u00a0\u043a\u043e\u043d\u0446\u0430 \u043f\u0440\u043e\u043a\u0440\u0443\u0447\u0438\u0432\u0430\u0442\u044c \u043c\u044b\u0448\u043a\u043e\u0439 \u0432\u0432\u0435\u0440\u0445\u2011\u0432\u043d\u0438\u0437 \u0447\u0442\u043e\u0431\u044b \u0434\u043e\u0431\u0430\u0432\u0438\u0442\u044c \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0435.<\/p>\n<p>\u0415\u0449\u0435 \u0443\u00a0\u043f\u0430\u0441\u043a\u0430\u043b\u044f \u0435\u0441\u0442\u044c \u043e\u0434\u043d\u0430 \u0443\u043d\u0438\u043a\u0430\u043b\u044c\u043d\u0430\u044f \u043f\u0440\u0438\u0447\u0443\u0434\u0430, \u044d\u0442\u043e \u043f\u0440\u043e\u0446\u0435\u0434\u0443\u0440\u044b (\u043d\u0430\u0440\u0430\u0432\u043d\u0435 \u0441\u00a0\u0444\u0443\u043d\u043a\u0446\u0438\u044f\u043c\u0438), \u0442\u0430\u043a \u043a\u0430\u043a\u00a0\u044d\u0442\u043e \u0432\u044b\u0441\u043e\u043a\u043e\u0443\u0440\u043e\u0432\u043d\u0435\u0432\u044b\u0439 \u044f\u0437\u044b\u043a \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f (\u0441\u043f\u0440\u043e\u0435\u043a\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0439 \u043f\u043e\u0434\u00a0\u043a\u043e\u043d\u0446\u0435\u043f\u0446\u0438\u044e \u043e\u043e\u043f) \u0440\u0430\u0431\u043e\u0442\u0430 \u043f\u0440\u0435\u0434\u043f\u043e\u043b\u0430\u0433\u0430\u0435\u0442\u0441\u044f \u0441\u043e \u0441\u043b\u043e\u0436\u043d\u043e \u0441\u043e\u0441\u0442\u0430\u0432\u043d\u044b\u043c\u0438 \u043e\u0431\u044a\u0435\u043a\u0442\u0430\u043c\u0438 (\u0441 \u043a\u043b\u0430\u0441\u0441\u0430\u043c\u0438), \u0438, \u0441\u043f\u0435\u0446\u0438\u0430\u043b\u044c\u043d\u043e \u0434\u043b\u044f\u00a0\u0441\u0432\u043e\u0439\u0441\u0442\u0432 \u0432\u043d\u0443\u0442\u0440\u0438 \u044d\u0442\u0438\u0445 \u043a\u043b\u0430\u0441\u0441\u043e\u0432 (\u0434\u043b\u044f \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0445 \u0432\u043d\u0443\u0442\u0440\u0438 \u043a\u043b\u0430\u0441\u0441\u0430, \u043a\u043b\u0430\u0441\u0441\u00a0\u2014 \u044d\u0442\u043e \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u0441\u043a\u0438\u0439 \u0442\u0438\u043f \u0434\u0430\u043d\u043d\u044b\u0445)\u00a0\u0431\u044b\u043b\u0438 \u0441\u043e\u0437\u0434\u0430\u043d\u044b \u043f\u0440\u043e\u0446\u0435\u0434\u0443\u0440\u044b (\u0434\u043b\u044f \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u044f \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u043c\u043e\u0433\u043e, \u043a\u043e\u0442\u043e\u0440\u043e\u0435 \u0430\u0441\u0441\u043e\u0446\u0438\u0438\u0440\u043e\u0432\u0430\u043d\u043e \u0441\u043e \u0441\u0432\u043e\u0439\u0441\u0442\u0432\u043e\u043c).<\/p>\n<p>\u041d\u0435\u00a0\u0432\u00a0\u043e\u0431\u0438\u0434\u0443 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u0430\u043c \u0441++ \u0438 \u0441 (\u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0440\u0430\u0431\u043e\u0442\u0430\u043b\u0438 \u0432\u0441\u044e \u0436\u0438\u0437\u043d\u044c \u0442\u043e\u043b\u044c\u043a\u043e \u0441\u00a0\u0421, \u0421++, \u00ab\u0441\u0438\u0431\u0440\u0430\u0437\u0438\u043d\u044b\u00bb), \u043d\u043e\u00a0\u0443\u00a0\u043f\u0430\u0441\u043a\u0430\u043b\u044f \u0435\u0441\u0442\u044c \u043c\u043d\u043e\u0436\u0435\u0441\u0442\u0432\u043e \u043d\u0435\u043e\u0441\u043f\u043e\u0440\u0438\u043c\u044b\u0445 \u043f\u043b\u044e\u0441\u043e\u0432 \u043f\u0435\u0440\u0435\u0434 \u0441++ (\u0445\u0435\u2011\u0445\u0435 \u043d\u0443 \u0432\u044b \u043f\u043e\u043d\u044f\u043b\u0438 \u0441++ \u0438 \u043f\u043b\u044e\u0441\u044b), \u043f\u0440\u043e\u0441\u0442\u043e \u043c\u0430\u043b\u043e \u043a\u0442\u043e \u043e\u00a0\u043d\u0438\u0445 \u0437\u043d\u0430\u0435\u0442 \u0432\u00a0\u043c\u0435\u0440\u0443 \u0441\u043e\u0431\u0441\u0442\u0432\u0435\u043d\u043d\u044b\u0445 \u0437\u043d\u0430\u043d\u0438\u0439.<\/p>\n<p>\u041a\u00a0\u043f\u0440\u0438\u043c\u0435\u0440\u0443, \u0431\u043e\u0433\u0430\u0442\u0430\u044f \u043f\u0430\u043b\u0438\u0442\u0440\u0430 Com \u043e\u0431\u044a\u0435\u043a\u0442\u043e\u0432 (\u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442\u043e\u0432, \u0438\u043b\u0438\u00a0\u0433\u043e\u0442\u043e\u0432\u044b\u0445 \u0448\u0430\u0431\u043b\u043e\u043d\u043e\u0432 \u0434\u043b\u044f\u00a0\u043a\u043d\u043e\u043f\u043e\u043a, \u043f\u043e\u043b\u0435\u0439 \u0432\u0432\u043e\u0434\u0430 \u0442\u0435\u043a\u0441\u0442\u0430, \u043a\u0430\u0440\u0442\u0438\u043d\u043e\u043a, \u0438 \u0442\u0434, \u043a\u0430\u0440\u043e\u0447 \u043d\u0435\u00a0\u043d\u0430\u0434\u043e \u0438\u0437\u043e\u0431\u0440\u0435\u0442\u0430\u0442\u044c \u0432\u0435\u043b\u043e\u0441\u0438\u043f\u0435\u0434\u044b).<\/p>\n<p> \u041f\u043e\u043b\u043d\u0430\u044f \u0438\u0437\u043e\u043b\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u043e\u0441\u0442\u044c \u043e\u0442\u00a0\u043d\u0438\u0437\u043a\u043e\u0443\u0440\u043e\u0432\u043d\u0435\u0432\u043e\u0433\u043e \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f, \u043d\u043e\u00a0\u0441\u00a0\u043f\u0440\u044f\u043c\u044b\u043c \u0434\u043e\u0441\u0442\u0443\u043f\u043e\u043c (\u043f\u0440\u0438 \u043f\u043e\u043c\u043e\u0449\u0438 \u044f\u0437\u044b\u043a\u0430 assembler, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043c\u043e\u0436\u043d\u043e \u0432\u0441\u0442\u0440\u0430\u0438\u0432\u0430\u0442\u044c \u043f\u0440\u044f\u043c\u043e \u0432\u00a0\u043a\u043e\u0434 \u0434\u043b\u044f\u00a0\u0440\u0430\u0431\u043e\u0442\u044b \u0441\u00a0\u043e\u0431\u044a\u0435\u043a\u0442\u0430\u043c\u0438), \u043f\u0440\u0438\u00a0\u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e\u0441\u0442\u0438.<\/p>\n<p>\u041e\u0442\u0441\u0443\u0442\u0441\u0442\u0432\u0438\u0435 \u043c\u0443\u0441\u043e\u0440\u0430 \u043e\u0431\u0440\u0430\u0442\u043d\u043e\u0439 \u0441\u043e\u0432\u043c\u0435\u0441\u0442\u0438\u043c\u043e\u0441\u0442\u0438 (\u0432 \u0441++ \u043e\u0447\u0435\u043d\u044c \u043c\u043d\u043e\u0433\u043e \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a, \u0441\u043e\u0437\u0434\u0430\u043d\u043d\u044b\u0445 \u0432\u00a0\u043a\u043e\u043d\u0446\u0435\u043f\u0446\u0438\u0438 \u00ab\u0438\u043d\u0434\u0443\u0438\u0441\u043a\u043e\u0433\u043e \u043a\u043e\u0434\u0430\u00bb, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043d\u0435\u043f\u043e\u043d\u044f\u0442\u043d\u043e \u043a\u0430\u043a\u00a0\u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442, \u0438 \u0437\u0430\u0447\u0430\u0441\u0442\u0443\u044e \u043c\u043d\u043e\u0433\u0438\u0435 \u0442\u0430\u043a\u0438\u0435 \u00ab\u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0438\u00bb \u043c\u043e\u0433\u0443\u0442 \u0432\u044b\u0437\u044b\u0432\u0430\u0442\u044c \u043e\u0448\u0438\u0431\u043a\u0438 \u043d\u0430\u00a0\u043f\u0443\u0441\u0442\u043e\u043c \u043c\u0435\u0441\u0442\u0435 \u0438\u0437\u2011\u0437\u0430 \u043a\u043e\u043d\u0444\u043b\u0438\u043a\u0442\u043e\u0432 \u0434\u0440\u0443\u0433 \u0441\u00a0\u0434\u0440\u0443\u0433\u043e\u043c, \u043a\u00a0\u043f\u0440\u0438\u043c\u0435\u0440\u0443 \u0441\u00a0\u0434\u043e\u0441\u0442\u0443\u043f\u043e\u043c \u043a\u00a0\u043f\u0430\u043c\u044f\u0442\u0438 \u0434\u043b\u044f\u00a0\u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0445).<\/p>\n<p>\u0414\u0430\u0436\u0435 \u043d\u0435\u0441\u043c\u043e\u0442\u0440\u044f \u043d\u0430\u00a0\u0442\u043e, \u0447\u0442\u043e\u00a0\u043c\u043e\u0439 \u043b\u044e\u0431\u0438\u043c\u044b\u0439 \u044f\u0437\u044b\u043a \u044d\u0442\u043e C# (\u0437\u0430 \u043f\u0440\u043e\u0441\u0442\u043e\u0442\u0443 \u0438 \u0437\u0430 \u00ab\u0435\u0441\u0442\u044c \u0432\u0441\u0435 \u0438\u0437\u00a0\u043a\u043e\u0440\u043e\u0431\u043a\u0438\u00bb), \u0431\u043e\u043b\u044c\u0448\u0435 \u0432\u0441\u0435\u0433\u043e \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c \u044f \u043d\u0430\u043f\u0438\u0441\u0430\u043b \u0438\u043c\u0435\u043d\u043d\u043e \u043d\u0430\u00a0\u043f\u0430\u0441\u043a\u0430\u043b\u0435.<\/p>\n<p><strong>\u041c\u043d\u043e\u0433\u043e \u043f\u0440\u0430\u043a\u0442\u0438\u043a\u0438.<\/strong><\/p>\n<figure class=\"float\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/158\/2e5\/6b8\/1582e56b8e11ad805e07f657fd839dca.png\" width=\"494\" height=\"428\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/158\/2e5\/6b8\/1582e56b8e11ad805e07f657fd839dca.png\"\/><\/figure>\n<p>\u0417\u0430\u043f\u0443\u0441\u043a\u0430\u0435\u043c \u0440\u0435\u0434\u0430\u043a\u0442\u043e\u0440 (\u044f \u0431\u0443\u0434\u0443 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c Lazarus, \u0432\u044b \u043c\u043e\u0436\u0435\u0442\u0435 \u043a\u0430\u043a\u043e\u0439 \u043d\u0438 \u0431\u0443\u0434\u044c \u0434\u0440\u0443\u0433\u043e\u0439, \u043e\u043d\u0438 \u0432\u0441\u0435 \u043e\u0434\u0438\u043d\u0430\u043a\u043e\u0432\u044b), \u0443\u00a0\u043d\u0430\u0441 \u00ab\u0438\u0437 \u043a\u043e\u0440\u043e\u0431\u043a\u0438\u00bb \u0441\u0440\u0430\u0437\u0443 \u0435\u0441\u0442\u044c \u0433\u043e\u0442\u043e\u0432\u0430\u044f \u0444\u043e\u0440\u043c\u0430 \u0438 \u0440\u0435\u0434\u0430\u043a\u0442\u043e\u0440 \u0434\u043b\u044f \u00ab\u043d\u0430\u0442\u044b\u043a\u0430\u043d\u044c\u044f\u00bb \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442\u043e\u0432 \u043d\u0430\u00a0\u0444\u043e\u0440\u043c\u0443 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u044b.<\/p>\n<p>\u041f\u043e\u0431\u0430\u043b\u0443\u0435\u043c\u0441\u044f, \u0437\u0430\u043f\u0443\u0441\u0442\u0438\u043c, \u0432\u0441\u0435 \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442, \u043e\u0442\u043b\u0438\u0447\u043d\u043e \u0437\u0430\u043a\u0440\u044b\u0432\u0430\u0435\u043c. \u0420\u0430\u0437\u0431\u0435\u0440\u0435\u043c \u043d\u0435\u043c\u043d\u043e\u0433\u043e \u0441\u0433\u0435\u043d\u0435\u0440\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0439 \u043a\u043e\u0434.<\/p>\n<details class=\"spoiler\">\n<summary>\u041d\u0410\u0427\u0418\u041d\u0410\u0415\u041c \u041d\u0410\u0427\u0418\u041d\u0410\u0422\u042c<\/summary>\n<div class=\"spoiler__content\">\n<pre><code class=\"delphi\">\/\/ \u043a\u043b\u044e\u0447\u0435\u0432\u043e\u0435 \u0441\u043b\u043e\u0432\u043e \u044e\u043d\u0438\u0442 \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u044f\u0435\u0442 \u043d\u0430\u0437\u0432\u0430\u043d\u0438\u0435, \/\/ \u043a\u0443\u0441\u043a\u0430 \u043a\u043e\u0434\u0430 \u0432 \u0444\u0430\u0439\u043b\u0435, \u0442\u043e \u0435\u0441\u0442\u044c \u0435\u0441\u043b\u0438 \u043c\u044b \u0433\u0434\u0435 \u0442\u043e \/\/ \u0432 \u043a\u043e\u0434\u0435 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u043c \u0441\u043b\u043e\u0432\u043e Unit1, \u043d\u0430 \u0435\u0433\u043e \u043c\u0435\u0441\u0442\u043e \/\/ \u0431\u0443\u0434\u0435\u0442 \u0432\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u043e \u0432\u0441\u0435 \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u043c\u043e\u0435 \u044d\u0442\u043e\u0433\u043e \u0444\u0430\u0439\u043b\u0430 \/\/ (\u0438\u043b\u0438 \u043d\u0435 \u0432\u0441\u0435, \u0442\u0430\u043a \u043a\u0430\u043a \u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0442\u043e\u0440 \u0432\u044b\u0440\u0435\u0436\u0435\u0442 \u0438\u0437 \/\/ \u0444\u0430\u0439\u043b\u0430 \u0442\u043e\u043b\u044c\u043a\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u043d\u044b\u0435 \u0444\u0443\u043d\u043a\u0446\u0438\u0438, \u0438 \u0432\u0441\u0442\u0430\u0432\u0438\u0442 \/\/ \u0438\u0445 unit Unit1;  \/\/ \u043d\u0430\u0434 \u044d\u0442\u0438\u043c \u043f\u043e\u043a\u0430 \u0437\u0430\u043c\u043e\u0440\u0430\u0447\u0438\u0432\u0430\u0442\u044c\u0441\u044f \u043d\u0435 \u043d\u0443\u0436\u043d\u043e, \u043c\u043e\u0436\u043d\u043e \u043f\u0440\u043e\u043f\u0443\u0441\u0442\u0438\u0442\u044c \/\/ \/\/ \u044d\u0442\u043e \u043a\u043e\u043c\u0430\u043d\u0434\u0430 \u0434\u043b\u044f \u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0442\u043e\u0440\u0430, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0435\u0442\u0441\u044f \u0432 \u043c\u043e\u043c\u0435\u043d\u0442 \/\/ \u043f\u0435\u0440\u0435\u0434 \u0433\u0435\u043d\u0435\u0440\u0430\u0446\u0438\u0435\u0439 \u0441\u043a\u043e\u043c\u043f\u0438\u043b\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u043e\u0433\u043e \u0444\u0430\u0439\u043b\u0430 \u043d\u0430\u0448\u0435\u0433\u043e \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f \/\/ \u0432 \u0434\u0430\u043d\u043d\u043e\u043c \u0441\u043b\u0443\u0447\u0430\u0435 \u043a\u043e\u043c\u0430\u043d\u0434\u0430 {$mode objfpc} \u0437\u0430\u0441\u0442\u0430\u0432\u0438\u0442 \u0440\u0435\u0434\u0430\u043a\u0442\u043e\u0440 \u043a\u043e\u0434\u0430 \/\/ \u0441\u0433\u0435\u043d\u0435\u0440\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0444\u0430\u0439\u043b \u0441 \u0433\u043e\u0442\u043e\u0432\u044b\u043c \u043a\u043e\u0434\u043e\u043c \u0432 \u0441\u0442\u0438\u043b\u0435 (\u0441\u043a\u043e\u043c\u043f\u0438\u043b\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u043c) \/\/ \u043b\u0430\u0437\u0430\u0440\u0443\u0441\u0430, \u043a\u043e\u043c\u0430\u043d\u0434\u0430 {$H+} \u0437\u0430\u0441\u0442\u0430\u0432\u0438\u0442 \u0440\u0435\u0434\u0430\u043a\u0442\u043e\u0440 \u043a\u043e\u043d\u0432\u0435\u0440\u0442\u0438\u0440\u043e\u0432\u0430\u0442\u044c \/\/ \u0432\u0441\u0435 \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u043c\u043e\u0435 \u044d\u0442\u043e\u0433\u043e \u0444\u0430\u0439\u043b\u0430 \u0432 \u043a\u043e\u0434\u0438\u0440\u043e\u0432\u043a\u0443 Ansi {$mode objfpc}{$H+}  \/\/ \u043a\u043b\u044e\u0447\u0435\u0432\u043e\u0435 \u0441\u043b\u043e\u0432\u043e \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441, \u043f\u043e\u043a\u0430 \u043d\u0435 \u043d\u0443\u0436\u043d\u043e \u0437\u0430\u0431\u0438\u0432\u0430\u0442\u044c \u0441\u0435\u0431\u0435 \u0433\u043e\u043b\u043e\u0432\u0443 \/\/ \u0438 \u043c\u043e\u0436\u043d\u043e \u043f\u0440\u043e\u043f\u0443\u0441\u0442\u0438\u0442\u044c \/\/ \/\/ \u043a\u043b\u044e\u0447\u0435\u0432\u043e\u0435 \u0441\u043b\u043e\u0432\u043e interface \u0433\u043e\u0432\u043e\u0440\u0438\u0442 \u043e \u0442\u043e\u043c \u0447\u0442\u043e \u0432\u0441\u0435 \u043e\u043f\u0438\u0441\u0430\u043d\u043d\u043e\u0435 \u043d\u0438\u0436\u0435 \/\/ (\u043d\u0430\u0448 \u0443\u0441\u043b\u043e\u0432\u043d\u044b\u0439 \u0442\u0438\u043f \u0434\u0430\u043d\u043d\u044b\u0445) \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u0448\u0430\u0431\u043b\u043e\u043d\u043e\u043c \u0434\u043b\u044f \u0442\u043e\u0433\u043e \u0447\u0442\u043e\u0431\u044b \u043d\u0430 \/\/ \u0431\u0430\u0437\u0435 \u043d\u0430\u0448\u0435\u0433\u043e \u0442\u0438\u043f\u0430 \u0434\u0430\u043d\u043d\u044b\u0445 \u0441\u043e\u0437\u0434\u0430\u0432\u0430\u0442\u044c \u0434\u0440\u0443\u0433\u0438\u0435 (\u0434\u043e\u0447\u0435\u0440\u043d\u0438\u0435) \u0442\u0438\u043f\u044b \u0434\u0430\u043d\u043d\u044b\u0445 \/\/ \/\/ \u0435\u0441\u043b\u0438 \u0432 \u0441++ \u043a\u043e\u043d\u0446\u0435\u043f\u0446\u0438\u044f \u043e\u043e\u043f \u0431\u044b\u043b\u0430 \u043f\u0440\u043e\u0441\u0442\u043e \u0443\u0441\u043b\u043e\u0432\u043d\u043e\u0441\u0442\u044c\u044e, \u0442\u043e \u0432 object \/\/ pascal \u044d\u0442\u043e \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e\u0441\u0442\u044c, \u043f\u0440\u043e\u0434\u0438\u043a\u0442\u043e\u0432\u0430\u043d\u043d\u0430\u044f \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435\u043c COM \/\/ \u043e\u0431\u044a\u0435\u043a\u0442\u043e\u0432 (\u0437\u0430\u0433\u043e\u0442\u043e\u0432\u043e\u043a \u043a\u043d\u043e\u043f\u043e\u043a, \u0442\u0435\u043a\u0441\u0442\u043e\u0432\u044b\u0445 \u043f\u043e\u043b\u0435\u0439, \u0438 \u0442\u0434), \u0432 \u0441++ \/\/ \u0432\u0441\u0435 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0435 \u0438\u043c\u0435\u044e\u0442 \u0441\u0442\u0440\u043e\u0433\u0438\u0439 \u0440\u0430\u0437\u043c\u0435\u0440 \u0438 \u0441\u0442\u0430\u0442\u0438\u0447\u043d\u044b, \u0432 \u043f\u0430\u0441\u043a\u0430\u043b\u0435 \u043d\u0435\u0442, \/\/ (\u044d\u0442\u043e \u043e\u0441\u043d\u043e\u0432\u043d\u043e\u0435 \u043e\u0442\u043b\u0438\u0447\u0438\u0435 \u043e\u0442 \u0441++), \u0442\u043e \u0435\u0441\u0442\u044c \u0442\u0443\u0442 \u043c\u043e\u0433\u0443\u0442 \u0431\u044b\u0442\u044c \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0435 \/\/ (\u0438\u043b\u0438 \u043c\u0443\u043b\u044c\u0442\u0438\u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0435), \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043d\u0430 \u0445\u043e\u0434\u0443 \u043c\u043e\u0433\u0443\u0442 \u0438\u0437\u043c\u0435\u043d\u044f\u0442\u044c \u0441\u0432\u043e\u0439 \/\/ \u043c\u0430\u043a\u0441\u0438\u043c\u0430\u043b\u044c\u043d\u044b\u0439 \u0440\u0430\u0437\u043c\u0435\u0440, \u0443\u0434\u0430\u043b\u044f\u0442\u044c \u0434\u0430\u043d\u043d\u044b\u0435, \u0438\u0437\u043c\u0435\u043d\u044f\u0442\u044c \u0434\u0430\u043d\u043d\u044b\u0435, \u0438 \u0442\u0434 \/\/ \/\/ \u043c\u0430\u043b\u043e \u043a\u0442\u043e \u043f\u043e\u043c\u043d\u0438\u0442, \u043d\u043e \u043a\u043e\u043d\u0446\u0435\u043f\u0446\u0438\u044f \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u043e\u0432 \u043f\u043e\u044f\u0432\u0438\u043b\u0430\u0441\u044c \u0432\u043c\u0435\u0441\u0442\u0435 \u0441 \/\/ \u043a\u043e\u043d\u0446\u0435\u043f\u0446\u0438\u0435\u0439 COM \u043e\u0431\u044a\u0435\u043a\u0442\u043e\u0432, \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u044b, \u043f\u043e \u0441\u0443\u0442\u0438, \u044d\u0442\u043e \u0430\u0431\u0441\u0442\u0440\u0430\u043a\u0442\u043d\u044b\u0435 \/\/ \u043a\u043b\u0430\u0441\u0441\u044b (\u0442\u0438\u043f\u044b \u0434\u0430\u043d\u043d\u044b\u0445), \u0438\u043b\u0438 \u043e\u0434\u0438\u043d \u0431\u043e\u043b\u044c\u0448\u043e\u0439 \u0448\u0430\u0431\u043b\u043e\u043d \u0434\u043b\u044f \u0437\u0430\u0433\u043e\u043b\u043e\u0432\u043a\u0430 \/\/ \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u0441\u043a\u043e\u0433\u043e \u0442\u0438\u043f\u0430 \u0434\u0430\u043d\u043d\u044b\u0445, \u043d\u0430\u0448\u0438\u043c \u0442\u0438\u043f\u0430\u043c \u0434\u0430\u043d\u043d\u044b\u0445 (\u0434\u043b\u044f \u0442\u043e\u0433\u043e \/\/ \u0447\u0442\u043e\u0431\u044b \u0431\u044b\u0442\u044c \u0441\u043e\u0432\u043c\u0435\u0441\u0442\u0438\u043c\u044b\u043c\u0438 \u0441 COM \u043e\u0431\u044a\u0435\u043a\u0442\u0430\u043c\u0438 \u0438\u0437 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a), \u043d\u0443\u0436\u043d\u043e \/\/ \u0438\u043c\u0435\u0442\u044c \u043a\u0430\u043a\u0438\u0435-\u043b\u0438\u0431\u043e \u0443\u043d\u0438\u0432\u0435\u0440\u0441\u0430\u043b\u044c\u043d\u044b\u0435 \u0441\u0432\u043e\u0439\u0441\u0442\u0432\u0430 (\u0434\u043b\u044f \u0432\u0441\u0435\u0445 \u043e\u0431\u044a\u0435\u043a\u0442\u043e\u0432, \u043a\u0430\u043a \/\/ \u0434\u043e\u0441\u0442\u0443\u043f\u043d\u044b\u0445 \"\u0438\u0437 \u043a\u043e\u0440\u043e\u0431\u043a\u0438\", \u0442\u0430\u043a \u0438 \u043d\u0430\u0448\u0438\u0445, \u043f\u043e\u0442\u043e\u043c\u0443 \u0447\u0442\u043e \u0432 \u043d\u0430\u0448\u0443 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0443 \/\/ \u043d\u0435 \u0432\u0441\u0442\u0440\u043e\u0435\u043d\u0430 \u043b\u043e\u0433\u0438\u043a\u0430 \u0434\u043b\u044f \u0440\u0430\u0431\u043e\u0442\u044b \u0441 \u0434\u0430\u043d\u043d\u044b\u043c\u0438, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0435\u0449\u0435 \u043d\u0435\u0438\u0437\u0432\u0435\u0441\u0442\u043d\u044b \/\/ \u0443\u043d\u0438\u0432\u0435\u0440\u0441\u0430\u043b\u044c\u043d\u044b\u043c \u0444\u0443\u043d\u043a\u0446\u0438\u044f\u043c, \u043d\u043e \u0444\u0443\u043d\u043a\u0446\u0438\u0438 \u0434\u043e\u043b\u0436\u043d\u044b \u0443\u043c\u0435\u0442\u044c \u0438\u0445 \u043e\u0431\u0440\u0430\u0431\u0430\u0442\u044b\u0432\u0430\u0442\u044c) \/\/ \/\/ \u043a \u043f\u0440\u0438\u043c\u0435\u0440\u0443 \u0443 \u043d\u0430\u0441 \u0435\u0441\u0442\u044c \u0444\u0443\u043d\u043a\u0446\u0438\u044f FindComponent (\u0435\u0435 \u043c\u043e\u0434\u0438\u0444\u0438\u043a\u0430\u0446\u0438\u044f, \/\/ \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u043d\u0430\u0445\u043e\u0434\u0438\u0442 \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442 \u043f\u043e \u0438\u043c\u0435\u043d\u0438 \u0442\u0438\u043f\u0430 \u0434\u0430\u043d\u043d\u044b\u0445), \u043e\u043d\u0430 \u0434\u043e\u043b\u0436\u043d\u0430 \/\/ \u043a\u0430\u043a\u0438\u043c-\u0442\u043e \u043e\u0431\u0440\u0430\u0437\u043e\u043c \u0443\u0437\u043d\u0430\u0442\u044c \u0441\u043a\u043e\u043b\u044c\u043a\u043e (\u0438 \u043a\u0430\u043a\u0438\u0445) \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442\u043e\u0432 \u043d\u0430 \u0444\u043e\u0440\u043c\u0435 \/\/ \u0432 \u0434\u0430\u043d\u043d\u044b\u0439 \u043c\u043e\u043c\u0435\u043d\u0442, \u0430 \u043f\u043e\u0442\u043e\u043c \u0435\u0449\u0435 \u0434\u043e\u0433\u0430\u0434\u0430\u0442\u044c\u0441\u044f \u043a\u0430\u043a\u0438\u043c \u0438\u043c\u0435\u043d\u0435\u043c \u043e\u0431\u043b\u0430\u0434\u0430\u0435\u0442 \/\/ \u043d\u0430\u0448 \u0442\u0438\u043f \u0434\u0430\u043d\u043d\u044b\u0445, \u0434\u043b\u044f \u044d\u0442\u043e\u0433\u043e \u0443 \u043d\u0430\u0441 \u0435\u0441\u0442\u044c \u0431\u0430\u0437\u043e\u0432\u044b\u0439 \u0442\u0438\u043f \u0434\u0430\u043d\u043d\u044b\u0445, \u043e\u0442 \/\/ \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u0430 (\u0448\u0430\u0431\u043b\u043e\u043d\u0430), \u043e\u0442 \u043a\u043e\u0442\u043e\u0440\u043e\u0433\u043e \u0432 \u0440\u043e\u043b\u0438 \u043d\u0430\u0441\u043b\u0435\u0434\u0443\u0435\u043c\u044b\u0445 (\u0432\u043c\u0435\u0441\u0442\u0435 \u0441 \/\/ \u0431\u0430\u0437\u043e\u0432\u044b\u043c\u0438 \u0441\u0432\u043e\u0439\u0441\u0442\u0432\u0430\u043c\u0438, \u0438 \u0440\u0435\u0448\u0435\u043d\u0438\u044f\u043c\u0438 \u0438\u0437 \u0448\u0430\u0431\u043b\u043e\u043d\u0430) \u0432\u044b\u0441\u0442\u0443\u043f\u0430\u044e\u0442 \u0432\u0441\u0435 \/\/ \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442\u044b (\u0432\u043a\u043b\u044e\u0447\u0430\u044f \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442\u044b \"\u0438\u0437 \u043a\u043e\u0440\u043e\u0431\u043a\u0438\" \u0438 \u043d\u0430\u0448\u0438), \u0430 \u0442\u0430\u043a \/\/ \u043a\u0430\u043a \u0448\u0430\u0431\u043b\u043e\u043d\u043e\u043c (\u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u043e\u043c) \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u043e \u043d\u0430\u043b\u0438\u0447\u0438\u0435 \u0441\u0432\u043e\u0439\u0441\u0442\u0432\u0430 name, \/\/ \u0434\u0430\u0436\u0435 \u0435\u0441\u043b\u0438 \u043e\u043d\u043e \u043d\u0435 \u043e\u043f\u0438\u0441\u0430\u043d\u043e \u0438 \u043d\u0435 \u0437\u0430\u0434\u0435\u0439\u0441\u0442\u0432\u043e\u0432\u0430\u043d\u043e (\u0438 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a \/\/ \u0434\u0430\u0436\u0435 \u043d\u0435 \u0437\u043d\u0430\u0435\u0442 \u043e \u043d\u0435\u043c), \u0431\u0430\u0437\u043e\u0432\u044b\u0439 \u0444\u0443\u043d\u043a\u0446\u0438\u043e\u043d\u0430\u043b \u0441\u0430\u043c \u0434\u0430\u0441\u0442 \u0435\u043c\u0443 \u0443\u043d\u0438\u043a\u0430\u043b\u044c\u043d\u043e\u0435 \/\/ \u0438\u043c\u044f, \u043f\u043e \u043a\u043e\u0442\u043e\u0440\u043e\u043c\u0443 \u0444\u0443\u043d\u043a\u0446\u0438\u044f FindComponentByName \u0441\u043c\u043e\u0436\u0435\u0442 \u0435\u0433\u043e \u043d\u0430\u0439\u0442\u0438, \/\/ \u0430 \u0443\u0447\u0438\u0442\u044b\u0432\u0430\u044f, \u0447\u0442\u043e \u0432\u0441\u0435 \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442\u044b \u043e\u043f\u0438\u0441\u0430\u043d\u044b \u043d\u0430 \u043e\u0431\u0449\u0435\u043c \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u0435 \/\/ \u0440\u0430\u0437\u0433\u0430\u0434\u0430\u0442\u044c \u0441\u0432\u043e\u0439\u0441\u0442\u0432\u0430 \u0438 \u043f\u043e\u0432\u0435\u0434\u0435\u043d\u0438\u0435 (\u0434\u043b\u044f \u043a\u0430\u043a\u043e\u0439-\u043d\u0438\u0431\u0443\u0434\u044c \u0444\u0443\u043d\u043a\u0446\u0438\u0438 \/\/ \u0430\u043d\u0430\u043b\u043e\u0433\u0438\u0447\u043d\u043e\u0439 FindComponent) \u043d\u0435 \u0441\u043e\u0441\u0442\u0430\u0432\u0438\u0442 \u0442\u0440\u0443\u0434\u0430 \/\/ \/\/ \u0440\u0430\u0437\u0443\u043c\u0435\u0435\u0442\u0441\u044f, \u0441 \u0442\u0430\u043a\u0438\u043c \u043f\u043e\u0434\u0445\u043e\u0434\u043e\u043c \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u0438\u0437\u043e\u043b\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u043d\u0438\u0437\u043a\u043e\u0443\u0440\u043e\u0432\u043d\u0435\u0432\u044b\u0435 \/\/ \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u044b (\u043a \u043f\u0440\u0438\u043c\u0435\u0440\u0443 \u0432\u044b\u0434\u0435\u043b\u0435\u043d\u0438\u0435 \u043f\u0430\u043c\u044f\u0442\u0438 \u043f\u043e\u0434 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0435) \u0438 \u043f\u0435\u0440\u0435\u0434\u0430\u0442\u044c \/\/ \u0432 \u0430\u0432\u0442\u043e\u043d\u043e\u043c\u043d\u044b\u0439 \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0430\u043d\u0430\u043b\u0438\u0437\u0438\u0440\u0443\u0435\u0442 \u0447\u0435\u0440\u0435\u0437 \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441 \/\/ \u043f\u043e\u0442\u0440\u0435\u0431\u043d\u043e\u0441\u0442\u0438 \u043e\u0431\u044a\u0435\u043a\u0442\u0430, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u0442\u0430\u043a\u043e\u0439 \u043f\u043e\u0434\u0445\u043e\u0434 \u043a \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044e \/\/ \u043d\u0430\u0437\u044b\u0432\u0430\u044e\u0442 \u0432\u044b\u0441\u043e\u043a\u043e\u0443\u0440\u043e\u0432\u043d\u0435\u0432\u044b\u043c (\u043d\u0438\u0447\u0435\u0433\u043e \u0441\u0442\u0440\u0430\u0448\u043d\u043e\u0433\u043e \u0435\u0441\u043b\u0438 \u043d\u0435 \u043f\u043e\u043d\u044f\u0442\u043d\u043e, \/\/ \u0441\u0442\u0430\u043d\u0435\u0442 \u043f\u043e\u043d\u044f\u0442\u043d\u043e \u043f\u043e \u0445\u043e\u0434\u0443) interface  \/\/ \u0438 \u043d\u0430\u0447\u0430\u0442\u044c \u043e\u0442\u0441\u044e\u0434\u0430 \/\/ \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0430\u0435\u043c \u0441\u0442\u043e\u0440\u043e\u043d\u043d\u0438\u0435 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0438 \u043f\u043e \u0430\u043d\u0430\u043b\u043e\u0433\u0438\u0438 \u0441 Unit (\u0432\u0432\u0435\u0440\u0445\u0443), \/\/ \u0431\u0435\u0440\u0435\u0442 \u0433\u043e\u0442\u043e\u0432\u044b\u0435 \u044e\u043d\u0438\u0442\u044b \u0438 \u0434\u043e\u0431\u0430\u0432\u043b\u044f\u0435\u0442 \u043a\u0430\u043a\u0438\u0435-\u0442\u043e \u0444\u0440\u0430\u0433\u043c\u0435\u043d\u0442\u044b \u0438\u0445 \/\/ \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u043c\u043e\u0433\u043e \u0441\u044e\u0434\u0430, \u0447\u0435\u0440\u0435\u0437 \u0437\u0430\u043f\u044f\u0442\u0443\u044e \u043f\u0435\u0440\u0435\u0447\u0438\u0441\u043b\u044f\u044e\u0442\u0441\u044f \u0432\u0441\u0435 \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0430\u0435\u043c\u044b\u0435 \/\/ \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0438 uses   Classes, SysUtils, Forms, Controls, Graphics, Dialogs, StdCtrls, Grids, Unit2;  \/\/ \u043a\u043b\u044e\u0447\u0435\u0432\u043e\u0435 \u0441\u043b\u043e\u0432\u043e, \u043f\u043e\u0441\u043b\u0435 \u043a\u043e\u0442\u043e\u0440\u043e\u0433\u043e \u0438\u0434\u0435\u0442 \u043e\u043f\u0438\u0441\u0430\u043d\u0438\u0435 \u043d\u0430\u0448\u0435\u0433\u043e \u0442\u0438\u043f\u0430 \u0434\u0430\u043d\u043d\u044b\u0445, \/\/ (\u0438\u043b\u0438 \u0437\u0430\u0433\u043e\u043b\u043e\u0432\u043a\u0430 \u043d\u0430\u0448\u0435\u0433\u043e \u0442\u0438\u043f\u0430 \u0434\u0430\u043d\u043d\u044b\u0445) \u0432 \u0434\u0430\u043d\u043d\u043e\u043c \u0441\u043b\u0443\u0447\u0430\u0435 \u0442\u0430\u043a \u043a\u0430\u043a \u043d\u0430\u0448 \/\/ \u0442\u0438\u043f \u0434\u0430\u043d\u043d\u044b\u0445 \u043c\u043e\u0436\u0435\u0442 \u0432\u044b\u0441\u0442\u0443\u043f\u0430\u0442\u044c \u0440\u043e\u0434\u0438\u0442\u0435\u043b\u0435\u043c \u0434\u043b\u044f \u0434\u0440\u0443\u0433\u0438\u0445, \u0438 \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0443\u044e\u0442 \/\/ \u043a\u043e\u043d\u0446\u0435\u043f\u0446\u0438\u0438 \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u043e\u0432, \u043c\u044b \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u044f\u0435\u043c \u043e\u0436\u0438\u0434\u0430\u0435\u043c\u043e\u0435 \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u043c\u043e\u0435 \u0432 \u043d\u0435\u043c \/\/ (\u0434\u043b\u044f \u0434\u0440\u0443\u0433\u0438\u0445 \u043a\u043b\u0430\u0441\u0441\u043e\u0432, \u0434\u043e\u0447\u0435\u0440\u043d\u0438\u0445 \u043e\u0442 \u044d\u0442\u043e\u0433\u043e) type  {  \u0441\u0438\u043c\u0432\u043e\u043b\u043e\u043c {} \u0444\u0438\u0433\u0443\u0440\u043d\u044b\u0445 \u0441\u043a\u043e\u0431\u043e\u0447\u0435\u043a \u0432 \u043f\u0430\u0441\u043a\u0430\u043b\u0435 \u043e\u0431\u043e\u0437\u043d\u0430\u0447\u0435\u043d\u044b \u043a\u043e\u043c\u043c\u0435\u043d\u0442\u0430\u0440\u0438\u0438    (\u043c\u0443\u043b\u044c\u0442\u0438\u0441\u0442\u0440\u043e\u0447\u043d\u044b\u0435) }   { TForm1 }    \/\/ \u0437\u0430\u0434\u0430\u0435\u043c \u043a\u043b\u044e\u0447\u0435\u0432\u043e\u0435 \u0441\u043b\u043e\u0432\u043e (\u043d\u0430\u0437\u0432\u0430\u043d\u0438\u0435 \u043d\u0430\u0448\u0435\u0433\u043e \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u0441\u043a\u043e\u0433\u043e   \/\/ \u0442\u0438\u043f\u0430 \u0434\u0430\u043d\u043d\u044b\u0445), \u0434\u0430\u043b\u0435\u0435 \u0441\u0438\u043c\u0432\u043e\u043b\u043e\u043c = \u0443\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u043c \u0440\u0435\u0434\u0430\u043a\u0442\u043e\u0440\u0443 \u0447\u0442\u043e \u044d\u0442\u043e \u043a\u043b\u044e\u0447\u0435\u0432\u043e\u0435   \/\/ \u0441\u043b\u043e\u0432\u043e \"\u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0443\u0435\u0442\" (\u0432 \u043f\u0430\u0441\u043a\u0430\u043b\u0435 \"=\" \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u0443\u043a\u0430\u0437\u0430\u0442\u0435\u043b\u0435\u043c \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0438\u044f)   \/\/ \u043a\u043b\u0430\u0441\u0441\u0443 (\u0438\u043b\u0438 \u0431\u043e\u043b\u0432\u0430\u043d\u043a\u0435 \u0434\u043b\u044f \u0442\u0438\u043f\u0430 \u0434\u0430\u043d\u043d\u044b\u0445,   \/\/ \u043d\u0430 \u0431\u0430\u0437\u0435 \u0443\u043d\u0438\u0432\u0435\u0440\u0441\u0430\u043b\u044c\u043d\u043e\u0433\u043e \u0442\u0438\u043f\u0430 \u0434\u0430\u043d\u043d\u044b\u0445 COM), \u043f\u043e\u0441\u043b\u0435 \u0447\u0435\u0433\u043e \u0432 ()   \/\/ \u043a\u0440\u0443\u0433\u043b\u044b\u0445 \u0441\u043a\u043e\u0431\u043a\u0430\u0445 \u0443\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u043c \u0447\u0442\u043e \u043d\u0430\u0448 \u0442\u0438\u043f \u0434\u0430\u043d\u043d\u044b\u0445 \u0434\u043e\u043b\u0436\u0435\u043d \u0431\u044b\u0442\u044c   \/\/ \u0443\u043d\u0430\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u043d \u043e\u0442 \u0448\u0430\u0431\u043b\u043e\u043d\u0430 \u0444\u043e\u0440\u043c\u044b \u043e\u043a\u043d\u0430 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u044b (\u0442\u0438\u043f \u0434\u0430\u043d\u043d\u044b\u0445 TForm),   \/\/ \u0431\u043b\u0430\u0433\u043e\u0434\u0430\u0440\u044f \u0447\u0435\u043c\u0443 \u0432 \u043d\u0430\u0448\u0435\u043c \u0442\u0438\u043f\u0435 \u0434\u0430\u043d\u043d\u044b\u0445 \"\u0438\u0437 \u043a\u043e\u0440\u043e\u0431\u043a\u0438\" \u0435\u0441\u0442\u044c \u043f\u0443\u0441\u0442\u0430\u044f \u0444\u043e\u0440\u043c\u0430   TForm1 = class(TForm)      \/\/ \u0442\u0430\u043a \u043a\u0430\u043a \u043d\u0430\u0448 \u0442\u0438\u043f \u0434\u0430\u043d\u043d\u044b\u0445 \u043d\u0435 \u043f\u0440\u043e\u0441\u0442\u043e \u0443\u043d\u0430\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u043d \u043e\u0442 \u0434\u0440\u0443\u0433\u043e\u0433\u043e \u0442\u0438\u043f\u0430     \/\/ \u0434\u0430\u043d\u043d\u044b\u0445, \u043d\u043e \u0438 \u0441\u0430\u043c \u043c\u043e\u0436\u0435\u0442 \u0431\u044b\u0442\u044c \u0442\u0438\u043f\u043e\u043c \u0434\u0430\u043d\u043d\u044b\u0445 \u043f\u0440\u0430\u0440\u043e\u0434\u0438\u0442\u0435\u043b\u0435\u043c, \u043e\u043f\u0438\u0441\u044b\u0432\u0430\u0435\u043c     \/\/ \u0432 \u0437\u0430\u0433\u043e\u043b\u043e\u0432\u043a\u0435 \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u043c\u043e\u0435, \u043a\u043e\u0442\u043e\u0440\u044b\u043c \u043c\u044b \"\u0440\u0430\u0441\u0448\u0438\u0440\u0438\u043b\u0438\" \u0442\u0438\u043f \u0434\u0430\u043d\u043d\u044b\u0445 TForm,     \/\/ \u0447\u0442\u043e\u0431\u044b \u043f\u043e\u0442\u0435\u043d\u0446\u0438\u0430\u043b\u044c\u043d\u044b\u0439 \u0434\u043e\u0447\u0435\u0440\u043d\u0438\u0439 \u0442\u0438\u043f \u0434\u0430\u043d\u043d\u044b\u0445 \u0437\u043d\u0430\u043b, \u0447\u0442\u043e \u0435\u043c\u0443 \u043d\u0443\u0436\u043d\u043e     \/\/     \/\/ \u043f\u043e \u0441\u0443\u0442\u0438, \u043c\u044b \u0442\u0443\u0442 \u043f\u0440\u043e\u0441\u0442\u043e \u0441\u043e\u0437\u0434\u0430\u0435\u043c \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0435 \u0441 \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442\u0430\u043c\u0438 (\u043f\u043e\u043b\u043d\u043e     \/\/ \u0444\u0443\u043d\u043a\u0446\u0438\u043e\u043d\u0430\u043b\u044c\u043d\u044b\u0435 \u0437\u0430\u0433\u043e\u0442\u043e\u0432\u043a\u0438, \u0441 \u043a\u043e\u0442\u043e\u0440\u044b\u043c\u0438 \u043f\u043e\u0442\u043e\u043c \u0430\u0441\u0441\u043e\u0446\u0438\u0438\u0440\u0443\u0435\u043c \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442     \/\/ \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u044f \u043d\u043e\u0432\u043e\u0433\u043e \u044d\u043a\u0437\u0435\u043c\u043f\u043b\u044f\u0440\u0430 \u043a\u0430\u043a\u043e\u0433\u043e-\u043b\u0438\u0431\u043e \u043e\u0431\u044a\u0435\u043a\u0442\u0430), \u043f\u0440\u043e\u0441\u0442\u043e     \/\/ \u044f \u043f\u043e\u043f\u0443\u0442\u043d\u043e \u043e\u0431\u044a\u044f\u0441\u043d\u044f\u044e \u0441\u0443\u0442\u044c \u043e\u043e\u043f, \u0441\u0435\u0439\u0447\u0430\u0441 \u0432\u0441\u044f \u043d\u0430\u0448\u0430 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0430 \u0441\u043e\u0441\u0442\u043e\u0438\u0442     \/\/ \u0438\u0437 \u043d\u0430\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u043d\u043d\u044b\u0445 \u0442\u0438\u043f\u043e\u0432 \u0434\u0430\u043d\u043d\u044b\u0445, \u0432 \u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u0443\u0436\u0435 \u0435\u0441\u0442\u044c \u0432\u0435\u0441\u044c \u0444\u0443\u043d\u043a\u0446\u0438\u043e\u043d\u0430\u043b     \/\/     \/\/ \u043e\u0431\u044a\u044f\u0432\u0438\u043c \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u0443\u044e \u0442\u0438\u043f\u0430 \u0437\u0430\u0433\u043e\u0442\u043e\u0432\u043a\u0430 \u0434\u043b\u044f \u043a\u043d\u043e\u043f\u043a\u0438, \u0434\u043b\u044f \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u044f      \/\/ \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u043e\u0439 \u043d\u0443\u0436\u043d\u043e \u043d\u0430\u043f\u0438\u0441\u0430\u0442\u044c \u043a\u043b\u044e\u0447\u0435\u0432\u043e\u0435 \u0441\u043b\u043e\u0432\u043e var, \u043f\u043e\u0441\u043b\u0435 \u0447\u0435\u0433\u043e \u043b\u044e\u0431\u043e\u0435      \/\/ \u0438\u043c\u044f \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u043e\u0439, \u0438 \u0432 \u043a\u043e\u043d\u0446\u0435 \u0442\u0438\u043f \u0434\u0430\u043d\u043d\u044b\u0445, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043c\u043e\u0436\u043d\u043e \u0430\u0441\u0441\u043e\u0446\u0438\u0438\u0440\u043e\u0432\u0430\u0442\u044c      \/\/ \u0441 \u044d\u0442\u043e\u0439 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u043e\u0439     Button1: TButton;      \/\/ \u043e\u0431\u044a\u044f\u0432\u0438\u043c \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u0443\u044e \u0442\u0438\u043f\u0430 \u0437\u0430\u0433\u043e\u0442\u043e\u0432\u043a\u0430 \u0434\u043b\u044f \u0432\u044b\u043f\u0430\u0434\u0430\u044e\u0449\u0435\u0433\u043e \u0441\u043f\u0438\u0441\u043a\u0430     ComboBox1: TComboBox;      \/\/ \u043e\u0431\u044a\u044f\u0432\u0438\u043c \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u0443\u044e \u0442\u0438\u043f\u0430 \u043f\u043e\u043b\u0435 \u0432\u0432\u043e\u0434\u0430 \u0442\u0435\u043a\u0441\u0442\u0430     Edit1: TEdit;      \/\/ \u043e\u0431\u044a\u044f\u0432\u0438\u043c \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u0443\u044e \u0442\u0438\u043f\u0430 \"\u0433\u043e\u0442\u043e\u0432\u044b\u0439 \u044d\u043a\u0441\u0435\u043b\u044c\"     StringGrid1: TStringGrid;      \/\/ \u043e\u0431\u044a\u044f\u0432\u0438\u043c \u0437\u0430\u0433\u043e\u043b\u043e\u0432\u043e\u043a \u043f\u0440\u043e\u0446\u0435\u0434\u0443\u0440\u044b (\u0430\u043d\u0430\u043b\u043e\u0433 \u0444\u0443\u043d\u043a\u0446\u0438\u0438, \u043f\u0440\u043e\u0441\u0442\u043e     \/\/ \u043d\u0435 \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u0442 \u043a\u0430\u043a\u043e\u0439-\u043b\u0438\u0431\u043e \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442 \u043d\u0430 \u043c\u0435\u0441\u0442\u043e \u0441\u0432\u043e\u0435\u0433\u043e     \/\/ \u0432\u044b\u0437\u043e\u0432\u0430), \u0432 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435 \u0434\u0430\u043d\u043d\u044b\u0445, \u043f\u0435\u0440\u0435\u0434\u0430\u0432\u0430\u0435\u043c\u044b\u0445 \u0432 \u0444\u0443\u043d\u043a\u0446\u0438\u044e     \/\/ \u043f\u0435\u0440\u0435\u0434\u0430\u0435\u043c \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u0443\u044e, \u043a\u043e\u0442\u043e\u0440\u0430\u044f (\u0442\u0438\u043f \u0434\u0430\u043d\u043d\u044b\u0445 TObject     \/\/ \u0443\u043d\u0438\u0432\u0435\u0440\u0441\u0430\u043b\u044c\u043d\u044b\u0439), \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u0432\u044b\u0437\u0432\u0430\u043b\u0430 \u044d\u0442\u0443 \u043f\u0440\u043e\u0446\u0435\u0434\u0443\u0440\u0443,     \/\/ \u0443\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u043c \u043f\u0441\u0435\u0432\u0434\u043e\u043d\u0438\u043c, \u043f\u043e\u0434 \u043a\u043e\u0442\u043e\u0440\u044b\u043c \u0432\u043d\u0443\u0442\u0440\u0438 \u043f\u0440\u043e\u0446\u0435\u0434\u0443\u0440\u044b     \/\/ \u044d\u0442\u0430 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u0430\u044f \u0431\u0443\u0434\u0435\u0442 \u0434\u043e\u0441\u0442\u0443\u043f\u043d\u0430 \u043a\u0430\u043a Sender, \u0441\u0430\u043c\u0443 \u043f\u0440\u043e\u0446\u0435\u0434\u0443\u0440\u0443     \/\/ \u043d\u0430\u0437\u043e\u0432\u0435\u043c FormCreate     \/\/     \/\/ \u043d\u0430 \u0441\u0430\u043c\u043e\u043c \u0434\u0435\u043b\u0435 \u044d\u0442\u043e\u0442 \u043a\u043e\u0434 \u0431\u044b\u043b \u0432\u0435\u0441\u044c \u0441\u0433\u0435\u043d\u0435\u0440\u0438\u0440\u043e\u0432\u0430\u043d \u0438 \u0434\u043e\u0431\u0430\u0432\u043b\u0435\u043d     \/\/ \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0438 (\u0447\u0443\u0434\u0435\u0441\u0430 \u0432\u044b\u0441\u043e\u043a\u043e\u0443\u0440\u043e\u0432\u043d\u0435\u0432\u043e\u0433\u043e \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f)     procedure FormCreate(Sender: TObject);      \/\/ private \u0443\u043a\u0430\u0437\u0430\u0442\u0435\u043b\u044c \u043d\u0430 \u0441\u0435\u043a\u0446\u0438\u0438 \u0434\u043e\u0441\u0442\u0443\u043f\u043d\u043e\u0441\u0442\u0438 \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u043c\u043e\u0433\u043e     \/\/ \u043d\u0430\u0448\u0435\u0433\u043e \u0442\u0438\u043f\u0430 \u0434\u0430\u043d\u043d\u044b\u0445 \u0434\u043b\u044f \u0434\u0440\u0443\u0433\u0438\u0445 \u043a\u043b\u0430\u0441\u0441\u043e\u0432, \u0432\u0441\u0435 \u043e\u043f\u0438\u0441\u0430\u043d\u043d\u043e\u0435     \/\/ \u0440\u0430\u043d\u0435\u0435 \u043d\u0430\u0445\u043e\u0434\u0438\u0442\u0441\u044f \u043f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e \u0432 \u0434\u0440\u0443\u0433\u043e\u0439 \u0441\u0435\u043a\u0446\u0438\u0438 (\u043e\u043d\u0430     \/\/ \u043d\u0430\u0437\u044b\u0432\u0430\u0435\u0442\u0441\u044f published, \u0441\u0435\u043a\u0446\u0438\u044f \u0441\u043f\u0435\u0446\u0438\u0430\u043b\u044c\u043d\u043e \u0434\u043b\u044f \u0440\u0430\u0431\u043e\u0442\u044b \u0432 \u0440\u0430\u043d     \/\/ \u0442\u0430\u0439\u043c\u0435), \u043f\u043e\u043a\u0430 \u043d\u0435 \u043d\u0430\u0434\u043e \u0437\u0430\u0433\u0440\u0443\u0436\u0430\u0442\u044c\u0441\u044f, \u043c\u043e\u0436\u043d\u043e \u043f\u0440\u043e\u043f\u0443\u0441\u0442\u0438\u0442\u044c   private      \/\/ \u043e\u0431\u0449\u0435\u0434\u043e\u0441\u0442\u0443\u043f\u043d\u0430\u044f \u0441\u0435\u043a\u0446\u0438\u044f   public      \/\/ \u043a\u043e\u043d\u0435\u0446 \u0437\u0430\u0433\u043e\u043b\u043e\u0432\u043a\u0430 \u043d\u0430\u0448\u0435\u0433\u043e \u0442\u0438\u043f\u0430 \u0434\u0430\u043d\u043d\u044b\u0445   end;    \/\/ \u043e\u0431\u044a\u044f\u0432\u043b\u044f\u0435\u043c \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u0443\u044e \u0442\u0438\u043f\u0430 \u043d\u0430\u0448 \u0442\u0438\u043f \u0434\u0430\u043d\u043d\u044b\u0445 (TForm1)   \/\/ \u043f\u043e\u0434 \u043d\u0430\u0437\u0432\u0430\u043d\u0438\u0435\u043c Form1, \u043e\u0431\u0440\u0430\u0442\u0438\u0442\u0435 \u0432\u043d\u0438\u043c\u0430\u043d\u0438\u0435 \u043d\u0430 \u0445\u0438\u0442\u0440\u043e\u0443\u043c\u043d\u044b\u0439 \u043f\u0440\u0438\u0435\u043c,   \/\/ \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u0435 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u043e\u0439 Form1 \u043f\u0440\u043e\u0438\u0441\u0445\u043e\u0434\u0438\u0442 \u0432\u043d\u0435 \u0437\u0430\u0433\u043e\u043b\u043e\u0432\u043a\u0430, \u0438\u043b\u0438   \/\/ \u0442\u0435\u043b\u0430 \u043d\u0430\u0448\u0435\u0433\u043e \u0442\u0438\u043f\u0430 \u0434\u0430\u043d\u043d\u044b\u0445, \u0442\u043e \u0435\u0441\u0442\u044c \u0444\u0430\u0439\u043b \u0441\u0430\u043c \u043f\u043e \u0441\u0435\u0431\u0435 \u043f\u043e   \/\/ \u043c\u0438\u043c\u043e \u0442\u043e\u0433\u043e, \u0447\u0442\u043e \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u0438\u0441\u0442\u043e\u0447\u043d\u0438\u043a\u043e\u043c \u0448\u0430\u0431\u043b\u043e\u043d\u0430 \u0434\u043b\u044f \u0441\u0435\u0431\u044f, \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u044f\u0435\u0442   \/\/ \u0441\u0432\u043e\u0435 \u0441\u043e\u0431\u0441\u0442\u0432\u0435\u043d\u043d\u043e\u0435 \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u0435 var   Form1: TForm1;    \/\/ \u043a\u043b\u044e\u0447\u0435\u0432\u043e\u0435 \u0441\u043b\u043e\u0432\u043e implementation \u0433\u043e\u0432\u043e\u0440\u0438\u0442 \u0440\u0435\u0434\u0430\u043a\u0442\u043e\u0440\u0443   \/\/ \u0447\u0442\u043e \u0432\u0441\u0435 \u0434\u0430\u043b\u044c\u0448\u0435 \u0431\u0443\u0434\u0435\u0442 \"\u0442\u0435\u043b\u043e\u043c\" \u043d\u0430\u0448\u0435\u0433\u043e \u0442\u0438\u043f\u0430 \u0434\u0430\u043d\u043d\u044b\u0445,   \/\/ \u0438\u043b\u0438 \u043b\u043e\u0433\u0438\u043a\u043e\u0439 \u0440\u0430\u0431\u043e\u0442\u044b \u043d\u0430\u0448\u0435\u0433\u043e \u0442\u0438\u043f\u0430 \u0434\u0430\u043d\u043d\u044b\u0445 (\u0432\u0441\u0435 \u044d\u0442\u043e   \/\/ \u0442\u0430\u043a\u0436\u0435 \u0431\u0443\u0434\u0435\u0442 \u0432\u043a\u043b\u044e\u0447\u0435\u043d\u043e \u0432 \u0441\u043e\u0441\u0442\u0430\u0432 \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u0430 TForm1,   \/\/ \u043d\u0430 \u0431\u0430\u0437\u0435 \u043a\u043e\u0442\u043e\u0440\u043e\u0433\u043e \u0442\u0430\u043a\u0436\u0435 \u043e\u043f\u0438\u0441\u0430\u043d \u043a\u043b\u0430\u0441\u0441 (\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u0441\u043a\u0438\u0439   \/\/ \u0442\u0438\u043f \u0434\u0430\u043d\u043d\u044b\u0445) TForm1 implementation  \/\/ \u043a\u043e\u043c\u0430\u043d\u0434\u0430 \u0434\u043b\u044f \u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0442\u043e\u0440\u0430, $R, \u0435\u0441\u043b\u0438 \u0437\u0430\u0434\u0430\u043d\u043e \u043a\u0430\u043a\u043e\u0435 \u043b\u0438\u0431\u043e \/\/ \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u043f\u043e\u0441\u043b\u0435 \u043a\u043e\u043c\u0430\u043d\u0434\u044b $R, \u0440\u0435\u0434\u0430\u043a\u0442\u043e\u0440 \u043a\u043e\u0434\u0430 \u043f\u043e\u043f\u0440\u043e\u0431\u0443\u0435\u0442 \/\/ \u043d\u0430\u0439\u0442\u0438 \u0432 \u043e\u0434\u043d\u043e\u0439 \u043f\u0430\u043f\u043a\u0435 \u0441 \u043d\u0430\u0448\u0438\u043c \u0438\u0441\u0445\u043e\u0434\u0438\u043c \u0444\u0430\u0439\u043b\u043e\u043c, \u0444\u0430\u0439\u043b \/\/ \u0440\u0435\u0441\u0443\u0440\u0441\u043e\u0432 \u0441 \u0443\u043a\u0430\u0437\u0430\u043d\u043d\u044b\u043c \u0438\u043c\u0435\u043d\u0435\u043c, \u0442\u0430\u043a \u043a\u0430\u043a \u0432 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u0435 \/\/ \u043a\u043e\u043c\u0430\u043d\u0434\u044b \u0443\u043a\u0430\u0437\u0430\u043d\u043e *.lfm, \u044d\u0442\u043e \u043f\u043e\u0434\u0440\u0430\u0437\u0443\u043c\u0435\u0432\u0430\u0435\u0442 \u043d\u0430\u0439\u0442\u0438 \u0438 \/\/ \u0434\u043e\u0431\u0430\u0432\u0438\u0442\u044c \u043d\u0430 \u043c\u0435\u0441\u0442\u043e \u044d\u0442\u043e\u0439 \u043a\u043e\u043c\u0430\u043d\u0434\u044b \u0432\u0441\u0435 \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u043c\u043e\u0435 \u0432\u0441\u0435\u0445 \/\/ \u0444\u0430\u0439\u043b\u043e\u0432 \u0432 \u043f\u0430\u043f\u043a\u0435 \u0441 \u044e\u043d\u0438\u0442\u043e\u043c, \u0432 \u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u0442\u0438\u043f \u0444\u0430\u0439\u043b\u0430 \u0443\u043a\u0430\u0437\u0430\u043d .lfm, \/\/ \u0432 \u044d\u0442\u043e\u043c \u0444\u0430\u0439\u043b\u0435 \u0441\u043e\u0434\u0435\u0440\u0436\u0430\u0442\u0441\u044f \u043a\u043e\u043e\u0440\u0434\u0438\u043d\u0430\u0442\u044b \u043e\u0431\u044a\u0435\u043a\u0442\u043e\u0432, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u044f \/\/ \u043d\u0430\u043a\u0438\u0434\u0430\u043b \u043d\u0430 \u0444\u043e\u0440\u043c\u0443, \u0438 \u0434\u0440\u0443\u0433\u0438\u0435 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u044b {$R *.lfm}  \/\/ \u043e\u043f\u044f\u0442\u044c \u043a\u043e\u043c\u043c\u0435\u043d\u0442\u0430\u0440\u0438\u0439 { TForm1 }  \/\/ \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044f \u043f\u0440\u043e\u0446\u0435\u0434\u0443\u0440\u044b FormCreate (\u043c\u044b \u0440\u0430\u043d\u0435\u0435 \u043e\u043f\u0438\u0441\u044b\u0432\u0430\u043b\u0438 \/\/ \u0435\u0435 \u0432 \u0437\u0430\u0433\u043e\u043b\u043e\u0432\u043a\u0435, \u0441\u0435\u0439\u0447\u0430\u0441 \u043c\u044b \u0435\u0435 \u0440\u0435\u0430\u043b\u0438\u0437\u0443\u0435\u043c), \u0442\u0430\u043a \u043a\u0430\u043a \/\/ \u043f\u0440\u043e\u0446\u0435\u0434\u0443\u0440\u0430 (\u0447\u0438\u0442\u0430\u0439 \u0444\u0443\u043d\u043a\u0446\u0438\u044f) FormCreate \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u0447\u0430\u0441\u0442\u044c\u044e \/\/ \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u0430 TForm1, \u043c\u044b \u0443\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u043c \u0438\u043c\u044f \u0444\u0443\u043d\u043a\u0446\u0438\u0438 (\u043f\u0440\u043e\u0446\u0435\u0434\u0443\u0440\u044b) \/\/ \u0447\u0435\u0440\u0435\u0437 \".\" - \u0443\u043d\u0438\u0432\u0435\u0440\u0441\u0430\u043b\u044c\u043d\u043e\u0435 \u043e\u0431\u0440\u0430\u0449\u0435\u043d\u0438\u0435 \u043a \u0441\u0432\u043e\u0439\u0441\u0442\u0432\u0430\u043c (\u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u043c), \/\/ \u0438 \u043c\u0435\u0442\u043e\u0434\u0430\u043c (\u0444\u0443\u043d\u043a\u0446\u0438\u044f\u043c) \u043a\u043b\u0430\u0441\u0441\u0430 (\u043d\u0430\u0448\u0435\u0433\u043e \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u0441\u043a\u043e\u0433\u043e \/\/ \u0442\u0438\u043f\u0430 \u0434\u0430\u043d\u043d\u044b\u0445) procedure TForm1.FormCreate(Sender: TObject);  \/\/ \u043a\u043b\u044e\u0447\u0435\u0432\u044b\u0435 \u0441\u043b\u043e\u0432\u0430 begin \u0438 end \u0444\u043e\u0440\u043c\u0438\u0440\u0443\u044e\u0442 \u0441\u043e\u0431\u043e\u0439 \"\u0431\u043b\u043e\u0447\u043e\u043a\" \u043a\u043e\u0434\u0430, \/\/ \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0434\u043e\u043b\u0436\u0435\u043d \u043f\u0440\u0438\u043d\u0430\u0434\u043b\u0435\u0436\u0430\u0442\u044c \u043a \u043a\u0430\u043a\u043e\u0439-\u043b\u0438\u0431\u043e \u043a\u043e\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u0438, \/\/ \u0442\u043e \u0435\u0441\u0442\u044c \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u044b\u0439 \u0444\u0440\u0430\u0433\u043c\u0435\u043d\u0442 \u043a\u043e\u0434\u0430 \u0434\u043b\u044f \u043f\u043e\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u043d\u043e\u0433\u043e \/\/ \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f begin    \/\/ \u0432\u043d\u0443\u0442\u0440\u0438 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 \u044f \u043f\u0440\u043e\u0441\u0442\u043e \u043e\u0431\u0440\u0430\u0449\u0430\u044e\u0441\u044c \u043a \u0441\u0432\u043e\u0439\u0441\u0442\u0432\u0443 (\u043c\u0443\u043b\u044c\u0442\u0438\u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u043e\u0439   \/\/ Cells, \u043e\u043d\u0430 \u0436\u0435 \"\u043c\u0430\u0441\u0441\u0438\u0432\"), \u0438 \u043c\u0435\u043d\u044f\u044e \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u0437\u0430\u043f\u0438\u0441\u0435\u0439, \u0442\u0430\u043a \u043a\u0430\u043a   \/\/ Cells \u044d\u0442\u043e \u0441\u0432\u043e\u0439\u0441\u0442\u0432\u043e \u043e\u0431\u044a\u0435\u043a\u0442\u0430 StringGrid1 (\u0435\u0433\u043e \u043c\u044b \u0442\u0430\u043a\u0436\u0435 \u043e\u0431\u044a\u044f\u0432\u0438\u043b\u0438   \/\/ \u0432 \u0437\u0430\u0433\u043e\u043b\u043e\u0432\u043a\u0435 \u043d\u0430\u0448\u0435\u0433\u043e \u0442\u0438\u043f\u0430 \u0434\u0430\u043d\u043d\u044b\u0445), \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0435\u043d\u043d\u043e \u0434\u0430\u043d\u043d\u044b\u043c\u0438   \/\/ \u043c\u0430\u043d\u0438\u043f\u0443\u043b\u044f\u0446\u0438\u044f\u043c\u0438 \u044f \u043f\u0440\u043e\u0441\u0442\u043e \u0430\u0441\u0441\u043e\u0446\u0438\u0438\u0440\u0443\u044e \u043a\u0430\u043a\u043e\u0439-\u043b\u0438\u0431\u043e \u0442\u0435\u043a\u0441\u0442 \u0441 \u043a\u043e\u043d\u043a\u0440\u0435\u0442\u043d\u043e\u0439   \/\/ \u0437\u0430\u043f\u0438\u0441\u044c\u044e \u043c\u0443\u043b\u044c\u0442\u0438\u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u043e\u0439, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u043e\u0442\u0432\u0435\u0447\u0430\u0435\u0442 \u0437\u0430 \u043e\u0442\u0440\u0438\u0441\u043e\u0432\u043a\u0443 \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u043c\u043e\u0433\u043e   \/\/ \u043a\u043e\u043d\u043a\u0440\u0435\u0442\u043d\u043e\u0439 \u044f\u0447\u0435\u0439\u043a\u0438, \u0438\u0441\u0445\u043e\u0434\u044f \u0438\u0437 \u0435\u0435 \u043f\u043e\u0440\u044f\u0434\u043a\u043e\u0432\u043e\u0433\u043e \u043d\u043e\u043c\u0435\u0440\u0430 \u0432 \u043c\u0443\u043b\u044c\u0442\u0438\u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u043e\u0439   \/\/ (\u0434\u0432\u043e\u0439\u043d\u043e\u0439 \u043c\u0443\u043b\u044c\u0442\u0438\u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u043e\u0439, \u0438\u043b\u0438 \u0436\u0435 \u043c\u0430\u0442\u0440\u0438\u0446\u0435, \u044d\u0442\u043e \u043a\u043e\u0433\u0434\u0430 \u043a\u0430\u0436\u0434\u0430\u044f \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u0430\u044f,   \/\/ \u0432\u043d\u0443\u0442\u0440\u0438 \u043c\u0443\u043b\u044c\u0442\u0438\u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u043e\u0439 Cells \u0441\u0430\u043c\u0430 \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u043c\u0443\u043b\u044c\u0442\u0438\u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u043e\u0439)   StringGrid1.Cells[0,0]:='\u0431';     StringGrid1.Cells[1,0]:='\u044b';   StringGrid1.Cells[2,0]:='\u0434';   StringGrid1.Cells[3,0]:='\u043b';   StringGrid1.Cells[4,0]:='\u043e';   StringGrid1.Cells[5,0]:='\u043a';   StringGrid1.Cells[6,0]:='\u043e';   StringGrid1.Cells[7,0]:='\u0434';   StringGrid1.Cells[8,0]:='\u0435';   StringGrid1.Cells[9,0]:='\u0420\u0420\u0420';    \/\/ \u043a\u043e\u043d\u0435\u0446 \u043d\u0430\u0448\u0435\u0439 \u043f\u0440\u043e\u0446\u0435\u0434\u0440\u0443\u044b end;  \/\/ \u043a\u043e\u043d\u0435\u0446 \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438 \u043d\u0430\u0448\u0435\u0433\u043e \u0442\u0438\u043f\u0430 \u0434\u0430\u043d\u043d\u044b\u0445, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043d\u0430\u0447\u0430\u043b\u0441\u044f \/\/ \u043f\u043e\u0441\u043b\u0435 \u043a\u043b\u044e\u0447\u0435\u0432\u043e\u0433\u043e \u0441\u043b\u043e\u0432\u0430 implementation end. <\/code><\/pre>\n<\/p>\n<\/div>\n<\/details>\n<figure class=\"float full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/990\/0ac\/3a0\/9900ac3a07c1a26a6bb7afd8037a208a.png\" width=\"600\" height=\"447\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/990\/0ac\/3a0\/9900ac3a07c1a26a6bb7afd8037a208a.png\"\/><\/figure>\n<p>\u041d\u0430\u0434\u0435\u044e\u0441\u044c, \u0441\u0442\u0430\u043b\u043e \u0445\u043e\u0442\u044c \u043d\u0435\u043c\u043d\u043e\u0433\u043e \u043f\u043e\u043d\u044f\u0442\u043d\u043e (\u043d\u0435\u0441\u043c\u043e\u0442\u0440\u044f \u043d\u0430 \u0442\u043e \u0447\u0442\u043e \u0441\u0442\u0440\u043e\u043a \u043e\u0447\u0435\u043d\u044c \u043c\u0430\u043b\u043e, \u043a\u043e\u0434 \u043e\u0447\u0435\u043d\u044c \u0441\u043b\u043e\u0436\u043d\u044b\u0439). \u0422\u0430\u043a \u043a\u0430\u043a \u043c\u044b \u0438\u0441\u0442\u0438\u043d\u043d\u044b\u0435 &#171;\u0434\u0435\u043b\u0444\u0438 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0441\u0442\u044b&#187; (\u043f\u0430\u0441\u043a\u0430\u043b\u044c), \u043e\u0442\u043a\u0440\u043e\u0435\u043c \u043c\u0435\u043d\u044e \u043f\u0440\u043e\u0435\u043a\u0442\u0430, \u0438 \u043e\u0442\u0442\u0443\u0434\u0430 \u0438\u0441\u0445\u043e\u0434\u043d\u044b\u0439 \u0444\u0430\u0439\u043b \u043f\u0440\u043e\u0435\u043a\u0442\u0430. \u042d\u0442\u043e\u0442 \u0444\u0430\u0439\u043b \u0442\u0430\u043a\u0436\u0435 \u043d\u0430\u0437\u044b\u0432\u0430\u044e\u0442 \u0444\u0430\u0439\u043b\u043e\u043c \u043d\u0430\u0447\u0430\u043b\u044c\u043d\u043e\u0439 \u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0438, \u0438\u043b\u0438 \u0431\u0443\u0442\u0441\u0442\u0440\u0430\u043f, \u043e\u043d \u0436\u0435 \u0441\u0430\u043c\u043e \u0437\u0430\u0433\u0440\u0443\u0437\u043e\u0447\u043d\u044b\u0439 \u0444\u0430\u0439\u043b, \u0444\u0430\u0439\u043b \u0438\u043d\u0438\u0446\u0438\u0430\u0446\u0438\u0438, \u0438 \u0442\u0434. <\/p>\n<p>\u0420\u0430\u0441\u0441\u043c\u043e\u0442\u0440\u0438\u043c \u0435\u0433\u043e:<\/p>\n<details class=\"spoiler\">\n<summary>\u0414\u041e\u0411\u0410\u0412\u0418\u041c \u041a\u0423\u0421\u041e\u041a \u0412 \u041f\u0420\u041e\u0413\u0420\u0410\u041c\u041c\u0423<\/summary>\n<div class=\"spoiler__content\">\n<pre><code class=\"delphi\">\/\/ \u043d\u0430\u0448\u0430 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0430 (\u0435\u0435 \"\u0437\u0430\u0433\u043e\u043b\u043e\u0432\u043e\u0447\u043d\u044b\u0439\" \/\/ \u0431\u043b\u043e\u043a \u043a\u043e\u0434\u0430) program project1;  \/\/ \u0432\u044b\u0431\u0438\u0440\u0430\u0435\u043c \u0440\u0435\u0436\u0438\u043c \u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0446\u0438\u0438 \u044d\u0442\u043e\u0433\u043e \u0444\u0430\u0439\u043b\u0430 {$mode objfpc}{$H+}  \/\/ \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0430\u0435\u043c \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0438 uses   \/\/ \u0443\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u043c \u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0442\u043e\u0440\u0443 \u0443\u0441\u043b\u043e\u0432\u0438\u0435,   \/\/ \u0432 \u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e\u0441\u0442\u0438 \u043e\u0442 \u043a\u043e\u0442\u043e\u0440\u043e\u0433\u043e \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0430\u0435\u043c   \/\/ \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0438 \u0434\u043b\u044f \u0440\u0430\u0431\u043e\u0442\u044b \u0441 \u043c\u0443\u043b\u044c\u0442\u0438\u043f\u043e\u0442\u043e\u0447\u043d\u043e\u0441\u0442\u044c\u044e   {$IFDEF UNIX}   cthreads,   {$ENDIF}   {$IFDEF HASAMIGA}   athreads,   {$ENDIF}    \/\/ \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0430\u0435\u043c \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0438   Interfaces, \/\/ this includes the LCL widgetset   Forms, Unit1   { you can add units after this }     ,Classes, SysUtils, Controls, Graphics, Dialogs, StdCtrls, Grids;  \/\/ \u043f\u043e\u0434\u0433\u0440\u0443\u0436\u0430\u0435\u043c \u043d\u0430 \u043c\u0435\u0441\u0442\u043e \u043a\u043e\u043c\u0430\u043d\u0434\u044b \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u043c\u043e\u0435 \u0432\u0441\u0435\u0445 \u0444\u0430\u0439\u043b\u043e\u0432 \/\/ \u0441 \u0440\u0430\u0441\u0448\u0438\u0440\u0435\u043d\u0438\u0435\u043c *.res {$R *.res}  \/\/ \u0431\u043b\u043e\u0447\u043e\u043a \u043a\u043e\u0434\u0430 \u0442\u0435\u043b\u0430 \u043d\u0430\u0448\u0435\u0439 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u044b begin    \/\/ \u0432 \u0433\u043b\u043e\u0431\u0430\u043b\u044c\u043d\u0443\u044e \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u0443\u044e \u043d\u0430\u0448\u0435\u0439 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u044b, \u043a\u043e\u0442\u043e\u0440\u0430\u044f   \/\/ \u043e\u0442\u0432\u0435\u0447\u0430\u0435\u0442 \u0437\u0430 \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0443 \u0440\u0435\u0441\u0443\u0440\u0441\u043e\u0432, \u043f\u0435\u0440\u0435\u0434 \u0437\u0430\u0433\u0440\u0443\u0437\u043a\u043e\u0439 \u0432   \/\/ \u0444\u043e\u0440\u043c\u044b \u043f\u043e\u043c\u0435\u0449\u0430\u0435\u043c false, \u0447\u0442\u043e\u0431\u044b \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0430 \u043d\u0435 \u0432\u044b\u0434\u0430\u0432\u0430\u043b\u0430   \/\/ \u0444\u0430\u0442\u0430\u043b\u044c\u043d\u044b\u0445 \u043e\u0448\u0438\u0431\u043e\u043a, \u0438 \u043f\u0440\u043e\u0441\u0442\u043e \u043e\u0442\u043e\u0431\u0440\u0430\u0437\u0438\u043b\u0430 \u043f\u0443\u0441\u0442\u0443\u044e \u0444\u043e\u0440\u043c\u0443,   \/\/ \u043e\u043f\u0435\u0440\u0430\u0442\u043e\u0440 \u043f\u0440\u0438\u0441\u0432\u043e\u0435\u043d\u0438\u044f (\u0430\u0441\u0441\u043e\u0446\u0438\u0430\u0446\u0438\u0438 \u0434\u0430\u043d\u043d\u044b\u0445, \u0441 \u043a\u0430\u043a\u0438\u043c \u0442\u043e   \/\/ \u043a\u043b\u044e\u0447\u0435\u0432\u044b\u043c \u0441\u043b\u043e\u0432\u043e\u043c) \u044d\u0442\u043e \":=\", \u0438\u043b\u0438 \u043c\u0430\u0442\u0435\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u0439 \u0430\u043d\u0430\u043b\u043e\u0433   \/\/ \u043f\u0440\u0438\u0441\u0432\u043e\u0435\u043d\u0438\u044f   RequireDerivedFormResource:=True;    \/\/ \u0432 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u0443\u044e, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u043e\u0442\u0432\u0435\u0447\u0430\u0435\u0442 \u0437\u0430 \u043c\u0430\u0441\u0448\u0442\u0430\u0431\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435   \/\/ \u043e\u043a\u043e\u043d \u043d\u0430\u0448\u0435\u0439 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u044b \u043f\u043e\u043c\u0435\u0449\u0430\u0435\u043c true (\u0438\u043d\u0430\u0447\u0435 \u0433\u043e\u0432\u043e\u0440\u044f   \/\/ \u0432\u043a\u043b\u044e\u0447\u0430\u0435\u043c \u043c\u0430\u0441\u0448\u0442\u0430\u0431\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435, \u0443 \u043e\u0431\u044a\u0435\u043a\u0442\u0430 Application)   Application.Scaled:=True;    \/\/ \u0432\u044b\u0437\u044b\u0432\u0430\u0435\u043c \u0444\u0443\u043d\u043a\u0446\u0438\u044e, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u0432\u044b\u043f\u043e\u043b\u043d\u0438\u0442 \u043d\u043e\u0440\u043c\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044e,   \/\/ \u0438 \u0440\u0435\u0433\u0438\u0441\u0442\u0440\u0430\u0446\u0438\u044e \u043d\u0430\u0448\u0435\u0439 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u044b \u0432 \u0441\u0438\u0441\u0442\u0435\u043c\u0435   Application.Initialize;    \/\/ \u0432\u044b\u0437\u044b\u0432\u0430\u0435\u043c \u0444\u0443\u043d\u043a\u0446\u0438\u044e, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u0441\u043e\u0437\u0434\u0430\u0435\u0442 \u043d\u043e\u0432\u043e\u0435 \u043e\u043a\u043d\u043e \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u044b,   \/\/ \u0432 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u043e\u0432 (\u0430\u0440\u0433\u0443\u043c\u0435\u043d\u0442\u043e\u0432 \u0444\u0443\u043d\u043a\u0446\u0438\u0438, \u0438\u043b\u0438 \u0432 \u043d\u0430\u0448\u0435\u043c   \/\/ \u0441\u043b\u0443\u0447\u0430\u0435 \u043f\u0440\u043e\u0446\u0435\u0434\u0443\u0440\u044b), \u043f\u0435\u0440\u0435\u0434\u0430\u0435\u043c \u0442\u0438\u043f \u0434\u0430\u043d\u043d\u044b\u0445, \u043a\u043e\u0442\u043e\u0440\u044b\u043c\u0438 \u043d\u0443\u0436\u043d\u043e   \/\/ \u043f\u043e\u043f\u0440\u043e\u0431\u043e\u0432\u0430\u0442\u044c \u0441\u043e\u0437\u0434\u0430\u0442\u044c \u043e\u043a\u043d\u043e \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u044b, \u0438 \u0438\u043c\u044f \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u043e\u0439,   \/\/ \u0441 \u043a\u043e\u0442\u043e\u0440\u043e\u0439 \u043d\u0443\u0436\u043d\u043e \u0430\u0441\u0441\u043e\u0446\u0438\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442 \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u044f   \/\/ \u043d\u043e\u0432\u043e\u0433\u043e \u044d\u043a\u0437\u0435\u043c\u043f\u043b\u044f\u0440\u0430 \u043e\u043a\u043d\u0430 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u044b, \u0442\u0438\u043f\u043e\u043c \u0434\u0430\u043d\u043d\u044b\u0445 \u043f\u0435\u0440\u0435\u0434\u0430\u0435\u043c   \/\/ TForm1, \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u043e\u0439 Form1   Application.CreateForm(TForm1, Form1);    \/\/ \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u0435\u043c \u0431\u0435\u0441\u043a\u043e\u043d\u0435\u0447\u043d\u044b\u0439 \u0446\u0438\u043a\u043b \u043e\u0442\u043b\u043e\u0432\u0430 \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u0439   \/\/ \u043e\u0442 \u0441\u0438\u0441\u0442\u0435\u043c\u044b, \u0438 \u043f\u0435\u0440\u0435\u0434\u0430\u0447\u0438 \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u0439 \u0432 \u0441\u0438\u0441\u0442\u0435\u043c\u0443   Application.Run;  end. <\/code><\/pre>\n<\/p>\n<\/div>\n<\/details>\n<p>\u0412\u043e\u043e\u0431\u0449\u0435 \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u0435\u0442 \u0445\u043e\u0440\u043e\u0448\u0438\u0439 \u0441\u043f\u043e\u0441\u043e\u0431 \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0438\u0442\u044c \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0441\u0442\u0430, \u0434\u0435\u043b\u043e \u0432\u00a0\u0442\u043e\u043c, \u0447\u0442\u043e\u00a0\u043f\u043e\u0434\u00a0\u043f\u043e\u043d\u044f\u0442\u0438\u0435\u043c \u0431\u0443\u0442\u0441\u0442\u0440\u0430\u043f\u0430 \u0438\u0437\u043d\u0430\u0447\u0430\u043b\u044c\u043d\u043e \u043f\u043e\u043d\u0438\u043c\u0430\u043b\u0441\u044f \u043f\u043e\u0434\u0445\u043e\u0434 \u043a\u00a0\u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0435 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c, \u0433\u0434\u0435 \u043e\u0441\u043d\u043e\u0432\u043d\u043e\u0439 \u0444\u0430\u0439\u043b \u0441\u043e\u0434\u0435\u0440\u0436\u0430\u043b \u043c\u0438\u043d\u0438\u043c\u0443\u043c \u043a\u043e\u0434\u0430, \u0438 \u043f\u0440\u043e\u0441\u0442\u043e \u0441\u043b\u0443\u0436\u0438\u043b \u0442\u0440\u0438\u0433\u0433\u0435\u0440\u043e\u043c \u0434\u043b\u044f\u00a0\u0437\u0430\u043f\u0443\u0441\u043a\u0430 \u0432\u0441\u0435\u0445 \u0440\u0435\u0448\u0435\u043d\u0438\u0439 (\u0445\u0440\u0430\u043d\u0438\u043b \u0444\u0443\u043d\u043a\u0446\u0438\u044e main, winmain, initapplication, \u0438 \u0442\u0434), \u043a\u043e\u0442\u043e\u0440\u044b\u0435\u00a0\u0431\u044b\u043b\u0438 \u043e\u043f\u0438\u0441\u0430\u043d\u044b \u0432\u00a0\u0434\u0440\u0443\u0433\u0438\u0445 \u0444\u0430\u0439\u043b\u0430\u0445. \u0412\u00a0\u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e\u0441\u0442\u0438 \u043e\u0442\u00a0\u043e\u0442\u0432\u0435\u0442\u0430 \u0441\u043e\u0431\u0435\u0441\u0435\u0434\u043d\u0438\u043a\u0430 \u043c\u043e\u0436\u043d\u043e \u0441\u0434\u0435\u043b\u0430\u0442\u044c \u0432\u044b\u0432\u043e\u0434\u044b, \u0442\u0430\u043a \u043a\u0430\u043a\u00a0\u0438\u043c\u0435\u043d\u043d\u043e \u0441\u00a0\u043f\u0440\u0438\u0445\u043e\u0434\u043e\u043c \u0434\u0435\u043b\u0444\u0438 \u043f\u043e\u044f\u0432\u0438\u043b\u043e\u0441\u044c \u043f\u0435\u0440\u0432\u043e\u0435 \u043f\u043e\u043d\u044f\u0442\u0438\u0435 \u00ab\u0431\u044b\u0434\u043b\u0430\u043a\u043e\u0434\u0435\u0440\u00bb, \u0438 \u0442\u0430\u043a\u0438\u0435 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0441\u0442\u044b (\u043d\u0430 \u0441\u0430\u043c\u043e\u043c \u0434\u0435\u043b\u0435 \u043d\u0435\u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e \u043e\u0442\u00a0\u044f\u0437\u044b\u043a\u0430) \u043b\u0435\u0433\u043a\u043e \u0441\u0435\u0431\u044f \u0432\u044b\u044f\u0432\u043b\u044f\u043b\u0438. \u0412\u0440\u043e\u0447\u0435\u043c \u044f \u043e\u0442\u0445\u043e\u0436\u0443 \u043e\u0442\u00a0\u0442\u0435\u043c\u044b, \u0435\u0441\u043b\u0438 \u0441\u0435\u0439\u0447\u0430\u0441 \u0432\u0441\u0435 \u0435\u0449\u0435 \u043d\u0438\u0447\u0435\u0433\u043e \u043d\u0435\u043f\u043e\u043d\u044f\u0442\u043d\u043e, \u044d\u0442\u043e \u043d\u0435\u00a0\u043f\u0440\u043e\u0431\u043b\u0435\u043c\u0430, \u043f\u0435\u0440\u0435\u0439\u0434\u0435\u043c \u043a\u00a0\u043a\u043e\u0434\u0443, \u0434\u043e\u0431\u0430\u0432\u0438\u043c \u044d\u0442\u043e\u0442 \u043a\u043e\u0434 \u043c\u0435\u0436\u0434\u0443 <strong>Application.CreateForm(TForm1, Form1);<\/strong> \u0438 <strong>Application.Run;<\/strong><\/p>\n<pre><code class=\"delphi\">\/\/ \u043a\u043e\u043c\u0430\u043d\u0434\u0443, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u043e\u0442\u0432\u0435\u0447\u0430\u0435\u0442 \u0437\u0430 \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u0435 \u0438 \u043f\u043e\u043a\u0430\u0437 \u0433\u043e\u0442\u043e\u0432\u043e\u0433\u043e \/\/ \u0434\u0438\u0430\u043b\u043e\u0433\u043e\u0432\u043e\u0433\u043e \u043e\u043a\u043d\u0430 \u0441 \u0442\u0435\u043a\u0441\u0442\u043e\u043c \u0438 \u043a\u043d\u043e\u043f\u043a\u043e\u0439 ok, \u0434\u043b\u044f \u0442\u043e\u0433\u043e \u0447\u0442\u043e\u0431\u044b \/\/ \u0442\u0435\u043a\u0441\u0442 \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u044f \u0432\u043e\u0441\u043f\u0440\u0438\u043d\u0438\u043c\u0430\u043b\u0441\u044f \u0440\u0435\u0434\u0430\u043a\u0442\u043e\u0440\u043e\u043c \u043a\u0430\u043a \"\u0442\u0435\u043a\u0441\u0442\", \/\/ \u0430 \u043d\u0435 \u043a\u0430\u043a \u043a\u043e\u043c\u0430\u043d\u0434\u0430, \u0438\u043b\u0438 \u043a\u043b\u044e\u0447\u0435\u0432\u043e\u0435 \u0441\u043b\u043e\u0432\u043e, \u0431\u0435\u0440\u0435\u043c \u0435\u0433\u043e \u0432  \/\/ \u043e\u0434\u0438\u043d\u043e\u0447\u043d\u044b\u0435 \u043a\u0430\u0432\u044b\u0447\u043a\u0438 ShowMessage('ololo');  <\/code><\/pre>\n<p>\u0422\u0435\u043f\u0435\u0440\u044c \u0434\u0430\u0432\u0430\u0439\u0442\u0435 \u043f\u043e\u043f\u0440\u043e\u0431\u0443\u0435\u043c \u0441\u043e\u0437\u0434\u0430\u0442\u044c \u043a\u043d\u043e\u043f\u043a\u0443 (\u0430 \u0437\u0430 \u043e\u0434\u043d\u043e \u0443\u0434\u0430\u043b\u0438\u0442\u044c \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442\u044b, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0443\u0436\u0435 \u0435\u0441\u0442\u044c \u043d\u0430 \u0444\u043e\u0440\u043c\u0435), \u0434\u043b\u044f \u043d\u0430\u0447\u0430\u043b\u0430 \u043f\u0435\u0440\u0435\u043c\u0435\u0441\u0442\u0438\u043c\u0441\u044f \u0432 \u0441\u0435\u043a\u0446\u0438\u044e \u0434\u043e \u043d\u0430\u0447\u0430\u043b\u0430 \u0442\u0435\u043b\u0430 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u044b, \u0441\u043e\u0437\u0434\u0430\u0434\u0438\u043c \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u0443\u044e:<\/p>\n<pre><code class=\"delphi\">\/\/ \u043e\u0431\u044a\u044f\u0432\u0438\u043c \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u0443\u044e \u0442\u0438\u043f\u0430 \u0437\u0430\u0433\u043e\u0442\u043e\u0432\u043a\u0430 \u043a\u043d\u043e\u043f\u043a\u0438 var MyBTN: TButton;  <\/code><\/pre>\n<p>\u041f\u043e\u0441\u043b\u0435 \u0447\u0435\u0433\u043e \u0432 \u0442\u0435\u043b\u0435 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u044b \u043d\u0430\u043f\u0438\u0448\u0435\u043c \u044d\u0442\u043e:<\/p>\n<pre><code class=\"delphi\">  \/\/ \u0441 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u043e\u0439 \u0442\u0438\u043f\u0430 \u0437\u0430\u0433\u043e\u0442\u043e\u0432\u043a\u0430 \u043a\u043d\u043e\u043f\u043a\u0438 \u0430\u0441\u0441\u043e\u0446\u0438\u0438\u0440\u0443\u0435\u043c   \/\/ \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442 \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f \u0444\u0443\u043d\u043a\u0446\u0438\u0438 Create, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u0441\u043e\u0437\u0434\u0430\u0441\u0442   \/\/ \u043d\u043e\u0432\u044b\u0439 \u044d\u043a\u0437\u0435\u043c\u043f\u043b\u044f\u0440 \u043e\u0431\u044a\u0435\u043a\u0442\u0430 \u043a\u043d\u043e\u043f\u043a\u0430, \u0432 \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0438\u0438 \u0441 \u0448\u0430\u0431\u043b\u043e\u043d\u043e\u043c   MyBTN:= TButton.Create(Form1);    \/\/ \u043f\u043e\u043c\u0435\u0441\u0442\u0438\u043c \u0441\u043e\u0437\u0434\u0430\u043d\u043d\u0443\u044e \u043a\u043d\u043e\u043f\u043a\u0443 \u043d\u0430 Form1, \u0447\u0435\u0440\u0435\u0437 \u0443\u043a\u0430\u0437\u0430\u043d\u0438\u0435 \u0432 \u0441\u0432\u043e\u0439\u0441\u0442\u0432\u0435 \u043d\u0430\u0448\u0435\u0439   \/\/ \u043a\u043d\u043e\u043f\u043a\u0438 Parent, \u0438\u043c\u0435\u043d\u0438 \u043e\u0431\u044a\u0435\u043a\u0442\u0430, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0434\u043e\u043b\u0436\u0435\u043d \u0432\u043b\u0430\u0434\u0435\u0442\u044c \u044d\u0442\u043e\u0439 \u043a\u043d\u043e\u043f\u043a\u043e\u0439,   MyBTN.Parent:=Form1;    \/\/ \u043e\u0431\u0440\u0430\u0442\u0438\u043c\u0441\u044f \u043a \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u043e\u0439 Caption, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f   \/\/ \u0443\u043d\u0430\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u043d\u043d\u044b\u043c (\u043e\u0442 \u0448\u0430\u0431\u043b\u043e\u043d\u0430 \u0442\u0438\u043f\u0430 \u0434\u0430\u043d\u043d\u044b\u0445 TButton)   \/\/ \u0441\u0432\u043e\u0439\u0441\u0442\u0432\u043e\u043c \u043e\u0431\u044a\u0435\u043a\u0442\u0430, \u0441 \u043a\u043e\u0442\u043e\u0440\u044b\u043c \u0430\u0441\u0441\u043e\u0446\u0438\u0438\u0440\u043e\u0432\u0430\u043d\u0430 \u043d\u0430\u0434\u043f\u0438\u0441\u044c   \/\/ \u043d\u0430 \u043a\u043d\u043e\u043f\u043a\u0435, \u0438 \u0430\u0441\u0441\u043e\u0446\u0438\u0438\u0440\u0443\u0435\u043c \u0441 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u043e\u0439 Caption \u0442\u0435\u043a\u0441\u0442,   \/\/ \u043f\u043e\u0441\u043b\u0435 \u0447\u0435\u0433\u043e \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u0430\u044f \u0437\u0430\u043f\u0443\u0441\u0442\u0438\u0442 \u0444\u0443\u043d\u043a\u0446\u0438\u044e (\u0443\u043d\u0430\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u043d\u043d\u0443\u044e   \/\/ \u043e\u0442 \u0448\u0430\u0431\u043b\u043e\u043d\u0430 \u0442\u0438\u043f\u0430 \u0434\u0430\u043d\u043d\u044b\u0445 TButton), \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u0438\u0437\u043c\u0435\u043d\u0438\u0442 \u043d\u0430\u0434\u043f\u0438\u0441\u044c   \/\/ \u043d\u0430 \u043a\u043d\u043e\u043f\u043a\u0435   MyBTN.Caption:='\u0410\u0410\u0410 \u041a\u041d\u041e\u041f\u041a\u0410\u0410\u0410\u0410\u0410';  <\/code><\/pre>\n<p>\u0417\u0430\u043f\u0443\u0441\u0442\u0438\u043c \u0438 \u0443\u0432\u0438\u0434\u0438\u043c \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u0435, \u0434\u0430\u043b\u0435\u0435 \u0436\u043c\u0435\u043c \u043e\u043a \u0438 \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u0435\u0442\u0441\u044f \u0444\u043e\u0440\u043c\u0430:<\/p>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/47d\/99b\/07c\/47d99b07c6f0c90a9e4f4a89c115a5b2.png\" width=\"713\" height=\"527\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/47d\/99b\/07c\/47d99b07c6f0c90a9e4f4a89c115a5b2.png\"\/><\/figure>\n<p>\u0422\u0435\u043f\u0435\u0440\u044c \u043d\u0430 \u0444\u043e\u0440\u043c\u0443 \u043c\u043e\u0436\u043d\u043e \u043d\u0430\u043a\u0438\u0434\u0430\u0442\u044c \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u043a\u043d\u043e\u043f\u043e\u043a \u0438 \u043f\u043e\u043b\u0435\u0439 \u0432\u0432\u043e\u0434\u0430, \u0434\u043e\u043f\u043e\u043b\u043d\u0438\u043c \u043d\u0430\u0448 \u043a\u043e\u0434, \u043e\u0431\u044a\u044f\u0432\u0438\u043c \u043f\u0430\u0440\u0443 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0445 \u043f\u043e\u0441\u043b\u0435 \u043a\u043d\u043e\u043f\u043a\u0438:<\/p>\n<pre><code class=\"delphi\">iA, iB:integer;  <\/code><\/pre>\n<p>\u0410 \u0442\u0435\u043b\u043e \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u044b \u0434\u043e\u043f\u043e\u043b\u043d\u0438\u043c \u043a\u043e\u0434\u043e\u043c (\u043c\u0435\u0436\u0434\u0443 <strong>Application.CreateForm(TForm1, Form1);<\/strong> \u0438 <strong>Application.Run;<\/strong>)<\/p>\n<details class=\"spoiler\">\n<summary>\u0414\u041e\u0411\u0410\u0412\u0418\u041c \u041a\u041e\u0414 \u0423\u0414\u0410\u041b\u0415\u041d\u0418\u042f \u041a\u041e\u041c\u041f\u041e\u041d\u0415\u041d\u0422\u041e\u0412 \u0412 \u0420\u0423\u041d\u0422\u0410\u0419\u041c\u0415<\/summary>\n<div class=\"spoiler__content\">\n<pre><code class=\"delphi\">  \/\/ \u0441\u043e\u0437\u0434\u0430\u0434\u0438\u043c \u0443\u0441\u043b\u043e\u0432\u0438\u0435, \u0435\u0441\u043b\u0438 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u0430\u044f ComponentCount,   \/\/ \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u0431\u044b\u043b\u0430 \u043d\u0430\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u043d\u0430 \u043e\u0442 \u0442\u0438\u043f\u0430 \u0434\u0430\u043d\u043d\u044b\u0445 TForm   \/\/ \u0438 \u043f\u0440\u0438 \u0437\u0430\u043f\u0440\u043e\u0441\u0435 \u043a\u043e\u0442\u043e\u0440\u043e\u0439 \u0441\u0440\u0430\u0431\u0430\u0442\u044b\u0432\u0430\u0435\u0442 \u0444\u0443\u043d\u043a\u0446\u0438\u044f   \/\/ \u0434\u043b\u044f \u043f\u043e\u0438\u0441\u043a\u0430 \u0438 \u043f\u043e\u0434\u0441\u0447\u0435\u0442\u0430 \u0432\u0441\u0435\u0445 \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442\u043e\u0432 \u043d\u0430 \u0444\u043e\u0440\u043c\u0435,   \/\/ \u0432\u0435\u0440\u043d\u0443\u043b\u0430 \u043d\u0430 \u043c\u0435\u0441\u0442\u043e \u0441\u0432\u043e\u0435\u0433\u043e \u0432\u044b\u0437\u043e\u0432\u0430 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u0431\u043e\u043b\u044c\u0448\u0435\u0435   \/\/ \u0447\u0435\u043c 0, \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0435\u043c \u043a\u043e\u0434 \u0443\u0441\u043b\u043e\u0432\u0438\u044f (\u0432\u043d\u0443\u0442\u0440\u0438 \u0443\u0441\u043b\u043e\u0432\u0438\u044f,   \/\/ \u0442\u043e \u0435\u0441\u0442\u044c \u043c\u0435\u0436\u0434\u0443 begin \u0438 end), \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u0430\u044f ComponentCount   \/\/ \u044d\u0442\u043e \u0442\u0430\u043a \u043d\u0430\u0437\u044b\u0432\u0430\u0435\u043c\u043e\u0435 \"\u0441\u0432\u043e\u0439\u0441\u0442\u0432\u043e \u043a\u043b\u0430\u0441\u0441\u0430\", \u0438\u043b\u0438 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u0430\u044f,   \/\/ \u043a\u043e\u0442\u043e\u0440\u043e\u0439 \u043d\u0430\u0437\u043d\u0430\u0447\u0435\u043d\u044b \u0434\u0432\u0435 \u0444\u0443\u043d\u043a\u0446\u0438\u0438, \u043f\u0435\u0440\u0432\u0430\u044f \u0447\u0442\u043e\u0431\u044b \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c   \/\/ \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u0432 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u0443\u044e, \u0432\u0442\u043e\u0440\u0430\u044f \u0447\u0442\u043e\u0431\u044b \u0438\u0437\u043c\u0435\u043d\u0438\u0442\u044c \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435   \/\/ \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u043e\u0439 (Get \u0438 Set \u0444\u0443\u043d\u043a\u0446\u0438\u0438, \u043d\u043e \u0432 \u043f\u0430\u0441\u043a\u0430\u043b\u0435 \u0434\u043b\u044f Set \u043f\u0440\u043e\u0446\u0435\u0434\u0443\u0440\u0430)   if Form1.ComponentCount > 0 then   begin      \/\/ \u043f\u043e\u043a\u0430\u0437\u044b\u0432\u0430\u044e \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u0435, \u043a \u043a\u043e\u0442\u043e\u0440\u043e\u043c\u0443 \u0434\u043e\u0431\u0430\u0432\u043b\u044f\u044e \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e     \/\/ \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442\u043e\u0432 \u043d\u0430 \u0444\u043e\u0440\u043c\u0435, \u0438\u0437 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u043e\u0439 ComponentCount,     \/\/ \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u0435\u0441\u0442\u044c \u0443 \u043c\u043e\u0435\u0439 \u0444\u043e\u0440\u043c\u044b \u0438\u0437 \u043d\u0430\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u043d\u043d\u043e\u0433\u043e \u0442\u0438\u043f\u0430 \u0434\u0430\u043d\u043d\u044b\u0445     \/\/ TForm, \u0438 \u0432 \u043a\u043e\u0442\u043e\u0440\u0443\u044e \u043f\u0440\u0438 \u043f\u043e\u043c\u043e\u0449\u0438 \u0441\u043f\u0435\u0446\u0438\u0430\u043b\u044c\u043d\u043e\u0439 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 \u043f\u043e\u043f\u0430\u0434\u0430\u0435\u0442     \/\/ \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442\u043e\u0432 \u043d\u0430 \u0444\u043e\u0440\u043c\u0435 (\u043f\u0440\u0438 \u043f\u043e\u043c\u043e\u0449\u0438 \u043c\u0435\u0442\u043e\u0434\u0430 Get,     \/\/ \u0443 \u0441\u0432\u043e\u0439\u0441\u0442\u0432\u0430 ComponentCount, \u0435\u0441\u043b\u0438 \u043d\u0430\u0437\u0432\u0430\u0442\u044c \u044d\u0442\u043e \u0438\u043d\u0430\u0447\u0435)     ShowMessage('\u0421\u043b\u0438\u0448\u043a\u043e\u043c \u043c\u043d\u043e\u0433\u043e \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442\u043e\u0432, \u043d\u0430\u0434\u043e \u0443\u0434\u0430\u043b\u0438\u0442\u044c '+IntToStr(Form1.ComponentCount));      \/\/ \u043f\u0435\u0440\u0435\u043c\u0435\u0441\u0442\u0438\u043c\u0441\u044f \u0432 \u0441\u0435\u043a\u0446\u0438\u044e begin \u0438 end \u043d\u0430\u0447\u0430\u043b\u0430 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u044b,     \/\/ \u0438 \u043e\u0431\u044a\u044f\u0432\u0438\u043c \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u0443\u044e \u0441\u0447\u0435\u0442\u0447\u0438\u043a, \u0430 \u0441 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u043e\u0439 \u0430\u0441\u0441\u043e\u0446\u0438\u0438\u0440\u0443\u0435\u043c     \/\/ \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442 \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f (\u0432\u0441\u0442\u0440\u043e\u0435\u043d\u043d\u043e\u0439 \u0432 \u0442\u0438\u043f \u0434\u0430\u043d\u043d\u044b\u0445 TForm)     \/\/ \u0444\u0443\u043d\u043a\u0446\u0438\u0438 \u0434\u043b\u044f \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u0438\u044f \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u0430 \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442\u043e\u0432 \u043d\u0430 \u0444\u043e\u0440\u043c\u0435,     \/\/ \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u043e\u0442\u043f\u0440\u0430\u0432\u043b\u044f\u0435\u0442 \u0434\u0430\u043d\u043d\u044b\u0435 \u0432 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u0443\u044e ComponentCount,     \/\/ \u043f\u0440\u0438 \u043b\u044e\u0431\u043e\u0439 \u043f\u043e\u043f\u044b\u0442\u043a\u0435 \u0437\u0430\u043f\u0440\u043e\u0441\u0438\u0442\u044c \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u0443 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u043e\u0439 ComponentCount,     \/\/ \u0442\u0430\u043a \u043a\u0430\u043a \u0432 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0438 \u0432\u0441\u0435 \u043e\u0442\u0441\u0447\u0435\u0442\u044b \u043d\u0430\u0447\u0438\u043d\u0430\u044e\u0442\u0441\u044f \u0441 0,     \/\/ \u0438\u0437 \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u0430 \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442\u043e\u0432 \u0432\u044b\u0447\u0438\u0442\u0430\u044e 1 (\u0442\u043e \u0435\u0441\u0442\u044c 0 \u044d\u0442\u043e \u043d\u0435 \u043d\u0438\u0447\u0435\u0433\u043e,     \/\/ 0 - \u044d\u0442\u043e \u043f\u0435\u0440\u0432\u044b\u0439 \u044d\u043b\u0435\u043c\u0435\u043d\u0442 \u0441\u043f\u0438\u0441\u043a\u0430, \u0430 ComponentCount \u0432\u0435\u0440\u043d\u0435\u0442     \/\/ \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e, \u0441\u0447\u0438\u0442\u0430\u044f \u0441 1)     iA:=Form1.ComponentCount - 1;      \/\/ \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u0435\u043c \u0446\u0438\u043a\u043b \u0441 \u0443\u0441\u043b\u043e\u0432\u0438\u0435\u043c, \u043f\u043e\u0432\u0442\u043e\u0440\u044f\u0442\u044c \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0435 \u0432\u043d\u0443\u0442\u0440\u0438     \/\/ \u0446\u0438\u043a\u043b\u0430, \u0434\u043e \u0442\u0435\u0445 \u043f\u043e\u0440 \u043f\u043e\u043a\u0430 \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u043c\u043e\u0435 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u043e\u0439 iA \u0431\u043e\u043b\u044c\u0448\u0435,     \/\/ \u0438\u043b\u0438 \u0440\u0430\u0432\u043d\u043e 0, \u0446\u0438\u043a\u043b \u043f\u043e\u0445\u043e\u0436 \u043f\u043e \u043a\u043e\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u0438 \u043d\u0430 \u0443\u0441\u043b\u043e\u0432\u0438\u0435, \u0442\u043e\u043b\u044c\u043a\u043e     \/\/ \u043f\u043e\u0432\u0442\u043e\u0440\u044f\u0435\u0442 \u043a\u043e\u0434 \u0432\u043d\u0443\u0442\u0440\u0438 \u0441\u0432\u043e\u0435\u0433\u043e \u0431\u043b\u043e\u0447\u043a\u0430 \u0441 \u043a\u043e\u0434\u043e\u043c (\u043c\u0435\u0436\u0434\u0443 begin \u0438 end)     while iA >= 0 do     begin        \/\/ \u0437\u0430\u0434\u0430\u044e \u0443\u0441\u043b\u043e\u0432\u0438\u0435, \u0435\u0441\u043b\u0438 \u043d\u0430\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u043d\u043d\u043e\u0435 \u043e\u0442 \u0442\u0438\u043f\u0430 \u0434\u0430\u043d\u043d\u044b\u0445 TForm       \/\/ \u0441\u0432\u043e\u0439\u0441\u0442\u0432\u043e \u043a\u043b\u0430\u0441\u0441\u0430 ClassName \u0432\u0435\u0440\u043d\u0443\u043b\u043e \u043d\u0430 \u043c\u0435\u0441\u0442\u043e \u0441\u0432\u043e\u0435\u0433\u043e \u0432\u044b\u0437\u043e\u0432\u0430       \/\/ \u043a\u043b\u044e\u0447\u0435\u0432\u043e\u0435 \u0441\u043b\u043e\u0432\u043e, \u043a\u043e\u0442\u043e\u0440\u043e\u0435 \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0443\u0435\u0442 \u0437\u0430\u0434\u0430\u043d\u043d\u043e\u043c\u0443 \u043c\u043d\u043e\u0439       \/\/ \u043a\u043b\u044e\u0447\u0435\u0432\u043e\u043c\u0443 \u0441\u043b\u043e\u0432\u0443 (TEdit), \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u044e \u043a\u043e\u0434 \u0432\u043d\u0443\u0442\u0440\u0438 \u0431\u043b\u043e\u0447\u043a\u0430 \u0443\u0441\u043b\u043e\u0432\u0438\u044f       if Form1.Components[iA].ClassName = 'TEdit' then       begin          \/\/ \u0442\u0430\u043a \u043a\u0430\u043a \u0443\u0434\u0430\u043b\u0438\u0442\u044c \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442 \u044f \u043d\u0435 \u043c\u043e\u0433\u0443 (\u043e\u043d \u043d\u0430\u0445\u043e\u0434\u0438\u0442\u0441\u044f         \/\/ \u0432 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u0435 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044f \u0444\u043e\u0440\u043c\u043e\u0439, \u0442\u0430\u043a \u043a\u0430\u043a \u0432\u0441\u044f \u043a\u043e\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u044f         \/\/ \u043d\u0430\u0448\u0435\u0433\u043e \u043a\u043e\u0434\u0430 \u043d\u0430\u0445\u043e\u0434\u0438\u0442\u0441\u044f \u043c\u0435\u0436\u0434\u0443 \u043a\u043e\u043c\u0430\u043d\u0434\u0430\u043c\u0438 CreateForm \u0438 Run),         \/\/ \u044f \u043e\u0442\u043f\u0440\u0430\u0432\u043b\u044f\u044e \u0441\u0432\u043e\u0439\u0441\u0442\u0432\u0443 Visible, \u0443 \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442\u0430, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u044f         \/\/ \u0438\u043d\u0442\u0435\u0440\u043f\u0440\u0435\u0442\u0438\u0440\u0443\u044e (\u0447\u0435\u0440\u0435\u0437 TEdit()) \u043a\u0430\u043a \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442 TEdit,         \/\/ \u043a\u043e\u0442\u043e\u0440\u044b\u043c \u043e\u043d \u0438 \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f, \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 false, \u0433\u0434\u0435 \u0443\u0436\u0435 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u0430\u044f         \/\/ Visible (\u0441\u0432\u043e\u0439\u0441\u0442\u0432\u043e \u043a\u043b\u0430\u0441\u0441\u0430, \u0438\u043d\u0430\u0447\u0435 \u0433\u043e\u0432\u043e\u0440\u044f) \u0432\u044b\u0437\u043e\u0432\u0435\u0442 \u0444\u0443\u043d\u043a\u0446\u0438\u044e Set,         \/\/ \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u0441\u0434\u0435\u043b\u0430\u0435\u0442 \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442 \u043d\u0435\u0432\u0438\u0434\u0438\u043c\u044b\u043c         TEdit(Form1.Components[iA]).Visible:=false;          \/\/ \u0432\u044b\u0432\u043e\u0436\u0443 \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u0435 \u0441 \u0438\u043c\u0435\u043d\u0435\u043c \u043e\u0431\u044a\u0435\u043a\u0442\u0430         ShowMessage(Form1.Components[iA].Name + ' \u0443\u0434\u0430\u043b\u0435\u043d\u043e');       end;        \/\/ \u0430\u043d\u0430\u043b\u043e\u0433\u0438\u0447\u043d\u043e \u0434\u043b\u044f \u0432\u0441\u0435\u0445 \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442\u043e\u0432 \u043d\u0430 \u0444\u043e\u0440\u043c\u0435 \u0441 \u0438\u043c\u0435\u043d\u0435\u043c \u043a\u043b\u0430\u0441\u0441\u0430       \/\/ TButton       if Form1.Components[iA].ClassName = 'TButton' then       begin         TButton(Form1.Components[iA]).Visible:=false;         ShowMessage(Form1.Components[iA].Name + ' \u0443\u0434\u0430\u043b\u0435\u043d\u043e');       end;        \/\/ TStringGrid       if Form1.Components[iA].ClassName = 'TStringGrid' then       begin         TStringGrid(Form1.Components[iA]).Visible:=false;         ShowMessage(Form1.Components[iA].Name + ' \u0443\u0434\u0430\u043b\u0435\u043d\u043e');       end;        \/\/ \u0438 TComboBox       if Form1.Components[iA].ClassName = 'TComboBox' then       begin         TComboBox(Form1.Components[iA]).Visible:=false;         ShowMessage(Form1.Components[iA].Name + ' \u0443\u0434\u0430\u043b\u0435\u043d\u043e');       end;        \/\/ \u0442\u0430\u043a\u0436\u0435 \u0435\u0441\u0442\u044c \u0443\u043d\u0438\u0432\u0435\u0440\u0441\u0430\u043b\u044c\u043d\u044b\u0439 \u043c\u0435\u0442\u043e\u0434 \u0434\u043b\u044f COM \u043e\u0431\u044a\u0435\u043a\u0442\u043e\u0432       \/\/ Form1.Components[iA].Destroying;        iA:= iA - 1;     end;   end;   <\/code><\/pre>\n<\/p>\n<\/div>\n<\/details>\n<p>\u041c\u0430\u043b\u043e \u043a\u0442\u043e \u0437\u043d\u0430\u0435\u0442, \u043d\u043e\u00a0\u043a\u043e\u043d\u0446\u0435\u043f\u0446\u0438\u044f \u043e\u043e\u043f\u00a0\u0431\u044b\u043b\u0430 \u0441\u043e\u0437\u0434\u0430\u043d\u0430 \u043d\u0435\u00a0\u0442\u043e\u043b\u044c\u043a\u043e \u0434\u043b\u044f\u00a0\u0440\u0435\u0448\u0435\u043d\u0438\u044f \u00ab\u043a\u0440\u0438\u0437\u0438\u0441\u0430 \u043d\u0430\u0438\u043c\u0435\u043d\u043e\u0432\u0430\u043d\u0438\u0439\u00bb, \u0432\u00a0\u043f\u0435\u0440\u0432\u0443\u044e \u043e\u0447\u0435\u0440\u0435\u0434\u044c \u043e\u043d\u0430 \u043f\u0440\u0438\u0437\u0432\u0430\u043d\u0430 \u043e\u0431\u0435\u0441\u043f\u0435\u0447\u0438\u0432\u0430\u0442\u044c \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f\u043c \u00ab\u0434\u0438\u043d\u0430\u043c\u0438\u0447\u0435\u0441\u043a\u043e\u0441\u0442\u044c\u00bb, \u0438\u043b\u0438\u00a0\u0436\u0435 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u044c \u0440\u0430\u0431\u043e\u0442\u044b \u0441\u00a0\u043f\u043e\u0432\u0435\u0434\u0435\u043d\u0438\u0435\u043c \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u044b \u043f\u043e\u0441\u043b\u0435 \u043d\u0430\u0447\u0430\u043b\u0430 \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u043d\u043e\u0433\u043e \u043a\u043e\u0434\u0430, \u044d\u0442\u043e \u043d\u0430\u0437\u044b\u0432\u0430\u0435\u0442\u0441\u044f RunTime, \u0438\u043b\u0438\u00a0RT (\u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u0444\u0440\u0430\u0437\u0430 \u041e\u041e\u041f \u0432\u00a0php, \u0438 \u0432\u0435\u0431 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0435 \u0437\u0432\u0443\u0447\u0438\u0442 \u043a\u0430\u043a\u00a0\u043c\u0438\u043d\u0438\u043c\u0443\u043c \u0441\u0442\u0440\u0430\u043d\u043d\u043e, \u0433\u0434\u0435 \u00ab\u0432\u0440\u0435\u043c\u044f \u0436\u0438\u0437\u043d\u0438\u00bb \u043e\u0431\u044a\u0435\u043a\u0442\u043d\u043e\u0439 \u043c\u043e\u0434\u0435\u043b\u0438 \u0437\u0430\u043a\u0430\u043d\u0447\u0438\u0432\u0430\u0435\u0442\u0441\u044f \u043d\u0430\u00a0\u043e\u0442\u043f\u0440\u0430\u0432\u043a\u0435 \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u044b \u043a\u043b\u0438\u0435\u043d\u0442\u0443).<\/p>\n<p>\u041e\u0431\u0440\u0430\u0442\u0438\u0442\u0435 \u0432\u043d\u0438\u043c\u0430\u043d\u0438\u0435 \u0447\u0442\u043e\u00a0\u044f \u043d\u0435\u00a0\u0440\u0430\u0437\u0443 \u043d\u0435\u00a0\u043e\u0431\u0440\u0430\u0442\u0438\u043b\u0441\u044f \u043a\u00a0\u043a\u043e\u043d\u043a\u0440\u0435\u0442\u043d\u043e\u043c\u0443 \u043e\u0431\u044a\u0435\u043a\u0442\u0443 \u043d\u0430\u00a0\u0444\u043e\u0440\u043c\u0435, \u0442\u043e\u043b\u044c\u043a\u043e \u043a\u00a0\u0442\u0435\u043e\u0440\u0435\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u043c \u043e\u0436\u0438\u0434\u0430\u0435\u043c\u044b\u043c \u0434\u0430\u043d\u043d\u044b\u043c, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u044f \u043c\u043e\u0433\u0443 \u043f\u0440\u0435\u0434\u0443\u0433\u0430\u0434\u0430\u0442\u044c \u0431\u043b\u0430\u0433\u043e\u0434\u0430\u0440\u044f \u043a\u043e\u043d\u0446\u0435\u043f\u0446\u0438\u0438 \u041e\u041e\u041f \u0438 \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u0430\u043c (\u0430\u0431\u0441\u0442\u0440\u0430\u043a\u0442\u043d\u044b\u043c \u043a\u043b\u0430\u0441\u0441\u0430\u043c, \u0438\u043b\u0438\u00a0\u0430\u0431\u0441\u0442\u0440\u0430\u043a\u0442\u043d\u044b\u043c \u0442\u0438\u043f\u0430\u043c \u0434\u0430\u043d\u043d\u044b\u0445). \u0412\u043e\u043e\u0431\u0449\u0435 \u043a\u043e\u043d\u0446\u0435\u043f\u0446\u0438\u044f \u041e\u041e\u041f \u043e\u0447\u0435\u043d\u044c \u043f\u043e\u043b\u0435\u0437\u043d\u0430\u044f \u0438 \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u043d\u0430\u044f \u0448\u0442\u0443\u043a\u0430, \u043f\u0440\u043e\u0441\u0442\u043e \u043f\u043e\u00a0\u043d\u0430\u0447\u0430\u043b\u0443 \u043a\u0430\u0436\u0435\u0442\u0441\u044f \u043d\u0435\u043c\u043d\u043e\u0433\u043e \u0441\u043b\u043e\u0436\u043d\u043e\u0439, \u043d\u0430\u00a0\u0434\u0435\u043b\u0435 \u0432\u00a0\u043d\u0435\u0439 \u043d\u0435\u0442 \u043d\u0438\u0447\u0435\u0433\u043e \u0441\u043b\u043e\u0436\u043d\u043e\u0433\u043e.<\/p>\n<p>\u0414\u043b\u044f\u00a0\u043f\u043e\u043b\u043d\u043e\u0442\u044b \u043f\u043e\u043d\u0438\u043c\u0430\u043d\u0438\u044f \u0440\u0430\u0431\u043e\u0442\u044b \u043e\u0431\u044a\u0435\u043a\u0442\u043e\u0432 COM \u043b\u0443\u0447\u0448\u0435 \u0432\u0441\u0435\u0433\u043e \u0443\u0437\u043d\u0430\u0442\u044c \u0437\u0430\u00a0\u0447\u0442\u043e\u00a0\u043e\u0442\u0432\u0435\u0447\u0430\u044e\u0442 \u0438\u0445 \u0443\u043d\u0438\u0432\u0435\u0440\u0441\u0430\u043b\u044c\u043d\u044b\u0435 \u0442\u0438\u043f\u044b \u0434\u0430\u043d\u043d\u044b\u0445, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u044f\u0432\u043b\u044f\u044e\u0442\u0441\u044f \u043f\u0440\u0430\u0440\u043e\u0434\u0438\u0442\u0435\u043b\u044f\u043c\u0438 (TObject \u0438 TComponent), \u0430\u00a0\u0442\u0430\u043a\u0436\u0435 \u043f\u043e\u0441\u043c\u043e\u0442\u0440\u0435\u0442\u044c \u043d\u0430\u00a0\u0442\u043e, \u043a\u0430\u043a\u00a0\u0440\u0430\u0431\u043e\u0442\u0430\u044e\u0442 \u0438\u0445 \u0443\u043d\u0438\u0432\u0435\u0440\u0441\u0430\u043b\u044c\u043d\u044b\u0435 \u0441\u0432\u043e\u0439\u0441\u0442\u0432\u0430 (\u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0435 \u0442\u0438\u043f\u0430 \u0434\u0430\u043d\u043d\u044b\u0445).<\/p>\n<p>\u0421\u0435\u0439\u0447\u0430\u0441 \u0435\u0449\u0435 \u043c\u043e\u0436\u0435\u0442\u00a0\u0431\u044b\u0442\u044c \u043d\u0435\u043f\u043e\u043d\u044f\u0442\u043d\u043e, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u0442\u044b\u043a \u043f\u043e \u00ab\u0444\u0430\u0439\u043b\\\u0441\u043e\u0437\u0434\u0430\u0442\u044c \u043c\u043e\u0434\u0443\u043b\u044c\u00bb, \u0443\u00a0\u043d\u0430\u0441 \u0441\u0440\u0430\u0437\u0443 \u0441\u0433\u0435\u043d\u0435\u0440\u0438\u0440\u0443\u0435\u0442\u0441\u044f \u043f\u0443\u0441\u0442\u0430\u044f \u0437\u0430\u0433\u043e\u0442\u043e\u0432\u043a\u0430 \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u0430, \u043a\u00a0\u043a\u043e\u0442\u043e\u0440\u043e\u0439 \u0441\u0440\u0430\u0437\u0443 \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0435\u043d\u044b \u0431\u0430\u0437\u043e\u0432\u044b\u0435 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0438<\/p>\n<p>\u041d\u0430\u043f\u043e\u043b\u043d\u0438\u043c \u0444\u0430\u0439\u043b \u043a\u043e\u0434\u043e\u043c (\u0442\u0430\u043a \u043a\u0430\u043a\u00a0object pascal \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442 COM \u043e\u0431\u044a\u0435\u043a\u0442\u044b, \u043f\u0440\u0438\u0434\u0435\u0442\u0441\u044f (\u0432 \u043e\u0442\u043b\u0438\u0447\u0438\u0438 \u043e\u0442\u00a0\u0441++ \u0433\u0434\u0435 \u0441\u00a0\u044d\u0442\u0438\u043c \u043f\u0440\u043e\u0449\u0435) \u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c \u0438\u0441\u043a\u043b\u044e\u0447\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u043d\u0430 \u00ab\u044d\u0442\u0430\u043b\u043e\u043d\u043d\u043e\u043c\u00bb \u043e\u043e\u043f, \u044d\u0442\u043e \u043d\u0435\u00a0\u043f\u0440\u043e\u0441\u0442\u043e \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u0440\u0435\u043a\u043e\u043c\u0435\u043d\u0434\u0443\u044e \u043f\u043e\u0437\u043d\u0430\u043a\u043e\u043c\u0438\u0442\u0441\u044f \u0441 <a href=\"https:\/\/habr.com\/ru\/articles\/779092\/\" rel=\"noopener noreferrer nofollow\">\u043c\u043e\u0435\u0439 \u043f\u0440\u0435\u0434\u044b\u0434\u0443\u0449\u0435\u0439 \u0441\u0442\u0430\u0442\u044c\u0435\u0439<\/a> (\u043f\u0435\u0440\u0435\u0434 \u043d\u0430\u0447\u0430\u043b\u043e\u043c):<\/p>\n<details class=\"spoiler\">\n<summary>\u041f\u0420\u041e\u0414\u041e\u041b\u0416\u0410\u0415\u041c \u041f\u0420\u041e\u0414\u041e\u041b\u0416\u0410\u0422\u042c<\/summary>\n<div class=\"spoiler__content\">\n<pre><code class=\"delphi\">unit Unit2;  \/\/ \u0441\u043f\u043e\u0441\u043e\u0431 \u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0446\u0438\u0438 \u0444\u0430\u0439\u043b\u0430 {$mode ObjFPC}{$H+}  \/\/ \u0443\u043a\u0430\u0437\u0430\u0442\u0435\u043b\u044c \u0442\u043e\u0433\u043e, \u0447\u0442\u043e \u043d\u0430\u0448 \u0442\u0438\u043f \u0434\u0430\u043d\u043d\u044b\u0445 \u043c\u043e\u0436\u0435\u0442 \u0431\u044b\u0442\u044c \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u043e\u043c interface  \/\/ \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0438\u043c \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0438 uses   Classes, SysUtils, Forms, Controls, Graphics, Dialogs, StdCtrls, Grids, Menus;  \/\/ \u0441\u043e\u0437\u0434\u0430\u0434\u0438\u043c \u043d\u0430\u0448 \u0442\u0438\u043f \u0434\u0430\u043d\u043d\u044b\u0445, \u043f\u043e\u0441\u043b\u0435 \u043a\u043b\u044e\u0447\u0435\u0432\u043e\u0433\u043e \/\/ \u0441\u043b\u043e\u0432\u0430 type \u0432\u0432\u043e\u0434\u0438\u043c \u043b\u044e\u0431\u043e\u0435 \u0438\u043c\u044f \u043d\u0430\u0448\u0435\u0433\u043e \"\u043a\u043b\u0430\u0441\u0441\u0430\", \/\/ \u0437\u0430\u0442\u0435\u043c \u043f\u0440\u043e\u0434\u043e\u043b\u0436\u0430\u0435\u043c \u043b\u043e\u0433\u0438\u0447\u0435\u0441\u043a\u0443\u044e \u043a\u043e\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u044e, \/\/ \u0441\u0438\u043c\u0432\u043e\u043b\u043e\u043c (=) \u0440\u043e\u0432\u043d\u043e, \u0438 \u043a\u043b\u044e\u0447\u0435\u0432\u044b\u043c \u0441\u043b\u043e\u0432\u043e\u043c class, \/\/ \u0432\u0441\u044e \u0441\u0442\u0440\u043e\u043a\u0443 \u043c\u043e\u0436\u043d\u043e \u043f\u0440\u043e\u0447\u0438\u0442\u0430\u0442\u044c \u043a\u0430\u043a \/\/ \u0442\u0438\u043f \u0422\u0435\u043a\u0441\u0442\u043e\u0432\u044b\u0439\u0417\u0430\u0433\u0440\u0443\u0437\u0447\u0438\u043a\u0424\u0430\u0439\u043b\u043e\u0432 \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0443\u044e\u0449\u0438\u0439 \u043a\u043b\u0430\u0441\u0441\u0443, \/\/ \u043c\u043e\u0434\u0438\u0444\u0438\u043a\u0430\u0442\u043e\u0440\u044b \u0434\u043e\u0441\u0442\u0443\u043f\u0430 (public, private, \u0438 \u0442\u0434) \u043c\u043e\u0436\u043d\u043e \/\/ \u043d\u0435 \u043f\u0438\u0441\u0430\u0442\u044c \u0434\u043b\u044f \u043f\u0440\u043e\u0441\u0442\u044b\u0445 \"\u0441\u043e\u0441\u0442\u0430\u0432\u043d\u044b\u0445\" \u0442\u0438\u043f\u043e\u0432 \u0434\u0430\u043d\u043d\u044b\u0445 type TextFileLoader = class    \/\/ \u0441\u043e\u0437\u0434\u0430\u0434\u0438\u043c \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0435   \/\/   \/\/ \u043e\u0431\u044a\u044f\u0432\u043b\u044f\u044e \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u0443\u044e \u0442\u0438\u043f\u0430 TStringList,   \/\/ \u044d\u0442\u043e \u0437\u0430\u0433\u043e\u0442\u043e\u0432\u043a\u0430 \u0442\u0438\u043f\u0430 \u0434\u0430\u043d\u043d\u044b\u0445, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u0442   \/\/ \u0432 \u0441\u0435\u0431\u0435 \u0432\u0441\u0435 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e\u0435 \u0434\u043b\u044f \u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0438 \u0442\u0435\u043a\u0441\u0442\u043e\u0432\u043e\u0433\u043e   \/\/ \u0444\u0430\u0439\u043b\u0430 \u0432 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0443   FileLoader:TStringList;    \/\/ \u0441\u043e\u0437\u0434\u0430\u043c \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u0443\u044e \u0442\u0438\u043f\u0430 TMemo, \u044d\u0442\u043e \u0437\u0430\u0433\u043e\u0442\u043e\u0432\u043a\u0430   \/\/ \u0442\u0438\u043f\u0430 \u0434\u0430\u043d\u043d\u044b\u0445, \u0432 \u043a\u043e\u0442\u043e\u0440\u043e\u0439 \u0443\u0436\u0435 \u0435\u0441\u0442\u044c \u0433\u043e\u0442\u043e\u0432\u044b\u0439 \u0442\u0435\u043a\u0441\u0442\u043e\u0432\u044b\u0439   \/\/ \u0440\u0435\u0434\u0430\u043a\u0442\u043e\u0440, \u043f\u0440\u0438 \u043f\u043e\u043c\u043e\u0449\u0438 \u044d\u0442\u043e\u0439 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u043e\u0439 \u044f \u0431\u0443\u0434\u0443   \/\/ \u043e\u0442\u043e\u0431\u0440\u0430\u0436\u0430\u0442\u044c \u0442\u0435\u043a\u0441\u0442 \u0438\u0437 \u0444\u0430\u0439\u043b\u0430   TextViewer:TMemo;    \/\/ \u0441\u043e\u0437\u0434\u0430\u043c \u0435\u0449\u0435 \u043e\u0434\u043d\u0443 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u0443\u044e \u0442\u0438\u043f\u0430 TStringList,   \/\/ \u043d\u0430 \u044d\u0442\u043e\u0442 \u0440\u0430\u0437 \u0434\u043b\u044f \u0441\u043e\u0445\u0440\u0430\u043d\u0435\u043d\u0438\u044f \u0444\u0430\u0439\u043b\u0430   FileSaver:TStringList;    \/\/ \u0441\u043e\u0437\u0434\u0430\u043c \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u0443\u044e \u0442\u0438\u043f\u0430 PopupMenu, \u0434\u043b\u044f \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u044f   \/\/ \u0432\u0441\u043f\u043b\u044b\u0432\u0430\u044e\u0449\u0435\u0433\u043e \u043c\u0435\u043d\u044e, \u043f\u0440\u0438 \u043f\u0440\u0430\u0432\u043e\u043c \u0442\u044b\u043a\u0435 \u0432 \u0442\u0435\u043a\u0441\u0442\u043e\u0432\u043e\u043c   \/\/ \u0440\u0435\u0434\u0430\u043a\u0442\u043e\u0440\u0435   TextViewerMenu:TPopupMenu;    \/\/ \u0434\u043e\u0431\u0430\u0432\u0438\u043c \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u0443\u044e \u0441 \u0434\u0438\u0430\u043b\u043e\u0433\u043e\u0432\u044b\u043c \u043e\u043a\u043d\u043e\u043c \u0432\u044b\u0431\u043e\u0440\u0430 \u0444\u0430\u0439\u043b\u0430,   \/\/ \u044d\u0442\u0430 \u0437\u0430\u0433\u043e\u0442\u043e\u0432\u043a\u0430 \u0442\u0430\u043a\u0436\u0435 \u0438\u0437 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a, \u0434\u043b\u044f \u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0438,   \/\/ \u0438 \u0441\u043e\u0445\u0440\u0430\u043d\u0435\u043d\u0438\u044f \u0444\u0430\u0439\u043b\u0430 \u044f \u0431\u0443\u0434\u0443 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u043e\u0434\u0438\u043d \u0438 \u0442\u043e\u0442   \/\/ \u0436\u0435 \u0434\u0438\u0430\u043b\u043e\u0433   SelectFile:TOpenDialog;    \/\/ \u0442\u0435\u043f\u0435\u0440\u044c \u043e\u043f\u0438\u0448\u0435\u043c \u0437\u0430\u0433\u043e\u043b\u043e\u0432\u043a\u0438 \u0444\u0443\u043d\u043a\u0446\u0438\u0439 (\u0434\u043b\u044f \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438   \/\/ \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u0430 \u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0438 \u0444\u0430\u0439\u043b\u0430, \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u044f \u0432 \u043e\u043a\u043d\u0435 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u044b   \/\/ \u043f\u043e\u043b\u044f \u0434\u043b\u044f \u043e\u0442\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u044f \u0438 \u0440\u0435\u0434\u0430\u043a\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u0442\u0435\u043a\u0441\u0442\u0430, \u0438 \u0442\u0434)   \/\/   \/\/ \u0441\u043d\u0430\u0447\u0430\u043b\u0430 \u0437\u0430\u0433\u043e\u043b\u043e\u0432\u043e\u043a \u043a\u043e\u043d\u0441\u0442\u0440\u0443\u043a\u0442\u043e\u0440\u0430 (\u043a\u043e\u043d\u0441\u0442\u0440\u0443\u043a\u0442\u043e\u0440 - \u044d\u0442\u043e \u0444\u0443\u043d\u043a\u0446\u0438\u044f,   \/\/ \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0435\u0442 \u0432 \u043c\u043e\u043c\u0435\u043d\u0442 \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u044f \u043d\u043e\u0432\u043e\u0433\u043e \u044d\u043a\u0437\u0435\u043c\u043f\u043b\u044f\u0440\u0430   \/\/ \u043e\u0431\u044a\u0435\u043a\u0442\u0430 \u043d\u0430\u0448\u0435\u0433\u043e \u0442\u0438\u043f\u0430 \u0434\u0430\u043d\u043d\u044b\u0445, \u0438 \u0430\u0441\u0441\u043e\u0446\u0438\u0438\u0440\u0443\u0435\u0442\u0441\u044f \u0441 \u043a\u0430\u043a\u043e\u0439 \u043b\u0438\u0431\u043e   \/\/ \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u043e\u0439 (\u043a\u043e\u0442\u043e\u0440\u0430\u044f \u0442\u0430\u0436\u0435 \u0438\u043c\u0435\u0435\u0442 \u0442\u0438\u043f \u0434\u0430\u043d\u043d\u044b\u0445 \"\u043d\u0430\u0448 \u0442\u0438\u043f \u0434\u0430\u043d\u043d\u044b\u0445\",   \/\/ \u0438\u043b\u0438 TextFileLoader \u0444\u0443\u043d\u043a\u0446\u0438\u044f \u043a\u043e\u043d\u0441\u0442\u0440\u0443\u043a\u0442\u043e\u0440\u0430 \u043d\u0430\u0447\u0438\u043d\u0430\u0435\u0442\u0441\u044f \u043d\u0438 \u0441\u043e   \/\/ \u0441\u043b\u043e\u0432\u0430 function, \u0432 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u043e\u0432 \u0432 \u0444\u0443\u043d\u043a\u0446\u0438\u044e \u043c\u044b \u0431\u0443\u0434\u0435\u043c   \/\/ \u043f\u0435\u0440\u0435\u0434\u0430\u0432\u0430\u0442\u044c \u0432 \u043a\u043e\u043d\u0441\u0442\u0440\u0443\u043a\u0442\u043e\u0440 \u0438\u0434\u0435\u043d\u0442\u0438\u0444\u0438\u043a\u0430\u0442\u043e\u0440 \u043e\u043a\u043d\u0430 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u044b, \u0432 \u043a\u043e\u0442\u043e\u0440\u043e\u043c   \/\/ \u0431\u0443\u0434\u0435\u043c \u0440\u0430\u0437\u0432\u043e\u0440\u0430\u0447\u0438\u0432\u0430\u0442\u044c \u043d\u0430\u0448 \u0442\u0435\u043a\u0441\u0442\u043e\u0432\u044b\u0439 \u0440\u0435\u0434\u0430\u043a\u0442\u043e\u0440, \u0442\u0430\u043a \u043a\u0430\u043a \u0432\u0441\u0435 \u043d\u0430\u0448\u0438 \u043e\u043a\u043d\u0430   \/\/ \u044f\u0432\u043b\u044f\u044e\u0442\u0441\u044f \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u043d\u044b\u043c\u0438 \u043e\u0442 COM \u043e\u0431\u044a\u0435\u043a\u0442\u0430 TForm (\u0438\u043b\u0438 \u0437\u0430\u0433\u043e\u0442\u043e\u0432\u043a\u0438 \u0444\u043e\u0440\u043c\u044b),   \/\/ \u043c\u044b \u043c\u043e\u0436\u0435\u043c \u043f\u0435\u0440\u0435\u0434\u0430\u0432\u0430\u0442\u044c \u0432 \u043d\u0430\u0448 \u043a\u043e\u043d\u0441\u0442\u0440\u0443\u043a\u0442\u043e\u0440 \u043b\u044e\u0431\u0443\u044e \u0444\u043e\u0440\u043c\u0443, \u043a\u043e\u0442\u043e\u0440\u0430\u044f   \/\/ \u0431\u044b\u043b\u0430 \u043d\u0430\u0441\u043b\u0435\u0434\u043d\u0438\u043a\u043e\u043c \u0442\u0438\u043f\u0430 TForm, \u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0442\u043e\u0440 \u0441\u0434\u0435\u043b\u0430\u0435\u0442 \u0432\u0441\u0435 \u043e\u0441\u0442\u0430\u043b\u044c\u043d\u043e\u0435 \u0441\u0430\u043c   constructor New(Owner:TForm);    \/\/ \u043f\u043e\u043c\u0438\u043c\u043e \u043a\u043e\u043d\u0441\u0442\u0440\u0443\u043a\u0442\u043e\u0440\u0430 \u043d\u0443\u0436\u043d\u043e \u043e\u0431\u044a\u044f\u0432\u0438\u0442\u044c \u0434\u0435\u0441\u0442\u0440\u0443\u043a\u0442\u043e\u0440, \u044d\u0442\u043e \u0442\u043e\u0436\u0435 \u0444\u0443\u043d\u043a\u0446\u0438\u044f,   \/\/ \u043d\u043e \u0434\u043b\u044f \u043e\u043f\u0438\u0441\u0430\u043d\u0438\u044f \u043b\u043e\u0433\u0438\u043a\u0438 \u0440\u0430\u0437\u0431\u043e\u0440\u0430 \u0438 \u0443\u043d\u0438\u0447\u0442\u043e\u0436\u0435\u043d\u0438\u044f \u0442\u0435\u043e\u0440\u0435\u0442\u0438\u0447\u0435\u0441\u043a\u043e\u0439   \/\/ \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u043e\u0439, \u0441 \u043a\u043e\u0442\u043e\u0440\u043e\u0439 \u0430\u0441\u0441\u043e\u0446\u0438\u0438\u0440\u043e\u0432\u0430\u043d \u044d\u043a\u0437\u0435\u043c\u043f\u043b\u044f\u0440 \u043d\u0430\u0448\u0435\u0433\u043e TextFileLoader,   \/\/ \u043d\u043e \u0442\u0430\u043a \u043a\u0430\u043a \u044d\u0442\u043e \u0432\u044b\u0441\u043e\u043a\u043e\u0443\u0440\u043e\u0432\u043d\u0435\u0432\u043e\u0435 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435, \u0434\u0435\u0441\u0442\u0440\u0443\u043a\u0442\u043e\u0440 \u043d\u0435   \/\/ \u043e\u0431\u044f\u0437\u0430\u0442\u0435\u043b\u044c\u043d\u043e \u043e\u043f\u0438\u0441\u044b\u0432\u0430\u0442\u044c, \u043f\u043e\u0442\u043e\u043c\u0443 \u0447\u0442\u043e \u043f\u043e \u0437\u0430\u0432\u0435\u0440\u0448\u0435\u043d\u0438\u0438 \u043b\u044e\u0431\u043e\u0433\u043e \u0431\u043b\u043e\u0447\u043a\u0430 \u043a\u043e\u0434\u0430,   \/\/ \u0432 \u0440\u0430\u043c\u043a\u0430\u0445 \u043a\u043e\u0442\u043e\u0440\u043e\u0433\u043e \u0431\u044b\u043b\u0430 \u043e\u0431\u044a\u044f\u0432\u043b\u0435\u043d\u0430 \u044d\u0442\u0430 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u0430\u044f, \u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0442\u043e\u0440 \u0441\u0430\u043c   \/\/ \u0443\u043d\u0438\u0447\u0442\u043e\u0436\u0438\u0442 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u0443\u044e (\u0438 \u0432\u0441\u0435 \u043e\u0441\u0442\u0430\u043b\u044c\u043d\u044b\u0435, \u0432 \u0440\u0430\u043c\u043a\u0430\u0445 \u044d\u0442\u043e\u0433\u043e \u0431\u043b\u043e\u0447\u043a\u0430),   \/\/ \u0435\u0441\u043b\u0438 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u044b \u0432 \u0444\u0443\u043d\u043a\u0446\u0438\u044e \u043d\u0435 \u043d\u0443\u0436\u043d\u044b, \u0441\u043a\u043e\u0431\u043a\u0438 () \u0442\u043e\u0436\u0435 \u043c\u043e\u0436\u043d\u043e \u043d\u0435 \u0443\u043a\u0430\u0437\u044b\u0432\u0430\u0442\u044c,   \/\/ \u0438 \u0435\u0441\u043b\u0438 \u0447\u0442\u043e \u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0442\u043e\u0440 \u0442\u0430\u043a\u0436\u0435 \u0438\u0433\u043d\u043e\u0440\u0438\u0440\u0443\u0435\u0442 \u0440\u0435\u0433\u0438\u0441\u0442\u0440, \u0442\u043e \u0435\u0441\u0442\u044c TEXTFILELOADER   \/\/ \u0438 TextFileLoader - \u044d\u0442\u043e \u043e\u0434\u043d\u043e \u0438 \u0442\u043e\u0436\u0435, \u043d\u0435\u0441\u043c\u043e\u0442\u0440\u044f \u043d\u0430 \u0442\u043e \u0447\u0442\u043e \u043a\u043e\u0434\u044b \u0441\u0438\u043c\u0432\u043e\u043b\u043e\u0432   \/\/ \u0443 \u0431\u043e\u043b\u044c\u0448\u0438\u0445 \u0438 \u043c\u0430\u043b\u0435\u043d\u044c\u043a\u0438\u0445 \u0431\u0443\u043a\u0432 \u0440\u0430\u0437\u043d\u044b\u0435 (\u044d\u0442\u043e \u0432\u044b\u0441\u043e\u043a\u043e\u0443\u0440\u043e\u0432\u043d\u0435\u0432\u043e\u0435 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435)   destructor DestructeObject;    \/\/ \u0434\u043e\u0431\u0430\u0432\u0438\u043c \u0437\u0430\u0433\u043e\u043b\u043e\u0432\u043e\u043a \u0444\u0443\u043d\u043a\u0446\u0438\u0438 \u0434\u043b\u044f \u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0438 \u0444\u0430\u0439\u043b\u0430, \u044f \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044e \u043f\u0440\u043e\u0446\u0435\u0434\u0443\u0440\u0443,   \/\/ \u043d\u043e \u044d\u0442\u043e \u0442\u0430 \u0436\u0435 \u0441\u0430\u043c\u0430\u044f \u0444\u0443\u043d\u043a\u0446\u0438\u044f, \u043f\u0440\u043e\u0441\u0442\u043e \u043d\u0435 \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u0442 \u043d\u0430 \u043c\u0435\u0441\u0442\u043e \u0441\u0432\u043e\u0435\u0433\u043e   \/\/ \u0432\u044b\u0437\u043e\u0432\u0430 \u043a\u0430\u043a\u043e\u0439-\u043b\u0438\u0431\u043e \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442   function LoadFile:string;      \/\/ \u0437\u0430\u0433\u043e\u043b\u043e\u0432\u043e\u043a \u0444\u0443\u043d\u043a\u0446\u0438\u0438, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u0431\u0443\u0434\u0435\u0442 \u0441\u043e\u0445\u0440\u0430\u043d\u044f\u0442\u044c \u0434\u0430\u043d\u043d\u044b\u0435 \u0432 \u0444\u0430\u0439\u043b, \u0432 \u0441\u0435\u0431\u044f   \/\/ \u0444\u0443\u043d\u043a\u0446\u0438\u044f \u0431\u0443\u0434\u0435\u0442 \u043f\u043e\u043b\u0443\u0447\u0430\u0442\u044c \u043d\u043e\u0432\u044b\u0439 \u0442\u0435\u043a\u0441\u0442 \u0444\u0430\u0439\u043b\u0430, \u0432 \u043a\u043e\u0442\u043e\u0440\u043e\u0439 \u043d\u0443\u0436\u043d\u043e \u0441\u043e\u0445\u0440\u0430\u043d\u0438\u0442\u044c   \/\/ \u0442\u0435\u043a\u0441\u0442, \u0442\u0430\u043a \u043a\u0430\u043a \u044f \u043d\u0435 \u043f\u043b\u0430\u043d\u0438\u0440\u0443\u044e \u0447\u0442\u043e \u043d\u0430\u0448\u0430 \u0444\u0443\u043d\u043a\u0446\u0438\u044f \u0447\u0442\u043e-\u0442\u043e \u0431\u0443\u0434\u0435\u0442 \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0442\u044c,   \/\/ \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u043e\u043f\u0438\u0448\u0443 \u0444\u0443\u043d\u043a\u0446\u0438\u044e \u043a\u0430\u043a \u043f\u0440\u043e\u0446\u0435\u0434\u0443\u0440\u0443 (\u0442\u043e\u0436\u0435 \u0441\u0430\u043c\u043e\u0435 \u0447\u0442\u043e \u0438 \u0444\u0443\u043d\u043a\u0446\u0438\u044f, \u043d\u043e   \/\/ \u043d\u0435 \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u0442 \u0434\u0430\u043d\u043d\u044b\u0435 \u043d\u0430 \u043c\u0435\u0441\u0442\u043e \u0441\u0432\u043e\u0435\u0433\u043e \u0432\u044b\u0437\u043e\u0432\u0430)   procedure SaveFile(NewText:string);    \/\/ \u0442\u0435\u043f\u0435\u0440\u044c \u0441\u043e\u0437\u0434\u0430\u0434\u0438\u043c \"\u043e\u0431\u0435\u0440\u0442\u043a\u0443\" \u0434\u043b\u044f \u043d\u0430\u0448\u0435\u0439 \u0444\u0443\u043d\u043a\u0446\u0438\u0438, \u0447\u0442\u043e\u0431\u044b \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0432 \u043c\u0435\u043d\u044e,   \/\/ \u0438\u0437-\u0437\u0430 \u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0435\u043d\u0438\u0439 \u043a\u043e\u043d\u0446\u0435\u043f\u0446\u0438\u0438 \u043e\u043e\u043f \u043c\u044b \u0434\u043e\u043b\u0436\u043d\u044b \u043f\u0440\u0438\u0432\u0435\u0441\u0442\u0438 \u043d\u0430\u0448\u0443 \u043f\u0440\u043e\u0446\u0435\u0434\u0443\u0440\u0443   \/\/ \u043a \"\u0443\u043d\u0438\u0432\u0435\u0440\u0441\u0430\u043b\u044c\u043d\u043e\u043c\u0443 \u0432\u0438\u0434\u0443\", \u0432\u0441\u0435 \u043f\u0440\u043e\u0446\u0435\u0434\u0443\u0440\u044b \u0438 \u0444\u0443\u043d\u043a\u0446\u0438\u0438, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043d\u0430\u0437\u043d\u0430\u0447\u0430\u044e\u0442\u0441\u044f   \/\/ \u043a \u0441\u043e\u0431\u044b\u0442\u0438\u044f\u043c COM \u043e\u0431\u044a\u0435\u043a\u0442\u043e\u0432 \u0434\u043e\u043b\u0436\u043d\u044b \u043f\u0440\u0438\u043d\u0438\u043c\u0430\u0442\u044c \u0432 \u0441\u0435\u0431\u044f \u0441\u0441\u044b\u043b\u043a\u0443 \u043d\u0430 \u043e\u0431\u044a\u0435\u043a\u0442,   \/\/ \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0432\u044b\u0437\u0432\u0430\u043b \u044d\u0442\u0443 \u0444\u0443\u043d\u043a\u0446\u0438\u044e   procedure SaveFileClick(Sender:TObject);    \/\/ \u0434\u043e\u0431\u0430\u0432\u043b\u044e \u0441\u043f\u0435\u0446\u0438\u0430\u043b\u044c\u043d\u0443\u044e \u0444\u0443\u043d\u043a\u0446\u0438\u044e \u0434\u043b\u044f \u0441\u0431\u0440\u043e\u0441\u0430 \u0444\u0430\u0439\u043b\u0430 \u043a \u0438\u0441\u0445\u043e\u0434\u043d\u043e\u043c\u0443 (\u043a \u043c\u043e\u043c\u0435\u043d\u0442\u0443   \/\/ \u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0438 \u0432 \u0440\u0435\u0434\u0430\u043a\u0442\u043e\u0440), \u0442\u0430\u043a \u043a\u0430\u043a TStringList \u0441\u043e\u0445\u0440\u0430\u043d\u044f\u0435\u0442 \u0432 \u0441\u0435\u0431\u0435 \u0442\u0435\u043a\u0441\u0442   \/\/ \u043f\u043e\u0441\u043b\u0435 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044f, \u0442\u0430\u043a \u043a\u0430\u043a \u0432\u043e\u0437\u0432\u0440\u0430\u0442 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f \u043d\u0435 \u043e\u0431\u044f\u0437\u0430\u0442\u0435\u043b\u0435\u043d, \u043e\u043f\u0438\u0448\u0443   \/\/ \u0444\u0443\u043d\u043a\u0446\u0438\u044e \u043a\u0430\u043a \u043f\u0440\u043e\u0446\u0435\u0434\u0443\u0440\u0443   procedure ResetFile;    \/\/ \u0441\u043e\u0437\u0434\u0430\u0434\u0438\u043c \u0441\u0432\u043e\u0439\u0441\u0442\u0432\u043e \u043a\u043b\u0430\u0441\u0441\u0430 (\"\u0443\u0441\u043b\u043e\u0432\u043d\u0443\u044e \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u0443\u044e\", \u043f\u043e \u043a \u043a\u043e\u0442\u043e\u0440\u043e\u0439   \/\/ \u043f\u0440\u0438\u0432\u044f\u0437\u0430\u043d\u0430 \u0444\u0443\u043d\u043a\u0446\u0438\u044f, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u043f\u043e\u043b\u0443\u0447\u0430\u0435\u0442 \u0434\u0430\u043d\u043d\u044b\u0435, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043f\u0440\u043e\u0441\u0442\u043e \u0442\u0430\u043a   \/\/ \u043d\u0435 \u0438\u0437\u0432\u043b\u0435\u0447\u044c \u0438\u0437 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u043e\u0439), \u044d\u0442\u043e \u0441\u0432\u043e\u0439\u0441\u0442\u0432\u043e \u0431\u0443\u0434\u0435\u0442 \u043c\u0430\u0440\u043a\u0435\u0440\u043e\u043c \u0434\u0430\u043d\u043d\u044b\u0445,   \/\/ \u0432\u0435\u0437\u0434\u0435, \u0433\u0434\u0435 \u043e\u043d\u043e \u0431\u0443\u0434\u0435\u0442 \u0432\u0441\u0442\u0440\u0435\u0447\u0430\u0442\u044c\u0441\u044f \u0432 \u043a\u043e\u0434\u0435, \u043e\u043d\u043e \u0431\u0443\u0434\u0435\u0442 \u0437\u0430\u043c\u0435\u043d\u0435\u043d\u043e \u043d\u0430   \/\/ \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442 \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f \u0444\u0443\u043d\u043a\u0446\u0438\u0438, \u044d\u0442\u043e \u0441\u0432\u043e\u0439\u0441\u0442\u0432\u043e \u0431\u0443\u0434\u0435\u0442 \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0442\u044c \u043d\u0430   \/\/ \u0441\u0432\u043e\u0435 \u043c\u0435\u0441\u0442\u043e \u043e\u0440\u0438\u0433\u0438\u043d\u0430\u043b\u044c\u043d\u044b\u0439 \u0442\u0435\u043a\u0441\u0442, \u0441\u0432\u043e\u0439\u0441\u0442\u0432\u043e \u043d\u0430\u0447\u0438\u043d\u0430\u0435\u0442\u0441\u044f \u0441 \u043a\u043b\u044e\u0447\u0435\u0432\u043e\u0433\u043e   \/\/ \u043a\u043b\u044e\u0447\u0435\u0432\u043e\u0433\u043e \u0441\u043b\u043e\u0432\u0430 property, \u0434\u0430\u043b\u0435\u0435 \u0438\u0434\u0435\u0442 \u043b\u044e\u0431\u043e\u0435 \u043d\u0430\u0437\u0432\u0430\u043d\u0438\u0435 \u044d\u0442\u043e\u0433\u043e \u0441\u0432\u043e\u0439\u0441\u0442\u0432\u0430,   \/\/ \u0437\u0430\u0442\u0435\u043c \u0442\u0438\u043f \u0434\u0430\u043d\u043d\u044b\u0445, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043c\u043e\u0436\u0435\u0442 \u043f\u0440\u0438\u043d\u044f\u0442\u044c \u0432 \u0441\u0435\u0431\u044f \u0438 \u0432\u0435\u0440\u043d\u0443\u0442\u044c \u0441\u0432\u043e\u0439\u0441\u0442\u0432\u043e,   \/\/ \u0437\u0430\u0442\u0435\u043c (\u0447\u0435\u0440\u0435\u0437 \u043f\u0440\u043e\u0431\u0435\u043b) \u043a\u043b\u044e\u0447\u0435\u0432\u043e\u0435 \u0441\u043b\u043e\u0432\u043e READ, \u043a\u043e\u0442\u043e\u0440\u043e\u0435 \u043e\u0431\u043e\u0437\u043d\u0430\u0447\u0430\u0435\u0442   \/\/ \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u0438\u0435 \u0434\u0430\u043d\u043d\u044b\u0445, \u0438 \u0438\u043c\u044f \u0444\u0443\u043d\u043a\u0446\u0438\u0438, \u044f \u043d\u0430\u0437\u043e\u0432\u0443 \u0441\u0432\u043e\u0439\u0441\u0442\u0432\u043e   \/\/ GetContentFromTextFileLoader, \u0430 \u0432 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044e   \/\/ SaveFile, \u043a\u043b\u044e\u0447\u0435\u0432\u043e\u0435 \u0441\u043b\u043e\u0432\u043e public \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u044c \u043c\u043e\u0434\u0438\u0444\u0438\u043a\u0430\u0442\u043e\u0440   \/\/ \u0434\u043e\u0441\u0442\u0443\u043f\u0430, \u0435\u0441\u043b\u0438 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d public, \u0437\u043d\u0430\u0447\u0438\u0442 \u043a \u044d\u0442\u043e\u043c\u0443 \u0441\u0432\u043e\u0439\u0441\u0442\u0432\u0443 \u043c\u043e\u0436\u043d\u043e   \/\/ \u0431\u0443\u0434\u0435\u0442 \u043e\u0431\u0440\u0430\u0442\u0438\u0442\u0441\u044f \u043d\u0435 \u0442\u043e\u043b\u044c\u043a\u043e \u0438\u0437 \u0442\u0435\u043b\u0430 \u043d\u0430\u0448\u0435\u0433\u043e \u0442\u0438\u043f\u0430 \u0434\u0430\u043d\u043d\u044b\u0445, \u043d\u043e \u0438 \u0432\u0435\u0437\u0434\u0435 \u0438\u0437 \u043a\u043e\u0434\u0430   PUBLIC PROPERTY GetContentFromTextFileLoader:string READ LoadFile;    \/\/ \u043e\u043f\u0438\u0448\u0435\u043c \u0437\u0430\u0433\u043e\u043b\u043e\u0432\u043e\u043a \u044d\u0442\u043e\u0439 \u0444\u0443\u043d\u043a\u0446\u0438\u0438, \u0442\u0438\u043f \u0434\u0430\u043d\u043d\u044b\u0445, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0444\u0443\u043d\u043a\u0446\u0438\u044f   \/\/ \u0431\u0443\u0434\u0435\u0442 \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0442\u044c \u043d\u0430 \u0441\u0432\u043e\u0435 \u043c\u0435\u0441\u0442\u043e \u0431\u0443\u0434\u0435\u0442 \u0442\u0435\u043a\u0441\u0442 (string)    \/\/ \u0441\u043e\u0437\u0434\u0430\u0434\u0438\u043c \u0435\u0449\u0435 \u043e\u0434\u043d\u043e \u0441\u0432\u043e\u0439\u0441\u0442\u0432\u043e, \u043e\u043d\u043e \u0431\u0443\u0434\u0435\u0442 \u0441\u043e\u0431\u0438\u0440\u0430\u0442\u044c \u0438 \u0441\u0440\u0430\u0437\u0443   \/\/ \u0441\u043e\u0445\u0440\u0430\u043d\u044f\u0442\u044c \u0434\u0430\u043d\u043d\u044b\u0435 \u0432 \u0444\u0430\u0439\u043b, \u043f\u0440\u0438 \u043f\u043e\u043f\u044b\u0442\u043a\u0435 \u0438\u0437\u043c\u0435\u043d\u0438\u0442\u044c \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u043c\u043e\u0435   \/\/ \u0441\u0432\u043e\u0439\u0441\u0442\u0432\u0430 (\u0438\u0437\u043c\u0435\u043d\u0438\u0442\u044c \u0434\u0430\u043d\u043d\u044b\u0435, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0430\u0441\u0441\u043e\u0446\u0438\u0438\u0440\u043e\u0432\u0430\u043d\u044b \u0441 \u044d\u0442\u0438\u043c   \/\/ \u0441\u0432\u043e\u0439\u0441\u0442\u0432\u043e\u043c), \u0434\u043b\u044f \u044d\u0442\u043e\u0433\u043e \u043e\u043f\u0438\u0448\u0435\u043c \u0441\u0432\u043e\u0439\u0441\u0442\u0432\u043e \u0430\u043d\u0430\u043b\u043e\u0433\u0438\u0447\u043d\u043e \u043f\u0440\u0435\u0434\u044b\u0434\u0443\u0449\u0435\u043c\u0443,   \/\/ \u0432\u043c\u0435\u0441\u0442\u043e \u0444\u0443\u043d\u043a\u0446\u0438\u0438 \u0434\u043b\u044f \u0447\u0442\u0435\u043d\u0438\u044f, \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0438\u043c \u0444\u0443\u043d\u043a\u0446\u0438\u044e \u0434\u043b\u044f \u0437\u0430\u043f\u0438\u0441\u0438,   \/\/ \u0441\u0432\u043e\u0439\u0441\u0442\u0432\u0430 \u043a\u043b\u0430\u0441\u0441\u0430 \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u044e\u0442 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0434\u043b\u044f \u043e\u0434\u043d\u043e \u0441\u0432\u043e\u0439\u0441\u0442\u0432\u0430   \/\/ \u043e\u0434\u043d\u043e\u0432\u0440\u0435\u043c\u0435\u043d\u043d\u043e\u0439 \u0438 READ, \u0438 WRITE, \u0442\u0430\u043a \u043a\u0430\u043a \u0444\u0443\u043d\u043a\u0446\u0438\u0438 \u043d\u0443\u0436\u043d\u044b \u0434\u0430\u043d\u043d\u044b\u0435,   \/\/ \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u043e\u043d\u0430 \u0432 \u0441\u0435\u0431\u044f \u043f\u0440\u0438\u043d\u0438\u043c\u0430\u0435\u0442 \u043f\u0440\u0438 \u0432\u044b\u0437\u043e\u0432\u0435, \u0441\u0432\u043e\u0439\u0441\u0442\u0432\u043e \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0438   \/\/ \u0432 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435 \u0434\u0430\u043d\u043d\u044b\u0445 \u043f\u0435\u0440\u0435\u0434\u0430\u0441\u0442 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435, \u043a\u043e\u0442\u043e\u0440\u043e\u0435 \u043f\u044b\u0442\u0430\u044e\u0442\u0441\u044f   \/\/ \u0430\u0441\u0441\u043e\u0446\u0438\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0441\u043e \u0441\u0432\u043e\u0439\u0441\u0442\u0432\u043e\u043c, \u0433\u0434\u0435-\u0442\u043e \u0432 \u043c\u0435\u0441\u0442\u0435 (\u0432 \u043a\u043e\u0434\u0435), \u0433\u0434\u0435   \/\/ \u0432\u044b\u0437\u0432\u0430\u043d\u043e \u044d\u0442\u043e \u0441\u0432\u043e\u0439\u0441\u0442\u0432\u043e   PUBLIC PROPERTY SetNewContentToTextFileLoader:string WRITE SaveFile;    \/\/public PROPERTY OnMyEvent : TNotifyEvent READ LoadFile WRITE SaveFile; end;    \/\/ \u0442\u0435\u043b\u043e \u043d\u0430\u0448\u0435\u0433\u043e \u0442\u0438\u043f\u0430 \u0434\u0430\u043d\u043d\u044b\u0445 (\u043c\u0435\u0441\u0442\u043e, \u0433\u0434\u0435 \u043e\u043f\u0438\u0441\u044b\u0432\u0430\u044e\u0442\u0441\u044f   \/\/ \u0444\u0443\u043d\u043a\u0446\u0438\u0438 \u0438 \u043b\u043e\u0433\u0438\u043a\u0430 \u0440\u0430\u0431\u043e\u0442\u044b \u043d\u0430\u0448\u0435\u0433\u043e \u0442\u0438\u043f\u0430 \u0434\u0430\u043d\u043d\u044b\u0445 implementation   \/\/ \u0434\u043b\u044f \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 \u043d\u0430\u0434\u043e \u0443\u043a\u0430\u0437\u0430\u0442\u044c \u0437\u0430\u0433\u043e\u043b\u043e\u0432\u043e\u043a \u0444\u0443\u043d\u043a\u0446\u0438\u0438, \u0438 \u043a\u043b\u044e\u0447\u0435\u0432\u044b\u0435 \u0441\u043b\u043e\u0432\u0430 \/\/ begin \u0438 end, \u043d\u043e \u0434\u043b\u044f \u0442\u043e\u0433\u043e \u0447\u0442\u043e\u0431\u044b \u0440\u0435\u0434\u0430\u043a\u0442\u043e\u0440 \u0441\u043c\u043e\u0433 \u043f\u043e\u043d\u044f\u0442\u044c \u043e\u0442 \u043a\u0430\u043a\u043e\u0433\u043e \u0442\u0438\u043f\u0430 \u0434\u0430\u043d\u043d\u044b\u0445 \/\/ \u044d\u0442\u0438 \u0444\u0443\u043d\u043a\u0446\u0438\u0438, \u043d\u0430\u0437\u0432\u0430\u043d\u0438\u044f \u0444\u0443\u043d\u043a\u0446\u0438\u0439 \u043d\u0430\u0434\u043e \u043d\u0430\u0447\u0438\u043d\u0430\u0442\u044c \u0441 \u0442\u0438\u043f\u0430 \u0434\u0430\u043d\u043d\u044b\u0445, \u043a \u043a\u043e\u0442\u043e\u0440\u043e\u043c\u0443 \/\/ \u043f\u0440\u0438\u043d\u0430\u0434\u043b\u0435\u0436\u0430\u0442 \u044d\u0442\u0438 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 (\u0432 \u043e\u0434\u043d\u043e\u043c \u0444\u0430\u0439\u043b\u0435 \u043c\u043e\u0436\u0435\u0442 \u0431\u044b\u0442\u044c \u0431\u043e\u043b\u0435\u0435 \u043e\u0434\u043d\u043e\u0433\u043e \u0442\u0438\u043f\u0430 \u0434\u0430\u043d\u043d\u044b\u0445, \/\/ \u0442\u0430\u043a \u043a\u0430\u043a \u044d\u0442\u043e \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441 \/\/ \/\/ \u0440\u0435\u0430\u043b\u0438\u0437\u0443\u0435\u043c \u043b\u043e\u0433\u0438\u043a\u0443 \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u044f \u043d\u043e\u0432\u043e\u0433\u043e \u044d\u043a\u0437\u0435\u043c\u043f\u043b\u044f\u0440\u0430 \u043d\u0430\u0448\u0435\u0433\u043e \u0442\u0438\u043f\u0430 \u0434\u0430\u043d\u043d\u044b\u0445 constructor TextFileLoader.New(Owner:TForm); begin    \/\/ \u0430\u0441\u0441\u043e\u0446\u0438\u0438\u0440\u0443\u0435\u043c \u0441 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u043e\u0439 FileLoader \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442   \/\/ \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u044f \u043d\u043e\u0432\u043e\u0433\u043e \u043e\u0431\u044a\u0435\u043a\u0442\u0430 \u0438\u0437 \u0437\u0430\u0433\u043e\u0442\u043e\u0432\u043a\u0438 TStringList,   \/\/ \u0441\u0438\u043c\u0432\u043e\u043b := (\u043c\u0430\u0442\u0435\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u043e\u0435 \u043f\u0440\u0438\u0441\u0432\u043e\u0435\u043d\u0438\u0435) \u043e\u0431\u043e\u0437\u043d\u0430\u0447\u0430\u0435\u0442   \/\/ \u043f\u0440\u0438\u0441\u0432\u043e\u0438\u0442\u044c (\u0430\u0441\u0441\u043e\u0446\u0438\u0438\u0440\u043e\u0432\u0430\u0442\u044c) \u043a\u043b\u044e\u0447\u0435\u0432\u043e\u043c\u0443 \u0441\u043b\u043e\u0432\u0443 \u0441\u043b\u0435\u0432\u0430   \/\/ \u043a\u043b\u044e\u0447\u0435\u0432\u043e\u0435 \u0441\u043b\u043e\u0432\u043e \u0441\u043f\u0440\u0430\u0432\u0430   FileLoader:= TStringList.Create;    \/\/ \u0441\u043e\u0437\u0434\u0430\u0434\u0438\u043c \u0438\u0437 \u0437\u0430\u0433\u043e\u0442\u043e\u0432\u043a\u0438 \u0432\u0441\u043f\u043b\u044b\u0432\u0430\u044e\u0449\u0435\u0435 \u043f\u043e \u043f\u0440\u0430\u0432\u043e\u043c\u0443 \u0442\u044b\u043a\u0443 \u043c\u0435\u043d\u044e   TextViewerMenu:= TPopupMenu.Create(TextViewer);    \/\/ \u0434\u043e\u0431\u0430\u0432\u0438\u043c \u044d\u043b\u0435\u043c\u0435\u043d\u0442 \u043c\u0435\u043d\u044e, \u0434\u043b\u044f \u044d\u0442\u043e\u0433\u043e \u0432 \u0444\u0443\u043d\u043a\u0446\u0438\u044e Add \u043d\u0430\u0448\u0435\u0433\u043e   \/\/ \u043e\u0431\u044a\u0435\u043a\u0442\u0430 \u043c\u0435\u043d\u044e \u043f\u0435\u0440\u0435\u0434\u0430\u0442\u044c \u044d\u043b\u0435\u043c\u0435\u043d\u0442 \u043c\u0435\u043d\u044e \u0441 \u0442\u0438\u043f\u043e\u043c \u0434\u0430\u043d\u043d\u044b\u0445 TMenuItem,   \/\/ \u0430 \u0434\u043b\u044f \u044d\u0442\u043e\u0433\u043e \u043c\u044b \u043e\u0431\u0440\u0430\u0449\u0430\u0435\u043c\u0441\u044f \u043a COM \u0437\u0430\u0433\u043e\u0442\u043e\u0432\u043a\u0435 \u0441 \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0443\u044e\u0449\u0438\u043c   \/\/ \u043d\u0430\u0437\u0432\u0430\u043d\u0438\u0435\u043c (\u0442\u0438\u043f\u0430 \u0434\u0430\u043d\u043d\u044b\u0445 TMenuItem), \u0438 \u0443 \u0437\u0430\u0433\u043e\u0442\u043e\u0432\u043a\u0438 \u0432\u044b\u0437\u044b\u0432\u0430\u0435\u043c   \/\/ \u0444\u0443\u043d\u043a\u0446\u0438\u044e \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u044f \u043d\u043e\u0432\u043e\u0433\u043e \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u0430 \u043c\u0435\u043d\u044e (\u0444\u0443\u043d\u043a\u0446\u0438\u044e \u043a\u043e\u043d\u0441\u0442\u0440\u0443\u043a\u0442\u043e\u0440,   \/\/ Create), \u0443 \u043a\u043e\u0442\u043e\u0440\u043e\u0439 \u0432 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435 \u0440\u043e\u0434\u0438\u0442\u0435\u043b\u044f \u0443\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u043c \u043d\u0430\u0448 \u044d\u043b\u0435\u043c\u0435\u043d\u0442   \/\/ \u043c\u0435\u043d\u044e (\u043c\u043e\u0436\u043d\u043e \u0443\u043a\u0430\u0437\u0430\u0442\u044c \u0447\u0442\u043e \u0443\u0433\u043e\u0434\u043d\u043e), \u0432 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u0435 \u0444\u0443\u043d\u043a\u0446\u0438\u044f Create   \/\/ \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u0442 \u043d\u0430 \u0441\u0432\u043e\u0435 \u043c\u0435\u0441\u0442\u043e \u043d\u043e\u0432\u044b\u0439 \u044d\u043a\u0437\u0435\u043c\u043f\u043b\u044f\u0440 \u043e\u0431\u044a\u0435\u043a\u0442\u0430 \u043c\u0435\u043d\u044e,   \/\/ \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0441\u0440\u0430\u0437\u0443 \u0436\u0435 \u043e\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442\u0441\u044f \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u0430 \u0434\u043b\u044f \u0444\u0443\u043d\u043a\u0446\u0438\u0438   \/\/ Add (\u0443 \u043d\u0430\u0448\u0435\u0433\u043e \u043c\u0435\u043d\u044e), \u0438 \u0434\u043e\u0431\u0430\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u0432 \u043c\u0435\u043d\u044e   TextViewerMenu.Items.Add(TMenuItem.Create(TextViewerMenu));    \/\/ \u0442\u0430\u043a \u043a\u0430\u043a \u043c\u044b \u0437\u043d\u0430\u0435\u043c, \u0447\u0442\u043e \u044d\u0442\u043e \u043f\u0435\u0440\u0432\u044b\u0439 \u044d\u043b\u0435\u043c\u0435\u043d\u0442 (\u043e\u0442\u0441\u0447\u0435\u0442\u044b \u043d\u0430\u0447\u0438\u043d\u0430\u044e\u0442\u0441\u044f \u0441 0),   \/\/ \u043e\u0431\u0440\u0430\u0449\u0430\u0435\u043c\u0441\u044f \u043a \u043d\u0435\u043c\u0443 \u0438 \u0438\u0437\u043c\u0435\u043d\u044f\u0435\u043c \u0442\u0435\u043a\u0441\u0442 \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u0430 \u043c\u0435\u043d\u044e   TextViewerMenu.Items[0].Caption:='\u0421\u043e\u0445\u0440\u0430\u043d\u0438\u0442\u044c';    \/\/ \u0434\u043e\u0431\u0430\u0432\u0438\u043c (\u043f\u0440\u0438\u0432\u044f\u0436\u0435\u043c) \u0444\u0443\u043d\u043a\u0446\u0438\u044e \u043a \u0441\u043e\u0431\u044b\u0442\u0438\u044e \u043d\u0430\u0436\u0430\u0442\u0438\u044f \u043f\u043e \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u0443 \u043c\u0435\u043d\u044e,   \/\/ \u0441\u0438\u043c\u0432\u043e\u043b \u0441\u043e\u0431\u0430\u0447\u043a\u0438 (@) \u0434\u043b\u044f \u043e\u0431\u0440\u0430\u0442\u043d\u043e\u0433\u043e \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u0441 \u043d\u0438\u0437\u043a\u043e\u0443\u0440\u043e\u0432\u043d\u0435\u0432\u044b\u043c   \/\/ \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435\u043c, \u043e\u043d \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \"\u0430\u0441\u0441\u043e\u0446\u0438\u0438\u0440\u043e\u0432\u0430\u0442\u044c\" \u043a\u0430\u043a\u043e\u0439 \u043b\u0438\u0431\u043e   \/\/ \u043e\u0431\u044a\u0435\u043a\u0442 \u0441 \u0447\u0435\u043c-\u043b\u0438\u0431\u043e (\u0432 \u0434\u0430\u043d\u043d\u043e\u043c \u0441\u043b\u0443\u0447\u0430\u0435 \u044f \u0431\u0435\u0440\u0443 \u043a\u043b\u044e\u0447\u0435\u0432\u043e\u0435 \u0441\u043b\u043e\u0432\u043e, \u043a\u043e\u0442\u043e\u0440\u043e\u0435   \/\/ \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \"\u0443\u043a\u0430\u0437\u0430\u0442\u0435\u043b\u0435\u043c\" \u043d\u0430 \u0444\u0440\u0430\u0433\u043c\u0435\u043d\u0442 \u043a\u043e\u0434\u0430, \u0438 \u0430\u0441\u0441\u043e\u0446\u0438\u0438\u0440\u0443\u044e \u0435\u0433\u043e \u0441\u043e \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435\u043c,   \/\/ \u043a\u043e\u0442\u043e\u0440\u043e\u0435 \u0434\u043e\u043b\u0436\u043d\u043e \u043d\u0430\u0445\u043e\u0434\u0438\u0442\u0441\u044f \u0432 \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u043d\u043e\u043c \u0441\u043e\u0431\u044b\u0442\u0438\u0438 OnClick), \u0442\u043e \u0435\u0441\u0442\u044c   \/\/ \u044f \u0440\u0430\u0431\u043e\u0442\u0430\u044e \u043d\u0435 \u0441 \u043f\u0440\u044f\u043c\u044b\u043c\u0438 \u043e\u0431\u044a\u0435\u043a\u0442\u0430\u043c\u0438, \u0430 \u0441 \u0443\u043a\u0430\u0437\u0430\u0442\u0435\u043b\u0435\u043c \u043d\u0430 \u043a\u043e\u043d\u043a\u0440\u0435\u0442\u043d\u044b\u0435 \u0434\u0430\u043d\u043d\u044b\u0435,   \/\/ \u0432 \u043d\u0438\u0437\u043a\u043e\u0443\u0440\u043e\u0432\u043d\u0435\u0432\u043e\u043c \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0438, \u0442\u0430\u043a\u0436\u0435 \u0435\u0441\u0442\u044c \u0441\u0438\u043c\u0432\u043e\u043b (^) - \u0441\u0442\u0440\u0435\u043b\u043a\u0430 \u0432\u0432\u0435\u0440\u0445,   \/\/ \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u0441\u043e\u0437\u0434\u0430\u0432\u0430\u0442\u044c \u0443\u043a\u0430\u0437\u0430\u0442\u0435\u043b\u0438 \u043d\u0430 \u0434\u0430\u043d\u043d\u044b\u0435 (\u043a\u043b\u044e\u0447\u0435\u0432\u043e\u0435 \u0441\u043b\u043e\u0432\u043e, \u043a\u043e\u0442\u043e\u0440\u043e\u0435   \/\/ \u043d\u0430\u043f\u0440\u044f\u043c\u0443\u044e \u043d\u0435 \u043c\u043e\u0436\u0435\u0442 \u0441\u043e\u0434\u0435\u0440\u0436\u0430\u0442\u044c \u0432 \u0441\u0435\u0431\u0435 \u043a\u0430\u043a\u0438\u0435-\u043b\u0438\u0431\u043e \u0434\u0430\u043d\u043d\u044b\u0435, \u0442\u043e\u043b\u044c\u043a\u043e \u0441\u0441\u044b\u043b\u043a\u0443 \u043d\u0430   \/\/ \u0434\u0440\u0443\u0433\u043e\u0435 \u043a\u043b\u044e\u0447\u0435\u0432\u043e\u0435 \u0441\u043b\u043e\u0432\u043e, \u0438\u043b\u0438 \u0441\u0441\u044b\u043b\u043a\u0443 \u043d\u0430 \u043a\u043e\u043d\u043a\u0440\u0435\u0442\u043d\u044b\u0435 (\u0432 \u043f\u0430\u043c\u044f\u0442\u0438) \u0434\u0430\u043d\u043d\u044b\u0435),   \/\/ \u043e\u0441\u043e\u0431\u0435\u043d\u043d\u043e\u0441\u0442\u0438 \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u043d\u043e\u0433\u043e \u0441\u0432\u043e\u0439\u0441\u0442\u0432\u0430 OnClick (\u0442\u0438\u043f \u0434\u0430\u043d\u043d\u044b\u0445 TNotifyEvent   \/\/ \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u044d\u0442\u043e \u0441\u0434\u0435\u043b\u0430\u0442\u044c), \u0432\u0441\u0435 \u0441\u0432\u043e\u0439\u0441\u0442\u0432\u0430 COM \u043e\u0431\u044a\u0435\u043a\u0442\u043e\u0432, \u0441\u0432\u044f\u0437\u0430\u043d\u043d\u044b\u0435 \u0441 \u0441\u043e\u0431\u044b\u0442\u0438\u044f\u043c\u0438   \/\/ \u0438\u043c\u0435\u044e\u0442 \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u043d\u044b\u0439 \u0442\u0438\u043f \u0434\u0430\u043d\u043d\u044b\u0445 TNotifyEvent   TextViewerMenu.Items[0].OnClick:=@SaveFileClick;    \/\/ \u0430\u0441\u0441\u043e\u0446\u0438\u0438\u0440\u0443\u044e \u0441 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u043e\u0439 TextViewer \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442   \/\/ \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u044f (\u0432\u044b\u0437\u043e\u0432\u0430 \u043a\u043e\u043d\u0441\u0442\u0440\u0443\u043a\u0442\u043e\u0440\u0430 \u0443 \u0442\u0438\u043f\u0430 \u0434\u0430\u043d\u043d\u044b\u0445 TMemo)   \/\/ \u043d\u043e\u0432\u043e\u0433\u043e \u043e\u0431\u044a\u0435\u043a\u0442\u0430 \u0442\u0435\u043a\u0441\u0442\u043e\u0432\u043e\u0433\u043e \u043f\u043e\u043b\u044f (\u0438\u0437 \u0437\u0430\u0433\u043e\u0442\u043e\u0432\u043e\u043a COM),   \/\/ \u0444\u0443\u043d\u043a\u0446\u0438\u044f Create \u043f\u0440\u0438\u043d\u0438\u043c\u0430\u0435\u0442 \u0432 \u0441\u0435\u0431\u044f \u0438\u0434\u0435\u043d\u0442\u0438\u0444\u0438\u043a\u0430\u0442\u043e\u0440 \u043e\u0431\u044a\u0435\u043a\u0442\u0430,   \/\/ \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u043f\u0440\u0430\u0440\u043e\u0434\u0438\u0442\u0435\u043b\u0435\u043c, \u0432 \u0434\u0430\u043d\u043d\u043e\u043c \u0441\u043b\u0443\u0447\u0430\u0435 \u044f \u043f\u0435\u0440\u0435\u0434\u0430\u044e   \/\/ \u0442\u0443\u0434\u0430 \u043e\u0431\u044a\u0435\u043a\u0442, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0431\u0443\u0434\u0435\u0442 \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u043f\u0440\u0430\u0440\u043e\u0434\u0438\u0442\u0435\u043b\u0435\u043c \u043d\u0430\u0448\u0435\u0433\u043e \u0442\u0438\u043f\u0430   \/\/ \u0434\u0430\u043d\u043d\u044b\u0445, \u0438\u0434\u0435\u043d\u0442\u0438\u0444\u0438\u043a\u0430\u0442\u043e\u0440 \u043a\u043e\u0442\u043e\u0440\u043e\u0433\u043e \u0442\u0430\u043a\u0436\u0435 \u0431\u0443\u0434\u0435\u043c \u043f\u043e\u043b\u0443\u0447\u0430\u0442\u044c \u043f\u0440\u0438   \/\/ \u0432\u044b\u0437\u043e\u0432\u0435 \u044d\u0442\u043e\u0439 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 (New)   TextViewer:= TMemo.Create(Owner);    \/\/ \u0440\u0430\u0437\u043c\u0435\u0441\u0442\u0438\u0442 \u0440\u0435\u0434\u0430\u043a\u0442\u043e\u0440 \u043d\u0430 \u0444\u043e\u0440\u043c\u0435   TextViewer.Parent:=Owner;    \/\/ \u043f\u0435\u0440\u0435\u043f\u043e\u0437\u0438\u0446\u0438\u0438\u043e\u043d\u0438\u0440\u0443\u0435\u043c, \u0438\u0437\u043c\u0435\u043d\u0438\u043c \u043e\u0442\u0441\u0442\u0443\u043f \u0441\u043b\u0435\u0432\u0430 (\u043e\u0442 \u043a\u0440\u0430\u044f \u043e\u043a\u043d\u0430),   \/\/ \u043e\u0442\u0441\u0442\u0443\u043f \u0441\u0432\u0435\u0440\u0445\u0443 \u043d\u0430 100 \u043f\u0438\u043a\u0441\u0435\u043b\u0435\u0439   TextViewer.Left:=100;   TextViewer.Top:=100;    \/\/ \u0438\u0437\u043c\u0435\u043d\u0438\u043c \u0440\u0430\u0437\u043c\u0435\u0440 \u0440\u0435\u0434\u0430\u043a\u0442\u043e\u0440\u0430, \u0438\u0441\u0445\u043e\u0434\u044f \u0438\u0437 \u0440\u0430\u0437\u043c\u0435\u0440\u043e\u0432   \/\/ \u043f\u0435\u0440\u0435\u0434\u0430\u0432\u0430\u0435\u043c\u043e\u0433\u043e \u0432\u043e \u0432\u0440\u0435\u043c\u044f \u0432\u044b\u0437\u043e\u0432\u0430 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 \u043e\u043a\u043d\u0430 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u044b,   \/\/ \u0430 \u0438\u043c\u0435\u043d\u043d\u043e \u0435\u0433\u043e \u0448\u0438\u0440\u0438\u043d\u044b, \u0438 \u0432\u044b\u0441\u043e\u0442\u044b, \u0438\u0437 \u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u0432\u044b\u0447\u0438\u0442\u0430\u0435\u043c   \/\/ 200 \u043f\u0438\u043a\u0441\u0435\u043b\u0435\u0439 (\u0443\u043a\u0430\u0437\u0430\u0442\u0435\u043b\u044c \u043d\u0430 \u043e\u043a\u043d\u043e \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u044b \u043f\u0435\u0440\u0435\u0434\u0430\u0435\u0442\u0441\u044f \u0432   \/\/ \u0441\u0432\u043e\u0439\u0441\u0442\u0432\u0435 Owner)   TextViewer.Width:=Owner.Width - 200;   TextViewer.Height:=Owner.Height - 200;    \/\/ \u0434\u043e\u0431\u0430\u0432\u0438\u043c \u043c\u0435\u043d\u044e \u043f\u043e \u043f\u0440\u0430\u0432\u043e\u043c\u0443 \u0442\u044b\u043a\u0443 (\u043c\u044b \u0441\u043e\u0437\u0434\u0430\u0432\u0430\u043b\u0438 \u0435\u0433\u043e \u0447\u0443\u0442\u044c \u0432\u044b\u0448\u0435)   TextViewer.PopupMenu:=TextViewerMenu;    \/\/ \u0441\u043e\u0437\u0434\u0430\u0434\u0438\u043c TStringList \u0434\u043b\u044f \u0441\u043e\u0445\u0440\u0430\u043d\u0435\u043d\u0438\u044f \u0444\u0430\u0439\u043b\u0430   FileSaver:= TStringList.Create;    \/\/ \u0441\u043e\u0437\u0434\u0430\u0434\u0438\u043c \u0438\u0437 \u0437\u0430\u0433\u043e\u0442\u043e\u0432\u043a\u0438 \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u043d\u043e\u0435 \u0434\u0438\u0430\u043b\u043e\u0433\u043e\u0432\u043e\u0435   \/\/ \u043e\u043a\u043d\u043e \u0441 \u0432\u044b\u0431\u043e\u0440\u043e\u043c \u0444\u0430\u0439\u043b\u0430, \u0432\u0441\u0435 \u0447\u0442\u043e \u043e\u043d\u043e \u0434\u0435\u043b\u0430\u0435\u0442 - \u044d\u0442\u043e   \/\/ \u043e\u0442\u043a\u0440\u044b\u0432\u0430\u0435\u0442\u0441\u044f, \u043f\u0440\u0438 \u0432\u044b\u0431\u043e\u0440\u0435 \u0444\u0430\u0439\u043b\u0430 \u0437\u0430\u043a\u0440\u044b\u0432\u0430\u0435\u0442\u0441\u044f, \u043d\u0430\u043f\u043e\u043b\u043d\u044f\u044f   \/\/ \u0441\u0432\u043e\u0435 \u0441\u0432\u043e\u0439\u0441\u0442\u0432\u043e FileName \u043f\u0443\u0442\u0435\u043c \u043a \u0432\u044b\u0431\u0440\u0430\u043d\u043d\u043e\u043c\u0443 \u0444\u0430\u0439\u043b\u0443   SelectFile:=TOpenDialog.Create(Owner); end;  \/\/ \u043e\u043f\u0438\u0448\u0435\u043c \u0434\u0435\u0441\u0442\u0440\u0443\u043a\u0442\u043e\u0440 (\u044d\u0442\u043e \u043d\u0435 \u043e\u0431\u044f\u0437\u0430\u0442\u0435\u043b\u044c\u043d\u043e, \u043d\u043e \u0442\u0430\u043a \u043a\u0430\u043a \u044f \u0435\u0433\u043e \u043e\u0431\u044a\u044f\u0432\u0438\u043b \/\/ \u0432 \u0437\u0430\u0433\u043e\u043b\u043e\u0432\u043a\u0435 \u043a\u043b\u0430\u0441\u0441\u0430, \u0440\u0435\u0430\u043b\u0438\u0437\u0443\u0435\u043c) destructor TextFileLoader.DestructeObject; begin    \/\/ inherited \u044d\u0442\u043e \u0441\u043f\u0435\u0446\u0438\u0430\u043b\u044c\u043d\u0430\u044f \u043a\u043e\u043c\u0430\u043d\u0434\u0430, \u043a\u043b\u044e\u0447\u0435\u0432\u043e\u0435 \u0441\u043b\u043e\u0432\u043e, \u043a\u043e\u0442\u043e\u0440\u043e\u0435   \/\/ \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u0432\u044b\u043f\u043e\u043b\u043d\u0438\u0442\u044c \u043f\u0440\u0435\u0434\u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d\u043d\u044b\u0439 (\u0432 \u0437\u0430\u0433\u043e\u0442\u043e\u0432\u043a\u0435 \u043a\u043b\u0430\u0441\u0441\u0430)   \/\/ \u043a\u043e\u0434 \u0438 \u043b\u043e\u0433\u0438\u043a\u0443, \u043a\u043e\u043c\u0430\u043d\u0434\u043e\u0439 inherited \u043c\u043e\u0436\u043d\u043e \u0438\u0437\u043c\u0435\u043d\u044f\u0442\u044c \u043f\u043e\u0440\u044f\u0434\u043e\u043a,   \/\/ \u043b\u0438\u0431\u043e \u0441\u043d\u0430\u0447\u0430\u043b\u0430 \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0435\u0442\u0441\u044f \u043d\u0430\u0448 \u043a\u043e\u0434, \u043b\u0438\u0431\u043e \u0441\u043d\u0430\u0447\u0430\u043b\u0430 \u043a\u043e\u0434 \u0438\u0437 \u043a\u043b\u0430\u0441\u0441\u0430   \/\/ \u0440\u043e\u0434\u0438\u0442\u0435\u043b\u044f (\u0435\u0441\u043b\u0438, \u043a\u043e\u043d\u0435\u0447\u043d\u043e, \u0442\u0430\u043a\u043e\u0432\u043e\u0439 \u0432\u043e\u043e\u0431\u0449\u0435 \u0435\u0441\u0442\u044c)   inherited; end;  \/\/ \u043e\u043f\u0438\u0448\u0435\u043c \u043b\u043e\u0433\u0438\u043a\u0443 \u0440\u0430\u0431\u043e\u0442\u044b \u0444\u0443\u043d\u043a\u0446\u0438\u0438 \u0434\u043b\u044f \u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0438 \u0444\u0430\u0439\u043b\u0430 function TextFileLoader.LoadFile:string; begin    \/\/ \u0434\u043b\u044f \u043d\u0430\u0447\u0430\u043b\u0430 \u043f\u0440\u043e\u0432\u0435\u0440\u0438\u043c \u043e\u0431\u044a\u0435\u043a\u0442 SelectFile, \u0435\u0441\u043b\u0438 \u043e\u043d \u0443\u0436\u0435   \/\/ \u043e\u0442\u043a\u0440\u044b\u0432\u0430\u043b\u0441\u044f, \u0437\u043d\u0430\u0447\u0438\u0442 \u0442\u0430\u043c \u0434\u043e\u043b\u0436\u0435\u043d \u0431\u044b\u0442\u044c \u043a \u0432\u044b\u0431\u0440\u0430\u043d\u043d\u043e\u043c\u0443 \u0444\u0430\u0439\u043b\u0443   \/\/   \/\/ \u0441\u043e\u0437\u0434\u0430\u0434\u0438\u043c \u0443\u0441\u043b\u043e\u0432\u0438\u0435, \u0435\u0441\u043b\u0438 \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u043c\u043e\u0435 \u0441\u0432\u043e\u0439\u0441\u0442\u0432\u0430 FileName,   \/\/ \u0443 \u043e\u0431\u044a\u0435\u043a\u0442\u0430 SelectFile \u0431\u043e\u043b\u044c\u0448\u0435, \u043c\u0435\u043d\u044c\u0448\u0435, \u0447\u0435\u043c \u043d\u0438\u0447\u0435\u0433\u043e   \/\/ \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0435\u043c \u043a\u043e\u0434 \u0443\u0441\u043b\u043e\u0432\u0438\u044f, \u0438\u043d\u0430\u0447\u0435 \u043e\u0442\u043a\u0440\u043e\u0435\u043c \u0434\u0438\u0430\u043b\u043e\u0433   if SelectFile.FileName &lt;> '' then   begin      \/\/ \u0432\u043d\u0443\u0442\u0440\u0438 \u043f\u0440\u043e\u0441\u0442\u043e \u043f\u0440\u0438 \u043f\u043e\u043c\u043e\u0449\u0438 \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u043d\u044b\u0445 \u0444\u0443\u043d\u043a\u0446\u0438\u0439,     \/\/ \u0434\u043e\u0441\u0442\u0443\u043f\u043d\u044b\u0445 \u0443 \u043e\u0431\u044a\u0435\u043a\u0442\u0430 FileLoader (\u043d\u0430\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u043d\u043d\u044b\u0445 \u043e\u0442     \/\/ \u043e\u0431\u044a\u0435\u043a\u0442\u0430 TStringList) \u0437\u0430\u0433\u0440\u0443\u0436\u0430\u0435\u043c \u0444\u0430\u0439\u043b \u0432\u043e \u0432\u0441\u0442\u0440\u043e\u0435\u043d\u043d\u043e\u0435     \/\/ \u0441\u0432\u043e\u0439\u0441\u0442\u0432\u043e TStringList, \u0441\u0432\u043e\u0439\u0441\u0442\u0432\u043e Text, \u0432 \u0444\u0443\u043d\u043a\u0446\u0438\u044e \u0434\u043b\u044f     \/\/ \u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0438 \u0444\u0430\u0439\u043b\u0430 \u043f\u0435\u0440\u0435\u0434\u0430\u0435\u043c \u043f\u0443\u0442\u044c \u043a \u0432\u044b\u0431\u0440\u0430\u043d\u043d\u043e\u043c\u0443 \u0432 \u0434\u0438\u0430\u043b\u043e\u0433\u043e\u0432\u043e\u043c     \/\/ \u043e\u043a\u043d\u0435 \u0444\u0430\u0439\u043b\u0443     FileLoader.LoadFromFile(SelectFile.FileName);      \/\/ \u0441\u043e \u0441\u0432\u043e\u0439\u0441\u0442\u0432\u043e\u043c Text (\u0443 \u0440\u0435\u0434\u0430\u043a\u0442\u043e\u0440\u0430 \u0442\u0435\u043a\u0441\u0442\u0430) \u0430\u0441\u0441\u043e\u0446\u0438\u0438\u0440\u0443\u0435\u043c     \/\/ \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u043c\u043e\u0435 \u0430\u043d\u0430\u043b\u043e\u0433\u0438\u0447\u043d\u043e\u0433\u043e \u0441\u0432\u043e\u0439\u0441\u0442\u0432\u0430 FileLoader, \u0432\u0430\u0436\u043d\u044b\u0439     \/\/ \u043c\u043e\u043c\u0435\u043d\u0442, \u0442\u0430\u043a \u043a\u0430\u043a \u0441\u0432\u043e\u0439\u0441\u0442\u0432\u0430 \u0432\u044b\u0437\u044b\u0432\u0430\u044e\u0442 \u0444\u0443\u043d\u043a\u0446\u0438\u0438, \u0430 \u043d\u0435     \/\/ \u043f\u0435\u0440\u0435\u0434\u0430\u044e\u0442 \u043d\u0430\u043f\u0440\u044f\u043c\u0443\u044e \u043e\u0431\u044a\u0435\u043a\u0442\u044b \u043c\u044b \u0430\u0441\u0441\u043e\u0446\u0438\u0438\u0440\u0443\u0435\u043c \u0438\u043c\u0435\u043d\u043d\u043e \u0442\u0435\u043a\u0441\u0442,     \/\/ \u0430 \u043d\u0435 \u0441\u0432\u043e\u0439\u0441\u0442\u0432\u043e \u043e\u0431\u044a\u0435\u043a\u0442\u0430 Text (\u0443 FileLoader), \u0441 \u0430\u043d\u0430\u043b\u043e\u0433\u0438\u0447\u043d\u044b\u043c     \/\/ \u0441\u0432\u043e\u0439\u0441\u0442\u0432\u043e\u043c \u0440\u0435\u0434\u0430\u043a\u0442\u043e\u0440\u0430 (TextViewer)     TextViewer.Text:=FileLoader.Text;   end   \/\/ \u0431\u043b\u043e\u0447\u043e\u043a \u043a\u043e\u0434\u0430 \u0434\u043b\u044f \u043a\u043e\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u0438 \"\u0438\u043d\u0430\u0447\u0435\"   \/\/ (\u0442\u043e \u0435\u0441\u0442\u044c \u0447\u0442\u043e \u0431\u0443\u0434\u0435\u043c \u0434\u0435\u043b\u0430\u0442\u044c, \u0435\u0441\u043b\u0438 \u0443\u0441\u043b\u043e\u0432\u0438\u0435 \u043d\u0435 \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u043e)   ELSE   begin      \/\/ \u0441\u043e\u0437\u0434\u0430\u0435\u043c \u0443\u0441\u043b\u043e\u0432\u0438\u0435, \u0435\u0441\u043b\u0438 \u0433\u043e\u0442\u043e\u0432\u0430\u044f \u0444\u0443\u043d\u043a\u0446\u0438\u044f Execute     \/\/ \u0432\u0435\u0440\u043d\u0443\u043b\u0430 \u0432 \u043c\u0435\u0441\u0442\u043e \u0441\u0432\u043e\u0435\u0433\u043e \u0432\u044b\u0437\u043e\u0432\u0430 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435, \u043a\u043e\u0442\u043e\u0440\u043e\u0435     \/\/ \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0443\u0435\u0442 \u0437\u0430\u0434\u0430\u043d\u043d\u043e\u043c\u0443 \u043d\u0430\u043c\u0438 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044e true, \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0435\u043c     \/\/ \u043a\u043e\u0434 \u0443\u0441\u043b\u043e\u0432\u0438\u044f, \u0442\u0430\u043a \u043a\u0430\u043a \u043c\u043e\u0436\u0435\u0442 \u0431\u044b\u0442\u044c \u0442\u0435\u043e\u0440\u0435\u0442\u0438\u0447\u0435\u0441\u043a\u0430\u044f \u0441\u0438\u0442\u0443\u0430\u0446\u0438\u044f,     \/\/ \u0432 \u043a\u043e\u0442\u043e\u0440\u043e\u0439 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c \u043e\u0442\u043a\u0440\u044b\u043b \u043e\u043a\u043d\u043e \u0432\u044b\u0431\u043e\u0440\u0430 \u0444\u0430\u0439\u043b\u0430, \u0438     \/\/ \u043f\u0440\u043e\u0441\u0442\u043e \u0437\u0430\u043a\u0440\u044b\u043b (\u0431\u0435\u0437 \u0432\u044b\u0431\u043e\u0440\u0430 \u0444\u0430\u0439\u043b\u0430), \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 FileName     \/\/ \u043e\u0441\u0442\u0430\u043d\u0435\u0442\u0441\u044f \u043f\u0443\u0441\u0442\u044b\u043c, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u043c\u044b \u0432\u044b\u0437\u044b\u0432\u0430\u0435\u043c \u0444\u0443\u043d\u043a\u0446\u0438\u044e \u043d\u0435     \/\/ \u043f\u0440\u043e\u0441\u0442\u043e \u043a\u0430\u043a \u043a\u043e\u043c\u0430\u043d\u0434\u0443, \u0430 \u0432 \u0444\u043e\u0440\u043c\u0430\u0442\u0435 \u0443\u0441\u043b\u043e\u0432\u0438\u044f, Execute     \/\/ \u0432\u0435\u0440\u043d\u0435\u0442 \u043d\u0430 \u0441\u0432\u043e\u0435 \u043c\u0435\u0441\u0442\u043e true \u0435\u0441\u043b\u0438 \u0444\u0430\u0439\u043b \u0431\u044b\u043b \u0432\u044b\u0431\u0440\u0430\u043d     if SelectFile.Execute = true then     begin        \/\/ \u0434\u0435\u043b\u0430\u0435\u043c \u0432\u0441\u0435 \u0442\u043e\u0436\u0435 \u0441\u0430\u043c\u043e\u0435 \u0447\u0442\u043e \u0438 \u0432 \u043e\u0441\u043d\u043e\u0432\u043d\u043e\u043c \u0443\u0441\u043b\u043e\u0432\u0438\u0438       FileLoader.LoadFromFile(SelectFile.FileName);       TextViewer.Text:=FileLoader.Text;     end;   end;  end;  \/\/ \u043e\u043f\u0438\u0448\u0435\u043c \u043b\u043e\u0433\u0438\u043a\u0443 \u0434\u043b\u044f \u0441\u043e\u0445\u0440\u0430\u043d\u0435\u043d\u0438\u044f \u0444\u0430\u0439\u043b\u0430, \u043f\u043e \u0441\u0443\u0442\u0438, \u0432\u0441\u0435 \u0442\u043e\u0436\u0435 \/\/ \u0441\u0430\u043c\u043e\u0435 \u0438 \u0432 \u043e\u0431\u0440\u0430\u0442\u043d\u043e\u043c \u043f\u043e\u0440\u044f\u0434\u043a\u0435, \u0438 \u0432\u043c\u0435\u0441\u0442\u043e \u0444\u0443\u043d\u043a\u0446\u0438\u0438 LoadFromFile \/\/ \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u043c \u0444\u0443\u043d\u043a\u0446\u0438\u044e SaveToFile procedure TextFileLoader.SaveFile(NewText:string); begin   \/\/ \u0434\u043b\u044f \u043d\u0430\u0447\u0430\u043b\u0430 \u043f\u0440\u043e\u0432\u0435\u0440\u0438\u043c \u043e\u0431\u044a\u0435\u043a\u0442 SelectFile, \u0435\u0441\u043b\u0438 \u043e\u043d \u0443\u0436\u0435   \/\/ \u043e\u0442\u043a\u0440\u044b\u0432\u0430\u043b\u0441\u044f, \u0437\u043d\u0430\u0447\u0438\u0442 \u0442\u0430\u043c \u0434\u043e\u043b\u0436\u0435\u043d \u0431\u044b\u0442\u044c \u043a \u0432\u044b\u0431\u0440\u0430\u043d\u043d\u043e\u043c\u0443 \u0444\u0430\u0439\u043b\u0443   \/\/   \/\/ \u0441\u043e\u0437\u0434\u0430\u0434\u0438\u043c \u0443\u0441\u043b\u043e\u0432\u0438\u0435, \u0435\u0441\u043b\u0438 \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u043c\u043e\u0435 \u0441\u0432\u043e\u0439\u0441\u0442\u0432\u0430 FileName,   \/\/ \u0443 \u043e\u0431\u044a\u0435\u043a\u0442\u0430 SelectFile \u0431\u043e\u043b\u044c\u0448\u0435, \u043c\u0435\u043d\u044c\u0448\u0435, \u0447\u0435\u043c \u043d\u0438\u0447\u0435\u0433\u043e   \/\/ \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0435\u043c \u043a\u043e\u0434 \u0443\u0441\u043b\u043e\u0432\u0438\u044f, \u0438\u043d\u0430\u0447\u0435 \u043e\u0442\u043a\u0440\u043e\u0435\u043c \u0434\u0438\u0430\u043b\u043e\u0433   if SelectFile.FileName &lt;> '' then   begin      \/\/ \u0441\u0432\u043e\u0439\u0441\u0442\u0432\u0443 Text, \u0443 \u043e\u0431\u044a\u0435\u043a\u0442\u0430 FileSaver \u043f\u0440\u0438\u0441\u0432\u0430\u0438\u0432\u0430\u0435\u043c     \/\/ \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u043c\u043e\u0435 \u0440\u0435\u0434\u0430\u043a\u0442\u043e\u0440\u0430 \u0442\u0435\u043a\u0441\u0442\u0430 (TextViewer)     FileSaver.Text:=TextViewer.Text;      \/\/ \u0441\u043e\u0445\u0440\u0430\u043d\u044f\u0435\u043c \u043f\u0440\u0438 \u043f\u043e\u043c\u043e\u0449\u0438 \u0432\u044b\u0437\u043e\u0432 \u0433\u043e\u0442\u043e\u0432\u043e\u0439 \u0444\u0443\u043d\u043a\u0446\u0438\u0438     \/\/ SaveToFile, \u043f\u0443\u0442\u044c \u043a \u0444\u0430\u0439\u043b\u0443 \u0431\u0435\u0440\u0435\u043c \u0438\u0437 SelectFile     FileSaver.SaveToFile(SelectFile.FileName);   end   \/\/ \u0431\u043b\u043e\u0447\u043e\u043a \u043a\u043e\u0434\u0430 \u0434\u043b\u044f \u043a\u043e\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u0438 \"\u0438\u043d\u0430\u0447\u0435\"   \/\/ (\u0442\u043e \u0435\u0441\u0442\u044c \u0447\u0442\u043e \u0431\u0443\u0434\u0435\u043c \u0434\u0435\u043b\u0430\u0442\u044c, \u0435\u0441\u043b\u0438 \u0443\u0441\u043b\u043e\u0432\u0438\u0435 \u043d\u0435 \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u043e)   ELSE   begin      \/\/ \u0441\u043e\u0437\u0434\u0430\u0435\u043c \u0443\u0441\u043b\u043e\u0432\u0438\u0435, \u0435\u0441\u043b\u0438 \u0433\u043e\u0442\u043e\u0432\u0430\u044f \u0444\u0443\u043d\u043a\u0446\u0438\u044f Execute     \/\/ \u0432\u0435\u0440\u043d\u0443\u043b\u0430 \u0432 \u043c\u0435\u0441\u0442\u043e \u0441\u0432\u043e\u0435\u0433\u043e \u0432\u044b\u0437\u043e\u0432\u0430 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435, \u043a\u043e\u0442\u043e\u0440\u043e\u0435     \/\/ \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0443\u0435\u0442 \u0437\u0430\u0434\u0430\u043d\u043d\u043e\u043c\u0443 \u043d\u0430\u043c\u0438 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044e true, \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0435\u043c     \/\/ \u043a\u043e\u0434 \u0443\u0441\u043b\u043e\u0432\u0438\u044f, \u0442\u0430\u043a \u043a\u0430\u043a \u043c\u043e\u0436\u0435\u0442 \u0431\u044b\u0442\u044c \u0442\u0435\u043e\u0440\u0435\u0442\u0438\u0447\u0435\u0441\u043a\u0430\u044f \u0441\u0438\u0442\u0443\u0430\u0446\u0438\u044f,     \/\/ \u0432 \u043a\u043e\u0442\u043e\u0440\u043e\u0439 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c \u043e\u0442\u043a\u0440\u044b\u043b \u043e\u043a\u043d\u043e \u0432\u044b\u0431\u043e\u0440\u0430 \u0444\u0430\u0439\u043b\u0430, \u0438     \/\/ \u043f\u0440\u043e\u0441\u0442\u043e \u0437\u0430\u043a\u0440\u044b\u043b (\u0431\u0435\u0437 \u0432\u044b\u0431\u043e\u0440\u0430 \u0444\u0430\u0439\u043b\u0430), \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 FileName     \/\/ \u043e\u0441\u0442\u0430\u043d\u0435\u0442\u0441\u044f \u043f\u0443\u0441\u0442\u044b\u043c, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u043c\u044b \u0432\u044b\u0437\u044b\u0432\u0430\u0435\u043c \u0444\u0443\u043d\u043a\u0446\u0438\u044e \u043d\u0435     \/\/ \u043f\u0440\u043e\u0441\u0442\u043e \u043a\u0430\u043a \u043a\u043e\u043c\u0430\u043d\u0434\u0443, \u0430 \u0432 \u0444\u043e\u0440\u043c\u0430\u0442\u0435 \u0443\u0441\u043b\u043e\u0432\u0438\u044f, Execute     \/\/ \u0432\u0435\u0440\u043d\u0435\u0442 \u043d\u0430 \u0441\u0432\u043e\u0435 \u043c\u0435\u0441\u0442\u043e true \u0435\u0441\u043b\u0438 \u0444\u0430\u0439\u043b \u0431\u044b\u043b \u0432\u044b\u0431\u0440\u0430\u043d     if SelectFile.Execute = true then     begin        \/\/ \u0434\u0435\u043b\u0430\u0435\u043c \u0432\u0441\u0435 \u0442\u043e\u0436\u0435 \u0441\u0430\u043c\u043e\u0435 \u0447\u0442\u043e \u0438 \u0432 \u043e\u0441\u043d\u043e\u0432\u043d\u043e\u043c \u0443\u0441\u043b\u043e\u0432\u0438\u0438       FileSaver.Text:=TextViewer.Text;       FileSaver.SaveToFile(SelectFile.FileName);     end;   end; end;  \/\/ \u043e\u043f\u0438\u0448\u0435\u043c \u043b\u043e\u0433\u0438\u043a\u0443 \"\u043e\u0431\u0435\u0440\u0442\u043a\u0438\" \u0434\u043b\u044f \u0441\u043e\u0445\u0440\u0430\u043d\u0435\u043d\u0438\u044f \u0444\u0430\u0439\u043b\u0430 \u043f\u043e \u043a\u043b\u0438\u043a\u0443 \u0432 \u043c\u0435\u043d\u044e procedure TextFileLoader.SaveFileClick(Sender:TObject); begin    \/\/ \u0442\u0430\u043a \u043a\u0430\u043a \u043d\u0430\u0448\u0430 \u043e\u0440\u0438\u0433\u0438\u043d\u0430\u043b\u044c\u043d\u0430\u044f \u0444\u0443\u043d\u043a\u0446\u0438\u044f \u043f\u0440\u0438\u043d\u0438\u043c\u0430\u0435\u0442 \u0432 \u0441\u0435\u0431\u044f \u043d\u043e\u0432\u043e\u0435 \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u043c\u043e\u0435,   \/\/ \u043a\u043e\u0442\u043e\u0440\u043e\u0435 \u043c\u044b \u043f\u044b\u0442\u0430\u0435\u043c\u0441\u044f \u0441\u043e\u0445\u0440\u0430\u043d\u0438\u0442\u044c, \u043c\u044b \u0432\u043e\u0437\u044c\u043c\u0435\u043c \u0442\u0435\u043a\u0443\u0449\u0435\u0435 \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u043c\u043e\u0435 \u0438\u0437 \u0440\u0435\u0434\u0430\u043a\u0442\u043e\u0440\u0430   \/\/ \u0442\u0435\u043a\u0441\u0442\u0430, \u0438\u0437 \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u043d\u043e\u0433\u043e \u0441\u0432\u043e\u0439\u0441\u0442\u0432\u0430 \u0440\u0435\u0434\u0430\u043a\u0442\u043e\u0440\u0430 Text   SaveFile(TextViewer.Text); end;  \/\/ \u0442\u0430\u043a \u043a\u0430\u043a \u043e\u0440\u0438\u0433\u0438\u043d\u0430\u043b\u044c\u043d\u043e\u0435 \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u043c\u043e\u0435 \u0432\u0441\u0435 \u0435\u0449\u0435 \u0445\u0440\u0430\u043d\u0438\u0442\u0441\u044f \u0432 FileLoader, \/\/ \u043c\u044b \u043c\u043e\u0436\u0435\u043c \u0441\u0431\u0440\u043e\u0441\u0438\u0442\u044c \u0442\u0435\u043a\u0441\u0442 procedure TextFileLoader.ResetFile; begin      \/\/ \u0441\u043e \u0441\u0432\u043e\u0439\u0441\u0442\u0432\u043e\u043c Text (\u0443 \u0440\u0435\u0434\u0430\u043a\u0442\u043e\u0440\u0430 \u0442\u0435\u043a\u0441\u0442\u0430) \u0430\u0441\u0441\u043e\u0446\u0438\u0438\u0440\u0443\u0435\u043c   \/\/ \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u043c\u043e\u0435 \u0430\u043d\u0430\u043b\u043e\u0433\u0438\u0447\u043d\u043e\u0433\u043e \u0441\u0432\u043e\u0439\u0441\u0442\u0432\u0430 FileLoader, \u0432\u0430\u0436\u043d\u044b\u0439   \/\/ \u043c\u043e\u043c\u0435\u043d\u0442, \u0442\u0430\u043a \u043a\u0430\u043a \u0441\u0432\u043e\u0439\u0441\u0442\u0432\u0430 \u0432\u044b\u0437\u044b\u0432\u0430\u044e\u0442 \u0444\u0443\u043d\u043a\u0446\u0438\u0438, \u0430 \u043d\u0435   \/\/ \u043f\u0435\u0440\u0435\u0434\u0430\u044e\u0442 \u043d\u0430\u043f\u0440\u044f\u043c\u0443\u044e \u043e\u0431\u044a\u0435\u043a\u0442\u044b \u043c\u044b \u0430\u0441\u0441\u043e\u0446\u0438\u0438\u0440\u0443\u0435\u043c \u0438\u043c\u0435\u043d\u043d\u043e \u0442\u0435\u043a\u0441\u0442,   \/\/ \u0430 \u043d\u0435 \u0441\u0432\u043e\u0439\u0441\u0442\u0432\u043e \u043e\u0431\u044a\u0435\u043a\u0442\u0430 Text (\u0443 FileLoader), \u0441 \u0430\u043d\u0430\u043b\u043e\u0433\u0438\u0447\u043d\u044b\u043c   \/\/ \u0441\u0432\u043e\u0439\u0441\u0442\u0432\u043e\u043c \u0440\u0435\u0434\u0430\u043a\u0442\u043e\u0440\u0430 (TextViewer)   TextViewer.Text:=FileLoader.Text; end;  end. <\/code><\/pre>\n<\/p>\n<\/div>\n<\/details>\n<p>\u0422\u0435\u043f\u0435\u0440\u044c \u043e\u0442\u043a\u0440\u043e\u0435\u043c \u0433\u0440\u0430\u0444\u0438\u0447\u0435\u0441\u043a\u0438\u0439 \u0440\u0435\u0434\u0430\u043a\u0442\u043e\u0440, \u0442\u043a\u043d\u0435\u043c \u0432\u00a0\u0444\u043e\u0440\u043c\u0443 (\u043e\u043d\u0430 \u0432\u044b\u0431\u0435\u0440\u0435\u0442\u0441\u044f \u0432\u00a0\u0441\u0432\u043e\u0439\u0441\u0442\u0432\u0430\u0445 \u043e\u0431\u044a\u0435\u043a\u0442\u0430), \u0432\u043e\u00a0\u0432\u043a\u043b\u0430\u0434\u043a\u0435 \u0441\u043e\u0431\u044b\u0442\u0438\u044f \u043d\u0430\u0439\u0434\u0435\u043c \u0441\u043e\u0431\u044b\u0442\u0438\u0435 OnShow (FormShow), \u0434\u0432\u0430 \u0440\u0430\u0437\u0430 \u0442\u043a\u043d\u0435\u043c \u0432\u00a0\u043f\u0443\u0441\u0442\u043e\u0435 \u043f\u043e\u043b\u0435 \u0440\u044f\u0434\u043e\u043c \u0438 \u0443\u00a0\u043d\u0430\u0441 \u0441\u0433\u0435\u043d\u0435\u0440\u0438\u0440\u0443\u0435\u0442\u0441\u044f \u0433\u043e\u0442\u043e\u0432\u044b\u0439 \u0431\u043b\u043e\u0447\u043e\u043a \u043f\u0440\u043e\u0446\u0435\u0434\u0443\u0440\u044b \u0434\u043b\u044f\u00a0\u044d\u0442\u043e\u0433\u043e \u0441\u043e\u0431\u044b\u0442\u0438\u044f, \u043d\u0430\u043f\u0438\u0448\u0435\u043c \u0442\u0443\u0434\u0430 \u044d\u0442\u043e:<\/p>\n<pre><code class=\"delphi\">TextLDR:=TextFileLoader.New(Form1);<\/code><\/pre>\n<p>\u0410\u00a0\u0432\u0432\u0435\u0440\u0445\u0443 \u043d\u0430\u0448\u0435\u0439 \u0444\u043e\u0440\u043c\u044b (\u043c\u0435\u0436\u0434\u0443 \u0437\u0430\u0433\u043e\u043b\u043e\u0432\u043a\u043e\u043c \u0444\u043e\u0440\u043c\u044b, \u0438 \u0442\u0435\u043b\u043e\u043c \u0444\u043e\u0440\u043c\u044b \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u044b, \u0433\u0434\u0435 \u043e\u0431\u044a\u044f\u0432\u043b\u0435\u043d\u043d\u0430\u044f \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u0430\u044f Form1) \u0434\u043e\u043f\u0438\u0448\u0435\u043c \u044d\u0442\u043e:<\/p>\n<pre><code class=\"delphi\">\/\/ \u043e\u0431\u044a\u044f\u0432\u043b\u044f\u0435\u043c \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u0443\u044e \u0442\u0438\u043f\u0430 \u043d\u0430\u0448 \u0442\u0438\u043f\u0430 \u0434\u0430\u043d\u043d\u044b\u0445 (TextFileLoader), \u043d\u0430\u0437\u0432\u0430\u043d\u0438\u0435 \u043c\u043e\u0436\u0435\u0442  \/\/ \u0431\u044b\u0442\u044c \u043b\u044e\u0431\u044b\u043c,  \u0443 \u043c\u0435\u043d\u044f TextLDR TextLDR:TextFileLoader;<\/code><\/pre>\n<p>\u0417\u0430\u043f\u0443\u0441\u043a\u0430\u0435\u043c \u0438 \u0432\u0438\u0434\u0438\u043c \u043d\u0430\u0448 \u0433\u043e\u0442\u043e\u0432\u044b\u0439 \u0440\u0435\u0434\u0430\u043a\u0442\u043e\u0440<\/p>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/d3d\/74f\/718\/d3d74f71817facd6fa75dcee1e95f15e.png\" width=\"727\" height=\"554\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/d3d\/74f\/718\/d3d74f71817facd6fa75dcee1e95f15e.png\"\/><\/figure>\n<p>\u041e\u0442\u043b\u0438\u0447\u043d\u043e! \u0422\u0435\u043f\u0435\u0440\u044c, \u043a\u043e\u0433\u0434\u0430 \u0443\u00a0\u043d\u0430\u0441 \u0435\u0441\u0442\u044c \u0431\u0430\u0437\u043e\u0432\u043e\u0435 \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u043e\u0431\u00a0\u041e\u041e\u041f \u043c\u043e\u0436\u043d\u043e \u0441\u0434\u0435\u043b\u0430\u0442\u044c \u043d\u0435\u0447\u0442\u043e \u0431\u043e\u043b\u0435\u0435 \u0441\u043b\u043e\u0436\u043d\u043e\u0435. \u0415\u0434\u0438\u043d\u0441\u0442\u0432\u0435\u043d\u043d\u043e\u0435 \u043d\u0430\u00a0\u0447\u0442\u043e\u00a0\u043d\u0443\u0436\u043d\u043e \u043e\u0431\u0440\u0430\u0442\u0438\u0442\u044c \u0432\u043d\u0438\u043c\u0430\u043d\u0438\u0435\u00a0\u2014 \u044d\u0442\u043e \u0442\u043e, \u0447\u0442\u043e\u00a0\u044f \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043b \u043f\u0440\u0438\u043c\u0435\u0440 \u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0438 \u0442\u0435\u043a\u0441\u0442\u043e\u0432\u043e\u0433\u043e \u0444\u0430\u0439\u043b\u0430, \u0434\u043b\u044f\u00a0\u0441\u0447\u0438\u0442\u044b\u0432\u0430\u043d\u0438\u044f \u0431\u0430\u0439\u0442\u043e\u0432 \u0444\u0430\u0439\u043b\u0430, \u0438 \u0438\u0445 \u0438\u043d\u0442\u0435\u0440\u043f\u0440\u0435\u0442\u0430\u0446\u0438\u0438 \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u044e\u0442 \u0441\u043f\u0435\u0446\u0438\u0430\u043b\u044c\u043d\u044b\u0435 \u0433\u043e\u0442\u043e\u0432\u044b\u0435 \u00ab\u0444\u0430\u0439\u043b\u043e\u0432\u044b\u0435 \u043f\u043e\u0442\u043e\u043a\u0438\u00bb, \u0438 \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u043d\u044b\u0435 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 Windows (ShellAPI), \u043d\u043e\u00a0\u044d\u0442\u043e\u0433\u043e \u043d\u0430\u043c \u0445\u0432\u0430\u0442\u0438\u0442 \u0437\u0430\u00a0\u0433\u043b\u0430\u0437\u0430.<\/p>\n<p>\u0422\u044b\u043a \u043f\u043e\u00a0\u043c\u0435\u043d\u044e \u00ab\u0444\u0430\u0439\u043b\\\u0441\u043e\u0437\u0434\u0430\u0442\u044c \u043c\u043e\u0434\u0443\u043b\u044c\u00bb, \u0442\u0435\u043f\u0435\u0440\u044c \u0434\u043e\u043f\u043e\u043b\u043d\u0438\u043c \u043d\u0430\u0448\u0443 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0443:<\/p>\n<details class=\"spoiler\">\n<summary>\u041f\u0415\u0420\u0415\u0419\u0414\u0415\u041c \u041a \u0422\u0415\u0425\u041d\u041e\u041a\u041e\u041b\u0414\u0423\u041d\u0421\u0422\u0412\u0423<\/summary>\n<div class=\"spoiler__content\">\n<pre><code class=\"delphi\">\/\/ \u0443\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u043c \u0438\u043c\u044f \u043d\u0430\u0448\u0435\u0439 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0438 unit Unit3;  \/\/ \u0441\u043f\u043e\u0441\u043e\u0431 \u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0446\u0438\u0438 \u0444\u0430\u0439\u043b\u0430 {$mode ObjFPC}{$H+}  \/\/ \u0443\u043a\u0430\u0437\u0430\u0442\u0435\u043b\u044c \u0442\u043e\u0433\u043e, \u0447\u0442\u043e \u043d\u0430\u0448 \u0442\u0438\u043f \u0434\u0430\u043d\u043d\u044b\u0445 \u043c\u043e\u0436\u0435\u0442 \u0431\u044b\u0442\u044c \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u043e\u043c interface  \/\/ \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0438\u043c \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0438 uses   \/\/ \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0430\u0435\u043c \u043d\u0430\u0448\u0443 \u0434\u0440\u0443\u0433\u0443\u044e \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0443 - Unit2, \u043d\u0430\u043c \u043f\u043e\u043d\u0430\u0434\u043e\u0431\u0438\u0442\u0441\u044f   \/\/ \u043e\u0431\u044a\u0435\u043a\u0442, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043c\u044b \u0432 \u043d\u0435\u0439 \u0441\u043e\u0437\u0434\u0430\u0432\u0430\u043b\u0438   Unit2,   Classes, SysUtils, Forms, Controls, Graphics, Dialogs, StdCtrls, Grids,   ExtCtrls;  \/\/ \u043e\u043f\u0438\u0448\u0435\u043c \u0437\u0430\u0433\u043e\u043b\u043e\u0432\u043e\u043a \u043d\u0430\u0448\u0435\u0433\u043e \u0442\u0438\u043f\u0430 \u0434\u0430\u043d\u043d\u044b\u0445 \/\/ \/\/ \u0442\u043e, \u0447\u0442\u043e \u043c\u044b \u0441\u043e\u0431\u0438\u0440\u0430\u0435\u043c \u0432 \u0438\u0442\u043e\u0433\u0435, \u043c\u043e\u0436\u043d\u043e \u043d\u0430\u0437\u0432\u0430\u0442\u044c \"\u0443\u0441\u043b\u043e\u0432\u043d\u044b\u043c \u043c\u043e\u0434\u0443\u043b\u0435\u043c\" \u043d\u0430\u0448\u0435\u0439 \/\/ \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u044b, \u0432 \u043e\u0431\u044b\u0447\u043d\u043e\u0439 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0435 \u0442\u0430\u043a\u0438\u0445 \u043c\u043e\u0434\u0443\u043b\u0435\u0439 \u043c\u043d\u043e\u0433\u043e, \u0434\u043b\u044f \u0443\u0434\u043e\u0431\u043d\u043e\u0439 \/\/ \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438, \u0438 \u043f\u043e\u0438\u0441\u043a\u0430 \u0432\u0435\u0440\u043e\u044f\u0442\u043d\u044b\u0445 \u043e\u0448\u0438\u0431\u043e\u043a, \u043c\u044b \u0440\u0430\u0437\u0431\u0438\u0432\u0430\u0435\u043c \u043d\u0430\u0448 \u043c\u043e\u0434\u0443\u043b\u044c \/\/ \u043d\u0430 \u0441\u043e\u0441\u0442\u0430\u0432\u043d\u044b\u0435 \"\u043a\u043b\u0430\u0441\u0441\u044b\" (\u043d\u0430\u0448\u0438 \u0442\u0438\u043f\u044b \u0434\u0430\u043d\u043d\u044b\u0445), \u0434\u043b\u044f \u043a\u0430\u0436\u0434\u043e\u0433\u043e \u0438\u0437 \u043d\u0438\u0445 \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u043e \/\/ \u043e\u043f\u0438\u0441\u044b\u0432\u0430\u0435\u043c \u043b\u043e\u0433\u0438\u043a\u0443, \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u0435\u043c, \u043f\u0440\u043e\u0432\u0435\u0440\u044f\u0435\u043c, \u043e\u043d \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442, \u043f\u0438\u0448\u0435\u043c \u0434\u0430\u043b\u044c\u0448\u0435, \/\/ \u043f\u043e\u0441\u043b\u0435 \u0447\u0435\u0433\u043e \u043d\u0430 \u0431\u0430\u0437\u0435 \u044d\u0442\u043e\u0433\u043e \"\u043a\u043b\u0430\u0441\u0441\u0430\" \u0441\u043e\u0437\u0434\u0430\u0435\u043c \u0434\u043e\u0447\u0435\u0440\u043d\u0438\u0439, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0441\u043e\u0445\u0440\u0430\u043d\u044f\u0435\u0442 \/\/ \u0438 \u043a\u043e\u043f\u0438\u0440\u0443\u0435\u0442 \u0432\u0435\u0441\u044c \u0444\u0443\u043d\u043a\u0446\u0438\u043e\u043d\u0430\u043b \u0438 \u043b\u043e\u0433\u0438\u043a\u0443 \u0440\u043e\u0434\u0438\u0442\u0435\u043b\u044f, \u0430 \u0442\u0430\u043a\u0436\u0435 \u0434\u043e\u043f\u043e\u043b\u043d\u044f\u0435\u0442 \u0435\u0435, \/\/ \u044d\u0442\u043e \u043e\u0441\u043d\u043e\u0432\u043d\u0430\u044f \u0438\u0437 \u0444\u0438\u0448\u0435\u043a \u043e\u043e\u043f, \u0438\u043c\u0435\u043d\u043d\u043e \u0434\u0430\u043d\u043d\u044b\u0439 \u043c\u0435\u0442\u043e\u0434 (\u043a\u043e\u0442\u043e\u0440\u044b\u043c \u043c\u044b \u0441\u0435\u0439\u0447\u0430\u0441 \/\/ \u043e\u043f\u0438\u0441\u044b\u0432\u0430\u0435\u043c \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0443 \u043d\u0430\u0437\u044b\u0432\u0430\u0435\u0442\u0441\u044f \u043a\u043b\u0430\u0441\u0441\u0438\u0447\u0435\u0441\u043a\u0438 (\u0438\u0437 \u043a\u043e\u043d\u0446\u0435\u043f\u0446\u0438\u0438 \u043e\u043e\u043f), \/\/ \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043f\u043e\u0441\u0442\u0440\u043e\u0435\u043d \u0432 \u0444\u043e\u0440\u043c\u0430\u0442\u0435 \u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e\u0441\u0442\u0435\u0439 \"\u0440\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u0441\u043a\u0438\u0439 \u043a \u0434\u043e\u0447\u0435\u0440\u043d\u0435\u043c\u0443\", \/\/ \/\/ \u0435\u0449\u0435 \u043d\u0435\u043c\u043d\u043e\u0433\u043e \u043e \"\u043c\u043e\u0434\u0438\u0444\u0438\u043a\u0430\u0442\u043e\u0440\u0430\u0445 \u0434\u043e\u0441\u0442\u0443\u043f\u0430\" \u043a \u0440\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u0441\u043a\u043e\u043c\u0443 \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u043c\u043e\u043c\u0443, \/\/ \u043c\u043e\u0434\u0438\u0444\u0438\u043a\u0430\u0442\u043e\u0440\u044b \u0434\u043e\u0441\u0442\u0443\u043f\u0430, \u044d\u0442\u043e \u043a\u043b\u044e\u0447\u0435\u0432\u044b\u0435 \u0441\u043b\u043e\u0432\u0430 public, private, protected, \/\/ \u0438 \u0442\u0434, \u0438\u0445 \u0437\u0430\u0434\u0430\u0447\u0430 \u0438\u0437\u043e\u043b\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u043d\u0435\u043d\u0443\u0436\u043d\u044b\u0435 \u0447\u0430\u0441\u0442\u0438 \u0440\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u0441\u043a\u043e\u0433\u043e \u043e\u0431\u044a\u0435\u043a\u0442\u0430, \/\/ \u0432 \u0434\u043e\u0447\u0435\u0440\u043d\u0435\u043c \u0432 \u0440\u0430\u043c\u043a\u0430\u0445 \u0432\u0441\u0435\u0433\u043e \u043a\u043e\u0434\u0430 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u044b (\u0434\u043b\u044f \u043c\u0430\u0441\u0448\u0442\u0430\u0431\u043d\u044b\u0445 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c, \/\/ \u0447\u0442\u043e\u0431\u044b \u0441\u043b\u0443\u0447\u0430\u0439\u043d\u043e, \u0438\u043b\u0438 \u0435\u0441\u043b\u0438 \u0437\u0430\u0431\u0443\u0434\u0435\u043c, \u043d\u0435 \u0432\u043c\u0435\u0448\u0430\u0442\u044c\u0441\u044f \u0432 \u0443\u0436\u0435 \u0440\u0430\u0431\u043e\u0447\u0438\u0439 \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442 \/\/ (\u043a\u043b\u0430\u0441\u0441) \u0438 \u043d\u0435 \u0441\u043b\u043e\u043c\u0430\u0442\u044c \u0435\u0433\u043e, \u0438\u043b\u0438 \u0442\u043e, \u0447\u0442\u043e \u043e\u0442 \u043d\u0435\u0433\u043e \u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e), \u043c\u044b \u0431\u0443\u0434\u0435\u043c \/\/ \u043f\u0440\u043e\u0435\u043a\u0442\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u043d\u0430\u0448 \"\u043c\u043e\u0434\u0443\u043b\u044c\" \u043f\u043e \u043a\u043b\u0430\u0441\u0441\u0438\u0447\u0435\u0441\u043a\u043e\u0439 \u043b\u043e\u0433\u0438\u0447\u0435\u0441\u043a\u043e\u0439 \u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e\u0441\u0442\u0438, \/\/ \u0441\u043e \u0441\u0432\u043e\u0431\u043e\u0434\u043d\u044b\u043c \u0434\u043e\u0441\u0442\u0443\u043f\u043e\u043c \u043a\u043e \u0432\u0441\u0435\u043c \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u0430\u043c \u0438 \u0440\u043e\u0434\u0438\u0442\u0435\u043b\u044f\u043c \u043c\u043e\u0434\u0443\u043b\u044f, \u0438 \u0434\u043b\u044f \/\/ \u043a\u0430\u0436\u0434\u043e\u0433\u043e \u0434\u043e\u0447\u0435\u0440\u043d\u0435\u0433\u043e \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u0430 \u0442\u0430\u043a\u0436\u0435 \u0431\u0443\u0434\u0435\u043c \u043e\u0441\u0442\u0430\u0432\u043b\u044f\u0442\u044c \u043e\u0431\u0449\u0435\u0434\u043e\u0441\u0442\u0443\u043f\u043d\u044b\u043c (public) \/\/ \u0432\u0441\u0435, \u0438 \u0442\u043e\u043b\u044c\u043a\u043e \u0432 \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u0435\u043c \u043a\u043b\u0430\u0441\u0441\u0435 \u043d\u0430\u0448\u0435\u0433\u043e \u043c\u043e\u0434\u0443\u043b\u044f (\u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0443\u0436\u0435 \u0441\u043e\u0431\u0435\u0440\u0435\u0442 \u0438\u0437 \/\/ \u0432\u0441\u0435\u0439 \u044d\u0442\u043e\u0439 \u043c\u0430\u0442\u0440\u0435\u0448\u043a\u0438 \u043a\u043b\u0430\u0441\u0441\u043e\u0432) \u0433\u043e\u0442\u043e\u0432\u044b\u0439 \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442 \u0437\u0430\u043a\u0440\u043e\u0435\u043c \u0432\u0441\u0435 \u0447\u0442\u043e \u043d\u0435 \/\/ \u0434\u043e\u043b\u0436\u043d\u043e \u0431\u044b\u0442\u044c \u0432\u0438\u0434\u043d\u043e, \u0438 \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \"\u0441\u0438\u0441\u0442\u0435\u043c\u043d\u044b\u043c\" \u0434\u043b\u044f \u043d\u0430\u0448\u0435\u0433\u043e \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442\u0430 \/\/ \/\/ \u0442\u0430\u043a\u043e\u0439 \u043f\u043e\u0434\u0445\u043e\u0434 \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u0433\u0438\u0431\u043a\u043e (\u0438 \u0432 \u043b\u044e\u0431\u043e\u0439 \u043c\u043e\u043c\u0435\u043d\u0442 \u0438\u0437\u043c\u0435\u043d\u044f\u0442\u044c \u043c\u043e\u0434\u0443\u043b\u044c), \/\/ \u044d\u0442\u043e \u043a\u043b\u0430\u0441\u0441\u0438\u0447\u0435\u0441\u043a\u0438\u0439 \u043f\u043e\u0434\u0445\u043e\u0434 \u043e\u043e\u043f (\u0438\u0437 \u043a\u043e\u043d\u0446\u0435\u043f\u0446\u0438\u0438), \u043d\u043e \u043e\u043d \u043d\u0435 \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \/\/ \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u043a\u0430\u043a\u0438\u0435-\u043b\u0438\u0431\u043e \u0447\u0430\u0441\u0442\u0438 \u043d\u0430\u0448\u0435\u0433\u043e \u043c\u043e\u0434\u0443\u043b\u044f \u0432 \u0434\u0440\u0443\u0433\u0438\u0445 \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442\u0430\u0445, \/\/ \u043a\u0440\u043e\u043c\u0435 \u0442\u043e\u0433\u043e, \u0434\u043b\u044f \u0440\u0430\u0437\u043d\u044b\u0445 \u044f\u0437\u044b\u043a\u043e\u0432 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u044e\u0442 \u0440\u0430\u0437\u043d\u044b\u0435 \/\/ \u0431\u0430\u0437\u043e\u0432\u044b\u0435 \u043a\u043e\u043d\u0446\u0435\u043f\u0446\u0438\u0438 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438, \u043a \u043f\u0440\u0438\u043c\u0435\u0440\u0443 \u0432 \u0441++ \u044d\u0442\u043e \u043f\u0440\u043e\u0441\u0442\u043e \u0443\u0441\u043b\u043e\u0432\u043d\u043e\u0441\u0442\u044c, \/\/ \u0432 \u0434\u0436\u0430\u0432\u0435 \u0438 \u0441\u0438 \u0448\u0430\u0440\u043f \u043f\u043e\u0434\u0445\u043e\u0434 \u0438\u043d\u043e\u0439 (\u0443 \u0432\u0435\u0431 \u0432\u043e\u043e\u0431\u0449\u0435 \u043d\u0435\u0442) \/\/ \/\/ \u0442\u043e\u0447\u043d\u043e \u0442\u0430\u043a\u0436\u0435 \u043a\u0430\u043a \u0440\u0430\u0437\u043d\u044b\u0435 \u043c\u043e\u0434\u0438\u0444\u0438\u043a\u0430\u0442\u043e\u0440\u044b \u0434\u043e\u0441\u0442\u0443\u043f\u0430 \"\u043f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e\", \u0432 \u043f\u0430\u0441\u043a\u0430\u043b\u0435, \/\/ \u0435\u0441\u043b\u0438 \u043d\u0435 \u043d\u0430\u043f\u0438\u0441\u0430\u0442\u044c \u043d\u0435 \u043e\u0434\u043d\u043e\u0433\u043e \u043c\u043e\u0434\u0438\u0444\u0438\u043a\u0430\u0442\u043e\u0440\u0430 \u0434\u043e\u0441\u0442\u0443\u043f\u0430 (\u0432\u043d\u0443\u0442\u0440\u0438 \u0437\u0430\u0433\u043e\u043b\u043e\u0432\u043a\u0430 \u043a\u043b\u0430\u0441\u0441\u0430), \/\/ \u0440\u0435\u0434\u0430\u043a\u0442\u043e\u0440 \u043a\u043e\u0434\u0430 \u0441\u0430\u043c \u0434\u043e\u0431\u0430\u0432\u0438\u0442 \u043c\u043e\u0434\u0438\u0444\u0438\u043a\u0430\u0442\u043e\u0440 \u043f\u0435\u0440\u0435\u0434 \u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0446\u0438\u0435\u0439 (\u043c\u043e\u0434\u0438\u0444\u0438\u043a\u0430\u0442\u043e\u0440 \/\/ PUBLISHED), \u0443\u0447\u0438\u0442\u044b\u0432\u0430\u0435\u0442\u0435 \u044d\u0442\u043e, \u0438 \u0432\u0441\u0435\u0433\u0434\u0430 \u0434\u043b\u044f \u043a\u0430\u0436\u0434\u043e\u0433\u043e \u0441\u0432\u043e\u0439\u0441\u0442\u0432\u0430 \u0447\u0435\u0442\u043a\u043e \/\/ \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u044f\u0439\u0442\u0435 \u043c\u043e\u0434\u0438\u0444\u0438\u043a\u0430\u0442\u043e\u0440 \u0434\u043e\u0441\u0442\u0443\u043f\u0430, \u0438\u043d\u0430\u0447\u0435 \u043c\u043e\u0433\u0443\u0442 \u0431\u044b\u0442\u044c \u0433\u043b\u0443\u043f\u044b\u0435 \u043b\u043e\u0433\u0438\u0447\u0435\u0441\u043a\u0438\u0435 \/\/ \u043e\u0448\u0438\u0431\u043a\u0438 \u0434\u043e\u0441\u0442\u0443\u043f\u0430 (\u0432\u043d\u0443\u0442\u0440\u0438 \u0441\u0433\u0435\u043d\u0435\u0440\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u043e\u0433\u043e \u043a\u043e\u0434\u0430 \u0440\u0435\u0434\u0430\u043a\u0442\u043e\u0440\u043e\u043c \u0432 \u0442\u043e\u043c \u0447\u0438\u0441\u043b\u0435, \/\/ \u0442\u0430\u043a \u043a\u0430\u043a \u043e\u043d \u0433\u0435\u043d\u0435\u0440\u0438\u0440\u0443\u0435\u0442 \u0432\u0441\u0435 \u043e\u0431\u044a\u0435\u043a\u0442\u044b \u043f\u043e\u0434 \u043e\u0434\u043d\u0438\u043c \u043c\u043e\u0434\u0438\u0444\u0438\u043a\u0430\u0442\u043e\u0440\u043e\u043c \u0434\u043b\u044f \u043a\u043e\u043d\u043a\u0440\u0435\u0442\u043d\u043e\u0439 \/\/ \u0433\u0440\u0443\u043f\u043f\u044b \u043e\u0431\u044a\u0435\u043a\u0442\u043e\u0432 \/\/ \/\/ \u043c\u043e\u0434\u0438\u0444\u0438\u043a\u0430\u0442\u043e\u0440 PUBLISHED \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c \u0432 \u0440\u0443\u043d\u0442\u0430\u0439\u043c\u0435, \u0442\u0430\u043a\u0436\u0435 \u043e\u043d \u043c\u043e\u0436\u0435\u0442 \/\/ \u0432 \u043d\u0430\u0440\u0443\u0448\u0435\u043d\u0438\u0435 \u043b\u043e\u0433\u0438\u043a\u0438 \u043f\u043e\u0441\u0442\u0440\u043e\u0435\u043d\u0438\u044f \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442\u0430 \u043e\u0442\u043a\u0440\u044b\u0432\u0430\u0442\u044c \u0434\u043e\u0441\u0442\u0443\u043f \"\u0432\u043d\u0435 \u043e\u0447\u0435\u0440\u0435\u0434\u0438\" \/\/ \u043f\u043e\u0441\u0442\u0440\u043e\u0435\u043d\u0438\u044f (\u0438\u043d\u0430\u0447\u0435 \u0433\u043e\u0432\u043e\u0440\u044f, \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u043c\u043e\u0435 \u0434\u043e\u0441\u0442\u0443\u043f\u043d\u043e \u0432\u0435\u0437\u0434\u0435 \u0438 \u0432\u0441\u0435\u0433\u0434\u0430), \/\/ \u043c\u043e\u0434\u0438\u0444\u0438\u043a\u0430\u0442\u043e\u0440 PUBLIC \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u043d\u0430\u044f \u043f\u0443\u0431\u043b\u0438\u0447\u043d\u0430\u044f \u0441\u0435\u043a\u0446\u0438\u044f, \u0432\u0441\u0435 \u0447\u0442\u043e \u0438\u0434\u0435\u0442 \u043f\u043e\u0441\u043b\u0435 \/\/ \u043a\u043b\u044e\u0447\u0435\u0432\u043e\u0433\u043e \u0441\u043b\u043e\u0432\u0430 PUBLIC \u0434\u043e\u0441\u0442\u0443\u043f\u043d\u043e \u0438\u0437 \u043b\u044e\u0431\u043e\u0439 \u0447\u0430\u0441\u0442\u0438 \u043d\u0430\u0448\u0435\u0439 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u044b (\u043f\u043e \/\/ \u043e\u0431\u0440\u0430\u0449\u0435\u043d\u0438\u044e, \u043a\u043e\u043d\u0435\u0447\u043d\u043e) \/\/ \u043c\u043e\u0434\u0438\u0444\u0438\u043a\u0430\u0442\u043e\u0440 PROTECTED \u043e\u0442\u043a\u0440\u044b\u0432\u0430\u0435\u0442 \u0434\u043e\u0441\u0442\u0443\u043f \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u043c\u043e\u0433\u043e \u0440\u043e\u0434\u0438\u0442\u0435\u043b\u044f \u0442\u043e\u043b\u044c\u043a\u043e \/\/ \u0434\u043b\u044f \u0434\u043e\u0447\u0435\u0440\u043d\u0438\u0445 \u043a\u043b\u0430\u0441\u0441\u043e\u0432 (\u0434\u043b\u044f \u0431\u0430\u0437\u043e\u0432\u043e\u0439 \u043a\u043e\u043d\u0446\u0435\u043f\u0446\u0438\u0438 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u043e\u043e\u043f), \u0432\u043d\u0435 \/\/ \u0434\u043e\u0447\u0435\u0440\u043d\u0438\u0445 \u043a\u043b\u0430\u0441\u0441\u043e\u0432 (\u0432 \u0440\u0430\u043c\u043a\u0430\u0445 \u043a\u043e\u0434\u0430 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u044b), \u0443\u0432\u0438\u0434\u0435\u0442\u044c (\u0430 \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0435\u043d\u043d\u043e \/\/ \u0438 \u0438\u0437\u043c\u0435\u043d\u0438\u0442\u044c \u043d\u0435\u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e) \/\/ \u043c\u043e\u0434\u0438\u0444\u0438\u043a\u0430\u0442\u043e\u0440 PRIVATE (\u0438\u043b\u0438 \u0441\u043f\u0435\u0446\u0438\u0430\u043b\u044c\u043d\u044b\u0439), \u0434\u043e\u0431\u0430\u0432\u043b\u0435\u043d \u0434\u043b\u044f \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u0438\u0441\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0439 \/\/ \u0438\u0437 \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u043d\u043e\u0439 \u043a\u043e\u043d\u0446\u0435\u043f\u0446\u0438\u0438 \u043e\u043e\u043f, \u043e\u043d \u0437\u0430\u043a\u0440\u044b\u0432\u0430\u0435\u0442 \u043a\u0430\u043a\u0438\u0435-\u043b\u0438\u0431\u043e \u0441\u0432\u043e\u0439\u0441\u0442\u0432\u0430, \u0444\u0443\u043d\u043a\u0446\u0438\u0438, \/\/ \u0434\u0435\u0442\u0430\u043b\u0438 \u0442\u0435\u043a\u0443\u0449\u0435\u0433\u043e \u043a\u043b\u0430\u0441\u0441\u0430 \u0434\u043b\u044f \u0432\u0441\u0435\u0445, \u043a\u0440\u043e\u043c\u0435 \u0441\u0435\u0431\u044f, \u0432 \u0440\u0435\u0430\u043b\u044c\u043d\u043e\u0439 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0435 \/\/ \u043d\u0435 \u0442\u0440\u0435\u0431\u0443\u0435\u0442\u0441\u044f, PUBLIC (PUBLISHED) \u0438 PROTECTED \u0445\u0432\u0430\u0442\u0430\u0435\u0442 \u0441 \u0433\u043e\u043b\u043e\u0432\u043e\u0439, \u043d\u043e \u0434\u043b\u044f \/\/ \u043a\u0430\u043a\u0438\u0445-\u0442\u043e \u043e\u0441\u043e\u0431\u044b\u0445 \"\u0438\u0437\u043e\u0431\u0440\u0435\u0442\u0435\u043d\u0438\u0439\" \u043c\u043e\u0436\u0435\u0442 \u0431\u044b\u0442\u044c \u043f\u043e\u043b\u0435\u0437\u0435\u043d, \u043a\u0430\u043a \u0438 \u043e\u0441\u0442\u0430\u0432\u0448\u0438\u0435\u0441\u044f - \/\/ STRICT PROTECTED, \u0438 STRICT PRIVATE \u0434\u043b\u044f \u0441\u0438\u0441\u0442\u0435\u043c\u043d\u044b\u0445 \u043d\u0443\u0436\u0434 (\u043a PUBLISHIED) \/\/ \/\/ \u043e\u043f\u0438\u0448\u0435\u043c \u044d\u0442\u043e\u0442 \u043a\u043b\u0430\u0441\u0441, \u0434\u043e\u0431\u0430\u0432\u0438\u0432 \u0432 \u043d\u0430\u0448 \u043c\u043e\u0434\u0443\u043b\u044c \u043e\u0431\u043b\u0430\u0441\u0442\u044c \u0434\u043b\u044f \u0440\u0438\u0441\u043e\u0432\u0430\u043d\u0438\u044f (\u0438\u0437 COM \/\/ TImage), \u0430 \u0442\u0430\u043a\u0436\u0435 \u043e\u043f\u0438\u0448\u0435\u043c \u043f\u0430\u0440\u0441\u0435\u0440, \u0447\u0442\u043e\u0431\u044b \u0438\u0437 \u0442\u0435\u043a\u0441\u0442\u0430, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043d\u0430\u043f\u0438\u0441\u0430\u043d \/\/ \u0432 \u0440\u0435\u0434\u0430\u043a\u0442\u043e\u0440\u0435 \u0438\u0437\u0432\u043b\u0435\u043a\u0430\u0442\u044c \u043a\u0430\u043a\u0438\u0435-\u0442\u043e \u0434\u0430\u043d\u043d\u044b\u0435, \u0447\u0442\u043e\u0431\u044b \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0438\u0445 \/\/ \u0434\u043b\u044f \u0440\u0438\u0441\u043e\u0432\u0430\u043d\u0438\u044f \u043d\u0430 \u043e\u0431\u044a\u0435\u043a\u0442\u0435 Canvas (\u0443 \u0437\u0430\u0433\u043e\u0442\u043e\u0432\u043a\u0438 TImage), \u043e\u0431\u044a\u0435\u043a\u0442 \/\/ Canvas \u0443\u043d\u0438\u0432\u0435\u0440\u0441\u0430\u043b\u044c\u043d\u044b\u0439 \u0438 \u0435\u0441\u0442\u044c \u0432\u043e \u0432\u0441\u0435\u0445 \u044f\u0437\u044b\u043a\u0430\u0445 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \/\/ (\u043f\u043e \u043a\u0440\u0430\u0439\u043d\u0435\u0439 \u043c\u0435\u0440\u0435 \u043a\u0430\u043d\u043e\u043d\u043d\u0438\u0441\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u0445), \u043f\u043e\u0441\u043b\u0435 \u043a\u043b\u044e\u0447\u0435\u0432\u043e\u0433\u043e \u0441\u043b\u043e\u0432\u0430 class, \/\/ \u0432 \u043a\u0440\u0443\u0433\u043b\u044b\u0445 () \u0441\u043a\u043e\u0431\u043a\u0430\u0445 \u0443\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u043c \u0442\u0438\u043f \u0434\u0430\u043d\u043d\u044b\u0445 \u0438\u0437 \u043a\u043e\u0442\u043e\u0440\u043e\u0433\u043e \u0445\u043e\u0442\u0438\u043c \"\u0437\u0430\u043a\u0430\u0447\u0430\u0442\u044c\" \/\/ \u0432\u0441\u0435 \u0432 \u043d\u0430\u0448 \u0442\u0438\u043f \u0434\u0430\u043d\u043d\u044b\u0445 (\u0443 \u043d\u0430\u0441 \u044d\u0442\u043e TextFileLoader) type TComDrawer = class (TextFileLoader)    \/\/ \u0434\u043e\u0431\u0430\u0432\u0438\u043c \u043e\u0431\u044a\u0435\u043a\u0442 TImage (\u043e\u0431\u043b\u0430\u0441\u0442\u044c \u0434\u043b\u044f \u0440\u0438\u0441\u043e\u0432\u0430\u043d\u0438\u044f)   PaintField:TImage;    \/\/ \u0441\u043e\u0437\u0434\u0430\u0435\u043c \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u0443\u044e \u0442\u0438\u043f\u0430 TRect (\u0447\u0435\u0442\u044b\u0440\u0435 \u0447\u0438\u0441\u043b\u043e\u0432\u044b\u0445   \/\/ \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0445 \u0432 \u043e\u0434\u043d\u043e\u0439), \u0431\u0443\u0434\u0435\u043c \u0445\u0440\u0430\u043d\u0438\u0442\u044c \u0432 \u043d\u0435\u0439 \u0440\u0430\u0437\u043c\u0435\u0440\u044b \u0444\u0438\u0433\u0443\u0440\u044b   FigureSize:TRect;    \/\/ \u0441\u043e\u0437\u0434\u0430\u0435\u043c \u0442\u0435\u043a\u0441\u0442\u043e\u0432\u0443\u044e \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u0443\u044e, \u0431\u0443\u0434\u0435\u043c \u0445\u0440\u0430\u043d\u0438\u0442\u044c \u0432 \u043d\u0435\u0439   \/\/ \u043a\u043b\u044e\u0447\u0435\u0432\u043e\u0435 \u0441\u043b\u043e\u0432\u043e, \u0432 \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0438\u0438 \u0441 \u043a\u043e\u0442\u043e\u0440\u044b\u043c \u0431\u0443\u0434\u0435\u043c \u0440\u0438\u0441\u043e\u0432\u0430\u0442\u044c   \/\/ \u0442\u0443, \u0438\u043b\u0438 \u0438\u043d\u0443\u044e \u0444\u0438\u0433\u0443\u0440\u0443, \u0442\u0438\u043f string \u043e\u0440\u0438\u0433\u0438\u043d\u0430\u043b\u044c\u043d\u044b\u0439 \u0442\u0435\u043a\u0441\u0442\u043e\u0432\u044b\u0439   \/\/ \u0442\u0438\u043f\u0435 \u0434\u0430\u043d\u043d\u044b\u0445 TCaption \u0431\u0435\u0440\u0435\u0442 \u0435\u0433\u043e \u0438 \u0440\u0430\u0441\u0448\u0438\u0440\u044f\u0435\u0442 (\u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u0434\u043e\u0447\u0435\u0440\u043d\u0438\u043c)   Figure:string;    \/\/ \u043f\u0435\u0440\u0435\u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0438\u043c \u043a\u043e\u043d\u0441\u0442\u0440\u0443\u043a\u0442\u043e\u0440, \u043d\u0430\u043b\u0438\u0447\u0438\u0435 \u043e\u0434\u043d\u043e\u0438\u043c\u0435\u043d\u043d\u043e\u0439 \u0444\u0443\u043d\u043a\u0446\u0438\u0438   \/\/ \u0440\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u0441\u043a\u043e\u0433\u043e \u043a\u043b\u0430\u0441\u0441\u0430 (\u0441 \u0438\u0434\u0435\u043d\u0442\u0438\u0447\u043d\u044b\u043c \u043d\u0430\u0431\u043e\u0440\u043e\u043c \u0430\u0440\u0433\u0443\u043c\u0435\u043d\u0442\u043e\u0432   \/\/ \u0444\u0443\u043d\u043a\u0446\u0438\u0438) \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u043f\u0435\u0440\u0435\u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0438\u0442\u044c \u043b\u043e\u0433\u0438\u043a\u0443 \u0440\u0430\u0431\u043e\u0442\u044b \u044d\u0442\u043e\u0439   \/\/ \u0444\u0443\u043d\u043a\u0446\u0438\u0438 \u0432 \u043d\u0430\u0448\u0435\u043c \u0434\u043e\u0447\u0435\u0440\u043d\u0435\u043c \u043a\u043b\u0430\u0441\u0441\u0435 \u043f\u0440\u0438 \u043f\u043e\u043c\u043e\u0449\u0438 \u043a\u043b\u044e\u0447\u0435\u0432\u043e\u0433\u043e   \/\/ \u0441\u043b\u043e\u0432\u0430 REINTRODUCE, \u043f\u0440\u0438 \u044d\u0442\u043e\u043c \u0432 \u043d\u043e\u0432\u043e\u0439 \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438 \u043c\u043e\u0436\u043d\u043e   \/\/ \u0432\u044b\u0437\u0432\u0430\u0442\u044c \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u0435 \u043e\u0440\u0438\u0433\u0438\u043d\u0430\u043b\u044c\u043d\u043e\u0439 \u043b\u043e\u0433\u0438\u043a\u0438, \u043f\u0440\u0438 \u043f\u043e\u043c\u043e\u0449\u0438 \u043a\u043b\u044e\u0447\u0435\u0432\u043e\u0433\u043e   \/\/ \u0441\u043b\u043e\u0432\u0430 INHERITED   constructor New(Owner:TForm); REINTRODUCE;    \/\/ \u0434\u043e\u0431\u0430\u0432\u0438\u043c \"\u0430\u043b\u044c\u0442\u0435\u0440\u043d\u0430\u0442\u0438\u0432\u043d\u044b\u0439\" \u043a\u043e\u043d\u0441\u0442\u0440\u0443\u043a\u0442\u043e\u0440 \u0434\u043b\u044f \u043d\u0430\u0448\u0435\u0433\u043e \u043a\u043b\u0430\u0441\u0441\u0430,   \/\/ \u043e\u043d \u0431\u0443\u0434\u0435\u0442 \u043f\u0440\u0438\u043d\u0438\u043c\u0430\u0442\u044c \u0432 \u0441\u0435\u0431\u044f \u0440\u0430\u0437\u043c\u0435\u0440 \u043e\u0431\u043b\u0430\u0441\u0442\u0438 \u0434\u043b\u044f \u0440\u0438\u0441\u043e\u0432\u0430\u043d\u0438\u044f,   \/\/ \u043a\u043b\u044e\u0447\u0435\u0432\u043e\u0435 \u0441\u043b\u043e\u0432\u043e OVERLOAD \u0433\u043e\u0432\u043e\u0440\u0438\u0442 \u043e \u0442\u043e\u043c, \u0447\u0442\u043e \u044d\u0442\u043e\u0442 \u043c\u0435\u0442\u043e\u0434   \/\/ (\u043a\u043e\u043d\u0441\u0442\u0440\u0443\u043a\u0442\u043e\u0440 \u043a\u043b\u0430\u0441\u0441\u0430, New) \"\u043f\u0435\u0440\u0435\u0433\u0440\u0443\u0436\u0430\u0435\u043c\", \u0442\u043e \u0435\u0441\u0442\u044c \u0435\u0441\u043b\u0438   \/\/ \u0432\u043e \u0432\u0440\u0435\u043c\u044f \u0432\u044b\u0437\u043e\u0432\u0430 \u0443\u043a\u0430\u0437\u0430\u0442\u044c \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u043d\u044b\u0439 \u043d\u0430\u0431\u043e\u0440 \u0430\u0440\u0433\u0443\u043c\u0435\u043d\u0442\u043e\u0432   \/\/ \u0444\u0443\u043d\u043a\u0446\u0438\u0438 (\u0432 \u043a\u0440\u0443\u0433\u043b\u044b\u0445 \u0441\u043a\u043e\u0431\u043a\u0430\u0445 \u043f\u043e\u0441\u043b\u0435 \u0438\u043c\u0435\u043d\u0438 \u0444\u0443\u043d\u043a\u0446\u0438\u0438), \u0441   \/\/ \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u043d\u043e\u0439 \u043f\u043e\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u044c\u044e, \u0442\u043e \u0431\u0443\u0434\u0435\u0442 \u0432\u044b\u0437\u0432\u0430\u043d \u0432\u0430\u0440\u0438\u0430\u043d\u0442,   \/\/ \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0443\u0435\u0442 \u043f\u043e \u043d\u0430\u0431\u043e\u0440\u0443 \u0430\u0440\u0433\u0443\u043c\u0435\u043d\u0442\u043e\u0432, \"\u043f\u0435\u0440\u0435\u0433\u0440\u0443\u0437\u043e\u043a\"   \/\/ \u043c\u043e\u0436\u0435\u0442 \u0431\u044b\u0442\u044c \u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0443\u0433\u043e\u0434\u043d\u043e   PRIVATE constructor New(Owner:TForm;                   PaintWidth:integer;                   PaintHeight:integer   ); OVERLOAD;    \/\/ \u043e\u043f\u0438\u0448\u0435\u043c \"\u0430\u043b\u044c\u0442\u0435\u0440\u043d\u0430\u0442\u0438\u0432\u043d\u044b\u0439\" \u043a\u043e\u043d\u0441\u0442\u0440\u0443\u043a\u0442\u043e\u0440, \u0435\u0441\u043b\u0438 \u0444\u0443\u043d\u043a\u0446\u0438\u044f \u0438\u043c\u0435\u0435\u0442   \/\/ \"\u043c\u043e\u0434\u0438\u0444\u0438\u043a\u0430\u0442\u043e\u0440\" VIRTUAL - \u044d\u0442\u043e \u0437\u043d\u0430\u0447\u0438\u0442 \u0447\u0442\u043e \u0444\u0443\u043d\u043a\u0446\u0438\u044f \u043c\u043e\u0436\u0435\u0442 \u0431\u044b\u0442\u044c   \/\/ \u0437\u0430\u043c\u0435\u043d\u0435\u043d\u0430 \u043d\u0430 \u0434\u0440\u0443\u0433\u0443\u044e \u0444\u0443\u043d\u043a\u0446\u0438\u044e \u0441 \u0442\u0430\u043a\u0438\u043c \u0436\u0435 \u043d\u0430\u0437\u0432\u0430\u043d\u0438\u0435\u043c (\u0432 \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438   \/\/ \u043b\u043e\u0433\u0438\u043a\u0438)   PRIVATE constructor Create(Owner:TForm); VIRTUAL;    \/\/ \u043e\u043f\u0438\u0448\u0435\u043c \u0435\u0449\u0435 \u043e\u0434\u0438\u043d \u043a\u043e\u043d\u0441\u0442\u0440\u0443\u043a\u0442\u043e\u0440, \u0442\u0435\u043f\u0435\u0440\u044c \u0441 \u043c\u043e\u0434\u0438\u0444\u0438\u043a\u0430\u0442\u043e\u0440\u043e\u043c ABSTRACT,   \/\/ \u043e\u043d \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u0432\u044b\u043f\u043e\u043b\u043d\u0438\u0442\u044c \"\u043e\u0442\u043b\u043e\u0436\u0435\u043d\u043d\u043e\u0435\" \u043e\u043f\u0438\u0441\u0430\u043d\u0438\u0435 \u0432 \u043b\u043e\u0433\u0438\u043a\u0435 \u0434\u043e\u0447\u0435\u0440\u043d\u0438\u0445   \/\/ \u043a\u043b\u0430\u0441\u0441\u043e\u0432 (\u0442\u043e \u0435\u0441\u0442\u044c \u044d\u0442\u043e \u0437\u0430\u0433\u043e\u0442\u043e\u0432\u043a\u0430 \u0434\u043b\u044f \u0444\u0443\u043d\u043a\u0446\u0438\u0438, \u043f\u0440\u043e\u0441\u0442\u043e \u043e\u0431\u044a\u044f\u0432\u043b\u0435\u043d\u043d\u044b\u0439   \/\/ \u0437\u0430\u0433\u043e\u043b\u043e\u0432\u043e\u043a \u0444\u0443\u043d\u043a\u0446\u0438\u0438 \u0432 \u0437\u0430\u0433\u043e\u043b\u043e\u0432\u043a\u0435 \u043a\u043b\u0430\u0441\u0441\u0430, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043f\u0440\u0435\u0434\u043f\u043e\u043b\u0430\u0433\u0430\u0435\u0442 \u0441\u0432\u043e\u044e   \/\/ \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044e \u0432 \u0434\u0440\u0443\u0433\u0438\u0445 (\u0434\u043e\u0447\u0435\u0440\u043d\u0438\u0445) \u043a\u043b\u0430\u0441\u0441\u0430\u0445 (\u0432 \u0442\u0435\u043a\u0443\u0449\u0435\u043c - \u043d\u0435\u0442)   PRIVATE constructor Create(Owner:TForm; Size:TPoint); VIRTUAL; ABSTRACT;       \/\/ \u043e\u043f\u0438\u0448\u0435\u043c \u0437\u0430\u0433\u043e\u043b\u043e\u0432\u043e\u043a \u0444\u0443\u043d\u043a\u0446\u0438\u0438 \u0434\u043b\u044f \u043f\u0430\u0440\u0441\u0438\u043d\u0433\u0430 (\u043f\u0430\u0440\u0441\u0438\u043d\u0433 \u044d\u0442\u043e \u0440\u0430\u0437\u0431\u043e\u0440   \/\/ \u0441\u0442\u0440\u043e\u043a\u0438 (\u043f\u043e\u0441\u0438\u043c\u0432\u043e\u043b\u044c\u043d\u043e) \u0438 \u043f\u043e\u0438\u0441\u043a \u043a\u0430\u043a\u0438\u0445-\u043b\u0438\u0431\u043e \u0444\u0440\u0430\u0437, \u0432 \u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e\u0441\u0442\u0438   \/\/ \u043e\u0442 \u044d\u0442\u0438\u0445 \u0444\u0440\u0430\u0437 \u0438\u0437\u0432\u043b\u0435\u0447\u0435\u043d\u0438\u0435 \u043a\u0430\u043a\u0438\u0445-\u043b\u0438\u0431\u043e \u0434\u0430\u043d\u043d\u044b\u0445 \u0438\u0437 \u0441\u0442\u0440\u043e\u043a\u0438 \u0442\u0435\u043a\u0441\u0442\u0430   \/\/ \u0444\u0443\u043d\u043a\u0446\u0438\u044f \u0431\u0443\u0434\u0435\u0442 \u043f\u0440\u0438\u043d\u0438\u043c\u0430\u0442\u044c \u0432 \u0441\u0435\u0431\u044f \u0434\u0432\u0430 \u0442\u0435\u043a\u0441\u0442\u0430, \u043e\u0434\u0438\u043d \u0431\u0443\u0434\u0435\u0442 \u043d\u0430\u0447\u0430\u043b\u043e\u043c   \/\/ \u043a\u043b\u044e\u0447\u0430, \u0432\u0442\u043e\u0440\u043e\u0439 \u043a\u043e\u043d\u0446\u043e\u043c \u043a\u043b\u044e\u0447\u0430, \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0442\u044c \u0444\u0443\u043d\u043a\u0446\u0438\u044f \u0431\u0443\u0434\u0435\u0442 \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0442\u044c   \/\/ \u0438\u0437\u0432\u043b\u0435\u0447\u0435\u043d\u043d\u044b\u0435 \u0434\u0430\u043d\u043d\u044b\u0435   PUBLIC function ParseText(KeyStart:TCaption; KeyEnd:TCaption; Text:TCaption):TCaption;    \/\/ \u0441\u043e\u0437\u0434\u0430\u0434\u0438\u043c \u0444\u0443\u043d\u043a\u0446\u0438\u044e, \u043a\u043e\u0442\u043e\u0440\u0443\u044e \u0430\u0441\u0441\u043e\u0446\u0438\u0438\u0440\u0443\u0435\u043c \u0441 \u0441\u043e\u0431\u044b\u0442\u0438\u0435\u043c (\u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u043d\u044b\u043c)   \/\/ \u043d\u0430\u0436\u0430\u0442\u0438\u044f \u043a\u043b\u0430\u0432\u0438\u0448, \u0443 \u0440\u0435\u0434\u0430\u043a\u0442\u043e\u0440\u0430 \u0442\u0435\u043a\u0441\u0442\u0430 (\u0434\u043b\u044f \u043e\u0431\u044a\u044f\u0432\u043b\u0435\u043d\u0438\u044f \u0441\u043e\u0431\u0441\u0442\u0432\u0435\u043d\u043d\u044b\u0445 \u0441\u043e\u0431\u044b\u0442\u0438\u0439   \/\/ \u0432 \u043a\u043b\u0430\u0441\u0441 \u043d\u0430\u0434\u043e \u0434\u043e\u0431\u0430\u0432\u0438\u0442\u044c \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u0443\u044e \u0442\u0438\u043f\u0430 TNotifyEvet, \u043f\u043e\u0441\u043b\u0435 \u0447\u0435\u0433\u043e \u0441\u0432\u043e\u0439\u0441\u0442\u0432\u043e   \/\/ \u0434\u043b\u044f \u044d\u0442\u043e\u0439 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u043e\u0439, \u0438 \u0444\u0443\u043d\u043a\u0446\u0438\u044e, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u0431\u0443\u0434\u0435\u0442 \u043f\u0440\u043e\u0432\u0435\u0440\u044f\u0442\u044c \u043d\u0430\u043b\u0438\u0447\u0438\u0435   \/\/ \u043f\u0440\u0438\u0432\u044f\u0437\u0430\u043d\u043d\u043e\u0439 (\u043a \u0441\u0432\u043e\u0439\u0441\u0442\u0432\u0443) \u0444\u0443\u043d\u043a\u0446\u0438\u0438, \u0438 \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u0442\u044c, \u0434\u043b\u044f \u0442\u043e\u0433\u043e \u0447\u0442\u043e\u0431\u044b \u0441\u043e\u0437\u0434\u0430\u0442\u044c   \/\/ \u0441\u0432\u043e\u044e \u0444\u0443\u043d\u043a\u0446\u0438\u044e \u0434\u043b\u044f \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u043d\u043e\u0433\u043e \u0441\u043e\u0431\u044b\u0442\u0438\u044f COM \u043e\u0431\u044a\u0435\u043a\u0442\u0430, \u043e\u043d\u0430 \u0434\u043e\u043b\u0436\u043d\u0430   \/\/ \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u043e\u0432\u0430\u0442\u044c \u0443\u043d\u0438\u0432\u0435\u0440\u0441\u0430\u043b\u044c\u043d\u044b\u043c \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u0430\u043c (\u0430\u0440\u0433\u0443\u043c\u0435\u043d\u0442\u0430\u043c, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0444\u0443\u043d\u043a\u0446\u0438\u044f   \/\/ \u043f\u0440\u0438\u043d\u0438\u043c\u0430\u0435\u0442 \u0432 \u0441\u0435\u0431\u044f \u0432\u043e \u0432\u0440\u0435\u043c\u044f \u0432\u044b\u0437\u043e\u0432\u0430), \u0442\u0443\u0442 \u044d\u0442\u043e \u043a\u043e\u0434 \u043a\u043b\u0430\u0432\u0438\u0448\u0438, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u0431\u044b\u043b\u0430   \/\/ \u043d\u0430\u0436\u0430\u0442\u0430 (Key), \u0441\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u0435 \u043d\u0430\u0436\u0430\u0442\u0438\u044f (\u043d\u0430\u0436\u0430\u0442\u0430, \u0443\u0434\u0435\u0440\u0436\u0430\u043d\u0430, \u043e\u0442\u043f\u0443\u0441\u043a\u0430\u0435\u0442\u0441\u044f),   \/\/ \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440 Shift, \u043f\u0435\u0440\u0432\u044b\u0439 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440 - \u044d\u0442\u043e \u043e\u0431\u044a\u0435\u043a\u0442, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0432\u044b\u0437\u0432\u0430\u043b \u044d\u0442\u0443 \u0444\u0443\u043d\u043a\u0446\u0438\u044e   PUBLIC procedure Ext_TextEditorKeyDown(                   Sender: TObject;                   var Key: Word;                   Shift: TShiftState   );    \/\/ \u043e\u043f\u0438\u0448\u0435\u043c \u0437\u0430\u0433\u043e\u043b\u043e\u0432\u043e\u043a \u0444\u0443\u043d\u043a\u0446\u0438\u0438 \u0434\u043b\u044f \u043e\u0442\u0440\u0438\u0441\u043e\u0432\u043a\u0438 \u0447\u0435\u0433\u043e-\u043b\u0438\u0431\u043e \u043d\u0430 \u043e\u0431\u043b\u0430\u0441\u0442\u0438 \u0440\u0438\u0441\u043e\u0432\u0430\u043d\u0438\u044f   PUBLIC function DrawOnPaintField:boolean; end;  implementation  constructor TComDrawer.New(Owner:TForm);  \/\/ \u043e\u0431\u044a\u044f\u0432\u0438\u043c \u0432\u0441\u043f\u043e\u043c\u043e\u0433\u0430\u0442\u0435\u043b\u044c\u043d\u0443\u044e \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u0443\u044e \/\/ \u0442\u0438\u043f\u0430 \u0447\u0438\u0441\u043b\u043e, \u043b\u043e\u043a\u0430\u043b\u044c\u043d\u044b\u0435 (\u043a \u043a\u0430\u043a\u043e\u043c\u0443-\u043b\u0438\u0431\u043e \u0431\u043b\u043e\u0447\u043a\u0443 \u043a\u043e\u0434\u0430) \/\/ \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0435 \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0438 \u0443\u043d\u0438\u0447\u0442\u043e\u0436\u0430\u044e\u0442\u0441\u044f \u043f\u043e \u0437\u0430\u0432\u0435\u0440\u0448\u0435\u043d\u0438\u0438 \/\/ \u044d\u0442\u043e\u0433\u043e \u0431\u043b\u043e\u0447\u043a\u0430 \u043a\u043e\u0434\u0430 (\u0431\u043b\u043e\u0447\u043a\u0430, \u0432 \u0440\u0430\u043c\u043a\u0430\u0445 \u043a\u043e\u0442\u043e\u0440\u043e\u0433\u043e \u043e\u043d\u0438 \u0431\u044b\u043b\u0438 \/\/ \u043e\u0431\u044a\u044f\u0432\u043b\u0435\u043d\u044b) var a:integer; begin    \/\/ \u0441\u043d\u0430\u0447\u0430\u043b\u0430 \u0432\u044b\u0437\u043e\u0432\u0435\u043c \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u0435 \u043e\u0440\u0438\u0433\u0438\u043d\u0430\u043b\u044c\u043d\u043e\u0433\u043e \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u043c\u043e\u0433\u043e   \/\/ \u0444\u0443\u043d\u043a\u0446\u0438\u0438 New \u0438\u0437 \u043a\u043b\u0430\u0441\u0441\u0430 TextFileLoader, \u0432 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435 \u0430\u0440\u0433\u0443\u043c\u0435\u043d\u0442\u043e\u0432   \/\/ \u043f\u0435\u0440\u0435\u0434\u0430\u0435\u043c \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435, \u043f\u043e\u043b\u0443\u0447\u0430\u0435\u043c\u043e\u0435 \u0438\u0437 \u0430\u0440\u0433\u0443\u043c\u0435\u043d\u0442\u0430 \u044d\u0442\u043e\u0439 \u0444\u0443\u043d\u043a\u0446\u0438\u0438   INHERITED New(Owner);    \/\/ \u0442\u0435\u043f\u0435\u0440\u044c \u043f\u0435\u0440\u0435\u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0438\u043c \u0440\u0430\u0437\u043c\u0435\u0440\u044b \u0440\u0435\u0434\u0430\u043a\u0442\u043e\u0440\u0430 \u0442\u0435\u043a\u0441\u0442\u0430 \u0438 \u0440\u0430\u0437\u043c\u0435\u0441\u0442\u0438\u043c   \/\/ \u043e\u0431\u043b\u0430\u0441\u0442\u044c \u0434\u043b\u044f \u0440\u0438\u0441\u043e\u0432\u0430\u043d\u0438\u044f \u0432 \u043f\u0440\u0435\u0434\u0435\u043b\u0430\u0445 \u044d\u0442\u043e\u0439 \u0442\u0435\u0440\u0440\u0438\u0442\u043e\u0440\u0438\u0438   \/\/   \/\/ \u0432\u043e \u0432\u0441\u043f\u043e\u043c\u043e\u0433\u0430\u0442\u0435\u043b\u044c\u043d\u0443\u044e \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u0443\u044e \u043f\u043e\u043c\u0435\u0441\u0442\u0438\u043c \u0442\u0435\u043a\u0443\u0449\u0443\u044e \u0448\u0438\u0440\u0438\u043d\u0443   \/\/ \u0440\u0435\u0434\u0430\u043a\u0442\u043e\u0440\u0430 \u0442\u0435\u043a\u0441\u0442\u0430, \u0442\u0430\u043a \u043a\u0430\u043a \u044d\u0442\u043e \u0434\u043e\u0447\u0435\u0440\u043d\u0438\u0439 \u043a\u043b\u0430\u0441\u0441, \u0432\u0441\u0435 \u0438\u0437   \/\/ \u043a\u043b\u0430\u0441\u0441\u0430 \u0440\u043e\u0434\u0438\u0442\u0435\u043b\u044f \u0434\u043e\u0441\u0442\u0443\u043f\u043d\u043e \u0434\u043b\u044f \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u043e\u0442\u0441\u044e\u0434\u0430, \u043a\u043b\u044e\u0447\u0435\u0432\u043e\u0435   \/\/ \u0441\u043b\u043e\u0432\u043e Self \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u043e\u0431\u0440\u0430\u0442\u0438\u0442\u044c\u0441\u044f \u043a \u0441\u0430\u043c\u043e\u043c\u0443 \u0441\u0435\u0431\u0435 (\u043a\u043b\u0430\u0441\u0441\u0443),   \/\/ \u0442\u0430\u043a \u0431\u0443\u0434\u0442\u043e \u043a\u043b\u0430\u0441\u0441 - \u044d\u0442\u043e \u0433\u043e\u0442\u043e\u0432\u0430\u044f \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u0430\u044f \u043d\u0430\u0448\u0435\u0433\u043e \u0442\u0438\u043f\u0430 \u0434\u0430\u043d\u043d\u044b\u0445   a:=Self.TextViewer.Width;    \/\/ \u0438\u0437\u043c\u0435\u043d\u0438\u043c \u0448\u0438\u0440\u0438\u043d\u0443 \u043e\u0431\u044a\u0435\u043a\u0442\u0430 \u0438\u0437 \u0440\u0430\u0441\u0447\u0435\u0442\u0430 100 \u043f\u0438\u043a\u0441\u0435\u043b\u0435\u0439 \u043e\u0442\u0441\u0442\u0443\u043f\u0430   \/\/ \u043c\u0435\u0436\u0434\u0443 \u043e\u0431\u043b\u0430\u0441\u0442\u044c\u044e \u0440\u0438\u0441\u043e\u0432\u0430\u043d\u0438\u044f \u0438 \u0440\u0435\u0434\u0430\u043a\u0442\u043e\u0440\u043e\u043c, \u0434\u043b\u044f \u044d\u0442\u043e\u0433\u043e \u0440\u0430\u0437\u043c\u0435\u0440   \/\/ \u0440\u0435\u0434\u0430\u043a\u0442\u043e\u0440\u0430 \u0434\u0435\u043b\u0438\u043c \u043d\u0430 2 (div - \u044d\u0442\u043e \u0434\u0435\u043b\u0435\u043d\u0438\u0435 \u0431\u0435\u0437 \u043e\u0441\u0442\u0430\u0442\u043a\u0430), \u0438   \/\/ \u0432\u044b\u0447\u0438\u0442\u0430\u0435\u043c 50   Self.TextViewer.Width:= (a div 2) - 50;    \/\/ \u0441\u043e\u0437\u0434\u0430\u0434\u0438\u043c \u0438\u0437 \u0437\u0430\u0433\u043e\u0442\u043e\u0432\u043a\u0438 TImage \u043d\u043e\u0432\u044b\u0439 \u044d\u043a\u0437\u0435\u043c\u043f\u043b\u044f\u0440 \u043e\u0431\u044a\u0435\u043a\u0442\u0430,   \/\/ \u0438 \u0430\u0441\u0441\u043e\u0446\u0438\u0438\u0440\u0443\u0435\u043c \u0435\u0433\u043e \u0441 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u043e\u0439 PaintField   PaintField:=TImage.Create(Owner);    \/\/ \u0437\u0430\u0434\u0430\u0434\u0438\u043c, \u0433\u0434\u0435 \u043e\u0442\u0440\u0438\u0441\u043e\u0432\u044b\u0432\u0430\u0442\u044c \u043d\u0430\u0448\u0443 \u043e\u0431\u043b\u0430\u0441\u0442\u044c \u0440\u0438\u0441\u043e\u0432\u0430\u043d\u0438\u044f, \u0443\u043a\u0430\u0437\u0430\u0432   \/\/ \u0440\u043e\u0434\u0438\u0442\u0435\u043b\u044f \u043e\u0431\u044a\u0435\u043a\u0442\u0430 (\u043d\u0435 \u0441\u0432\u044f\u0437\u0430\u043d\u043d\u043e \u0441 \u0440\u043e\u0434\u0438\u0442\u0435\u043b\u044f\u043c\u0438 \u0432 \u043a\u043b\u0430\u0441\u0441\u0435),   \/\/ \u044d\u0442\u043e \u0441\u0432\u043e\u0439\u0441\u0442\u0432\u043e \u0444\u043e\u0440\u043c\u044b   PaintField.Parent:=Owner;    \/\/ \u0437\u0430\u0434\u0430\u0434\u0438\u043c \u0432\u044b\u0441\u043e\u0442\u0443 \u043e\u0431\u043b\u0430\u0441\u0442\u0438 \u0440\u0438\u0441\u043e\u0432\u0430\u043d\u0438\u044f   PaintField.Height:=Owner.Height - 200;    \/\/ \u0437\u0430\u0434\u0430\u0434\u0438\u043c \u0448\u0438\u0440\u0438\u043d\u0443, \u0438\u0441\u0445\u043e\u0434\u044f \u0438\u0437 \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u043c\u043e\u0433\u043e \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u043e\u0439 \u0430    PaintField.Width:=(a div 2) +50;    \/\/ \u043f\u0435\u0440\u0435\u043f\u043e\u0437\u0438\u0446\u0438\u043e\u043d\u0438\u0440\u0443\u0435\u043c \u043e\u0431\u043b\u0430\u0441\u0442\u044c \u0440\u0438\u0441\u043e\u0432\u0430\u043d\u0438\u044f (\u043f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e   \/\/ \u0432\u0441\u0435 \u043e\u0431\u044a\u0435\u043a\u0442\u044b \u0441\u043e\u0437\u0434\u0430\u044e\u0442\u0441\u044f \u0432 \u043a\u043e\u043e\u0440\u0434\u0438\u043d\u0430\u0442\u0430\u0445 0, 0, \u0442\u043e \u0435\u0441\u0442\u044c   \/\/ \u0432 \u043b\u0435\u0432\u043e\u043c \u0432\u0435\u0440\u0445\u043d\u0435\u043c \u0443\u0433\u043b\u0443 \u043e\u043a\u043d\u0430 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u044b   PaintField.Top:=100;    \/\/ \u0432\u044b\u0437\u044b\u0432\u0430\u0435\u043c \u0432\u0441\u0435 \u0442\u043e\u0442 \u0436\u0435 \u043a\u0443\u0441\u043e\u0447\u0435\u043a, \u043a\u043e\u0442\u043e\u0440\u044b\u043c \u0432\u044b\u0447\u0438\u0442\u044b\u0432\u0430\u043b\u0438 \u043d\u043e\u0432\u044b\u0435 \u0440\u0430\u0437\u043c\u0435\u0440\u044b   \/\/ \u0434\u043b\u044f \u0440\u0435\u0434\u0430\u043a\u0442\u043e\u0440\u0430 \u043a\u043e\u0434\u0430, \u0442\u043e\u043b\u044c\u043a\u043e \u0442\u0435\u043f\u0435\u0440\u044c \u043d\u0435 \u0432\u044b\u0447\u0438\u0442\u0430\u0435\u043c, \u0430 \u043f\u0440\u0438\u0431\u0430\u0432\u043b\u044f\u0435\u043c   \/\/ \u043f\u043b\u044e\u0441 50 \u043f\u0438\u043a\u0441\u0435\u043b\u0435\u0439, \u0432\u043c\u0435\u0441\u0442\u0435 \u0441 \u043e\u0442\u0441\u0442\u0443\u043f\u043e\u043c \u0440\u0435\u0434\u0430\u043a\u0442\u043e\u0440\u0430 \u043f\u043e\u043b\u0443\u0447\u0430\u0435\u043c 100   PaintField.Left:=(a div 2) + 100;    \/\/ \u0438\u0437\u043c\u0435\u043d\u044f\u0435\u043c \u0446\u0432\u0435\u0442 \u0444\u043e\u043d\u0430 \u043e\u0431\u043b\u0430\u0441\u0442\u0438 \u0440\u0438\u0441\u043e\u0432\u0430\u043d\u0438\u044f \u043d\u0430 \u0447\u0435\u0440\u043d\u044b\u0439   PaintField.Canvas.Brush.Color:=clBlack;    \/\/ \u0437\u0430\u043f\u043e\u043b\u043d\u044f\u0435\u043c \u0432\u0441\u044e \u043e\u0431\u043b\u0430\u0441\u0442\u044c \u0447\u0435\u0440\u043d\u044b\u043c \u0446\u0432\u0435\u0442\u043e\u043c   PaintField.Canvas.FillRect(0,0, PaintField.Width, PaintField.Height);    \/\/ \u043f\u0440\u0438\u0432\u044f\u0436\u0435\u043c \u043a \u0440\u0435\u0434\u0430\u043a\u0442\u043e\u0440\u0443 \u0442\u0435\u043a\u0441\u0442\u0430 \u043f\u0440\u043e\u0446\u0435\u0434\u0443\u0440\u0443, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u0431\u0443\u0434\u0435\u0442   \/\/ \u043e\u0431\u0440\u0430\u0431\u0430\u0442\u044b\u0432\u0430\u0442\u044c \u0441\u043e\u0431\u044b\u0442\u0438\u044f \u043d\u0430\u0436\u0430\u0442\u0438\u044f \u043a\u043b\u0430\u0432\u0438\u0448   TextViewer.OnKeyDown:=@Ext_TextEditorKeyDown;    \/\/ \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0438\u043c \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u043d\u044b\u0435 \u0440\u0430\u0437\u043c\u0435\u0440\u044b \u0444\u0438\u0433\u0443\u0440\u044b, \u0432 \u0441\u043b\u0443\u0447\u0430\u0435 \u0435\u0441\u043b\u0438 \u043f\u043e\u043b\u0443\u0447\u0438\u043c   \/\/ \u043a\u043e\u043c\u0430\u043d\u0434\u0443 \u0440\u0438\u0441\u043e\u0432\u0430\u043d\u0438\u044f, \u0431\u0435\u0437 \u0440\u0430\u0437\u043c\u0435\u0440\u043e\u0432 \u0438 \u043f\u043e\u0437\u0438\u0446\u0438\u0438, \u043f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e \u043a\u043e\u043e\u0440\u0434\u0438\u043d\u0430\u0442\u044b   \/\/ \u043b\u0435\u0432\u044b\u0439 \u0432\u0435\u0440\u0445\u043d\u0438\u0439 \u043a\u0440\u0430\u0439, 1\\3 \u0440\u0430\u0437\u043c\u0435\u0440\u0430 \u043e\u0431\u043b\u0430\u0441\u0442\u0438 \u0440\u0438\u0441\u043e\u0432\u0430\u043d\u0438\u044f (\u043f\u043e\u0437\u0438\u0446\u0438\u044f \u0438\u043c\u0435\u0435\u0442   \/\/ \u043e\u0442\u0441\u0442\u0443\u043f \u043e\u0442 \u043a\u0440\u0430\u044f \u043e\u0431\u043b\u0430\u0441\u0442\u0438 TImage 2 \u043f\u0438\u043a\u0441\u0435\u043b\u044f)   FigureSize.Left:=2;   FigureSize.Top:=2;   FigureSize.Right:=PaintField.Width div 3;   FigureSize.Bottom:=PaintField.Height div 3;    \/\/ \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0438\u043c \u043a\u043b\u044e\u0447\u0435\u0432\u043e\u0435 \u0441\u043b\u043e\u0432\u043e \u0434\u043b\u044f \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u0438\u044f \u0444\u0438\u0433\u0443\u0440\u044b \"\u043f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e\"   Figure:='PARAM_CIRCLE';  end;  constructor TComDrawer.New(Owner:TForm;                 PaintWidth:integer;                 PaintHeight:integer ); begin   INHERITED New(Owner);  end;  constructor TComDrawer.Create(Owner:TForm); begin   INHERITED New(Owner);  end;  \/\/ \u043e\u043f\u0438\u0448\u0435\u043c \u0444\u0443\u043d\u043a\u0446\u0438\u044e \u0434\u043b\u044f \u043f\u0430\u0440\u0441\u0438\u043d\u0433\u0430 (\u043f\u0440\u0430\u0441\u0438\u043d\u0433 \u044d\u0442\u043e \u043f\u0440\u043e\u0446\u0435\u0441\u0441 \u0440\u0430\u0437\u0431\u043e\u0440\u0430 \u0441\u0442\u0440\u043e\u043a\u0438, \u0438 \/\/ \u0438\u0437\u0432\u043b\u0435\u0447\u0435\u043d\u0438\u044f \u043a\u0443\u0441\u043a\u0430 \u0442\u0435\u043a\u0441\u0442\u0430 \u0438\u0437 \u0441\u0442\u0440\u043e\u043a\u0438 function TComDrawer.ParseText(KeyStart:TCaption; KeyEnd:TCaption; Text:TCaption):TCaption;  \/\/ \u043e\u0431\u044a\u044f\u0432\u043b\u044f\u0435\u043c \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0435 (\u0442\u0438\u043f\u0430 \u0447\u0438\u0441\u043b\u043e) var a, b:integer;     c:TCaption; \/\/ \u043e\u0431\u044a\u044f\u0432\u043b\u044f\u0435\u043c \u0443\u043a\u0430\u0437\u0430\u0442\u0435\u043b\u044c \u043d\u0430 \u0441\u0442\u0440\u043e\u043a\u0443, \u043a \u043a\u043e\u0442\u043e\u0440\u043e\u043c\u0443 \u043c\u043e\u0436\u043d\u043e \u043f\u0440\u044b\u0433\u043d\u0443\u0442\u044c \/\/ \u043f\u0440\u044b\u0433\u043d\u0443\u0442\u044c \u0432\u043d\u0435 \u043f\u043e\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u043d\u043e\u0433\u043e \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f (\u043f\u043e\u0441\u0442\u0440\u043e\u0447\u043d\u043e\u0439) \/\/ \u043b\u043e\u0433\u0438\u043a\u0438 \u043d\u0430\u0448\u0435\u0439 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 label ASMSTR; begin    \/\/ \u043d\u0430\u043f\u043e\u043b\u043d\u044f\u0435\u043c \u0432\u0441\u043f\u043e\u043c\u043e\u0433\u0430\u0442\u0435\u043b\u044c\u043d\u044b\u0435 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0435   a:=0;    \/\/ \u044d\u0442\u0430 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u0430\u044f \u0431\u0443\u0434\u0435 \u0441\u043e\u0434\u0435\u0440\u0436\u0430\u0442\u044c \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e   \/\/ \u0441\u0438\u043c\u0432\u043e\u043b\u043e\u0432 \u0432 \u043f\u0435\u0440\u0435\u0434\u0430\u0432\u0430\u0435\u043c\u043e\u043c \u0442\u0435\u043a\u0441\u0442\u0435 (\u0432 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u0443\u044e   \/\/ Text), \u0442\u0430\u043c, \u0433\u0434\u0435 \u043e\u043d\u0430 \u0431\u0443\u0434\u0435\u0442 \u0432\u044b\u0437\u0432\u0430\u043d\u0430, \u0442\u0430\u043a \u043a\u0430\u043a   \/\/ 1 \u0432 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0438 \u044d\u0442\u043e 0, \u0432\u044b\u0447\u0438\u0442\u0430\u0435\u043c \u0438\u0437   \/\/ \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u0430 \u0441\u0438\u043c\u0432\u043e\u043b\u043e\u0432 1, \u0447\u0442\u043e\u0431\u044b \u043d\u0435 \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c   \/\/ \u043e\u0448\u0438\u0431\u043a\u0443 (\u043a\u043e\u0433\u0434\u0430 \u043c\u044b \u043f\u043e\u043f\u0440\u043e\u0431\u0443\u0435\u043c \u043e\u0431\u0440\u0430\u0442\u0438\u0442\u0441\u044f \u043a \u0441\u0438\u043c\u0432\u043e\u043b\u0443   \/\/ \u043f\u043e \u0438\u043d\u0434\u0435\u043a\u0441\u0443, \u0430 \u0442\u0430\u043c \u0442\u043e\u043b\u044c\u043a\u043e \u043e\u0448\u0438\u0431\u043a\u0430 \u0434\u043e\u0441\u0442\u0443\u043f\u0430 \u043a \u043f\u0430\u043c\u044f\u0442\u0438),   \/\/ \u0444\u0443\u043d\u043a\u0446\u0438\u044f Length \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u0442 \u0430\u0431\u0441\u0442\u0440\u0430\u043a\u0442\u043d\u043e\u0435 \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e   \/\/ \u0447\u0435\u0433\u043e-\u043b\u0438\u0431\u043e (\u0432\u044b\u0441\u043e\u043a\u043e\u0443\u0440\u043e\u0432\u043d\u0435\u0432\u043e\u0435 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435), \u043f\u043e\u044d\u0442\u043e\u043c\u0443   \/\/ \u0435\u0435 \u043c\u043e\u0436\u043d\u043e \u043f\u0440\u0438\u043c\u0435\u043d\u044f\u0442\u044c \u043a \u043b\u044e\u0431\u044b\u043c \u043e\u0431\u044a\u0435\u043a\u0442\u0430 \u0432 \u043a\u043e\u0434\u0435   b:=Length(Text);    \/\/ \u043e\u0431\u044a\u044f\u0432\u043b\u044f\u0435\u043c \u0432\u043d\u0443\u0442\u0440\u0438 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 \u0442\u043e\u0447\u043a\u0443, \u043a \u043a\u043e\u0442\u043e\u0440\u043e\u0439 \u043c\u043e\u0436\u043d\u043e \u043f\u0440\u044b\u0433\u043d\u0443\u0442\u044c   \/\/ \u043f\u0440\u0438 \u043f\u043e\u043c\u043e\u0449\u0438 \u043a\u043e\u043c\u0430\u043d\u0434\u044b GOTO   ASMSTR:    \/\/ \u043f\u0435\u0440\u0435\u0434\u0430\u0435\u043c \u043a\u043e\u043c\u0430\u043d\u0434\u0443 \u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0442\u043e\u0440\u0443, \u0443\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u043c \u0447\u0442\u043e \u043a\u043e\u043c\u0430\u043d\u0434\u044b   \/\/ \u0430\u0441\u0441\u0435\u043c\u0431\u043b\u0435\u0440\u0430 \u043d\u0430\u0434\u043e \u0438\u043d\u0442\u0435\u0440\u043f\u0440\u0435\u0442\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u043f\u0440\u0438 \u043f\u043e\u043c\u043e\u0449\u0438 \u043a\u043e\u043d\u0446\u0435\u043f\u0446\u0438\u0438   \/\/ \u043b\u043e\u0433\u0438\u043a\u0438 INTEL (\u0430\u0441\u0441\u0435\u043c\u0431\u043b\u0435\u0440 x32, \u043f\u043e \u0441\u0443\u0442\u0438, \u0442\u043e\u043b\u043a\u0443 \u043e\u0442 \u043d\u0435\u0433\u043e \u043d\u0435\u0442,   \/\/ \u0442\u0430\u043a \u043a\u0430\u043a \u043a\u043e\u043c\u0430\u043d\u0434\u044b \u0438\u0437 \u043d\u0430\u0431\u043e\u0440\u0430 \u0430\u0441\u0441\u0435\u043c\u0431\u043b\u0435\u0440\u0430 \u044564 \u043e\u043d \u043d\u0435 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u0442),   \/\/        {$ASMMODE INTEL}   \/\/ \u0430\u0441\u0441\u0435\u043c\u0431\u043b\u0435\u0440 - \u044d\u0442\u043e \u044f\u0437\u044b\u043a \u043f\u0440\u044f\u043c\u044b\u0445 \u043b\u043e\u0433\u0438\u0447\u0435\u0441\u043a\u0438\u0445 \u043a\u043e\u043c\u0430\u043d\u0434 \u0434\u043b\u044f \u0410\u041b\u0423 (\u0432 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u043e\u0440\u0435),   \/\/ \u0432 \u043d\u0435\u0433\u043e, \u043f\u043e \u0441\u0443\u0442\u0438, \u0432\u0441\u0435 \u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0442\u043e\u0440\u044b (\u043d\u0430 \u0432\u0441\u0435\u0445 \u044f\u0437\u044b\u043a\u0430\u0445) \u043a\u043e\u043c\u043f\u0438\u043b\u0438\u0440\u0443\u044e\u0442 \u0444\u0430\u0439\u043b\u044b   \/\/ \u0441 \u043a\u043e\u0434\u043e\u043c (\u043a\u0430\u043a \u044d\u0442\u043e\u0442 \u0444\u0430\u0439\u043b), \u0432 \u0434\u0432\u0443\u0445 \u0441\u043b\u043e\u0432\u0430 \u0432 \u0430\u0441\u0441\u0435\u043c\u0431\u043b\u0435\u0440\u0435 \u0435\u0441\u0442\u044c \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e   \/\/ \u0444\u0438\u043a\u0441\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0445 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0445 \u0440\u0430\u0437\u043d\u043e\u0433\u043e \u0440\u0430\u0437\u043c\u0435\u0440\u0430 (\u0445\u0440\u0430\u043d\u0438\u043b\u0438\u0449\u0430 \u0434\u043b\u044f \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0439,   \/\/ \u0438\u043b\u0438 \u0441\u0443\u043f\u0435\u0440 \u043a\u044d\u0448), \u0438 \u043e\u043a\u043e\u043b\u043e 500+ \u043b\u043e\u0433\u0438\u0447\u0435\u0441\u043a\u0438\u0445, \u0438 \u0430\u0440\u0438\u0444\u043c\u0435\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u0445 \u043a\u043e\u043c\u0430\u043d\u0434,   \/\/ \u043d\u0430\u0434 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f\u043c\u0438, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0430\u0441\u0441\u043e\u0446\u0438\u0438\u0440\u043e\u0432\u0430\u043d\u044b \u0441 \u044d\u0442\u0438\u043c\u0438 (\u0444\u0438\u043a\u0441\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u043c\u0438)   \/\/ \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u043c\u0438, \u043f\u043e \u0441\u0443\u0442\u0438, \u0434\u043b\u044f \u0437\u043d\u0430\u043d\u0438\u044f \u0430\u0441\u0441\u0435\u043c\u0431\u043b\u0435\u0440\u0430 \u0434\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e   \/\/ \u043a\u043e\u043c\u0430\u043d\u0434 (MOV - \u043f\u0435\u0440\u0435\u043c\u0435\u0441\u0442\u0438\u0442\u044c \u0434\u0430\u043d\u043d\u044b\u0435 \u0438\u0437 eax \u0432 ebx, ADD - \u0441\u043b\u043e\u0436\u0438\u0442\u044c eax \u0438 ebx,   \/\/ \u0432\u043d\u0443\u0442\u0440\u044c eax, SUB - \u0432\u044b\u0447\u0435\u0441\u0442\u044c \u0438\u0437 eax, ebx, \u043e\u0441\u0442\u0430\u0432\u0438\u0442\u044c \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u0432 eax, DIV -   \/\/ \u0440\u0430\u0437\u0435\u0434\u043b\u0438\u0442\u044c eax \u043d\u0430 ebx, \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442 \u0432 eax, MUL - \u0443\u043c\u043d\u043e\u0436\u0438\u0442\u044c eax \u043d\u0430 ebx,   \/\/ \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442 \u0432 eax, CMP - \u0441\u0440\u0430\u0432\u043d\u0438\u0442\u044c eax \u0438 ebx, \u0435\u0441\u043b\u0438 \u043d\u0435 \u0440\u0430\u0432\u043d\u044b \u0432\u043e \u0432\u0441\u0442\u0440\u043e\u0435\u043d\u043d\u043e\u0439   \/\/ (\u0444\u0438\u043a\u0441\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u043e\u0439, \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u043e\u0439, \u0434\u0440\u0443\u0433\u043e\u0439 ZF), INC \u0443\u0432\u0435\u043b\u0438\u0447\u0438\u0442\u044c eax \u043d\u0430 1,   \/\/ DEC - \u0443\u043c\u0435\u043d\u044c\u0448\u0438\u0442\u044c eax \u043d\u0430 1, JMP - \u0432\u0440\u044b\u0433\u043d\u0443\u0442\u044c (\u0442\u0443\u0442 \u0434\u043e\u043b\u0436\u043d\u043e \u0431\u044b\u0442\u044c \"\u043f\u0440\u044b\u0433\u043d\u0443\u0442\u044c\", \u043d\u043e \u043c\u043d\u0435 \u0442\u0430\u043a \u043f\u043e\u043d\u0440\u0430\u0432\u0438\u043b\u0430\u0441\u044c \u043e\u0448\u0438\u0431\u043a\u0430 \u0447\u0442\u043e \u044f \u0440\u0435\u0448\u0438\u043b \u0435\u0435 \u043e\u0441\u0442\u0430\u0432\u0438\u0442\u044c)\u043a \u043a\u0430\u043a\u043e\u043c\u0443-\u043b\u0438\u0431\u043e \u0431\u043b\u043e\u0447\u043a\u0443 \u043a\u043e\u0434\u0430   \/\/ (\u043d\u0430 \u043f\u043e\u0434\u043e\u0431\u0438\u0435 \u043b\u0435\u0439\u0431\u043b\u0430 \"label ASMSTR;\" \u0432 \u043d\u0430\u0448\u0435\u0439 \u0444\u0443\u043d\u043a\u0446\u0438\u0438, \u0445\u043e\u0442\u044f \u043f\u043e \u0441\u0443\u0442\u0438   \/\/ \u043f\u0430\u0441\u043a\u0430\u043b\u044c \u043e\u0447\u0435\u043d\u044c \u043c\u043d\u043e\u0433\u043e \u0447\u0435\u0433\u043e \u0431\u0435\u0440\u0435\u0442 \u0438\u0437 \u0430\u0441\u0441\u0435\u043c\u0431\u043b\u0435\u0440\u0430, \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440 \u043a\u043e\u043d\u0446\u0435\u043f\u0446\u0438\u044e   \/\/ \u043f\u0440\u043e\u0446\u0435\u0434\u0443\u0440, \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043a\u043e\u043c\u0430\u043d\u0434\u044b \u0438 \u0432\u043e\u0432\u0441\u0435 \u0434\u0443\u0431\u043b\u0438\u0440\u0443\u044e\u0442\u0441\u044f, \u043a\u0430\u043a \u0438 \u043a\u043b\u044e\u0447\u0435\u0432\u044b\u0435 \u0441\u043b\u043e\u0432\u0430),   \/\/ PUSH - \u043e\u0442\u043f\u0440\u0430\u0432\u0438\u0442\u044c \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 eax \u0432 \u0441\u0432\u043e\u0431\u043e\u0434\u043d\u0443\u044e \u044f\u0447\u0435\u0439\u043a\u0443 \u043e\u043f\u0435\u0440\u0430\u0442\u0438\u0432\u043d\u043e\u0439 \u043f\u0430\u043c\u044f\u0442\u0438   \/\/ (\u043d\u0430 \u0443\u0441\u043c\u043e\u0442\u0440\u0435\u043d\u0438\u0435 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u0430), POP \u0434\u043e\u0441\u0442\u0430\u0442\u044c \u0434\u0430\u043d\u043d\u044b\u0435 \u0438\u0437 \u043e\u043f\u0435\u0440\u0430\u0442\u0438\u0432\u043d\u043e\u0439 \u043f\u0430\u043c\u044f\u0442\u0438,   \/\/ \u044d\u0442\u0438\u0445 \u043a\u043e\u043c\u0430\u043d\u0434 \u0445\u0432\u0430\u0442\u0438\u0442 \u0441 \u0433\u043e\u043b\u043e\u0432\u043e\u0439 \u0447\u0442\u043e\u0431\u044b \u0434\u0435\u043b\u0430\u0442\u044c \u043f\u0440\u0430\u043a\u0442\u0438\u0447\u0435\u0441\u043a\u0438 \u0432\u0441\u0435, \u0435\u0434\u0438\u043d\u0441\u0442\u0432\u0435\u043d\u043d\u0430\u044f   \/\/ \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u0430 \u044d\u0442\u043e eax, ebx, ecx, edx \u0438 \u0442\u0434 (\u0438\u043b\u0438 \u0444\u0438\u043a\u0441\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0435 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0435),   \/\/ \u0434\u0435\u043b\u043e \u0432 \u0442\u043e\u043c, \u0447\u0442\u043e \u0442\u0430\u043a\u0438\u0445 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0445 \u0434\u043e\u0432\u043e\u043b\u044c\u043d\u043e \u043c\u043d\u043e\u0433\u043e, \u0444\u043e\u0440\u043c\u0430\u043b\u044c\u043d\u043e \u0441 \u043d\u0438\u043c\u0438 \u043c\u043e\u0436\u043d\u043e   \/\/ \u0434\u0435\u043b\u0430\u0442\u044c \u0447\u0442\u043e \u0443\u0433\u043e\u0434\u043d\u043e, \u043d\u043e \u043d\u0430 \u043f\u0440\u0430\u043a\u0442\u0438\u043a\u0435 \u0432\u0441\u0435 \u044d\u0442\u0438 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0435 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044e\u0442\u0441\u044f   \/\/ \u0432 \u043a\u0430\u043a\u0438\u0445-\u043b\u0438\u0431\u043e \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u044f\u0445 (\u043a \u043f\u0440\u0438\u043c\u0435\u0440\u0443, \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u0430\u044f ZF \u043f\u043e\u043b\u0443\u0447\u0430\u0435\u0442 \u0432 \u0441\u0435\u0431\u044f 1,   \/\/ \u0435\u0441\u043b\u0438 \u043a\u043e\u043c\u0430\u043d\u0434\u0430 CMP \u0441\u0440\u0430\u0432\u043d\u0438\u043b\u0430 \u0434\u0432\u0430 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f, \u0438 \u043e\u043d\u0438 \u043e\u043a\u0430\u0437\u0430\u043b\u0438\u0441\u044c \u0440\u0430\u0432\u043d\u044b, \u0438 \u0442\u0434),   \/\/ \u043d\u043e \u0435\u0441\u043b\u0438 \u043f\u043e\u0437\u043d\u0430\u043a\u043e\u043c\u0438\u0442\u0441\u044f \u0441 \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u0435\u0439 \u043f\u043e \u043d\u0430\u0431\u043e\u0440\u0430\u043c \u043a\u043e\u043c\u0430\u043d\u0434 \u043b\u043e\u0433\u0438\u043a\u0438 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u043e\u0440\u0430   \/\/ \u0442\u043e \u043f\u0440\u043e\u0431\u043b\u0435\u043c \u043d\u0435 \u0431\u0443\u0434\u0435\u0442   \/\/   \/\/ \u043d\u0430\u043f\u043e\u043c\u043d\u044e, \u0447\u0442\u043e \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u044b \u043d\u0430 \u0447\u0438\u0441\u0442\u043e\u043c \u0430\u0441\u0441\u0435\u043c\u0431\u043b\u0435\u0440\u0435 (\u0442\u043e \u0435\u0441\u0442\u044c   \/\/ \u0438\u043c\u0435\u044e\u0449\u0438\u0435 \u043d\u0435 \u0435\u0441\u0442\u0435\u0441\u0442\u0432\u0435\u043d\u043d\u044b\u0435 \u0434\u043b\u044f \u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0442\u043e\u0440\u0430 \u0441\u0438\u0433\u043d\u0430\u0442\u0443\u0440\u044b \u043a\u043e\u0434\u0430) \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0438   \/\/ \u043e\u0431\u044a\u044f\u0432\u043b\u044f\u044e\u0442\u0441\u044f \u0432\u0438\u0440\u0443\u0441\u0430\u043c\u0438 (\u043d\u0435 \u0443 \u0432\u0441\u0435\u0445, \u043d\u043e \u043c\u043d\u043e\u0433\u0438\u0445 \u0430\u043d\u0442\u0438\u0432\u0438\u0440\u0443\u0441\u043e\u0432), \u0442\u0430\u043a\u0436\u0435 \u0435\u0441\u043b\u0438   \/\/ \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0430 \u043f\u043e\u043f\u044b\u0442\u0430\u0435\u0442\u0441\u044f \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c \"\u043d\u0435\u0430\u0432\u0442\u043e\u0440\u0438\u0437\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0439\" \u0434\u043e\u0441\u0442\u0443\u043f \u043a \u043f\u0430\u043c\u044f\u0442\u0438 (\u0442\u043e   \/\/ \u0435\u0441\u0442\u044c \u0435\u0441\u043b\u0438 \u043a \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u043e\u0439 \u043e\u0431\u0440\u0430\u0449\u0430\u0435\u0442\u0441\u044f \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0430, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u043d\u0435 \u0441\u043e\u0437\u0434\u0430\u0432\u0430\u043b\u0430 \u044d\u0442\u0443   \/\/ \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u0443\u044e), \u043e\u043d\u0430 \u0440\u0438\u0441\u043a\u0443\u0435\u0442 \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u0438\u0437 \u043f\u0435\u0441\u043e\u0447\u043d\u0438\u0446\u044b \u0430\u043d\u0442\u0438\u0432\u0438\u0440\u0443\u0441\u0430,   \/\/ \u043b\u0438\u0431\u043e windows \u043f\u0440\u043e\u0441\u0442\u043e \u0437\u0430\u0431\u043b\u043e\u043a\u0438\u0440\u0443\u0435\u0442 \u044d\u0442\u0443 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u044e (\u0438\u0441\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u044f \u0441\u043e\u0441\u0442\u0430\u0432\u043b\u044f\u044e\u0442   \/\/ \u043f\u0435\u0440\u0435\u0433\u0440\u0443\u0436\u0430\u0435\u043c\u044b\u0435 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u044b (OLE \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u044b, \u043b\u0438\u0431\u043e \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u044b, \u0432 \u043a\u043e\u0442\u043e\u0440\u044b\u0445   \/\/ \u043f\u0440\u0435\u0434\u0443\u0441\u043c\u043e\u0442\u0440\u0435\u043d\u0430 \u0440\u0430\u0431\u043e\u0442\u0430 \u0441 OLE \u043e\u0431\u044a\u0435\u043a\u0442\u0430\u043c\u0438), \u0438\u043d\u0430\u0447\u0435 \u0433\u043e\u0432\u043e\u0440\u044f, \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u044b, \u0432 \u043a\u043e\u0442\u043e\u0440\u044b\u0445   \/\/ \u0440\u0435\u0430\u043b\u0438\u0437\u043e\u0432\u0430\u043d\u043e \u043f\u0440\u0435\u0434\u043e\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u0434\u043e\u0441\u0442\u0443\u043f\u0430 \u043a \u0441\u0432\u043e\u0435\u0439 \u043f\u0430\u043c\u044f\u0442\u0438, \u0434\u043b\u044f \u0434\u0440\u0443\u0433\u0438\u0445 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c   \/\/ (\u043a \u043f\u0440\u0438\u043c\u0435\u0440\u0443, excel, \u0432 \u043a\u043e\u0442\u043e\u0440\u043e\u043c \u0435\u0441\u0442\u044c \u043f\u043e\u043b\u043d\u044b\u0439 \u0444\u0443\u043d\u043a\u0446\u0438\u043e\u043d\u0430\u043b \u0434\u043b\u044f \u0440\u0430\u0431\u043e\u0442\u044b \u0441 \u044d\u0442\u043e\u0439   \/\/ \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u043e\u0439 \u0431\u0435\u0437 \u0433\u0440\u0430\u0444\u0438\u0447\u0435\u0441\u043a\u043e\u0433\u043e \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u0430, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u043c\u043e\u0436\u0435\u0442 \u0431\u044b\u0442\u044c \u0437\u0430\u043f\u0443\u0449\u0435\u043d\u043d\u0430   \/\/ \u0438\u0437 \u0434\u0440\u0443\u0433\u043e\u0439 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u044b), \u043d\u043e \u044d\u0442\u043e \u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0435\u043d\u0438\u0435 \u043b\u0435\u0433\u043a\u043e \u043e\u0431\u0445\u043e\u0434\u0438\u0442\u0441\u044f \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u0435\u043c   \/\/ \u0438\u0434\u0435\u043d\u0442\u0438\u0444\u0438\u043a\u0430\u0446\u0438\u043e\u043d\u043d\u044b\u0445 \u0434\u0430\u043d\u043d\u044b\u0445 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u044b (\u0432 \u0441\u0438\u0441\u0442\u0435\u043c\u0435), \u043d\u0430 \u0438\u0434\u0435\u043d\u0442\u0438\u0444\u0438\u043a\u0430\u0446\u0438\u043e\u043d\u043d\u044b\u0435   \/\/ \u0434\u0430\u043d\u043d\u044b\u0435 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u044b, \u043a \u0447\u044c\u0435\u0439 \u043f\u0430\u043c\u044f\u0442\u0438 \u043d\u0443\u0436\u043d\u043e \u043e\u0431\u0440\u0430\u0442\u0438\u0442\u0441\u044f (\u0442\u043e \u0435\u0441\u0442\u044c \u043a\u0440\u044f\u043a \u0447\u0435\u0440\u0435\u0437   \/\/ \u0445\u0443\u043a \u043d\u0430 \u043f\u0440\u043e\u0446\u0435\u0441\u0441 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u044b), \u043d\u043e \u0442\u0430\u043a\u0438\u0435 \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u044f \u043b\u0435\u0433\u043a\u043e \u043e\u0431\u043d\u0430\u0440\u0443\u0436\u0438\u0432\u0430\u044e\u0442\u0441\u044f   \/\/ \u0438 \u0441\u0438\u0441\u0442\u0435\u043c\u043e\u0439, \u0438 \u0430\u043d\u0442\u0438\u0432\u0438\u0440\u0443\u0441\u043e\u043c), \u0432 \u043e\u0431\u0449\u0435\u043c \u0430\u0441\u0441\u0435\u043c\u0431\u043b\u0435\u0440 \u043d\u0430\u0434\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0441 \u0443\u043c\u043e\u043c   \/\/   \/\/ \u0443\u0432\u0435\u0434\u043e\u043c\u043b\u044f\u0435\u043c \u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0442\u043e\u0440 \u043e \u0442\u043e\u043c, \u0447\u0442\u043e \u044d\u0442\u043e\u0442 \u0431\u043b\u043e\u0447\u043e\u043a \u043a\u043e\u0434\u0430 \u043d\u0435 \u043d\u0443\u0436\u043d\u043e \u043a\u043e\u043c\u043f\u0438\u043b\u0438\u0440\u043e\u0432\u0430\u0442\u044c,   \/\/ \u0442\u0430\u043a \u043a\u0430\u043a \u044d\u0442\u043e \u0443\u0436\u0435 \u043a\u043e\u043c\u0430\u043d\u0434\u044b \u0430\u0441\u0441\u0435\u043c\u0431\u043b\u0435\u0440\u0430   asm     ;{\u0432\u044b\u0437\u044b\u0432\u0430\u0435\u043c \u043a\u043e\u043c\u0430\u043d\u0434\u0443 MOV, \u0432 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u043e\u0432}     ;{\u043f\u0435\u0440\u0435\u0434\u0430\u0435\u043c \u0441\u0443\u043f\u0435\u0440 \u043a\u044d\u0448 eax \u0438 \u043d\u0430\u0448\u0443 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u0443\u044e \u0430,}       ;{\u0442\u043e \u0435\u0441\u0442\u044c \u043a\u043e\u043f\u0438\u0440\u0443\u0435\u043c \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u043e\u0439 \u0430 \u0432 eax}     MOV eax, a;     ;{\u0443\u0432\u0435\u043b\u0438\u0447\u0438\u0432\u0430\u0435\u043c \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 eax \u043d\u0430 1}     INC eax     ;{\u0432\u0435\u0440\u0442\u0430\u0435\u043c \u0432 \u0437\u0430\u0434 (\u0432 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u0443\u044e \u0430)}     MOV a, eax     ;{\u043a\u043e\u043d\u0435\u0446 \u0431\u043b\u043e\u0447\u043a\u0430 \u043a\u043e\u0434\u0430 \u0430\u0441\u0441\u0435\u043c\u0431\u043b\u0435\u0440\u0430}   end;    \/\/ \u0432 \u0434\u0430\u043d\u043d\u043e\u043c \u043f\u0440\u0438\u043c\u0435\u0440\u0435 \u043c\u044b \u043e\u0440\u0433\u0430\u043d\u0438\u0437\u0443\u0435\u043c \u0446\u0438\u043a\u043b \u0431\u0435\u0437 \u043a\u043b\u044e\u0447\u0435\u0432\u043e\u0433\u043e \u0441\u043b\u043e\u0432\u0430 while,   \/\/ for, repeat, \u043c\u044b \u043f\u0440\u043e\u0441\u0442\u043e \u0437\u0430\u0434\u0430\u0435\u043c \u0443\u0441\u043b\u043e\u0432\u0438\u0435, \u0435\u0441\u043b\u0438 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u043e\u0439, \u0430   \/\/ \u043c\u0435\u043d\u044c\u0448\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u043e\u0439 \u0431, \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0435\u043c \u043a\u043e\u0434 \u0443\u0441\u043b\u043e\u0432\u0438\u044f, \u0442\u0430\u043a\u0430\u044f \u043a\u043e\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u044f   \/\/ \u0432\u0441\u0435 \u0440\u0430\u0432\u043d\u043e \u043e\u0431\u0440\u0430\u0449\u0430\u0435\u0442\u0441\u044f \u043a \u043e\u043f\u0435\u0440\u0430\u0442\u0438\u0432\u043d\u043e\u0439 \u043f\u0430\u043c\u044f\u0442\u0438 (\u043c\u044b \u0432\u043e\u0440\u043e\u0447\u0438\u043c \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u0432 \u0430),   \/\/ \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u0434\u043b\u044f \u0442\u043e\u0433\u043e, \u0447\u0442\u043e\u0431\u044b \u0440\u0435\u0430\u043b\u044c\u043d\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u043f\u0440\u0435\u0438\u043c\u0443\u0449\u0435\u0441\u0442\u0432\u0430 \u0441\u0443\u043f\u0435\u0440 \u043a\u044d\u0448\u0430,   \/\/ \u043d\u0443\u0436\u043d\u043e \u0432\u043e\u0440\u043e\u0447\u0438\u0442\u044c \u0441\u0447\u0435\u0442\u0447\u0438\u043a (\u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u0443\u044e \u0430), \u043b\u0438\u043c\u0438\u0442 (\u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u0443\u044e \u0431), \u0432 \u0441\u0443\u043f\u0435\u0440   \/\/ \u043a\u044d\u0448, \u0438 \u0435\u0449\u0435 \u0442\u0430\u043c \u0436\u0435 \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0442\u044c \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0443 \u0443\u0441\u043b\u043e\u0432\u0438\u044f   \/\/   \/\/ \u0435\u0441\u0442\u044c \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0442\u0438\u043f\u043e\u0432 \u0443\u0441\u043b\u043e\u0432\u0438\u0439 &lt; - \u043c\u0435\u043d\u044c\u0448\u0435, > - \u0431\u043e\u043b\u044c\u0448\u0435, = - \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0443\u0435\u0442,   \/\/ &lt;> - \u0431\u043e\u043b\u044c\u0448\u0435, \u043c\u0435\u043d\u044c\u0448\u0435 (\u043d\u0435 \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0443\u0435\u0442), \u0438 \u0441\u043f\u0435\u0446\u0438\u0430\u043b\u044c\u043d\u044b\u0435 (\u0434\u043b\u044f \u043e\u0442\u0441\u0447\u0435\u0442\u043e\u0432,   \/\/ \u0433\u0434\u0435 0 \u044d\u0442\u043e 1, \u043d\u043e \u043f\u0440\u0438 \u044d\u0442\u043e\u043c \u0432\u0442\u043e\u0440\u043e\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u0441\u0440\u0430\u0432\u043d\u0435\u043d\u0438\u044f \u0438\u0437\u043d\u0430\u0447\u0430\u043b\u044c\u043d\u043e 1),   \/\/ &lt;= - \u043c\u0435\u043d\u044c\u0448\u0435, \u0438\u043b\u0438 \u0440\u043e\u0432\u043d\u043e, >= - \u0431\u043e\u043b\u044c\u0448\u0435, \u0438\u043b\u0438 \u0440\u0430\u0432\u043d\u043e, \u044d\u0442\u043e \u0442\u043e\u0442 \u0441\u043b\u0443\u0447\u0430\u0439   if (a &lt;= b) then   begin      \/\/ \u0432\u043d\u0443\u0442\u0440\u0438 \u043f\u0435\u0440\u0432\u043e\u0433\u043e \u0443\u0441\u043b\u043e\u0432\u0438\u044f \u0437\u0430\u0434\u0430\u0435\u043c \u0432\u0442\u043e\u0440\u043e\u0435, \u0435\u0441\u043b\u0438 \u043f\u0435\u0440\u0432\u044b\u0439 \u0441\u0438\u043c\u0432\u043e\u043b \u0438\u0437     \/\/ \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u043e\u0439, \u043f\u0435\u0440\u0435\u0434\u0430\u0432\u0430\u0435\u043c\u043e\u0439 \u0432\u043e \u0432\u0440\u0435\u043c\u044f \u0432\u044b\u0437\u043e\u0432\u0430 \u0444\u0443\u043d\u043a\u0446\u0438\u0438     \/\/ \u043d\u0435 \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0443\u0435\u0442 \u0441\u0438\u043c\u0432\u043e\u043b\u0443, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043d\u0430\u0445\u043e\u0434\u0438\u0442\u0441\u044f \u0432 \u0442\u0435\u043a\u0441\u0442\u0435, \u043a\u043e\u0442\u043e\u0440\u044b\u0439     \/\/ \u043c\u044b \u0442\u043e\u0436\u0435 \u043f\u0435\u0440\u0435\u0434\u0430\u0435\u043c \u043f\u0440\u0438 \u0432\u044b\u0437\u043e\u0432\u0435 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 (\u0441\u0438\u043c\u0432\u043e\u043b \u0434\u043b\u044f \u0441\u0440\u0430\u0432\u043d\u0435\u043d\u0438\u044f \u0441     \/\/ KeyStart \u0431\u0435\u0440\u0435\u043c \u0438\u0437 \u0438\u043d\u0434\u0435\u043a\u0441\u0430 \u0431\u0443\u043a\u0432\u044b \u0432 \u0442\u0435\u043a\u0441\u0442\u0435, \u0430 \u0438\u043d\u0434\u0435\u043a\u0441 \u0431\u0435\u0440\u0435\u043c \u0438\u0437     \/\/ \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u043e\u0439 \u0430, \u043a\u043e\u0442\u043e\u0440\u0430\u044f, \u043f\u043e\u0441\u043b\u0435 \u043a\u0430\u0436\u0434\u043e\u0433\u043e \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f \u0443\u0432\u0435\u043b\u0438\u0447\u0438\u0432\u0430\u0435\u0442\u0441\u044f     \/\/ \u043d\u0430 1)     if (KeyStart[1] &lt;> Text[a]) then     begin       \/\/ \u043f\u0440\u0435\u0440\u044b\u0432\u0430\u0435\u043c \u043f\u043e\u0441\u0442\u0440\u043e\u0447\u043d\u043e\u0435 \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u0435 \u043b\u043e\u0433\u0438\u043a\u0438 \u043d\u0430\u0448\u0435\u0439 \u0444\u0443\u043d\u043a\u0446\u0438\u0438,       \/\/ \u0438 \u043f\u0440\u044b\u0433\u0430\u0435\u043c \u043a \u043a\u043b\u044e\u0447\u0435\u0432\u043e\u043c\u0443 \u0441\u043b\u043e\u0432\u0443 ASMSTR, \u0447\u0442\u043e\u0431\u044b \u043f\u0440\u043e\u0434\u043e\u043b\u0436\u0438\u0442\u044c       \/\/ \u043f\u043e\u0441\u0442\u0440\u043e\u0447\u043d\u043e\u0435 \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u0435 \u043a\u043e\u0434\u0430 \u043e\u0442\u0442\u0443\u0434\u0430       GOTO ASMSTR;     end     \/\/ \u043e\u043f\u0438\u0441\u044b\u0432\u0430\u0435\u043c \u0431\u043b\u043e\u0447\u043e\u043a \u0430\u043b\u044c\u0442\u0435\u0440\u043d\u0430\u0442\u0438\u0432\u044b \u0443\u0441\u043b\u043e\u0432\u0438\u044f (\u0442\u043e \u0435\u0441\u0442\u044c \u0435\u0441\u043b\u0438 \u043f\u0435\u0440\u0432\u044b\u0439     \/\/ \u0441\u0438\u043c\u0432\u043e\u043b \u0438\u0437 KeyStart \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0443\u0435\u0442 \u043a\u0430\u043a\u043e\u043c\u0443-\u043b\u0438\u0431\u043e \u0441\u0438\u043c\u0432\u043e\u043b\u0443 \u0438\u0437 Text)     ELSE     begin        \/\/ \u0435\u0441\u043b\u0438 \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0435\u0442\u0441\u044f \u0430\u043b\u044c\u0442\u0435\u0440\u043d\u0430\u0442\u0438\u0432\u043d\u044b\u0439 \u0431\u043b\u043e\u043a, \u0437\u043d\u0430\u0447\u0438\u0442 \u043c\u044b \u0441\u0435\u0439\u0447\u0430\u0441 \u043d\u0430\u0445\u043e\u0434\u0438\u043c\u0441\u044f       \/\/ \u0432 \u043c\u0435\u0441\u0442\u0435, \u0433\u0434\u0435 \u043d\u0430\u0447\u0438\u043d\u0430\u0435\u0442\u0441\u044f \"\u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0438\u0442\u0435\u043b\u044c\" \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043d\u0430\u043c \u043d\u0443\u0436\u043d\u043e,       \/\/ \u0442\u0435\u043f\u0435\u0440\u044c \u043c\u044b \u0434\u043e\u043b\u0436\u043d\u044b \u043f\u0435\u0440\u0435\u0434\u0432\u0438\u043d\u0443\u0442\u0441\u044f \u043d\u0430 1 \u0441\u0438\u043c\u0432\u043e\u043b \u0432\u043f\u0435\u0440\u0435\u0434, \u0438 \u0441\u043e\u0431\u0438\u0440\u0430\u0442\u044c \u0432\u0435\u0441\u044c       \/\/ \u0442\u0435\u043a\u0441\u0442 \u0432\u043e \u0432\u0441\u043f\u043e\u043c\u043e\u0433\u0430\u0442\u0435\u043b\u044c\u043d\u0443\u044e \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u0443\u044e, \u0434\u043e \u0442\u0435\u0445 \u043f\u043e\u0440, \u043f\u043e\u043a\u0430 \u043d\u0435 \u0432\u0441\u0442\u0440\u0435\u0442\u0438\u043c       \/\/ \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0439 \u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0438\u0442\u0435\u043b\u044c, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0431\u0443\u0434\u0435\u0442 \u0438\u0433\u0440\u0430\u0442\u044c \u0440\u043e\u043b\u044c \"\u0437\u0430\u043a\u0440\u044b\u0432\u0430\u044e\u0449\u0435\u0433\u043e       \/\/ \u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0438\u0442\u0435\u043b\u044f\"       \/\/       \/\/ \u0432 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u0443\u044e \u0441 \u043f\u043e\u043c\u0435\u0449\u0430\u0435\u043c \u043d\u0438\u0447\u0435\u0433\u043e       c:='';       \/\/ \u043f\u0435\u0440\u0435\u043c\u0435\u0449\u0430\u0435\u043c\u0441\u044f \u043d\u0430 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0439 \u0441\u0438\u043c\u0432\u043e\u043b       a:=a+1;        \/\/ \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u0435\u043c \u0446\u0438\u043a\u043b, \u0434\u043e \u0442\u0435\u0445 \u043f\u043e\u0440, \u043f\u043e\u043a\u0430 \u0430 \u043c\u0435\u043d\u044c\u0448\u0435 \u0431       \/\/ \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0435\u043c \u043a\u043e\u0434 \u0446\u0438\u043a\u043b\u0430 \u0441\u043d\u043e\u0432\u0430       while a &lt;= b do       begin          \/\/ \u0437\u0430\u0434\u0430\u0435\u043c \u0443\u0441\u043b\u043e\u0432\u0438\u0435, \u0435\u0441\u043b\u0438 \u043f\u0435\u0440\u0432\u044b\u0439 \u0441\u0438\u043c\u0432\u043e\u043b         \/\/ \u0438\u0437 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u043e\u0439 KeyEnd \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0443\u0435\u0442         \/\/ \u0441\u0438\u043c\u0432\u043e\u043b\u0443 (\u0438\u0437 Text) \u043f\u043e\u0434 \u0438\u043d\u0434\u0435\u043a\u0441\u043e\u043c (\u0432 \u0442\u0435\u043a\u0441\u0442\u0435),         \/\/ \u043d\u0430 \u043c\u0435\u0441\u0442\u043e \u043a\u043e\u0442\u043e\u0440\u043e\u0433\u043e \u043f\u043e\u043c\u0435\u0449\u0430\u0435\u043c \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u043c\u043e\u0435         \/\/ \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u043e\u0439 \u0430 (\u0441\u0447\u0435\u0442\u0447\u0438\u043a), \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0435\u043c \u043a\u043e\u0434 \u0431\u043b\u043e\u0447\u043a\u0430         \/\/ \u0432\u043d\u0443\u0442\u0440\u0438 \u0443\u0441\u043b\u043e\u0432\u0438\u044f         if KeyEnd[1] = Text[a] then         begin            \/\/ \u043f\u0440\u0435\u0440\u044b\u0432\u0430\u0435\u043c \u0432\u0441\u0435 \u0446\u0438\u043a\u043b\u044b,           \/\/ \u043d\u0430\u0440\u0443\u0448\u0435\u043d\u0438\u0435\u043c \u043b\u043e\u0433\u0438\u043a\u0438, \u043f\u043e\u043c\u0435\u0441\u0442\u0438\u0432           \/\/ \u0432 \u0430 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u0438\u0437 \u0431           a:=b;            \/\/ \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u043c \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442 \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f           \/\/ \u0444\u0443\u043d\u043a\u0446\u0438\u0438, \u043f\u0440\u0438\u0441\u0432\u0430\u0438\u0432\u0430\u0435\u043c \u0441\u043a\u0440\u044b\u0442\u043e\u0439 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u043e\u0439           \/\/ result (\u043e\u043d\u0430 \u0435\u0441\u0442\u044c \u0443 \u043a\u0430\u0436\u0434\u043e\u0439 \u0444\u0443\u043d\u043a\u0446\u0438\u0438),           \/\/ \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u043c\u043e\u0435 \u0438\u0437 \u0441           result:=c;         end ELSE         begin            \/\/ \u0432 \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u043c\u043e\u0435 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u043e\u0439 \u0441 \u043f\u0440\u0438\u043f\u043b\u044e\u0441\u043e\u0432\u044b\u0432\u0430\u0435\u043c           \/\/ \u0435\u0435 \u0441\u043e\u0431\u0441\u0442\u0432\u0435\u043d\u043d\u043e\u0435 \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u043c\u043e\u0435, \u0438 \u0441\u0438\u043c\u0432\u043e\u043b \u0438\u0437 Text,           \/\/ \u0441 \u0438\u043d\u0434\u0435\u043a\u0441\u043e\u043c \u0431\u0443\u043a\u0432\u044b \u0438\u0437 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u043e\u0439 \u0430, \u043d\u043e \u043f\u0440\u0438           \/\/ \u0443\u0441\u043b\u043e\u0432\u0438\u0438 \u0447\u0442\u043e \u0441\u0438\u043c\u0432\u043e\u043b \u043d\u0435 \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0443\u0435\u0442 \u0441\u0438\u043c\u0432\u043e\u043b\u0443           \/\/ \"\u0437\u0430\u043a\u0440\u044b\u0432\u0430\u044e\u0449\u0435\u0433\u043e \u043a\u043b\u044e\u0447\u0430\" \u0434\u043b\u044f \u043f\u0430\u0440\u0441\u0438\u043d\u0433\u0430 \u0442\u0435\u043a\u0441\u0442\u0430           \/\/ (\u043a\u043e\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u044f ELSE)           c:=c+Text[a];         end;          \/\/ \u043f\u043e\u0441\u043b\u0435 \u043a\u0430\u0436\u0434\u043e\u0433\u043e \u043f\u0440\u043e\u0445\u043e\u0434\u0430 \u0446\u0438\u043a\u043b\u0430 \u0443\u0432\u0435\u043b\u0438\u0447\u0438\u0432\u0430\u0435\u043c         \/\/ \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u043e\u0439, \u0430 \u043d\u0430 1 (\u043f\u0440\u0438 \u043f\u043e\u043c\u043e\u0449\u0438         \/\/ \u0441\u043f\u0435\u0446\u0438\u0430\u043b\u044c\u043d\u043e\u0439 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 \u0438\u0437 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a)         inc(a);       end;        \/\/ \u0432 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u0443\u044e \u0430 \u043f\u043e\u043c\u0435\u0449\u0430\u0435\u043c \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u043e\u0439 \u0431       a:=b;     end;   end; end;  \/\/ \u043e\u043f\u0438\u0448\u0435\u043c \u0444\u0443\u043d\u043a\u0446\u0438\u044e (\u043f\u0440\u043e\u0446\u0435\u0434\u0443\u0440\u0443) \u0434\u043b\u044f \u0441\u043e\u0431\u044b\u0442\u0438\u044f \u043d\u0430\u0436\u0430\u0442\u0438\u044f \u043f\u043e \u0440\u0435\u0434\u0430\u043a\u0442\u043e\u0440\u0443 \u0442\u0435\u043a\u0441\u0442\u0430, \/\/ \u043c\u043e\u0436\u043d\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0438 ShellAPI \u0447\u0442\u043e\u0431\u044b \u043e\u0431\u0440\u0430\u0431\u0430\u0442\u044b\u0432\u0430\u0442\u044c \u0441\u043e\u0431\u044b\u0442\u0438\u044f \/\/ \u043d\u0430\u0436\u0430\u0442\u0438\u0439 \u0432\u043d\u0435 \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u043d\u044b\u0445 \u0441\u043e\u0431\u044b\u0442\u0438\u0439, \u043a\u043e\u0434\u044b \u043a\u043b\u0430\u0432\u0438\u0448 \u0434\u043e\u0441\u0442\u0443\u043f\u043d\u044b \u0432 \u0438\u043d\u0442\u0435\u0440\u043d\u0435\u0442\u0435, \/\/ \u0434\u043b\u044f \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u0438\u044f \u043a\u043e\u043e\u0440\u0434\u0438\u043d\u0430\u0442 \u043a\u0443\u0440\u0441\u043e\u0440\u0430 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f \u043e\u0431\u044a\u0435\u043a\u0442 Mouse.CursorPos.Y, \/\/ \u0438\u043b\u0438 X, \u0442\u0430\u043a\u0436\u0435 \u043c\u043e\u0436\u043d\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0444\u0443\u043d\u043a\u0446\u0438\u0438 \u0438\u0437 ShellAPI (GetCursorPos) procedure TComDrawer.Ext_TextEditorKeyDown(                   Sender: TObject;                   var Key: Word;                   Shift: TShiftState   );  \/\/ \u0441\u043e\u0437\u0434\u0430\u0434\u0438\u043c \u0432\u0441\u043f\u043e\u043c\u043e\u0433\u0430\u0442\u0435\u043b\u044c\u043d\u044b\u0435 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0435 var text1, text2:string;     a,b:integer; begin    \/\/ \u0441\u043e\u0437\u0434\u0430\u0435\u043c \u0443\u0441\u043b\u043e\u0432\u0438\u0435, \u0435\u0441\u043b\u0438 \u043a\u043e\u0434 \u043d\u0430\u0436\u0430\u0442\u043e\u0439 \u043a\u043b\u0430\u0432\u0438\u0448\u0438 \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0443\u0435\u0442   \/\/ \u043a\u043e\u0434\u0443 1B, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043f\u0440\u0438 \u043f\u043e\u043c\u043e\u0449\u0438 \u0441\u0438\u043c\u0432\u043e\u043b\u0430 $ \u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0442\u043e\u0440 \u0442\u0440\u0430\u043d\u0441\u0444\u043e\u0440\u043c\u0438\u0440\u0443\u0435\u0442   \/\/ \u0432 \u044516 \u0444\u043e\u0440\u043c\u0430\u0442 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f, \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0435\u043c \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u044f \u0443\u0441\u043b\u043e\u0432\u0438\u044f (1B - \u043a\u043e\u0434   \/\/ \u043a\u043b\u0430\u0432\u0438\u0448\u0438 Esc)   if (Key = $1B) then   begin      \/\/ \u043d\u0430\u043f\u043e\u043b\u043d\u044f\u0435\u043c \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0435 \u0434\u043b\u044f \u0446\u0438\u043a\u043b\u0430     a:=0;      \/\/ \u0435\u0441\u043b\u0438 \u043a\u0430\u0440\u0435\u0442\u043a\u0430 \u0432 \u0440\u0435\u0434\u0430\u043a\u0442\u043e\u0440\u0435 \u0434\u0430\u043b\u044c\u0448\u0435 \u0441\u0442\u0440\u043e\u043a\u0438 \u0441 \u0438\u043d\u0434\u0435\u043a\u0441\u043e\u043c 0     \/\/ \u043d\u0430 \u0432\u0441\u044f\u043a\u0438\u0439 \u0441\u043b\u0443\u0447\u0430\u0439 \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u0430\u0435\u043c \"\u043d\u0435\u043f\u043e\u043b\u043d\u043e\u0435\" \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u0435     \/\/ \u043a\u043e\u043c\u0430\u043d\u0434 \u0432 \u0442\u0435\u043a\u0441\u0442\u043e\u0432\u043e\u043c \u0440\u0435\u0434\u0430\u043a\u0442\u043e\u0440\u0435 (\u043d\u0435 \u0431\u0430\u0433 \u0430 \u0444\u0438\u0447\u0430)     a:=TextViewer.CaretPos.Y;      \/\/ \u0443\u0437\u043d\u0430\u0435\u043c \u043e\u0431\u0449\u0435\u0435 \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u0441\u0442\u0440\u043e\u043a \u0432 \u0442\u0435\u043a\u0441\u0442\u043e\u0432\u043e\u043c \u0440\u0435\u0434\u0430\u043a\u0442\u043e\u0440\u0435     b:=TextViewer.Lines.Count;      \/\/ \u0441\u043e\u0437\u0434\u0430\u0435\u043c \u0446\u0438\u043a\u043b \u0441 \u0443\u0441\u043b\u043e\u0432\u0438\u0435, \u043f\u043e\u043a\u0430 \u0430 \u043c\u0435\u043d\u044c\u0448\u0435 \u0431 \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0435\u043c     \/\/ \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u044f \u0446\u0438\u043a\u043b\u0430     while a &lt; b do     begin        \/\/ \u0440\u0435\u0430\u043b\u0438\u0437\u0443\u0435\u043c \u0440\u0430\u0437\u043d\u043e\u0432\u0438\u0434\u043d\u043e\u0441\u0442\u044c \"\u043f\u0430\u0440\u0441\u0438\u043d\u0433\u0430\" \u043f\u0440\u0438 \u043f\u043e\u043c\u043e\u0449\u0438       \/\/ \u0437\u0430\u043c\u0435\u043d\u044b \u0442\u0435\u043a\u0441\u0442\u0430       \/\/       \/\/ \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u043e\u0439 text1 \u043f\u0440\u0438\u0441\u0432\u0430\u0438\u0432\u0430\u0435\u043c (\u043a\u043e\u043f\u0438\u0440\u0443\u0435\u043c) \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u043c\u043e\u0435       \/\/ \u0441\u0442\u0440\u043e\u043a\u0438 \u0442\u0435\u043a\u0441\u0442\u0430 \u0441 \u0438\u043d\u0434\u0435\u043a\u0441\u043e\u043c, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0431\u0435\u0440\u0435\u043c \u0438\u0437 \u043f\u043e\u0437\u0438\u0446\u0438\u0438          text1:=TextViewer.Lines.Strings[a];        \/\/ \u0441 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u043e\u0439 text2 \u0430\u0441\u0441\u043e\u0446\u0438\u0438\u0440\u0443\u0435\u043c \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442 \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f       \/\/ \u0444\u0443\u043d\u043a\u0446\u0438\u0438 \u0434\u043b\u044f \u0437\u0430\u043c\u0435\u043d\u044b \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0439 \u0432 \u0442\u0435\u043a\u0441\u0442\u0435 (\u0432\u0441\u0442\u0440\u043e\u0435\u043d\u043d\u0430\u044f       \/\/ \u0444\u0443\u043d\u043a\u0446\u0438\u044f \u0438\u0437 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a), \u0432 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u043e\u0432 \u043f\u0435\u0440\u0435\u0434\u0430\u0435\u043c       \/\/ \u0442\u0435\u043a\u0441\u0442 \u0434\u043b\u044f \u043f\u043e\u0438\u0441\u043a\u0430, \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u0434\u043b\u044f \u0437\u0430\u043c\u0435\u043d\u044b (\u0443 \u043c\u0435\u043d\u044f \u043d\u0438\u0447\u0435\u0433\u043e),       \/\/ \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u044b \u0443\u0441\u043b\u043e\u0432\u0438\u0439 \u0437\u0430\u043c\u0435\u043d\u044b (\u0438\u0433\u043d\u043e\u0440\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0420\u0415\u0413\u0418\u0421\u0422\u0420, \u0437\u0430\u043c\u0435\u043d\u0438\u0442\u044c       \/\/ \u0432\u0441\u0435 \u043d\u0430\u0439\u0434\u0435\u043d\u043d\u044b\u0435 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u044b), \u043d\u0443 \u0438 \u0442\u0435\u043a\u0441\u0442, \u0432 \u043a\u043e\u0442\u043e\u0440\u043e\u043c \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u044c       \/\/ \u0437\u0430\u043c\u0435\u043d\u0443       text2:=StringReplace(text1, '\u0440\u0430\u0437\u043c\u0435\u0440', '', [rfReplaceAll, rfIgnoreCase]);        \/\/ \u0441\u043e\u0437\u0434\u0430\u0435\u043c \u0443\u0441\u043b\u043e\u0432\u0438\u0435, \u0435\u0441\u043b\u0438 \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u043c\u043e\u0435 text1 \u043d\u0435 \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0443\u0435\u0442       \/\/ \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u043c\u043e\u043c\u0443 text2 (\u0432 \u043a\u043e\u0442\u043e\u0440\u043e\u0435 \u043f\u043e\u043f\u0430\u0434\u0430\u0435\u0442 \u0442\u0435\u043a\u0441\u0442, \u043f\u043e\u0441\u043b\u0435 \u0437\u0430\u043c\u0435\u043d\u044b \u0432       \/\/ \u0442\u0435\u043a\u0441\u0442\u0435 \u0432\u0441\u0435\u0445 \u043a\u043b\u044e\u0447\u0435\u0432\u044b\u0445 \u0441\u043b\u043e\u0432), \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0435\u043c \u043a\u043e\u0434 \u0443\u0441\u043b\u043e\u0432\u0438\u044f       if text1 &lt;> text2 then       begin         text2:=ParseText('\"','\"',text1);          \/\/ \u0442\u0430\u043a \u043a\u0430\u043a \u043c\u044b \u0437\u043d\u0430\u0435\u043c, \u0447\u0442\u043e \u043a\u043b\u044e\u0447\u0435\u0432\u043e\u0435 \u0441\u043b\u043e\u0432\u043e - \u044d\u0442\u043e \"\u0440\u0430\u0437\u043c\u0435\u0440\"         \/\/ \u0438\u0437\u043c\u0435\u043d\u044f\u0435\u043c \u0443 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u043e\u0439 \u0441 \u0440\u0430\u0437\u043c\u0435\u0440\u0430\u043c\u0438 \u0440\u0430\u0437\u043c\u0435\u0440, \u0437\u0430\u0434\u0430\u0435\u043c         \/\/ \u0440\u0430\u0437\u043c\u0435\u0440 \u0438\u0437 \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u043c\u043e\u0433\u043e, \u043a\u043e\u0442\u043e\u0440\u043e\u0435 \u043c\u044b \u0440\u0430\u0441\u043f\u0430\u0440\u0441\u0438\u043b\u0438 \u0432 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u0443\u044e         \/\/ text2, \u043f\u0440\u0438 \u044d\u0442\u043e\u043c \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u0444\u0443\u043d\u043a\u0446\u0438\u0438 \u0438\u0437 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0435         \/\/ \u043a\u043e\u043d\u0432\u0435\u0440\u0442\u0438\u0440\u0443\u0435\u043c \u0442\u0435\u043a\u0441\u0442 \u0432 \u0447\u0438\u0441\u043b\u043e, \u044d\u0442\u043e \u0448\u0438\u0440\u0438\u043d\u0430         FigureSize.Width:=SysUtils.StrToInt(text2);         FigureSize.Height:=(SysUtils.StrToInt(text2) div 4) * 3;       end;        \/\/ \u0430\u043d\u0430\u043b\u043e\u0433\u0438\u0447\u043d\u044b\u0435 \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u044f \u043f\u0440\u043e\u0434\u0435\u043b\u0430\u0435\u043c \u0434\u043b\u044f \u0432\u0441\u0435\u0445 \u043a\u043e\u043c\u0430\u043d\u0434            text1:=TextViewer.Lines.Strings[a];       text2:=StringReplace(text1, '\u043f\u043e\u0437\u0438\u0446\u0438\u044f', '', [rfReplaceAll, rfIgnoreCase]);        if text1 &lt;> text2 then       begin          \/\/ \u0432\u044b\u0437\u044b\u0432\u0430\u0435\u043c \u043d\u0430\u0448\u0443 \u0444\u0443\u043d\u043a\u0446\u0438\u044e \u0434\u043b\u044f \u043f\u0430\u0440\u0441\u0438\u043d\u0433\u0430, \u044f \u0431\u0443\u0434\u0443 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c         \/\/ \u043a\u0430\u043a \u043c\u0435\u0442\u043a\u0438 \u0434\u043b\u044f \"\u0440\u0430\u0441\u043f\u0430\u0440\u0441\u0438\u0432\u0430\u043d\u0438\u044f\" \u0442\u0435\u043a\u0441\u0442\u0430 \u0441\u0438\u043c\u0432\u043e\u043b (\"), \u0442\u0430\u043a \u043a\u0430\u043a         \/\/ \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u0430\u044f text2 \u0431\u043e\u043b\u044c\u0448\u0435 \u043d\u0435 \u043d\u0443\u0436\u043d\u0430 (\u043d\u043e \u0435\u0449\u0435 \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u0435\u0442, \u0442\u0430\u043a \u043a\u0430\u043a         \/\/ \u043a\u043e\u043d\u0435\u0446 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 \u043d\u0435 \u0434\u043e\u0441\u0442\u0438\u0433\u043d\u0443\u0442), \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044e text2 \u043a\u0430\u043a \u0445\u0440\u0430\u043d\u0438\u043b\u0438\u0449\u0435         text2:=ParseText('\"','\"',text1);          \/\/ \u0434\u043b\u044f \u0440\u0430\u0441\u043f\u043e\u043b\u043e\u0436\u0435\u043d\u0438\u044f \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u043c \u0434\u0432\u0430 \u0441\u0432\u043e\u0439\u0441\u0442\u0432\u0430         \/\/ (\u0432\u043b\u043e\u0436\u0435\u043d\u043d\u044b\u0445 \u0432 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u0443\u044e FigureSize) \u0438\u0437 \u043d\u0430\u0448\u0435\u0439 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u043e\u0439         \/\/ \u0441 \u0440\u0430\u0437\u043c\u0435\u0440\u043e\u043c         FigureSize.Left:=SysUtils.StrToInt(text2);          \/\/ \u0432\u044b\u0441\u043e\u0442\u0430 \u0431\u0443\u0434\u0435\u0442 3\\4 \u043e\u0442 \u0448\u0438\u0440\u0438\u043d\u044b         FigureSize.Top:=(SysUtils.StrToInt(text2) div 4) * 3;       end;        text1:=TextViewer.Lines.Strings[a];       text2:=StringReplace(text1, '\u043a\u0440\u0443\u0433', '', [rfReplaceAll, rfIgnoreCase]);        if text1 &lt;> text2 then       begin          \/\/ \u0434\u043b\u044f \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u0438\u044f \u0444\u0438\u0433\u0443\u0440\u044b \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u043c \u0434\u0440\u0443\u0433\u0443\u044e \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u0443\u044e,         \/\/ \u044f \u0432\u044b\u0431\u0440\u0430\u043b \u043a\u043b\u044e\u0447\u0435\u0432\u043e\u0435 \u0441\u043b\u043e\u0432\u043e PARAM_CIRCLE         Figure:='PARAM_CIRCLE';          \/\/ \u0432\u044b\u0437\u044b\u0432\u0430\u0435\u043c \u0444\u0443\u043d\u043a\u0446\u0438\u044e (\u043a\u043e\u0442\u043e\u0440\u0430\u044f \u0435\u0449\u0435 \u043d\u0435 \u043e\u043f\u0438\u0441\u0430\u043d\u0430), \u043c\u044b \u043c\u043e\u0436\u0435\u043c         \/\/ \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c \u043a \u043d\u0435\u0439 \u0434\u043e\u0441\u0442\u0443\u043f, \u0437\u0430 \u0441\u0447\u0435\u0442 \u043e\u0442\u043b\u043e\u0436\u0435\u043d\u043d\u043e\u0433\u043e \u043e\u043f\u0438\u0441\u0430\u043d\u0438\u044f         \/\/ (\u043f\u043e\u0442\u043e\u043c\u0443 \u0447\u0442\u043e \u0432 \u043d\u0430\u0447\u0430\u043b\u0435 \u043a\u043b\u0430\u0441\u0441\u0430 \u043c\u044b \u043e\u0431\u044a\u044f\u0432\u0438\u043b\u0438 \u0437\u0430\u0433\u043e\u043b\u043e\u0432\u043e\u043a \u044d\u0442\u043e\u0439         \/\/ \u0444\u0443\u043d\u043a\u0446\u0438\u0438, \u0442\u043e \u0435\u0441\u0442\u044c \u0438\u0437\u0431\u0430\u0432\u043b\u0435\u043d\u044b \u043e\u0442 \u043b\u043e\u0433\u0438\u0447\u0435\u0441\u043a\u043e\u0439 \u043e\u0448\u0438\u0431\u043a\u0438 \u0432\u044b\u0437\u043e\u0432\u0430         \/\/ \u0444\u0443\u043d\u043a\u0446\u0438\u0438 \u0440\u0430\u043d\u044c\u0448\u0435, \u0447\u0435\u043c \u043e\u043d\u0430 \u0431\u0443\u0434\u0435\u0442 \u0441\u043e\u0437\u0434\u0430\u043d\u0430, PUBLISHED \u043c\u043e\u0436\u0435\u0442         \/\/ \u043d\u0430\u0440\u0443\u0448\u0430\u0442\u044c \u044d\u0442\u043e\u0442 \u043f\u043e\u0440\u044f\u0434\u043e\u043a)         DrawOnPaintField;       end;          text1:=TextViewer.Lines.Strings[a];       text2:=StringReplace(text1, '\u043a\u0432\u0430\u0434\u0440\u0430\u0442', '', [rfReplaceAll, rfIgnoreCase]);        if text1 &lt;> text2 then       begin         Figure:='PARAM_RECTANGLE';          DrawOnPaintField;       end;         text1:=TextViewer.Lines.Strings[a];       text2:=StringReplace(text1, '\u0442\u0435\u043a\u0441\u0442', '', [rfReplaceAll, rfIgnoreCase]);        if text1 &lt;> text2 then       begin         Figure:='PARAM_TEXT';             DrawOnPaintField;       end;         \/\/ \u0443\u0432\u0435\u043b\u0438\u0447\u0438\u0432\u0430\u0435\u043c \u0441\u0447\u0435\u0442\u0447\u0438\u043a \u043d\u0430 1 \u043f\u043e\u0441\u043b\u0435 \u043a\u0430\u0436\u0434\u043e\u0433\u043e \u043f\u0440\u043e\u0445\u043e\u0434\u0430       inc(a);     end;   end; end;  \/\/ \u043e\u043f\u0438\u0448\u0435\u043c \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u044e\u044e \u0444\u0443\u043d\u043a\u0446\u0438\u044e (\u0434\u043b\u044f \u043e\u0442\u0440\u0438\u0441\u043e\u0432\u043a\u0438) function TComDrawer.DrawOnPaintField:boolean; begin      \/\/ \u043c\u0435\u043d\u044f\u0435\u043c \u0446\u0432\u0435\u0442 \u0440\u0438\u0441\u043e\u0432\u0430\u0435\u043c\u043e\u0439 \u043b\u0438\u043d\u0438\u0438 \u043d\u0430 \u043a\u0440\u0430\u0441\u043d\u044b\u0439   PaintField.Canvas.Pen.Color:=clRed;    \/\/ \u0440\u0430\u0437\u043c\u0435\u0440 \u043b\u0438\u043d\u0438\u0438 \u0437\u0430\u0434\u0430\u0435\u043c 2 \u043f\u0438\u043a\u0441\u0435\u043b\u044f   PaintField.Canvas.Pen.Width:=2;    \/\/ \u0440\u0438\u0441\u043e\u0432\u0430\u0442\u044c \u0431\u0443\u0434\u0435\u043c \u0438\u0441\u0445\u043e\u0434\u044f \u0438\u0437 \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u043c\u043e\u0433\u043e \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u043e\u0439 Figure   if (Figure = 'PARAM_CIRCLE') then   begin      \/\/ \u0442\u0430\u043a \u043a\u0430\u043a \u0432 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u043e\u0439 PaintField \u0443\u0436\u0435 \u0435\u0441\u0442\u044c \u0440\u0430\u0437\u043c\u0435\u0440\u044b \u0438 \u043f\u043e\u0437\u0438\u0446\u0438\u044f,     \/\/ \u0431\u0443\u0434\u0443 \u0431\u0440\u0430\u0442\u044c \u0440\u0430\u0437\u043c\u0435\u0440\u044b \u0438 \u043a\u043e\u043e\u0440\u0434\u0438\u043d\u0430\u0442\u044b \u0438\u0437 \u043d\u0435\u0435     PaintField.Canvas.Ellipse(                                 FigureSize.Left,                                 FigureSize.Top,                                 FigureSize.Width,                                 FigureSize.Height     );   end;    \/\/ \u0430\u043d\u0430\u043b\u043e\u0433\u0438\u0447\u043d\u043e \u0434\u043b\u044f \u043a\u0432\u0430\u0434\u0440\u0430\u0442\u0430   if (Figure = 'PARAM_RECTANGLE') then   begin      \/\/ \u0442\u0430\u043a \u043a\u0430\u043a \u0432 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u043e\u0439 PaintField \u0443\u0436\u0435 \u0435\u0441\u0442\u044c \u0440\u0430\u0437\u043c\u0435\u0440\u044b \u0438 \u043f\u043e\u0437\u0438\u0446\u0438\u044f,     \/\/ \u0431\u0443\u0434\u0443 \u0431\u0440\u0430\u0442\u044c \u0440\u0430\u0437\u043c\u0435\u0440\u044b \u0438 \u043a\u043e\u043e\u0440\u0434\u0438\u043d\u0430\u0442\u044b \u0438\u0437 \u043d\u0435\u0435 (\u0432 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u043e\u0432 \u0434\u043b\u044f     \/\/ \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u043d\u043e\u0439 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 \u043e\u0442\u0440\u0438\u0441\u043e\u0432\u043a\u0438 \u043a\u0432\u0430\u0434\u0440\u0430\u0442\u0430)     PaintField.Canvas.Rectangle(                                 FigureSize.Left,                                 FigureSize.Top,                                 FigureSize.Width,                                 FigureSize.Height     );   end;      \/\/ \u0438 \u0442\u0435\u043a\u0441\u0442\u0430   if (Figure = 'PARAM_TEXT') then   begin      \/\/ \u0434\u043b\u044f \u043e\u0442\u0440\u0438\u0441\u043e\u0432\u043a\u0438 \u0442\u0435\u043a\u0441\u0442\u0430 \u0432\u043e\u0437\u044c\u043c\u0435\u043c \u0442\u043e\u043b\u044c\u043a\u043e \u0440\u0430\u0441\u043f\u043e\u043b\u043e\u0436\u0435\u043d\u0438\u0435,     \/\/ \u0442\u0435\u043a\u0441\u0442 \u0444\u0438\u043a\u0441\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0439      \/\/ \u0446\u0432\u0435\u0442 \u0442\u0435\u043a\u0441\u0442\u0430 \u0437\u0430\u0434\u0430\u0435\u043c \u0437\u0435\u043b\u0435\u043d\u044b\u0439     PaintField.Canvas.Font.Color:=clGreen;      \/\/ \u0440\u0430\u0437\u043c\u0435\u0440 12em     PaintField.Canvas.Font.Size:=12;      PaintField.Canvas.TextOut(                                 FigureSize.Left,                                 FigureSize.Top,                                 '\u042d\u0422\u041e \u0422\u0415\u041a\u0421\u0422 \u0410\u0410\u0410\u0410\u0410\u0410\u0410\u0410\u0410\u0410\u0410\u0410'     );   end;  end;  \/\/ \u043a\u043e\u043d\u0435\u0446 \u043e\u043f\u0438\u0441\u0430\u043d\u0438\u044f \u043a\u043b\u0430\u0441\u0441\u0430 (\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u043b\u043e \u0431\u044b \u0441\u043e\u0437\u0434\u0430\u0442\u044c \u0435\u0449\u0435 \u043e\u0434\u0438\u043d \u0444\u0430\u0439\u043b, \/\/ \u0432 \u043a\u043e\u0442\u043e\u0440\u043e\u043c \u0437\u0430\u043a\u0440\u044b\u0442\u044c \u043a\u043b\u0430\u0441\u0441 (\u0432\u0441\u0435 \u0432 \u043d\u0430\u0448\u0438\u0445 \u043a\u043b\u0430\u0441\u0441\u0430\u0445 \u0438\u043c\u0435\u0435\u0442 \u043c\u043e\u0434\u0438\u0444\u0438\u043a\u0430\u0442\u043e\u0440 \/\/ PUBLISHED, \u043f\u043e\u0442\u043e\u043c\u0443 \u0447\u0442\u043e \u044f \u043d\u0435 \u0443\u043a\u0430\u0437\u044b\u0432\u0430\u043b \u043c\u043e\u0434\u0438\u0444\u0438\u043a\u0430\u0442\u043e\u0440\u044b, \u0438 \u0431\u044b\u043b \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d \/\/ \u043c\u043e\u0434\u0438\u0444\u0438\u043a\u0430\u0442\u043e\u0440 \"\u043f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e\"), \u043d\u043e \u0442\u0430\u043a \u043a\u0430\u043a \u0432\u0441\u0435 \u043f\u0443\u0431\u043b\u0438\u0447\u043d\u043e\u0435, \u0434\u043b\u044f \u044d\u0442\u043e\u0433\u043e \/\/ \u043d\u0430\u0434\u043e \u0441\u043e\u0437\u0434\u0430\u0442\u044c \u043a\u043b\u0430\u0441\u0441 \"\u043e\u0431\u0435\u0440\u0442\u043a\u0443\", \u0432\u043d\u0443\u0442\u0440\u0438 \u043a\u043e\u0442\u043e\u0440\u043e\u0433\u043e \u0441\u043e\u0437\u0434\u0430\u0442\u044c \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u0443\u044e \/\/ (\u0432 \u0437\u0430\u043a\u0440\u044b\u0442\u043e\u0439 \u0441\u0435\u043a\u0446\u0438\u0438) \u0442\u0438\u043f\u0430 \u043d\u0430\u0448 \u0442\u0438\u043f \u0434\u0430\u043d\u043d\u044b\u0445, \u0441\u0430\u043c \u0436\u0435 \u043e\u0431\u044a\u0435\u043a\u0442 \u043d\u0435 \u0434\u0435\u043b\u0430\u0442\u044c \/\/ \u043d\u0430\u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u043c, \u0438 \u043f\u0440\u043e\u0441\u0442\u043e \u0432 \u043a\u043e\u043d\u0441\u0442\u0440\u0443\u043a\u0442\u043e\u0440\u0435 \u0441\u043e\u0437\u0434\u0430\u0442\u044c \u043e\u0431\u044a\u0435\u043a\u0442, \u043d\u043e \u044f \u0443\u0441\u0442\u0430\u043b, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u0442\u0430\u043a end. <\/code><\/pre>\n<\/p>\n<\/div>\n<\/details>\n<p>\u0422\u0435\u043f\u0435\u0440\u044c \u0441\u043e\u0437\u0434\u0430\u0434\u0438\u043c \u043d\u043e\u0432\u0443\u044e \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u0443\u044e:<\/p>\n<pre><code class=\"delphi\">  \/\/ \u0434\u043e\u0431\u0430\u0432\u0438\u043c \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u0443\u044e   ololo:TComDrawer; <\/code><\/pre>\n<p>\u0418 \u0432 \u0441\u043e\u0431\u044b\u0442\u0438\u0438 OnShow \u0434\u043e\u0431\u0430\u0432\u0438\u043c \u043a\u043e\u0434:<\/p>\n<pre><code class=\"delphi\">  \/\/ \u043a\u043e\u043c\u0430\u043d\u0434\u0430 FreeAndNil (\u0444\u0443\u043d\u043a\u0446\u0438\u044f \u0438\u0437 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a)   \/\/ \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u0432\u043d\u0435 \u043e\u0447\u0435\u0440\u0435\u0434\u0438 \u0443\u0434\u0430\u043b\u0438\u0442\u044c \u043e\u0431\u044a\u0435\u043a\u0442\u044b,   \/\/ \u043f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e \u0432\u0441\u0435 \u043e\u0431\u044a\u0435\u043a\u0442\u044b \u0443\u0434\u0430\u043b\u044f\u044e\u0442\u0441\u044f \u0432 \u0440\u0430\u043c\u043a\u0430\u0445   \/\/ \u0437\u0430\u0432\u0435\u0440\u0448\u0435\u043d\u0438\u044f \u0441\u0432\u043e\u0435\u0439 \u0441\u0435\u0446\u0438\u0438, \u043d\u043e \u0442\u0430\u043a \u043a\u0430\u043a \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u0430\u044f   \/\/ TextLDR \u043e\u0431\u044a\u044f\u0432\u043b\u0435\u043d\u0430 \u0432 \u0441\u0435\u043a\u0446\u0438\u0438 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u044b (\u0432 \u0433\u043b\u0430\u0432\u043d\u043e\u0439)   \/\/ \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u0430\u044f \u0443\u0434\u0430\u043b\u0438\u0442\u0441\u044f \u0442\u043e\u043b\u044c\u043a\u043e \u043f\u043e\u0441\u043b\u0435 \u0437\u0430\u0432\u0435\u0440\u0448\u0435\u043d\u0438\u044f \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u044b,   \/\/ \u0442\u0430\u043a \u043a\u0430\u043a \u044f \u043d\u0435 \u043e\u043f\u0438\u0441\u044b\u0432\u0430\u043b Destructor \u0443\u0434\u0430\u043b\u044f\u0442\u044c \u043f\u0440\u0438\u0434\u0435\u0442\u0441\u044f \u0432\u0440\u0443\u0447\u043d\u0443\u044e,   \/\/ \u044f \u043f\u0440\u043e\u0441\u0442\u043e \u0443\u0434\u0430\u043b\u044e \u0442\u043e, \u0447\u0442\u043e \u0432\u0438\u0437\u0443\u0430\u043b\u044c\u043d\u043e \u043c\u0435\u0448\u0430\u0435\u0442, \u043f\u043e\u0442\u043e\u043c\u0443 \u0447\u0442\u043e \u0443\u0441\u0442\u0430\u043b   FreeAndNil(TextLDR.TextViewer);              FreeAndNil(TextLDR);    \/\/ \u0441\u043e\u0437\u0434\u0430\u0434\u0438\u043c \u043d\u0430\u0448 \u043d\u043e\u0432\u044b\u0439 \u043e\u0431\u044a\u0435\u043a\u0442   ololo:=TComDrawer.New(Form1);<\/code><\/pre>\n<p>\u0417\u0430\u043f\u0443\u0441\u043a\u0430\u0435\u043c \u0438 \u0432\u0438\u0434\u0438\u043c \u044d\u0442\u043e:<\/p>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/2a7\/bd8\/b30\/2a7bd8b308296b3a0377a23231473457.png\" width=\"687\" height=\"507\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/2a7\/bd8\/b30\/2a7bd8b308296b3a0377a23231473457.png\"\/><\/figure>\n<p>\u041f\u043e\u0437\u0434\u0440\u0430\u0432\u043b\u044f\u044e! \u0422\u0435\u043f\u0435\u0440\u044c \u0442\u044b \u0437\u043d\u0430\u0435\u0448\u044c Object Pascal, \u0443\u043c\u0435\u0435\u0448\u044c \u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c \u0432\u00a0RunTime, \u0438\u043c\u0435\u0435\u0448\u044c \u0431\u0430\u0437\u043e\u0432\u043e\u0435 \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u043e\u0431\u00a0\u041e\u041e\u041f (\u0438 \u0443\u043c\u0435\u0435\u0448\u044c \u0435\u0433\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c), \u0438\u043c\u0435\u0435\u0448\u044c \u043d\u0430\u0447\u0430\u043b\u044c\u043d\u044b\u0435 \u043d\u0430\u0432\u044b\u043a\u0438 Assembler, \u0440\u0430\u0431\u043e\u0442\u044b \u0441\u00a0\u0444\u0430\u0439\u043b\u0430\u043c\u0438, \u043f\u0430\u0440\u0441\u0438\u043d\u0433\u043e\u043c, \u0438 Com\u2011\u043e\u0431\u044a\u0435\u043a\u0442\u0430\u043c\u0438.<\/p>\n<p>\u041e\u0441\u0442\u0430\u043b\u043e\u0441\u044c \u0442\u043e\u043b\u044c\u043a\u043e \u043f\u043e\u043b\u0443\u0447\u0448\u0435 \u043f\u043e\u0437\u043d\u0430\u043a\u043e\u043c\u0438\u0442\u0441\u044f \u0441\u00a0\u0437\u0430\u0433\u043e\u0442\u043e\u0432\u043a\u0430\u043c\u0438 (\u0441 \u043f\u0430\u043b\u0438\u0442\u0440\u044b \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442\u043e\u0432), \u0438\u0445 \u0441\u0432\u043e\u0439\u0441\u0442\u0432\u0430\u043c\u0438, \u0434\u043e\u0431\u0430\u0432\u0438\u0442\u044c SQL \u0438 \u0442\u044b \u043f\u0440\u043e\u0434\u0432\u0438\u043d\u0443\u0442\u044b\u0439 Delphi \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0441\u0442.<\/p>\n<p>\u041f\u043e\u043b\u0430\u0433\u0430\u044e \u043f\u043e\u0441\u043b\u0435 \u044d\u0442\u043e\u0439 \u0441\u0442\u0430\u0442\u044c\u0438 \u043c\u0435\u043d\u044f \u0437\u0430\u043c\u0438\u043d\u0443\u0441\u044f\u0442 \u0442\u0430\u043a \u0447\u0442\u043e\u00a0\u044f \u0443\u0436\u0435 \u043d\u0435\u00a0\u0441\u043c\u043e\u0433\u0443 \u0440\u0430\u0441\u0441\u043a\u0430\u0437\u0430\u0442\u044c \u043f\u0440\u043e\u00a0\u0434\u0440\u0443\u0433\u0438\u0435 \u044f\u0437\u044b\u043a\u0438 (\u043d\u0430\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u044f \u043f\u043e\u043d\u044f\u043b \u043f\u043e\u0441\u043b\u0435 -20\u00a0\u0440\u0435\u0439\u0442\u0438\u043d\u0433\u0430 \u044f \u043f\u043e\u043b\u0443\u0447\u0430\u044e \u0431\u0430\u043d, \u044f \u0445\u043e\u0442\u0435\u043b \u0441\u0434\u0435\u043b\u0430\u0442\u044c \u0434\u043b\u044f\u00a0\u0432\u0441\u0435\u0445 \u043e\u0441\u043d\u043e\u0432\u043d\u044b\u0445\u00a0\u2014 C++, Pascal, Java, C#, \u0438 \u0432\u0435\u0431 \u0434\u0435\u0432\u0435\u043b\u043e\u043f\u0401\u0440\u0438\u043d\u0433\u0430), \u043e\u0431\u0438\u0434\u0430 \u0438\u0432\u0430\u043d\u043e\u0432\u043d\u0430:( \u0431\u0443\u0434\u0443 \u0434\u0430\u043b\u044c\u0448\u0435 \u043f\u0438\u0441\u0430\u0442\u044c \u0444\u0430\u043d\u0444\u0438\u043a\u0438 \u043f\u043e\u00a0\u0432\u0441\u0435\u043b\u0435\u043d\u043d\u043e\u0439 SCP lol.<\/p>\n<p>\u042f, \u043a\u043e\u043d\u0435\u0447\u043d\u043e, \u043e\u0436\u0438\u0434\u0430\u043b \u0445\u0435\u0439\u0442\u0430 \u0438 \u0442\u043e\u043a\u0441\u0438\u043a\u0430 (\u043d\u043e \u043d\u0430\u00a0\u044d\u0442\u0430\u043f\u0435 \u0432\u0435\u0431 \u0434\u0435\u0432\u0435\u043b\u043e\u043f\u0451\u0440\u0438\u043d\u0433\u0430), \u043d\u043e\u00a0\u043d\u0438\u043a\u0430\u043a \u043d\u0438 \u0441\u00a0\u0434\u0435\u0441\u043a\u0442\u043e\u043f\u0430, \u043d\u0438\u043a\u043e\u0433\u0434\u0430\u00a0\u0431\u044b \u043d\u0435\u00a0\u043f\u043e\u0434\u0443\u043c\u0430\u043b, \u0447\u0442\u043e\u00a0\u0432\u00a0\u044d\u0442\u0438\u0445 \u0441\u0444\u0435\u0440\u0430\u0445 \u0442\u043e\u0436\u0435 \u043e\u0433\u0440\u043e\u043c\u043d\u043e\u0435 \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u0442\u043e\u043a\u0441\u0438\u0447\u043d\u044b\u0445, \u043d\u0435\u0430\u0434\u0435\u043a\u0432\u0430\u0442\u043d\u044b\u0445 \u0438 \u0427\u0421\u0412\u0448\u043d\u044b\u0445 *\u044b\u0434\u043b\u043e\u043a\u043e\u0434\u0435\u0440\u043e\u0432. <\/p>\n<p>\u041d\u043e\u00a0\u0447\u0442\u043e \u0438\u043c\u0435\u0435\u043c, \u0442\u043e \u0438\u043c\u0435\u0435\u043c, \u043f\u043e\u00a0\u043a\u0440\u0430\u0439\u043d\u0435\u0439 \u043c\u0435\u0440\u0435 \u043c\u043e\u0436\u043d\u043e \u0441\u0434\u0435\u043b\u0430\u0442\u044c \u0432\u044b\u0432\u043e\u0434\u044b\u00a0\u2014 \u044f \u0442\u0443\u0442 \u0445\u043e\u0442\u044c \u0438 \u043d\u0435\u0434\u0430\u0432\u043d\u043e, \u043d\u043e\u00a0\u0443\u0441\u043f\u0435\u043b \u043f\u043e\u043d\u044f\u0442\u044c, \u0447\u0442\u043e\u00a0\u044d\u0442\u043e\u0442 \u0441\u0430\u0439\u0442 \u043d\u0435\u00a0\u0441\u0442\u043e\u043b\u044c\u043a\u043e \u043a\u043e\u0441\u043f\u043b\u0435\u0439 \u043f\u0438\u043a\u0430\u0431\u0443, \u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0430\u0434\u0441\u043a\u0438\u0439 \u043a\u043e\u043d\u0446\u0435\u043d\u0442\u0440\u0430\u0442 \u0440\u0430\u0441\u043a\u0440\u0443\u0442\u043a\u0438 \u043a\u0440\u0443\u043f\u043d\u044b\u0445 \u043a\u043e\u043c\u043f\u0430\u043d\u0438\u0439 \u043d\u0430\u00a0\u0440\u0435\u043a\u043b\u0430\u043c\u0443, \u0430\u00a0\u0442\u0430\u043a\u0436\u0435 \u043f\u0440\u043e\u0434\u0432\u0438\u0436\u0435\u043d\u0438\u044f \u0430\u0432\u0442\u043e\u0440\u0441\u043a\u0438\u0445 \u043f\u0440\u043e\u0435\u043a\u0442\u043e\u0432 (\u043d\u0443 \u0438 \u0435\u0449\u0435 \u0441\u0440\u0435\u0434\u0441\u0442\u0432\u043e \u043f\u0440\u0438\u0434\u0430\u043d\u0438\u044f \u0427\u0421\u0412\u0448\u043d\u043e\u043c\u0443 \u043e\u0431\u0440\u0430\u0437\u0443 \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u0438\u043d\u0434\u0438\u0432\u0438\u0434\u043e\u0432 \u0444\u043b\u0435\u0440\u0430 \u043d\u0435\u0441\u043e\u0432\u0435\u0440\u0448\u0435\u043d\u043d\u043e\u043b\u0435\u0442\u0438\u044f)<\/p>\n<p>\u041f\u043e\u00a0\u043f\u043e\u0432\u0435\u0434\u0435\u043d\u0438\u044e \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u0435\u0439 \u043c\u043e\u0436\u043d\u043e \u0441\u0434\u0435\u043b\u0430\u0442\u044c \u0432\u044b\u0432\u043e\u0434\u044b, \u0433\u0434\u0435 \u043d\u0430\u0445\u043e\u0434\u0438\u0442\u0441\u044f \u043d\u0430\u0438\u0431\u043e\u043b\u044c\u0448\u0438\u0439 \u043a\u043e\u043d\u0446\u0435\u043d\u0442\u0440\u0430\u0442 \u043d\u0435\u0430\u0434\u0435\u043a\u0432\u0430\u0442\u043d\u043e\u0441\u0442\u0438, \u0438 \u0432\u00a0\u043a\u0430\u043a\u0438\u0445 \u043a\u043e\u043d\u043a\u0440\u0435\u0442\u043d\u044b\u0445 \u043a\u043e\u043c\u043f\u0430\u043d\u0438\u044f\u0445 (\u0438\u043b\u0438 \u0441\u0444\u0435\u0440\u0430\u0445, \u043d\u0435\u00a0\u0441\u0447\u0438\u0442\u0430\u044f \u0432\u0435\u0431 \u0434\u0435\u0432\u0435\u043b\u043e\u043f\u0451\u0440\u0438\u043d\u0433\u0430) \u043b\u0443\u0447\u0448\u0435 \u043d\u0435\u00a0\u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c (\u0430 \u043b\u0443\u0447\u0448\u0435 \u0438 \u0432\u043e\u0432\u0441\u0435 \u0443\u0435\u0445\u0430\u0442\u044c \u043b\u043e\u043b) \u043d\u0430\u0447\u0438\u043d\u0430\u044e\u0449\u0435\u043c\u0443 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0441\u0442\u0443.<\/p>\n<p>\u0418 \u043f\u043e\u043c\u043d\u0438\u00a0\u2014 \u0440\u0430\u0437\u0443\u043c \u0438 \u0443\u043f\u043e\u0440\u0441\u0442\u0432\u043e \u044d\u0442\u043e \u043a\u043b\u044e\u0447 \u043a\u00a0\u043f\u043e\u0431\u0435\u0434\u0435! <\/p>\n<p>\u0421\u043f\u0430\u0441\u0438\u0431\u043e \u0437\u0430\u00a0\u0432\u043d\u0438\u043c\u0430\u043d\u0438\u0435:)<\/p>\n<\/p>\n<\/div>\n<\/div>\n<\/div>\n<p><!----><!----><\/div>\n<p><!----><!----><br \/> \u0441\u0441\u044b\u043b\u043a\u0430 \u043d\u0430 \u043e\u0440\u0438\u0433\u0438\u043d\u0430\u043b \u0441\u0442\u0430\u0442\u044c\u0438 <a href=\"https:\/\/habr.com\/ru\/articles\/779676\/\"> https:\/\/habr.com\/ru\/articles\/779676\/<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<div><!--[--><!--]--><\/div>\n<div id=\"post-content-body\">\n<div>\n<div class=\"article-formatted-body article-formatted-body article-formatted-body_version-2\">\n<div xmlns=\"http:\/\/www.w3.org\/1999\/xhtml\">\n<p>\u041f\u0440\u0438\u043d\u044f\u0442\u043e \u0441\u0447\u0438\u0442\u0430\u0442\u044c, \u0447\u0442\u043e\u00a0\u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u044d\u0442\u043e \u0441\u043b\u043e\u0436\u043d\u043e, \u043d\u043e\u00a0\u044d\u0442\u043e \u043c\u0438\u0444 (\u0432\u0441\u0435 \u043f\u0440\u043e\u0449\u0435 \u0447\u0435\u043c \u043a\u0430\u0436\u0435\u0442\u0441\u044f), \u0438 \u0432\u0441\u0435 \u0447\u0442\u043e\u00a0\u043d\u0443\u0436\u043d\u043e \u0447\u0442\u043e\u0431\u044b \u0441\u0442\u0430\u0442\u044c \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0441\u0442\u043e\u043c \u044d\u0442\u043e \u043d\u0435\u043c\u043d\u043e\u0433\u043e \u0443\u043f\u043e\u0440\u0441\u0442\u0432\u0430 \u0438 \u0438\u0437\u043e\u0431\u0440\u0435\u0442\u0430\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u0438.<\/p>\n<figure class=\"full-width\"><\/figure>\n<p>\u0412\u00a0\u044d\u0442\u043e\u0439 \u0441\u0442\u0430\u0442\u044c\u0435 \u043c\u044b \u043f\u043e\u043b\u0443\u0447\u0438\u043c \u0432\u0441\u0435 \u0431\u0430\u0437\u043e\u0432\u044b\u0435 \u043d\u0430\u0432\u044b\u043a\u0438, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043d\u0443\u0436\u043d\u044b Delphi \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0441\u0442\u0443 (\u0432\u043a\u043b\u044e\u0447\u0430\u044f \u0431\u0430\u0437\u043e\u0432\u044b\u0435 \u0437\u043d\u0430\u043d\u0438\u044f RunTime, \u0440\u0430\u0431\u043e\u0442\u0443 \u0441\u00a0Com\u2011\u043e\u0431\u044a\u0435\u043a\u0442\u0430\u043c\u0438 \u0438 Canvas, \u0432\u0432\u043e\u0434\u043e\u043c\\\u0432\u044b\u0432\u043e\u0434\u043e\u043c, \u0444\u0430\u0439\u043b\u0430\u043c\u0438, \u043f\u0430\u0440\u0441\u0438\u043d\u0433\u043e\u043c, \u043e\u043e\u043f, \u0438 \u0442\u0434), \u043f\u043e\u00a0\u043e\u043a\u043e\u043d\u0447\u0430\u043d\u0438\u0438 \u0441\u0442\u0430\u0442\u044c\u0438.<\/p>\n<p>\u0418 \u043f\u0435\u0440\u0432\u043e\u0435 \u0447\u0442\u043e\u00a0\u043d\u0443\u0436\u043d\u043e \u0437\u043d\u0430\u0442\u044c \u044d\u0442\u043e \u0442\u043e, \u0447\u0442\u043e\u00a0\u044f\u0437\u044b\u043a, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043c\u044b \u0438\u0437\u0443\u0447\u0438\u043c \u043d\u0430\u0437\u044b\u0432\u0430\u0435\u0442\u0441\u044f Object Pascal, \u043b\u044e\u0434\u0438 \u0434\u0430\u043b\u0435\u043a\u0438\u0435 \u043e\u0442\u00a0\u0418\u0422 \u0438 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u043d\u0430\u0437\u044b\u0432\u0430\u044e\u0442 \u0435\u0433\u043e Delphi (\u043f\u043e \u043d\u0430\u0437\u0432\u0430\u043d\u0438\u044e \u0441\u0430\u043c\u043e\u0433\u043e \u043f\u043e\u043f\u0443\u043b\u044f\u0440\u043d\u043e\u0433\u043e \u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0442\u043e\u0440\u0430 (\u0440\u0435\u0434\u0430\u043a\u0442\u043e\u0440\u0430 \u043a\u043e\u0434\u0430) \u0434\u043b\u044f\u00a0\u044d\u0442\u043e\u0433\u043e \u044f\u0437\u044b\u043a\u0430).<\/p>\n<p>(\u041d\u0435 \u0437\u043d\u0430\u044e \u043f\u043e\u0447\u0435\u043c\u0443 \u044d\u0442\u043e \u043d\u0438\u043a\u0442\u043e \u043d\u0435\u00a0\u0447\u0438\u0442\u0430\u0435\u0442, <strong>\u043d\u043e\u00a0\u044d\u0442\u0430 \u0441\u0442\u0430\u0442\u044c\u044f \u043d\u0435\u00a0\u0431\u0443\u0434\u0435\u0442 \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u043d\u0430\u044f \u0442\u0435\u043c, \u043a\u0442\u043e \u0443\u0436\u0435 \u0437\u043d\u0430\u043a\u043e\u043c \u0441\u00a0\u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435\u043c<\/strong>, \u043e\u043d\u0430 \u0431\u0443\u0434\u0435\u0442 \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u043d\u0430\u044f \u043d\u0430\u0447\u0438\u043d\u0430\u044e\u0449\u0438\u043c \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0441\u0442\u0430\u043c!)<\/p>\n<blockquote>\n<p>\u044f \u043f\u043b\u0430\u043d\u0438\u0440\u043e\u0432\u0430\u043b \u0446\u0438\u043a\u043b \u0438\u0437 5 \u0441\u0442\u0430\u0442\u0435\u0439 \u043f\u043e\u0441\u0432\u044f\u0449\u0435\u043d\u043d\u044b\u0439 \u0432\u0441\u0435\u043c \u043e\u0441\u043d\u043e\u0432\u043d\u044b\u043c \u044f\u0437\u044b\u043a\u0430\u043c (\u0441++, \u043f\u0430\u0441\u043a\u0430\u043b\u044c, \u0434\u0436\u0430\u0432\u0430, \u0441\u0438 \u0448\u0430\u0440\u043f, \u0432\u0435\u0431), \u043d\u043e \u043d\u0430\u043b\u0435\u0442\u0435\u0432\u0448\u0438\u0435 <s>\u044d\u043a\u0441\u043f\u0435\u0440\u0442\u044b \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f<\/s> (*\u044b\u0434\u043b\u043e\u043a\u043e\u0434\u0435\u0440\u044b) , \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0434\u0430\u0436\u0435 \u0441\u0442\u0430\u0442\u044c\u0438 \u0442\u043e\u043b\u043a\u043e\u043c \u043d\u0435 \u0447\u0438\u0442\u0430\u043b\u0438 \u0432\u044b\u0437\u0432\u0430\u043b\u0438 \u0443 \u043c\u0435\u043d\u044f \u0436\u0435\u0441\u0442\u043a\u0438\u0439 \u0431\u0430\u0434\u0445\u0435\u0440\u0442 \u0438 \u0434\u0435\u0437\u043c\u043e\u0440\u0430\u043b, \u0438\u0437 \u0437\u0430 \u0447\u0435\u0433\u043e \u0436\u0435\u043b\u0430\u043d\u0438\u0435 \u043f\u0438\u0441\u0430\u0442\u044c \u0441\u0442\u0430\u0442\u044c\u0438 \u0443\u043f\u0430\u043b\u043e \u043d\u0430 \u043f\u043e\u043b \u0448\u0435\u0441\u0442\u043e\u0433\u043e, \u043a\u0430\u043a \u0438 \u043f\u0440\u0435\u0431\u044b\u0432\u0430\u043d\u0438\u0435 \u043d\u0430 \u044d\u0442\u043e\u043c \u043f\u0430\u0431\u043b\u0438\u043a\u0435, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u0441\u043e\u0440\u044f\u043d\u0447\u0438\u043a:(<\/p>\n<\/blockquote>\n<p>\u0418\u0442\u0430\u043a, \u0431\u043b\u0438\u0436\u0435 \u043a\u00a0\u0434\u0435\u043b\u0443.<\/p>\n<p>\u0421\u043e\u0437\u0434\u0430\u0434\u0438\u043c \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0443, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u0431\u0443\u0434\u0435\u0442 \u0440\u0430\u0437\u0431\u0438\u0440\u0430\u0442\u044c \u0442\u0435\u043a\u0441\u0442 \u0432\u00a0\u0440\u0435\u0434\u0430\u043a\u0442\u043e\u0440\u0435, \u0438 (\u043d\u0430 \u043e\u0441\u043d\u043e\u0432\u0430\u043d\u0438\u0438 \u043a\u043e\u043c\u0430\u043d\u0434 \u0438\u0437\u00a0\u0440\u0435\u0434\u0430\u043a\u0442\u043e\u0440\u0430) \u0440\u0438\u0441\u043e\u0432\u0430\u0442\u044c \u0444\u0438\u0433\u0443\u0440\u044b \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u043d\u043e\u0433\u043e \u0440\u0430\u0437\u043c\u0435\u0440\u0430 \u0432\u00a0\u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u043d\u043e\u043c \u043c\u0435\u0441\u0442\u0435 \u043d\u0430\u00a0\u0441\u043f\u0435\u0446\u0438\u0430\u043b\u044c\u043d\u043e\u0439 \u043e\u0431\u043b\u0430\u0441\u0442\u0438 \u0441\u043f\u0440\u0430\u0432\u0430:<\/p>\n<figure class=\"full-width\"><\/figure>\n<p>\u041d\u0435\u043c\u043d\u043e\u0433\u043e \u0442\u0435\u043e\u0440\u0438\u0438 \u0438 \u043c\u043d\u043e\u0433\u043e \u043f\u0440\u0430\u043a\u0442\u0438\u043a\u0438, \u0442\u0430\u043a\u0436\u0435 \u0442\u0435\u0431\u0435 \u0431\u0443\u0434\u0435\u0442 \u0433\u043e\u0440\u0430\u0437\u0434\u043e \u043f\u0440\u043e\u0449\u0435 \u0435\u0441\u043b\u0438 \u0442\u044b \u043f\u0435\u0440\u0435\u0434 \u043f\u0440\u043e\u0447\u0442\u0435\u043d\u0438\u0435\u043c \u044d\u0442\u043e\u0439 \u0441\u0442\u0430\u0442\u044c\u0438, \u043f\u0440\u043e\u0447\u0438\u0442\u0430\u0435\u0448\u044c \u0441\u0442\u0430\u0442\u044c\u044e, \u043f\u043e\u0441\u0432\u044f\u0449\u0435\u043d\u043d\u0443\u044e \u0442\u043e\u043c\u0443 \u00ab<a href=\"https:\/\/habr.com\/ru\/articles\/779092\/\" rel=\"noopener noreferrer nofollow\">\u043a\u0430\u043a\u00a0\u0432\u043e\u0439\u0442\u0438 \u0432\u00a0\u0430\u0439\u0442\u0438 \u0441 0\u00a0\u0437\u0430\u00a0\u0447\u0430\u0441, \u043d\u0430\u00a0\u044f\u0437\u044b\u043a\u0435 \u0421++<\/a>\u00bb<\/p>\n<details class=\"spoiler\">\n<summary>\u0427\u0443\u0442\u044c-\u0447\u0443\u0442\u044c \u0442\u0435\u043e\u0440\u0438\u0438 \u0438 \u043c\u043d\u043e\u0433\u043e \u043f\u0440\u0430\u043a\u0442\u0438\u043a\u0438.<\/summary>\n<div class=\"spoiler__content\">\n<p>\u041f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u043f\u043e\u0441\u0442\u0440\u043e\u0435\u043d\u043e \u043d\u0430 4\u00a0\u043e\u0441\u043d\u043e\u0432\u043d\u044b\u0445 \u043a\u043e\u043d\u0446\u0435\u043f\u0442\u0430\u0445:<\/p>\n<p> 1) \u041f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0435<br \/> 2) \u041a\u043e\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u0438 \u0443\u0441\u043b\u043e\u0432\u0438\u0439<br \/> 3) \u041a\u043e\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u0438 \u0446\u0438\u043a\u043b\u043e\u0432<br \/> 4) \u0418 \u043a\u043e\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u0438 \u0444\u0443\u043d\u043a\u0446\u0438\u0439<\/p>\n<p>\u0412\u00a0\u0434\u0432\u0443\u0445 \u0441\u043b\u043e\u0432\u0430\u0445 \u043c\u044b \u0445\u0438\u0442\u0440\u043e\u0443\u043c\u043d\u043e \u0438\u0433\u0440\u0430\u0435\u043c \u0441\u00a0\u0431\u0430\u0437\u043e\u0432\u044b\u043c \u0444\u0443\u043d\u043a\u0446\u0438\u043e\u043d\u0430\u043b\u043e\u043c, \u043f\u0440\u0435\u0434\u043e\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u043c\u044b\u043c \u043d\u0430\u00a0\u0443\u0440\u043e\u0432\u043d\u0435 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u043e\u0440\u0430\\\u0431\u0438\u043e\u0441\u0430\\\u0441\u0438\u0441\u0442\u0435\u043c\u044b, \u043a\u043e\u043c\u0431\u0438\u043d\u0438\u0440\u0443\u0435\u043c \u0442\u0435 \u0431\u0430\u0437\u043e\u0432\u044b\u0435 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 \u0441\u00a0\u043a\u0430\u043a\u0438\u043c\u0438\u2011\u0442\u043e \u0434\u0430\u043d\u043d\u044b\u043c\u0438 \u0438\u0437\u00a0\u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0445, \u0434\u043e\u0431\u0430\u0432\u043b\u044f\u0435\u043c \u0443\u0441\u043b\u043e\u0432\u0438\u044f \u0438 \u0446\u0438\u043a\u043b\u044b \u0438 \u043e\u0431\u043e\u0440\u0430\u0447\u0438\u0432\u0430\u0435\u043c \u044d\u0442\u043e \u0432\u0441\u0435 \u0432\u00a0\u043d\u043e\u0432\u044b\u0435 \u0444\u0443\u043d\u043a\u0446\u0438\u0438.<\/p>\n<p>\u041a\u00a0\u043f\u0440\u0438\u043c\u0435\u0440\u0443:<\/p>\n<p>\u0423\u00a0\u043d\u0430\u0441 \u0435\u0441\u0442\u044c \u0444\u0443\u043d\u043a\u0446\u0438\u044f \u043d\u0430\u00a0\u0443\u0440\u043e\u0432\u043d\u0435 \u0441\u0438\u0441\u0442\u0435\u043c\u044b (\u0434\u043b\u044f \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u044f \u0446\u0432\u0435\u0442\u0430 \u043f\u0438\u043a\u0441\u0435\u043b\u044f \u043d\u0430\u00a0\u044d\u043a\u0440\u0430\u043d\u0435, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u0432\u044b\u0445\u043e\u0434\u0438\u0442 \u043e\u0442\u00a0\u0434\u0440\u0430\u0439\u0432\u0435\u0440\u0430 \u0432\u0438\u0434\u0435\u043e\u043a\u0430\u0440\u0442\u044b, \u0430\u00a0\u0442\u0430 \u0438\u0437\u00a0\u043a\u043e\u043c\u0431\u0438\u043d\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u043e\u0439 \u0440\u0430\u0431\u043e\u0442\u044b \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u043e\u0440\u0430 \u0438 \u0432\u0438\u0434\u0435\u043e\u043a\u0430\u0440\u0442\u044b).<\/p>\n<p>\u041c\u044b \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0440\u0430\u0437 \u0432\u044b\u0437\u044b\u0432\u0430\u0435\u043c \u044d\u0442\u0443 \u0444\u0443\u043d\u043a\u0446\u0438\u044e (\u0432 \u043a\u0430\u043a\u0438\u0445\u2011\u043b\u0438\u0431\u043e \u043a\u043e\u043e\u0440\u0434\u0438\u043d\u0430\u0442\u0430\u0445), \u0442\u0430\u043a\u0438\u043c \u043e\u0431\u0440\u0430\u0437\u043e\u043c \u0440\u0438\u0441\u0443\u0435\u043c\u00a0\u043b\u0438\u043d\u0438\u044e, \u043e\u0431\u043e\u0440\u0430\u0447\u0438\u0432\u0430\u0435\u043c \u044d\u0442\u043e \u0432\u00a0\u0444\u0443\u043d\u043a\u0446\u0438\u044e \u0434\u043b\u044f\u00a0\u0440\u0438\u0441\u043e\u0432\u0430\u043d\u0438\u044f\u00a0\u043b\u0438\u043d\u0438\u0439, 4\u00a0\u0440\u0430\u0437\u0430 \u0432\u044b\u0437\u044b\u0432\u0430\u0435\u043c \u044d\u0442\u0443 \u0444\u0443\u043d\u043a\u0446\u0438\u044e \u0447\u0442\u043e\u0431\u044b \u043d\u0430\u0440\u0438\u0441\u043e\u0432\u0430\u0442\u044c (\u043a \u043f\u0440\u0438\u043c\u0435\u0440\u0443) \u043a\u043d\u043e\u043f\u043a\u0443, \u043f\u043e\u0442\u043e\u043c \u043e\u0431\u043e\u0440\u0430\u0447\u0438\u0432\u0430\u0435\u043c \u044d\u0442\u043e \u0432\u00a0\u0444\u0443\u043d\u043a\u0446\u0438\u044e \u0434\u043b\u044f\u00a0\u0440\u0438\u0441\u043e\u0432\u0430\u043d\u0438\u044f \u043a\u043d\u043e\u043f\u043e\u043a \u0438 \u0443\u0436\u0435 \u0440\u0438\u0441\u0443\u0435\u043c \u0432\u00a0\u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e\u0441\u0442\u0438 \u043e\u0442\u00a0\u043f\u043e\u043b\u043e\u0436\u0435\u043d\u0438\u044f \u043a\u0443\u0440\u0441\u043e\u0440\u0430 \u0440\u0430\u0437\u043d\u044b\u043c\u0438 \u0446\u0432\u0435\u0442\u0430\u043c\u0438, \u0438 \u0442\u0434.<\/p>\n<p>\u041d\u0430\u0434\u0435\u044e\u0441\u044c, \u043b\u043e\u0433\u0438\u043a\u0430 \u043f\u043e\u043d\u044f\u0442\u043d\u0430, \u043d\u0435\u043c\u043d\u043e\u0433\u043e \u043f\u043e\u00a0\u0441\u0443\u0442\u0438:<\/p>\n<p>\u041f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u0430\u044f\u00a0\u2014 \u0443\u0441\u043b\u043e\u0432\u043d\u044b\u0439 \u00ab\u043c\u0430\u0440\u043a\u0435\u0440 \u0434\u0430\u043d\u043d\u044b\u0445\u00bb, \u043f\u043e\u0434\u0441\u0442\u0430\u043d\u043e\u0432\u043e\u0447\u043d\u043e\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435, \u043a\u043b\u044e\u0447\u0435\u0432\u043e\u0435 \u0441\u043b\u043e\u0432\u043e, \u0441\u00a0\u043a\u043e\u0442\u043e\u0440\u044b\u043c \u0447\u0442\u043e\u2011\u0442\u043e \u0430\u0441\u0441\u043e\u0446\u0438\u0438\u0440\u043e\u0432\u0430\u043d\u043e, \u0445\u0440\u0430\u043d\u0438\u043b\u0438\u0449\u0435 \u0434\u0430\u043d\u043d\u044b\u0445.<\/p>\n<p>\u041a\u043e\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u044f \u0443\u0441\u043b\u043e\u0432\u0438\u0439\u00a0\u2014 \u043a\u0430\u043a\u043e\u0435\u00a0\u043b\u0438\u0431\u043e \u043f\u0440\u0430\u0432\u0438\u043b\u043e \u0434\u043b\u044f\u00a0\u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f \u043e\u0434\u043d\u043e\u0439 \u0447\u0430\u0441\u0442\u0438 \u043a\u043e\u0434\u0430,\u00a0\u043b\u0438\u0431\u043e \u0430\u043b\u044c\u0442\u0435\u0440\u043d\u0430\u0442\u0438\u0432\u043d\u043e\u0439 (\u0441\u043e\u0441\u0442\u043e\u0438\u0442 \u0438\u0437\u00a0\u0437\u0430\u0433\u043e\u043b\u043e\u0432\u043a\u0430 \u00ab\u0443\u0441\u043b\u043e\u0432\u0438\u044f\u00bb \u0438 \u0431\u043b\u043e\u043a\u0430 \u043a\u043e\u0434\u0430, \u043c\u0435\u0436\u0434\u0443 \u043a\u043b\u044e\u0447\u0435\u0432\u044b\u043c\u0438 \u0441\u043b\u043e\u0432\u0430\u043c\u0438 begin \u0438 end \u00ab\u0442\u0435\u043b\u0430\u00bb).<\/p>\n<p>\u041a\u043e\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u044f \u0446\u0438\u043a\u043b\u0430\u00a0\u2014 \u0442\u043e\u0436\u0435 \u0443\u0441\u043b\u043e\u0432\u0438\u0435, \u043d\u043e\u00a0\u0432\u043c\u0435\u0441\u0442\u043e \u0430\u043b\u044c\u0442\u0435\u0440\u043d\u0430\u0442\u0438\u0432\u043d\u043e\u0433\u043e, \u043a\u043e\u0433\u0434\u0430 \u043f\u043e\u0432\u0442\u043e\u0440\u044f\u0435\u0442 \u043a\u043e\u0434 \u0432\u043d\u0443\u0442\u0440\u0438 \u0442\u0435\u043b\u0430 (\u043c\u0435\u0436\u0434\u0443 \u043a\u043b\u044e\u0447\u0435\u0432\u044b\u043c\u0438 \u0441\u043b\u043e\u0432\u0430\u043c\u0438 begin \u0438 en), \u0434\u043e\u00a0\u0442\u0435\u0445 \u043f\u043e\u0440, \u043f\u043e\u043a\u0430 \u0443\u0441\u043b\u043e\u0432\u0438\u0435 \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0435\u0442\u0441\u044f.<\/p>\n<p>\u0424\u0443\u043d\u043a\u0446\u0438\u044f\u00a0\u2014 \u043a\u043b\u044e\u0447\u0435\u0432\u043e\u0435 \u0441\u043b\u043e\u0432\u043e, \u043a\u043e\u0442\u043e\u0440\u043e\u0435 \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0435\u0442 \u043a\u0430\u043a\u043e\u0439\u2011\u043b\u0438\u0431\u043e \u0431\u043b\u043e\u043a \u043a\u043e\u0434\u0430, \u0438 \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u0442 \u043d\u0430\u00a0\u043c\u0435\u0441\u0442\u043e \u0441\u0432\u043e\u0435\u0433\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044f \u043a\u0430\u043a\u0438\u0435\u2011\u043b\u0438\u0431\u043e \u0434\u0430\u043d\u043d\u044b\u0435 (\u0444\u0443\u043d\u043a\u0446\u0438\u044f \u043c\u043e\u0436\u0435\u0442 \u043d\u0435\u00a0\u0442\u043e\u043b\u044c\u043a\u043e \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0442\u044c \u043a\u0430\u043a\u0438\u0435\u2011\u043b\u0438\u0431\u043e \u0434\u0430\u043d\u043d\u044b\u0435, \u043d\u043e\u00a0\u0438 \u043f\u0440\u0438\u043d\u0438\u043c\u0430\u0442\u044c \u0432\u00a0\u0441\u0435\u0431\u044f \u0434\u0430\u043d\u043d\u044b\u0435 (\u0430\u0440\u0433\u0443\u043c\u0435\u043d\u0442\u044b \u0444\u0443\u043d\u043a\u0446\u0438\u0438), \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0432\u043c\u0435\u0441\u0442\u0435 \u0441\u00a0\u0444\u0443\u043d\u043a\u0446\u0438\u0435\u0439 \u0443\u043a\u0430\u0437\u0430\u043d\u044b \u0432\u00a0\u043c\u0435\u0441\u0442\u0435 \u0432\u044b\u0437\u043e\u0432\u0430, \u0432\u00a0\u043a\u043e\u0434\u0435, \u0444\u0443\u043d\u043a\u0446\u0438\u044f \u0442\u0430\u043a\u0436\u0435 \u0441\u043e\u0441\u0442\u043e\u0438\u0442 \u0438\u0437\u00a0\u0437\u0430\u0433\u043e\u043b\u043e\u0432\u043a\u0430 \u0438 \u0442\u0435\u043b\u0430).<\/p>\n<p>\u041d\u0435\u0447\u0442\u043e \u0432\u0430\u0436\u043d\u043e\u0435, \u0447\u0442\u043e\u00a0\u043d\u0443\u0436\u043d\u043e \u0437\u043d\u0430\u0442\u044c \u044d\u0442\u043e \u00ab\u0442\u0438\u043f\u044b \u0434\u0430\u043d\u043d\u044b\u0445\u00bb \u0434\u043b\u044f\u00a0\u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0445, \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u044e\u0442 \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u043d\u044b\u0435 \u0447\u0438\u0441\u043b\u043e\u0432\u044b\u0435 \u0438 \u0441\u0442\u0440\u043e\u043a\u043e\u0432\u044b\u0435, \u043d\u043e\u00a0\u0431\u043e\u043b\u044c\u0448\u0430\u044f \u0447\u0430\u0441\u0442\u044c \u00ab\u0442\u0438\u043f\u043e\u0432 \u0434\u0430\u043d\u043d\u044b\u0445\u00bb \u044d\u0442\u043e \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u0441\u043a\u0438\u0435 \u0442\u0438\u043f\u044b \u0434\u0430\u043d\u043d\u044b\u0445, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043c\u043e\u0433\u0443\u0442 \u0441\u043e\u0441\u0442\u043e\u044f\u0442\u044c \u043a\u0430\u043a\u00a0\u0438\u0437 2\u00a0\u0447\u0438\u0441\u043b\u043e\u0432\u044b\u0445 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0445 \u0432\u00a0\u043e\u0434\u043d\u043e\u0439, \u0442\u0430\u043a \u0438 \u0438\u0437\u00a0\u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u0438\u0445 \u043e\u043a\u043e\u043d \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u044b \u0432\u00a0\u043e\u0434\u043d\u043e\u0439 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u043e\u0439 (\u0438\u043d\u0430\u0447\u0435 \u0433\u043e\u0432\u043e\u0440\u044f \u0442\u0438\u043f\u044b \u0434\u0430\u043d\u043d\u044b\u0445 \u0434\u043b\u044f\u00a0\u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0445 \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u044e\u0442 \u0441\u043e\u0437\u0434\u0430\u0432\u0430\u0442\u044c \u043b\u044e\u0431\u044b\u0435 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0435, \u0430\u00a0\u044d\u0442\u0438 \u00ab\u043b\u044e\u0431\u044b\u0435 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0435 \u043c\u043e\u0433\u0443\u0442 \u0438\u043c\u0435\u0442\u044c \u0432\u043d\u0443\u0442\u0440\u0438 \u0441\u0435\u0431\u044f, \u043a\u0430\u043a\u00a0\u043f\u0440\u043e\u0441\u0442\u043e \u0447\u0438\u0441\u043b\u043e, \u0442\u0430\u043a \u0438 \u0444\u0443\u043d\u043a\u0446\u0438\u0438, \u0446\u0438\u043a\u043b\u044b, \u0443\u0441\u043b\u043e\u0432\u0438\u044f, \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0435, \u0438 \u0434\u0440\u0443\u0433\u0438\u0435, \u043a\u043d\u043e\u043f\u043a\u0438, \u043e\u043a\u043d\u0430, \u0438 \u0442\u0434).<\/p>\n<p>\u041d\u0438\u0447\u0435\u0433\u043e \u0441\u0442\u0440\u0430\u0448\u043d\u043e\u0433\u043e \u0435\u0441\u043b\u0438 \u043d\u0435\u043f\u043e\u043d\u044f\u0442\u043d\u043e \u0440\u0430\u0437\u0431\u0435\u0440\u0435\u043c\u0441\u044f \u043d\u0430\u00a0\u0445\u043e\u0434\u0443.<\/p>\n<p>\u041f\u043e\u0441\u043b\u0435\u0434\u043d\u0435\u0435 \u0438\u0437\u00a0\u0442\u0435\u043e\u0440\u0438\u0438 \u044d\u0442\u043e GetMessage() \u0438 SendMessage(), \u0434\u0432\u0435 \u043a\u043b\u044e\u0447\u0435\u0432\u044b\u0445 \u0444\u0443\u043d\u043a\u0446\u0438\u0438, \u043d\u0430\u00a0\u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u043f\u043e\u0441\u0442\u0440\u043e\u0435\u043d\u044b \u0432\u0441\u0435 \u0433\u0440\u0430\u0444\u0438\u0447\u0435\u0441\u043a\u0438\u0435 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f, \u043f\u0435\u0440\u0432\u0430\u044f \u043f\u043e\u043b\u0443\u0447\u0430\u0435\u0442 \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u044f \u043e\u0442\u00a0\u0441\u0438\u0441\u0442\u0435\u043c\u044b, \u0432\u0442\u043e\u0440\u0430\u044f \u043e\u0442\u043f\u0440\u0430\u0432\u043b\u044f\u0435\u0442 \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u044f \u0432\u00a0\u0441\u0438\u0441\u0442\u0435\u043c\u0443.<\/p>\n<p>\u041a\u00a0\u043f\u0440\u0438\u043c\u0435\u0440\u0443: \u043f\u043e\u043b\u0443\u0447\u0430\u0435\u043c \u043e\u0442\u00a0\u0441\u0438\u0441\u0442\u0435\u043c\u044b \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u0435 \u00ab\u043a\u043e\u043e\u0440\u0434\u0438\u043d\u0430\u0442\u044b \u043c\u044b\u0448\u0438 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u044b\u00bb, \u0432\u00a0\u043a\u043e\u0434\u0435 \u0441\u043e\u0437\u0434\u0430\u0435\u043c \u0443\u0441\u043b\u043e\u0432\u0438\u0435, \u043f\u0440\u043e\u0432\u0435\u0440\u044f\u044e\u0449\u0438\u0435 \u043f\u0435\u0440\u0435\u0441\u0435\u043a\u0430\u044e\u0442\u00a0\u043b\u0438 \u043d\u043e\u0432\u044b\u0435 \u043a\u043e\u043e\u0440\u0434\u0438\u043d\u0430\u0442\u044b \u043c\u0435\u0441\u0442\u043e\u043f\u043e\u043b\u043e\u0436\u0435\u043d\u0438\u0435 \u043a\u043d\u043e\u043f\u043a\u0438, \u0438, \u0435\u0441\u043b\u0438 \u0434\u0430, \u043c\u0435\u043d\u044f\u0435\u043c \u0446\u0432\u0435\u0442 \u043a\u043d\u043e\u043f\u043a\u0438. \u041e\u0442\u043f\u0440\u0430\u0432\u043b\u044f\u0435\u043c \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u0435 \u043f\u0440\u0438\u043c\u0435\u0440\u043d\u043e \u0442\u0430\u043a\u0436\u0435 (\u0438\u0437 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u044b \u0432\u00a0\u0441\u0438\u0441\u0442\u0435\u043c\u0443), \u0438 \u0442\u0430\u043a\u043e\u0439 \u0446\u0438\u043a\u043b \u043f\u0440\u043e\u0438\u0441\u0445\u043e\u0434\u0438\u0442 \u0432\u0441\u0435 \u0432\u0440\u0435\u043c\u044f, \u043f\u043e\u043a\u0430 \u0437\u0430\u043f\u0443\u0449\u0435\u043d\u043d\u0430 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0430 (\u0441\u0438\u0441\u0442\u0435\u043c\u0430: \u043d\u0430\u0436\u0430\u0442\u0430 \u043a\u043d\u043e\u043f\u043a\u0430, \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0430: \u0438\u0437\u043c\u0435\u043d\u0435\u043d \u0440\u0430\u0437\u043c\u0435\u0440 \u043e\u043a\u043d\u0430, \u0441\u0438\u0441\u0442\u0435\u043c\u0430: \u0441\u043e\u0437\u0434\u0430\u043d \u043d\u043e\u0432\u044b\u0439 \u0444\u0430\u0439\u043b, \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0430: \u043e\u043a\u043d\u043e \u043f\u0435\u0440\u0435\u0440\u0438\u0441\u043e\u0432\u0430\u043d\u043e, \u0438 \u0442\u0434).<\/p>\n<\/div>\n<\/details>\n<p><strong>\u0410\u00a0\u0434\u043b\u044f \u0442\u0435\u0445, \u043a\u0442\u043e \u0443\u0436\u0435 \u0447\u0438\u0442\u0430\u043b \u043c\u043e\u044e \u043f\u0440\u0435\u0434\u044b\u0434\u0443\u0449\u0443\u044e \u0441\u0442\u0430\u0442\u044c\u044e \u0440\u0430\u0441\u0441\u043a\u0430\u0436\u0443 \u0432\u00a0\u0434\u0432\u0443\u0445 \u0441\u043b\u043e\u0432\u0430\u0445:<\/strong><\/p>\n<p>Object Pascal \u043f\u043e\u00a0\u0441\u0443\u0442\u0438 \u043d\u0438 \u0447\u0435\u043c \u043d\u0435\u00a0\u043e\u0442\u043b\u0438\u0447\u0430\u0435\u0442\u0441\u044f \u043e\u0442\u00a0\u0421++ (\u043a\u0440\u043e\u043c\u0435 \u0441\u0438\u043d\u0442\u0430\u043a\u0441\u0438\u0441\u0430), \u0432\u0441\u044f \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u0430 \u0438 \u043f\u043e\u0434\u0445\u043e\u0434\u044b \u0438\u0434\u0435\u043d\u0442\u0438\u0447\u043d\u044b, \u0437\u0430\u00a0\u0438\u0441\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435\u043c \u043e\u0434\u043d\u043e\u0433\u043e \u0431\u043e\u043b\u044c\u0448\u043e\u0433\u043e \u043c\u0438\u043d\u0443\u0441\u0430\u00a0\u2014 \u041e\u0441\u043e\u0431\u0435\u043d\u043d\u043e\u0441\u0442\u0438 \u043a\u043e\u043d\u0446\u0435\u043f\u0446\u0438\u0438 \u044f\u0437\u044b\u043a\u0430 \u043f\u0440\u0435\u0434\u043f\u043e\u043b\u0430\u0433\u0430\u044e\u0442 \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u0435 \u043d\u043e\u0432\u044b\u0445 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0445 \u0442\u043e\u043b\u044c\u043a\u043e \u0432\u00a0\u0437\u0430\u0433\u043e\u043b\u043e\u0432\u043a\u0430\u0445, \u043f\u0440\u0438\u00a0\u044d\u0442\u043e\u043c \u043d\u0430\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u0435 (\u0430\u0441\u0441\u043e\u0446\u0438\u0430\u0446\u0438\u044f) \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0445 \u0441\u00a0\u043a\u0430\u043a\u0438\u043c\u0438 \u0442\u043e \u0434\u0430\u043d\u043d\u044b\u043c\u0438 \u043d\u0435\u00a0\u043c\u043e\u0436\u0435\u0442 \u043f\u0440\u043e\u0438\u0441\u0445\u043e\u0434\u0438\u0442\u044c \u0432\u00a0\u043c\u043e\u043c\u0435\u043d\u0442\u0435 \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u044f \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043e\u0439 (\u0447\u0442\u043e \u0432\u00a0\u043f\u0440\u0438\u043d\u0446\u0438\u043f\u0435 \u043b\u043e\u0433\u0438\u0447\u043d\u043e, \u0442\u0430\u043a \u043a\u0430\u043a\u00a0\u043e\u043d\u0438 \u043e\u0431\u044a\u044f\u0432\u043b\u044f\u044e\u0442\u0441\u044f \u0432\u00a0\u0437\u0430\u0433\u043e\u043b\u043e\u0432\u043a\u0435, \u0430\u00a0\u043d\u0435\u00a0\u0432\u00a0\u0442\u0435\u043b\u0435, \u0433\u0434\u0435 \u043f\u0440\u043e\u0438\u0441\u0445\u043e\u0434\u0438\u0442 \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044f).<\/p>\n<p>\u042d\u0442\u043e \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u043e\u0447\u0435\u043d\u044c \u0431\u043e\u043b\u044c\u0448\u0438\u043c \u043c\u0438\u043d\u0443\u0441\u043e\u043c \u044f\u0437\u044b\u043a\u0430 (\u0432\u043e\u043e\u0431\u0449\u0435 \u0441\u0438\u043d\u0442\u0430\u043a\u0441\u0438\u0441 (\u0432 \u0446\u0435\u043b\u043e\u043c) \u043e\u0431\u044a\u0435\u043a\u0442\u043d\u043e\u0433\u043e \u043f\u0430\u0441\u043a\u0430\u043b\u044f \u043a\u0440\u0430\u0439\u043d\u0435 \u043f\u0430\u0441\u043a\u0443\u0434\u043d\u044b\u0439 \u0438 \u0448\u0430\u043a\u0430\u043b\u044c\u043d\u044b\u0439), \u0432\u00a0\u0441\u043b\u0443\u0447\u0430\u044f\u0445 \u0435\u0441\u043b\u0438 \u0443\u00a0\u0442\u0435\u0431\u044f \u0432\u00a0\u043a\u043e\u0434\u0435 \u0435\u0441\u0442\u044c \u043e\u0447\u0435\u043d\u044c \u0435\u043c\u043a\u0438\u0435 \u0444\u0443\u043d\u043a\u0446\u0438\u0438, \u0442\u0435\u0431\u0435 \u043f\u0440\u0438\u0445\u043e\u0434\u0438\u0442\u0441\u044f \u0431\u0435\u0437\u00a0\u043a\u043e\u043d\u0446\u0430 \u043f\u0440\u043e\u043a\u0440\u0443\u0447\u0438\u0432\u0430\u0442\u044c \u043c\u044b\u0448\u043a\u043e\u0439 \u0432\u0432\u0435\u0440\u0445\u2011\u0432\u043d\u0438\u0437 \u0447\u0442\u043e\u0431\u044b \u0434\u043e\u0431\u0430\u0432\u0438\u0442\u044c \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0435.<\/p>\n<p>\u0415\u0449\u0435 \u0443\u00a0\u043f\u0430\u0441\u043a\u0430\u043b\u044f \u0435\u0441\u0442\u044c \u043e\u0434\u043d\u0430 \u0443\u043d\u0438\u043a\u0430\u043b\u044c\u043d\u0430\u044f \u043f\u0440\u0438\u0447\u0443\u0434\u0430, \u044d\u0442\u043e \u043f\u0440\u043e\u0446\u0435\u0434\u0443\u0440\u044b (\u043d\u0430\u0440\u0430\u0432\u043d\u0435 \u0441\u00a0\u0444\u0443\u043d\u043a\u0446\u0438\u044f\u043c\u0438), \u0442\u0430\u043a \u043a\u0430\u043a\u00a0\u044d\u0442\u043e \u0432\u044b\u0441\u043e\u043a\u043e\u0443\u0440\u043e\u0432\u043d\u0435\u0432\u044b\u0439 \u044f\u0437\u044b\u043a \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f (\u0441\u043f\u0440\u043e\u0435\u043a\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0439 \u043f\u043e\u0434\u00a0\u043a\u043e\u043d\u0446\u0435\u043f\u0446\u0438\u044e \u043e\u043e\u043f) \u0440\u0430\u0431\u043e\u0442\u0430 \u043f\u0440\u0435\u0434\u043f\u043e\u043b\u0430\u0433\u0430\u0435\u0442\u0441\u044f \u0441\u043e \u0441\u043b\u043e\u0436\u043d\u043e \u0441\u043e\u0441\u0442\u0430\u0432\u043d\u044b\u043c\u0438 \u043e\u0431\u044a\u0435\u043a\u0442\u0430\u043c\u0438 (\u0441 \u043a\u043b\u0430\u0441\u0441\u0430\u043c\u0438), \u0438, \u0441\u043f\u0435\u0446\u0438\u0430\u043b\u044c\u043d\u043e \u0434\u043b\u044f\u00a0\u0441\u0432\u043e\u0439\u0441\u0442\u0432 \u0432\u043d\u0443\u0442\u0440\u0438 \u044d\u0442\u0438\u0445 \u043a\u043b\u0430\u0441\u0441\u043e\u0432 (\u0434\u043b\u044f \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0445 \u0432\u043d\u0443\u0442\u0440\u0438 \u043a\u043b\u0430\u0441\u0441\u0430, \u043a\u043b\u0430\u0441\u0441\u00a0\u2014 \u044d\u0442\u043e \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u0441\u043a\u0438\u0439 \u0442\u0438\u043f \u0434\u0430\u043d\u043d\u044b\u0445)\u00a0\u0431\u044b\u043b\u0438 \u0441\u043e\u0437\u0434\u0430\u043d\u044b \u043f\u0440\u043e\u0446\u0435\u0434\u0443\u0440\u044b (\u0434\u043b\u044f \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u044f \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u043c\u043e\u0433\u043e, \u043a\u043e\u0442\u043e\u0440\u043e\u0435 \u0430\u0441\u0441\u043e\u0446\u0438\u0438\u0440\u043e\u0432\u0430\u043d\u043e \u0441\u043e \u0441\u0432\u043e\u0439\u0441\u0442\u0432\u043e\u043c).<\/p>\n<p>\u041d\u0435\u00a0\u0432\u00a0\u043e\u0431\u0438\u0434\u0443 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u0430\u043c \u0441++ \u0438 \u0441 (\u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0440\u0430\u0431\u043e\u0442\u0430\u043b\u0438 \u0432\u0441\u044e \u0436\u0438\u0437\u043d\u044c \u0442\u043e\u043b\u044c\u043a\u043e \u0441\u00a0\u0421, \u0421++, \u00ab\u0441\u0438\u0431\u0440\u0430\u0437\u0438\u043d\u044b\u00bb), \u043d\u043e\u00a0\u0443\u00a0\u043f\u0430\u0441\u043a\u0430\u043b\u044f \u0435\u0441\u0442\u044c \u043c\u043d\u043e\u0436\u0435\u0441\u0442\u0432\u043e \u043d\u0435\u043e\u0441\u043f\u043e\u0440\u0438\u043c\u044b\u0445 \u043f\u043b\u044e\u0441\u043e\u0432 \u043f\u0435\u0440\u0435\u0434 \u0441++ (\u0445\u0435\u2011\u0445\u0435 \u043d\u0443 \u0432\u044b \u043f\u043e\u043d\u044f\u043b\u0438 \u0441++ \u0438 \u043f\u043b\u044e\u0441\u044b), \u043f\u0440\u043e\u0441\u0442\u043e \u043c\u0430\u043b\u043e \u043a\u0442\u043e \u043e\u00a0\u043d\u0438\u0445 \u0437\u043d\u0430\u0435\u0442 \u0432\u00a0\u043c\u0435\u0440\u0443 \u0441\u043e\u0431\u0441\u0442\u0432\u0435\u043d\u043d\u044b\u0445 \u0437\u043d\u0430\u043d\u0438\u0439.<\/p>\n<p>\u041a\u00a0\u043f\u0440\u0438\u043c\u0435\u0440\u0443, \u0431\u043e\u0433\u0430\u0442\u0430\u044f \u043f\u0430\u043b\u0438\u0442\u0440\u0430 Com \u043e\u0431\u044a\u0435\u043a\u0442\u043e\u0432 (\u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442\u043e\u0432, \u0438\u043b\u0438\u00a0\u0433\u043e\u0442\u043e\u0432\u044b\u0445 \u0448\u0430\u0431\u043b\u043e\u043d\u043e\u0432 \u0434\u043b\u044f\u00a0\u043a\u043d\u043e\u043f\u043e\u043a, \u043f\u043e\u043b\u0435\u0439 \u0432\u0432\u043e\u0434\u0430 \u0442\u0435\u043a\u0441\u0442\u0430, \u043a\u0430\u0440\u0442\u0438\u043d\u043e\u043a, \u0438 \u0442\u0434, \u043a\u0430\u0440\u043e\u0447 \u043d\u0435\u00a0\u043d\u0430\u0434\u043e \u0438\u0437\u043e\u0431\u0440\u0435\u0442\u0430\u0442\u044c \u0432\u0435\u043b\u043e\u0441\u0438\u043f\u0435\u0434\u044b).<\/p>\n<p> \u041f\u043e\u043b\u043d\u0430\u044f \u0438\u0437\u043e\u043b\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u043e\u0441\u0442\u044c \u043e\u0442\u00a0\u043d\u0438\u0437\u043a\u043e\u0443\u0440\u043e\u0432\u043d\u0435\u0432\u043e\u0433\u043e \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f, \u043d\u043e\u00a0\u0441\u00a0\u043f\u0440\u044f\u043c\u044b\u043c \u0434\u043e\u0441\u0442\u0443\u043f\u043e\u043c (\u043f\u0440\u0438 \u043f\u043e\u043c\u043e\u0449\u0438 \u044f\u0437\u044b\u043a\u0430 assembler, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043c\u043e\u0436\u043d\u043e \u0432\u0441\u0442\u0440\u0430\u0438\u0432\u0430\u0442\u044c \u043f\u0440\u044f\u043c\u043e \u0432\u00a0\u043a\u043e\u0434 \u0434\u043b\u044f\u00a0\u0440\u0430\u0431\u043e\u0442\u044b \u0441\u00a0\u043e\u0431\u044a\u0435\u043a\u0442\u0430\u043c\u0438), \u043f\u0440\u0438\u00a0\u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e\u0441\u0442\u0438.<\/p>\n<p>\u041e\u0442\u0441\u0443\u0442\u0441\u0442\u0432\u0438\u0435 \u043c\u0443\u0441\u043e\u0440\u0430 \u043e\u0431\u0440\u0430\u0442\u043d\u043e\u0439 \u0441\u043e\u0432\u043c\u0435\u0441\u0442\u0438\u043c\u043e\u0441\u0442\u0438 (\u0432 \u0441++ \u043e\u0447\u0435\u043d\u044c \u043c\u043d\u043e\u0433\u043e \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a, \u0441\u043e\u0437\u0434\u0430\u043d\u043d\u044b\u0445 \u0432\u00a0\u043a\u043e\u043d\u0446\u0435\u043f\u0446\u0438\u0438 \u00ab\u0438\u043d\u0434\u0443\u0438\u0441\u043a\u043e\u0433\u043e \u043a\u043e\u0434\u0430\u00bb, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043d\u0435\u043f\u043e\u043d\u044f\u0442\u043d\u043e \u043a\u0430\u043a\u00a0\u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442, \u0438 \u0437\u0430\u0447\u0430\u0441\u0442\u0443\u044e \u043c\u043d\u043e\u0433\u0438\u0435 \u0442\u0430\u043a\u0438\u0435 \u00ab\u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0438\u00bb \u043c\u043e\u0433\u0443\u0442 \u0432\u044b\u0437\u044b\u0432\u0430\u0442\u044c \u043e\u0448\u0438\u0431\u043a\u0438 \u043d\u0430\u00a0\u043f\u0443\u0441\u0442\u043e\u043c \u043c\u0435\u0441\u0442\u0435 \u0438\u0437\u2011\u0437\u0430 \u043a\u043e\u043d\u0444\u043b\u0438\u043a\u0442\u043e\u0432 \u0434\u0440\u0443\u0433 \u0441\u00a0\u0434\u0440\u0443\u0433\u043e\u043c, \u043a\u00a0\u043f\u0440\u0438\u043c\u0435\u0440\u0443 \u0441\u00a0\u0434\u043e\u0441\u0442\u0443\u043f\u043e\u043c \u043a\u00a0\u043f\u0430\u043c\u044f\u0442\u0438 \u0434\u043b\u044f\u00a0\u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0445).<\/p>\n<p>\u0414\u0430\u0436\u0435 \u043d\u0435\u0441\u043c\u043e\u0442\u0440\u044f \u043d\u0430\u00a0\u0442\u043e, \u0447\u0442\u043e\u00a0\u043c\u043e\u0439 \u043b\u044e\u0431\u0438\u043c\u044b\u0439 \u044f\u0437\u044b\u043a \u044d\u0442\u043e C# (\u0437\u0430 \u043f\u0440\u043e\u0441\u0442\u043e\u0442\u0443 \u0438 \u0437\u0430 \u00ab\u0435\u0441\u0442\u044c \u0432\u0441\u0435 \u0438\u0437\u00a0\u043a\u043e\u0440\u043e\u0431\u043a\u0438\u00bb), \u0431\u043e\u043b\u044c\u0448\u0435 \u0432\u0441\u0435\u0433\u043e \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c \u044f \u043d\u0430\u043f\u0438\u0441\u0430\u043b \u0438\u043c\u0435\u043d\u043d\u043e \u043d\u0430\u00a0\u043f\u0430\u0441\u043a\u0430\u043b\u0435.<\/p>\n<p><strong>\u041c\u043d\u043e\u0433\u043e \u043f\u0440\u0430\u043a\u0442\u0438\u043a\u0438.<\/strong><\/p>\n<figure class=\"float\"><\/figure>\n<p>\u0417\u0430\u043f\u0443\u0441\u043a\u0430\u0435\u043c \u0440\u0435\u0434\u0430\u043a\u0442\u043e\u0440 (\u044f \u0431\u0443\u0434\u0443 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c Lazarus, \u0432\u044b \u043c\u043e\u0436\u0435\u0442\u0435 \u043a\u0430\u043a\u043e\u0439 \u043d\u0438 \u0431\u0443\u0434\u044c \u0434\u0440\u0443\u0433\u043e\u0439, \u043e\u043d\u0438 \u0432\u0441\u0435 \u043e\u0434\u0438\u043d\u0430\u043a\u043e\u0432\u044b), \u0443\u00a0\u043d\u0430\u0441 \u00ab\u0438\u0437 \u043a\u043e\u0440\u043e\u0431\u043a\u0438\u00bb \u0441\u0440\u0430\u0437\u0443 \u0435\u0441\u0442\u044c \u0433\u043e\u0442\u043e\u0432\u0430\u044f \u0444\u043e\u0440\u043c\u0430 \u0438 \u0440\u0435\u0434\u0430\u043a\u0442\u043e\u0440 \u0434\u043b\u044f \u00ab\u043d\u0430\u0442\u044b\u043a\u0430\u043d\u044c\u044f\u00bb \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442\u043e\u0432 \u043d\u0430\u00a0\u0444\u043e\u0440\u043c\u0443 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u044b.<\/p>\n<p>\u041f\u043e\u0431\u0430\u043b\u0443\u0435\u043c\u0441\u044f, \u0437\u0430\u043f\u0443\u0441\u0442\u0438\u043c, \u0432\u0441\u0435 \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442, \u043e\u0442\u043b\u0438\u0447\u043d\u043e \u0437\u0430\u043a\u0440\u044b\u0432\u0430\u0435\u043c. \u0420\u0430\u0437\u0431\u0435\u0440\u0435\u043c \u043d\u0435\u043c\u043d\u043e\u0433\u043e \u0441\u0433\u0435\u043d\u0435\u0440\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0439 \u043a\u043e\u0434.<\/p>\n<details class=\"spoiler\">\n<summary>\u041d\u0410\u0427\u0418\u041d\u0410\u0415\u041c \u041d\u0410\u0427\u0418\u041d\u0410\u0422\u042c<\/summary>\n<div class=\"spoiler__content\">\n<pre><code class=\"delphi\">\/\/ \u043a\u043b\u044e\u0447\u0435\u0432\u043e\u0435 \u0441\u043b\u043e\u0432\u043e \u044e\u043d\u0438\u0442 \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u044f\u0435\u0442 \u043d\u0430\u0437\u0432\u0430\u043d\u0438\u0435, \/\/ \u043a\u0443\u0441\u043a\u0430 \u043a\u043e\u0434\u0430 \u0432 \u0444\u0430\u0439\u043b\u0435, \u0442\u043e \u0435\u0441\u0442\u044c \u0435\u0441\u043b\u0438 \u043c\u044b \u0433\u0434\u0435 \u0442\u043e \/\/ \u0432 \u043a\u043e\u0434\u0435 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u043c \u0441\u043b\u043e\u0432\u043e Unit1, \u043d\u0430 \u0435\u0433\u043e \u043c\u0435\u0441\u0442\u043e \/\/ \u0431\u0443\u0434\u0435\u0442 \u0432\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u043e \u0432\u0441\u0435 \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u043c\u043e\u0435 \u044d\u0442\u043e\u0433\u043e \u0444\u0430\u0439\u043b\u0430 \/\/ (\u0438\u043b\u0438 \u043d\u0435 \u0432\u0441\u0435, \u0442\u0430\u043a \u043a\u0430\u043a \u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0442\u043e\u0440 \u0432\u044b\u0440\u0435\u0436\u0435\u0442 \u0438\u0437 \/\/ \u0444\u0430\u0439\u043b\u0430 \u0442\u043e\u043b\u044c\u043a\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u043d\u044b\u0435 \u0444\u0443\u043d\u043a\u0446\u0438\u0438, \u0438 \u0432\u0441\u0442\u0430\u0432\u0438\u0442 \/\/ \u0438\u0445 unit Unit1;  \/\/ \u043d\u0430\u0434 \u044d\u0442\u0438\u043c \u043f\u043e\u043a\u0430 \u0437\u0430\u043c\u043e\u0440\u0430\u0447\u0438\u0432\u0430\u0442\u044c\u0441\u044f \u043d\u0435 \u043d\u0443\u0436\u043d\u043e, \u043c\u043e\u0436\u043d\u043e \u043f\u0440\u043e\u043f\u0443\u0441\u0442\u0438\u0442\u044c \/\/ \/\/ \u044d\u0442\u043e \u043a\u043e\u043c\u0430\u043d\u0434\u0430 \u0434\u043b\u044f \u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0442\u043e\u0440\u0430, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0435\u0442\u0441\u044f \u0432 \u043c\u043e\u043c\u0435\u043d\u0442 \/\/ \u043f\u0435\u0440\u0435\u0434 \u0433\u0435\u043d\u0435\u0440\u0430\u0446\u0438\u0435\u0439 \u0441\u043a\u043e\u043c\u043f\u0438\u043b\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u043e\u0433\u043e \u0444\u0430\u0439\u043b\u0430 \u043d\u0430\u0448\u0435\u0433\u043e \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f \/\/ \u0432 \u0434\u0430\u043d\u043d\u043e\u043c \u0441\u043b\u0443\u0447\u0430\u0435 \u043a\u043e\u043c\u0430\u043d\u0434\u0430 {$mode objfpc} \u0437\u0430\u0441\u0442\u0430\u0432\u0438\u0442 \u0440\u0435\u0434\u0430\u043a\u0442\u043e\u0440 \u043a\u043e\u0434\u0430 \/\/ \u0441\u0433\u0435\u043d\u0435\u0440\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0444\u0430\u0439\u043b \u0441 \u0433\u043e\u0442\u043e\u0432\u044b\u043c \u043a\u043e\u0434\u043e\u043c \u0432 \u0441\u0442\u0438\u043b\u0435 (\u0441\u043a\u043e\u043c\u043f\u0438\u043b\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u043c) \/\/ \u043b\u0430\u0437\u0430\u0440\u0443\u0441\u0430, \u043a\u043e\u043c\u0430\u043d\u0434\u0430 {$H+} \u0437\u0430\u0441\u0442\u0430\u0432\u0438\u0442 \u0440\u0435\u0434\u0430\u043a\u0442\u043e\u0440 \u043a\u043e\u043d\u0432\u0435\u0440\u0442\u0438\u0440\u043e\u0432\u0430\u0442\u044c \/\/ \u0432\u0441\u0435 \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u043c\u043e\u0435 \u044d\u0442\u043e\u0433\u043e \u0444\u0430\u0439\u043b\u0430 \u0432 \u043a\u043e\u0434\u0438\u0440\u043e\u0432\u043a\u0443 Ansi {$mode objfpc}{$H+}  \/\/ \u043a\u043b\u044e\u0447\u0435\u0432\u043e\u0435 \u0441\u043b\u043e\u0432\u043e \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441, \u043f\u043e\u043a\u0430 \u043d\u0435 \u043d\u0443\u0436\u043d\u043e \u0437\u0430\u0431\u0438\u0432\u0430\u0442\u044c \u0441\u0435\u0431\u0435 \u0433\u043e\u043b\u043e\u0432\u0443 \/\/ \u0438 \u043c\u043e\u0436\u043d\u043e \u043f\u0440\u043e\u043f\u0443\u0441\u0442\u0438\u0442\u044c \/\/ \/\/ \u043a\u043b\u044e\u0447\u0435\u0432\u043e\u0435 \u0441\u043b\u043e\u0432\u043e interface \u0433\u043e\u0432\u043e\u0440\u0438\u0442 \u043e \u0442\u043e\u043c \u0447\u0442\u043e \u0432\u0441\u0435 \u043e\u043f\u0438\u0441\u0430\u043d\u043d\u043e\u0435 \u043d\u0438\u0436\u0435 \/\/ (\u043d\u0430\u0448 \u0443\u0441\u043b\u043e\u0432\u043d\u044b\u0439 \u0442\u0438\u043f \u0434\u0430\u043d\u043d\u044b\u0445) \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u0448\u0430\u0431\u043b\u043e\u043d\u043e\u043c \u0434\u043b\u044f \u0442\u043e\u0433\u043e \u0447\u0442\u043e\u0431\u044b \u043d\u0430 \/\/ \u0431\u0430\u0437\u0435 \u043d\u0430\u0448\u0435\u0433\u043e \u0442\u0438\u043f\u0430 \u0434\u0430\u043d\u043d\u044b\u0445 \u0441\u043e\u0437\u0434\u0430\u0432\u0430\u0442\u044c \u0434\u0440\u0443\u0433\u0438\u0435 (\u0434\u043e\u0447\u0435\u0440\u043d\u0438\u0435) \u0442\u0438\u043f\u044b \u0434\u0430\u043d\u043d\u044b\u0445 \/\/ \/\/ \u0435\u0441\u043b\u0438 \u0432 \u0441++ \u043a\u043e\u043d\u0446\u0435\u043f\u0446\u0438\u044f \u043e\u043e\u043f \u0431\u044b\u043b\u0430 \u043f\u0440\u043e\u0441\u0442\u043e \u0443\u0441\u043b\u043e\u0432\u043d\u043e\u0441\u0442\u044c\u044e, \u0442\u043e \u0432 object \/\/ pascal \u044d\u0442\u043e \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e\u0441\u0442\u044c, \u043f\u0440\u043e\u0434\u0438\u043a\u0442\u043e\u0432\u0430\u043d\u043d\u0430\u044f \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435\u043c COM \/\/ \u043e\u0431\u044a\u0435\u043a\u0442\u043e\u0432 (\u0437\u0430\u0433\u043e\u0442\u043e\u0432\u043e\u043a \u043a\u043d\u043e\u043f\u043e\u043a, \u0442\u0435\u043a\u0441\u0442\u043e\u0432\u044b\u0445 \u043f\u043e\u043b\u0435\u0439, \u0438 \u0442\u0434), \u0432 \u0441++ \/\/ \u0432\u0441\u0435 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0435 \u0438\u043c\u0435\u044e\u0442 \u0441\u0442\u0440\u043e\u0433\u0438\u0439 \u0440\u0430\u0437\u043c\u0435\u0440 \u0438 \u0441\u0442\u0430\u0442\u0438\u0447\u043d\u044b, \u0432 \u043f\u0430\u0441\u043a\u0430\u043b\u0435 \u043d\u0435\u0442, \/\/ (\u044d\u0442\u043e \u043e\u0441\u043d\u043e\u0432\u043d\u043e\u0435 \u043e\u0442\u043b\u0438\u0447\u0438\u0435 \u043e\u0442 \u0441++), \u0442\u043e \u0435\u0441\u0442\u044c \u0442\u0443\u0442 \u043c\u043e\u0433\u0443\u0442 \u0431\u044b\u0442\u044c \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0435 \/\/ (\u0438\u043b\u0438 \u043c\u0443\u043b\u044c\u0442\u0438\u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0435), \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043d\u0430 \u0445\u043e\u0434\u0443 \u043c\u043e\u0433\u0443\u0442 \u0438\u0437\u043c\u0435\u043d\u044f\u0442\u044c \u0441\u0432\u043e\u0439 \/\/ \u043c\u0430\u043a\u0441\u0438\u043c\u0430\u043b\u044c\u043d\u044b\u0439 \u0440\u0430\u0437\u043c\u0435\u0440, \u0443\u0434\u0430\u043b\u044f\u0442\u044c \u0434\u0430\u043d\u043d\u044b\u0435, \u0438\u0437\u043c\u0435\u043d\u044f\u0442\u044c \u0434\u0430\u043d\u043d\u044b\u0435, \u0438 \u0442\u0434 \/\/ \/\/ \u043c\u0430\u043b\u043e \u043a\u0442\u043e \u043f\u043e\u043c\u043d\u0438\u0442, \u043d\u043e \u043a\u043e\u043d\u0446\u0435\u043f\u0446\u0438\u044f \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u043e\u0432 \u043f\u043e\u044f\u0432\u0438\u043b\u0430\u0441\u044c \u0432\u043c\u0435\u0441\u0442\u0435 \u0441 \/\/ \u043a\u043e\u043d\u0446\u0435\u043f\u0446\u0438\u0435\u0439 COM \u043e\u0431\u044a\u0435\u043a\u0442\u043e\u0432, \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u044b, \u043f\u043e \u0441\u0443\u0442\u0438, \u044d\u0442\u043e \u0430\u0431\u0441\u0442\u0440\u0430\u043a\u0442\u043d\u044b\u0435 \/\/ \u043a\u043b\u0430\u0441\u0441\u044b (\u0442\u0438\u043f\u044b \u0434\u0430\u043d\u043d\u044b\u0445), \u0438\u043b\u0438 \u043e\u0434\u0438\u043d \u0431\u043e\u043b\u044c\u0448\u043e\u0439 \u0448\u0430\u0431\u043b\u043e\u043d \u0434\u043b\u044f \u0437\u0430\u0433\u043e\u043b\u043e\u0432\u043a\u0430 \/\/ \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u0441\u043a\u043e\u0433\u043e \u0442\u0438\u043f\u0430<\/code><\/pre>\n<\/div>\n<\/details>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[],"tags":[],"class_list":["post-362538","post","type-post","status-publish","format-standard","hentry"],"_links":{"self":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/362538","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=362538"}],"version-history":[{"count":0,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/362538\/revisions"}],"wp:attachment":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=362538"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=362538"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=362538"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}