Page 4 of 5
Re: mis proyectos..
Posted: Fri Mar 01, 2013 7:01 pm
by Francisco Horta
Silvio,
FechaServer() es una funcion propia que me regresa la fecha del servidor de mysql, puedes usar en su defecto Date(),
Para los colores la clave esta en calinfo.prg, ahi configuras los colores y las condiciones, puedes ver como lo hice a mis necesidades.
Saludos
Paco
Re: mis proyectos..
Posted: Wed Mar 06, 2013 12:57 am
by rolando
Buenas noches,
Bajé la clase y no puedo lograr que funcione. Me dá errores al compilar los ejemplos.
Inclusive el "calex.exe" que viene, al ejecutarlo y pasar a modo weekly, cierra la aplicación y da un error.
Aclaro que uso xHarbour y VERCE.
¿Que debo incluir en el verce?
Gracias
Rolando

Re: mis proyectos..
Posted: Wed Mar 06, 2013 2:00 am
by Marcelo Roggeri
Hola yo tambien he bajado la clase y me pasa lo mismo que Rolando.
No logro generar la clase nuevamente.
Saludos
Marcelo
Re: mis proyectos..
Posted: Wed Mar 06, 2013 6:30 pm
by Silvio.Falconi
Francisco por favor,
How I can change the color on calinfo.prg
can you explain here please?
I need 5 status ( GREEN, RED, BLUE, ORANGE, GRAY )
thanks
Re: mis proyectos..
Posted: Fri Mar 08, 2013 9:00 pm
by rolando
Buenas tardes,
Logré generar la .lib y compila bien pero al ejecutarlo y cargar una cita, se cierra la aplicación y da un error:Error description: Error BASE/1066 Argument error: conditional
Args:
[ 1] = U
Stack Calls
===========
Called from: CALINFO.PRG => TCALINFO:PAINTONMONTH( 231 )
Called from: CALINFO.PRG => TCALINFO:PAINT( 179 )
Called from: TCALEX.PRG => TDAYVIEW:PAINTCALINFO( 1057 )
Called from: TDAYV.PRG => TDAYVIEW:PAINT( 194 )
Called from: TCALEX.PRG => TCALEX:PAINT( 1035 )
Called from: TCALEX.PRG => (b)TCALEX:TCALEX( 107 )
Called from: => TCALEX:DISPLAY( 0 )
Called from: .\source\classes\CONTROL.PRG => TCALEX:HANDLEEVENT( 1690 )
Called from: .\source\classes\WINDOW.PRG => _FWH( 3177 )
Called from: => WINRUN( 0 )
Called from: .\source\classes\WINDOW.PRG => TMDIFRAME:ACTIVATE( 990 )
Called from: D:\VERCE\XbroTest\TCalex\sample01.prg => SAMPLECALEX:NEW( 83 )
Called from: D:\VERCE\XbroTest\TCalex\sample01.prg => MAIN( 14 )
Para más datos, si utilizo la lib que trae la clase, también da el mismo error.
¿A nadie le pasó?
Saludos
Rolando 
Re: mis proyectos..
Posted: Thu Mar 28, 2013 6:38 pm
by cnavarro
Francisco Horta wrote:Compañeros,
Si Daniel autoriza que publique la TCalex, hasta donde la he modificado con mucho gusto lo haré o la enviaré a alguien para que la ponga a disposición de todos. Yo ya la tengo operando sin problemas en varios Spa's desde hace 5 meses.
Como Opciones que no pude implementar seria algo fantástico que pudiera hacer lo siguiente (a ver si luego alguien puede adaptarla):
1. Desplazamiento con Flechas ( comportamiento idéntico al xbrowse) dentro del calendario
2. poder arrastras y soltar citas en calendario con vista semanal ( cambio de dia y hora ) y vista diaria ( cambio de hora )
3. Ajustar el ancho de los cuadros de las citas al tamaño del control para que no deje espacios.
Creo que eso ahorraria mucho tiempo en agendar.
Esperamos pronta respuesta.
Saludos
Buenas tardes
Con este código funciona el movimiento con flechas en TMonthView en el Metodo Keydown de TCalex
Espero que puedan confirmarlo
Un saludo
Code: Select all | Expand
case ::oView:IsKindOf("TMONTHVIEW")
do case
case nKey == VK_RETURN
::SetDayView()
case nKey == VK_UP
if ::oMonthView:aDateSelected[ 1 ] = 1
::oMonthView:aDateSelected[ 1 ] := 5
::oMonthView:dDateSelected := ::oMonthView:dDateSelected - 28
else
::oMonthView:aDateSelected[ 1 ]--
::oMonthView:dDateSelected := ::oMonthView:dDateSelected - 7
endif
::dDateSelected := ::oMonthView:dDateSelected
::Refresh()
case nKey == VK_DOWN
if ::oMonthView:aDateSelected[ 1 ] = 5 // Ojo, màximo numero filas
::oMonthView:aDateSelected[ 1 ] := 1
::oMonthView:dDateSelected := ::oMonthView:dDateSelected + 28
else
::oMonthView:aDateSelected[ 1 ]++
::oMonthView:dDateSelected := ::oMonthView:dDateSelected + 7
endif
::dDateSelected := ::oMonthView:dDateSelected
::Refresh()
case nKey == VK_LEFT
if ::oMonthView:aDateSelected[ 2 ] = 1
// Crear Data para ir a Mes anterior o...
::oMonthView:aDateSelected[ 2 ] := 7
::oMonthView:dDateSelected := ::oMonthView:dDateSelected + 6
else
::oMonthView:aDateSelected[ 2 ]--
::oMonthView:dDateSelected--
endif
::dDateSelected := ::oMonthView:dDateSelected
::Refresh()
case nKey == VK_RIGHT
if ::oMonthView:aDateSelected[ 2 ] = 7
// Crear Data para ir a Mes siguiente o...
::oMonthView:aDateSelected[ 2 ] := 1
::oMonthView:dDateSelected := ::oMonthView:dDateSelected - 6
else
::oMonthView:aDateSelected[ 2 ]++
::oMonthView:dDateSelected++
endif
::dDateSelected := ::oMonthView:dDateSelected
::Refresh()
otherwise
return Super:KeyDown( nKey, nFlags )
endcase
Re: mis proyectos..
Posted: Thu Mar 28, 2013 6:59 pm
by cnavarro
Añadir esta linea en el New de TCalex para que no haya que seleccionar con el ratón al inicio
Code: Select all | Expand
METHOD New( .........) CLASS TCalex
.../...
::oWnd:oClient = Self
::GoTop()
::SetFocus() // Añadido Cnl 28/03/2013
Return Self
Re: mis proyectos..
Posted: Thu Mar 28, 2013 7:03 pm
by cnavarro
rolando wrote:Buenas tardes,
Logré generar la .lib y compila bien pero al ejecutarlo y cargar una cita, se cierra la aplicación y da un error:Error description: Error BASE/1066 Argument error: conditional
Args:
[ 1] = U
Stack Calls
===========
Called from: CALINFO.PRG => TCALINFO:PAINTONMONTH( 231 )
Called from: CALINFO.PRG => TCALINFO:PAINT( 179 )
Called from: TCALEX.PRG => TDAYVIEW:PAINTCALINFO( 1057 )
Called from: TDAYV.PRG => TDAYVIEW:PAINT( 194 )
Called from: TCALEX.PRG => TCALEX:PAINT( 1035 )
Called from: TCALEX.PRG => (b)TCALEX:TCALEX( 107 )
Called from: => TCALEX:DISPLAY( 0 )
Called from: .\source\classes\CONTROL.PRG => TCALEX:HANDLEEVENT( 1690 )
Called from: .\source\classes\WINDOW.PRG => _FWH( 3177 )
Called from: => WINRUN( 0 )
Called from: .\source\classes\WINDOW.PRG => TMDIFRAME:ACTIVATE( 990 )
Called from: D:\VERCE\XbroTest\TCalex\sample01.prg => SAMPLECALEX:NEW( 83 )
Called from: D:\VERCE\XbroTest\TCalex\sample01.prg => MAIN( 14 )
Para más datos, si utilizo la lib que trae la clase, también da el mismo error.
¿A nadie le pasó?
Saludos
Rolando 
Prueba con esto a ver si lo solucionas
Code: Select all | Expand
METHOD LoadDates( nStart, nEnd, dStart, dEnd, cText, cSubject, nIdx, lND, lAplicado, lBloqueoT ) CLASS TCalEx
local oCalInfo
WITH OBJECT oCalInfo := TCalInfo():New()
:nStart = nStart
:nEnd = nEnd
:dStart = dStart
:dEnd = dEnd
:cText = cText
:cSubject = cSubject
:oCalex = Self
:nIdx = nIdx
//:lND = lND
//:lAplicado = lAplicado
//:lBloqueoT = lBloqueoT
END
hb_HSET( ::hCalInfo, oCalInfo:nId, oCalInfo )
RETURN NIL
Re: mis proyectos..
Posted: Thu Mar 28, 2013 10:43 pm
by rolando
Cristobal,
Gracias por responder. Ya había logrado compilarlo con la ayuda de un amigo, en realidad no utilizo la clase actualmente pero estaba interesante para "testear".
Acabo de probar tus agregados a la clase y funcionan correctamente.
Saludos
Rolando

