Pues mi primer contratiempo en el manejo de tablas hash.
No se como detectar si ya existe un elemento en la tabla hash.
Supongo que una vez detectado que no existe añadir uno mas sería tan facil como esto ¿ no ?:
aHash [ cNuevaMatricula ] := Tcoche():New( cNuevaMatricula )
Supongo que la inicializacion de la tabla se puede hacer de esta forma:
o de esta otra forma:
No se como detectar si ya existe un elemento en la tabla hash.
Supongo que una vez detectado que no existe añadir uno mas sería tan facil como esto ¿ no ?:
aHash [ cNuevaMatricula ] := Tcoche():New( cNuevaMatricula )
function main()
PUBLIC hHash := {=>},cMatricula
aHash[ "M-1234-DF" ] := Tcoche():New( "M-1234-DF" )
aHash[ "V-4321-AF" ] := Tcoche():New( "V-4321-AF" )
aHash[ "B-1111-AA" ] := Tcoche():New( "B-1111-AA" )
aHash[ "O-2222-BB" ] := Tcoche():New( "O-2222-BB" )
aHash[ "L-3333-CC" ] := Tcoche():New( "L-3333-CC" )
msginfo( hScan ( aHash , "O-2222-BB" ) ) // Me da siempre 0
return nil
**************************************************************************
CLASS Tcoche
DATA cMatricula,cMarca,nPrecio
CLASSDATA lRegistered AS LOGICAL
METHOD New ( cIndicativo ) CONSTRUCTOR
METHOD End()
ENDCLASS
METHOD New ( cMatricula ) CLASS Tcoche
DEFAULT cMatricula:="X-9999-XX"
::cMatricula:=cMatricula
::cMarca:="¿?"
::nPrecio:=0
return Self
METHOD End() CLASS Tcoche
::cMatricula:=""
::cMarca:=""
::nPrecio:=-1
return .T.Supongo que la inicializacion de la tabla se puede hacer de esta forma:
PUBLIC hHash := {=>}
aHash[ "M-1234-DF" ] := Tcoche():New( "M-1234-DF" )
aHash[ "V-4321-AF" ] := Tcoche():New( "V-4321-AF" )
aHash[ "B-1111-AA" ] := Tcoche():New( "B-1111-AA" )
aHash[ "O-2222-BB" ] := Tcoche():New( "O-2222-BB" )
aHash[ "L-3333-CC" ] := Tcoche():New( "L-3333-CC" )o de esta otra forma:
PUBLIC hHash := {"M-1234-DF" => Tcoche():New("M-1234-DF"),;
"V-4321-AF" => Tcoche():New( "V-4321-AF" ),;
"B-1111-AA" => Tcoche():New( "B-1111-AA" ),;
"O-2222-BB" => Tcoche():New( "O-2222-BB" ),;
"L-3333-CC" => Tcoche():New( "L-3333-CC" )}Mi abuelo decía: Los aviones vuelan porque Dios quiere, y los helicópteros ni Dios sabe porque vuelan.
FWH 16.02, xHarbour 1.2.3, Harbour 3.2.0, WorkShop 4.5, AJ Make 0.30, Borlan BCC 7.00, VisualStudio 2013
FWH 16.02, xHarbour 1.2.3, Harbour 3.2.0, WorkShop 4.5, AJ Make 0.30, Borlan BCC 7.00, VisualStudio 2013