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

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 21-10-2019
marcocd marcocd is offline
Registrado
 
Registrado: abr 2015
Posts: 4
Poder: 0
marcocd Va por buen camino
Question Sorteos De Datos Sin Que Se Repitan

hola buenos días a todos mi nombre es marco y estoy empezando a programar en delphi, tengo un problema y no hallo como resolverlo, les explico.

estoy haciendo un sistema de inventarios, el problema que tengo es el siguiente:

el sistema permite cargar n numero de personas que van a contar los materiales, por otro lado se encuentran los registros de los marbetes de los materiales a contar. lo que necesito es que el sistema le otorgue de manera automática a cada persona cierta cantidad de marbetes en partes iguales a cada persona sin que se repitan los marbetes entre cada persona.

al abrirse el siguiente conteo, el sistema ejecutara el mismo proceso que anteriormente describí, pero ahora los números de marbetes que le otorgaron a la persona 1 ya no deben de ser los mismos para este conteo y así sucesivamente hasta terminar todos los conteos. a continuación pongo un ejemplo de como se debe de hacer este proceso:

- se tienen 5 personas registradas en el sistema para contar.
- se tienes 25 marbetes registrados en el sistema.

al abrir el primer conteo esto se hace desde un modulo o pantalla de apertura de conteos, el sistema deberá de hacer el calculo para ver cuantos marbetes le tocan a cada persona y después el sistema deberá de asignárselos
a cada persona sin que se repitan los marbetes entre las personas, hasta aquí no hay problema, el problema es cuando se abre el siguiente conteo aquí el sistema de nuevo deberá de asignarles marbetes a cada persona, pero los marbetes que le otorgaron a la persona 1 en el primer conteo, en el siguiente conteo ya no le deben de tocar estos mismo marbetes, ya que en el primer conteo le fueron otorgados, esto se debe de aplicar a cada una de las personas que se registraron. a continuación pongo un ejemplo:

- se tienen 5 personas registradas en el sistema para contar los materiales.
- se tienen 25 marbetes registrados de los materiales a contar.

cuando se abra el primer conteo, el sistema debe de otorgar 5 marbetes a cada persona, asi:
-persona 1 le corresponden los siguientes marbetes 1,2,3,4,5
-persona 2 le corresponden los siguientes marbetes 6,7,8,9,10
-persona 3 le corresponden los siguientes marbetes 11,12,13,14,15
- y así sucesivamente hasta otorgar todos los marbetes a cada persona.

al abrirse el siguiente conteo, el sistema deberá de hacer lo mismo, pero ahora los marbetes que le otorgaron a la primera persona yo no debe de ser los mismo para este conteo. esto se debe de aplicarse a cada una de las personas registradas. quedando de la siguiente forma:
-persona 1 le corresponden los siguientes marbetes 11,12,13,14,15
-persona 2 le corresponden los siguientes marbetes 1,2,3,4,5
-persona 1 le corresponden los siguientes marbetes 6,7,8,9,10

este proceso se deberá de ejecutarse en cada una de los 4 conteos que se abrirán, hay que tener en cuenta que entre cada conteo se van a ir descartando lo marbetes de los materiales que se vayan cuadrando con la existencia real de cada material.

espero que me haya dado entender y me puedan orientar de como hacer estar rutina para logra hacer lo que quiero, que tengan excelente día, espero su pronta respuesta gracias.
Responder Con Cita
  #2  
Antiguo 21-10-2019
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.043
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Tendrás que guardar una especie de histórico de los que has asignado antes, y compararlo con los que le toque ahora. Si ya se le asignó en alguna ocasión, se pasa a otro, que no, pues se le otorga.
Responder Con Cita
  #3  
Antiguo 22-10-2019
bucanero bucanero is offline
Miembro
 
Registrado: nov 2013
Ubicación: Almería, España
Posts: 208
Poder: 11
bucanero Va camino a la fama
Una alternativa a esto es aplicar una formula con este formato:

Código:
 F := ((Id_articulo + i) mod num_personas) + 1;
donde:
id_articulo: es el identificador de articulo de tipo numérico
i: es el numero de conteo que lleva cada persona (1, 2... )
num_personas: el numero que van a contar

y los artículos que corresponden a cada persona son aquellos que el resultado de esta formula coincida con el id de esta persona
Responder Con Cita
Respuesta



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
Como sincronizar datos entre bases datos cliente a servidor (asincronicamente) Efren2006 OOP 6 29-03-2013 11:36:11
Pasar un registro de una DBGird a otra sin que se repitan!! y_a_p Varios 9 30-01-2013 23:37:06
Realizar una consulta de varias tablas y que no se repitan los registros maravert MySQL 2 15-11-2009 21:32:40
Datos Combobox que no se repitan XaSu Varios 4 10-01-2008 12:55:43
evitar que se repitan los codigos juangabriel1786 Varios 3 21-09-2006 15:51:44


La franja horaria es GMT +2. Ahora son las 00:23:04.


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