6.8.63 DMcob_ValueIndex

Mit dieser Funktion kann der zu einer Position zugehörige Index einer Sammlung ermittelt werden. Dies ist vor allem wichtig für Werte vom Typ DT-hash und DT-matrix um so auf einfachste Weise auf alle zugehörigen Indizes zugreifen zu können. Die Funktion erlaubt nur den Zugriff auf Indizes die nicht zu Standardwerten gehören.

Der zurückgelieferte Index kann in einem gemanagten DM-Value-Parameterwert abgelegt werden oder in einem ungemanagten. Bei letzterem wird wenn nötig eine Allokierung des String-Wertes im temporären Puffer ausgeführt.

77 AnyValue pointer  value  null.
77 IndexPos pic 9(9) binary value 0.

call “DMcob_ValueIndex” using
            DM-StdArgs
            AnyValue
            IndexPos
            DM-Value.

Parameter

<-> DM-options of DM-StdArgs

Hier sind folgende Optionen möglich:

Option

Bedeutung

DMF-GetLocalString

Diese Option bedeutet, dass bei textuellen Werten (IDs vom Typ DT-text) diese als String in der aktuell eingestellten Sprache zurückgegeben werden sollen.

DMF-GetMasterString

Diese Option bedeutet, dass bei textuellen Werten (IDs vom Typ DT-text) diese als String in der Entwicklungssprache zurückgegeben werden sollen, unabhängig davon, mit welcher Sprache der Benutzer gerade arbeitet.

DMF-DontFreeLastStrings

Normalerweise werden Strings in einem temporären Puffer an die Anwendung übergeben, der bis zum nächsten Aufruf an den IDM erhalten bleibt. Sollen Strings länger in der Anwendung gültig sein, muss diese Option DMF-DontFreeLastStrings gesetzt werden. Der Speicher wird erst dann wieder freigegeben, wenn ein Aufruf an eine IDM-Funktion ohne diese Option erfolgt und dabei ein String vom IDM an die Anwendung zurückgegeben wird.

-> AnyValue

Handle des verwalteten Wertes, von welcher der Index an der Position geholt wird.

-> IndexPos

Dieser Parameter definiert die Position des Index und sollte zwischen 0 < IndexPos <= DMcob_ValueCount() liegen.

<- DM-Value

Hier wird der entsprechende Index abgelegt. Es kann sich dabei um eine gemanagte oder auch um eine ungemanagte Wertereferenz handeln.

Rückgabewert

DM-status of DM-StdArgs

DM-error

Der Index konnte nicht ermittelt werden. Das kann auf einen fehlerhaften Aufruf, eine nicht gemanagte oder ungültige Wertereferenz oder eine fehlerhafte Position hinweisen.

DM-success

Der Wert hat einen Index an dieser Position, der geholte Index steht danach in DM-Value falls DM-Value != NULL ist.

Verfügbarkeit

Nur COBOL-Schnittstelle für Micro Focus Visual COBOL.

Siehe auch

Funktion DMcob_ValueChange, DMcob_ValueCount, DMcob_ValueGet

Kapitel „Verwendung des Datentyps anyvalue“

Methode :index()

Eingebaute Funktionen countof(), itemcount()