You are on page 1of 17

Apostila: Funes de Manipulao de Strings em VB.

Net Objetivo
Esta apostila destina-se a todos os professores que lecionam componentes ligados a desenvolvimento e produo de software e que desejam estender seus conhecimentos no que concerne a manipulao de dados do tipo String. Muitas atividades envolvendo o desenvolvimento de software exigem tcnicas que exploram sobremaneira o uso desse tipo de dado, conhecido tambm como caractere. Nesse contexto, fica evidenciado o objetivo maior desse curso que compartilhar rotinas, funes e experincias obtidas no processamento de cadeias de caracteres.

Conhecimento requerido: Lgica de programao (Estruturas Condicionais, Estruturas de Repetio) e noes bsicas de POO (Classe, Atributos, Mtodo Construtor e Mtodos de Execuo). Requisitos de Software: Microsoft Visual Studio 2008/2010. Contedo Programtico: Apresentao das principais funes de manipulao de Strings; Codificao/testes de rotinas exemplos de aplicao das funes apresentadas; Em cada rotina de exemplo apresentada, uma atividade ser proposta; No final, ser solicitada, a ttulo de atividade de concluso do curso, a criao de uma funo (mtodo de execuo) que validar um documento do tipo CPF. A atividade dever ser enviada para o professor atravs de e-mail citado no rodap desse documento. Observao: pode ser o projeto inteiro compactado ou apenas um arquivo texto contendo os cdigos das CLASSES e do Formulrio.

Funes de Manipulao de Strings em VB.net Professor: Srgio da Silva Costa ETEC Professor Alcdio de Souza Prado Orlndia SP E-mails: sergin_costa@yahoo.com.br ou sergio.costa@etec.sp.gov.br 1

Apostila: Funes de Manipulao de Strings em VB.Net Funes LEN () Retorna o comprimento da string fornecida como argumento. Exemplo: Dim vnome As String = "" vnome = "Srgio da Silva Costa" MsgBox(Len(vnome)) 'Exibe 21 que o tamanho da String, espaos contam. TRIM () Suprime/elimina os espaos direita e esquerda de uma cadeia de caracteres. Exemplo: Dim vnome As String = "" vnome = " Srgio Costa " vnome = Trim(vnome) 'vnome passar valer "Srgio Costa". Note que o(s)
espao(s) do meio da string no (so) retirado (s).

LTRIM () Suprime/elimina os espaos esquerda (Left) de uma cadeia de caracteres. Exemplo: Dim vnome As String = "" vnome = " Srgio Costa " vnome = LTrim(vnome) 'vnome passar valer "Srgio Costa ". Note que apenas
o(s) espao(s) da esquerda da string (so) retirado(s).

RTRIM () Suprime/elimina os espaos direita (Right) de uma cadeia de caracteres. Exemplo: Dim vnome As String = "" vnome = " Srgio Costa " vnome = RTrim(vnome) 'vnome passar valer " Srgio Costa". Note que apenas
o(s) espao(s) da direita da string (so) retirado(s).

Funes de Manipulao de Strings em VB.net Professor: Srgio da Silva Costa ETEC Professor Alcdio de Souza Prado Orlndia SP E-mails: sergin_costa@yahoo.com.br ou sergio.costa@etec.sp.gov.br 2

UCASE() Converte a string fornecida como argumento em CAIXA ALTA/MAISCULO (Upper Case). Exemplo: Dim vnome As String = "" vnome = "Srgio Costa " vnome = Ucase(vnome) 'vnome passar valer "SRGIO COSTA". LCASE() Converte a string fornecida como argumento em caixa baixa/minsculo (Lower Case). Exemplo: Dim vnome As String = "" vnome = "Srgio Costa " vnome = Lcase(vnome) 'vnome passar valer "srgio costa" MID(String, Incio, Comprimento) Extrai parte (middle/meio) de uma String fornecida como argumento. Onde: String: a String fornecida como argumento, Incio: a posio a partir de qual ocorrer o recorte; Comprimento: a string, a partir do incio, que ser extrada. Exemplo: Dim Vescola As String = "ETEC Prof. Alcdio de Souza Prado" Dim vpedaco1 As String = Mid(Vescola, 1, 4) ' vpedaco1 = "ETEC" Dim vpedaco2 As String = Mid(Vescola, 6, 1) ' vpedaco2 = "P" Dim vpedaco3 As String = Mid(Vescola, 12, Len(Vescola)) ' vpedaco3 =
"Alcdio de Souza Prado"

Funes de Manipulao de Strings em VB.net Professor: Srgio da Silva Costa ETEC Professor Alcdio de Souza Prado Orlndia SP E-mails: sergin_costa@yahoo.com.br ou sergio.costa@etec.sp.gov.br 3

Apostila: Funes de Manipulao de Strings em VB.Net 1 - Iniciar um novo projeto em VB.net:

Funes de Manipulao de Strings em VB.net Professor: Srgio da Silva Costa ETEC Professor Alcdio de Souza Prado Orlndia SP E-mails: sergin_costa@yahoo.com.br ou sergio.costa@etec.sp.gov.br 4

