FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin para Harbour/xHarbour Algunas ideas para proyecto
Posts: 845
Joined: Sun Oct 09, 2005 05:36 PM
Algunas ideas para proyecto
Posted: Wed May 27, 2009 04:53 PM

Hola foro,

Pues ahora necesito si me ayudan con alugnas ideas o si alguien por ahi tiene algo desarrollado, necesito hacer lo siguiente:

En mi Punto de Venta, quier hacer sorteos a cierta hora, para un salon de belleza donde se hacen servicios...
Ejemplo:
entra un cliente y al registrarse en mi sistema para "x" servicio, le imprimo un boleto con un numero para una rifa de "x" descuento en su servicio, y asi sucesivamente, cuando entran 20 clientes y les di por ejemplo de la numeracion 001 a la 020, quiero en un dialogo mostrar un boton donde diga sorteo y pinchar ahi y que empiece aleatoriamente a recorrer la numeracion durante 5 segundos, al termino de los 5 segundos que se detenga y me aparezca en pantalla el numero ganador,
es todo lo que necesito, algunas ideas?
mil gracias
salu2
paco

____________________

Paco
Posts: 3358
Joined: Fri Oct 07, 2005 08:20 PM
Re: Algunas ideas para proyecto
Posted: Wed May 27, 2009 05:21 PM

Paco:

Por lo que entiendo ya lo tienes bien "masticado", solo te falta escribir el c贸digo.

Un abrazo

SOI, s.a. de c.v.
estbucarm@gmail.com
http://www.soisa.mex.tl/
http://sqlcmd.blogspot.com/
Tel. (722) 174 44 45
Carpe diem quam minimum credula postero
Posts: 845
Joined: Sun Oct 09, 2005 05:36 PM
Re: Algunas ideas para proyecto
Posted: Wed May 27, 2009 06:20 PM

Armando, eso es precisamente de lo que quiero la idea, como hacerlo en codigo, como poner un texto con numer y que avanzara como si fuera un reloj rapidisimo mostrando los numeros luego que se detenga, que funciones uso, ai me bloquee, con un timer, como? como pararlo, como hacer que muestre los numeros aleatoriamente, ....

salu2
paco

:-(

____________________

Paco
Posts: 3358
Joined: Fri Oct 07, 2005 08:20 PM
Re: Algunas ideas para proyecto
Posted: Wed May 27, 2009 06:40 PM

Paco:

Ahhhhh, creo que debes usar una ventana con un TIMER, como sabes el timer te permite ejecutar una funci贸n cada n segundos o decimas de segundos (habra que confirmarlo).

Resumiendo, creas un bot贸n cuya actividad sea abrir la ventana con el timer y en la funci贸n del timer metes la creaci贸n y muestra de los n煤meros aleatorios, creo que con la funci贸n RND() los puedes crear, al final del timer quedar谩 en la ventana el n煤mero ganador, chan chan chan chaaaan. :-)

Espero que por ah铆 vayan los tiros, seguramente alguien aportar谩 algo m谩s.

Saludos

SOI, s.a. de c.v.
estbucarm@gmail.com
http://www.soisa.mex.tl/
http://sqlcmd.blogspot.com/
Tel. (722) 174 44 45
Carpe diem quam minimum credula postero
Posts: 514
Joined: Sun Oct 16, 2005 03:32 AM
Re: Algunas ideas para proyecto
Posted: Wed May 27, 2009 08:42 PM
Francisco,

Te pongo una adaptaci贸n de "FWH\Samples\LedDisp.prg." .

Tienes que usar el bmp "Display.bmp" que tienes en "FWH\Bitmaps"

Code (fw): Select all Collapse
// A nice Odometer developed by a FiveWin user

#include "FiveWin.ch"
Static nGet
Static oBmp1, oBmp2, oBmp3, oBmp4, oBmp5
//----------------------------------------------------------------------------//

function Odo()

聽 聽local oDlg, oFont1
聽 聽LOCAL cNGanador := "333"

