FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin para Harbour/xHarbour Documentaci贸n sintaxis
Posts: 1816
Joined: Wed Oct 26, 2005 02:49 PM
Documentaci贸n sintaxis
Posted: Wed Oct 30, 2019 02:01 PM
Buenos d铆as para todos

Ya hace varias versi贸nes de fw que se han adoptado nuevas formas de escribir el c贸digo, la mayoria de las novedades vienen de Mr.Nages y Cristobal, las he visto en los samples de xbrowse, y tambien en el siguiente c贸digo, me gustar铆a saber que hacen los caracteres contenedores <||> y de que manera se pueden usar. As铆 como tambi茅n el tema de la definici贸n de los objetos con la sintaxis WITH OBJECT END WITH

Code (fw): Select all Collapse
oDlg:bInit := <||
聽 聽@ 30, 聽 50 XIMAGE oImage[1] RESOURCE "Icon1" OF oDlg NOBORDER
聽 聽@ 30, 200 XIMAGE oImage[2] RESOURCE "Icon2" OF oDlg NOBORDER
聽 聽@ 30, 350 XIMAGE oImage[3] RESOURCE "Icon3" OF oDlg NOBORDER

聽 聽AEval( oImage, {|o, n| o:lTransparent := .T. } )
聽 聽return nil
>

...

聽 聽oExplBar := TExplorerBar():New( nHSay + 3, 1, nPosVSp - 1, oWnd:nHeight() - 2, oWnd, , , , , , , )
聽 聽oExplBar:nTopColor 聽 聽 := Rgb( 240, 240, 240 )
聽 聽oExplBar:nBottomColor 聽:= aGrad[ 1 ][ 2 ]

聽 聽AAdd( aPnels, oExplBar:AddPanel( "DATABASES", "C:\dlyma\Res\pan32.png", , 40, 0, aGrad, oFont, CLR_WHITE, CLR_WHITE ) )
聽 聽WITH OBJECT Atail( aPnels ) //oPanel1
聽 聽 聽 //:nOffSetX 聽 聽 聽 聽:= 100
聽 聽 聽 :nClrTextSpecial := CLR_WHITE
聽 聽 聽 :nClrHover 聽 聽 聽 := Rgb( 0, 0, 0 ) //RGB( 66, 142, 255 )
聽 聽 聽 :nOffSetY 聽 聽 聽 聽:= 12
聽 聽 聽 :LoadBitmaps( 1, "D:\Fwh\FwhTeam\BmpsVS_32\CheckOut_16x_32.bmp" )
聽 聽 聽 :LoadBitmaps( 2, "D:\Fwh\FwhTeam\BmpsVS_32\CheckIn_16x_32.bmp" )
聽 聽 聽 :nTopMargin 聽 聽:= 1
聽 聽 聽 :nLeftMargin 聽 := nWPanel + 22
聽 聽 聽 :nRightMargin 聽:= 10
聽 聽 聽 :nLeft 聽 聽 聽 聽 := aPnels[ 1 ]:nLeftMargin
聽 聽 聽 :nRight 聽 聽 聽 聽:= oWnd:nWidth - aPnels[ 1 ]:nRightMargin
聽 聽 聽 :AddLink( "Open", bClick, "C:\dlyma\Res\icon3.bmp", , METRO_OLIVE, , )
聽 聽 聽 :AddLink( "Explorer", bClick, "D:\Fwh\FwhTeam\BmpsVS_32\DatabaseAuditSpecification_16x_32.bmp", , METRO_OLIVE, , )
聽 聽 聽 :AddLink( "Structure", bClick, "D:\Fwh\FwhTeam\BmpsVS_32\Databar_16x_32.Bmp", , METRO_OLIVE, , )
聽 聽 聽 :AddLink( "Tools", bClick, "D:\Fwh\FwhTeam\BmpsVS_32\DatabaseOptions_12882_32.bmp", , METRO_OLIVE, , )
聽 聽 聽 :AddLink( "Close", bClick, "D:\Fwh\FwhTeam\BmpsVS_32\DatabaseOffline_16x_32.bmp", , METRO_OLIVE, , )
聽 聽END

