01 Mai 2020 13:40
hTable := {}
FOR I:=1 TO 10
hRecord := Nil
hRecord := {=>}
hRecord["TESTE1"] := I
hRecord["TESTE2"] := STRZERO(I,2)
aAdd( hTable, hRecord )
NEXT
hNewCol := {}
FOR I:=1 TO Len( hTable )
hRecord := {=>}
hRecord["TESTE3"] := .F.
aAdd( hNewCol, hRecord )
NEXT
FOR I:=1 TO Len( hTable )
Hb_HMerge( hTable[i], hNewCol[i] )
NEXT
FOR EACH oElemento IN hTable
? oElemento["TESTE1"], oElemento["TESTE2"], oElemento["TESTE3"]
NEXT
01 Mai 2020 14:19
01 Mai 2020 14:29
PROCEDURE Main
LOCAL hTable := {}, I, oVar, hRecord
FOR I := 1 TO 10
hRecord := Nil
hRecord := {=>}
hRecord[ "TESTE1" ] := I
hRecord[ "TESTE2" ] := STRZERO(I,2)
aAdd( hTable, hRecord )
NEXT
FOR EACH oVar IN hTable
oVar[ "TESTE3" ] := .F. // aqui
NEXT
FOR EACH oVar IN hTable
? oVar[ "TESTE1" ], oVar[ "TESTE2" ], oVar[ "TESTE3" ]
NEXT
Inkey(0)
RETURN
01 Mai 2020 14:46
hTable := Array(10)
FOR EACH oVar IN hTable
oVar := {=>}
oVar[ "TESTE1" ] := oVar:__EnumIndex
oVar[ "TESTE2" ] := StrZero( oVar:__EnumIndex, 2 )
NEXT
AEval( hTable, { | e | e[ "TESTE3" ] := .F. } )
FOR EACH oVar IN hTable
? oVar[ "TESTE1" ], oVar[ "TESTE2" ], oVar[ "TESTE3" ]
NEXT
Inkey(0)
RETURN
01 Mai 2020 18:59
JoséQuintas escreveu:Apenas o detalhe de que é um array com hash table chama atenção.
01 Mai 2020 19:35
aEval( hTable, { | e | e[ "TESTE3" ] := .F., ;
e[ "TESTE4" ] := .T., ;
e[ "MARCADO" ] := .F. } )