Visual Foxprogram

Encuentra una gran variedad de ejemplos prácticos que pueden ser útiles para el desarrollo de tu trabajo.

Visual Foxprogram

Podrás encontrar la herramienta necesaria para solucionar tu problema.

Visual Foxprogram

No olvides suscribirte a la página.

Visual Foxprogram

Podrás en contrar ejemplos de clases, creaciones de Menu estilo CSS,crear reportes PDF.

Visual Foxprogram

Todas las Herramientas en un solo sitio VISUAL FOXPROGRAM.

Mostrando entradas con la etiqueta Combinación de números. Mostrar todas las entradas
Mostrando entradas con la etiqueta Combinación de números. Mostrar todas las entradas

sábado, 8 de junio de 2019

Combinación de Números

Este procedimiento para la realización de Combinaciones de números te permite hacer una permuta de 3 números dando como resultado una combinación de 6 números.

Ej. 748    748, 784, 478, 487, 874, 847



Paso 1:
En el Evento Init agrega lo siguiente:

Public lcEntrada, lcElementos, lcPermutas 
thisform.Caption ="Permutas"
lcentrada=""
lcpermutas=""
lcelementos=""
i=0
SET PROCEDURE TO permuta2

Paso 2:
Agrega la clase controles.vcx a tu formulario

En el texto1 en el evento lostfocus el programa llamará al procedimiento permuta2 el cual hará las posibles combinaciones del número el cual fué introducido en el texto1.

lcEntrada = Alltrim( Transform( lcEntrada ) )
lcElementos = lcEntrada + lcEntrada
lcPermutas = ""
If Len( lcEntrada ) > 4 Or Len( lcEntrada ) < 3
Return
Endif

If Len( lcEntrada ) = 3
lcPermutas = Permuta3( lcEntrada )
Else
For i = 1 To 4
lcPermutas = lcPermutas + Permuta3( Substr( lcElementos, i, 3 ) )
Endfor
Endif

lcPermutas = Left( lcPermutas, Len( lcPermutas ) - 2 )

*Messagebox( lcPermutas )
*
Function Permuta3 ( lcXYZ )

Local Array laElemento[1]
Local i, j, k As Integer, lcPermutas As String

Dimension laElemento[3]

lcPermutas = ""

For i = 1 To 3
laElemento[i] = Substr( lcXYZ, i, 1 )
Endfor

For i = 1 To 3
For j = 1 To 3
For k = 1 To 3
If  laElemento[i] <> laElemento[j] And ;
laElemento[i] <> laElemento[k] And ;
laElemento[j] <> laElemento[k]
lcPermutas = lcPermutas + laElemento[i] + laElemento[j] + laElemento[k] + ", "
Endif
Endfor
Endfor
Endfor

Return ( lcPermutas )