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
  #7  
Antiguo 25-08-2014
Valee Valee is offline
Miembro
NULL
 
Registrado: jul 2014
Posts: 19
Poder: 0
Valee Va por buen camino
Van a Notar que en la creación de la cola no están puestos los nombres, es porque yo se lo mando por un procedimiento que cree aparte para realizar el sorteo, ese procedimiento es:

Código Delphi [-]
unit LOAuxSorteo;

interface
  uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, Buttons, ExtCtrls, LibreriaArchivosEnlace, LibCola, LOAux,
  RegEquipo1, Menu_Principal;

Procedure Repartir (var Me: TipoMe; var Eq1:TipoRegEquipo1; Puesto: TipoPuesto);

implementation

Procedure Repartir (var Me: TipoMe; var Eq1:TipoRegEquipo1; Puesto:TipoPuesto);
var
  pos: TipoPosicion;          RD,RAux: TipoRegDatos; RC: TipoRegControl;
  RDC: TipoRegColaD;          RCC: TipoRegColaC; Dato: Cadena;
  Control: Cadena;            Corte: boolean;
  i,j,n,m: TipoPosicion;
begin
m:=4; //cantidad de paises que tiene que haber por equipo
CrearMeEquipo1(Equipo1);
//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......
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.D,pos);
      read (Me.D,RD);
      if RD.Sorteado=false
      then
        begin
          seek (Me.D,pos);
          read (Me.D,RD);
          Eq1.Pais:= RD.Pais;
          Eq1.Clave:= RD.Clave;
          RD.Sorteado:= true;
          Insertar (Me,RD,Pos);
          InsertarInfo1(Equipo1,Eq1);
          Dato:= 'Grupo_A.Dat';
          Control:= 'Grupo_A.Con';
          CrearCola(Cola,Dato,Control);
          m:= m-1;
          //Sortear los 3 paises restantes
          corte:= false;
          n:=1;
          for i:=1 to m do
            begin
              while not corte do
              begin
                j:=Random (24);
                seek (Me.D,j);
                read (Me.D,RD);
                seek (Me.D, RD.Enlace);
                read (Me.D, RAux);
                if RAux.Sorteado= true
                then
                  begin
                    corte:= true;
                    Eq1.Clave:= RD.Clave;
                    Eq1.Pais:= RD.Pais;
                    InsertarInfo1(Equipo1,Eq1);
                    RAux.Sorteado:= true;
                    Insertar (Me,RAux,RD.Enlace);
                  end;
              end;
            end;
        end;
     end;
  2: begin     //sorteo
      BuscarPuesto (Me,Puesto,pos);
      seek (Me.D,pos);
      read (Me.D,RD);
      if RD.Sorteado=false
      then
        begin
          seek (Me.D,pos);
          read (Me.D,RD);
          Eq1.Pais:= RD.Pais;
          Eq1.Clave:= RD.Clave;
          RD.Sorteado:= true;
          Insertar (Me,RD,Pos);
          InsertarInfo1(Equipo1,Eq1);
          Dato:= 'Grupo_A.Dat';
          Control:= 'Grupo_A.Con';
          CrearCola(Cola,Dato,Control);
          m:= m-1;
          //Sortear los 3 paises restantes
          corte:= false;
          n:=1;
          for i:=1 to m do
            begin
              while not corte do
              begin
                j:=Random (24);
                seek (Me.D,j);
                read (Me.D,RD);
                seek (Me.D, RD.Enlace);
                read (Me.D, RAux);
                if RAux.Sorteado= true
                then
                  begin
                    corte:= true;
                    Eq1.Clave:= RD.Clave;
                    Eq1.Pais:= RD.Pais;
                    InsertarInfo1(Equipo1,Eq1);
                    RAux.Sorteado:= true;
                    Insertar (Me,RAux,RD.Enlace);
                  end;
              end;
            end;
        end;
     end;
  3: begin     //sorteo
      BuscarPuesto (Me,Puesto,pos);
      seek (Me.D,pos);
      read (Me.D,RD);
      if RD.Sorteado=false
      then
        begin
          seek (Me.D,pos);
          read (Me.D,RD);
          Eq1.Pais:= RD.Pais;
          Eq1.Clave:= RD.Clave;
          RD.Sorteado:= true;
          Insertar (Me,RD,Pos);
          InsertarInfo1(Equipo1,Eq1);
          Dato:= 'Grupo_A.Dat';
          Control:= 'Grupo_A.Con';
          CrearCola(Cola,Dato,Control);
          m:= m-1;
          //Sortear los 3 paises restantes
          corte:= false;
          n:=1;
          for i:=1 to m do
            begin
              while not corte do
              begin
                j:=Random (24);
                seek (Me.D,j);
                read (Me.D,RD);
                seek (Me.D, RD.Enlace);
                read (Me.D, RAux);
                if RAux.Sorteado= true
                then
                  begin
                    corte:= true;
                    Eq1.Clave:= RD.Clave;
                    Eq1.Pais:= RD.Pais;
                    InsertarInfo1(Equipo1,Eq1);
                    RAux.Sorteado:= true;
                    Insertar (Me,RAux,RD.Enlace);
                  end;
              end;
            end;
        end;
     end;
  4: begin     //sorteo
      BuscarPuesto (Me,Puesto,pos);
      seek (Me.D,pos);
      read (Me.D,RD);
      if RD.Sorteado=false
      then
        begin
          seek (Me.D,pos);
          read (Me.D,RD);
          Eq1.Pais:= RD.Pais;
          Eq1.Clave:= RD.Clave;
          RD.Sorteado:= true;
          Insertar (Me,RD,Pos);
          InsertarInfo1(Equipo1,Eq1);
          Dato:= 'Grupo_A.Dat';
          Control:= 'Grupo_A.Con';
          CrearCola(Cola,Dato,Control);
          m:= m-1;
          //Sortear los 3 paises restantes
          corte:= false;
          n:=1;
          for i:=1 to m do
            begin
              while not corte do
              begin
                j:=Random (24);
                seek (Me.D,j);
                read (Me.D,RD);
                seek (Me.D, RD.Enlace);
                read (Me.D, RAux);
                if RAux.Sorteado= true
                then
                  begin
                    corte:= true;
                    Eq1.Clave:= RD.Clave;
                    Eq1.Pais:= RD.Pais;
                    InsertarInfo1(Equipo1,Eq1);
                    RAux.Sorteado:= true;
                    Insertar (Me,RAux,RD.Enlace);
                  end;
              end;
            end;
        end;
     end;
  5: begin     //sorteo
      BuscarPuesto (Me,Puesto,pos);
      seek (Me.D,pos);
      read (Me.D,RD);
      if RD.Sorteado=false
      then
        begin
          seek (Me.D,pos);
          read (Me.D,RD);
          Eq1.Pais:= RD.Pais;
          Eq1.Clave:= RD.Clave;
          RD.Sorteado:= true;
          Insertar (Me,RD,Pos);
          InsertarInfo1(Equipo1,Eq1);
          Dato:= 'Grupo_A.Dat';
          Control:= 'Grupo_A.Con';
          CrearCola(Cola,Dato,Control);
          m:= m-1;
          //Sortear los 3 paises restantes
          corte:= false;
          n:=1;
          for i:=1 to m do
            begin
              while not corte do
              begin
                j:=Random (24);
                seek (Me.D,j);
                read (Me.D,RD);
                seek (Me.D, RD.Enlace);
                read (Me.D, RAux);
                if RAux.Sorteado= true
                then
                  begin
                    corte:= true;
                    Eq1.Clave:= RD.Clave;
                    Eq1.Pais:= RD.Pais;
                    InsertarInfo1(Equipo1,Eq1);
                    RAux.Sorteado:= true;
                    Insertar (Me,RAux,RD.Enlace);
                  end;
              end;
            end;
        end;
     end;
  6: begin     //sorteo
      BuscarPuesto (Me,Puesto,pos);
      seek (Me.D,pos);
      read (Me.D,RD);
      if RD.Sorteado=false
      then
        begin
          seek (Me.D,pos);
          read (Me.D,RD);
          Eq1.Pais:= RD.Pais;
          Eq1.Clave:= RD.Clave;
          RD.Sorteado:= true;
          Insertar (Me,RD,Pos);
          InsertarInfo1(Equipo1,Eq1);
          Dato:= 'Grupo_A.Dat';
          Control:= 'Grupo_A.Con';
          CrearCola(Cola,Dato,Control);
          m:= m-1;
          //Sortear los 3 paises restantes
          corte:= false;
          n:=1;
          for i:=1 to m do
            begin
              while not corte do
              begin
                j:=Random (24);
                seek (Me.D,j);
                read (Me.D,RD);
                seek (Me.D, RD.Enlace);
                read (Me.D, RAux);
                if RAux.Sorteado= true
                then
                  begin
                    corte:= true;
                    Eq1.Clave:= RD.Clave;
                    Eq1.Pais:= RD.Pais;
                    InsertarInfo1(Equipo1,Eq1);
                    RAux.Sorteado:= true;
                    Insertar (Me,RAux,RD.Enlace);
                  end;
              end;
            end;
        end;
     end;
  7: begin     //sorteo
      BuscarPuesto (Me,Puesto,pos);
      seek (Me.D,pos);
      read (Me.D,RD);
      if RD.Sorteado=false
      then
        begin
          seek (Me.D,pos);
          read (Me.D,RD);
          Eq1.Pais:= RD.Pais;
          Eq1.Clave:= RD.Clave;
          RD.Sorteado:= true;
          Insertar (Me,RD,Pos);
          InsertarInfo1(Equipo1,Eq1);
          Dato:= 'Grupo_A.Dat';
          Control:= 'Grupo_A.Con';
          CrearCola(Cola,Dato,Control);
          m:= m-1;
          //Sortear los 3 paises restantes
          corte:= false;
          n:=1;
          for i:=1 to m do
            begin
              while not corte do
              begin
                j:=Random (24);
                seek (Me.D,j);
                read (Me.D,RD);
                seek (Me.D, RD.Enlace);
                read (Me.D, RAux);
                if RAux.Sorteado= true
                then
                  begin
                    corte:= true;
                    Eq1.Clave:= RD.Clave;
                    Eq1.Pais:= RD.Pais;
                    InsertarInfo1(Equipo1,Eq1);
                    RAux.Sorteado:= true;
                    Insertar (Me,RAux,RD.Enlace);
                  end;
              end;
            end;
        end;
     end;
  8: begin     //sorteo
      BuscarPuesto (Me,Puesto,pos);
      seek (Me.D,pos);
      read (Me.D,RD);
      if RD.Sorteado=false
      then
        begin
          seek (Me.D,pos);
          read (Me.D,RD);
          Eq1.Pais:= RD.Pais;
          Eq1.Clave:= RD.Clave;
          RD.Sorteado:= true;
          Insertar (Me,RD,Pos);
          InsertarInfo1(Equipo1,Eq1);
          Dato:= 'Grupo_A.Dat';
          Control:= 'Grupo_A.Con';
          CrearCola(Cola,Dato,Control);
          m:= m-1;
          //Sortear los 3 paises restantes
          corte:= false;
          n:=1;
          for i:=1 to m do
            begin
              while not corte do
              begin
                j:=Random (24);
                seek (Me.D,j);
                read (Me.D,RD);
                seek (Me.D, RD.Enlace);
                read (Me.D, RAux);
                if RAux.Sorteado= true
                then
                  begin
                    corte:= true;
                    Eq1.Clave:= RD.Clave;
                    Eq1.Pais:= RD.Pais;
                    InsertarInfo1(Equipo1,Eq1);
                    RAux.Sorteado:= true;
                    Insertar (Me,RAux,RD.Enlace);
                  end;
              end;
            end;
        end;
     end;
end;

end;
end.
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 20:54:05.


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