聽 聽WITH OBJECT oExplBar
聽 聽 聽 AAdd( aPnels, :AddPanel( "TOOLS", "C:\dlyma\Res\cart.png", , 40, 0, aGrad, oFont, CLR_WHITE, CLR_WHITE ) )
聽 聽 聽 AAdd( aPnels, :AddPanel( "EDITOR", 聽 "D:\Fwh\FwhTeam\BmpsVS_32\FrameworkDesignStudio_32x_24.bmp", , 40, 0, aGrad, oFont, CLR_WHITE, CLR_WHITE 聽) )
聽 聽 聽 AAdd( aPnels, :AddPanel( "EXPLORER", "D:\Fwh\FwhTeam\BmpsVS_32\FileDialogReport_32x_24.bmp", , 40, 0, aGrad, oFont, CLR_WHITE, CLR_WHITE 聽) )
聽 聽 聽 AAdd( aPnels, :AddPanel( "EXP./IMPORT", "D:\Fwh\FwhTeam\BmpsVS_32\GetTextFormat_32x_24.Bmp", , 40, 0, aGrad, oFont, CLR_WHITE, CLR_WHITE 聽) )
聽 聽 聽 AAdd( aPnels, :AddPanel( "USERS", "D:\Fwh\FwhTeam\BmpsVS_32\LookupPrincipal_32x_24.bmp", , 40, 0, aGrad, oFont, CLR_WHITE, CLR_WHITE 聽) )
聽 聽 聽 For nPanel := 2 to Len( aPnels )
聽 聽 聽 聽 聽WITH OBJECT :aPanels[ nPanel ]
聽 聽 聽 聽 聽 聽 //:lSpecial 聽 聽 聽 聽:= .T.
聽 聽 聽 聽 聽 聽 //:nOffSetX 聽 聽 聽 聽:= 60
聽 聽 聽 聽 聽 聽 :lCollapsed 聽 聽 聽:= .T.
聽 聽 聽 聽 聽 聽 :LoadBitmaps( 1, "D:\Fwh\FwhTeam\BmpsVS_32\CheckOut_16x_32.bmp" )
聽 聽 聽 聽 聽 聽 :LoadBitmaps( 2, "D:\Fwh\FwhTeam\BmpsVS_32\CheckIn_16x_32.bmp" )
聽 聽 聽 聽 聽 聽 :nClrTextSpecial := CLR_WHITE
聽 聽 聽 聽 聽 聽 :nClrHover 聽 聽 聽 := Rgb( 0, 0, 0 )
聽 聽 聽 聽 聽 聽 :nTopMargin 聽 聽 聽:= 1
聽 聽 聽 聽 聽 聽 :nLeftMargin 聽 聽 := nWPanel + 22
聽 聽 聽 聽 聽 聽 :nRightMargin 聽 聽:= 10
聽 聽 聽 聽 聽 聽 :nLeft 聽 聽 聽 聽 聽 := :nLeftMargin
聽 聽 聽 聽 聽 聽 :nRight 聽 聽 聽 聽 聽:= oWnd:nWidth - :nRightMargin
聽 聽 聽 聽 聽 聽 :nHeight 聽 聽 聽 聽 := :nTitleHeight
聽 聽 聽 聽 聽END
聽 聽 聽 聽 聽For nItem := nPanel + 1 To Len( :aPanels )
聽 聽 聽 聽 聽 聽:aPanels[ nItem ]:nTop -= ( :aPanels[ nPanel ]:nBodyHeight )
聽 聽 聽 聽 聽Next
聽 聽 聽 Next
聽 聽 聽 :CheckScroll()
聽 聽END WITH


