{"id":1293,"date":"2011-06-11T04:48:31","date_gmt":"2011-06-10T20:48:31","guid":{"rendered":"http:\/\/www.andreanolanusse.com\/pt\/?p=1293"},"modified":"2011-08-01T14:46:22","modified_gmt":"2011-08-01T06:46:22","slug":"dicas-para-a-certificacao-delphi-developer-1","status":"publish","type":"post","link":"http:\/\/www.andreanolanusse.com\/pt\/dicas-para-a-certificacao-delphi-developer-1\/","title":{"rendered":"Dicas para a Certifica\u00e7\u00e3o Delphi Developer #1"},"content":{"rendered":"<p>Ap\u00f3s 3 dias do lan\u00e7amento do novo \u00a0<a title=\"Certification Center\" href=\"http:\/\/www.embarcadero.com\/certification\" target=\"_blank\">Programa de Certifica\u00e7\u00e3o Delphi<\/a>, v\u00e1rios desenvolvedores Delphi ao redor do mundo se tornaram <a href=\"www.embarcadero.com\/certification\/delphi-developer\" target=\"_blank\">Certified Delphi Developer<\/a>.<\/p>\n<p>A fim de motivar outros desenvolvedores, decidi come\u00e7ar a publicar aqui no blog dicas para o programa de certifica\u00e7\u00e3o, o qual tem o objetivo lhe ajudar na prepara\u00e7\u00e3o para as provas. O guia de estudo (Study Guide) para a certifica\u00e7\u00e3o Developer \u00e9 o guia oficial e traz todas as informa\u00e7\u00f5es que voc\u00ea precisa para estar preparado para a prova. As dicas que come\u00e7arei a publicar devem ser consideradas como um material complementar e n\u00e3o substituir\u00e1 os Study Guides.<\/p>\n<p>Eu n\u00e3o estarei publicando perguntas e\/ou resposta relacionadas a prova, o objetivo \u00e9 ajudar voc\u00ea a se preparar para a prova, aprender mais sobre Delphi, melhorar suas qualidades como desenvolvedor e aumentar suas chances de se tornar um profissional Delphi Developer Certified.<\/p>\n<p>A prova \u00e9 ingl\u00eas, assim sendo \u00e9 necess\u00e1rio o conhecimento do idioma, estarei obviamente trazendo explica\u00e7\u00f5es em portugu\u00eas, mas tamb\u00e9m apontando para materiais em ambos idiomas, especialmente para a documenta\u00e7\u00e3o do Delphi que \u00e9 uma das principais fontes de estudo.<\/p>\n<p>Para come\u00e7ar, vamos aprender sobre o tipo de dado System.RawByteString e aprimorar seus conhecimentos sobre o suporte a Unicode, voc\u00ea poder\u00e1 ser questionado na prova de forma direta ou indireta sobre este tema.<\/p>\n<h1>System.RawByteString<\/h1>\n<p>RawByteString \u00e9 um dos novos tipos de String incorporados no Delphi 2009 por causa do suporte a Unicode. RawByteString \u00e9 um AnsiString que n\u00e3o tem code page (c\u00f3digo de p\u00e1gina) definido como padr\u00e3o, cada string em Delphi esta asociada a um code page. A runtime library usa esta informa\u00e7\u00e3o para converter e manipular de forma segura conjuntos de caracteres internacionais. RawByteString pode ser usado como um tipo de vari\u00e1vel para armazenar BLOB e deve ser usado como code page agn\u00f3stico em\u00a0par\u00e2metro m\u00e9todos.<\/p>\n<p>A documenta\u00e7\u00e3o do RAD Studio (em ingl\u00eas) descreve\u00a0<a title=\"System.RawByteString description\" href=\"http:\/\/docwiki.embarcadero.com\/VCL\/en\/System.RawByteString\" target=\"_blank\">RawByteString<\/a> assim:<\/p>\n<blockquote><p>Enables the passing of string data of any code page without doing any codepage conversions.<\/p>\n<p><strong>RawByteString<\/strong> enables the passing of string data of any code page without doing any codepage conversions. The purpose of RawByteString is to reduce the need for multiple overloads of procedures that read string data. This means that parameters of routines that process strings without regard for the string&#8217;s code page should typically be of type\u00a0<strong>RawByteString<\/strong>.<\/p>\n<p>RawByteString should only be used as a parameter type, and only in routines which otherwise would need multiple overloads for AnsiStrings with different codepages. Such routines need to be written with care for the actual codepage of the string at run time.<\/p>\n<p>In general, it is recommended that string processing routines should simply use &#8220;string&#8221; as the string type. Declaring variables or fields of type\u00a0<strong>RawByteString<\/strong> should rarely, if ever, be done, because this practice can lead to undefined behavior and potential data loss.<\/p><\/blockquote>\n<p>Abaixo, 4 links que eu recomendo para leitura:<\/p>\n<ul>\n<li><a href=\"http:\/\/www.livrariasaraiva.com.br\/produto\/2853736\" target=\"_blank\">Recursos Avan\u00e7ados do Delphi 2009<\/a> &#8211; Capitulo sobre Unicode<\/li>\n<li><a href=\"http:\/\/www.embarcadero.com\/images\/dm\/technical-papers\/delphi-unicode-migration.pdf\" target=\"_blank\">Delphi Unicode Migration for Mere\u00a0Mortals: Stories and Advice from the\u00a0Front Lines<\/a><\/li>\n<li><a href=\"http:\/\/www.micro-isv.asia\/2008\/08\/using-rawbytestring-effectively\/\" target=\"_blank\">Using RawByteString Effectively<\/a><\/li>\n<li><a href=\"http:\/\/docwiki.embarcadero.com\/RADStudio\/en\/String_Types\" target=\"_blank\">RAD Studio Documentation &#8211; String Types (Delphi) &#8211; already mentioned on the Study Guide<\/a><\/li>\n<\/ul>\n<p>Com estas informa\u00e7\u00f5es voc\u00ea estar\u00e1 preparado para responder perguntas relacionadas a RawByteString e Unicode, e o mais importante aprender mais sobre Delphi.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Ap\u00f3s 3 dias do lan\u00e7amento do novo \u00a0Programa de Certifica\u00e7\u00e3o Delphi, v\u00e1rios desenvolvedores Delphi ao redor do mundo se tornaram Certified Delphi Developer. A fim de motivar outros desenvolvedores, decidi come\u00e7ar a publicar aqui no blog dicas para o programa de certifica\u00e7\u00e3o, o qual tem o objetivo lhe ajudar na prepara\u00e7\u00e3o para as provas. O [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":1294,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"_s2mail":"yes","footnotes":""},"categories":[102],"tags":[112,181],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v16.2 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Dicas para a Certifica\u00e7\u00e3o Delphi Developer #1 | Andreano Lanusse | Tecnologia e Desenvolvimento de Software<\/title>\n<meta name=\"description\" content=\"Ap\u00f3s 3 dias do lan\u00e7amento do novo \u00a0Programa de Certifica\u00e7\u00e3o Delphi, v\u00e1rios desenvolvedores Delphi ao redor do mundo se tornaram Certified Delphi\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"http:\/\/www.andreanolanusse.com\/pt\/dicas-para-a-certificacao-delphi-developer-1\/\" \/>\n<meta property=\"og:locale\" content=\"pt_BR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Dicas para a Certifica\u00e7\u00e3o Delphi Developer #1 | Andreano Lanusse | Tecnologia e Desenvolvimento de Software\" \/>\n<meta property=\"og:description\" content=\"Ap\u00f3s 3 dias do lan\u00e7amento do novo \u00a0Programa de Certifica\u00e7\u00e3o Delphi, v\u00e1rios desenvolvedores Delphi ao redor do mundo se tornaram Certified Delphi\" \/>\n<meta property=\"og:url\" content=\"http:\/\/www.andreanolanusse.com\/pt\/dicas-para-a-certificacao-delphi-developer-1\/\" \/>\n<meta property=\"og:site_name\" content=\"Andreano Lanusse | Tecnologia e Desenvolvimento de Software\" \/>\n<meta property=\"article:published_time\" content=\"2011-06-10T20:48:31+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2011-08-01T06:46:22+00:00\" \/>\n<meta property=\"og:image\" content=\"http:\/\/www.andreanolanusse.com\/pt\/wp-content\/uploads\/2011\/06\/Delphi_Certified_Developer_Logo_dicas.png\" \/>\n\t<meta property=\"og:image:width\" content=\"440\" \/>\n\t<meta property=\"og:image:height\" content=\"250\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@andreanolanusse\" \/>\n<meta name=\"twitter:site\" content=\"@andreanolanusse\" \/>\n<meta name=\"twitter:label1\" content=\"Est. tempo de leitura\">\n\t<meta name=\"twitter:data1\" content=\"3 minutos\">\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebSite\",\"@id\":\"http:\/\/www.andreanolanusse.com\/pt\/#website\",\"url\":\"http:\/\/www.andreanolanusse.com\/pt\/\",\"name\":\"Andreano Lanusse | Tecnologia e Desenvolvimento de Software\",\"description\":\"Andreano Lanusse blog - artigos, tutoriais e v&iacute;deos sobre tecnologia, desenvolvimento de software (Delphi XE4, C#, PHP, .NET) e t&eacute;cnicas de programa&ccedil;&atilde;o\",\"publisher\":{\"@id\":\"http:\/\/www.andreanolanusse.com\/pt\/#\/schema\/person\/620bd05e81598c3aba4781796cbe8903\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":\"http:\/\/www.andreanolanusse.com\/pt\/?s={search_term_string}\",\"query-input\":\"required name=search_term_string\"}],\"inLanguage\":\"pt-BR\"},{\"@type\":\"ImageObject\",\"@id\":\"http:\/\/www.andreanolanusse.com\/pt\/dicas-para-a-certificacao-delphi-developer-1\/#primaryimage\",\"inLanguage\":\"pt-BR\",\"url\":\"http:\/\/www.andreanolanusse.com\/pt\/wp-content\/uploads\/2011\/06\/Delphi_Certified_Developer_Logo_dicas.png\",\"contentUrl\":\"http:\/\/www.andreanolanusse.com\/pt\/wp-content\/uploads\/2011\/06\/Delphi_Certified_Developer_Logo_dicas.png\",\"width\":440,\"height\":250},{\"@type\":\"WebPage\",\"@id\":\"http:\/\/www.andreanolanusse.com\/pt\/dicas-para-a-certificacao-delphi-developer-1\/#webpage\",\"url\":\"http:\/\/www.andreanolanusse.com\/pt\/dicas-para-a-certificacao-delphi-developer-1\/\",\"name\":\"Dicas para a Certifica\\u00e7\\u00e3o Delphi Developer #1 | Andreano Lanusse | Tecnologia e Desenvolvimento de Software\",\"isPartOf\":{\"@id\":\"http:\/\/www.andreanolanusse.com\/pt\/#website\"},\"primaryImageOfPage\":{\"@id\":\"http:\/\/www.andreanolanusse.com\/pt\/dicas-para-a-certificacao-delphi-developer-1\/#primaryimage\"},\"datePublished\":\"2011-06-10T20:48:31+00:00\",\"dateModified\":\"2011-08-01T06:46:22+00:00\",\"description\":\"Ap\\u00f3s 3 dias do lan\\u00e7amento do novo \\u00a0Programa de Certifica\\u00e7\\u00e3o Delphi, v\\u00e1rios desenvolvedores Delphi ao redor do mundo se tornaram Certified Delphi\",\"breadcrumb\":{\"@id\":\"http:\/\/www.andreanolanusse.com\/pt\/dicas-para-a-certificacao-delphi-developer-1\/#breadcrumb\"},\"inLanguage\":\"pt-BR\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"http:\/\/www.andreanolanusse.com\/pt\/dicas-para-a-certificacao-delphi-developer-1\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"http:\/\/www.andreanolanusse.com\/pt\/dicas-para-a-certificacao-delphi-developer-1\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"item\":{\"@type\":\"WebPage\",\"@id\":\"http:\/\/www.andreanolanusse.com\/pt\/\",\"url\":\"http:\/\/www.andreanolanusse.com\/pt\/\",\"name\":\"In\\u00edcio\"}},{\"@type\":\"ListItem\",\"position\":2,\"item\":{\"@id\":\"http:\/\/www.andreanolanusse.com\/pt\/dicas-para-a-certificacao-delphi-developer-1\/#webpage\"}}]},{\"@type\":\"Article\",\"@id\":\"http:\/\/www.andreanolanusse.com\/pt\/dicas-para-a-certificacao-delphi-developer-1\/#article\",\"isPartOf\":{\"@id\":\"http:\/\/www.andreanolanusse.com\/pt\/dicas-para-a-certificacao-delphi-developer-1\/#webpage\"},\"author\":{\"@id\":\"http:\/\/www.andreanolanusse.com\/pt\/#\/schema\/person\/620bd05e81598c3aba4781796cbe8903\"},\"headline\":\"Dicas para a Certifica\\u00e7\\u00e3o Delphi Developer #1\",\"datePublished\":\"2011-06-10T20:48:31+00:00\",\"dateModified\":\"2011-08-01T06:46:22+00:00\",\"mainEntityOfPage\":{\"@id\":\"http:\/\/www.andreanolanusse.com\/pt\/dicas-para-a-certificacao-delphi-developer-1\/#webpage\"},\"commentCount\":3,\"publisher\":{\"@id\":\"http:\/\/www.andreanolanusse.com\/pt\/#\/schema\/person\/620bd05e81598c3aba4781796cbe8903\"},\"image\":{\"@id\":\"http:\/\/www.andreanolanusse.com\/pt\/dicas-para-a-certificacao-delphi-developer-1\/#primaryimage\"},\"keywords\":[\"Certifica\\u00e7\\u00e3o\",\"Delphi\"],\"articleSection\":[\"Delphi\"],\"inLanguage\":\"pt-BR\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"http:\/\/www.andreanolanusse.com\/pt\/dicas-para-a-certificacao-delphi-developer-1\/#respond\"]}]},{\"@type\":[\"Person\",\"Organization\"],\"@id\":\"http:\/\/www.andreanolanusse.com\/pt\/#\/schema\/person\/620bd05e81598c3aba4781796cbe8903\",\"name\":\"Andreano Lanusse\",\"image\":{\"@type\":\"ImageObject\",\"@id\":\"http:\/\/www.andreanolanusse.com\/pt\/#personlogo\",\"inLanguage\":\"pt-BR\",\"url\":\"http:\/\/0.gravatar.com\/avatar\/6a9c6f73c7c480fb826c7303288abfd3?s=96&d=mm&r=g\",\"contentUrl\":\"http:\/\/0.gravatar.com\/avatar\/6a9c6f73c7c480fb826c7303288abfd3?s=96&d=mm&r=g\",\"caption\":\"Andreano Lanusse\"},\"logo\":{\"@id\":\"http:\/\/www.andreanolanusse.com\/pt\/#personlogo\"},\"sameAs\":[\"https:\/\/twitter.com\/andreanolanusse\"]}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","_links":{"self":[{"href":"http:\/\/www.andreanolanusse.com\/pt\/wp-json\/wp\/v2\/posts\/1293"}],"collection":[{"href":"http:\/\/www.andreanolanusse.com\/pt\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/www.andreanolanusse.com\/pt\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/www.andreanolanusse.com\/pt\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/www.andreanolanusse.com\/pt\/wp-json\/wp\/v2\/comments?post=1293"}],"version-history":[{"count":0,"href":"http:\/\/www.andreanolanusse.com\/pt\/wp-json\/wp\/v2\/posts\/1293\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"http:\/\/www.andreanolanusse.com\/pt\/wp-json\/wp\/v2\/media\/1294"}],"wp:attachment":[{"href":"http:\/\/www.andreanolanusse.com\/pt\/wp-json\/wp\/v2\/media?parent=1293"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/www.andreanolanusse.com\/pt\/wp-json\/wp\/v2\/categories?post=1293"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/www.andreanolanusse.com\/pt\/wp-json\/wp\/v2\/tags?post=1293"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}