Exibir mensagem anterior :: Exibir próxima mensagem |
Autor |
Mensagem |
DiogoDF83 Novato
Registrado: Sexta-Feira, 19 de Novembro de 2021 Mensagens: 20
|
Enviada: Qui Fev 10, 2022 11:38 am Assunto: Rotina Números repetidos |
|
|
Bom dia pessoal,
Tenho um DBGrid com alguns números, queria criar uma rotina para verificar se tem números repetidos. O que é melhor usar, uma variavel TList, um Array ou fazer com um for?
Minha idéia inicial era usar um for dentro do outro, pegar a primeira posição e ir comparando um a um.
Alguma dica?
Obrigado
Abraço |
|
Voltar ao Topo |
|
|
imex Moderador
Registrado: Sexta-Feira, 7 de Janeiro de 2011 Mensagens: 11666
|
Enviada: Qui Fev 10, 2022 5:44 pm Assunto: |
|
|
Boa tarde,
Acho que depende da quantidade de números, acho que se não for muito grande a diferença entre os métodos não vai ser perceptível.
Se os números estiverem em uma tabela no banco de dados pode ser possível identifica-los com uma query, ou se for possível ordenar os números, seja no DataSet, TList ou Array, você pode só utilizar um looping que compara o número com o anterior, os números serão diferentes (maior no caso de ordem crescente ou menor se decrescente) se não estiverem duplicados.
Espero que ajude
Editado pela última vez por imex em Ter Mar 07, 2023 5:58 pm, num total de 1 vez |
|
Voltar ao Topo |
|
|
DiogoDF83 Novato
Registrado: Sexta-Feira, 19 de Novembro de 2021 Mensagens: 20
|
Enviada: Qui Fev 10, 2022 5:50 pm Assunto: |
|
|
Boa tarde, Não vai ser muito grande a quantidade de registros. Tenho a necessidade de verificar se há números repetidos antes de mandar para o BD. |
|
Voltar ao Topo |
|
|
imex Moderador
Registrado: Sexta-Feira, 7 de Janeiro de 2011 Mensagens: 11666
|
Enviada: Sex Fev 11, 2022 10:35 am Assunto: |
|
|
Bom dia,
Acho que o jeito mais simples seria utilizar uma TStringList com as propriedades Sorted = true e Duplicates = dupError, dessa forma vai ocorrer uma exceção se for adicionado algum número duplicado, não será necessário utilizar código adicional para verificar os números.
Espero que ajude |
|
Voltar ao Topo |
|
|
|