De antemano gracias
Saludos
LEANDRO AREVALO
Bogot谩 (Colombia)
https://hymlyma.com
https://hymplus.com/
leandroalfonso111@gmail.com
leandroalfonso111@hotmail.com

[ Turbo Incremental Link64 6.98 Embarcadero 7.70 ] [ FiveWin 25.01 ] [ xHarbour 64 bits) ]
Posts: 6755
Joined: Wed Feb 15, 2012 08:25 PM
Re: Documentaci贸n sintaxis
Posted: Wed Oct 30, 2019 05:08 PM

Leandro, al fin y al cabo es otra forma de definir un codeblock, con la diferencia que en lugar de llamar a una function que creas abajo con un nombre, de esta forma puedes poner el codigo ahi. Fijate que tiene hasta un return ... ( obligatorio )

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: 10733
Joined: Sun Nov 19, 2006 05:22 AM
Re: Documentaci贸n sintaxis
Posted: Wed Oct 30, 2019 05:19 PM

From xHarbour documentation:

<|| >
Extended literal code block.
Syntax
<| [<params,...>] | <programcode> >

Arguments
<params,...>
This is an optional comma separated list of parameter names declared for use inside the extended code block. Code block parameters are only visible within the code block and must be placed between the || delimiters.
<programcode>
<programcode> is any kind of program code which is also allowed within the body of a FUNCTION, except for the declaration of STATIC variables. Description
Extended literal code blocks are created in program code using the <|| > characters. They can be used in the same way as regular code blocks but have the advantage that <programcode> can include any statements allowed in the body of a function. This includes statements spanning across multiple lines, such as loops (DO WHILE, FOR and FOR EACH), branching (DO CASE and SWITCH), error handling (BEGIN SEQUENCE and TRY...CATCH).
Even the declaration of LOCAL variables within an extended code block is supported. Only STATIC variables cannot be declared.
The program code, embedded within an extended code block, is executed by passing the code block to the Eval() function. Arguments passed to this function are passed on to the code block and are received by the code block parameters. The expressions and statements in the code block are then executed from left to right, or top to bottom, respectively. The return value of the code block must be specified with the RETURN statement.
Info
See also: {|| }, AEval(), AScan(), ASort(), DbEval(), Eval(), HEval(), LOCAL
Category: Indirect execution , Operators , Special operators , xHarbour extensions
LIB: xhb.lib
DLL: xhbdll.dll

Example
// The example demonstrates the creation of an extended code block as a
// return value of function ConversionBlock(). The code block converts
// values to character strings. Note that the code block calls itself
// recursively within the FOR EACH loop.

PROCEDURE Main
LOCAL bBlock, lLogic:= .T., nNumber:= 1.23456, aArray := Directory()

  bBlock := ConversionBlock()

  ? Eval( bBlock, aArray )

  ? Eval( bBlock, lLogic )

  ? Eval( bBlock, nNumber )

  ? Eval( bBlock, GetNew() )

  ? Eval( bBlock, bBLock )

RETURN

FUNCTION ConversionBlock()
LOCAL bBlock

  bBlock := &lt;| xValue |
               LOCAL cType := Valtype( xValue )
               LOCAL cValue, xElem

               SWITCH cType
               CASE &quot;A&quot; 
                  cValue := &quot;{&quot; 
                  FOR EACH xElem IN xValue
                     cValue += Eval( bBlock, xElem ) + &quot;,&quot;
                  NEXT
                  cValue[-1] := &quot;}&quot;
                  EXIT

               CASE &quot;B&quot; ; cValue := &quot;{||...}&quot;                ; EXIT
               CASE &quot;C&quot; ; cValue := xValue                   ; EXIT
               CASE &quot;D&quot; ; cValue := DtoS(xValue)             ; EXIT
               CASE &quot;L&quot; ; cValue := IIf(xValue, &quot;.T.&quot;,&quot;.F.&quot;) ; EXIT
               CASE &quot;N&quot; ; cValue := LTrim(Str(xValue))       ; EXIT
               CASE &quot;O&quot; ; cValue := xValue:className()       ; EXIT                  
               DEFAULT
                  cValue := &quot;NIL&quot;
               END

               RETURN cValue
            &gt;