2 Selecionar o formulrio, e ordenar as propriedades A-Z:

3- Modificar o valor das propriedades do Formulrio listadas abaixo:


Funes de Manipulao de Strings em VB.net Professor: Srgio da Silva Costa ETEC Professor Alcdio de Souza Prado Orlndia SP E-mails: sergin_costa@yahoo.com.br ou sergio.costa@etec.sp.gov.br 5

Name FormBorderStyle Font MaximizeBox StartPosition Text

FrmFuncoes_String FixedSingle Livre Escolha False CenterScreen Estudo de Funes de Manipulao de Strings - VB.Net

4 - Adicionar controles conforme abaixo:

5- Modificar o valor das propriedades dos controles listados abaixo: Objeto Text Objeto Text Objeto Text Objeto Name Text GroupBox <Apagar Deixar Vazio> GroupBox2 Exemplos GroupBox3 Exerccios Button1 BtnProcessar_Exemplo &Processar Exemplo

Funes de Manipulao de Strings em VB.net Professor: Srgio da Silva Costa ETEC Professor Alcdio de Souza Prado Orlndia SP E-mails: sergin_costa@yahoo.com.br ou sergio.costa@etec.sp.gov.br 6

Objeto Name Text Objeto Text Objeto Name Objeto Name Text Objeto Name Text Objeto Name Text Objeto Name Text Objeto Name Text Objeto Name Text Objeto Name Text Objeto Name Text Objeto Name Forecolor Text

Button2 BtnProcessar_Exercicio Processar E&xerccio Label1 String TextBox1 TxtString RadioButton1 OptExemplo1 &1 - Converte String Maisculo RadioButton2 OptExemplo2 &2 - Conta Caracteres (Exceto Espaos) RadioButton3 OptExemplo3 &3 - Conta Nmeros (Exceto Espaos) RadioButton4 OptExemplo4 &4 Separa/Exibe Dgitos Numricos RadioButton5 OptExercicio1 &A Converte String Minsculo RadioButton6 OptExercicio2 &B Conta Espaos da String RadioButton7 OptExercicio3 &C Remove todos os espaos da String RadioButton8 OptExercicio4 &D Inverte/Exibe a String RadioButton9 OptExercicio5 <Escolher Vermelho> &E Valida CPF (Atividade Final)

Funes de Manipulao de Strings em VB.net Professor: Srgio da Silva Costa ETEC Professor Alcdio de Souza Prado Orlndia SP E-mails: sergin_costa@yahoo.com.br ou sergio.costa@etec.sp.gov.br 7

Depois das alteraes das propriedades, a interface ficar assim:

6 Adicionar uma classe, conforme abaixo:

Funes de Manipulao de Strings em VB.net Professor: Srgio da Silva Costa ETEC Professor Alcdio de Souza Prado Orlndia SP E-mails: sergin_costa@yahoo.com.br ou sergio.costa@etec.sp.gov.br 8

7 - Inserir o seguinte cdigo da CLASSE:

Funes de Manipulao de Strings em VB.net Professor: Srgio da Silva Costa ETEC Professor Alcdio de Souza Prado Orlndia SP E-mails: sergin_costa@yahoo.com.br ou sergio.costa@etec.sp.gov.br 9

8 Codificar o procedimento de evento Click do Boto Processar Exemplos do Formulrio:

9 Exerccios: aps codificar, testar/executar as rotinas acima, realize as atividades abaixo:

Funes de Manipulao de Strings em VB.net Professor: Srgio da Silva Costa ETEC Professor Alcdio de Souza Prado Orlndia SP E-mails: sergin_costa@yahoo.com.br ou sergio.costa@etec.sp.gov.br 10

Criar uma Classe que ir conter alm do atributo e do mtodo construtor um mtodo/funo de execuo para cada exerccio abaixo: A) Converte String Minsculo. Por exemplo, se o usurio digitar ETEC Alcdio vai mostrar, numa caixa de mensagem, etec Alcdio. B) Conta Espaos da String. Por exemplo, se o usurio digitar Timo Campeo das Amricas , vai exibir, numa caixa de mensagem, o n 5. C) Remove todos os espaos da String. Por exemplo, se o usurio digitar Centro Estadual de Educao Tecnolgica Paula Souza, vai exibir, numa caixa de mensagem, CentroEstadualdeEducaoTecnolgicaPaulaSouza. D) Inverte String. Por exemplo, se o usurio digitar OVO vai exibir numa caixa de mensagem, OVO. Brincadeirinha... Se o usurio digitar ESCOLA vai mostrar ALOCSE.

Funes de Manipulao de Strings em VB.net Professor: Srgio da Silva Costa ETEC Professor Alcdio de Souza Prado Orlndia SP E-mails: sergin_costa@yahoo.com.br ou sergio.costa@etec.sp.gov.br 11

VALIDA CPF (ATIVIDADE FINAL). Por exemplo: o usurio ir digitar um CPF. Num primeiro momento a funo dever extrair somente os ns da String (O usurio pode digitar caracteres especiais no CPF 111.333.777-23). Tirando-os a string fica assim 11133377723, portanto muito mais fcil. Aps isso a funo dever retornar um valor lgico (True ou False) para dizer se o documento vlido ou no. Para verificar a consistncia de um CPF considere o roteiro abaixo: Frmula Empregada para Clculo de Dgitos de um CPF.

