xHarbour Reference Documentation > Function Reference xHarbour Developers Network  

HSetValueAt()

Changes the value in a hash by its ordinal position.

Syntax

HSetValueAt( <hHash>, <nPos>, <xValue> ) --> NIL

Arguments

<hHash>
A variable referencing the hash to change a value in.
<nPos>
A numeric value specifying the ordinal position of the value to change. It must be in the range between 1 and Len(<hHash>).
<xValue>
<xValue> is the new value to assign at position <nPos> in hash <hHash>.

Return

The function returns always NIL.

Description

This function changes the value of the hash <hHash> at position <nPos>. If <nPos> is outside the valid range, a runtime error is raised. Use function HGetPos() to determine the ordinal position of a key/value pair.

Info

See also:Hash(), HDelAt(), HGet(), HGetKeyAt(), HGetPairAt(), HGetPos(), HGetValueAt(), HSet()
Category: Hash functions , xHarbour extensions
Source:vm\hash.c
LIB:xhb.lib
DLL:xhbdll.dll

Example

// The function changes values in a hash by ordinal position and by key.
// Note that the creation order of key/value pairs does not
// affect their insertion order (which is A B C D).

   PROCEDURE Main
      LOCAL hHash := Hash( "C", 10, "D", 30, "A", 40, "B", 20 )

      ? HGetValueAt( hHash, 3 )      // result: 10
      ? HGetValueAt( hHash, 1 )      // result: 40

      HSetValueAt( hHash, 3 , 123 )
      hHash[ "A" ] := 789

      ? HGetValueAt( hHash, 3 )      // result: 123
      ? HGetValueAt( hHash, 1 )      // result: 789
   RETURN

Copyright © 2006-2007 xHarbour.com Inc. All rights reserved.
http://www.xHarbour.com
Created by docmaker.exe