La nueva apariencia de EasyReport

User avatar
mastintin
Posts: 1502
Joined: Thu May 27, 2010 2:06 pm

Re: La nueva apariencia de EasyReport

Post by mastintin »

cnavarro wrote:Manuel, he detectado lo siguiente:
Cuando se crea un nuevo item, primero lo crea y después muestra el cuadro de diálogo de propiedades. Creo que debería ser al revés para poder cancelar la operacion y por lo tanto controlar el proceso
Aún no subido ...
He cambiado lo siguiente y parece que funciona bien como tu dices ....

Code: Select all


FUNCTION SetTextObj( oItem, nArea, i )
   .....
   if oItem:lVisible
      IF !Empty(  oER:aItems[nArea,i])   // añadido por si es nil
         oER:aItems[nArea,i]:End()
      endif

      oER:aItems[nArea,i] := ;
         TSay():New( oEr:nRulerTop + ER_GetPixel( oItem:nTop ), oER:nRuler + ER_GetPixel( oItem:nLeft ), ;
                     {|| oItem:cText }, oER:aWnd[ nArea ],, ;
                     oFont, lCenter, lRight, ( oItem:lBorder .OR. oGenVar:lShowBorder ), ;
                     .T., oER:GetColor( oItem:nColText ), oER:GetColor( oItem:nColPane ), ;
                     ER_GetPixel( oItem:nWidth ), ER_GetPixel( oItem:nHeight ), ;
                     .F., .T., .F., .F., .F. )
 --------
  
function NewItem( cTyp, nArea, nTmpCopyArea, nTmpCopyEntry, cTmpItemCopy )
.......

 IF oER:lNewFormat
      INI oIni FILE oER:cDefIni
         SET SECTION cAreaIni+"Items" ENTRY AllTrim(STR(nFree,5)) TO cItemDef OF oIni
      ENDINI
   else
      INI oIni FILE cAreaIni
          SET SECTION "Items" ENTRY AllTrim(STR(nFree,5)) TO cItemDef OF oIni
      ENDINI
   endif
   
   // movemos esto aqui y lo comentamos abajo 
   if cTyp <> "COPY"
      ItemProperties( i, nArea,, .T. )
   ELSE
      Add2Undo( "", nFree, nArea )
   endif

   ShowItem( nFree, nArea, cAreaIni, @aFirst, @nElemente )





 
User avatar
ruben Dario
Posts: 986
Joined: Thu Sep 27, 2007 3:47 pm
Location: Colombia

Re: La nueva apariencia de EasyReport

Post by ruben Dario »

Seria Interesante que todo se grabe en un solo archivo, y no como lo hace un VRD Y LOS V01'--V??
Ruben Dario Gonzalez
Cali-Colombia
rubendariogd@hotmail.com - rubendariogd@gmail.com
User avatar
ruben Dario
Posts: 986
Joined: Thu Sep 27, 2007 3:47 pm
Location: Colombia

Re: La nueva apariencia de EasyReport

Post by ruben Dario »

Seria ..
Last edited by ruben Dario on Wed Oct 22, 2014 12:41 am, edited 1 time in total.
User avatar
ruben Dario
Posts: 986
Joined: Thu Sep 27, 2007 3:47 pm
Location: Colombia

Re: La nueva apariencia de EasyReport

Post by ruben Dario »

Pero este código supuesta mente activa la versión de Eysareport antigua.

#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 )
Saludos
Last edited by ruben Dario on Tue Oct 21, 2014 7:04 pm, edited 1 time in total.
Ruben Dario Gonzalez
Cali-Colombia
rubendariogd@hotmail.com - rubendariogd@gmail.com
User avatar
mastintin
Posts: 1502
Joined: Thu May 27, 2010 2:06 pm

Re: La nueva apariencia de EasyReport

Post by mastintin »

ruben Dario wrote:Seria Interesante que todo se grabe en un solo archivo, y no como lo hace un VRD Y LOS V01'--V??
ruben Dario wrote:Pero este código supuesta mente activa la versión de Eysareport antigua.

