Dicas para a Certificação Delphi Developer #1

Após 3 dias do lançamento do novo  Programa de Certificação Delphi, vários desenvolvedores Delphi ao redor do mundo se tornaram Certified Delphi Developer.

A fim de motivar outros desenvolvedores, decidi começar a publicar aqui no blog dicas para o programa de certificação, o qual tem o objetivo lhe ajudar na preparação para as provas. O guia de estudo (Study Guide) para a certificação Developer é o guia oficial e traz todas as informações que você precisa para estar preparado para a prova. As dicas que começarei a publicar devem ser consideradas como um material complementar e não substituirá os Study Guides.

Eu não estarei publicando perguntas e/ou resposta relacionadas a prova, o objetivo é ajudar você 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.

A prova é inglês, assim sendo é necessário o conhecimento do idioma, estarei obviamente trazendo explicações em português, mas também apontando para materiais em ambos idiomas, especialmente para a documentação do Delphi que é uma das principais fontes de estudo.

Para começar, vamos aprender sobre o tipo de dado System.RawByteString e aprimorar seus conhecimentos sobre o suporte a Unicode, você poderá ser questionado na prova de forma direta ou indireta sobre este tema.

System.RawByteString

RawByteString é um dos novos tipos de String incorporados no Delphi 2009 por causa do suporte a Unicode. RawByteString é um AnsiString que não tem code page (código de página) definido como padrão, cada string em Delphi esta asociada a um code page. A runtime library usa esta informação para converter e manipular de forma segura conjuntos de caracteres internacionais. RawByteString pode ser usado como um tipo de variável para armazenar BLOB e deve ser usado como code page agnóstico em parâmetro métodos.

A documentação do RAD Studio (em inglês) descreve RawByteString assim:

Enables the passing of string data of any code page without doing any codepage conversions.

RawByteString 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’s code page should typically be of type RawByteString.

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.

In general, it is recommended that string processing routines should simply use “string” as the string type. Declaring variables or fields of type RawByteString should rarely, if ever, be done, because this practice can lead to undefined behavior and potential data loss.

Abaixo, 4 links que eu recomendo para leitura:

Com estas informações você estará preparado para responder perguntas relacionadas a RawByteString e Unicode, e o mais importante aprender mais sobre Delphi.

3 respostas
  1. Francesco Coutinho
    Francesco Coutinho says:

    Olá, muito bom conhecer o recurso, estou na versão 2006 e não conhecia ainda, estava testando um código referente ao tema, postado em um site, mas para aquele exemplo não consegui implementar devido não conseguir encontrar o evento ShowCodePage, posso postar o site para você dar uma olhada? Abraços.

    Responder

Deixe uma resposta

Want to join the discussion?
Feel free to contribute!

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *


Esse site utiliza o Akismet para reduzir spam. Aprenda como seus dados de comentários são processados.