RETURN bBlock
Regards



G. N. Rao.

Hyderabad, India
Posts: 607
Joined: Mon Mar 04, 2013 04:32 PM
Re: Documentaci贸n sintaxis
Posted: Wed Oct 30, 2019 09:24 PM

MR. Ra贸.

Where is this documentation?

Thanks.

Jose.

Enviado desde mi POCOPHONE F1 mediante Tapatalk

Fwh 24.07 64 bits + Harbour 64 bits 3.2dev(r2407221137) + MSVC64
Posts: 1816
Joined: Wed Oct 26, 2005 02:49 PM
Re: Documentaci贸n sintaxis
Posted: Tue Nov 12, 2019 03:59 PM
Excelente explicaci贸n Mr. Nages, me quedo totalmente claro el tema de los contenedores de los codeblocks :-)

Por otro lado sigo con la duda de la forma en que se usa la sintaxis WITH OBJECT, no se en que se pueda ver afectadas a futuro nuestras aplicaciones, es necesario hacer los cambios?, para dar un ejemplo claro, en este momento estoy definiendo los xbrowse "a la antigua", as铆:

Code (fw): Select all Collapse
聽 oLamcla:oBrwArti := TXBrowse():New( oCuadro )
聽 oLamcla:oBrwArti:nMarqueeStyle 聽 聽 聽 聽 := MARQSTYLE_HIGHLROW
聽 oLamcla:oBrwArti:nRowDividerStyle 聽 聽 聽:= LINESTYLE_LIGHTGRAY
聽 oLamcla:oBrwArti:nColDividerStyle 聽 聽 聽:= LINESTYLE_LIGHTGRAY
聽 oLamcla:oBrwArti:nHeaderLines 聽 聽 聽 聽 聽:= 1
聽 oLamcla:oBrwArti:lColDividerComplete 聽 := .t.
聽 oLamcla:oBrwArti:lRecordSelector 聽 聽 聽 := .t.
聽 oLamcla:oBrwArti:nStretchCol 聽 聽 聽 聽 聽 := STRETCHCOL_LAST
聽 oLamcla:oBrwArti:l2007 聽 聽聽 聽 聽 聽 聽 聽 聽:= .f.
聽 oLamcla:oBrwArti:oFont 聽 聽聽 聽 聽 聽 聽 聽 聽:= oFont1

聽 aCol[ 1] 聽 聽 聽 聽 聽 聽 聽 聽 聽 := oLamcla:oBrwArti:AddCol()
聽 aCol[ 1]:bStrData 聽 聽 聽 聽 聽:= { || If( oRsArt:Eof, Space( nWidth ), cValtoChar( oRsArt:Fields( "i_articu" ):Value ) ) }
聽 aCol[ 1]:cHeader 聽 聽 聽 聽 聽 聽:= "Codigo"
聽 aCol[ 1]:nHeadStrAlign 聽 聽 := AL_LEFT
聽 aCol[ 1]:nDataStrAlign 聽 聽 := AL_LEFT
聽 aCol[ 1]:nWidth 聽 聽 聽 聽 聽 聽:= 80

聽 aCol[ 2] 聽 聽 聽 聽 聽 聽 聽 聽 聽 := oLamcla:oBrwArti:AddCol()
聽 aCol[ 2]:bStrData 聽 聽 聽 聽 聽:= { || If( oRsArt:Eof, Space( nWidth ), cValtoChar( oRsArt:Fields( "i_nombre" ):Value ) ) }
聽 aCol[ 2]:cHeader 聽 聽 聽 聽 聽 聽:= "Nombre"
聽 aCol[ 2]:nHeadStrAlign 聽 聽 := AL_LEFT
聽 aCol[ 2]:nDataStrAlign 聽 聽 := AL_LEFT
聽 aCol[ 2]:nWidth 聽 聽 聽 聽 聽 聽:= 225

