On Wed, 03 Jun 2009, Mindaugas Kavaliauskas wrote:
> or if you do not want to pollute functionality of all hashes, you can use 
> HashObject() below for one hash that needs object functionality:
> #include "hbclass.ch"
> PROC MAIN()
>    LOCAL hValue := HashObject()
>    hValue:VAR1 := 123.45
>    hValue:VAR2 := DATE()
>    ? hValue:VAR1, hValue:VAR2
> RETURN
> CREATE CLASS HashObject
>    VAR __hash INIT {=>}
>    ERROR HANDLER OnError()
> ENDCLASS
> METHOD OnError( xValue ) CLASS HashObject
> LOCAL cMessage := __GETMESSAGE()
>    IF PCOUNT() == 1 .AND. LEFT( cMessage, 1 ) == "_"
>       RETURN QSELF():__hash[ SUBSTR( cMessage, 2 ) ] := xValue
>    ENDIF
> RETURN QSELF():__hash[ cMessage ]

Very nice. I will want to add it as optimized C code to Harbour RTL ASAP.
Thank you for the idea.

best regards,
Przemek
_______________________________________________
Harbour mailing list
Harbour@harbour-project.org
http://lists.harbour-project.org/mailman/listinfo/harbour

Reply via email to