Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

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

Grupo de Teaming del ClubDelphi

 
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 17-08-2014
Valee Valee is offline
Miembro
NULL
 
Registrado: jul 2014
Posts: 19
Poder: 0
Valee Va por buen camino
Sorteo

Hola chi@s.. Bueno, les comento.. Estoy haciendo el fixture del mundial (obviamente tiene que ser valido para cualquier mundial!).. Voy por la parte del sorteo..
Para explicarles un poco como lo pense les cuento que hay dos librerias diferentes:
*LibreriaEnlace
*LibreriaCola
Con la LibreriaEnlace realizo todo lo que es la carga de los paises que van a participar en el mundial (es la primer instancia del programa). Entre todas las cosas que tiene el registro contenido en la libreria, tiene un campo llamado "PuestoAnterior" en el cual se almacena la posicion en que el pais salio en el ultimo lugar.. Esto me sirve para despues a la hora de hacer el sorteo de los grupos no se crucen entre ellos y para que, hasta el puesto 8, se coloque uno en cada grupo. Ejemplo:
PuestoAnterior: 8 Entonces China va a quedar en el Grupo H
Pais: China
Aca es donde tengo el problema. La primer parte (del ejemplo que acabo de dar) ya lo hice, pero me falta repartir los 24 paises restantes en los grupos, y nose muy bien como usar el random.. Se que hay que usar el randomize para que varie la secuencia, pero realmente nose como realizar el sorteo.. Les dejo parte del procedimiento que tengo hecho para que se les haya mas facil explicarme.

Código Delphi [-]
procedure TForm5.Button1Click(Sender: TObject);
var
  pos: TipoPosicion;          Eq1:TipoRegEquipo1; Eq2:TipoRegEquipo2;
  RD: TipoRegDatos;           Eq3:TipoRegEquipo3;Eq4:TipoRegEquipo4;
  RC: TipoRegControl;         Eq5:TipoRegEquipo5;Eq6:TipoRegEquipo6;
  RDC: TipoRegColaD;          Eq7:TipoRegEquipo7;Eq8:TipoRegEquipo8;
  RCC: TipoRegColaC;          Control: Cadena;Puesto: TipoPuesto;
  Dato: Cadena;