LOCAL aDatos:={"001","002","003","004","005","006","007","008","009","010",;
聽 聽 聽 聽 聽 聽 聽 聽"011","012","013","014","015","016","017","018","019","020"}

聽 聽DEFINE FONT oFont1 NAME "Arial" SIZE 0,-36 BOLD
聽 聽DEFINE DIALOG oDlg FROM 0, 0 TO 15, 60 TITLE "PROBANDO EL CONTADOR"

聽 聽/* Cada d铆gito es de 34 x 48 */

聽 聽@ 聽0, 0 BITMAP oBmp1 FILE "..\bitmaps\display.bmp" OF oDlg
聽 聽@ 聽0, 0 BITMAP oBmp2 FILE "..\bitmaps\display.bmp" OF oDlg
聽 聽@ 聽0, 0 BITMAP oBmp3 FILE "..\bitmaps\display.bmp" OF oDlg
聽 聽@ 聽0, 0 BITMAP oBmp4 FILE "..\bitmaps\display.bmp" OF oDlg
聽 聽@ 聽0, 0 BITMAP oBmp5 FILE "..\bitmaps\display.bmp" OF oDlg

聽 聽oBmp1:nTop 聽 聽:= 28
聽 聽oBmp1:nLeft 聽 := 80
聽 聽oBmp1:nBottom := 52
聽 聽oBmp1:nRight 聽:= 97

聽 聽oBmp2:nTop 聽 聽:= 28
聽 聽oBmp2:nLeft 聽 := 98
聽 聽oBmp2:nBottom := 52
聽 聽oBmp2:nRight 聽:= 115

聽 聽oBmp3:nTop 聽 聽:= 28
聽 聽oBmp3:nLeft 聽 := 116
聽 聽oBmp3:nBottom := 52
聽 聽oBmp3:nRight 聽:= 133

聽 聽oBmp4:nTop 聽 聽:= 28
聽 聽oBmp4:nLeft 聽 := 134
聽 聽oBmp4:nBottom := 52
聽 聽oBmp4:nRight 聽:= 151

聽 聽oBmp5:nTop 聽 聽:= 28
聽 聽oBmp5:nLeft 聽 := 152
聽 聽oBmp5:nBottom := 52
聽 聽oBmp5:nRight 聽:= 169

聽 聽@ 73,50 SAY "N煤mero ganador:" OF oDlg PIXEL
聽 聽@ 66,110 SAY oSay1 VAR cNGanador OF oDlg PIXEL FONT oFont1 COLOR nRGB(175,0,0)

聽 聽@ 10,100 BUTTON "&Sorteo" OF oDlg SIZE 40, 12 ;
聽 聽 聽 ACTION Solo(aDatos,oSay1) PIXEL

聽 聽ACTIVATE DIALOG oDlg CENTERED ;
聽 聽 聽 聽 聽 聽ON INIT (oBmp1:nX:=-528,oBmp2:nX:=-528,oBmp3:nX:=-528,oBmp4:nX:=-528,oBmp5:nX:=-528,;
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 oSay1:Hide())

return nil


Function Solo(aDatos,oSay1)
聽 聽 Local i, nNumRam, nVeces := 10 // 50
聽 聽 oSay1:Hide()
聽 聽 for i = 1 to nVeces
聽 聽 聽 聽 nNumRam := Round(HB_Random(1,Len(aDatos)),0)
聽 聽 聽 聽 Pone(oBmp1, oBmp2, oBmp3, oBmp4, oBmp5, nNumRam)
聽 聽 聽 聽 if i==nVeces
聽 聽 聽 聽 聽 聽oSay1:SetText(StrZero(nNumRam,5))
聽 聽 聽 聽 聽 聽oSay1:Show()
聽 聽 聽 聽 endif
聽 聽 聽 聽 SysWait(0.2)
聽 聽 聽 聽 SysRefresh()
聽 聽 next i
return NIL


//---------------------------------------------------------------------------//

