Página 1 de 3 123 ÚltimoÚltimo
Resultados 1 a 10 de 24
  1. #1

    Smile [Tutorial]Manipulação de String

    Oi pessoal esse é meu primeiro Tutorial então vamos pegar leve caso eu cometa algum erro rsrs.

    Enfim,vamos falar de Manipulação de String:

    P:Mas oque seria isso ?

    R:Manipular String,seria basicamente poder editar a nosso favor uma String.

    P:Mas oque seria uma String ?

    R:String,é basicamente uma Lista de Caracteres,ou seja ela pode conter palavras,textos,até numeros desde que eles sejam convertido pro formato de String.

    Primeira coisa é entender que uma String comun tem um tamanho maximo de 255 caracteres,é logico,isso se não usar algum metodo de mudanças que veremos mas para frente,então a pergunta é,e se eu quizer criar uma String que pode conter no maximo 10 caracteres ?
    Simples,basta pensar,se String é uma lista de caracteres então basta colocar deste modo:

    Código:
    Var
    ManipulacaoDeString: String[10];
    Essa "ManipulacaoDeString",é uma String de no maximo 10 caracteres,ai vem outra pergunta,e se eu quizer pegar o 5º caractere dessa String ?

    Simples,como String é um Array de caracteres,podemos fazer deste geito:

    Código:
    ManipulacaoDeString:= 'Tutorial'
    ShowMessage(ManipulacaoDeString[5])
    Neste caso o resultado seria a letra R,como podem ver não é tão dificel,com esta mesma logica podemos até mesmo inverter uma String usando um For exemplo:

    Código:
    Var
    I: Integer;
    ManipulacaoDeString: String;
    StringRevertida: String;
    Begin
    ManipulacaoDeString:= 'lairotuT'; //Como podem ver a String já está invertida e iremos reinverter
     For I:= 0 To Length(ManipulacaoDeString) Do//O For repite do 0 até o 8,que é o tamanho da String.
      Begin
       StringRevertida:= StringRevertida + ManipulacaoDeString[Length(ManipulacaoDeString) - I];
      End;
    ShowMessage(StringRevertida);
    End;
    Como podem ver,com um pouco de logico facilmente consegui reverter a String,mas vcs que são Novatos e estão intereçados devem estar se perguntando pra que serve alguns comandos né ? Então vou explicar alguns comandos usados na manipulação de String em geral:

    Comandos:




    Length - Esse comando consegue pegar o tamanho de String em numero,ou seja no caso se eu tiver uma String com o valor "Tutorial",ele resultara em 8.


    Exemplo de Uso:


    Código:
    Var
    I: Integer;
    S: String;
    Begin
    S:= 'Aprendendo a programar xD';
    I:= Length(S); 
    ShowMessage(IntToStr(I)); //O IntToStr é usado para converter nosso valor de Inteiro para String,nesse caso o valor retornado é 25.
    End;
    Pos - Esse comando é usado para pegar a posição em numero de uma SubString dentro de nossa String,usando-o eu poderia pegar a posição de "O" numa String "Comando",neste caso retornaria 2.

    Exemplo de Uso:
    Código:
    Var
    I: Integer;
    S: String;
    Begin
    S:= 'Aprendendo a Programar xD';
    I:= Pos('n',S); //Neste caso a função retornaria 5,pois é em que posição em numero a SubString "n" está.
    ShowMessage(IntToStr(I)); //Função usada para poder visualizar o resultado,em forma de dialogo.
    End;



    Copy - Esse comando é usado para copiar partes de uma String podendo ser passado para outra String,ou copiar para a mesma String.


    Exemplo de Uso:



    Código:
    Var
    String1: String;
    StringQueCopia: String;
    Begin
    String1:= 'Valor vai ser copiado';
    StringQueCopia:= Copy(String1,14,7); //Como podem ver ele vai começar copiar do caractere 14 e vai copiar 7 em diante,ou seja do 14 até o 21,retornado "Copiado".
    End;
    Ai pessoal por enquanto são só esses mas se quizer se aprofundar mais no assunto tem muito mais ainda como :

    Insert.
    Delete.
    LowerCase.
    UpperCase.
    StringReplace.
    Entre outas...

    Até a proxima


  2. #2
    Bem legal, parabens.

  3. #3
    Algo que não foi abordado é o null terminator.
    Numa string de tamanho 255 podem ter sido usados apenas 99,então no fim tem o null terminator para indicar que é o fim da string atual,para que não seja colocado lixo (por causa do espaço restante) na string
    MP Com dúvidas e pedidos de ajudas serão IGNORADAS
    "Mentes fracas não pensam,corpos fracos não lutam."

    Microsoft Technology Associate: Software Development Fundamentals (C#
    )

  4. #4
    Hacker Avatar de acpguedes
    Data de Ingresso
    Sep 2011
    Localização
    #!/usr/bin/env perl
    Posts
    955
    Ate eu que não sou Delpheiro entendi!

    Logo seu tutorial está simples e claro, o que são otimas qualidades em um tutorial!

    Parabens, garoto!
    So respondo se a consiencia perguntar!!!
    Não Respondo MP's de perguntas, as faça em um tópico!

    Perl User, Bioinformatcs Programmer!

  5. #5
    Moderador Avatar de eduardu0
    Data de Ingresso
    Feb 2007
    Posts
    979
    Como o acp falou, claro e simples!

    Parabéns cara, precisamos de gente assim contribuindo para o fórum!
    Pense em uma frase bonita.

  6. #6
    Eu aproveitando este post, comecei a fazer um inversor de links.
    Adicionei 2 memos mas estou com dificuldades em saber se o memo esta vazio.

    Estou fazendo mais ou menos assim:

    Código:
    if memo1.text:= '' then
    Mas não funciona, alguem sabe como fazer isso ?

    Obrigado!

  7. #7
    Citação Postado originalmente por kalangosk8er Ver Post
    Eu aproveitando este post, comecei a fazer um inversor de links.
    Adicionei 2 memos mas estou com dificuldades em saber se o memo esta vazio.

    Estou fazendo mais ou menos assim:

    Código:
    if memo1.text:= '' then
    Mas não funciona, alguem sabe como fazer isso ?

    Obrigado!
    Memo.Lines.Count deve resolver.
    MP Com dúvidas e pedidos de ajudas serão IGNORADAS
    "Mentes fracas não pensam,corpos fracos não lutam."

    Microsoft Technology Associate: Software Development Fundamentals (C#
    )

  8. #8
    Gray Hat Avatar de CoderSc
    Data de Ingresso
    Jan 2011
    Localização
    #!/bin/bash
    Posts
    1.736
    Citação Postado originalmente por kalangosk8er Ver Post
    Eu aproveitando este post, comecei a fazer um inversor de links.
    Adicionei 2 memos mas estou com dificuldades em saber se o memo esta vazio.

    Estou fazendo mais ou menos assim:

    Código:
    if memo1.text:= '' then
    Mas não funciona, alguem sabe como fazer isso ?

    Obrigado!
    Tenta assim:

    if Length(Memo1.Text) = 0 then
    ShowMessage('Memo vazio') else ShowMessage('Memo contem texto');
    Når du føler flove over at se på tras eller bange for at se fremad, se venstre eller højre I be altid ved din side.

    H
    aters Gonna Hate

  9. #9
    Não deu, ele continua o codigo.


    Oque eu quero fazer é bem simples, quero verificar se estavazio se não estiver continuar o codigo se tiver exibir a menssagem de campo vazio.

  10. #10
    Olha o codigo:

    Código:
      Var
        I: Integer;
        Manipular: String;
        Revertida: String;
      Begin
        if Memo1.Lines.Count = 0 then
          ShowMessage('Campo De links Vazio')
          else
      Manipular:= Memo1.Text;
        For I:= 0 To Length(Manipular) Do
      Begin
        Revertida:= Revertida + Manipular[Length(Manipular) - I]
      End;
        Memo2.Text:= Revertida;
      End;

Permissões de Postagem

  • Você não pode iniciar novos tópicos
  • Você não pode enviar respostas
  • Você não pode enviar anexos
  • Você não pode editar suas mensagens
  •