{"id":353501,"date":"2024-05-20T22:29:17","date_gmt":"2024-05-20T22:29:17","guid":{"rendered":"http:\/\/savepearlharbor.com\/?p=353501"},"modified":"-0001-11-30T00:00:00","modified_gmt":"-0001-11-29T21:00:00","slug":"","status":"publish","type":"post","link":"https:\/\/savepearlharbor.com\/?p=353501","title":{"rendered":"<span>\u041f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u0434\u043b\u044f Palm OS: \u0447\u0442\u043e \u0436\u0435 \u0442\u0430\u043c \u0441\u0430\u043c\u043e\u0435 \u0441\u043b\u043e\u0436\u043d\u043e\u0435?<\/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-1\">\n<div xmlns=\"http:\/\/www.w3.org\/1999\/xhtml\">\u041f\u0440\u0438\u0432\u0435\u0442\u0441\u0442\u0432\u0443\u044e \u0432\u0441\u0435\u0445!<\/p>\n<p>  \u0414\u0443\u043c\u0430\u044e, \u043c\u043d\u043e\u0433\u0438\u0435 \u0438\u0437 \u043d\u0430\u0441 \u0445\u043e\u0442\u044c \u0440\u0430\u0437 \u0441\u043b\u044b\u0448\u0430\u043b\u0438 \u043e \u041a\u041f\u041a \u043d\u0430 \u0431\u0430\u0437\u0435 Palm OS. \u0410 \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u044b\u043c \u0434\u0430\u0436\u0435 \u0434\u043e\u0432\u0435\u043b\u043e\u0441\u044c \u0438\u043c\u0435\u0442\u044c \u0442\u0430\u043a\u043e\u0439 \u0432 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0438.<\/p>\n<p>  \u0418 \u0442\u0430\u043a \u0443\u0436 \u0432\u044b\u0448\u043b\u043e, \u0447\u0442\u043e \u043f\u0430\u043b\u044c\u043c\u044b \u0441\u0442\u0430\u043b\u0438 \u043e\u0434\u043d\u043e\u0439 \u0438\u0437 \u0441\u0430\u043c\u044b\u0445 \u043f\u0440\u043e\u0442\u0438\u0432\u043e\u0440\u0435\u0447\u0438\u0432\u044b\u0445 \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c \u0432 \u043f\u043b\u0430\u043d\u0435 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u043f\u043e\u0434 \u043d\u0438\u0445, \u0432 \u0447\u0451\u043c \u043b\u0435\u0433\u043a\u043e \u043c\u043e\u0436\u043d\u043e \u0443\u0431\u0435\u0434\u0438\u0442\u044c\u0441\u044f, \u043f\u043e\u0447\u0438\u0442\u0430\u0432 \u043a\u043e\u043c\u043c\u0435\u043d\u0442\u0430\u0440\u0438\u0438 \u043a \u043b\u044e\u0431\u043e\u0439 \u0441\u0442\u0430\u0442\u044c\u0435 \u043f\u0440\u043e \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u0434\u043b\u044f \u044d\u0442\u0438\u0445 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432.<\/p>\n<p>  <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w780q1\/webt\/ys\/9q\/89\/ys9q89nz6wgoyixvindxglb9u-y.jpeg\" data-src=\"https:\/\/habrastorage.org\/webt\/ys\/9q\/89\/ys9q89nz6wgoyixvindxglb9u-y.jpeg\" data-blurred=\"true\"\/><\/p>\n<p>  \u0418\u0442\u0430\u043a, \u0432 \u0441\u0435\u0433\u043e\u0434\u043d\u044f\u0448\u043d\u0435\u0439 \u0441\u0442\u0430\u0442\u044c\u0435 \u043f\u043e\u0433\u043e\u0432\u043e\u0440\u0438\u043c \u043e \u0441\u0430\u043c\u043e\u043c \u0441\u043f\u0435\u0446\u0438\u0444\u0438\u0447\u0435\u0441\u043a\u043e\u043c \u0430\u0441\u043f\u0435\u043a\u0442\u0435 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u043f\u043e\u0434 \u0442\u0430\u043a\u0438\u0435 \u041a\u041f\u041a. \u0420\u0430\u0437\u0431\u0435\u0440\u0451\u043c\u0441\u044f, \u0447\u0442\u043e \u0436\u0435 \u0431\u044b\u043b\u043e \u043f\u0440\u0435\u0434\u043c\u0435\u0442\u043e\u043c \u0434\u0438\u0441\u043a\u0443\u0441\u0441\u0438\u0439 \u043e \u0446\u0435\u043b\u0435\u0441\u043e\u043e\u0431\u0440\u0430\u0437\u043d\u043e\u0441\u0442\u0438 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u0434\u043b\u044f \u043f\u0430\u043b\u044c\u043c, \u0443\u0437\u043d\u0430\u0435\u043c, \u043d\u0430\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0432\u0441\u0451 \u0441\u043b\u043e\u0436\u043d\u043e. \u0422\u0440\u0430\u0434\u0438\u0446\u0438\u043e\u043d\u043d\u043e \u0431\u0443\u0434\u0435\u0442 \u043c\u043d\u043e\u0433\u043e \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u043d\u043e\u0433\u043e.<a name=\"habracut\"><\/a><\/p>\n<h2><font color=\"#1c22be\">\u276f<\/font> <font color=\"#454cee\">\u0421\u0443\u0442\u044c \u0442\u0430\u043a\u043e\u0432\u0430<\/font><\/h2>\n<p>  \u0414\u0430\u0432\u043d\u044b\u043c-\u0434\u0430\u0432\u043d\u043e \u044f \u0443\u0436\u0435 <a href=\"https:\/\/habr.com\/ru\/companies\/timeweb\/articles\/723240\/\">\u043f\u0438\u0441\u0430\u043b<\/a> \u043f\u0440\u043e \u0432\u0432\u0435\u0434\u0435\u043d\u0438\u0435 \u0432 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0443 \u043f\u043e\u0434 \u043f\u0430\u043b\u044c\u043c\u044b. \u041f\u043e\u0441\u0442 \u044d\u0442\u043e\u0442 \u0431\u044b\u043b \u0432\u0435\u0441\u044c\u043c\u0430 \u0443\u0441\u043f\u0435\u0448\u043d\u044b\u043c, \u043d\u043e \u0442\u0430\u043c \u0431\u044b\u043b\u0430 \u0441\u043a\u0440\u043e\u043c\u043d\u043e \u043e\u043f\u0443\u0449\u0435\u043d\u0430 \u043e\u0434\u043d\u0430 \u0438\u0437 \u0432\u0430\u0436\u043d\u0435\u0439\u0448\u0438\u0445 \u0441\u043e\u0441\u0442\u0430\u0432\u043b\u044f\u044e\u0449\u0438\u0445 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f, \u0432 \u043e\u0431\u0449\u0435\u043c-\u0442\u043e, \u0434\u043b\u044f \u043b\u044e\u0431\u043e\u0439 \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u044b \u2014 \u0445\u0440\u0430\u043d\u0435\u043d\u0438\u0435 \u0434\u0430\u043d\u043d\u044b\u0445. \u041d\u0430 \u043e\u0434\u043d\u0438\u0445 \u0444\u043e\u0440\u043c\u0430\u0445 \u0438 \u0442\u0435\u043a\u0441\u0442\u0435 \u0434\u0430\u043b\u0435\u043a\u043e \u043d\u0435 \u0443\u0435\u0445\u0430\u0442\u044c, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u044f \u0440\u0435\u0448\u0438\u043b \u043d\u0430\u043f\u0438\u0441\u0430\u0442\u044c \u043f\u0440\u043e\u0434\u043e\u043b\u0436\u0435\u043d\u0438\u0435 \u0434\u0430\u043d\u043d\u043e\u0433\u043e \u043f\u043e\u0441\u0442\u0430, \u0433\u0434\u0435 \u0438 \u0440\u0430\u0441\u0441\u043a\u0430\u0437\u0430\u0442\u044c \u043e \u0442\u043e\u043c, \u043a\u0430\u043a \u0441 \u044d\u0442\u0438\u043c \u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c.<\/p>\n<h2><font color=\"#1c22be\">\u276f<\/font> <font color=\"#454cee\">\u0412 \u0447\u0451\u043c \u0441\u043b\u043e\u0436\u043d\u043e\u0441\u0442\u044c?<\/font><\/h2>\n<p>  \u0422\u0435, \u043a\u043e\u043c\u0443 \u0432 \u0441\u0432\u043e\u0451 \u0432\u0440\u0435\u043c\u044f \u0434\u043e\u0432\u0435\u043b\u043e\u0441\u044c \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c\u0441\u044f \u043f\u0430\u043b\u044c\u043c\u0430\u043c\u0438, \u0437\u043d\u0430\u044e\u0442, \u043e \u0447\u0451\u043c \u044f. \u0414\u0435\u043b\u043e \u0432 \u0442\u043e\u043c, \u0447\u0442\u043e \u0432 \u044d\u0442\u0438\u0445 \u041a\u041f\u041a, \u0432 \u043e\u0442\u043b\u0438\u0447\u0438\u0435, \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u043e\u0442 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432 \u043d\u0430 Windows Mobile, \u043d\u0435\u0442 \u043d\u0438\u043a\u0430\u043a\u043e\u0439 \u0444\u0430\u0439\u043b\u043e\u0432\u043e\u0439 \u0441\u0438\u0441\u0442\u0435\u043c\u044b, \u0430 \u0445\u0440\u0430\u043d\u0438\u043b\u0438\u0449\u0435 \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u0442 \u0441\u043e\u0431\u043e\u0439 \u044d\u0442\u0430\u043a\u0443\u044e \u0431\u0430\u0437\u0443 \u0434\u0430\u043d\u043d\u044b\u0445. \u0422\u0430\u043a\u0438\u043c \u043e\u0431\u0440\u0430\u0437\u043e\u043c, \u0432 \u043e\u0442\u043b\u0438\u0447\u0438\u0435 \u043e\u0442 \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u043d\u044b\u0445 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u0439 \u043d\u0430\u0434 \u0444\u0430\u0439\u043b\u0430\u043c\u0438 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u0441\u043b\u0435\u0434\u0438\u0442\u044c \u0437\u0430 \u043e\u0431\u044a\u0451\u043c\u043e\u043c \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u043c\u044b\u0445 \u0434\u0430\u043d\u043d\u044b\u0445, \u0447\u0442\u043e\u0431\u044b \u0443\u043b\u043e\u0436\u0438\u0442\u044c\u0441\u044f \u0432 \u0440\u0430\u0437\u043c\u0435\u0440 \u043e\u0434\u043d\u043e\u0439 \u0437\u0430\u043f\u0438\u0441\u0438 (\u043a\u043e\u0442\u043e\u0440\u0430\u044f \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u0442 \u0441\u043e\u0431\u043e\u0439 \u0432\u043c\u0435\u0441\u0442\u0438\u043b\u0438\u0449\u0435 \u0434\u043b\u044f \u043f\u043e\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u0438 \u0431\u0430\u0439\u0442 \u0444\u0438\u043a\u0441\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u043e\u0439 \u0434\u043b\u0438\u043d\u044b) \u0438 \u043f\u0440\u0438 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e\u0441\u0442\u0438 \u0441\u043e\u0445\u0440\u0430\u043d\u0438\u0442\u044c \u0438\u0445 \u0432 \u0441\u043e\u0441\u0435\u0434\u043d\u044e\u044e \u044f\u0447\u0435\u0439\u043a\u0443, \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e, \u043f\u0440\u0435\u0434\u0443\u0441\u043c\u043e\u0442\u0440\u0435\u0442\u044c \u043e\u0431\u043c\u0435\u043d \u0434\u0430\u043d\u043d\u044b\u043c\u0438 \u0441 \u043a\u043e\u043c\u043f\u044c\u044e\u0442\u0435\u0440\u043e\u043c (\u0432\u0435\u0434\u044c \u043d\u0435\u043b\u044c\u0437\u044f \u043f\u0440\u043e\u0441\u0442\u043e \u0442\u0430\u043a \u0432\u0437\u044f\u0442\u044c \u0438 \u0437\u0430\u043f\u0438\u0441\u0430\u0442\u044c \u0434\u0430\u043d\u043d\u044b\u0435 \u043d\u0430 \u043a\u0430\u0440\u0442\u0443 \u043f\u0430\u043c\u044f\u0442\u0438, \u0442\u0430\u043a \u043a\u0430\u043a \u0432\u043e \u043c\u043d\u043e\u0433\u0438\u0445 \u043f\u0430\u043b\u044c\u043c\u0430\u0445 \u0438\u0445 \u043f\u043e\u043f\u0440\u043e\u0441\u0442\u0443 \u043d\u0435 \u0431\u044b\u043b\u043e) \u0438\u043b\u0438 \u043e\u0442\u043a\u0440\u044b\u0442\u044c \u0438 \u043f\u0440\u043e\u0441\u043c\u043e\u0442\u0440\u0435\u0442\u044c \u0437\u0430\u043f\u0438\u0441\u044c \u0438\u0437\u0432\u043d\u0435. \u0412 \u044d\u0442\u043e\u043c \u043f\u043b\u0430\u043d\u0435 \u041a\u041f\u041a \u043d\u0430 \u0431\u0430\u0437\u0435 Pocket PC \u0431\u044b\u043b\u0438 \u043a\u0443\u0434\u0430 \u0443\u0434\u043e\u0431\u043d\u0435\u0435, \u0442\u0430\u043a \u043a\u0430\u043a \u043f\u0440\u0435\u0434\u043e\u0441\u0442\u0430\u0432\u043b\u044f\u043b\u0438 \u043f\u043e\u043b\u043d\u043e\u0446\u0435\u043d\u043d\u0443\u044e \u0424\u0421 \u0441\u043e \u0432\u0441\u0435\u043c\u0438 \u0435\u0451 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u044f\u043c\u0438. \u042d\u0442\u043e \u0438 \u0432\u044b\u0437\u044b\u0432\u0430\u043b\u043e \u043e\u0436\u0435\u0441\u0442\u043e\u0447\u0451\u043d\u043d\u044b\u0435 \u0441\u043f\u043e\u0440\u044b \u043d\u0430\u0441\u0447\u0451\u0442 \u0442\u043e\u0433\u043e, \u0441\u043b\u043e\u0436\u043d\u043e \u043b\u0438 \u043f\u0438\u0441\u0430\u0442\u044c \u043f\u043e\u0434 \u043f\u0430\u043b\u044c\u043c\u044b. \u0411\u0435\u0437\u0443\u0441\u043b\u043e\u0432\u043d\u043e, \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u0430 \u043e\u0431\u043b\u0430\u0434\u0430\u043b\u0430 \u0438 \u0434\u0440\u0443\u0433\u0438\u043c\u0438 \u0441\u0432\u043e\u0439\u0441\u0442\u0432\u0435\u043d\u043d\u044b\u043c\u0438 \u0442\u043e\u043b\u044c\u043a\u043e \u0435\u0439 \u043e\u0441\u043e\u0431\u0435\u043d\u043d\u043e\u0441\u0442\u044f\u043c\u0438, \u043d\u043e \u0440\u0430\u0431\u043e\u0442\u0443 \u0441 \u0444\u0430\u0439\u043b\u0430\u043c\u0438 (\u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u0432 \u044d\u0442\u043e\u0439 \u041e\u0421 \u043f\u043e \u0441\u0443\u0442\u0438 \u0438 \u043d\u0435 \u0431\u044b\u043b\u043e) \u0443\u043f\u043e\u043c\u0438\u043d\u0430\u043b\u0438 \u043f\u0440\u0430\u043a\u0442\u0438\u0447\u0435\u0441\u043a\u0438 \u0432\u0441\u0435.<\/p>\n<p>  \u0418 \u0432\u043e\u0442 \u044f \u0441\u0430\u043c \u0440\u0435\u0448\u0438\u043b \u043f\u043e\u043f\u0440\u043e\u0431\u043e\u0432\u0430\u0442\u044c \u0440\u0430\u0437\u043e\u0431\u0440\u0430\u0442\u044c\u0441\u044f \u0441 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435\u043c \u044d\u0442\u043e\u0439 \u0411\u0414, \u043d\u0430 \u0441\u0435\u0431\u0435 \u0438\u0441\u043f\u044b\u0442\u0430\u043b \u0432\u0441\u044e \u0431\u043e\u043b\u044c \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u043e\u0432 \u0434\u043b\u044f \u043f\u0430\u043b\u044c\u043c\u044b, \u0442\u0430\u043a \u0447\u0442\u043e \u0442\u0435\u043f\u0435\u0440\u044c \u043c\u043e\u0436\u043d\u043e \u043d\u0430\u043a\u043e\u043d\u0435\u0446-\u0442\u043e \u043f\u043e\u0432\u0435\u0434\u0430\u0442\u044c \u043e\u0431 \u044d\u0442\u043e\u043c \u043c\u0438\u0440\u0443.<\/p>\n<h2><font color=\"#1c22be\">\u276f<\/font> <font color=\"#454cee\">\u041e\u0431\u0437\u043e\u0440 \u043e\u0431\u043e\u0440\u0443\u0434\u043e\u0432\u0430\u043d\u0438\u044f<\/font><\/h2>\n<p>  \u041a\u0430\u043a \u0438 \u0432 \u043f\u0440\u043e\u0448\u043b\u043e\u0439 \u0441\u0442\u0430\u0442\u044c\u0435, \u0442\u0435\u0441\u0442\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0432\u0441\u0435 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f \u0431\u0443\u0434\u0435\u043c \u043d\u0430 \u0422\u0421\u0414 Symbol SPT-1550. <\/p>\n<p>  <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w780q1\/webt\/j2\/jp\/05\/j2jp05qphwufkygrwqdimxe5e4m.jpeg\" alt=\"image\" data-src=\"https:\/\/habrastorage.org\/webt\/j2\/jp\/05\/j2jp05qphwufkygrwqdimxe5e4m.jpeg\" data-blurred=\"true\"\/><\/p>\n<p>  \u042d\u0442\u043e \u043c\u043e\u0439 \u043b\u044e\u0431\u0438\u043c\u044b\u0439 \u041a\u041f\u041a \u043d\u0430 \u0431\u0430\u0437\u0435 Palm OS. \u041d\u0435 \u0441\u0430\u043c\u0430\u044f \u0434\u0440\u0435\u0432\u043d\u044f\u044f \u0432\u0435\u0440\u0441\u0438\u044f \u0441\u0438\u0441\u0442\u0435\u043c\u044b, \u0440\u0430\u0431\u043e\u0442\u0430 \u043e\u0442 \u0431\u0430\u0442\u0430\u0440\u0435\u0435\u043a, \u043a\u0440\u0430\u0441\u0438\u0432\u044b\u0439 \u0434\u0438\u0437\u0430\u0439\u043d, \u0441\u043e\u0432\u043c\u0435\u0441\u0442\u0438\u043c\u043e\u0441\u0442\u044c \u0441 \u0430\u043a\u0441\u0435\u0441\u0441\u0443\u0430\u0440\u0430\u043c\u0438 \u043e\u0442 \u0442\u0440\u0435\u0442\u044c\u0435\u0439 \u043f\u0430\u043b\u044c\u043c\u044b \u2014 \u0432\u0441\u0451 \u044d\u0442\u043e \u043c\u043d\u0435 \u0432 \u043d\u0451\u043c \u043e\u0447\u0435\u043d\u044c \u043d\u0440\u0430\u0432\u0438\u0442\u0441\u044f. \u041d\u0430 \u0431\u043e\u0440\u0442\u0443 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u043e\u0440 MC68000 \u043d\u0430 33 \u041c\u0413\u0446 \u0438 \u0432\u043e\u0441\u0435\u043c\u044c \u043c\u0435\u0433\u0430\u0431\u0430\u0439\u0442 \u041e\u0417\u0423 (\u0430 \u043f\u043e \u0441\u043e\u0432\u043c\u0435\u0441\u0442\u0438\u0442\u0435\u043b\u044c\u0441\u0442\u0432\u0443 \u0438 RAM-\u0434\u0438\u0441\u043a\u0430).<\/p>\n<h2><font color=\"#1c22be\">\u276f<\/font> <font color=\"#454cee\">\u041a\u0430\u043a \u0443\u0441\u0442\u0440\u043e\u0435\u043d\u043e \u0445\u0440\u0430\u043d\u0438\u043b\u0438\u0449\u0435 \u0434\u0430\u043d\u043d\u044b\u0445 \u0432 \u043f\u0430\u043b\u044c\u043c\u0435<\/font><\/h2>\n<p>  \u0418\u0442\u0430\u043a, \u043a\u0430\u0436\u0434\u043e\u0435 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0435 \u043c\u043e\u0436\u0435\u0442 \u0441\u043e\u0437\u0434\u0430\u0442\u044c \u043d\u0430 RAM-\u0434\u0438\u0441\u043a\u0435 \u043e\u0434\u043d\u0443 \u0438\u043b\u0438 \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0431\u0430\u0437 \u0434\u0430\u043d\u043d\u044b\u0445. \u0421\u0430\u043c\u0430 \u0411\u0414 \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u0442 \u0441\u043e\u0431\u043e\u0439 \u0437\u0430\u0433\u043e\u043b\u043e\u0432\u043e\u043a \u0438 \u0441\u043e\u0432\u043e\u043a\u0443\u043f\u043d\u043e\u0441\u0442\u044c \u0437\u0430\u043f\u0438\u0441\u0435\u0439 (\u043a\u0430\u0436\u0434\u0430\u044f \u0438\u0437 \u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u0442\u043e\u0436\u0435 \u0438\u043c\u0435\u0435\u0442 \u0441\u0432\u043e\u0438 \u0430\u0442\u0440\u0438\u0431\u0443\u0442\u044b), \u043a\u0443\u0434\u0430 \u043c\u043e\u0436\u043d\u043e \u043f\u0438\u0441\u0430\u0442\u044c \u043a\u0430\u043a\u0438\u0435-\u0442\u043e \u0434\u0430\u043d\u043d\u044b\u0435. \u041c\u0430\u043a\u0441\u0438\u043c\u0430\u043b\u044c\u043d\u044b\u0439 \u0440\u0430\u0437\u043c\u0435\u0440 \u043e\u0434\u043d\u043e\u0439 \u0437\u0430\u043f\u0438\u0441\u0438 \u2014 64 \u041a\u0411, \u0447\u0442\u043e \u0441\u0432\u044f\u0437\u0430\u043d\u043e \u0441 \u0440\u0430\u0437\u043c\u0435\u0440\u043e\u043c \u0431\u043b\u043e\u043a\u0430 \u043f\u0430\u043c\u044f\u0442\u0438. \u0412 \u043e\u0434\u043d\u043e\u0439 \u0431\u0430\u0437\u0435 \u043c\u043e\u0436\u0435\u0442 \u0445\u0440\u0430\u043d\u0438\u0442\u044c\u0441\u044f \u0434\u043e 32768 \u0437\u0430\u043f\u0438\u0441\u0435\u0439, \u0442\u0430\u043a\u0438\u043c \u043e\u0431\u0440\u0430\u0437\u043e\u043c, \u0411\u0414 \u043c\u043e\u0436\u0435\u0442 \u0432\u0435\u0441\u0438\u0442\u044c \u0434\u043e \u0434\u0432\u0443\u0445 \u0413\u0411. \u0412 \u0440\u0435\u0430\u043b\u044c\u043d\u043e\u0441\u0442\u0438, \u043a\u043e\u043d\u0435\u0447\u043d\u043e, \u044d\u0442\u043e \u0447\u0438\u0441\u043b\u043e \u0433\u043e\u0440\u0430\u0437\u0434\u043e \u043c\u0435\u043d\u044c\u0448\u0435, \u0442\u0430\u043a \u043a\u0430\u043a \u043e\u0431\u044a\u0451\u043c RAM-\u0434\u0438\u0441\u043a\u0430 \u0443 \u0442\u0438\u043f\u0438\u0447\u043d\u044b\u0445 \u043f\u0430\u043b\u044c\u043c \u0438\u0441\u0447\u0438\u0441\u043b\u044f\u0435\u0442\u0441\u044f \u0435\u0434\u0438\u043d\u0438\u0446\u0430\u043c\u0438 \u043c\u0435\u0433\u0430\u0431\u0430\u0439\u0442.<\/p>\n<p>  \u0424\u043e\u0440\u043c\u0430\u0442 \u044d\u0442\u0438\u0445 \u0431\u0430\u0437 \u0434\u0430\u043d\u043d\u044b\u0445 \u043d\u0430\u0437\u044b\u0432\u0430\u0435\u0442\u0441\u044f PDB (Palm Database), \u043f\u043e \u0441\u0432\u043e\u0435\u0439 \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0435 \u043e\u043d \u043e\u0447\u0435\u043d\u044c \u0441\u0445\u043e\u0436 \u0441 PRC (Palm Resource Code), \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044e\u0449\u0435\u043c\u0441\u044f \u0434\u043b\u044f \u0445\u0440\u0430\u043d\u0435\u043d\u0438\u044f \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0439. \u0420\u0430\u0437\u043d\u0438\u0446\u0430 \u0437\u0430\u043a\u043b\u044e\u0447\u0430\u0435\u0442\u0441\u044f \u043b\u0438\u0448\u044c \u0432 \u0442\u043e\u043c, \u0447\u0442\u043e \u0432 PDB \u0432 \u0437\u0430\u043f\u0438\u0441\u044f\u0445 \u0445\u0440\u0430\u043d\u044f\u0442\u0441\u044f \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u0441\u043a\u0438\u0435 \u0434\u0430\u043d\u043d\u044b\u0435, \u0430 \u0432 PRC \u2014 \u0438\u0441\u043f\u043e\u043b\u043d\u044f\u0435\u043c\u044b\u0439 \u043a\u043e\u0434 \u0438 \u0440\u0435\u0441\u0443\u0440\u0441\u044b.<\/p>\n<h2><font color=\"#1c22be\">\u276f<\/font> <font color=\"#454cee\">\u0420\u0435\u0441\u0443\u0440\u0441\u044b<\/font><\/h2>\n<p>  \u041d\u0430 \u0443\u0434\u0438\u0432\u043b\u0435\u043d\u0438\u0435, \u0432 \u0438\u043d\u0442\u0435\u0440\u043d\u0435\u0442\u0435 \u043d\u0430\u0448\u043b\u043e\u0441\u044c \u043d\u0435 \u0442\u0430\u043a \u0443\u0436 \u0438 \u043c\u043d\u043e\u0433\u043e \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u0438 \u043f\u043e \u0442\u043e\u043c\u0443, \u043a\u0430\u043a \u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c \u0441 \u0431\u0430\u0437\u0430\u043c\u0438 \u0434\u0430\u043d\u043d\u044b\u0445 \u043d\u0430 \u043f\u0430\u043b\u044c\u043c\u0435. \u041a\u043e\u043d\u0435\u0447\u043d\u043e, \u0435\u0441\u0442\u044c \u043a\u0430\u043a\u0438\u0435-\u0442\u043e \u0438\u0441\u0445\u043e\u0434\u043d\u0438\u043a\u0438 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0439, \u0435\u0441\u0442\u044c \u043e\u043f\u0438\u0441\u0430\u043d\u0438\u0435 \u0444\u0443\u043d\u043a\u0446\u0438\u0439, \u043d\u043e \u0432\u043e\u0442 \u043f\u0440\u043e\u0441\u0442\u043e\u0433\u043e \u0440\u0430\u0431\u043e\u0447\u0435\u0433\u043e \u043f\u0440\u0438\u043c\u0435\u0440\u0430 \u044f \u0442\u0430\u043a \u0438 \u043d\u0435 \u043d\u0430\u0448\u0451\u043b. \u041d\u0443 \u0430 \u0440\u0430\u0437 \u0442\u0430\u043a, \u0441\u0430\u043c\u043e\u0435 \u0432\u0440\u0435\u043c\u044f \u0432\u043e\u0441\u043f\u043e\u043b\u043d\u0438\u0442\u044c \u044d\u0442\u043e \u0443\u043f\u0443\u0449\u0435\u043d\u0438\u0435.<br \/>  \u0418\u0442\u0430\u043a, \u0441\u043e\u0437\u0434\u0430\u0451\u043c \u043d\u043e\u0432\u044b\u0439 \u043f\u0440\u043e\u0435\u043a\u0442 \u0432 CodeWarrior. \u0418\u043c\u0435\u043d\u043d\u043e \u0435\u0433\u043e \u043c\u044b \u0438 \u0432\u043e\u0437\u044c\u043c\u0451\u043c \u0437\u0430 \u043e\u0441\u043d\u043e\u0432\u0443.<\/p>\n<p>  <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w780q1\/webt\/bj\/wa\/cm\/bjwacmplir3lsxxso4ebdju-p0s.jpeg\" data-src=\"https:\/\/habrastorage.org\/webt\/bj\/wa\/cm\/bjwacmplir3lsxxso4ebdju-p0s.jpeg\" data-blurred=\"true\"\/><\/p>\n<p>  \u041e\u0442\u043a\u0440\u044b\u0432\u0430\u0435\u043c \u0440\u0435\u0434\u0430\u043a\u0442\u043e\u0440 \u0440\u0435\u0441\u0443\u0440\u0441\u043e\u0432 \u0438 \u0434\u043e\u0431\u0430\u0432\u043b\u044f\u0435\u043c \u043a\u043d\u043e\u043f\u043a\u0438 \u0434\u043b\u044f \u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0438 \u0438 \u0432\u044b\u0433\u0440\u0443\u0437\u043a\u0438 \u0434\u0430\u043d\u043d\u044b\u0445 \u0438\u0437 \u0411\u0414. \u0422\u0430\u043a\u0436\u0435 \u0441\u043e\u0437\u0434\u0430\u0451\u043c \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u043d\u043e\u0432\u044b\u0445 \u0443\u0432\u0435\u0434\u043e\u043c\u043b\u0435\u043d\u0438\u0439 \u2014 \u043e\u0431 \u043e\u0442\u0441\u0443\u0442\u0441\u0442\u0432\u0438\u0438 \u0434\u0430\u043d\u043d\u044b\u0445, \u043e\u0431 \u0443\u0441\u043f\u0435\u0448\u043d\u043e\u043c \u0438\u043b\u0438 \u043d\u0435\u0443\u0434\u0430\u0447\u043d\u043e\u043c \u0441\u043e\u0445\u0440\u0430\u043d\u0435\u043d\u0438\u0438, \u043e \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u0438 \u0411\u0414.<\/p>\n<p>  <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w780q1\/webt\/sn\/dq\/2-\/sndq2-nuvu6fg5zo54wvln-p5-g.jpeg\" data-src=\"https:\/\/habrastorage.org\/webt\/sn\/dq\/2-\/sndq2-nuvu6fg5zo54wvln-p5-g.jpeg\" data-blurred=\"true\"\/><\/p>\n<p>  \u0422\u0435\u043f\u0435\u0440\u044c \u043c\u043e\u0436\u043d\u043e \u0437\u0430\u043f\u0443\u0441\u0442\u0438\u0442\u044c \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0435 \u0438 \u0443\u0431\u0435\u0434\u0438\u0442\u044c\u0441\u044f, \u0447\u0442\u043e \u043f\u043e\u043a\u0430 \u0447\u0442\u043e \u0432\u0441\u0451 \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442.<br \/>  \u0418\u0442\u0430\u043a, \u0440\u0435\u0441\u0443\u0440\u0441\u043d\u044b\u0435 \u0444\u0430\u0439\u043b\u044b \u043f\u043e\u043b\u0443\u0447\u0438\u043b\u0438\u0441\u044c \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0435:<\/p>\n<div class=\"spoiler\" role=\"button\" tabindex=\"0\">                         <b class=\"spoiler_title\">Rsc.h<\/b>                         <\/p>\n<div class=\"spoiler_text\">\n<pre><code class=\"cpp\">#define NoDataAlert 1014 #define SuccessAlert 1013 #define ErrorAlert 1012 #define DbInitAlert 1011 #define GetButton 1010 #define AddButton 1009 #define MainClearTextButton 1008 #define MainDescriptionField 1007 #define MainForm 1006 #define RomIncompatibleAlert 1005 #define EditOnlyMenuBar 1003 #define MainMenuBar 1001 <\/code><\/pre>\n<p>  <\/div>\n<\/p><\/div>\n<div class=\"spoiler\" role=\"button\" tabindex=\"0\">                         <b class=\"spoiler_title\">Rsc.rcp<\/b>                         <\/p>\n<div class=\"spoiler_text\">\n<pre><code class=\"plaintext\">\/\/ test2_Rsc.rcp \/\/ \/\/ PilRC-format resources for test2 \/\/ \/\/ Generated by the CodeWarrior for Palm OS V9 application wizard  GENERATEHEADER \"test2_Rsc.h\" RESETAUTOID 1000  MENU ID MainMenuBar BEGIN     PULLDOWN \"Edit\"     BEGIN MENUITEM \"Undo\" ID 10000 \"U\" MENUITEM \"Cut\" ID 10001 \"X\" MENUITEM \"Copy\"ID 10002 \"C\" MENUITEM \"Paste\" ID 10003 \"P\" MENUITEM \"Select All\" ID 10004 \"S\" MENUITEM SEPARATOR ID 10005 MENUITEM \"Keyboard\" ID 10006 \"K\" MENUITEM \"Graffiti Help\" ID 10007 \"G\"     END   END  MENU ID EditOnlyMenuBar BEGIN     PULLDOWN \"Edit\"     BEGIN MENUITEM \"Undo\" ID 10000 \"U\" MENUITEM \"Cut\" ID 10001 \"X\" MENUITEM \"Copy\"ID 10002 \"C\" MENUITEM \"Paste\" ID 10003 \"P\" MENUITEM \"Select All\" ID 10004 \"S\" MENUITEM SEPARATOR ID 10005 MENUITEM \"Keyboard\" ID 10006 \"K\" MENUITEM \"Graffiti Help\" ID 10007 \"G\"     END END  ALERT ID RomIncompatibleAlert     DEFAULTBUTTON 0     ERROR BEGIN     TITLE \"System Incompatible\"     MESSAGE \"System Version 3.0 or greater is required to run this application.\"     BUTTONS \"OK\" END  FORM ID MainForm AT (0 0 160 160) NOSAVEBEHIND NOFRAME MENUID MainMenuBar BEGIN TITLE \"test2\"     GRAFFITISTATEINDICATOR AT (149 148) FIELD ID MainDescriptionField AT (0 16 160 126) MULTIPLELINES EDITABLE UNDERLINED MAXCHARS 1024 BUTTON \"Clear Text\" ID MainClearTextButton AT (1 147 AUTO 12) BUTTON \"Add\" ID AddButton  AT (73 144 32 12) BUTTON \"Get\" ID GetButton   AT (113 144 32 12) END  ICONFAMILYEX BEGIN     BITMAP \"icon-lg-1.bmp\" BPP 1      BITMAP \"icon-lg-2.bmp\" BPP 2      BITMAP \"icon-lg-8.bmp\" BPP 8 TRANSPARENTINDEX 210 COMPRESS     BITMAP \"icon-lg-1-d144.bmp\" BPP 1 DENSITY 2     BITMAP \"icon-lg-2-d144.bmp\" BPP 2 DENSITY 2     BITMAP \"icon-lg-8-d144.bmp\" BPP 8 TRANSPARENTINDEX 210 COMPRESS DENSITY 2 END  SMALLICONFAMILYEX BEGIN     BITMAP \"icon-sm-1.bmp\"  BPP 1     BITMAP \"icon-sm-2.bmp\"  BPP 2     BITMAP \"icon-sm-8.bmp\"  BPP 8 TRANSPARENTINDEX 210 COMPRESS     BITMAP \"icon-sm-1-d144.bmp\" BPP 1 DENSITY 2     BITMAP \"icon-sm-2-d144.bmp\" BPP 2 DENSITY 2     BITMAP \"icon-sm-8-d144.bmp\" BPP 8 TRANSPARENTINDEX 210 COMPRESS DENSITY 2  END   ALERT ID DbInitAlert  WARNING BEGIN      TITLE \"DB init\"      MESSAGE \"DB does not exist... creating\"      BUTTONS \"OK\"  END  ALERT ID ErrorAlert  ERROR BEGIN      TITLE \"Error\"      MESSAGE \"something went wrong...\"      BUTTONS \"OK\" \"Cancel\" END  ALERT ID SuccessAlert  ERROR BEGIN      TITLE \"DB write\"      MESSAGE \"Succesfully saved\"      BUTTONS \"OK\"  END  ALERT ID NoDataAlert  ERROR BEGIN      TITLE \"Empty database\"      MESSAGE \"No data\"      BUTTONS \"OK\"  END<\/code><\/pre>\n<p>  <\/div>\n<\/p><\/div>\n<p>  \u0418\u043c\u0435\u043d\u043d\u043e \u0442\u0443\u0442 \u0441\u043e\u0434\u0435\u0440\u0436\u0430\u0442\u0441\u044f \u0432\u0441\u0435 \u0433\u0440\u0430\u0444\u0438\u0447\u0435\u0441\u043a\u0438\u0435 \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u044b \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u044b, \u0442\u043e\u0447\u043d\u0435\u0435, \u0438\u0445 \u043e\u043f\u0438\u0441\u0430\u043d\u0438\u0435.<\/p>\n<h2><font color=\"#1c22be\">\u276f<\/font> <font color=\"#454cee\">\u0421\u043e\u0437\u0434\u0430\u0451\u043c \u0431\u0430\u0437\u0443 \u0434\u0430\u043d\u043d\u044b\u0445<\/font><\/h2>\n<p>  \u0422\u0435\u043f\u0435\u0440\u044c \u043e\u0447\u0435\u0440\u0435\u0434\u044c \u0441\u0430\u043c\u043e\u0433\u043e \u0445\u0440\u0430\u043d\u0438\u043b\u0438\u0449\u0430. \u0418, \u043f\u043e\u043d\u044f\u0442\u043d\u043e\u0435 \u0434\u0435\u043b\u043e, \u0431\u0430\u0437\u0443 \u0434\u0430\u043d\u043d\u044b\u0445 \u043d\u0430\u0434\u043e \u0434\u043b\u044f \u043d\u0430\u0447\u0430\u043b\u0430 \u0441\u043e\u0437\u0434\u0430\u0442\u044c. <br \/>  \u0414\u043b\u044f \u044d\u0442\u043e\u0433\u043e \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u0435\u0442 \u0444\u0443\u043d\u043a\u0446\u0438\u044f <i>DmCreateDatabase<\/i>, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f \u043f\u0440\u0438\u043c\u0435\u0440\u043d\u043e \u0442\u0430\u043a:<\/p>\n<pre><code class=\"cpp\">const char * myDBName = \"myTestDB\"; error = DmCreateDatabase(0, myDBName, 'TEST', 'DATA', false); if (error) return error;<\/code><\/pre>\n<p>  \u041f\u0435\u0440\u0432\u044b\u0439 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440 \u044d\u0442\u043e\u0439 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 \u2014 \u043d\u043e\u043c\u0435\u0440 \u043a\u0430\u0440\u0442\u044b \u043f\u0430\u043c\u044f\u0442\u0438, \u0433\u0434\u0435 \u0445\u0440\u0430\u043d\u0438\u0442\u044c \u044d\u0442\u0443 \u0441\u0430\u043c\u0443\u044e \u0431\u0430\u0437\u0443 (\u0443 \u041a\u041f\u041a \u0431\u0435\u0437 \u0441\u044a\u0451\u043c\u043d\u044b\u0445 \u043d\u043e\u0441\u0438\u0442\u0435\u043b\u0435\u0439 \u0432\u0441\u0435\u0433\u0434\u0430 0), \u043d\u0430\u0437\u0432\u0430\u043d\u0438\u0435 \u0431\u0430\u0437\u044b (\u043e\u0431\u044b\u0447\u043d\u0430\u044f \u0441\u0442\u0440\u043e\u043a\u0430), Creator ID (\u0447\u0435\u0442\u044b\u0440\u0451\u0445\u0431\u0430\u0439\u0442\u043d\u044b\u0439 \u043a\u043e\u0434 \u0441\u043e\u0437\u0434\u0430\u0442\u0435\u043b\u044f \u0431\u0430\u0437\u044b, \u0442\u0435\u043f\u0435\u0440\u044c, \u043a\u043e\u0433\u0434\u0430 \u043a\u043e\u043c\u043c\u0435\u0440\u0447\u0435\u0441\u043a\u0438\u0435 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f \u043f\u043e\u0434 \u043f\u0430\u043b\u044c\u043c\u0443 \u043d\u0435 \u0432\u044b\u043f\u0443\u0441\u043a\u0430\u044e\u0442\u0441\u044f, \u043c\u043e\u0436\u043d\u043e \u0443\u043a\u0430\u0437\u0430\u0442\u044c \u043b\u044e\u0431\u043e\u0439, \u0433\u043b\u0430\u0432\u043d\u043e\u0435, \u0447\u0442\u043e\u0431\u044b \u043e\u043d \u043d\u0435 \u043a\u043e\u043d\u0444\u043b\u0438\u043a\u0442\u043e\u0432\u0430\u043b \u0441 \u043a\u0430\u043a\u0438\u043c-\u043b\u0438\u0431\u043e \u0434\u0440\u0443\u0433\u0438\u043c \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0435\u043c), \u0442\u0438\u043f \u0431\u0430\u0437\u044b (&#8216;DATA&#8217;) \u0438 \u0444\u043b\u0430\u0433 \u0440\u0435\u0441\u0443\u0440\u0441\u043d\u043e\u0439 \u0431\u0430\u0437\u044b (\u0432 \u0434\u0430\u043d\u043d\u043e\u043c \u0441\u043b\u0443\u0447\u0430\u0435 \u0432\u044b\u043a\u043b\u044e\u0447\u0435\u043d\u043d\u044b\u0439).<\/p>\n<p>  \u041f\u043e\u0441\u043b\u0435 \u0432\u044b\u0437\u043e\u0432\u0430 \u044d\u0442\u043e\u0439 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 \u0431\u0443\u0434\u0435\u0442 \u0441\u043e\u0437\u0434\u0430\u043d\u0430 \u043f\u0443\u0441\u0442\u0430\u044f \u0411\u0414 \u0441 \u0442\u0430\u043a\u0438\u043c\u0438 \u0430\u0442\u0440\u0438\u0431\u0443\u0442\u0430\u043c\u0438.<\/p>\n<p>  \u041d\u043e \u0434\u0435\u043b\u0430\u0442\u044c \u044d\u0442\u043e \u043d\u0430\u0434\u043e \u0442\u043e\u043b\u044c\u043a\u043e \u0435\u0434\u0438\u043d\u043e\u0436\u0434\u044b, \u0435\u0441\u043b\u0438 \u043f\u043e\u043f\u0440\u043e\u0431\u043e\u0432\u0430\u0442\u044c \u0441\u043e\u0437\u0434\u0430\u0442\u044c \u043e\u0434\u043d\u0443 \u0438 \u0442\u0443 \u0436\u0435 \u0411\u0414 \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0440\u0430\u0437, \u043f\u0440\u043e\u0438\u0437\u043e\u0439\u0434\u0451\u0442 Fatal Exception. \u041f\u043e\u044d\u0442\u043e\u043c\u0443 \u043f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u044b\u043c \u0432\u0430\u0440\u0438\u0430\u043d\u0442\u043e\u043c \u0431\u0443\u0434\u0435\u0442 \u043f\u044b\u0442\u0430\u0442\u044c\u0441\u044f \u043e\u0442\u043a\u0440\u044b\u0442\u044c \u043d\u0443\u0436\u043d\u0443\u044e \u0431\u0430\u0437\u0443, \u0430 \u0435\u0441\u043b\u0438 \u043e\u043d\u0430 \u043d\u0435 \u043e\u0442\u043a\u0440\u044b\u0432\u0430\u0435\u0442\u0441\u044f, \u0442\u043e \u043f\u0440\u043e\u0431\u043e\u0432\u0430\u0442\u044c \u0435\u0451 \u0441\u043e\u0437\u0434\u0430\u0442\u044c.<\/p>\n<p>  \u0414\u0435\u043b\u0430\u0435\u0442\u0441\u044f \u044d\u0442\u043e \u0442\u0430\u043a:<\/p>\n<pre><code class=\"cpp\">static Err checkAndCreateDatabase(void) { DmOpenRef myDBPointer = 0; Err error; myDBPointer = DmOpenDatabaseByTypeCreator('DATA', 'TEST', dmModeReadWrite); if (!myDBPointer) { FrmAlert(DbInitAlert); error = DmCreateDatabase(0, myDBName, 'TEST', 'DATA', false); if (error) return error; myDBPointer = DmOpenDatabaseByTypeCreator('DATA', 'TEST', dmModeReadWrite); if (!myDBPointer) { return DmGetLastErr(); } } DmCloseDatabase(myDBPointer); return error; }<\/code><\/pre>\n<p>  \u0414\u043b\u044f \u043d\u0430\u0447\u0430\u043b\u0430 \u043c\u044b \u043f\u0440\u043e\u0441\u0442\u043e \u043f\u044b\u0442\u0430\u0435\u043c\u0441\u044f \u043e\u0442\u043a\u0440\u044b\u0442\u044c \u043d\u0430\u0448\u0443 \u0431\u0430\u0437\u0443. \u0424\u0443\u043d\u043a\u0446\u0438\u044f <i>DmOperDatabaseByTypeCreator<\/i> \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u0442 \u0443\u043a\u0430\u0437\u0430\u0442\u0435\u043b\u044c \u043d\u0430 \u043e\u0442\u043a\u0440\u044b\u0442\u0443\u044e \u0431\u0430\u0437\u0443. \u0415\u0441\u043b\u0438 \u043e\u043d \u043d\u0443\u043b\u0435\u0432\u043e\u0439, \u0437\u043d\u0430\u0447\u0438\u0442, \u0431\u0430\u0437\u0430 \u043d\u0435 \u043e\u0442\u043a\u0440\u044b\u043b\u0430\u0441\u044c. \u0412 \u044d\u0442\u043e\u043c \u0441\u043b\u0443\u0447\u0430\u0435 \u043f\u044b\u0442\u0430\u0435\u043c\u0441\u044f \u0435\u0451 \u0441\u043e\u0437\u0434\u0430\u0442\u044c. \u0415\u0441\u043b\u0438 \u0436\u0435 \u043e\u043d\u0430 \u043d\u0435 \u0441\u043e\u0437\u0434\u0430\u0451\u0442\u0441\u044f, \u0442\u043e \u0444\u0443\u043d\u043a\u0446\u0438\u044f \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u0442 \u043e\u0448\u0438\u0431\u043a\u0443.<\/p>\n<p>  <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w780q1\/webt\/kk\/vh\/ej\/kkvhejzylz2q6i1notgxeftagfa.jpeg\" data-src=\"https:\/\/habrastorage.org\/webt\/kk\/vh\/ej\/kkvhejzylz2q6i1notgxeftagfa.jpeg\" data-blurred=\"true\"\/><\/p>\n<p>  \u041f\u043e\u0441\u043b\u0435 \u0442\u043e\u0433\u043e, \u043a\u0430\u043a \u0431\u0430\u0437\u0430 \u0431\u044b\u043b\u0430 \u0441\u043e\u0437\u0434\u0430\u043d\u0430 (\u0438\u043b\u0438 \u0436\u0435 \u043c\u044b \u043f\u0440\u043e\u0441\u0442\u043e \u0443\u0431\u0435\u0434\u0438\u043b\u0438\u0441\u044c \u0432 \u0435\u0451 \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u043e\u0432\u0430\u043d\u0438\u0438), \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u0437\u0430\u0432\u0435\u0440\u0448\u0438\u0442\u044c \u0441\u043e\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u0435. <\/p>\n<h2><font color=\"#1c22be\">\u276f<\/font> <font color=\"#454cee\">\u0417\u0430\u043f\u0438\u0441\u044b\u0432\u0430\u0435\u043c \u0434\u0430\u043d\u043d\u044b\u0435<\/font><\/h2>\n<p>  \u041d\u0443 \u0447\u0442\u043e \u0436\u0435, \u0432\u0440\u0435\u043c\u044f \u043f\u043e\u043f\u0440\u043e\u0431\u043e\u0432\u0430\u0442\u044c \u0447\u0442\u043e-\u0442\u043e \u0437\u0430\u043f\u0438\u0441\u0430\u0442\u044c.<\/p>\n<p>  \u0414\u043b\u044f \u043d\u0430\u0447\u0430\u043b\u0430 \u0440\u0430\u0437\u0431\u0435\u0440\u0451\u043c\u0441\u044f, \u043e\u0442\u043a\u0443\u0434\u0430 \u0431\u0443\u0434\u0435\u043c \u0447\u0442\u043e-\u0442\u043e \u0441\u0447\u0438\u0442\u044b\u0432\u0430\u0442\u044c. \u0412 \u043f\u0440\u0438\u043c\u0435\u0440\u0435 \u0435\u0441\u0442\u044c \u0442\u0435\u043a\u0441\u0442\u043e\u0432\u043e\u0435 \u043f\u043e\u043b\u0435, \u0442\u0430\u043a \u0447\u0442\u043e \u0431\u0443\u0434\u0435\u043c \u0431\u0440\u0430\u0442\u044c \u044d\u0442\u043e\u0442 \u0441\u0430\u043c\u044b\u0439 \u0442\u0435\u043a\u0441\u0442 \u0438\u0437 \u043d\u0435\u0433\u043e. \u0414\u0435\u043b\u0430\u0435\u0442\u0441\u044f \u044d\u0442\u043e \u0442\u0430\u043a:<\/p>\n<pre><code class=\"cpp\">char * tstdata = \"\"; FieldType * field = (FieldType*)GetObjectPtr(MainDescriptionField); if (field){ tstdata = FldGetTextPtr(field); }<\/code><\/pre>\n<p>  \u0418\u0442\u0430\u043a, \u0434\u043b\u044f \u043d\u0430\u0447\u0430\u043b\u0430 \u043d\u0430\u0434\u043e \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c \u0443\u043a\u0430\u0437\u0430\u0442\u0435\u043b\u044c \u043d\u0430 \u044d\u0442\u043e \u043f\u043e\u043b\u0435 \u043f\u043e \u0435\u0433\u043e ID (\u0443\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442\u0441\u044f \u0432 \u043a\u043e\u043d\u0441\u0442\u0440\u0443\u043a\u0442\u043e\u0440\u0435 \u0440\u0435\u0441\u0443\u0440\u0441\u043e\u0432 \u0438\u043b\u0438 \u043f\u0440\u043e\u043f\u0438\u0441\u044b\u0432\u0430\u0435\u0442\u0441\u044f \u0432 *_Rsc.h-\u0444\u0430\u0439\u043b\u0435). \u0414\u0430\u043b\u0435\u0435 \u043e\u0441\u0442\u0430\u0451\u0442\u0441\u044f \u0442\u043e\u043b\u044c\u043a\u043e \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c \u0443\u043a\u0430\u0437\u0430\u0442\u0435\u043b\u044c \u043d\u0430 \u0442\u0435\u043a\u0441\u0442.<\/p>\n<p>  \u0424\u0443\u043d\u043a\u0446\u0438\u0438 GetObjectPtr \u0432 \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u043d\u043e\u0439 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0435 \u043d\u0435\u0442, \u043d\u043e \u043e\u043d\u0430 \u0441\u043e\u0437\u0434\u0430\u0451\u0442\u0441\u044f \u043f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e \u0432 \u0444\u0430\u0439\u043b\u0435 \u0441 \u043a\u043e\u0434\u043e\u043c \u0443 \u043d\u043e\u0432\u043e\u0433\u043e \u043f\u0440\u043e\u0435\u043a\u0442\u0430. \u0412\u044b\u0433\u043b\u044f\u0434\u0438\u0442 \u043e\u043d\u0430 \u0442\u0430\u043a:<\/p>\n<pre><code class=\"cpp\">static void * GetObjectPtr(UInt16 objectID) { FormType * frmP;  frmP = FrmGetActiveForm(); return FrmGetObjectPtr(frmP, FrmGetObjectIndex(frmP, objectID)); }<\/code><\/pre>\n<p>  \u0414\u0435\u043b\u043e \u0432 \u0442\u043e\u043c, \u0447\u0442\u043e \u043d\u0435\u043b\u044c\u0437\u044f \u043f\u0440\u043e\u0441\u0442\u043e \u0442\u0430\u043a \u0432\u0437\u044f\u0442\u044c \u0438 \u043e\u0431\u0440\u0430\u0442\u0438\u0442\u044c\u0441\u044f \u043a \u043a\u0430\u043a\u043e\u043c\u0443-\u0442\u043e \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u0443, \u043d\u0435\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u0435\u0449\u0451 \u0438 \u0438\u043c\u0435\u0442\u044c \u0443\u043a\u0430\u0437\u0430\u0442\u0435\u043b\u044c \u043d\u0430 \u0444\u043e\u0440\u043c\u0443, \u043d\u0430 \u043a\u043e\u0442\u043e\u0440\u043e\u0439 \u043e\u043d \u0440\u0430\u0441\u043f\u043e\u043b\u043e\u0436\u0435\u043d. \u042d\u0442\u0430 \u0436\u0435 \u0444\u0443\u043d\u043a\u0446\u0438\u044f \u043f\u043e\u043b\u0443\u0447\u0430\u0435\u0442 \u043d\u0443\u0436\u043d\u044b\u0439 \u0443\u043a\u0430\u0437\u0430\u0442\u0435\u043b\u044c \u043f\u0440\u043e\u0441\u0442\u043e \u043f\u043e ID \u043e\u0431\u044a\u0435\u043a\u0442\u0430. <\/p>\n<p>  \u0421 \u0434\u0430\u043d\u043d\u044b\u043c\u0438 \u0440\u0430\u0437\u043e\u0431\u0440\u0430\u043b\u0438\u0441\u044c. \u0422\u0435\u043f\u0435\u0440\u044c \u043e\u0447\u0435\u0440\u0435\u0434\u044c \u0441\u043e\u0445\u0440\u0430\u043d\u0435\u043d\u0438\u044f.<\/p>\n<p>  \u0412 \u0434\u0430\u043d\u043d\u043e\u043c \u043f\u0440\u0438\u043c\u0435\u0440\u0435 \u044f \u043d\u0435 \u0431\u0443\u0434\u0443 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0437\u0430\u043f\u0438\u0441\u0435\u0439, \u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0438\u043c\u0441\u044f \u0432\u0441\u0435\u0433\u043e \u043b\u0438\u0448\u044c \u043e\u0434\u043d\u043e\u0439. \u0412\u043f\u0440\u043e\u0447\u0435\u043c, \u0434\u043b\u044f \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u0438\u0445 \u044d\u0442\u043e\u0442 \u043f\u0440\u0438\u043d\u0446\u0438\u043f \u043e\u0442\u043b\u0438\u0447\u0430\u0435\u0442\u0441\u044f \u043d\u0435 \u043e\u0441\u043e\u0431\u043e.<\/p>\n<p>  \u0418\u0442\u0430\u043a, \u0434\u043b\u044f \u043d\u0430\u0447\u0430\u043b\u0430 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u0441\u043e\u0437\u0434\u0430\u0442\u044c \u043d\u043e\u0432\u0443\u044e \u0437\u0430\u043f\u0438\u0441\u044c. \u0414\u0435\u043b\u0430\u0435\u0442\u0441\u044f \u044d\u0442\u043e \u0444\u0443\u043d\u043a\u0446\u0438\u0435\u0439 <i>DmNewRecord<\/i>:<\/p>\n<pre><code class=\"cpp\">UInt16 recIndex = dmMaxRecordIndex; MemHandle recH; recH = DmNewRecord(myDBPointer, &amp;recIndex, StrLen(data));<\/code><\/pre>\n<p>  \u041f\u0435\u0440\u0432\u044b\u0439 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440 \u044d\u0442\u043e\u0439 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 \u2014 \u0443\u043a\u0430\u0437\u0430\u0442\u0435\u043b\u044c \u043d\u0430 \u043e\u0442\u043a\u0440\u044b\u0442\u0443\u044e \u0431\u0430\u0437\u0443 \u0434\u0430\u043d\u043d\u044b\u0445, \u0432\u0442\u043e\u0440\u043e\u0439 \u2014 \u0438\u043d\u0434\u0435\u043a\u0441 (\u043d\u043e\u043c\u0435\u0440 \u044d\u0442\u043e\u0439 \u0437\u0430\u043f\u0438\u0441\u0438 \u0432 \u0431\u0430\u0437\u0435, \u043b\u0435\u0436\u0430\u0449\u0438\u0439, \u043a\u0430\u043a \u043d\u0435\u0442\u0440\u0443\u0434\u043d\u043e \u0434\u043e\u0433\u0430\u0434\u0430\u0442\u044c\u0441\u044f, \u0432 \u0434\u0438\u0430\u043f\u0430\u0437\u043e\u043d\u0435 \u043e\u0442 0 \u0434\u043e 32767), \u0442\u0440\u0435\u0442\u0438\u0439 \u2014 \u0440\u0430\u0437\u043c\u0435\u0440 \u044d\u0442\u043e\u0439 \u0441\u0430\u043c\u043e\u0439 \u0437\u0430\u043f\u0438\u0441\u0438. <i>dmMaxRecordIndex<\/i> \u2014 \u043e\u0441\u043e\u0431\u0430\u044f \u043a\u043e\u043d\u0441\u0442\u0430\u043d\u0442\u0430, \u0441\u043b\u0443\u0436\u0430\u0449\u0430\u044f \u0434\u043b\u044f \u0443\u043a\u0430\u0437\u0430\u043d\u0438\u044f, \u0447\u0442\u043e \u043f\u0438\u0441\u0430\u0442\u044c \u043d\u0430\u0434\u043e \u0432 \u043a\u043e\u043d\u0435\u0446 \u0431\u0430\u0437\u044b. \u0412 \u0434\u0430\u043d\u043d\u043e\u043c \u043f\u0440\u0438\u043c\u0435\u0440\u0435 \u0437\u0430\u043f\u0438\u0441\u044b\u0432\u0430\u0442\u044c \u0431\u0443\u0434\u0435\u043c \u0442\u0435\u043a\u0441\u0442, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u0432 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435 \u0440\u0430\u0437\u043c\u0435\u0440\u0430 \u0443\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u043c \u0434\u043b\u0438\u043d\u0443 \u0441\u0442\u0440\u043e\u043a\u0438. \u0415\u0441\u043b\u0438 \u0436\u0435 \u043f\u0440\u0435\u0434\u043f\u043e\u043b\u0430\u0433\u0430\u0435\u0442\u0441\u044f \u043f\u0438\u0441\u0430\u0442\u044c \u043a\u0430\u043a\u0438\u0435-\u0442\u043e \u0434\u0440\u0443\u0433\u0438\u0435 \u0434\u0430\u043d\u043d\u044b\u0435, \u0442\u043e \u043f\u0440\u043e\u0449\u0435 \u0432\u0441\u0435\u0433\u043e \u0431\u0443\u0434\u0435\u0442 \u0437\u0430\u043f\u0438\u0445\u043d\u0443\u0442\u044c \u0438\u0445 \u0432 \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0443, \u0430 \u0437\u0430\u0442\u0435\u043c \u0441\u043e\u0445\u0440\u0430\u043d\u044f\u0442\u044c \u0443\u0436\u0435 \u0435\u0451.<\/p>\n<p>  \u0414\u0430\u043b\u0435\u0435 \u043d\u0430\u0434\u043e \u0437\u0430\u0431\u043b\u043e\u043a\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u044d\u0442\u043e\u0442 \u0443\u0447\u0430\u0441\u0442\u043e\u043a \u043f\u0430\u043c\u044f\u0442\u0438 \u0438 \u0437\u0430\u043f\u0438\u0441\u0430\u0442\u044c \u0441\u0432\u043e\u0438 \u0434\u0430\u043d\u043d\u044b\u0435, \u043f\u043e\u0441\u043b\u0435 \u0447\u0435\u0433\u043e \u0440\u0430\u0437\u0431\u043b\u043e\u043a\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0435\u0433\u043e \u043e\u0431\u0440\u0430\u0442\u043d\u043e:<\/p>\n<pre><code class=\"cpp\">if (recH) { recP = MemHandleLock(recH); DmWrite(recP, 0, data, StrLen(data)); error = DmReleaseRecord(myDBPointer, recIndex, true); MemHandleUnlock(recH); }<\/code><\/pre>\n<p>  \u0422\u0430\u043a \u043a\u0430\u043a \u044d\u0442\u043e \u0435\u0434\u0438\u043d\u0441\u0442\u0432\u0435\u043d\u043d\u0430\u044f \u0437\u0430\u043f\u0438\u0441\u044c \u0432 \u0431\u0430\u0437\u0435, \u0441\u043e\u0445\u0440\u0430\u043d\u044f\u0442\u044c \u0431\u0443\u0434\u0435\u043c \u043f\u043e \u043d\u0443\u043b\u0435\u0432\u043e\u043c\u0443 \u0438\u043d\u0434\u0435\u043a\u0441\u0443. <\/p>\n<p>  <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w780q1\/webt\/mw\/ql\/wj\/mwqlwjgngjqg3muebruleoz2rec.jpeg\" data-src=\"https:\/\/habrastorage.org\/webt\/mw\/ql\/wj\/mwqlwjgngjqg3muebruleoz2rec.jpeg\" data-blurred=\"true\"\/><\/p>\n<p>  \u041d\u0443\u0436\u043d\u043e \u043e\u0431\u044f\u0437\u0430\u0442\u0435\u043b\u044c\u043d\u043e \u043f\u0440\u043e\u0432\u0435\u0440\u044f\u0442\u044c, \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u043b\u0438 \u0437\u0430\u043f\u0438\u0441\u044c \u043e\u0442\u043a\u0440\u044b\u043b\u0430\u0441\u044c, \u0432 \u043f\u0440\u043e\u0442\u0438\u0432\u043d\u043e\u043c \u0441\u043b\u0443\u0447\u0430\u0435 \u043f\u043e\u043f\u044b\u0442\u043a\u0430 \u0447\u0442\u043e-\u043b\u0438\u0431\u043e \u0442\u0443\u0434\u0430 \u0437\u0430\u043f\u0438\u0441\u0430\u0442\u044c \u043f\u0440\u0438\u0432\u0435\u0434\u0451\u0442 \u043a \u043f\u043e\u044f\u0432\u043b\u0435\u043d\u0438\u044e Fatal Exception.<\/p>\n<p>  \u041d\u043e, \u0440\u0430\u0437\u0443\u043c\u0435\u0435\u0442\u0441\u044f, \u0435\u0441\u043b\u0438 \u0437\u0430\u043f\u0438\u0441\u044c \u0443\u0436\u0435 \u0435\u0441\u0442\u044c, \u0442\u043e \u0441\u043e\u0437\u0434\u0430\u0432\u0430\u0442\u044c \u0435\u0451 \u043d\u0435 \u043d\u0430\u0434\u043e, \u0442\u0430\u043a \u0447\u0442\u043e \u043d\u0443\u0436\u043d\u043e \u0434\u043e\u0431\u0430\u0432\u0438\u0442\u044c \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0443 \u0438 \u0442\u0443\u0442:<\/p>\n<pre><code class=\"cpp\">if(DmNumRecords(myDBPointer) == 0) { recH = DmNewRecord(myDBPointer, &amp;recIndex, StrLen(data)); if (recH) { recP = MemHandleLock(recH); DmWrite(recP, 0, data, StrLen(data)); error = DmReleaseRecord(myDBPointer, recIndex, true); MemHandleUnlock(recH); } } else { UInt16 newSize = StrLen(data); recH = DmResizeRecord(myDBPointer, 0, newSize); if (recH) { recP = MemHandleLock(recH); DmWrite(recP, 0, data, StrLen(data)); DmReleaseRecord(myDBPointer, 0, true); MemHandleUnlock(recH); } }<\/code><\/pre>\n<p>  \u0414\u043b\u044f \u043d\u0430\u0447\u0430\u043b\u0430 \u043f\u043e\u043b\u0443\u0447\u0430\u0435\u043c \u0447\u0438\u0441\u043b\u043e \u0437\u0430\u043f\u0438\u0441\u0435\u0439 \u0432 \u0431\u0430\u0437\u0435. \u0415\u0441\u043b\u0438 \u0442\u0430\u043c \u043d\u0438\u0447\u0435\u0433\u043e \u043d\u0435\u0442, \u0437\u043d\u0430\u0447\u0438\u0442, \u043d\u0430\u0434\u043e \u0441\u043e\u0437\u0434\u0430\u0442\u044c \u043d\u043e\u0432\u0443\u044e \u0438 \u0437\u0430\u043a\u0438\u043d\u0443\u0442\u044c \u0434\u0430\u043d\u043d\u044b\u0435 \u0442\u0443\u0434\u0430. \u0415\u0441\u043b\u0438 \u0436\u0435 \u0437\u0430\u043f\u0438\u0441\u044c \u0443\u0436\u0435 \u0435\u0441\u0442\u044c, \u0442\u043e \u043f\u043e\u0434\u0433\u043e\u043d\u044f\u0435\u043c \u0435\u0451 \u043f\u043e\u0434 \u0440\u0430\u0437\u043c\u0435\u0440 \u043d\u043e\u0432\u044b\u0445 \u0434\u0430\u043d\u043d\u044b\u0445 \u0438 \u0441\u043e\u0445\u0440\u0430\u043d\u044f\u0435\u043c \u0438\u0445 \u0442\u0443\u0434\u0430. <\/p>\n<p>  \u0412\u0441\u044f \u0444\u0443\u043d\u043a\u0446\u0438\u044f \u0434\u043b\u044f \u0437\u0430\u043f\u0438\u0441\u0438 \u0432 \u0438\u0442\u043e\u0433\u0435 \u043f\u043e\u043b\u0443\u0447\u0438\u043b\u0430\u0441\u044c \u0432\u043e\u0442 \u0442\u0430\u043a\u0430\u044f:<\/p>\n<pre><code class=\"cpp\">static Err putIntoDatabase(char * data) { DmOpenRef myDBPointer = 0; Err error = errNone; UInt16 recIndex = dmMaxRecordIndex; MemHandle recH; MemPtr recP;  myDBPointer = DmOpenDatabaseByTypeCreator('DATA', 'TEST', dmModeReadWrite); if(DmNumRecords(myDBPointer) == 0) { recH = DmNewRecord(myDBPointer, &amp;recIndex, StrLen(data)); if (recH) { recP = MemHandleLock(recH); DmWrite(recP, 0, data, StrLen(data)); error = DmReleaseRecord(myDBPointer, recIndex, true); MemHandleUnlock(recH); } } else { UInt16 newSize = StrLen(data); recH = DmResizeRecord(myDBPointer, 0, newSize); if (recH) { recP = MemHandleLock(recH); DmWrite(recP, 0, data, StrLen(data)); DmReleaseRecord(myDBPointer, 0, true); MemHandleUnlock(recH); } } error = DmCloseDatabase(myDBPointer); return error; }<\/code><\/pre>\n<p>  \u0410 \u0432\u043e\u0442 \u0442\u0430\u043a \u043e\u043d\u0430 \u0432\u044b\u0437\u044b\u0432\u0430\u0435\u0442\u0441\u044f \u0432 \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u0435 \u0441\u043e\u0431\u044b\u0442\u0438\u0439 \u043e\u0442 \u0433\u043b\u0430\u0432\u043d\u043e\u0439 \u0444\u043e\u0440\u043c\u044b:<\/p>\n<pre><code class=\"cpp\">if (eventP->data.ctlSelect.controlID == AddButton) { FieldType * field = (FieldType*)GetObjectPtr(MainDescriptionField); if (field) { tstdata = FldGetTextPtr(field); error = putIntoDatabase(tstdata); if(error != errNone) { FrmAlert(ErrorAlert); FrmCloseAllForms(); } FrmAlert(SuccessAlert); } }<\/code><\/pre>\n<p>  \u0422\u0443\u0442 \u043c\u044b \u043e\u0442\u043f\u0440\u0430\u0432\u043b\u044f\u0435\u043c \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u043d\u044b\u0439 \u0442\u0435\u043a\u0441\u0442 \u0434\u043b\u044f \u0437\u0430\u043f\u0438\u0441\u0438 \u0432 \u0431\u0430\u0437\u0443 \u0438 \u0432\u044b\u0434\u0430\u0451\u043c \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0443\u044e\u0449\u0438\u0439 alert \u043f\u0440\u0438 \u0443\u0441\u043f\u0435\u0448\u043d\u043e\u043c \u0441\u043e\u0445\u0440\u0430\u043d\u0435\u043d\u0438\u0438. <\/p>\n<p>  <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w780q1\/webt\/6h\/ti\/ig\/6htiiguogqv47dwowoi1jr3quo0.jpeg\" data-src=\"https:\/\/habrastorage.org\/webt\/6h\/ti\/ig\/6htiiguogqv47dwowoi1jr3quo0.jpeg\" data-blurred=\"true\"\/><\/p>\n<p>  \u0412 \u0440\u0430\u0431\u043e\u0442\u0435 \u044d\u0442\u043e \u0432\u044b\u0433\u043b\u044f\u0434\u0438\u0442 \u043f\u0440\u0438\u043c\u0435\u0440\u043d\u043e \u0442\u0430\u043a.<\/p>\n<h2><font color=\"#1c22be\">\u276f<\/font> <font color=\"#454cee\">\u0427\u0442\u0435\u043d\u0438\u0435 \u0438\u0437 \u0431\u0430\u0437\u044b<\/font><\/h2>\n<p>  \u0421 \u0437\u0430\u043f\u0438\u0441\u044c\u044e \u0440\u0430\u0437\u043e\u0431\u0440\u0430\u043b\u0438\u0441\u044c. \u0422\u0435\u043f\u0435\u0440\u044c \u043f\u0440\u043e\u0431\u0443\u0435\u043c \u043f\u0440\u043e\u0447\u0438\u0442\u0430\u0442\u044c \u043d\u0430\u0448\u0438 \u0434\u0430\u043d\u043d\u044b\u0435.<\/p>\n<p>  <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w780q1\/webt\/od\/qr\/3w\/odqr3wwa_axrxaul0vulcj7koqk.jpeg\" data-src=\"https:\/\/habrastorage.org\/webt\/od\/qr\/3w\/odqr3wwa_axrxaul0vulcj7koqk.jpeg\" data-blurred=\"true\"\/><\/p>\n<p>  \u0414\u043b\u044f \u043d\u0430\u0447\u0430\u043b\u0430 \u0443\u0431\u0435\u0434\u0438\u043c\u0441\u044f, \u0447\u0442\u043e \u043e\u043d\u0438 \u0442\u0430\u043c \u0432\u043e\u043e\u0431\u0449\u0435 \u0435\u0441\u0442\u044c:<\/p>\n<pre><code class=\"cpp\"> if(DmNumRecords(myDBPointer) == 0) {  FrmAlert(NoDataAlert); DmCloseDatabase(myDBPointer);  return errNone;  }<\/code><\/pre>\n<p>  \u0412\u043e\u0442 \u0442\u0443\u0442 \u0441\u0442\u043e\u0438\u0442 \u0443\u043f\u043e\u043c\u044f\u043d\u0443\u0442\u044c \u043e \u0442\u043e\u043c, \u043a\u0430\u043a \u0443\u0441\u0442\u0440\u043e\u0435\u043d\u0430 \u043a\u0430\u0436\u0434\u0430\u044f \u0437\u0430\u043f\u0438\u0441\u044c. \u041f\u043e\u043c\u0438\u043c\u043e \u0441\u0430\u043c\u0438\u0445 \u0434\u0430\u043d\u043d\u044b\u0445 \u043e\u043d\u0430 \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u0442 \u0432 \u0441\u0435\u0431\u0435 \u0437\u0430\u0433\u043e\u043b\u043e\u0432\u043e\u043a \u0438\u0437 \u0447\u0435\u0442\u044b\u0440\u0451\u0445 \u0431\u0430\u0439\u0442, \u0442\u0440\u0438 \u0431\u0430\u0439\u0442\u0430 \u0438\u0437 \u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u2014 ID \u0437\u0430\u043f\u0438\u0441\u0438 (\u044d\u0442\u043e \u043d\u0435 \u0438\u043d\u0434\u0435\u043a\u0441), \u0430 \u0435\u0449\u0451 \u043e\u0434\u0438\u043d \u2014 \u0430\u0442\u0440\u0438\u0431\u0443\u0442\u044b. \u0427\u0435\u0442\u044b\u0440\u0435 \u0431\u0438\u0442\u0430 \u0432 \u043d\u0451\u043c \u2014 \u043d\u043e\u043c\u0435\u0440 \u043a\u0430\u0442\u0435\u0433\u043e\u0440\u0438\u0438, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0442\u043e\u0436\u0435 \u043c\u043e\u0436\u043d\u043e \u0437\u0430\u0434\u0430\u0432\u0430\u0442\u044c, \u0430 \u0435\u0449\u0451 \u0447\u0435\u0442\u044b\u0440\u0435 \u2014 \u0441\u0442\u0430\u0442\u0443\u0441\u043d\u044b\u0435 \u0431\u0438\u0442\u044b:<\/p>\n<ol>\n<li>Secret bit \u2014 \u0437\u0430\u0449\u0438\u0449\u0451\u043d\u043d\u0430\u044f \u0437\u0430\u043f\u0438\u0441\u044c. \u0415\u0441\u043b\u0438 \u044d\u0442\u043e\u0442 \u0431\u0438\u0442 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d, \u0437\u0430\u043f\u0438\u0441\u044c \u043d\u0435 \u043f\u043e\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442\u0441\u044f \u0434\u043e \u0432\u0432\u043e\u0434\u0430 \u043f\u0430\u0440\u043e\u043b\u044f \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f.<\/li>\n<li>Busy bit \u2014 \u0437\u0430\u043f\u0438\u0441\u044c \u0437\u0430\u043d\u044f\u0442\u0430. \u0423\u0441\u0442\u0430\u043d\u0430\u0432\u043b\u0438\u0432\u0430\u0435\u0442\u0441\u044f \u043f\u0440\u0438 \u043e\u0431\u0440\u0430\u0449\u0435\u043d\u0438\u0438 \u043a \u0437\u0430\u043f\u0438\u0441\u0438 \u0438 \u0441\u0431\u0440\u0430\u0441\u044b\u0432\u0430\u0435\u0442\u0441\u044f \u043f\u0440\u0438 \u0432\u044b\u0437\u043e\u0432\u0435 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 <i>DmReleaseRecord<\/i>. \u0415\u0441\u043b\u0438 \u044d\u0442\u043e\u0442 \u0431\u0438\u0442 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d, \u0434\u0440\u0443\u0433\u0438\u0435 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 \u043d\u0435 \u043c\u043e\u0433\u0443\u0442 \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c \u0434\u043e\u0441\u0442\u0443\u043f \u043a \u0437\u0430\u043f\u0438\u0441\u0438.<\/li>\n<li>Dirty bit \u2014 \u043f\u0440\u0438\u0437\u043d\u0430\u043a \u0438\u0437\u043c\u0435\u043d\u0451\u043d\u043d\u043e\u0439 \u0437\u0430\u043f\u0438\u0441\u0438. \u0423\u0441\u0442\u0430\u043d\u0430\u0432\u043b\u0438\u0432\u0430\u0435\u0442\u0441\u044f \u0438\u043b\u0438 \u043e\u0431\u043d\u0443\u043b\u044f\u0435\u0442\u0441\u044f \u0432 \u0442\u0440\u0435\u0442\u044c\u0435\u043c \u0430\u0440\u0433\u0443\u043c\u0435\u043d\u0442\u0435 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 <i>DmReleaseRecord<\/i>.<\/li>\n<li>Delete bit \u2014 \u043f\u0440\u0438\u0437\u043d\u0430\u043a \u0443\u0434\u0430\u043b\u0451\u043d\u043d\u043e\u0439 \u0437\u0430\u043f\u0438\u0441\u0438. \u0421\u0430\u043c\u043e \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u043c\u043e\u0435 \u043f\u0440\u0438 \u044d\u0442\u043e\u043c \u0441\u043e\u0445\u0440\u0430\u043d\u044f\u0435\u0442\u0441\u044f \u0438 \u0436\u0438\u0432\u0451\u0442 \u0432\u043f\u043b\u043e\u0442\u044c \u0434\u043e \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0435\u0439 \u0441\u0438\u043d\u0445\u0440\u043e\u043d\u0438\u0437\u0430\u0446\u0438\u0438 \u0441 \u043a\u043e\u043c\u043f\u044c\u044e\u0442\u0435\u0440\u043e\u043c. \u041f\u0440\u0438 \u044d\u0442\u043e\u043c \u0444\u0443\u043d\u043a\u0446\u0438\u044f <i>DmDeleteRecord<\/i> \u043b\u0438\u0448\u044c \u0432\u0437\u0432\u043e\u0434\u0438\u0442 \u044d\u0442\u043e\u0442 \u0431\u0438\u0442, \u0430 <i>DmRemoveRecord<\/i> \u0441\u043d\u043e\u0441\u0438\u0442 \u0432\u0441\u044e \u0437\u0430\u043f\u0438\u0441\u044c.<\/li>\n<\/ol>\n<p>  \u0422\u0430\u043a \u0432\u043e\u0442, \u0434\u043b\u044f \u043e\u0431\u0440\u0430\u0449\u0435\u043d\u0438\u044f \u043a \u0437\u0430\u043f\u0438\u0441\u0438 \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u044e\u0442 \u0441\u0440\u0430\u0437\u0443 \u0434\u0432\u0435 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 \u2014 DmGetRecord \u0438 DmQueryRecord. \u0420\u0430\u0437\u043d\u0438\u0446\u0430 \u043c\u0435\u0436\u0434\u0443 \u043d\u0438\u043c\u0438 \u0432 \u0442\u043e\u043c, \u043f\u0435\u0440\u0432\u0430\u044f \u043c\u043e\u0436\u0435\u0442 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c\u0441\u044f \u043a\u0430\u043a \u0434\u043b\u044f \u0447\u0442\u0435\u043d\u0438\u044f, \u0442\u0430\u043a \u0438 \u0434\u043b\u044f \u0437\u0430\u043f\u0438\u0441\u0438, \u0430 \u0432\u0442\u043e\u0440\u0430\u044f \u043d\u0435 \u0443\u0441\u0442\u0430\u043d\u0430\u0432\u043b\u0438\u0432\u0430\u0435\u0442 busy bit (\u043d\u043e \u043f\u0440\u0438 \u044d\u0442\u043e\u043c \u0437\u0430\u043f\u0438\u0441\u044c \u043e\u0442\u043a\u0440\u044b\u0432\u0430\u0435\u0442\u0441\u044f \u0442\u043e\u043b\u044c\u043a\u043e \u0434\u043b\u044f \u0447\u0442\u0435\u043d\u0438\u044f). \u0415\u0451 \u0438 \u0431\u0443\u0434\u0435\u043c \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c:<\/p>\n<pre><code class=\"cpp\">recH = DmQueryRecord(myDBPointer, 0); if (recH) {  recP = MemHandleLock(recH);  updateText(recP);      MemHandleUnlock(recH); }<\/code><\/pre>\n<p>  \u0418\u0442\u0430\u043a, \u043f\u043e\u0441\u043b\u0435 \u0447\u0442\u0435\u043d\u0438\u044f \u0437\u0430\u043f\u0438\u0441\u0438 \u043c\u044b \u043f\u043e\u043b\u0443\u0447\u0430\u0435\u043c \u0443\u043a\u0430\u0437\u0430\u0442\u0435\u043b\u044c \u043d\u0430 \u0442\u043e, \u0447\u0442\u043e \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u0442\u0441\u044f \u0432 \u043d\u0435\u0439. \u0414\u0430\u043b\u0435\u0435 \u043d\u0430\u0434\u043e \u0437\u0430\u0431\u043b\u043e\u043a\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u044d\u0442\u0443 \u043e\u0431\u043b\u0430\u0441\u0442\u044c \u043f\u0430\u043c\u044f\u0442\u0438, \u043e\u0431\u043d\u043e\u0432\u0438\u0442\u044c \u043d\u0430\u0448 \u0442\u0435\u043a\u0441\u0442 \u0438 \u0440\u0430\u0437\u0431\u043b\u043e\u043a\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0435\u0451 \u043e\u0431\u0440\u0430\u0442\u043d\u043e.<\/p>\n<p>  \u0422\u0430\u043a\u0438\u043c \u043e\u0431\u0440\u0430\u0437\u043e\u043c, \u0432\u0441\u0451 \u0447\u0442\u0435\u043d\u0438\u0435 \u0438\u0437 \u043f\u0430\u043c\u044f\u0442\u0438 \u0432\u044b\u0433\u043b\u044f\u0434\u0438\u0442 \u0432\u043e\u0442 \u0442\u0430\u043a:<\/p>\n<pre><code class=\"cpp\">static Err getFromDatabase() { Err error = errNone; DmOpenRef myDBPointer = 0;  MemHandle recH;  char * recP;  myDBPointer = DmOpenDatabaseByTypeCreator('DATA', 'TEST', dmModeReadWrite);  if(DmNumRecords(myDBPointer) == 0) {  FrmAlert(NoDataAlert); DmCloseDatabase(myDBPointer);  return errNone;  }  recH = DmQueryRecord(myDBPointer, 0);  if (recH) {     recP = MemHandleLock(recH);     updateText(recP);      MemHandleUnlock(recH);      }    error = DmCloseDatabase(myDBPointer);  return error; }<\/code><\/pre>\n<p>  \u0422\u0435\u043f\u0435\u0440\u044c \u043e\u0447\u0435\u0440\u0435\u0434\u044c \u0441\u0430\u043c\u043e\u0439 \u0444\u043e\u0440\u043c\u044b. \u0421 \u0432\u044b\u0432\u043e\u0434\u043e\u043c \u0432 \u043d\u0435\u0451 \u0442\u0435\u043a\u0441\u0442\u0430 \u0432\u0441\u0451 \u043e\u0447\u0435\u043d\u044c \u043f\u0440\u043e\u0441\u0442\u043e:<\/p>\n<pre><code class=\"cpp\">static void updateText(char * data) { FieldType * field = (FieldType*)GetObjectPtr(MainDescriptionField); if (field) { FldDelete(field, 0, 0xFFFF); FldDrawField(field); FldInsert(field, data, StrLen(data)); } }<\/code><\/pre>\n<p>  \u0414\u043b\u044f \u043d\u0430\u0447\u0430\u043b\u0430 \u043f\u043e\u043b\u0443\u0447\u0430\u0435\u043c \u0443\u043a\u0430\u0437\u0430\u0442\u0435\u043b\u044c \u043d\u0430 \u0444\u043e\u0440\u043c\u0443, \u0437\u0430\u0442\u0435\u043c \u043e\u0447\u0438\u0449\u0430\u0435\u043c \u0435\u0451 \u0438 \u0432\u044b\u0432\u043e\u0434\u0438\u043c \u043d\u043e\u0432\u044b\u0439 \u0442\u0435\u043a\u0441\u0442.<\/p>\n<p>  <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w780q1\/webt\/oo\/fi\/r2\/oofir2sumnqfhdcynwo0ecbqxpk.jpeg\" data-src=\"https:\/\/habrastorage.org\/webt\/oo\/fi\/r2\/oofir2sumnqfhdcynwo0ecbqxpk.jpeg\" data-blurred=\"true\"\/><\/p>\n<p>  \u0412\u043e\u043e\u0431\u0449\u0435, \u043f\u0435\u0440\u0435\u0434 \u043d\u0430\u0447\u0430\u043b\u043e\u043c \u0440\u0430\u0431\u043e\u0442\u044b \u0441\u043b\u0435\u0434\u0443\u0435\u0442 \u0443\u0431\u0435\u0434\u0438\u0442\u044c\u0441\u044f, \u0447\u0442\u043e \u0431\u0430\u0437\u0430 \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u043e\u0442\u043a\u0440\u044b\u043b\u0430\u0441\u044c, \u0442\u0430\u043a \u043a\u0430\u043a \u043f\u043e\u043f\u044b\u0442\u043a\u0430 \u043e\u0431\u0440\u0430\u0449\u0435\u043d\u0438\u044f \u043a \u043d\u0435\u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u044e\u0449\u0435\u0439 \u0411\u0414 \u0432\u044b\u0437\u043e\u0432\u0435\u0442 \u043a\u0440\u0438\u0442\u0438\u0447\u0435\u0441\u043a\u0443\u044e \u043e\u0448\u0438\u0431\u043a\u0443. \u0412\u043f\u0440\u043e\u0447\u0435\u043c, \u0432 \u0434\u0430\u043d\u043d\u043e\u043c \u0441\u043b\u0443\u0447\u0430\u0435 \u043e\u0442\u0441\u0443\u0442\u0441\u0442\u0432\u0438\u0435 \u0442\u0430\u043a\u043e\u0439 \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0438 \u043d\u0435 \u0441\u043b\u0438\u0448\u043a\u043e\u043c \u043a\u0440\u0438\u0442\u0438\u0447\u043d\u043e, \u0442\u0430\u043a \u043a\u0430\u043a \u043d\u0430\u043b\u0438\u0447\u0438\u0435 \u0440\u0430\u0431\u043e\u0447\u0435\u0439 \u0431\u0430\u0437\u044b \u043f\u0440\u043e\u0432\u0435\u0440\u044f\u0435\u0442\u0441\u044f \u043f\u0440\u0438 \u0437\u0430\u043f\u0443\u0441\u043a\u0435, \u0430 \u0432\u0441\u0435 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 \u043f\u0435\u0440\u0435\u0434 \u0432\u044b\u0445\u043e\u0434\u043e\u043c \u0437\u0430\u0432\u0435\u0440\u0448\u0430\u044e\u0442 \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435.<\/p>\n<h2><font color=\"#1c22be\">\u276f<\/font> <font color=\"#454cee\">\u0422\u0435\u0441\u0442\u044b \u043d\u0430 \u0436\u0435\u043b\u0435\u0437\u0435<\/font><\/h2>\n<p>  \u041d\u0443 \u0447\u0442\u043e \u0436\u0435, \u0432\u0440\u0435\u043c\u044f \u043f\u0440\u043e\u0442\u0435\u0441\u0442\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u044d\u0442\u0443 \u043f\u0440\u043e\u0433\u0443 \u043d\u0430 \u0440\u0435\u0430\u043b\u044c\u043d\u043e\u043c \u041a\u041f\u041a. \u0422\u0443\u0442 \u0443\u0436\u0435 \u0441\u0442\u043e\u044f\u0442 \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f, \u043a\u0430\u043a \u0440\u0430\u0437 \u043c\u043e\u0436\u043d\u043e \u0443\u0431\u0435\u0434\u0438\u0442\u044c\u0441\u044f, \u0447\u0442\u043e \u0438\u0445 \u0431\u0430\u0437\u044b \u043d\u0435 \u043a\u043e\u043d\u0444\u043b\u0438\u043a\u0442\u0443\u044e\u0442 \u0441 \u043d\u0430\u0448\u0435\u0439.<\/p>\n<p>  <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w780q1\/webt\/hz\/dn\/xn\/hzdnxn9_cyp7cuwddqokufzbzfi.jpeg\" data-src=\"https:\/\/habrastorage.org\/webt\/hz\/dn\/xn\/hzdnxn9_cyp7cuwddqokufzbzfi.jpeg\" data-blurred=\"true\"\/><\/p>\n<p>  \u0418 \u043e\u043d\u043e \u0434\u0430\u0436\u0435 \u0443\u0441\u043f\u0435\u0448\u043d\u043e \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442! \u0415\u0441\u043b\u0438 \u043d\u0430\u043f\u0435\u0447\u0430\u0442\u0430\u0442\u044c \u0447\u0442\u043e-\u0442\u043e \u0432 \u0442\u0435\u043a\u0441\u0442\u043e\u0432\u043e\u043c \u043f\u043e\u043b\u0435 \u0438 \u043f\u043e\u043f\u0440\u043e\u0431\u043e\u0432\u0430\u0442\u044c \u0441\u043e\u0445\u0440\u0430\u043d\u0438\u0442\u044c, \u0442\u043e \u0432\u0441\u0451 \u043f\u0440\u043e\u0445\u043e\u0434\u0438\u0442 \u0443\u0441\u043f\u0435\u0448\u043d\u043e, \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0435 \u043d\u0435 \u0432\u044b\u043b\u0435\u0442\u0430\u0435\u0442 \u0438 \u043d\u0435 \u043e\u0442\u043f\u0440\u0430\u0432\u043b\u044f\u0435\u0442 \u041a\u041f\u041a \u0432 \u043f\u0435\u0440\u0435\u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0443.<\/p>\n<h2><font color=\"#1c22be\">\u276f<\/font> <font color=\"#454cee\">\u0420\u0435\u0434\u0430\u043a\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u0411\u0414 \u043d\u0430 \u041f\u041a<\/font><\/h2>\n<p>  \u041f\u043e\u043d\u044f\u0442\u043d\u043e\u0435 \u0434\u0435\u043b\u043e, \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u0435\u0442 \u0441\u043e\u0444\u0442 \u0434\u043b\u044f \u0442\u043e\u0433\u043e, \u0447\u0442\u043e\u0431\u044b \u043f\u0440\u043e\u0441\u043c\u0430\u0442\u0440\u0438\u0432\u0430\u0442\u044c \u0438\u043b\u0438 \u0438\u0437\u043c\u0435\u043d\u044f\u0442\u044c \u0431\u0430\u0437\u0443 (\u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u0441\u043b\u0438\u0442\u0443\u044e \u0432 \u0445\u043e\u0434\u0435 HotSync) \u043d\u0430 \u043a\u043e\u043c\u043f\u044c\u044e\u0442\u0435\u0440\u0435. <\/p>\n<p>  <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/webt\/sk\/0h\/ev\/sk0hev0addn0-dhqar37q1u60vi.png\" data-src=\"https:\/\/habrastorage.org\/webt\/sk\/0h\/ev\/sk0hev0addn0-dhqar37q1u60vi.png\"\/><\/p>\n<p>  \u0412\u043e\u0442 \u043e\u0434\u043d\u0430 \u0438\u0437 \u0442\u0430\u043a\u0438\u0445 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c, PDB Editor. \u041f\u043e \u0441\u0443\u0442\u0438 \u0432 \u043d\u0435\u0439 \u043c\u043e\u0436\u043d\u043e \u0434\u0435\u043b\u0430\u0442\u044c \u0432\u0441\u0451 \u0442\u043e \u0436\u0435 \u0441\u0430\u043c\u043e\u0435, \u0447\u0442\u043e \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u043b\u043e\u0441\u044c \u043d\u0430\u043c\u0438 \u043d\u0430 \u041a\u041f\u041a.<\/p>\n<h2><font color=\"#1c22be\">\u276f<\/font> <font color=\"#454cee\">\u0412\u043e\u0442 \u043a\u0430\u043a-\u0442\u043e \u0442\u0430\u043a<\/font><\/h2>\n<p>  \u041a\u0430\u043a \u043c\u043e\u0436\u043d\u043e \u0432\u0438\u0434\u0435\u0442\u044c, \u0440\u0430\u0431\u043e\u0442\u0430 \u0441 \u0434\u0430\u043d\u043d\u044b\u043c\u0438 \u0432 \u0442\u0430\u043a\u0438\u0445 \u041a\u041f\u041a \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u043a\u0443\u0434\u0430 \u0441\u043b\u043e\u0436\u043d\u0435\u0435 \u0442\u0430\u043a\u043e\u0432\u043e\u0439 \u043d\u0430 \u0434\u0440\u0443\u0433\u0438\u0445 \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u0430\u0445. \u0418 \u043d\u0435\u0442, \u044d\u0442\u043e \u043e\u0441\u043e\u0431\u0435\u043d\u043d\u043e\u0441\u0442\u044c \u0438\u043c\u0435\u043d\u043d\u043e \u043f\u0430\u043b\u044c\u043c\u044b, \u043d\u0430 \u0434\u0440\u0443\u0433\u0438\u0445 \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u0430\u0445 \u0432\u0441\u0451 \u043c\u043e\u0433\u043b\u043e \u0431\u044b\u0442\u044c \u0441\u043e\u0432\u0435\u0440\u0448\u0435\u043d\u043d\u043e \u0438\u043d\u0430\u0447\u0435. \u0412\u043e\u0442, \u043a \u043f\u0440\u0438\u043c\u0435\u0440\u0443, \u0447\u0442\u0435\u043d\u0438\u0435 \u0438\u0437 \u0444\u0430\u0439\u043b\u0430 \u043d\u0430 Psion EPOC16 (\u043e\u043d, \u043a \u0441\u043b\u043e\u0432\u0443, \u0441\u0442\u0430\u0440\u0448\u0435 Palm OS \u043b\u0435\u0442 \u0442\u0430\u043a \u043d\u0430 \u0441\u0435\u043c\u044c) \u043a\u043e\u0442\u043e\u0440\u043e\u0435 \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0435\u0442\u0441\u044f \u043f\u0440\u0438\u043c\u0435\u0440\u043d\u043e \u0442\u0430\u043a:<\/p>\n<pre><code class=\"cpp\">INT ret; TEXT some_byte; ret=p_open(&amp;f, FileName, P_FSTREAM_TEXT|P_FSHARE|P_FRANDOM); ret = p_read(f, &amp;some_byte, sizeof(TEXT)); <\/code><\/pre>\n<p>  \u041d\u0430 \u043f\u0430\u043b\u044c\u043c\u0435 \u0436\u0435 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u0441\u043e\u0437\u0434\u0430\u0432\u0430\u0442\u044c \u0431\u0430\u0437\u0443 \u0434\u0430\u043d\u043d\u044b\u0445 \u0438 \u0437\u0430\u043f\u0438\u0441\u044c \u0432 \u043d\u0435\u0439 \u0432\u043e\u043e\u0431\u0449\u0435 \u0434\u043b\u044f \u043b\u044e\u0431\u043e\u0433\u043e \u0445\u0440\u0430\u043d\u0435\u043d\u0438\u044f, \u0434\u0430\u0436\u0435 \u0435\u0441\u043b\u0438 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u0437\u0430\u043f\u0438\u0441\u0430\u0442\u044c \u043a\u0430\u043a\u043e\u0435-\u0442\u043e \u0435\u0434\u0438\u043d\u0441\u0442\u0432\u0435\u043d\u043d\u043e\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u0442\u0438\u043f\u0430 \u043c\u0430\u043a\u0441\u0438\u043c\u0430\u043b\u044c\u043d\u043e\u0433\u043e \u0447\u0438\u0441\u043b\u0430 \u043e\u0447\u043a\u043e\u0432 \u0432 \u0438\u0433\u0440\u0435. \u0418 \u0435\u0441\u043b\u0438 \u0432\u0441\u0435 \u044d\u0442\u0438 \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u044f \u0432\u0441\u0451 \u0440\u0430\u0432\u043d\u043e \u043a\u0430\u0436\u0443\u0442\u0441\u044f \u043f\u0440\u043e\u0441\u0442\u044b\u043c\u0438, \u0442\u043e \u043d\u0430 \u0431\u043e\u043b\u0435\u0435 \u0441\u0435\u0440\u044c\u0451\u0437\u043d\u044b\u0445 \u043f\u0440\u043e\u0435\u043a\u0442\u0430\u0445, \u0433\u0434\u0435 \u043f\u0438\u0441\u0430\u0442\u044c \u043d\u0430\u0434\u043e \u043c\u043d\u043e\u0433\u043e \u0438 \u0447\u0430\u0441\u0442\u043e, \u0440\u0430\u0431\u043e\u0442\u0430 \u0441 \u0411\u0414 \u0441 \u0443\u0447\u0451\u0442\u043e\u043c \u0435\u0451 \u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0435\u043d\u0438\u0439 \u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u0441\u044f \u0443\u0436\u0435 \u043a\u0443\u0434\u0430 \u0441\u043b\u043e\u0436\u043d\u0435\u0435.<\/p>\n<p>  \u0422\u0430\u043a\u0438\u0435 \u0434\u0435\u043b\u0430.<\/p>\n<h2><font color=\"#1c22be\">\u276f<\/font> <font color=\"#454cee\">\u0421\u0441\u044b\u043b\u043a\u0438<\/font><\/h2>\n<p>  <\/p>\n<ul>\n<li><a href=\"https:\/\/www.fuw.edu.pl\/~michalj\/palmos\/FilesAndDatabases.html\">\u041e\u043f\u0438\u0441\u0430\u043d\u0438\u0435 API Palm OS \u0434\u043b\u044f \u0440\u0430\u0431\u043e\u0442\u044b \u0441 \u0431\u0430\u0437\u0430\u043c\u0438 \u0434\u0430\u043d\u043d\u044b\u0445. \u041f\u0440\u0430\u043a\u0442\u0438\u0447\u0435\u0441\u043a\u0438 \u0432\u0441\u0451, \u0447\u0442\u043e \u043f\u043e\u043d\u0430\u0434\u043e\u0431\u0438\u043b\u043e\u0441\u044c \u0434\u043b\u044f \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u044f \u044d\u0442\u043e\u0433\u043e \u043f\u0440\u0438\u043c\u0435\u0440\u0430, \u0431\u044b\u043b\u043e \u0432\u0437\u044f\u0442\u043e \u0442\u0430\u043c.<\/a><\/li>\n<li><a href=\"https:\/\/pdbeditor.sourceforge.net\/\">\u0420\u0435\u0434\u0430\u043a\u0442\u043e\u0440 PDB<\/a><\/li>\n<li><a href=\"https:\/\/en.wikibooks.org\/wiki\/Programming_for_Palm_OS\/C\/Databases\">\u0415\u0449\u0451 \u043e\u0434\u0438\u043d \u043f\u0440\u0438\u043c\u0435\u0440 \u0440\u0430\u0431\u043e\u0442\u044b \u0441 \u0411\u0414. \u0423 \u043c\u0435\u043d\u044f \u043e\u043d, \u0443\u0432\u044b, \u043d\u0435 \u0437\u0430\u0440\u0430\u0431\u043e\u0442\u0430\u043b.<\/a><\/li>\n<\/ul>\n<hr\/>\n<p>  <\/p>\n<h4><font color=\"#454cee\">\u0412\u043e\u0437\u043c\u043e\u0436\u043d\u043e, \u0437\u0430\u0445\u043e\u0447\u0435\u0442\u0441\u044f \u043f\u043e\u0447\u0438\u0442\u0430\u0442\u044c \u0438 \u044d\u0442\u043e:<\/font><\/p>\n<ul>\n<li>\u27a4<a href=\"https:\/\/habr.com\/ru\/companies\/timeweb\/articles\/757376\/\"> \u041a\u0430\u043a \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0438\u0442\u044c \u043c\u0430\u0433\u043d\u0438\u0442\u043d\u044b\u0439 \u0441\u0447\u0438\u0442\u044b\u0432\u0430\u0442\u0435\u043b\u044c \u043a \u043c\u0438\u043a\u0440\u043e\u043a\u043e\u043d\u0442\u0440\u043e\u043b\u043b\u0435\u0440\u0443<\/a><\/li>\n<li>\u27a4 <a href=\"https:\/\/habr.com\/ru\/companies\/timeweb\/articles\/723240\/\">\u041f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u0434\u043b\u044f Palm OS: \u0441\u0442\u0430\u0432\u0438\u043c CodeWarrior \u0438 \u043e\u0436\u0438\u0432\u043b\u044f\u0435\u043c \u0422\u0421\u0414<\/a><\/li>\n<li>\u27a4 <a href=\"https:\/\/habr.com\/ru\/companies\/timeweb\/articles\/758580\/\">Alan Wake: 13 \u043b\u0435\u0442 \u0441\u043f\u0443\u0441\u0442\u044f<\/a><\/li>\n<li>\u27a4 <a href=\"https:\/\/habr.com\/ru\/companies\/timeweb\/articles\/758728\/\">96 \u043b\u0435\u0442 \u0441\u043e \u0434\u043d\u044f \u0440\u043e\u0436\u0434\u0435\u043d\u0438\u044f \u0414\u0436\u043e\u043d\u0430 \u041c\u0430\u043a\u043a\u0430\u0440\u0442\u0438<\/a><\/li>\n<li>\u27a4 <a href=\"https:\/\/habr.com\/ru\/companies\/timeweb\/articles\/724146\/\">\u041d\u044e\u0430\u043d\u0441\u044b \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u043f\u0430\u0440\u0441\u0435\u0440\u0430 \u0434\u043b\u044f \u0441\u0432\u043e\u0435\u0433\u043e \u044f\u0437\u044b\u043a\u0430 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f<\/a><\/li>\n<\/ul>\n<p>  <a href=\"https:\/\/timeweb.cloud\/vds-vps?utm_source=habr&amp;utm_medium=banner&amp;utm_campaign\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/webt\/b5\/pj\/of\/b5pjofdoxth14ro-rjsrn7sbmiy.png\" data-src=\"https:\/\/habrastorage.org\/webt\/b5\/pj\/of\/b5pjofdoxth14ro-rjsrn7sbmiy.png\"\/><\/a><\/h4>\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\/757726\/\"> https:\/\/habr.com\/ru\/articles\/757726\/<\/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-1\">\n<div xmlns=\"http:\/\/www.w3.org\/1999\/xhtml\">\u041f\u0440\u0438\u0432\u0435\u0442\u0441\u0442\u0432\u0443\u044e \u0432\u0441\u0435\u0445!<\/p>\n<p>  \u0414\u0443\u043c\u0430\u044e, \u043c\u043d\u043e\u0433\u0438\u0435 \u0438\u0437 \u043d\u0430\u0441 \u0445\u043e\u0442\u044c \u0440\u0430\u0437 \u0441\u043b\u044b\u0448\u0430\u043b\u0438 \u043e \u041a\u041f\u041a \u043d\u0430 \u0431\u0430\u0437\u0435 Palm OS. \u0410 \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u044b\u043c \u0434\u0430\u0436\u0435 \u0434\u043e\u0432\u0435\u043b\u043e\u0441\u044c \u0438\u043c\u0435\u0442\u044c \u0442\u0430\u043a\u043e\u0439 \u0432 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0438.<\/p>\n<p>  \u0418 \u0442\u0430\u043a \u0443\u0436 \u0432\u044b\u0448\u043b\u043e, \u0447\u0442\u043e \u043f\u0430\u043b\u044c\u043c\u044b \u0441\u0442\u0430\u043b\u0438 \u043e\u0434\u043d\u043e\u0439 \u0438\u0437 \u0441\u0430\u043c\u044b\u0445 \u043f\u0440\u043e\u0442\u0438\u0432\u043e\u0440\u0435\u0447\u0438\u0432\u044b\u0445 \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c \u0432 \u043f\u043b\u0430\u043d\u0435 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u043f\u043e\u0434 \u043d\u0438\u0445, \u0432 \u0447\u0451\u043c \u043b\u0435\u0433\u043a\u043e \u043c\u043e\u0436\u043d\u043e \u0443\u0431\u0435\u0434\u0438\u0442\u044c\u0441\u044f, \u043f\u043e\u0447\u0438\u0442\u0430\u0432 \u043a\u043e\u043c\u043c\u0435\u043d\u0442\u0430\u0440\u0438\u0438 \u043a \u043b\u044e\u0431\u043e\u0439 \u0441\u0442\u0430\u0442\u044c\u0435 \u043f\u0440\u043e \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u0434\u043b\u044f \u044d\u0442\u0438\u0445 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432.<\/p>\n<p>  <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w780q1\/webt\/ys\/9q\/89\/ys9q89nz6wgoyixvindxglb9u-y.jpeg\" data-src=\"https:\/\/habrastorage.org\/webt\/ys\/9q\/89\/ys9q89nz6wgoyixvindxglb9u-y.jpeg\" data-blurred=\"true\"\/><\/p>\n<p>  \u0418\u0442\u0430\u043a, \u0432 \u0441\u0435\u0433\u043e\u0434\u043d\u044f\u0448\u043d\u0435\u0439 \u0441\u0442\u0430\u0442\u044c\u0435 \u043f\u043e\u0433\u043e\u0432\u043e\u0440\u0438\u043c \u043e \u0441\u0430\u043c\u043e\u043c \u0441\u043f\u0435\u0446\u0438\u0444\u0438\u0447\u0435\u0441\u043a\u043e\u043c \u0430\u0441\u043f\u0435\u043a\u0442\u0435 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u043f\u043e\u0434 \u0442\u0430\u043a\u0438\u0435 \u041a\u041f\u041a. \u0420\u0430\u0437\u0431\u0435\u0440\u0451\u043c\u0441\u044f, \u0447\u0442\u043e \u0436\u0435 \u0431\u044b\u043b\u043e \u043f\u0440\u0435\u0434\u043c\u0435\u0442\u043e\u043c \u0434\u0438\u0441\u043a\u0443\u0441\u0441\u0438\u0439 \u043e \u0446\u0435\u043b\u0435\u0441\u043e\u043e\u0431\u0440\u0430\u0437\u043d\u043e\u0441\u0442\u0438 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u0434\u043b\u044f \u043f\u0430\u043b\u044c\u043c, \u0443\u0437\u043d\u0430\u0435\u043c, \u043d\u0430\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0432\u0441\u0451 \u0441\u043b\u043e\u0436\u043d\u043e. \u0422\u0440\u0430\u0434\u0438\u0446\u0438\u043e\u043d\u043d\u043e \u0431\u0443\u0434\u0435\u0442 \u043c\u043d\u043e\u0433\u043e \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u043d\u043e\u0433\u043e.<\/p>\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-353501","post","type-post","status-publish","format-standard","hentry"],"_links":{"self":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/353501","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=353501"}],"version-history":[{"count":0,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/353501\/revisions"}],"wp:attachment":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=353501"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=353501"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=353501"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}