FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin para Harbour/xHarbour mis proyectos..
Posts: 845
Joined: Sun Oct 09, 2005 05:36 PM
Re: mis proyectos..
Posted: Fri Mar 01, 2013 07:01 PM

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

____________________

Paco
Posts: 593
Joined: Sat May 12, 2007 11:47 AM
Re: mis proyectos..
Posted: Wed Mar 06, 2013 12:57 AM

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 :D

Posts: 344
Joined: Sat Jul 22, 2006 09:04 PM
Re: mis proyectos..
Posted: Wed Mar 06, 2013 02:00 AM

Hola yo tambien he bajado la clase y me pasa lo mismo que Rolando.
No logro generar la clase nuevamente.
Saludos
Marcelo

FWH - Harbour - BCC7 - PellesC
Posts: 7317
Joined: Thu Oct 18, 2012 07:17 PM
Re: mis proyectos..
Posted: Wed Mar 06, 2013 06:30 PM

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

Since from 1991/1992 ( fw for clipper Rel. 14.4 - Momos)

I use : FiveWin for Harbour March-April 2024 - Harbour 3.2.0dev (harbour_bcc770_32_20240309) - Bcc7.70 - xMate ver. 1.15.3 - PellesC - mail: silvio[dot]falconi[at]gmail[dot]com
Posts: 593
Joined: Sat May 12, 2007 11:47 AM
Re: mis proyectos..
Posted: Fri Mar 08, 2013 09:00 PM
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 :-)
Posts: 6755
Joined: Wed Feb 15, 2012 08:25 PM
Re: mis proyectos..
Posted: Thu Mar 28, 2013 06:38 PM
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 (fw): Select all Collapse
聽 聽 聽 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
Cristobal Navarro

Hay dos tipos de personas: las que te hacen perder el tiempo y las que te hacen perder la noci贸n del tiempo

El secreto de la felicidad no est谩 en hacer lo que te gusta, sino en que te guste lo que haces
Posts: 6755
Joined: Wed Feb 15, 2012 08:25 PM
Re: mis proyectos..
Posted: Thu Mar 28, 2013 06:59 PM
A帽adir esta linea en el New de TCalex para que no haya que seleccionar con el rat贸n al inicio

Code (fw): Select all Collapse
METHOD New( .........) 聽 聽CLASS TCalex
.../...

聽 聽::oWnd:oClient = Self
聽 聽::GoTop()
聽 聽::SetFocus() 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 // A帽adido Cnl 28/03/2013

Return Self
Cristobal Navarro

Hay dos tipos de personas: las que te hacen perder el tiempo y las que te hacen perder la noci贸n del tiempo

El secreto de la felicidad no est谩 en hacer lo que te gusta, sino en que te guste lo que haces
Posts: 6755
Joined: Wed Feb 15, 2012 08:25 PM
Re: mis proyectos..
Posted: Thu Mar 28, 2013 07:03 PM
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 (fw): Select all Collapse
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
Cristobal Navarro

Hay dos tipos de personas: las que te hacen perder el tiempo y las que te hacen perder la noci贸n del tiempo

El secreto de la felicidad no est谩 en hacer lo que te gusta, sino en que te guste lo que haces
Posts: 593
Joined: Sat May 12, 2007 11:47 AM
Re: mis proyectos..
Posted: Thu Mar 28, 2013 10:43 PM

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 :D

Posts: 845
Joined: Sun Oct 09, 2005 05:36 PM
Re: mis proyectos..
Posted: Mon Apr 01, 2013 10:25 PM
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
____________________

Paco
Posts: 389
Joined: Wed Nov 29, 2006 01:51 PM
Re: mis proyectos..
Posted: Tue Apr 02, 2013 03:13 AM

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.

Posts: 845
Joined: Sun Oct 09, 2005 05:36 PM
Re: mis proyectos..
Posted: Tue Apr 02, 2013 03:24 PM

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

____________________

Paco
Posts: 6755
Joined: Wed Feb 15, 2012 08:25 PM
Re: mis proyectos..
Posted: Tue Apr 02, 2013 06:52 PM

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

Cristobal Navarro

Hay dos tipos de personas: las que te hacen perder el tiempo y las que te hacen perder la noci贸n del tiempo

El secreto de la felicidad no est谩 en hacer lo que te gusta, sino en que te guste lo que haces
Posts: 845
Joined: Sun Oct 09, 2005 05:36 PM
Re: mis proyectos..
Posted: Tue Apr 02, 2013 06:59 PM
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 (fw): Select all Collapse
      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
____________________

Paco
Posts: 6755
Joined: Wed Feb 15, 2012 08:25 PM
Re: mis proyectos..
Posted: Tue Apr 02, 2013 07:36 PM

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

Cristobal Navarro

Hay dos tipos de personas: las que te hacen perder el tiempo y las que te hacen perder la noci贸n del tiempo

El secreto de la felicidad no est谩 en hacer lo que te gusta, sino en que te guste lo que haces