begin
CrearMeEquipo1(Equipo1);
CrearMeEquipo2(Equipo2);
CrearMeEquipo3(Equipo3);
CrearMeEquipo4(Equipo4);
CrearMeEquipo5(Equipo5);
CrearMeEquipo6(Equipo6);
CrearMeEquipo7(Equipo7);
CrearMeEquipo8(Equipo8);
AbrirMe (Me);
//Primero ordeno los primeros 8 puestos distribuyendolo en los grupos
//El puesto nro 1 va en el grupo A, el 2 en el grupo B......
for Puesto:= 1 to _Ultimo do
  begin
    case Puesto of //El puesto, una vez que sale del for, se va modificando de acuerdo al
      1: begin     //sorteo
          BuscarPuesto (Me,Puesto,pos);
          seek (Me.C,pos);
          read (Me.C,RC);
          if RC.Sortiado=false
          then
           begin
            seek (Me.D,pos);
            read (Me.D,RD);
            Eq1.Pais:= RD.Pais;
            Eq1.Clave:= RD.Clave;
            Eq1.Pos:=Puesto;
            RC.Sortiado:= true;
            InsertarInfo1(Equipo1,Eq1);
            Dato:= 'Grupo_A.Dat';
            Control:= 'Grupo_A.Con';
            CrearCola(Cola,Dato,Control);
           end;
         end;
      2: begin
          BuscarPuesto (Me,Puesto,pos);
          seek (Me.C,pos);
          read (Me.C,RC);
          if RC.Sortiado=false
          then
           begin
            seek (Me.D,pos);
            read (Me.D,RD);
            Eq2.Pais:= RD.Pais;
            Eq2.Clave:= RD.Clave;
            Eq2.Pos:=Puesto;
            RC.Sortiado:= true;
            InsertarInfo2(Equipo2,Eq2);
            Dato:= 'Grupo_B.Dat';
            Control:= 'Grupo_B.Con';
            CrearCola(Cola,Dato,Control);
           end;
         end;
      3: begin
          BuscarPuesto (Me,Puesto,pos);
          seek (Me.C,pos);
          read (Me.C,RC);
          if RC.Sortiado=false
          then
           begin
            seek (Me.D,pos);
            read (Me.D,RD);
            Eq3.Pais:= RD.Pais;
            Eq3.Clave:= RD.Clave;
            Eq3.Pos:=Puesto;
            RC.Sortiado:= true;
            InsertarInfo3(Equipo3,Eq3);
            Dato:= 'Grupo_C.Dat';
            Control:= 'Grupo_C.Con';
            CrearCola(Cola,Dato,Control);
           end;
         end;
      4: begin
          BuscarPuesto (Me,Puesto,pos);
          seek (Me.C,pos);
          read (Me.C,RC);
          if RC.Sortiado=false
          then
           begin
            seek (Me.D,pos);
            read (Me.D,RD);
            Eq4.Pais:= RD.Pais;
            Eq4.Clave:= RD.Clave;
            Eq4.Pos:=Puesto;
            RC.Sortiado:= true;
            InsertarInfo4(Equipo4,Eq4);
            Dato:= 'Grupo_D.Dat';
            Control:= 'Grupo_D.Con';
            CrearCola(Cola,Dato,Control);
           end;
         end;
      5: begin
          BuscarPuesto (Me,Puesto,pos);
          seek (Me.C,pos);
          read (Me.C,RC);
          if RC.Sortiado=false
          then
           begin
            seek (Me.D,pos);
            read (Me.D,RD);
            Eq5.Pais:= RD.Pais;
            Eq5.Clave:= RD.Clave;
            Eq5.Pos:=Puesto;
            RC.Sortiado:= true;  
            InsertarInfo5(Equipo5,Eq5);
            Dato:= 'Grupo_E.Dat';
            Control:= 'Grupo_E.Con';
            CrearCola(Cola,Dato,Control);
           end;
         end;
      6: begin
          BuscarPuesto (Me,Puesto,pos);
          seek (Me.C,pos);
          read (Me.C,RC);
          if RC.Sortiado=false
          then
           begin
            seek (Me.D,pos);
            read (Me.D,RD);
            Eq6.Pais:= RD.Pais;
            Eq6.Clave:= RD.Clave;
            Eq6.Pos:=Puesto;
            RC.Sortiado:= true;
            InsertarInfo6(Equipo6,Eq6);
            Dato:= 'Grupo_F.Dat';
            Control:= 'Grupo_F.Con';
            CrearCola(Cola,Dato,Control);
           end;
         end;
      7: begin
          BuscarPuesto (Me,Puesto,pos);
          seek (Me.C,pos);
          read (Me.C,RC);
          if RC.Sortiado=false
          then
           begin
            seek (Me.D,pos);
            read (Me.D,RD);
            Eq7.Pais:= RD.Pais;
            Eq7.Clave:= RD.Clave;
            Eq7.Pos:=Puesto;
            RC.Sortiado:= true;
            InsertarInfo7(Equipo7,Eq7);
            Dato:= 'Grupo_G.Dat';
            Control:= 'Grupo_G.Con';
            CrearCola(Cola,Dato,Control);
           end;
         end;
      8: begin
          BuscarPuesto (Me,Puesto,pos);
          seek (Me.C,pos);
          read (Me.C,RC);
          if RC.Sortiado=false
          then
           begin
            seek (Me.D,pos);
            read (Me.D,RD);
            Eq8.Pais:= RD.Pais;
            Eq8.Clave:= RD.Clave;
            Eq8.Pos:=Puesto;
            RC.Sortiado:= true;
            InsertarInfo8(Equipo8,Eq8);
            Dato:= 'Grupo_H.Dat';
            Control:= 'Grupo_H.Con';
            CrearCola(Cola,Dato,Control);
           end;
         end;
    end;
  end;
//Sortear el resto de los paises
end;

Desde ya MUCHAS GRACIAS por su tiempo..
Saludos =)
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
Sorteo RAD Studio 2007 Emilio Noticias 170 05-03-2008 22:28:13
Ganador Sorteo RAD Studio 2007 Emilio Noticias 37 18-02-2008 20:37:47


La franja horaria es GMT +2. Ahora son las 22:09:55.


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