聽 aCol[ 3] 聽 聽 聽 聽 聽 聽 聽 聽 聽 := oLamcla:oBrwArti:AddCol()
聽 aCol[ 3]:bStrData 聽 聽 聽 聽 聽:= { || If( oRsArt:Eof, Space( nWidth ), IF(cValtoChar( oRsArt:Fields( "i_serpro" ):Value )="1","Producto","Servicio") ) }
聽 aCol[ 3]:cHeader 聽 聽 聽 聽 聽 聽:= "Tipo"
聽 aCol[ 3]:nHeadStrAlign 聽 聽 := AL_LEFT
聽 aCol[ 3]:nDataStrAlign 聽 聽 := AL_LEFT
聽 aCol[ 3]:nWidth 聽 聽 聽 聽 聽 聽:= 90

聽 aCol[ 4] 聽 聽 聽 聽 聽 聽 聽 聽 聽 := oLamcla:oBrwArti:AddCol()
聽 aCol[ 4]:bStrData 聽 聽 聽 聽 聽:= { || If( oRsArt:Eof, Space( nWidth ), cValtoChar( oRsArt:Fields( "i_refere" ):Value ) ) }
聽 aCol[ 4]:cHeader 聽 聽 聽 聽 聽 聽:= "Referencia"
聽 aCol[ 4]:nHeadStrAlign 聽 聽 := AL_LEFT
聽 aCol[ 4]:nDataStrAlign 聽 聽 := AL_LEFT
聽 aCol[ 4]:nWidth 聽 聽 聽 聽 聽 聽:= 150

聽 oLamcla:oBrwArti:SetADO( oRsArt )
聽 oLamcla:oBrwArti:CreateFromResource( 102 )


En los ejemplos que vienen actualmente en FW, se esta haciendo de la siguiente manera:

Code (fw): Select all Collapse
聽 聽@ 0,0 XBROWSE oBrw OF ownd ALIAS cAlias ;
聽 聽 聽 AUTOSORT AUTOCOLS FOOTERS FASTEDIT LINES CELL ;
聽 聽 聽 BACKGROUND 'PAPER'

聽 聽WITH OBJECT oBrw:Salary
聽 聽 聽 :nFooterType 聽 聽 聽:= AGGR_TOTAL
聽 聽 聽 :bLClickFooter 聽 聽:= { |r,c,f,o| FooterAggrClick( r, c, f, o ) }
聽 聽END

聽 聽AEval( oBrw:aCols, { |o| o:cToolTip := { 'Column :' + CRLF + o:cHeader, 'ToolTip' } } )

聽 聽WITH OBJECT oBrw
聽 聽 聽 // for all cols
聽 聽 聽 :nEditTypes 聽 聽:= EDIT_GET
聽 聽 聽 // for browse
聽 聽 聽 :bClrRowFocus 聽:= :bClrSelFocus
聽 聽 聽 :bPopUp 聽 聽 聽 聽:= { |o| ColMenu( o ) }
聽 聽 聽 :Married:SetCheck( { "GREEN", "RED" }, EDIT_GET )
聽 聽 聽 :MakeTotals()
聽 聽 聽 :CreateFromCode()
聽 聽END


Como mencione anteriormente, este necesario ir migrando la sintaxis? y si en alguna parte de la WIKI de FW existe documentaci贸n, al menos un poco?

De antemano gracias
Saludos
LEANDRO AREVALO
Bogot谩 (Colombia)
https://hymlyma.com
https://hymplus.com/
leandroalfonso111@gmail.com
leandroalfonso111@hotmail.com