Function Pone ( oB1, oB2, oB3, oB4, oB5, nCantidad)

聽 Local cNum := SPACE(5)
聽 Local nLen := 0
聽 Local nDig1 := 0
聽 Local nDig2 := 0
聽 Local nDig3 := 0
聽 Local nDig4 := 0
聽 Local nDig5 := 0

聽 聽 聽 聽 cNum := STR(nCantidad)
聽 聽 聽 聽 nLen := LEN(cNum)

聽 聽 聽 聽 nDig1 := VAL(SUBSTR(cNum, nLen - 4, 1))

聽 聽 聽 聽 if nDig1 = 0
聽 聽 聽 聽 聽 聽oB1:nX := -528 聽 聽 聽 聽 // 0 - (11 * 48)
聽 聽 聽 聽 else
聽 聽 聽 聽 聽 聽oB1:nX := 0 - (nDig1 * 48)
聽 聽 聽 聽 endif

聽 聽 聽 聽 nDig2 := VAL(SUBSTR(cNum, nLen - 3, 1))

聽 聽 聽 聽 if nDig2 = 0 .AND. nDig1 = 0
聽 聽 聽 聽 聽 聽oB2:nX := -528
聽 聽 聽 聽 else
聽 聽 聽 聽 聽 聽 聽 聽 oB2:nX := 0 - (nDig2 * 48)
聽 聽 聽 聽 endif

聽 聽 聽 聽 nDig3 := VAL(SUBSTR(cNum, nLen - 2, 1))
聽 聽 聽 聽 if nDig3 = 0 .AND. nDig2 = 0 .AND. nDig1 = 0
聽 聽 聽 聽 聽 聽oB3:nX := 0 // -528
聽 聽 聽 聽 else
聽 聽 聽 聽 聽 聽 聽 聽 oB3:nX := 0 - (nDig3 * 48)
聽 聽 聽 聽 endif

聽 聽 聽 聽 nDig4 := VAL(SUBSTR(cNum, nLen - 1, 1))
聽 聽 聽 聽 if nDig4 = 0 .AND. nDig3 = 0 .AND. nDig2 = 0 .AND. nDig1 = 0
聽 聽 聽 聽 聽 聽oB4:nX := 0 // -528
聽 聽 聽 聽 else
聽 聽 聽 聽 聽 聽 聽 聽 oB4:nX := 0 - (nDig4 * 48)
聽 聽 聽 聽 endif

聽 聽 聽 聽 nDig5 := VAL(SUBSTR(cNum, nLen, 1))
聽 聽 聽 聽 oB5:nX := 0 - (nDig5 * 48)

聽 聽 聽 聽 oB5:Refresh( .F. )
聽 聽 聽 聽 oB4:Refresh( .F. )
聽 聽 聽 聽 oB3:Refresh( .F. )
聽 聽 聽 聽 oB2:Refresh( .F. )
聽 聽 聽 聽 oB1:Refresh( .F. )
聽 聽 聽 聽 SysRefresh()

return NIL

Aj煤stalo a tus necesidades.

Saludos,

Carlos Gallego

Saludos,



Carlos Gallego



*** FWH-25.12, xHarbour 1.3.1 Build 20241008, Borland C++7.70, PellesC, ADS 11.1***

Posts: 105
Joined: Thu Feb 26, 2009 04:08 PM
Re: Algunas ideas para proyecto
Posted: Thu May 28, 2009 05:46 AM

Supongo que ese ticket que diste a la entrada tambien lo registras a la salida, porque sino haces el sorteo y resulta que la ganadora ya no esta jejejeje

Posts: 845
Joined: Sun Oct 09, 2005 05:36 PM
Re: Algunas ideas para proyecto
Posted: Fri May 29, 2009 12:06 AM

Carlos,
gracias por tu aporte lo probare, es algo asi lo que buscaba , mil gracias y asi es javier hay que registrar la salida
salu2
paco

____________________

Paco

Continue the discussion