Programação Orientado a Objecto

Olá! Pessoal, espero que este post venha resolver uma parte dos seus problemas, isto principalmente para os que gostam de programar.

Pois pessoal, há aqueles casos em que queremos desenvolver um aplicativo qualquer e precisamos que o mesmo tenham um ou vários EDITs que têm de aceitar única e exclusivamente números, esse é aquele momento em que passamos a mão pela cabeça sem saber o que fazer e como começar, para facilitar a situação, vou mostrar aqui um exemplo desenvolvido no C++Builder6.

FUNÇÃO PARA VALIDAR EDIT SÓ PARA NºS NATURAIS

1 – bool natural(String Text) const
//para ser mais rápido o passe de parâmetros, usa-se parâmetro por referencia, mas com constante para que não se modifique.
//Esta função funciona apenas com cadeias não vazias
1.1 {
1.2. bool valido=true; //Aqui já estamos a afirmar que o número válido já foi achado logo no princípio.
1.3. char *cadeia; //Aqui estamos a criar um ponteiro do tipo char.
1.4. cadeia=new char[Text.Length()+1];
//Aqui estamos a criar um espaço de memória dinâmica com a longitude ou tamanho do texto digitado mais um.
1.5. strcpy (cadeia, Text.c_str());
// Text.c_str() é a função que converte de AnsiString para char* e a instrução completa 1.5, com o apoio do strcpy, está a passar o conteúdo que está no Text.c_str() para cadeia.
1.6. for (int i=0;i<Text.Length();i++)
//Aqui estamos a criar um ciclo repetitivo consoante a longitude ou tamanho do texto. Para i=0 vai comparar de 0 à 9 e depois o i incrementa e volta a comparar com todos os naturais.
1.7.if((cadeia[i]!=’0′)&&(cadeia[i]!=’1′)&&(cadeia[i]!=’2′)&&(cadeia[i]!=’3′)&&(cadeia[i]!=’4′)&&(cadeia[i]!=’5′)&&(cadeia[i]!=’6′)&&(cadeia[i]!=’7′)&&(cadeia[i]!=’8′)&&(cadeia[i]!=’9′) )
//Como estamos a validar o Edit para os números naturais, ai temos que comparar todos os valores guardados na variável CADEIA com os números de 0 à 9, dizendo: se o valor que estiver na variável CADEIA for diferente de um dos números naturais então é uma LETRA, ai vem o código abaixo para nos dizer o valor não é válido.
1.8. { valido=false; break; }
// break tem a função de dar um intervalo quase esforçado, com objectivo de ler o código a seguir.
1.9. delete []cadeia; //Apaga o valor inválido e retorna apenas os válidos
1.10. return valido;
1.10.1 }

Onde aparece as duas barras invertidas são os comentários que nos levam a perceber melhor os códigos aqui dispostos.
Mas vale lembrar que a função que acabei de apresentar pode ser adaptada para desenvolver funções em outras linguagens de programação e para outros números, para além dos naturais.

Qualquer dúvida ou algo assim, por favor deixam nos comentários.

 

    

Hedybrown
Estudante do 3ª ano de Ciência da Computação em Angola.

Publicidade

Nenhum Comentário.

Deixe um Comentário




Cursos 24 Horas - Cursos 100% Online com Certificado