CONTEXTUALIZAO

Antes de comearmos a trabalhar com o clculo propriamente dito importante sabermos o que um CPF:

Cadastro de Pessoas Fsicas (*CPF) o registro de um cidado na Receita Federal Brasileira no qual devem estar todos os contribuintes (pessoas fsicas e estrangeiras com negcios no Brasil). O CPF armazena informaes fornecidas pelo prprio contribuinte e por outros sistemas da Receita Federal.

Funes de Manipulao de Strings em VB.net Professor: Srgio da Silva Costa ETEC Professor Alcdio de Souza Prado Orlndia SP E-mails: sergin_costa@yahoo.com.br ou sergio.costa@etec.sp.gov.br 12

Resumindo trata-se de um documento fundamental para que o contribuinte (cidado) possa contratar bens e servios, relacionar-se com instituies bancrias, se inscrever em concursos pblicos, ser uma das partes em contratos de diversas modalidades enfim um documento nico, pessoal e intransfervel que identifica o cidado economicamente ativo.

O CPF constitudo por 11 n s sendo os dois ltimos, dgitos de verificao que servem para autenticar o documento. Esses dgitos se originam de um clculo aplicado (Mdulo 11) que envolve todos os dgitos anteriores.

Modelo Antigo:

Fonte: http://pt.wikipedia.org/wiki/Ficheiro:CPF1.jpg

Modelo Novo:

Funes de Manipulao de Strings em VB.net Professor: Srgio da Silva Costa ETEC Professor Alcdio de Souza Prado Orlndia SP E-mails: sergin_costa@yahoo.com.br ou sergio.costa@etec.sp.gov.br 13

Fonte: http://pt.wikipedia.org/wiki/Ficheiro:Cpf2.jpg

Notem que apesar da mudana no material usado na fabricao (papel para plstico com tarja magntica) e no layout do documento as composies numricas bem como sua frmula de gerao de dgitos no se alteraram (Onze (11) ns sendo dois (2) deles dgitos de verificao.

Tomei liberdade de fotografar com meu celular os CPF aqui do pessoal de casa.

Funes de Manipulao de Strings em VB.net Professor: Srgio da Silva Costa ETEC Professor Alcdio de Souza Prado Orlndia SP E-mails: sergin_costa@yahoo.com.br ou sergio.costa@etec.sp.gov.br 14

Modelo Jurssico (meu), antigo (minha esposa) e novo (meus babies).

Exemplo:

Vamos verificar se o CPF abaixo vlido:

116.586.848-26

Aplicao do Clculo (Mdulo 11)


Funes de Manipulao de Strings em VB.net Professor: Srgio da Silva Costa ETEC Professor Alcdio de Souza Prado Orlndia SP E-mails: sergin_costa@yahoo.com.br ou sergio.costa@etec.sp.gov.br 15

Verificar o 1 dgito:

1 Pegue os nove (9) primeiros nmeros (excetuando-se os dgitos de verificao) e multiplique-os pelos fatores como se segue:

1x 10 = 10

1x 9 = 9

6x 8 = 48

5x 7 = 35

8x 6 = 48

6x 5 = 30

8x 4 = 32

4x 3 = 12

8x 2 = 16

2 Some os produtos:
10+ 9+ 48+ 35+ 48+ 30+ 32+ 12+ 16 = 240

3 Divida o resultado da soma dos produtos por 11:


240 / 11 = 21,81

4 Considere a parte inteira do resultado e multiplique por 11:


21 x 11 = 231

5 Subtraia do resultado o valor que havia sido encontrado durante a soma dos produtos (Etapa 2):
231 240 = -9

6 Some ao resultado anterior o n 11:


Funes de Manipulao de Strings em VB.net Professor: Srgio da Silva Costa ETEC Professor Alcdio de Souza Prado Orlndia SP E-mails: sergin_costa@yahoo.com.br ou sergio.costa@etec.sp.gov.br 16

-9

11

2*

*Poderia ter obtido como resultado final: 10 ou 11. Nesse caso deveria ser considerado como dgito Zero (0).

Calcular o 2 dgito:

1 Deve-se considerar a mesma memria de clculo s que incluindo o 10 n do documento, nesse caso o 1 dgito de verificao:

1x 11 = 11

1x 10 = 10

6x 9 = 54

5x 8 = 40

8x 7 = 56

6x 6 = 36

8x 5 = 40

4x 4 = 26

8x 3 = 24

2x
2 = 4

*** Seguir os mesmos passos e regras descritos para apurar o 1 dgito.

Concluso: Nota-se, ao concluirmos todos os passos, que o CPF de numerao vlida. Encontraremos os dgitos de verificao 2 e 6.

Funes de Manipulao de Strings em VB.net Professor: Srgio da Silva Costa ETEC Professor Alcdio de Souza Prado Orlndia SP E-mails: sergin_costa@yahoo.com.br ou sergio.costa@etec.sp.gov.br 17

You might also like