Saludos
¿?
No entiendo tu ¿ Pregunta? ... el nuevo formato crea un único archivo , es decisión propia cual de los 2 usar. Para usar el nuevo formato .... si el reporte es nuevo escoges formato nuevo al crearlo . Si es un reporte viejo , primero lo exportas al nuevo formato , luego abres el nuevo archivo .
User avatar
cnavarro
Posts: 5792
Joined: Wed Feb 15, 2012 8:25 pm
Location: España

Re: La nueva apariencia de EasyReport

Post by cnavarro »

Ruben, la implementacion de lo que comentas la ha realizado Manuel, mira
http://forums.fivetechsupport.com/viewt ... 80#p166177
C. Navarro
Hay dos tipos de personas: las que te hacen perder el tiempo y las que te hacen perder la noción del tiempo
Si alguien te dice que algo no se puede hacer, recuerda que esta hablando de sus limitaciones, no de las tuyas.
User avatar
ruben Dario
Posts: 986
Joined: Thu Sep 27, 2007 3:47 pm
Location: Colombia

Re: La nueva apariencia de EasyReport

Post by ruben Dario »

Gracias, quedo claro, lo único que veo que si borro un objeto del reporte y luego grabo , vuevo a carga el reporte pero no hace efecto _.
Ruben Dario Gonzalez
Cali-Colombia
rubendariogd@hotmail.com - rubendariogd@gmail.com
User avatar
mastintin
Posts: 1502
Joined: Thu May 27, 2010 2:06 pm

Re: La nueva apariencia de EasyReport

Post by mastintin »

Ruben , ¿ Hiciste el cambio en el codigo sugerido ? .

Code: Select all


function ElementActions( oItem, i, cName, nArea, cAreaIni, cTyp )

......

oItem:bPostDelcontrol:= { || DelItemWithKey( i , nArea ) }  // añadir esta linea .
......



 
User avatar
ruben Dario
Posts: 986
Joined: Thu Sep 27, 2007 3:47 pm
Location: Colombia

Re: La nueva apariencia de EasyReport

Post by ruben Dario »

Perfecto mastintin, Hice el Cambio , funciono
Gracias , mastintin
Ruben Dario Gonzalez
Cali-Colombia
rubendariogd@hotmail.com - rubendariogd@gmail.com
User avatar
mastintin
Posts: 1502
Joined: Thu May 27, 2010 2:06 pm

Re: La nueva apariencia de EasyReport

Post by mastintin »

he metido codigo que sincroniza la selección del tree con los elementos selecionados .Podemos selecionar un elemento y esto mueve el elmento selecionado en el tree y tambien podemos selecionar un elemento desde el tree.
He ocultado el panel derecho para buscar una versión estable , sin cosas por completar.
Tenemos que buscar bugs y una vez corregidos colocar una versión funcional que pueda sustituir la version de Tim .
User avatar
Silvio.Falconi
Posts: 4956
Joined: Thu Oct 18, 2012 7:17 pm

Re: La nueva apariencia de EasyReport

Post by Silvio.Falconi »

Dear mastintin,

I believe that we are all wrong,

FWH needs a simple report designer as fast report but in a more simple and intuitive.

I thought were upon to create for each report (order type or simple list) a window with a ButtonBar. In this window must be shown the sheet (a4 / a3) not divided by areas but the entire sheet

In this paper we could define areas eg page header, body, foot with their properties (length, width, on even pages on odd pages) and display them in paper box with a dotted line

Then there must be the property of the page (horizontal and vertical, paper size, margins, frame)
On these areas we could enter text and fields databases, graphic files, the box lines

Carles has done an excellent job: Carles has seen far away, in the report of carles you can see the whole sheet and not divided by areas.

In myrep designer would put the dialog's input to the properties of objects as they are in easyreport instead of inspector
I use : FiveWin for Harbour August 2020 (Revision) - Harbour 3.2.0dev (r1712141320) - Bcc7.30 - xMate ver. 1.15.3 - PellesC
User avatar
Silvio.Falconi
Posts: 4956
Joined: Thu Oct 18, 2012 7:17 pm

Re: La nueva apariencia de EasyReport

Post by Silvio.Falconi »

Dear mastintin,

