Page 12 of 16
Re: La nueva apariencia de EasyReport
Posted: Wed Oct 08, 2014 10:13 am
by mastintin
Cuando carga el programa , ningún control tiene foco , una vez selecionado uno , ya queda con foco .
No va ninguna de los dos .
aWnd[ nArea ]:bLClicked = {|nRow,nCol,nFlags| DeactivateItem(), ;
StartSelection( nRow, nCol, aWnd[ nArea ] ), ;
nAktArea := aWnd[ nArea ]:nArea,;
DeactivateItem(), ;
aWnd[ nArea ]:SetFocus() }
aWnd[ nArea ]:bLClicked = {|nRow,nCol,nFlags| DeactivateItem(), ;
StartSelection( nRow, nCol, aWnd[ nArea ] ), ;
nAktArea := aWnd[ nArea ]:nArea,;
DeactivateItem(), ;
::oMainWnd:SetFocus()}
---------------------------edito -----------------------------
aun mas :
aWnd[ nArea ]:bLClicked = {|nRow,nCol,nFlags| aWnd[ nArea ]:SetFocus() }
oItem:bGotFocus := {|| MSGinfo( i ) }
con este codigo si seleciono el item ( salta el msginfo ) , luego click en el area no pasa nada ( porque el item ya tiene el foco ) , cambio de area y vuelvo haciendo click en el area ,salta msginfo ( coge el foco el item ) ....
Re: La nueva apariencia de EasyReport
Posted: Wed Oct 08, 2014 7:57 pm
by Antonio Linares
Y si deshabilitas los controles y asi no cogen foco...
Re: La nueva apariencia de EasyReport
Posted: Wed Oct 08, 2014 9:03 pm
by mastintin
Antonio Linares wrote:Y si deshabilitas los controles y asi no cogen foco...
He implementado la solución que propones y vale .
Crea un pequeño parpadeo en el say que indica el control activo dentro del folder del inspector , pues parece que el ítem coge el foco por un instante y luego lo pierde al deshabilitarlo .
Re: La nueva apariencia de EasyReport
Posted: Thu Oct 09, 2014 8:17 am
by mastintin
Cristobal , en la function ElementActions , oItem:bLClicked nunca se ejecuta porque el elemento esta en lDrag:= .t. Debemos tenerlo en cuenta y no sé si quitar ese código .
Por otro lado la asignación de todos estos codeblock ¿ no sería mas correcta hacerla en ShowItem que aquí ? .
Espero tu opinión.
Re: La nueva apariencia de EasyReport
Posted: Thu Oct 09, 2014 4:26 pm
by cnavarro
Manuel, yo casi había conseguido solucionar el bug de otra manera, pero ya te digo que "casi"
Estoy investigando por qué en la versión original no pasaba esto y aquí si
En cuanto a lo que me comentas, ahora después miraré lo que comentas y te digo algo
Re: La nueva apariencia de EasyReport
Posted: Thu Oct 09, 2014 4:54 pm
by mastintin
cnavarro wrote:Estoy investigando por qué en la versión original no pasaba esto y aquí si
He instalado el ereport original para comprobar ,he usado el instalador que esta en el repositorio y si que pasa lo mismo ...
Re: La nueva apariencia de EasyReport
Posted: Thu Oct 09, 2014 5:16 pm
by cnavarro
Yo he instalado una version que venia con FW
Re: La nueva apariencia de EasyReport
Posted: Fri Oct 10, 2014 7:41 am
by mastintin
cnavarro wrote:Yo he instalado una version que venia con FW
Respecto a esta instalación....
Como para mi es un incordio el tema de la versión demo y los segundos de espera , he realizado un pequeño programa que genera y registra la clave para que quede como versión completa.
todo el mundo puede hacerlo ya que contamos con el código . pero ¿ Facilitamos el programa y su código para el que lo necesite ? , no se como estará este tema a nivel licencias y esas cosas que yo no entiendo demasiado ... ¿ que hacemos ? .
Re: La nueva apariencia de EasyReport
Posted: Fri Oct 10, 2014 9:48 am
by cnavarro
mastintin wrote:cnavarro wrote:Yo he instalado una version que venia con FW
Respecto a esta instalación....
Como para mi es un incordio el tema de la versión demo y los segundos de espera , he realizado un pequeño programa que genera y registra la clave para que quede como versión completa.
todo el mundo puede hacerlo ya que contamos con el código . pero ¿ Facilitamos el programa y su código para el que lo necesite ? , no se como estará este tema a nivel licencias y esas cosas que yo no entiendo demasiado ... ¿ que hacemos ? .
Buena pregunta
Re: La nueva apariencia de EasyReport
Posted: Fri Oct 10, 2014 4:54 pm
by lucasdebeltran
Hola,
No creo que haya ningún problema porque Timm entrego todo el código y desde su web incluso remite a estos foros.
Re: La nueva apariencia de EasyReport
Posted: Fri Oct 10, 2014 5:28 pm
by cnavarro
Yo entiendo lo mismo que expone Lucas
No deberia haber ningun problema
Re: La nueva apariencia de EasyReport
Posted: Fri Oct 10, 2014 7:36 pm
by mastintin
Yo creo lo mismo , esperemos la opinión de Antonio y si es conforme , subo el código.
Re: La nueva apariencia de EasyReport
Posted: Sat Oct 11, 2014 9:29 am
by mastintin
Lo he pensado y dado que el código es publico , si lo que hago es subir el código aquí para cada cual lo compile , lo único que hacemos es facultar la recopilación del código necesario ,así que aquí teneos el código ... lo copiáis lo metéis en un archivo ( yo lo he llamado ercode.prg ) , colocáis el archivo en simples de fwh y lo compiláis con vuestro bat favorito . Si alguno usa xharbour tendrá que cambiar hb_curdrive() por curdrive() .
Code: Select all | Expand
#include "FiveWin.ch"
function Main()
local cGeneralIni:= "c:\vrd.ini" +space(20)
local oDlg, oBtn,oGet
DEFINE DIALOG oDlg TiTle "Registrar EReport"
@ 2, 2 GET oget VAR cGeneralIni ACTION SetinGet( oGet )
@ 3, 4 BUTTON oBtn PROMPT "Registrar" ACTION Registrar( alltrim( cGeneralIni ) )
@ 3, 15 BUTTON "Salir" ACTION oDlg:End() CANCEL
ACTIVATE DIALOG oDlg CENTERED
return nil
//-----------------------------------------------------------------------------
Function Registrar( cGeneralIni )
local cSerial, cRegist, lOk
local cDrive := hb_CurDrive( cGeneralIni )+":\"
cSerial := alltrim(str(GetSerialHD( cDrive ) ))
cRegist := GetRegistKey( cSerial )
lok := CheckRegist( cSerial, cRegist, cGeneralIni )
if lok
msginfo("registro realizado")
else
msginfo("registro no realizado")
endif
Return nil
//-----------------------------------------------------------------------------
Function SetinGet( oget )
local cfile:= cGetFile( oget:cText )
if !empty(cFile)
oget:cText(cFile)
endif
Return nil
//-----------------------------------------------------------------------------
FUNCTION GetSerialHD( cDrive )
LOCAL cLabel := Space(32)
LOCAL cFileSystem := Space(32)
LOCAL nSerial := 0
LOCAL nMaxComp := 0
LOCAL nFlags := 0
DEFAULT cDrive := "C:\"
GetVolInfo( cDrive, @cLabel, Len( cLabel ), @nSerial, @nMaxComp, @nFlags, ;
@cFileSystem, Len( cFileSystem ) )
RETURN nSerial
DLL32 Function GetVolInfo( sDrive AS STRING, ;
sVolName AS STRING, ;
lVolSize AS LONG , ;
@lVolSerial AS PTR , ;
@lMaxCompLength AS PTR , ;
@lFileSystFlags AS PTR , ;
@sFileSystName AS STRING, ;
lFileSystSize AS LONG ) ;
AS LONG PASCAL ;
FROM "GetVolumeInformationA" ;
LIB "kernel32.dll"
//-----------------------------------------------------------------------------
FUNCTION CheckRegist( cSerial, cRegist, cGeneralIni )
LOCAL lOK := .F.
if !file( cGeneralIni )
msginfo("archivo ini no encontrado")
return .f.
endif
IF ALLTRIM( cRegist ) == GetRegistKey( cSerial )
WritePProString( "General", "RegistKey", ALLTRIM( cRegist ) , cGeneralIni )
lOK := .T.
ENDIF
RETURN ( lOK )
//-----------------------------------------------------------------------------
FUNCTION GetRegistKey( cSerial )
LOCAL cReg := ALLTRIM( STR( INT( ( VAL( ALLTRIM( cSerial ) ) * 167 ) * 4.12344 ), 30 ) )
cReg := SUBSTR( cReg + ALLTRIM( STR( 47348147489715610655, 30 ) ), 1, 12 )
cReg := CHR( VAL( SUBSTR( cReg, 8, 1 ) ) + 74 ) + ;
CHR( VAL( SUBSTR( cReg, 4, 1 ) ) + 68 ) + ;
CHR( VAL( SUBSTR( cReg, 2, 1 ) ) + 70 ) + ;
CHR( VAL( SUBSTR( cReg, 6, 1 ) ) + 66 ) + ;
SUBSTR( cReg, 5 )
RETURN ( cReg )
Re: La nueva apariencia de EasyReport
Posted: Sat Oct 11, 2014 9:34 am
by cnavarro
Un trabajo magnifico Manuel
Re: La nueva apariencia de EasyReport
Posted: Sat Oct 11, 2014 12:54 pm
by cnavarro
mastintin wrote:cnavarro wrote:Estoy investigando por qué en la versión original no pasaba esto y aquí si
He instalado el ereport original para comprobar ,he usado el instalador que esta en el repositorio y si que pasa lo mismo ...
Ahora, con la clave introducida he comprobado que marcas un item, te vas a otra area, vuelves y el item sigue marcada (igual que en esta version)