{"id":430,"date":"2015-06-29T11:49:32","date_gmt":"2015-06-29T18:49:32","guid":{"rendered":"http:\/\/www.icetips.com\/blog_wp\/?p=430"},"modified":"2015-06-29T22:19:23","modified_gmt":"2015-06-30T05:19:23","slug":"new-utilities-and-previewer-builds","status":"publish","type":"post","link":"http:\/\/www.icetips.com\/blog_wp\/2015\/06\/29\/new-utilities-and-previewer-builds\/","title":{"rendered":"New Utilities and Previewer builds"},"content":{"rendered":"<p>I have released two new product builds this morning. \u00a0<a href=\"http:\/\/www.icetips.com\/downloadfile.php?FileID=254\" target=\"_blank\">Icetips Utilities build 1.2.2433<\/a> and <a href=\"http:\/\/www.icetips.com\/downloadfile.php?FileID=253\" target=\"_blank\">Icetips Previewer build 2.7.392<\/a>.<\/p>\n<p>The Previewer build fixes a problem with the Page of Pages template which I found out was not working with the Legacy\/Clarion template chain. \u00a0This build also includes the fix to scrolling under Clarion 10.<\/p>\n<p>There are two new features in the Utilities that will come in very handy when dealing with importing comma separated files.<\/p>\n<p>First is a new property,\u00a0pDelimterStartsLine, to the <strong><a href=\"http:\/\/www.icetips.com\/manuals\/utilities\/splitstring_stringclass.htm\" target=\"_blank\">SplitString method<\/a><\/strong>. \u00a0It allows it to split strings where the delimiter is the beginning of a line, not the end of it. \u00a0Normally SplitString splits strings based on CR+LF (&lt;13,10&gt;) characters at the end of the line. \u00a0Recently a customer needed to split a string that had no CR+LF pairs, but each record started with a specific string. \u00a0By\u00a0implementing this change he was able to split up his file and read the data correctly.<\/p>\n<p>The second new thing is the <strong><a href=\"http:\/\/www.icetips.com\/manuals\/utilities\/parsecsvline_stringclass.htm\" target=\"_blank\">ParseCSVLine method<\/a><\/strong>. \u00a0It takes a line of comma separated CSV data and splits it into fields, stored in the <a href=\"http:\/\/www.icetips.com\/manuals\/utilities\/csvfields_stringclass.htm\" target=\"_blank\">CSVFields<\/a> property of the <a href=\"http:\/\/www.icetips.com\/manuals\/utilities\/stringclass_overview.htm\" target=\"_blank\">Icetips String Class<\/a>. \u00a0This method can take regular old CSV data and parse it into easily accessible field data. It handles commas in strings without problems so there is no worry about it getting out of sync if the data is otherwise properly formatted. \u00a0I have made it flexible so that you can specify if strings are quoted or not (if they are, the code will look for and ignore commas inside the string) as well as specify the delimiter to use (up to 4 characters). \u00a0The pStringsAreQuotes parameter defaults to TRUE and the pDelimiter defaults to a comma (,) \u00a0<a href=\"http:\/\/www.icetips.com\/manuals\/utilities\/parsecsvline_stringclass.htm\" target=\"_blank\">Check out the demo code<\/a> in the help:<\/p>\n<pre>ITS  ITStringClass\r\nS    STRING(255)\r\nI    LONG \r\nF    LONG\r\nX    LONG \r\n  CODE\r\n  ITS.FileToLines('testcsv.csv')\r\n  LOOP I = 1 TO Records(ITS.Lines)\r\n    GET(ITS.Lines,I)\r\n    F = ITS.ParseCSVLine(ITS.Lines.OL)\r\n    ITS.ODS('Line: ' &amp; ITS.Lines.OL)\r\n    IF F\r\n      ITS.ODS('  ' &amp; Format(F,@n_3) &amp; ' Fields from ' &amp; ITS.Lines.OL)\r\n      LOOP X = 1 TO F\r\n        GET(ITS.CSVFields,X)\r\n        ITS.ODS('    ' &amp; Format(X,@n02) &amp; ' ' &amp; ITS.CSVFields.OL)\r\n      END\r\n    END\r\n  END<\/pre>\n<figure id=\"attachment_431\" aria-describedby=\"caption-attachment-431\" style=\"width: 564px\" class=\"wp-caption aligncenter\"><a href=\"http:\/\/www.icetips.com\/blog_wp\/wp-content\/uploads\/2015\/06\/UtilitiesParseCSVLine.png\"><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-431\" src=\"http:\/\/www.icetips.com\/blog_wp\/wp-content\/uploads\/2015\/06\/UtilitiesParseCSVLine.png\" alt=\"ParseCSVLine example code (image)\" width=\"564\" height=\"306\" srcset=\"http:\/\/www.icetips.com\/blog_wp\/wp-content\/uploads\/2015\/06\/UtilitiesParseCSVLine.png 564w, http:\/\/www.icetips.com\/blog_wp\/wp-content\/uploads\/2015\/06\/UtilitiesParseCSVLine-300x163.png 300w\" sizes=\"auto, (max-width: 564px) 100vw, 564px\" \/><\/a><figcaption id=\"caption-attachment-431\" class=\"wp-caption-text\">ParseCSVLine example code (image)<\/figcaption><\/figure>\n<p>There are also some fixes in this Utilities release:<\/p>\n<div>\n<table border=\"0\" cellspacing=\"0\" cellpadding=\"0\">\n<tbody>\n<tr valign=\"baseline\">\n<td width=\"162\"><em><span class=\"f_VersionInformation\">March 10, 2015<\/span><\/em><\/td>\n<td><span class=\"f_VersionInformation\">The template could cause classes to export an older version which could cause \"xxx is unresolved for export\" errors when compiling exporting dlls.\u00a0 Fixed.<\/span><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<div>\n<table border=\"0\" cellspacing=\"0\" cellpadding=\"0\">\n<tbody>\n<tr valign=\"baseline\">\n<td width=\"162\"><em><span class=\"f_VersionInformation\">May 24, 2015<\/span><\/em><\/td>\n<td><span class=\"f_VersionInformation\">Fixed a potential memory leak in the <a href=\"http:\/\/www.icetips.com\/manuals\/utilities\/addintoparenthesis_stringclass.htm\">AddIntoParenthesis<\/a> method.<\/span><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<div>\n<table border=\"0\" cellspacing=\"0\" cellpadding=\"0\">\n<tbody>\n<tr valign=\"baseline\">\n<td width=\"162\"><em><span class=\"f_VersionInformation\">June 27, 2015<\/span><\/em><\/td>\n<td><span class=\"f_VersionInformation\">Image Class ResizeImage method did not work correctly on reports.\u00a0 Fixed.<\/span><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<div>\n<table border=\"0\" cellspacing=\"0\" cellpadding=\"0\">\n<tbody>\n<tr valign=\"baseline\">\n<td width=\"162\"><em><span class=\"f_VersionInformation\">June 27, 2015<\/span><\/em><\/td>\n<td><span class=\"f_VersionInformation\">Image Class ResizeImage did not correctly size images when it was called multiple times for the same image control.\u00a0 Fixed.<\/span><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<p><em>Arnor Baldvinsson<\/em><\/p>\n<div class=\"pvc_clear\"><\/div>\n<p id=\"pvc_stats_430\" class=\"pvc_stats all  \" data-element-id=\"430\" style=\"\"><i class=\"pvc-stats-icon medium\" aria-hidden=\"true\"><svg aria-hidden=\"true\" focusable=\"false\" data-prefix=\"far\" data-icon=\"chart-bar\" role=\"img\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewBox=\"0 0 512 512\" class=\"svg-inline--fa fa-chart-bar fa-w-16 fa-2x\"><path fill=\"currentColor\" d=\"M396.8 352h22.4c6.4 0 12.8-6.4 12.8-12.8V108.8c0-6.4-6.4-12.8-12.8-12.8h-22.4c-6.4 0-12.8 6.4-12.8 12.8v230.4c0 6.4 6.4 12.8 12.8 12.8zm-192 0h22.4c6.4 0 12.8-6.4 12.8-12.8V140.8c0-6.4-6.4-12.8-12.8-12.8h-22.4c-6.4 0-12.8 6.4-12.8 12.8v198.4c0 6.4 6.4 12.8 12.8 12.8zm96 0h22.4c6.4 0 12.8-6.4 12.8-12.8V204.8c0-6.4-6.4-12.8-12.8-12.8h-22.4c-6.4 0-12.8 6.4-12.8 12.8v134.4c0 6.4 6.4 12.8 12.8 12.8zM496 400H48V80c0-8.84-7.16-16-16-16H16C7.16 64 0 71.16 0 80v336c0 17.67 14.33 32 32 32h464c8.84 0 16-7.16 16-16v-16c0-8.84-7.16-16-16-16zm-387.2-48h22.4c6.4 0 12.8-6.4 12.8-12.8v-70.4c0-6.4-6.4-12.8-12.8-12.8h-22.4c-6.4 0-12.8 6.4-12.8 12.8v70.4c0 6.4 6.4 12.8 12.8 12.8z\" class=\"\"><\/path><\/svg><\/i> <img loading=\"lazy\" decoding=\"async\" width=\"16\" height=\"16\" alt=\"Loading\" src=\"http:\/\/www.icetips.com\/blog_wp\/wp-content\/plugins\/page-views-count\/ajax-loader-2x.gif\" border=0 \/><\/p>\n<div class=\"pvc_clear\"><\/div>\n","protected":false},"excerpt":{"rendered":"<p>I have released two new product builds this morning. \u00a0Icetips Utilities build 1.2.2433 and Icetips Previewer build 2.7.392. The Previewer build fixes a problem with the Page of Pages template which I found out was not working with the Legacy\/Clarion template chain. \u00a0This build also includes the fix to scrolling under Clarion 10. There are <a href=\"http:\/\/www.icetips.com\/blog_wp\/2015\/06\/29\/new-utilities-and-previewer-builds\/\" class=\"more-link\">...continue reading <span class=\"screen-reader-text\">New Utilities and Previewer builds<\/span><\/a><\/p>\n<div class=\"pvc_clear\"><\/div>\n<p id=\"pvc_stats_430\" class=\"pvc_stats all  \" data-element-id=\"430\" style=\"\"><i class=\"pvc-stats-icon medium\" aria-hidden=\"true\"><svg aria-hidden=\"true\" focusable=\"false\" data-prefix=\"far\" data-icon=\"chart-bar\" role=\"img\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewBox=\"0 0 512 512\" class=\"svg-inline--fa fa-chart-bar fa-w-16 fa-2x\"><path fill=\"currentColor\" d=\"M396.8 352h22.4c6.4 0 12.8-6.4 12.8-12.8V108.8c0-6.4-6.4-12.8-12.8-12.8h-22.4c-6.4 0-12.8 6.4-12.8 12.8v230.4c0 6.4 6.4 12.8 12.8 12.8zm-192 0h22.4c6.4 0 12.8-6.4 12.8-12.8V140.8c0-6.4-6.4-12.8-12.8-12.8h-22.4c-6.4 0-12.8 6.4-12.8 12.8v198.4c0 6.4 6.4 12.8 12.8 12.8zm96 0h22.4c6.4 0 12.8-6.4 12.8-12.8V204.8c0-6.4-6.4-12.8-12.8-12.8h-22.4c-6.4 0-12.8 6.4-12.8 12.8v134.4c0 6.4 6.4 12.8 12.8 12.8zM496 400H48V80c0-8.84-7.16-16-16-16H16C7.16 64 0 71.16 0 80v336c0 17.67 14.33 32 32 32h464c8.84 0 16-7.16 16-16v-16c0-8.84-7.16-16-16-16zm-387.2-48h22.4c6.4 0 12.8-6.4 12.8-12.8v-70.4c0-6.4-6.4-12.8-12.8-12.8h-22.4c-6.4 0-12.8 6.4-12.8 12.8v70.4c0 6.4 6.4 12.8 12.8 12.8z\" class=\"\"><\/path><\/svg><\/i> <img loading=\"lazy\" decoding=\"async\" width=\"16\" height=\"16\" alt=\"Loading\" src=\"http:\/\/www.icetips.com\/blog_wp\/wp-content\/plugins\/page-views-count\/ajax-loader-2x.gif\" border=0 \/><\/p>\n<div class=\"pvc_clear\"><\/div>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_bbp_topic_count":0,"_bbp_reply_count":0,"_bbp_total_topic_count":0,"_bbp_total_reply_count":0,"_bbp_voice_count":0,"_bbp_anonymous_reply_count":0,"_bbp_topic_count_hidden":0,"_bbp_reply_count_hidden":0,"_bbp_forum_subforum_count":0,"footnotes":""},"categories":[4,6],"tags":[],"class_list":["post-430","post","type-post","status-publish","format-standard","hentry","category-products","category-news"],"_links":{"self":[{"href":"http:\/\/www.icetips.com\/blog_wp\/wp-json\/wp\/v2\/posts\/430","targetHints":{"allow":["GET"]}}],"collection":[{"href":"http:\/\/www.icetips.com\/blog_wp\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/www.icetips.com\/blog_wp\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/www.icetips.com\/blog_wp\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/www.icetips.com\/blog_wp\/wp-json\/wp\/v2\/comments?post=430"}],"version-history":[{"count":2,"href":"http:\/\/www.icetips.com\/blog_wp\/wp-json\/wp\/v2\/posts\/430\/revisions"}],"predecessor-version":[{"id":433,"href":"http:\/\/www.icetips.com\/blog_wp\/wp-json\/wp\/v2\/posts\/430\/revisions\/433"}],"wp:attachment":[{"href":"http:\/\/www.icetips.com\/blog_wp\/wp-json\/wp\/v2\/media?parent=430"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/www.icetips.com\/blog_wp\/wp-json\/wp\/v2\/categories?post=430"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/www.icetips.com\/blog_wp\/wp-json\/wp\/v2\/tags?post=430"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}