{"id":4342,"date":"2021-03-17T19:32:55","date_gmt":"2021-03-17T19:32:55","guid":{"rendered":"https:\/\/www.colorwave.it\/blog\/?p=4342"},"modified":"2021-04-08T14:39:04","modified_gmt":"2021-04-08T14:39:04","slug":"ezechiele-parte-quarta","status":"publish","type":"post","link":"https:\/\/www.colorwave.it\/blog\/colibri\/ezechiele-parte-quarta\/admin\/2021\/03\/","title":{"rendered":"Ezechiele &#8211; parte quarta"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-post\" data-elementor-id=\"4342\" class=\"elementor elementor-4342\" data-elementor-post-type=\"post\">\n\t\t\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-23fd8c05 elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"23fd8c05\" data-element_type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-e0cf1a0 elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"e0cf1a0\" data-element_type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-53b9dde4\" data-id=\"53b9dde4\" data-element_type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-5561c02 elementor-widget elementor-widget-heading\" data-id=\"5561c02\" data-element_type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">CLB_Ezechiele_net - <br>utilizzare le strutture Json per comunicare con Colibr\u00ec<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-e7a0f7b elementor-widget elementor-widget-text-editor\" data-id=\"e7a0f7b\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p><a href=\"https:\/\/www.colorwave.it\/blog\/colibri\/ezechiele-le-assembly-di-connessione-con-le-dll-di-colibri\/admin\/2021\/03\/\">nell&#8217;articolo precedente<\/a>\u00a0 abbiamo descritto il modo in cui i comandi e parametri sono scambiati con la libreria nativa <em><span style=\"color: #008000;\">Clb_Ezechiele.<\/span><\/em><\/p><p>In questo articolo vedremo come le strutture Json sono utilizzate per scambiare informazioni fra Colibri ed Ezechiele<\/p><p>\u00a0<\/p><p>\u00a0<\/p><p>\u00a0<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-107f989e\" data-id=\"107f989e\" data-element_type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-de2a7a3 elementor-toc--minimized-on-tablet elementor-widget elementor-widget-table-of-contents\" data-id=\"de2a7a3\" data-element_type=\"widget\" data-settings=\"{&quot;exclude_headings_by_selector&quot;:[],&quot;headings_by_tags&quot;:[&quot;h2&quot;,&quot;h3&quot;,&quot;h4&quot;,&quot;h5&quot;,&quot;h6&quot;],&quot;marker_view&quot;:&quot;numbers&quot;,&quot;no_headings_message&quot;:&quot;No headings were found on this page.&quot;,&quot;minimize_box&quot;:&quot;yes&quot;,&quot;minimized_on&quot;:&quot;tablet&quot;,&quot;hierarchical_view&quot;:&quot;yes&quot;,&quot;min_height&quot;:{&quot;unit&quot;:&quot;px&quot;,&quot;size&quot;:&quot;&quot;,&quot;sizes&quot;:[]},&quot;min_height_tablet&quot;:{&quot;unit&quot;:&quot;px&quot;,&quot;size&quot;:&quot;&quot;,&quot;sizes&quot;:[]},&quot;min_height_mobile&quot;:{&quot;unit&quot;:&quot;px&quot;,&quot;size&quot;:&quot;&quot;,&quot;sizes&quot;:[]}}\" data-widget_type=\"table-of-contents.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"elementor-toc__header\">\n\t\t\t<h4 class=\"elementor-toc__header-title\">\n\t\t\t\tTable of Contents\t\t\t<\/h4>\n\t\t\t\t\t\t\t<div class=\"elementor-toc__toggle-button elementor-toc__toggle-button--expand\" role=\"button\" tabindex=\"0\" aria-controls=\"elementor-toc__de2a7a3\" aria-expanded=\"true\" aria-label=\"Open table of contents\"><svg aria-hidden=\"true\" class=\"e-font-icon-svg e-fas-chevron-down\" viewBox=\"0 0 448 512\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\"><path d=\"M207.029 381.476L12.686 187.132c-9.373-9.373-9.373-24.569 0-33.941l22.667-22.667c9.357-9.357 24.522-9.375 33.901-.04L224 284.505l154.745-154.021c9.379-9.335 24.544-9.317 33.901.04l22.667 22.667c9.373 9.373 9.373 24.569 0 33.941L240.971 381.476c-9.373 9.372-24.569 9.372-33.942 0z\"><\/path><\/svg><\/div>\n\t\t\t\t<div class=\"elementor-toc__toggle-button elementor-toc__toggle-button--collapse\" role=\"button\" tabindex=\"0\" aria-controls=\"elementor-toc__de2a7a3\" aria-expanded=\"true\" aria-label=\"Close table of contents\"><svg aria-hidden=\"true\" class=\"e-font-icon-svg e-fas-chevron-up\" viewBox=\"0 0 448 512\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\"><path d=\"M240.971 130.524l194.343 194.343c9.373 9.373 9.373 24.569 0 33.941l-22.667 22.667c-9.357 9.357-24.522 9.375-33.901.04L224 227.495 69.255 381.516c-9.379 9.335-24.544 9.317-33.901-.04l-22.667-22.667c-9.373-9.373-9.373-24.569 0-33.941L207.03 130.525c9.372-9.373 24.568-9.373 33.941-.001z\"><\/path><\/svg><\/div>\n\t\t\t\t\t<\/div>\n\t\t<div id=\"elementor-toc__de2a7a3\" class=\"elementor-toc__body\">\n\t\t\t<div class=\"elementor-toc__spinner-container\">\n\t\t\t\t<svg class=\"elementor-toc__spinner eicon-animation-spin e-font-icon-svg e-eicon-loading\" aria-hidden=\"true\" viewBox=\"0 0 1000 1000\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\"><path d=\"M500 975V858C696 858 858 696 858 500S696 142 500 142 142 304 142 500H25C25 237 238 25 500 25S975 237 975 500 763 975 500 975Z\"><\/path><\/svg>\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-7c43109e elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"7c43109e\" data-element_type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-290be754 elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"290be754\" data-element_type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-fe1463b\" data-id=\"fe1463b\" data-element_type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-20af1c11 elementor-widget elementor-widget-text-editor\" data-id=\"20af1c11\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<h3>Json_io<\/h3><p>La classe \u00e8 stata progettata per lo scambio di strutture json. Ad esempio, per ricevere informazioni, quali le dimensioni di un&#8217;immagine, \u00e8 usata la funzione Session.get_image_info(); questa funzione rimanda una classe Json_io che contiene le informazioni.\u00a0<\/p><p>Il codice che segue \u00e8 un esempio d&#8217;uso di alcune di queste funzioni:<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-b266947 elementor-widget elementor-widget-code-highlight\" data-id=\"b266947\" data-element_type=\"widget\" data-widget_type=\"code-highlight.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"prismjs-default copy-to-clipboard \">\n\t\t\t<pre data-line=\"24-25,29-32,41-42\" class=\"highlight-height language-csharp line-numbers\">\n\t\t\t\t<code readonly=\"true\" class=\"language-csharp\">\n\t\t\t\t\t<xmp>\t\tSession conn = null;\n\n\t\t\tstring path_image =\"D:\\\\db_clienti\\\\TIF\\\\immagini_test\\\\LADY.tif\";\n\t\t\tstring path_colorbook = \"D:\\\\db_clienti\\\\atlanti_colore\";\n\t\t\tstring cbook_name = \"FTEX_seiko_ColorBook  19-10-02 12_28.cbk\";\n\n\t\t\tstring path_session = \"D:\\\\db_clienti\";\n\n\t\t\tstring obj_color_book = \"color_book\";       \/\/ oggetto Clb_Ezechiele color_book \n\t\t\tstring obj_session = \"session\";\t\t\t\/\/ oggetto sessione \n\n\n\t\t\tstring cmd_get_color_book_list = \"get list \"+ obj_color_book;\n\n\n\t\t\tconn = new Session();\n\n\n\t\t\tif (conn.open_connection())\n\t\t\t{\n\t\t\t\tif (conn.set_obj_path(obj_session, path_session))\n\t\t\t\t\tif (conn.set_obj_path(obj_color_book, path_colorbook))\n\t\t\t\t\t{\n\t\t\t\t\t\t\tJson_io js = new Json_io();\n\t\t\t\t\t\tif (conn.send_cmd_json_get(cmd_get_color_book_list, js))\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tjs.display(cmd_get_color_book_list);\n\n\t\t\t\t\t\t\tJson_io js_book = new Json_io();\n\n\t\t\t\t\t\t\tif (conn.get_object(obj_color_book, cbook_name, js_book))\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tjs_book.display(obj_color_book);\n\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\tif (conn.open_image(path_image))\n\t\t\t\t{\n\n\t\t\t\t\tJson_io info = new Json_io();\n\t\t\t\t\tconn.get_image_info(info);\n\n\t\t\t\t\tImage_area img = new Image_area(0, 0, 200, 200, 1.0f);\n\t\t\t\t\tvoid *buf= img.get(conn);\n\t\t\t\t}\n\n\t\t\t}\n\t\t\tconn.close();\n\t\t}\n\t}\n}<\/xmp>\n\t\t\t\t<\/code>\n\t\t\t<\/pre>\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-2197e4cb elementor-widget elementor-widget-text-editor\" data-id=\"2197e4cb\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>Le linee evidenziate nell&#8217;esempio fanno uso di queste modalit\u00e0. Analizziamo cosa avviene alle righe 41-42, negli altri casi evidenziati le chieste sono diverse, ma il metodo \u00e8 identico.<\/p><p>per prima cosa viene istanziato un oggetto Json_io:<\/p><p style=\"padding-left: 160px;\"><em><span style=\"color: #0000ff;\"> Json_io info = new Json_io();<\/span><\/em><\/p><p>l&#8217;oggetto viene passato alla funzione get_image_info, che dovr\u00e0 ritornare, in formato Json, le inforzioni dimensionali dell&#8217;immagine aperta<\/p><p style=\"padding-left: 160px;\"><em><span style=\"color: #0000ff;\">conn.get_image_info(info);<\/span><\/em><\/p><p>Il risultato, ottenuto \u00e8 visibile di seguito:<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-33fbbda elementor-widget elementor-widget-code-highlight\" data-id=\"33fbbda\" data-element_type=\"widget\" data-widget_type=\"code-highlight.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"prismjs-default copy-to-clipboard \">\n\t\t\t<pre data-line=\"\" class=\"highlight-height language-javascript line-numbers\">\n\t\t\t\t<code readonly=\"true\" class=\"language-javascript\">\n\t\t\t\t\t<xmp>{\n    \"object\": \"image info\",\n    \"created\": {\n        \"date\": \"17-03-2021\",\n        \"time\": \"19:25:04\"\n    },\n    \"image\": {\n        \"name\": \"D:\\\\db_clienti\\\\TIF\\\\immagini_test\\\\LADY\",\n        \"pixel_format\": 137224,\n        \"size\": {\n            \"pixels\": [\n                9528,\n                5197\n            ],\n            \"mm\": [\n                605.0280151367188,\n                330.009521484375\n            ],\n            \"resol_pxl_mm)\": [\n                15.748030662536621,\n                15.748030662536621\n            ],\n            \"offset\": [\n                0.0,\n                0.0\n            ]\n        }\n    }\n}<\/xmp>\n\t\t\t\t<\/code>\n\t\t\t<\/pre>\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-139078ee elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"139078ee\" data-element_type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-5246f1b6\" data-id=\"5246f1b6\" data-element_type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-76340505 elementor-widget elementor-widget-text-editor\" data-id=\"76340505\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<h3>Ricevere Json da Colibr\u00ec<\/h3><p>Per capire come costruire una funzione che richiede una struttura Json a Colibri, analizziamo la funzione Session.get_image_info:<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-7016670b elementor-widget elementor-widget-code-highlight\" data-id=\"7016670b\" data-element_type=\"widget\" data-widget_type=\"code-highlight.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"prismjs-default copy-to-clipboard word-wrap\">\n\t\t\t<pre data-line=\"\" class=\"highlight-height language-csharp \">\n\t\t\t\t<code readonly=\"true\" class=\"language-csharp\">\n\t\t\t\t\t<xmp> public bool get_image_info(Json_io info)\n        {\n            return send_cmd_json_get(\"get image info\", info);\n        }\n<\/xmp>\n\t\t\t\t<\/code>\n\t\t\t<\/pre>\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-30d67657 elementor-widget elementor-widget-text-editor\" data-id=\"30d67657\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>La funzione semplicemente trasferisce l&#8217;istanza <em><span style=\"color: #008000;\">Json_io<\/span> <\/em>ricevuta alla funzione <span style=\"color: #008000;\">Session.send_cmd_json_get<\/span>\u00a0 e ritorna il risultato..<\/p><p>Cosa fa la <span style=\"color: #008000;\">send_cmd_json_get<\/span>\u00a0 ?\u00a0 analizziamone il codice:<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-3f48dc5 elementor-widget elementor-widget-code-highlight\" data-id=\"3f48dc5\" data-element_type=\"widget\" data-widget_type=\"code-highlight.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"prismjs-default copy-to-clipboard word-wrap\">\n\t\t\t<pre data-line=\"\" class=\"highlight-height language-csharp \">\n\t\t\t\t<code readonly=\"true\" class=\"language-csharp\">\n\t\t\t\t\t<xmp>    public bool send_cmd_json_get(string cmd, Json_io js)\n        {\n            bool ret;\n            char* inp = null;\n            ret = send_cmd(_s(cmd), _p(&(inp)));\n            if (ret)\n                js.input(inp);\n            return ret;\n        }\n<\/xmp>\n\t\t\t\t<\/code>\n\t\t\t<\/pre>\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-77130fdf elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"77130fdf\" data-element_type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-429fc8c4\" data-id=\"429fc8c4\" data-element_type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-21dd3f4 elementor-widget elementor-widget-text-editor\" data-id=\"21dd3f4\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>La funzione \u00e8 stata progettata per mandare un comando a Colibr\u00ec richiedendo informazioni in formato Json.<\/p><p>in questo esempio il comando \u00e8 &lt;<span style=\"color: #0000ff;\">get image inf<\/span>o&gt;, la risposta \u00e8 il testo Json riportato sopra.<\/p><p>L&#8217;informazione potr\u00e0 essere estratta dalla classe Json_io usando la funzione <em><span style=\"color: #008000;\">Json_io.input,<\/span><\/em> passando una stringa oppure assegnando il risultato ad una stringa.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-0eb6e4a elementor-widget elementor-widget-code-highlight\" data-id=\"0eb6e4a\" data-element_type=\"widget\" data-widget_type=\"code-highlight.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"prismjs-default copy-to-clipboard word-wrap\">\n\t\t\t<pre data-line=\"\" class=\"highlight-height language-csharp \">\n\t\t\t\t<code readonly=\"true\" class=\"language-csharp\">\n\t\t\t\t\t<xmp>   \n\/\/ estrazione del testo json ricevuto..\n\/\/\nstring result = js.input();<\/xmp>\n\t\t\t\t<\/code>\n\t\t\t<\/pre>\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-1c077e13 elementor-widget elementor-widget-text-editor\" data-id=\"1c077e13\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<h3>Mandare un&#8217;informazione Json a Colibri.<\/h3><p>E&#8217; data la funzione della classe Session che esegue questo compito.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-4d57687 elementor-widget elementor-widget-code-highlight\" data-id=\"4d57687\" data-element_type=\"widget\" data-widget_type=\"code-highlight.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"prismjs-default copy-to-clipboard word-wrap\">\n\t\t\t<pre data-line=\"\" class=\"highlight-height language-csharp \">\n\t\t\t\t<code readonly=\"true\" class=\"language-csharp\">\n\t\t\t\t\t<xmp>        \/** @brief trasmissione  json a Clb_Ezechiele\n\t\t\t@details per assegnare il testo json da trasmettere usare la funzione Json_io.output(jstxt);\n\t\t *  @param cmd stringa di comando \n\t\t *  @param js istanza di i\/o json\n\t\t *\/\n        public bool send_cmd_json_put(string cmd, Json_io js)\n        {\n            return send_cmd(_s(cmd), _s(js.output()));\n        }\n<\/xmp>\n\t\t\t\t<\/code>\n\t\t\t<\/pre>\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-77055ff elementor-widget elementor-widget-text-editor\" data-id=\"77055ff\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>la funzione, analoga a quella di ricezione , riceve un comando ed una istanza <span style=\"color: #008000;\">Json_io <\/span>opportunamente riempita, e richiama la funzione <em><span style=\"color: #008000;\">send_cmd<\/span><\/em> passando questa volta il buffer di output ,\u00a0 <em><span style=\"color: #0000ff;\">js.output().<\/span><\/em><\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-d212dba elementor-widget elementor-widget-code-highlight\" data-id=\"d212dba\" data-element_type=\"widget\" data-widget_type=\"code-highlight.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"prismjs-default copy-to-clipboard word-wrap\">\n\t\t\t<pre data-line=\"\" class=\"highlight-height language-csharp \">\n\t\t\t\t<code readonly=\"true\" class=\"language-csharp\">\n\t\t\t\t\t<xmp>\nSession conn = null;\nconn = new Session();\n\n\nif (conn.open_connection())\n{\n\tstring command = \"set designer  info\";\n\tJson_io info;\n\n\t\/\/ preparazione del testo json..\n\t\/\/\n\t.\n\tinfo.output( \" {  testo json mndato . }\");\n\tconn.send_cmd_json_put(command, info);.\n\n\tconn.close();\n}\n<\/xmp>\n\t\t\t\t<\/code>\n\t\t\t<\/pre>\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-17c186a elementor-widget elementor-widget-text-editor\" data-id=\"17c186a\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>L&#8217;esempio mostra come mandare un comando &lt;<span style=\"color: #008000;\">set designer info<\/span>&gt; ed un contenuto <span style=\"color: #0000ff;\">json<\/span> che dovr\u00e0 essere trattato da Colibr\u00ec\u00a0<\/p><p>le strutture Json sono visibili da Colibri come stringhe, sar\u00e0 il contesto del comando mandato che definir\u00e0 se il buffer debba essere riempito o estratto.. Come nel caso di tutti gli oggetti passati da Colibr\u00ec, la loro allocazione e disallocazione sar\u00e0 effettuata in automatico quando non pi\u00f9 necessario<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-25c46d71 elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"25c46d71\" data-element_type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-50 elementor-top-column elementor-element elementor-element-6bfa31dc\" data-id=\"6bfa31dc\" data-element_type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-ea60b83 elementor-widget__width-initial elementor-widget elementor-widget-image\" data-id=\"ea60b83\" data-element_type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<img fetchpriority=\"high\" decoding=\"async\" data-attachment-id=\"4276\" data-permalink=\"https:\/\/www.colorwave.it\/blog\/colibri\/ezechiele-parte-seconda\/admin\/2021\/03\/attachment\/next_step\/\" data-orig-file=\"https:\/\/i0.wp.com\/www.colorwave.it\/blog\/wp-content\/uploads\/2021\/03\/next_step.jpg?fit=256%2C256&amp;ssl=1\" data-orig-size=\"256,256\" data-comments-opened=\"1\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}\" data-image-title=\"next_step\" data-image-description=\"\" data-image-caption=\"\" data-medium-file=\"https:\/\/i0.wp.com\/www.colorwave.it\/blog\/wp-content\/uploads\/2021\/03\/next_step.jpg?fit=256%2C256&amp;ssl=1\" data-large-file=\"https:\/\/i0.wp.com\/www.colorwave.it\/blog\/wp-content\/uploads\/2021\/03\/next_step.jpg?fit=256%2C256&amp;ssl=1\" tabindex=\"0\" role=\"button\" width=\"256\" height=\"256\" src=\"https:\/\/i0.wp.com\/www.colorwave.it\/blog\/wp-content\/uploads\/2021\/03\/next_step.jpg?fit=256%2C256&amp;ssl=1\" class=\"attachment-large size-large wp-image-4276\" alt=\"\" srcset=\"https:\/\/i0.wp.com\/www.colorwave.it\/blog\/wp-content\/uploads\/2021\/03\/next_step.jpg?w=256&amp;ssl=1 256w, https:\/\/i0.wp.com\/www.colorwave.it\/blog\/wp-content\/uploads\/2021\/03\/next_step.jpg?resize=150%2C150&amp;ssl=1 150w\" sizes=\"(max-width: 256px) 100vw, 256px\" data-attachment-id=\"4276\" data-permalink=\"https:\/\/www.colorwave.it\/blog\/colibri\/ezechiele-parte-seconda\/admin\/2021\/03\/attachment\/next_step\/\" data-orig-file=\"https:\/\/i0.wp.com\/www.colorwave.it\/blog\/wp-content\/uploads\/2021\/03\/next_step.jpg?fit=256%2C256&amp;ssl=1\" data-orig-size=\"256,256\" data-comments-opened=\"1\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}\" data-image-title=\"next_step\" data-image-description=\"\" data-image-caption=\"\" data-medium-file=\"https:\/\/i0.wp.com\/www.colorwave.it\/blog\/wp-content\/uploads\/2021\/03\/next_step.jpg?fit=256%2C256&amp;ssl=1\" data-large-file=\"https:\/\/i0.wp.com\/www.colorwave.it\/blog\/wp-content\/uploads\/2021\/03\/next_step.jpg?fit=256%2C256&amp;ssl=1\" role=\"button\" \/>\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t<div class=\"elementor-column elementor-col-50 elementor-top-column elementor-element elementor-element-6875d808\" data-id=\"6875d808\" data-element_type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-11c8d64 elementor-widget elementor-widget-text-editor\" data-id=\"11c8d64\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>Con questo articolo \u00e8, per ora, terminata l&#8217;esposizione delle classi di CLB_Ezechiele_net.\u00a0<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-7197dd4e elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"7197dd4e\" data-element_type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-50 elementor-top-column elementor-element elementor-element-1a09deeb\" data-id=\"1a09deeb\" data-element_type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-2f377551 elementor-align-justify elementor-widget elementor-widget-button\" data-id=\"2f377551\" data-element_type=\"widget\" data-widget_type=\"button.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<div class=\"elementor-button-wrapper\">\n\t\t\t\t\t<a class=\"elementor-button elementor-button-link elementor-size-sm\" href=\"https:\/\/wp.me\/p9rwsf-17B\" target=\"_blank\">\n\t\t\t\t\t\t<span class=\"elementor-button-content-wrapper\">\n\t\t\t\t\t\t<span class=\"elementor-button-icon\">\n\t\t\t\t<svg aria-hidden=\"true\" class=\"e-font-icon-svg e-far-arrow-alt-circle-left\" viewBox=\"0 0 512 512\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\"><path d=\"M8 256c0 137 111 248 248 248s248-111 248-248S393 8 256 8 8 119 8 256zm448 0c0 110.5-89.5 200-200 200S56 366.5 56 256 145.5 56 256 56s200 89.5 200 200zm-72-20v40c0 6.6-5.4 12-12 12H256v67c0 10.7-12.9 16-20.5 8.5l-99-99c-4.7-4.7-4.7-12.3 0-17l99-99c7.6-7.6 20.5-2.2 20.5 8.5v67h116c6.6 0 12 5.4 12 12z\"><\/path><\/svg>\t\t\t<\/span>\n\t\t\t\t\t\t\t\t\t<span class=\"elementor-button-text\">articolo precedente<\/span>\n\t\t\t\t\t<\/span>\n\t\t\t\t\t<\/a>\n\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t<div class=\"elementor-column elementor-col-50 elementor-top-column elementor-element elementor-element-5e0a3244\" data-id=\"5e0a3244\" data-element_type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap\">\n\t\t\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"<p>CLB_Ezechiele_net &#8211; utilizzare le strutture Json per comunicare con Colibr\u00ec nell&#8217;articolo precedente\u00a0 abbiamo descritto il modo in cui i comandi e parametri sono scambiati con la libreria nativa Clb_Ezechiele. In questo articolo vedremo come le strutture Json sono utilizzate per scambiare informazioni&#8230;<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"jetpack_post_was_ever_published":false,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"footnotes":"","_jetpack_memberships_contains_paid_content":false,"jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":false,"jetpack_social_options":{"image_generator_settings":{"template":"highway","enabled":false},"version":2}},"categories":[123,90,122],"tags":[],"jetpack_publicize_connections":[],"acf":[],"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"jetpack_shortlink":"https:\/\/wp.me\/p9rwsf-182","jetpack_likes_enabled":true,"jetpack-related-posts":[],"_links":{"self":[{"href":"https:\/\/www.colorwave.it\/blog\/wp-json\/wp\/v2\/posts\/4342"}],"collection":[{"href":"https:\/\/www.colorwave.it\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.colorwave.it\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.colorwave.it\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.colorwave.it\/blog\/wp-json\/wp\/v2\/comments?post=4342"}],"version-history":[{"count":13,"href":"https:\/\/www.colorwave.it\/blog\/wp-json\/wp\/v2\/posts\/4342\/revisions"}],"predecessor-version":[{"id":4409,"href":"https:\/\/www.colorwave.it\/blog\/wp-json\/wp\/v2\/posts\/4342\/revisions\/4409"}],"wp:attachment":[{"href":"https:\/\/www.colorwave.it\/blog\/wp-json\/wp\/v2\/media?parent=4342"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.colorwave.it\/blog\/wp-json\/wp\/v2\/categories?post=4342"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.colorwave.it\/blog\/wp-json\/wp\/v2\/tags?post=4342"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}