Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Coloboración Paypal con ClubDelphi

 
 
Herramientas Buscar en Tema Desplegado
  #13  
Antiguo 18-06-2008
Avatar de Caro
*Caro* Caro is offline
Moderadora
 
Registrado: jul 2004
Ubicación: Cochabamba, Bolivia
Posts: 2.544
Poder: 24
Caro Va por buen camino
Hola BlueSteel, yo sigo pensando que deberías hacerlo con StringList, no es dificil manejarlo.

Un StringList es una clase que hereda de TString, llegando a ser una lista de cadenas que la tienes en memoria. como dice Neftali las búsquedas son casi inmediatas, de verdad te ayudara mucho en otras cosas que quieras hacer, incluyendo esta.

Sobre el error en la linea que marcas le faltaba un parentesis al final, se me ha ido.

Primero debes definir una variable de tipo TStringList y despues crearla como cualquier instancia de clase con:

Código Delphi [-]
 StringList : TStringList
......
 StringList := TStringList.Create;

Despues puedes utilizar todas las funciones y procedimientos de la clase TString como Add, Delete, IndexOf, Exchage..... Si te fijas en el componente ListBox, existe una propiedad Items, que es un TString, y seguro que sabes manejar dicha propidad adicionando items, borrando, etc, un TStringList lo manejas de la misma manera ya que también hereda de TString, la diferencia es que no es un componente sino solo una clase.

Ahora sobre mi ejemplo quedaría así, seleccionando los 300 ganadores.

Código Delphi [-]
procedure TForm1.Button1Click(Sender: TObject);
var
 Numero, i, j, Limite : Integer;
 Lista : TStringList;
begin
 Lista := TStringList.Create;
 Lista.Sorted := True;

 Randomize;
 Limite := 1500;
 for j:=0 to 300 do
  begin
   Numero := RandomRange(0, Limite);
   if Lista.IndexOf(IntToStr(Numero))=-1 then
    Lista.Add(IntToStr(Numero))
   else
    begin
     While (Lista.IndexOf(IntToStr(Numero))<>-1) and (Lista.Countdo
      Numero := RandomRange(0, Limite);

     if Lista.IndexOf(IntToStr(Numero))=-1 then
      Lista.Add(IntToStr(Numero));
    end;
  end;

 showmessage('Se ha terminado de encontrar a los ganadores');

 for i :=0 to Lista.Count-1 do //Recorremos la lista
  showmessage(Lista[i]);
end;

Saluditos
__________________
Disfruten cada minuto de su vida a lado de sus seres queridos como si fuese el ultimo, uno nunca sabe lo que puede pasar.

Última edición por Caro fecha: 18-06-2008 a las 03:10:29.
Responder Con Cita
 



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Uso de Random arespremium OOP 5 12-08-2007 21:48:39
Random() altp .NET 3 27-11-2006 11:59:45
random chechu Varios 6 24-11-2005 20:09:45
random edulp Varios 1 24-10-2005 02:17:39
Random!! Alejandro Horns Varios 1 13-12-2004 16:37:39


La franja horaria es GMT +2. Ahora son las 18:25:26.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi