FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin para Harbour/xHarbour XBROWSE - EDITSOURCE()
Posts: 182
Joined: Wed Nov 08, 2006 11:44 PM
XBROWSE - EDITSOURCE()
Posted: Tue Dec 06, 2016 10:14 PM
Hola
Estoy usando los metodos EditSource() y EditBrowse() del xbrowse y me resultan extremadamente utiles a la hora de editar registros de bases de
datos con muchos campos.
En algunos casos necesitaria hacer algunas peque帽as modificaciones en el dialogo que el m茅todo muestra por defecto (ej: cabeceras con dos lineas de texto que s贸lo muestran una linea por falta de espacio etc.).
He buscado el c贸digo fuente de las funciones en cuesti贸n pero no lo puedo encontrar, alguien sabe donde encontrarlo o como modificar el Dlg ?
Desde ya gracias por la ayuda que puedan prestarme
Posts: 682
Joined: Tue Feb 14, 2006 09:48 AM
Re: XBROWSE - EDITSOURCE()
Posted: Wed Dec 07, 2016 05:32 PM

Estos m茅todos de xBrowse utilizan la clase DataRow (DataRow.prg).

Saludos desde Mallorca
Biel Maim贸
http://bielsys.blogspot.com/
Posts: 44158
Joined: Thu Oct 06, 2005 05:47 PM
Re: XBROWSE - EDITSOURCE()
Posted: Wed Dec 07, 2016 06:23 PM
Raul,

Tendrias que haces estos peque帽os cambios en FWH:

En la clase TXBrowse: (xbrowse.prg)

METHOD EditSource( lNew, cFieldList, lNavigate, bInit ) INLINE ::Edit( lNew, cFieldList, .t., lNavigate, bInit )

METHOD Edit( lNew, cFieldList, lSourceData, lNavigate, bInit )

METHOD Edit( lNew, cFieldList, lSourceData, lNavigate, bInit ) CLASS TXBrowse

...

::DataRow( lNew, lSourceData, cFieldList ):Edit( nil, lNavigate,,, bInit )

En la Clase TDataRow: (datarow.prg)

METHOD Edit( lReadOnly, lNavigate, cTitle, cMsg, bInit ) CLASS TDataRow

y finalmente

ACTIVATE DIALOG oDlg CENTERED ;
ON INIT ( oRec:PlaceControls( oPanel, oSayFont, oFixed, lReadOnly, lNavigate, cMsg ), If( bInit != nil, Eval( bInit, oDlg ),) ) ;
VALID ( /* lExit .and. */ oRec:CloseMsg() )
regards, saludos

Antonio Linares
www.fivetechsoft.com
Posts: 182
Joined: Wed Nov 08, 2006 11:44 PM
Re: XBROWSE - EDITSOURCE()
Posted: Thu Dec 08, 2016 01:44 PM

Muchas gracias por las respuestas!
Problema solucionado
Como siempre, el Foro una salvaci贸n

Posts: 10733
Joined: Sun Nov 19, 2006 05:22 AM
Re: XBROWSE - EDITSOURCE()
Posted: Thu Dec 08, 2016 04:37 PM

En algunos casos necesitaria hacer algunas peque帽as modificaciones en el dialogo que el m茅todo muestra por defecto (ej: cabeceras con dos lineas de texto que s贸lo muestran una linea por falta de espacio etc.).


Thanks.
We changed this in FWH16.12.

You can make these modifications in fwh\source\classes\datarow.prg.

In METHOD PlaceControls(...)
Present code:
Code (fw): Select all Collapse
         nMaxSayWidth   := Max( nMaxSayWidth, GetTextWidth( hDC, ::aPrompts[ nItem ] + " :", oSayFont:hFont ) )

New code:
Code (fw): Select all Collapse
         nMaxSayWidth   := Max( nMaxSayWidth, GetTextWidth( hDC, ;
            StrTran( ::aPrompts[ nItem ], CRLF, " " ) + " :", oSayFont:hFont ) )


In METHOD MakeOneGet(...)

Present code:
Code (fw): Select all Collapse
   if lMemo
      @ nRow, 20 SAY ::aPrompts[ nAt ] + " :" SIZE  nSayWidth,ROWHT PIXEL OF oPanel FONT oSayFont TRANSPARENT
   else
      @ nRow, 20 SAY ::aPrompts[ nAt ] + " :" SIZE  nSayWidth,ROWHT PIXEL OF oPanel FONT oSayFont RIGHT TRANSPARENT
   endif

New Code:
Code (fw): Select all Collapse
   if lMemo
      @ nRow, 20 SAY StrTran( ::aPrompts[ nAt ], CRLF, " " ) + " :" SIZE  nSayWidth,ROWHT PIXEL OF oPanel FONT oSayFont TRANSPARENT
   else
      @ nRow, 20 SAY StrTran( ::aPrompts[ nAt ], CRLF, " " ) + " :" SIZE  nSayWidth,ROWHT PIXEL OF oPanel FONT oSayFont RIGHT TRANSPARENT
   endif


If you think any other changes would be useful generall for all, please advise us.
Regards



G. N. Rao.

Hyderabad, India
Posts: 182
Joined: Wed Nov 08, 2006 11:44 PM
Re: XBROWSE - EDITSOURCE()
Posted: Thu Dec 08, 2016 07:03 PM

Thank you very much Mr.Rao

Posts: 1276
Joined: Tue Dec 28, 2010 01:29 PM
Re: XBROWSE - EDITSOURCE()
Posted: Wed Jan 03, 2018 04:24 PM
rterraz wrote:Hola
Estoy usando los metodos EditSource() y EditBrowse() del xbrowse y me resultan extremadamente utiles a la hora de editar registros de bases de
datos con muchos campos.
En algunos casos necesitaria hacer algunas peque帽as modificaciones en el dialogo que el m茅todo muestra por defecto (ej: cabeceras con dos lineas de texto que s贸lo muestran una linea por falta de espacio etc.).
He buscado el c贸digo fuente de las funciones en cuesti贸n pero no lo puedo encontrar, alguien sabe donde encontrarlo o como modificar el Dlg ?
Desde ya gracias por la ayuda que puedan prestarme


Hola,

Tienes un ejemplo de un dialogo que hayas modificado de esta manera?

Gracias de antemano

FWH 25.12

Harbour/Hbmk2

Microsoft Visual C++

MySql 8.0

Antigravity

Continue the discussion