Como Fazer um Browse a um array vazio?

Como Fazer um Browse a um array vazio?

Postby PeterBaga » Wed Feb 10, 2010 5: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: Select all  Expand view  RUN

#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
User avatar
PeterBaga
 
Posts: 52
Joined: Sun Jan 24, 2010 3:39 pm

Re: Como Fazer um Browse a um array vazio?

Postby Antonio Linares » Sun Feb 14, 2010 8:48 pm

Pedro,

Aqui tienes un ejemplo. Haz click en la ventana para que se vayan añadiendo nuevos elementos al array:
Code: Select all  Expand view  RUN

#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
User avatar
Antonio Linares
Site Admin
 
Posts: 42122
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain

Re: Como Fazer um Browse a um array vazio?

Postby PeterBaga » Tue Feb 16, 2010 4:52 pm

Ok Antonio.

Muito Obrigdo.

Cumprimentos.
Pedro Alexandre C. Bagarrão
User avatar
PeterBaga
 
Posts: 52
Joined: Sun Jan 24, 2010 3:39 pm


Return to FiveWin para Pocket PC

Who is online

Users browsing this forum: No registered users and 3 guests