FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin para Pocket PC Como Fazer um Browse a um array vazio?
Posts: 52
Joined: Sun Jan 24, 2010 03:39 PM
Como Fazer um Browse a um array vazio?
Posted: Wed Feb 10, 2010 05:47 PM
Boa Tarde.

Tenho que fazer um browse de uma Variavel Array que no inicio da Function esta Empty (Sem elementos).

Utilizo o seguinte Codigo :

Code (fw): Select all Collapse
#include "FWCE.ch"
//---------------------------------------------------
Function Main()
Local oEnc, oBrw, oBtn2, aRecolha := {}, nItem:= 1
//aSize( aRecolha, 0 )
DEFINE WINDOW oEnc TITLE "Encomendas"
DEFINE FONT oFont NAME 'Arial' SIZE 0, -11
@ 0, 0 LISTBOX oBrw ;
       FIELDS Transform(aRecolha[ nItem,1 ],"@e 99 999.9"),;
              aRecolha[ nItem,2 ],;
              Transform(aRecolha[ nItem,3 ],"@e 99 999.999"),;
              Transform(aRecolha[ nItem,6 ],"@e 99.99 %"),;
              Transform(aRecolha[ nItem,4 ],"@e 999 999.99"),;
              Transform(aRecolha[ nItem,10 ],"@e 99.99 %") ;
       HEADERS "Qtd", "Artigo", "Preço","Desc", "Total","Iva" ;
       FIELDSIZES 40,130,65,50,70,50 ;
       FONT oFont ;
       OF oEnc ;
       SIZE 236, 222
oBrw:bGoTop    = { || nItem := 1 }
oBrw:bGoBottom = { || nItem := Eval( oBrw:bLogicLen ) }
oBrw:bSkip     = { | nWant, nOld | nOld := nItem, nItem += nWant, nItem := Max( 1, Min( nItem, Eval( oBrw:bLogicLen ))), nItem - nOld }
oBrw:bLogicLen = { || Len( aRecolha ) }
oBrw:cAlias    = "Array"
oBrw:bKeyChar  = {|nKey| MsgInfo( nKey ) }
@ 247, 118 BTNBMP oBtn2 PROMPT "Cancelar"  SIZE 118, 25 OF oEnc action { oEnc:End() }
ACTIVATE WINDOW oEnc
Return nil


Este Codigo com xBase funciona bem, mas como FWPPC da o seguinte erro:
Bound error acess Args:
[ 1] == A {.....}
[ 2] == N 1
Não posso iniciar um browse com um array empty????
Obrigado por qualquer ajuda. Seria muito util....
Pedro Alexandre C. Bagarrão
Posts: 44158
Joined: Thu Oct 06, 2005 05:47 PM
Re: Como Fazer um Browse a um array vazio?
Posted: Sun Feb 14, 2010 08:48 PM
Pedro,

Aqui tienes un ejemplo. Haz click en la ventana para que se vayan añadiendo nuevos elementos al array:
Code (fw): Select all Collapse
#include "FWCE.ch"

function Main()

   local oWnd, oBrw, aValues := {}

   DEFINE WINDOW oWnd
   
   @ 1, 1 LISTBOX oBrw FIELDS "", "", "", "", "" ;
      SIZE 200, 200 ;
      COLSIZES 40, 40, 40, 40, 40
   
   oBrw:SetArray( aValues )
   oBrw:bLine = { || { aValues[ oBrw:nAt ][ 1 ], aValues[ oBrw:nAt ][ 2 ], aValues[ oBrw:nAt ][ 3 ],;
                       aValues[ oBrw:nAt ][ 4 ], aValues[ oBrw:nAt ][ 5 ] } }

   ACTIVATE WINDOW oWnd ;
      ON CLICK ( AAdd( aValues, { "one", "two", "three", "four", "five" } ), oBrw:Refresh() )

return nil
regards, saludos

Antonio Linares
www.fivetechsoft.com
Posts: 52
Joined: Sun Jan 24, 2010 03:39 PM
Re: Como Fazer um Browse a um array vazio?
Posted: Tue Feb 16, 2010 04:52 PM

Ok Antonio.

Muito Obrigdo.

Cumprimentos.

Pedro Alexandre C. Bagarrão

Continue the discussion