{"id":26354,"date":"2020-11-27T15:05:23","date_gmt":"2020-11-27T14:05:23","guid":{"rendered":"https:\/\/help.qualiware.it\/qw-help\/?p=26354"},"modified":"2021-03-09T22:51:43","modified_gmt":"2021-03-09T21:51:43","slug":"fd-csharp","status":"publish","type":"post","link":"https:\/\/help.qualiware.it\/qw-help\/fd-csharp\/","title":{"rendered":"Supporto del linguaggio C#"},"content":{"rendered":"<div class=\"msgBody\">Dalla versione 2021.00 QualiWare supporta il linguaggio <strong>C#<\/strong> nei seguenti tipi di script:<\/div>\n<div class=\"msgBody\">\n<ul>\n<li>Eventi nei form realizzati con il Form Designer<\/li>\n<li>Task<\/li>\n<li>Script e condizioni nel Workflow Designer<\/li>\n<li>Script collegati agli oggetti nei plug-in delle schede standard<\/li>\n<\/ul>\n<\/div>\n<p>Il sistema \u00e8 in grado di riconoscere automaticamente il linguaggio utilizzato, e di evidenziarne la sintassi di conseguenza.<\/p>\n<p>E&#8217; necessario tenere presente che:<\/p>\n<ul>\n<li>In un form tutti gli eventi devono essere scritti nello stesso linguaggio. In altre parole, non \u00e8 possibile, nello stesso form, avere alcuni eventi scritti in VB.NET e altri in C#. Per verificare questo, si pu\u00f2 effettuare un&#8217;esportazione del form in XML o eseguire il report della configurazione, e verificare che tutti gli eventi comincino con i caratteri &#8220;\/\/C#&#8221;, o che nessun evento abbia quel prefisso.<br \/>\nE&#8217; invece possibile utilizzare codice scritto in linguaggi diversi all&#8217;interno dello stesso workflow o dello stesso plug-in.<\/li>\n<li>Gli eventi di una sola riga devono finire con &#8220;;&#8221; altrimenti non viene riconosciuto come C#.<\/li>\n<\/ul>\n<h4><strong>Differenze fra VB.NET e C#<\/strong><\/h4>\n<p>VB .NET e C# presentano alcune differenze importanti che \u00e8 necessario tenere presente nella scrittura del codice. Qui di seguito riportiamo quelle che possono creare qualche difficolt\u00e0 durante lo sviluppo.<\/p>\n<ul>\n<li>C# \u00e8 <strong>case sensitive<\/strong>. E&#8217; quindi indispensabile scrivere i nomi dei tipi o delle funzioni esattamente come sono riportati nella documentazione o nei suggerimenti che appaiono durante la scrittura del programma.<\/li>\n<li>Gli elementi dei DBArray, degli AssocArray (compreso &#8220;Fields&#8221;) e delle collection vanno indicizzati usando le parentesi quadre anzich\u00e8 le tonde, altrimenti viene restituito un errore.<br \/>\nEsempi:<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"csharp\">This.Style[\"TOP\"]=\"10px\";\r\na[1]=2;\r\nb[\"A1\"]=3<\/pre>\n<\/li>\n<li>Nei metodi &#8220;Execute&#8221; degli oggetti &#8220;Procedura&#8221; non \u00e8 possibile passare delle costanti nei vari parametri, ma \u00e8 necessario utilizzare sempre delle variabili. Inoltre queste devono essere precedute dalla parola chiave &#8220;ref&#8221;.<br \/>\nEsempio:<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"csharp\">object a=\"A\";\r\nobject b=\"B\";\r\nobject c=\"C\";\r\nobject d=\"D\";\r\nform.findcontrol(\"ProcedureCode1\").Execute(ref a, ref b, ref c, ref d);\r\n<\/pre>\n<\/li>\n<li>C# \u00e8 un linguaggio fortemente tipizzato. I valori restituiti dai campi non vengono convertiti implicitamente nei tipi relativi, ma per poterli utilizzare bisogna convertirli specificando il tipo davanti.<br \/>\nEsempio:<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"csharp\">return (bool) FORMFIELDS[\"FLAG1\"].Value;<\/pre>\n<\/li>\n<\/ul>\n<h4><strong>Convertitore VB.NET &lt;-&gt; C#<\/strong><\/h4>\n<p>Il gestore eventi del Form Designer mette a disposizione un&#8217;interessante funzionalit\u00e0 che consente di convertire un evento da VB.NET a C# e viceversa. Essa utilizza la funzionalit\u00e0 on-line messa a disposizione da Telerik e disponibile a <a href=\"https:\/\/converter.telerik.com\/\" target=\"_blank\" rel=\"noopener noreferrer\">questa pagina<\/a>.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-26363 size-full\" src=\"https:\/\/help.qualiware.it\/qw-help\/wp-content\/uploads\/Pasted-into-Supporto-del-linguaggio-C.png\" alt=\"\" width=\"956\" height=\"557\" srcset=\"https:\/\/help.qualiware.it\/qw-help\/wp-content\/uploads\/Pasted-into-Supporto-del-linguaggio-C.png 956w, https:\/\/help.qualiware.it\/qw-help\/wp-content\/uploads\/Pasted-into-Supporto-del-linguaggio-C-300x175.png 300w, https:\/\/help.qualiware.it\/qw-help\/wp-content\/uploads\/Pasted-into-Supporto-del-linguaggio-C-768x447.png 768w\" sizes=\"(max-width: 956px) 100vw, 956px\" \/><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Dalla versione 2021.00 QualiWare supporta il linguaggio C# nei seguenti tipi di script: Eventi nei form realizzati con il Form Designer Task Script e condizioni nel Workflow Designer Script collegati agli oggetti nei plug-in delle schede standard Il sistema \u00e8 in grado di riconoscere automaticamente il linguaggio utilizzato, e di evidenziarne la sintassi di conseguenza.&hellip;<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"ngg_post_thumbnail":0,"footnotes":""},"categories":[6],"tags":[],"acf":[],"_links":{"self":[{"href":"https:\/\/help.qualiware.it\/qw-help\/wp-json\/wp\/v2\/posts\/26354"}],"collection":[{"href":"https:\/\/help.qualiware.it\/qw-help\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/help.qualiware.it\/qw-help\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/help.qualiware.it\/qw-help\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/help.qualiware.it\/qw-help\/wp-json\/wp\/v2\/comments?post=26354"}],"version-history":[{"count":0,"href":"https:\/\/help.qualiware.it\/qw-help\/wp-json\/wp\/v2\/posts\/26354\/revisions"}],"wp:attachment":[{"href":"https:\/\/help.qualiware.it\/qw-help\/wp-json\/wp\/v2\/media?parent=26354"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/help.qualiware.it\/qw-help\/wp-json\/wp\/v2\/categories?post=26354"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/help.qualiware.it\/qw-help\/wp-json\/wp\/v2\/tags?post=26354"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}