Re: mis proyectos..
Posted: Mon Apr 01, 2013 10:25 pm
by Francisco Horta
Cristobal,
Probado y funcionando 100%, gracias.
Daniel, como puedo poner la info de mi agenda en un tooltip, para que cuando al pasar el raton por encima de mi cita muestre la info, ya que como son muchas no se puede apreciar la info completa, me pudieras ayudar ó dar una idea por donde empezar... Gracias
adjunto imagen

Saludos
Paco
Re: mis proyectos..
Posted: Tue Apr 02, 2013 3:13 am
by Ariel
hola Paco,
yo estoy metiendole mano x este tema tambien, estoy viendo de redefinir una nuevar variable o de usar :cargo, estoy tratando de meterle la c5tooltip ya q da mas posibilidades q los tooltips normales de fwh.
salu2, Ariel.
Re: mis proyectos..
Posted: Tue Apr 02, 2013 3:24 pm
by Francisco Horta
que tal Ariel,
Estupendo que lograras hacer esa adaptacion, yo lo intente hace rato peo no pude

a ver si Daniel nos echa la idea, espero y no sea nada complicado.
saludos
Paco
Re: mis proyectos..
Posted: Tue Apr 02, 2013 6:52 pm
by cnavarro
Francisco
En el desarrollo de la clase TCalex, estoy intentando realizar lo mismo.
Mi idea era hacer que CalInfo herede de TControl, tal y como parece ser estaba previsto (y comentado en el fuente) y cargar el cToolTip de cada oCalInfo con la información a mostrar.
Si consigo algo concreto lo comentaré. Qué te parece el enfoque del tema?
Un saludo
Re: mis proyectos..
Posted: Tue Apr 02, 2013 6:59 pm
by Francisco Horta
Cristobal,
Estaria de lujo que pudiera mostrarse en un tooltip, por lo pronto lo hice asi y me funciona, peroooo es algo rustico
en tcalex agregar esto:
#define VIEW_MIN 140 // valor del ancho de la columna de la celda, si es menor de 140 muestra la ventana con la info
DATA nIdReserva AS NUMERIC INIT 0 // para validar que la reservacion ya se mostro al mover el raton sobre la cita
y en el method mousemoveview de tcalex:
Code: Select all | Expand
if ::lCaptured
::nIdReserva := 0 // fjhg 02-04-2013
::Refresh()
else
*--------- fjhg 02-04-2013 Simula tooltip, muestra la info de la cita en vista DIARIA exclusivamente
if ::Classname() == "TDAYVIEW" .AND. ::oCalex:oCalInfo != NIL
if ( ::oCalex:oCalInfo:aCoords[ CI_RIGHT ] - ::oCalex:oCalInfo:aCoords[ CI_LEFT ] ) < VIEW_MIN .AND. ::nIdReserva <> ::oCalex:oCalInfo:nIdx
MsgInfo( "No. Reservación: " + ALLTRIM(STR(::oCalex:oCalInfo:nIdx)) + " " + ;
"A las: " + ::oCalex:ConvertTime(::oCalex:oCalInfo:nStart,::oCalex:lAmPm) + " - " + ;
::oCalex:ConvertTime(::oCalex:oCalInfo:nEnd,::oCalex:lAmPm) + CRLF + ;
"Información: " + ::oCalex:oCalInfo:cSubject, "Datos de la Reservación ..." )
::nIdReserva := ::oCalex:oCalInfo:nIdx
endif
else
::nIdReserva := 0
endif
endif
saludos
paco
Re: mis proyectos..
Posted: Tue Apr 02, 2013 7:36 pm
by cnavarro
Paco
Yo lo estoy analizando a través de las DATAS
DATA oCalInfo // Current Callendar Info object HITTESTed
DATA oCalInfoSelected // Current Callendar Info object selected
o crear otro (::cargo) para comparar entre el actual y el anterior, comprobando mediante las coordenadas del mouse el oCalInfo en el que estoy y no volver a mostrar el mensaje hasta no salir de la celda.
Voy a mirar lo que me envías y te lo comento, gracias.
Totalmente de acuerdo con que el aspecto estético no es muy bueno. Habrá que mirar otro tipo de cToolTip
Un saludo