[ Turbo Incremental Link64 6.98 Embarcadero 7.70 ] [ FiveWin 25.01 ] [ xHarbour 64 bits) ]
Posts: 1816
Joined: Wed Oct 26, 2005 02:49 PM
Re: Documentaci贸n sintaxis
Posted: Tue Nov 12, 2019 04:00 PM
Excelente explicaci贸n Mr. Nages, me quedo totalmente claro el tema de los contenedores de los codeblocks :-)

Por otro lado sigo con la duda de la forma en que se usa la sintaxis WITH OBJECT, no se en que se pueda ver afectadas a futuro nuestras aplicaciones, es necesario hacer los cambios?, para dar un ejemplo claro, en este momento estoy definiendo los xbrowse "a la antigua", as铆:

Code (fw): Select all Collapse
聽 oLamcla:oBrwArti := TXBrowse():New( oCuadro )
聽 oLamcla:oBrwArti:nMarqueeStyle 聽 聽 聽 聽 := MARQSTYLE_HIGHLROW
聽 oLamcla:oBrwArti:nRowDividerStyle 聽 聽 聽:= LINESTYLE_LIGHTGRAY
聽 oLamcla:oBrwArti:nColDividerStyle 聽 聽 聽:= LINESTYLE_LIGHTGRAY
聽 oLamcla:oBrwArti:nHeaderLines 聽 聽 聽 聽 聽:= 1
聽 oLamcla:oBrwArti:lColDividerComplete 聽 := .t.
聽 oLamcla:oBrwArti:lRecordSelector 聽 聽 聽 := .t.
聽 oLamcla:oBrwArti:nStretchCol 聽 聽 聽 聽 聽 := STRETCHCOL_LAST
聽 oLamcla:oBrwArti:l2007 聽 聽聽 聽 聽 聽 聽 聽 聽:= .f.
聽 oLamcla:oBrwArti:oFont 聽 聽聽 聽 聽 聽 聽 聽 聽:= oFont1

聽 aCol[ 1] 聽 聽 聽 聽 聽 聽 聽 聽 聽 := oLamcla:oBrwArti:AddCol()
聽 aCol[ 1]:bStrData 聽 聽 聽 聽 聽:= { || If( oRsArt:Eof, Space( nWidth ), cValtoChar( oRsArt:Fields( "i_articu" ):Value ) ) }
聽 aCol[ 1]:cHeader 聽 聽 聽 聽 聽 聽:= "Codigo"
聽 aCol[ 1]:nHeadStrAlign 聽 聽 := AL_LEFT
聽 aCol[ 1]:nDataStrAlign 聽 聽 := AL_LEFT
聽 aCol[ 1]:nWidth 聽 聽 聽 聽 聽 聽:= 80

聽 aCol[ 2] 聽 聽 聽 聽 聽 聽 聽 聽 聽 := oLamcla:oBrwArti:AddCol()
聽 aCol[ 2]:bStrData 聽 聽 聽 聽 聽:= { || If( oRsArt:Eof, Space( nWidth ), cValtoChar( oRsArt:Fields( "i_nombre" ):Value ) ) }
聽 aCol[ 2]:cHeader 聽 聽 聽 聽 聽 聽:= "Nombre"
聽 aCol[ 2]:nHeadStrAlign 聽 聽 := AL_LEFT
聽 aCol[ 2]:nDataStrAlign 聽 聽 := AL_LEFT
聽 aCol[ 2]:nWidth 聽 聽 聽 聽 聽 聽:= 225

聽 aCol[ 3] 聽 聽 聽 聽 聽 聽 聽 聽 聽 := oLamcla:oBrwArti:AddCol()
聽 aCol[ 3]:bStrData 聽 聽 聽 聽 聽:= { || If( oRsArt:Eof, Space( nWidth ), IF(cValtoChar( oRsArt:Fields( "i_serpro" ):Value )="1","Producto","Servicio") ) }
聽 aCol[ 3]:cHeader 聽 聽 聽 聽 聽 聽:= "Tipo"
聽 aCol[ 3]:nHeadStrAlign 聽 聽 := AL_LEFT
聽 aCol[ 3]:nDataStrAlign 聽 聽 := AL_LEFT
聽 aCol[ 3]:nWidth 聽 聽 聽 聽 聽 聽:= 90