this evening I'm trying to create a report ( italian order) with Er
I have many and many problems
Italian report type order is too different from all world formats
We need many fields
where I can sent you a test (made with hand) to see you what I need
Perhaps you can help to realize it with Er..
I use : FiveWin for Harbour August 2020 (Revision) - Harbour 3.2.0dev (r1712141320) - Bcc7.30 - xMate ver. 1.15.3 - PellesC
User avatar
mastintin
Posts: 1502
Joined: Thu May 27, 2010 2:06 pm

Re: La nueva apariencia de EasyReport

Post by mastintin »

Silvio.Falconi wrote:Dear mastintin,

this evening I'm trying to create a report ( italian order) with Er
I have many and many problems
Italian report type order is too different from all world formats
We need many fields
where I can sent you a test (made with hand) to see you what I need
Perhaps you can help to realize it with Er..
Estimado Silvio , lo que hemos hecho con Ereport es recoger un código ya escrito y desactualizado e intentar que compile correctamante con las nuevas librerias de FWH . Hemos intentado mantener "el espiritu" del desarrollo inicial ya que existen usuarios que lo tienen incorporado en su trabajo y le hemos añadido un nuevo formato de archivo que equivale fielmente al antiguo, pero contenido en un solo archivo . Siguen existiendo muchos errores que resolver como la selección de elementos y muchas cosas mas .
Evidentemente si partimos de un desarrollo CERO , posiblemente el enfoque sería distinto y el diseñador de reportes que comenzó Paco fuera el camino a seguir o puede que otro distinto .
Por mi parte, decirte que mi trabajo nada tiene que ver con la programación hoy en día, y en mi tiempo de libre o mas bien en mi tiempo en Paro ( la cosa está dura en España ) meto algunas lineas , pero nunca es un trabajo constante como requiere un desarrollo serio. Esta temporada me ha salido algo de trabajo
y tengo que coger el momento así que como veras no se ha metido código nuevo , mas lejos de una pequeña contribución en el código Gdi+ de fwh .
Lo siento :( , no puedo ayudarte en este momento, pero si pones en el foro tu código seguro que alguien lo hace con gusto .
Un saludo y espero entiendas mi postura.
User avatar
Silvio.Falconi
Posts: 4956
Joined: Thu Oct 18, 2012 7:17 pm

Re: La nueva apariencia de EasyReport

Post by Silvio.Falconi »

Dear Mastintin, I worked a lot with making many ER report when it was still for sale by Timm, I found many difficulties to draw my report, first with ReR report then gxreport not know if you remember them ... then I went to fastreport also because already I used to work (the management of the school administrations use for printing fastreport), then I left the report to use and fast to devote MyRPt of charles and I was hoping that Charles would continue to work to improve it. In fact I thought and hoped that all of you are working to improve myrpt that runs well in win xp but has problems in win7 but it was only a hope .. you had to just change some small things like create the dialog object properties instead of using the class inspect and change the class tsection for loops ... I would have done with two lines diveramente orizontali within which fields automatically had to be repeated in a loop ..... then Antonio .. wanted to buy the work of Timm .. . but stable yet ... there's nothing really you cannot create a report such as this bill (I tried no success)

I init from the first sample we have on ER and I tried to modify it insert mine column and objects

Image


Paper A4 ( margins 12,7)
I made a snapshot of all area I need ( see the vertical and horizontal numbers (mm)

Image
I use : FiveWin for Harbour August 2020 (Revision) - Harbour 3.2.0dev (r1712141320) - Bcc7.30 - xMate ver. 1.15.3 - PellesC
User avatar
lucasdebeltran
Posts: 1303
Joined: Tue Jul 21, 2009 8:12 am
Contact:

Re: La nueva apariencia de EasyReport

Post by lucasdebeltran »

Manuel,

Muchas gracias por todo tu esfuerzo y dedicación. En efecto, la idea es arreglar EasyReport y dejarlo operativo.

Silvio, quizás podrías contratar a Manuel para que realice un reporter según tus necesidades y las de tu cliente.

Muchas gracias.
Muchas gracias. Many thanks.

Un saludo, Best regards,

Harbour 3.2.0dev, Borland C++ 5.82 y FWH 13.06 [producción]

Implementando MSVC 2010, FWH64 y ADO.

Abandonando uso xHarbour y SQLRDD.
Post Reply