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 

Random com memos - RESOLVIDO

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


Registrado: Segunda-Feira, 15 de Agosto de 2011
Mensagens: 46

MensagemEnviada: Seg Nov 09, 2015 12:57 pm    Assunto: Random com memos - RESOLVIDO Responder com Citação

Obrigado a todos pelas respostas.....


Olá pessoal,

Tenho um problema para resolver :

tenho um memo com vários nomes e preciso randomizar esses nomes em outros memos. exemplo:

memo1 lista com 27 nomes:

memo2 receberá 9 nomes ( randomizados )
memo3 receberá 9 nomes (randomizados)
memo4 receberá 9 nomes (randomizados )

desde já agradeço..


Editado pela última vez por amufa em Ter Nov 24, 2015 6:07 pm, num total de 1 vez
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: Seg Nov 09, 2015 1:20 pm    Assunto: Responder com Citação

Boa tarde,

Acredito que uma alternativa seria copiar a lista de nomes do Memo1 para uma TStringList, executar o Random para obter 1 nome, adiciona-lo no outro Memo e exclui-lo da TStringList, e depois repetir o processo a partir do Random até chegar ao último nome.

Espero que ajude.

_________________
Assinatura: http://www.imoveisemexposicao.com.br/imoveis-venda-guarulhos-residencial-casa
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
matteusin
Aprendiz
Aprendiz


Registrado: Terça-Feira, 28 de Fevereiro de 2012
Mensagens: 156

MensagemEnviada: Seg Nov 09, 2015 2:26 pm    Assunto: Responder com Citação

Boa tarde!
Fiz aqui um projeto simples, veja se é isso!

Código:
function IntInArray(Arr: Array Of Integer; Value: Integer): Boolean;
var i: integer;
begin
  Result:= False;
  for i:= 0 to Length(Arr) - 1 do
    if Arr[i] = Value then
      Result:= True;
end;

procedure TForm1.btnGerarClick(Sender: TObject);
var i, Temp: Integer;
    LstNegra: Array Of Integer;
begin

  mmPrimeiro.Clear;
  mmSegundo.Clear;
  mmTerceiro.Clear;

  SetLength(LstNegra, 27); // LstNegra usei para armazenar todos os numeros já usados, para evitar repetir.
  Temp:= Random(28);

  // Preenche o primeiro Memo com 9 nomes
  for i:= 0 to 8 do
    begin

      While IntInArray(LstNegra, Temp) do // Essa função verifica se o nome já não está na lista negra
        Temp:= Random(28);
      mmPrimeiro.Lines.Add(mmListaOriginal.Lines.Strings[Temp]);
      LstNegra[i]:= Temp;
      mmPrimeiro.Text:= Trim(mmPrimeiro.Text);

    end;

  // Preenche o segundo Memo com 9 nomes
  for i:= 0 to 8 do
    begin

      While IntInArray(LstNegra, Temp) do // Essa função verifica se o nome já não está na lista negra
        Temp:= Random(28);
      mmSegundo.Lines.Add(mmListaOriginal.Lines.Strings[Temp]);
      LstNegra[i+9]:= Temp;
      mmSegundo.Text:= Trim(mmSegundo.Text);

    end;

  // Preenche o terceiro Memo com 9 nomes
  for i:= 0 to 8 do
    begin

      While IntInArray(LstNegra, Temp) do // Essa função verifica se o nome já não está na lista negra
        Temp:= Random(28);
      mmTerceiro.Lines.Add(mmListaOriginal.Lines.Strings[Temp]);
      LstNegra[i+18]:= Temp;
      mmTerceiro.Text:= Trim(mmTerceiro.Text);

    end;

end;


Segue o download dos fontes:[url] http://www.4shared.com/rar/HxBnv3oDce/Nomes_Randomizados.html?[/url]

Boa sorte!
_________________
Visite meu blog: http://devsistem.blogspot.com.br
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular MSN Messenger
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