聽 aCol[ 4] 聽 聽 聽 聽 聽 聽 聽 聽 聽 := oLamcla:oBrwArti:AddCol()
聽 aCol[ 4]:bStrData 聽 聽 聽 聽 聽:= { || If( oRsArt:Eof, Space( nWidth ), cValtoChar( oRsArt:Fields( "i_refere" ):Value ) ) }
聽 aCol[ 4]:cHeader 聽 聽 聽 聽 聽 聽:= "Referencia"
聽 aCol[ 4]:nHeadStrAlign 聽 聽 := AL_LEFT
聽 aCol[ 4]:nDataStrAlign 聽 聽 := AL_LEFT
聽 aCol[ 4]:nWidth 聽 聽 聽 聽 聽 聽:= 150

聽 oLamcla:oBrwArti:SetADO( oRsArt )
聽 oLamcla:oBrwArti:CreateFromResource( 102 )


En los ejemplos que vienen actualmente en FW, se esta haciendo de la siguiente manera:

Code (fw): Select all Collapse
聽 聽@ 0,0 XBROWSE oBrw OF ownd ALIAS cAlias ;
聽 聽 聽 AUTOSORT AUTOCOLS FOOTERS FASTEDIT LINES CELL ;
聽 聽 聽 BACKGROUND 'PAPER'

聽 聽WITH OBJECT oBrw:Salary
聽 聽 聽 :nFooterType 聽 聽 聽:= AGGR_TOTAL
聽 聽 聽 :bLClickFooter 聽 聽:= { |r,c,f,o| FooterAggrClick( r, c, f, o ) }
聽 聽END

聽 聽AEval( oBrw:aCols, { |o| o:cToolTip := { 'Column :' + CRLF + o:cHeader, 'ToolTip' } } )

聽 聽WITH OBJECT oBrw
聽 聽 聽 // for all cols
聽 聽 聽 :nEditTypes 聽 聽:= EDIT_GET
聽 聽 聽 // for browse
聽 聽 聽 :bClrRowFocus 聽:= :bClrSelFocus
聽 聽 聽 :bPopUp 聽 聽 聽 聽:= { |o| ColMenu( o ) }
聽 聽 聽 :Married:SetCheck( { "GREEN", "RED" }, EDIT_GET )
聽 聽 聽 :MakeTotals()
聽 聽 聽 :CreateFromCode()
聽 聽END


Como mencione anteriormente, este necesario ir migrando la sintaxis? y si en alguna parte de la WIKI de FW existe documentaci贸n, al menos un poco?

De antemano gracias
Saludos
LEANDRO AREVALO
Bogot谩 (Colombia)
https://hymlyma.com
https://hymplus.com/
leandroalfonso111@gmail.com
leandroalfonso111@hotmail.com

[ Turbo Incremental Link64 6.98 Embarcadero 7.70 ] [ FiveWin 25.01 ] [ xHarbour 64 bits) ]
Posts: 6755
Joined: Wed Feb 15, 2012 08:25 PM
Re: Documentaci贸n sintaxis
Posted: Tue Nov 12, 2019 04:23 PM

Leandro, la sintaxis de Fw no ha cambiado, salvo la adici贸n en los metacomandos de nuevas cla煤sulas y comandos.
Creo que a lo que te refieres es sintaxis del propio Harbour, por lo que tendr谩s que buscarlo en la documentacion del compilador. De todas formas, como ves, hacemos lo que podemos, y si tienes alguna duda m谩s, seguro que podremos ayudarte
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

Continue the discussion