ActiveDelphi - Índice do Fórum ActiveDelphi
.: O site do programador Delphi! :.
 
 FAQFAQ   PesquisarPesquisar   MembrosMembros   GruposGrupos   RegistrarRegistrar 
 PerfilPerfil   Entrar e ver Mensagens ParticularesEntrar e ver Mensagens Particulares   EntrarEntrar 

Rotina Números repetidos

 
Novo Tópico   Responder Mensagem    ActiveDelphi - Índice do Fórum -> Delphi
Exibir mensagem anterior :: Exibir próxima mensagem  
Autor Mensagem
DiogoDF83
Novato
Novato


Registrado: Sexta-Feira, 19 de Novembro de 2021
Mensagens: 20

MensagemEnviada: Qui Fev 10, 2022 11:38 am    Assunto: Rotina Números repetidos Responder com Citação

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
Ver o perfil de Usuários Enviar Mensagem Particular
imex
Moderador
Moderador


Registrado: Sexta-Feira, 7 de Janeiro de 2011
Mensagens: 11666

MensagemEnviada: Qui Fev 10, 2022 5:44 pm    Assunto: Responder com Citação

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
Ver o perfil de Usuários Enviar Mensagem Particular
DiogoDF83
Novato
Novato


Registrado: Sexta-Feira, 19 de Novembro de 2021
Mensagens: 20

MensagemEnviada: Qui Fev 10, 2022 5:50 pm    Assunto: Responder com Citação

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
Ver o perfil de Usuários Enviar Mensagem Particular
imex
Moderador
Moderador


Registrado: Sexta-Feira, 7 de Janeiro de 2011
Mensagens: 11666

MensagemEnviada: Sex Fev 11, 2022 10:35 am    Assunto: Responder com Citação

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
Ver o perfil de Usuários Enviar Mensagem Particular
Mostrar os tópicos anteriores:   
Novo Tópico   Responder Mensagem    ActiveDelphi - Índice do Fórum -> Delphi Todos os horários são GMT - 3 Horas
Página 1 de 1

 
Ir para:  
Enviar Mensagens Novas: Proibido.
Responder Tópicos Proibido
Editar Mensagens: Proibido.
Excluir Mensagens: Proibido.
Votar em Enquetes: Proibido.


Powered by phpBB © 2001, 2005 phpBB Group
Traduzido por: Suporte phpBB