strLib.findStr

La función de sistema strLib.findStr busca la primera aparición de una subserie dentro de una serie.


Diagrama de sintaxis de strLib.findStr
resultado
Elemento numérico que recibe uno de los siguientes valores (definido como de tipo INT o el equivalente: tipo BIN con longitud 9 y sin posiciones decimales) devueltos por la función:
-1
No se ha encontrado la serie de búsqueda
0
Se ha encontrado la serie de búsqueda
origen
Serie de la que se deriva una subserie origen. Puede ser un elemento o un literal.
índiceSubserieOrigen
Identifica el byte inicial de la subserie de origen, suponiendo que el primer byte de origen tenga el valor de índice 1. Este índice puede ser un elemento definido como de tipo INT o el siguiente equivalente: tipo BIN con longitud 9 y sin posiciones decimales.
longitudSubserieOrigen
Identifica el número de bytes de la subserie que se deriva de origen. Este índice puede ser un elemento definido como de tipo INT o el siguiente equivalente: tipo BIN con longitud 9 y sin posiciones decimales.
serieBúsqueda
Literal o elemento de serie que debe buscarse en la subserie origen. Los blancos o nulos finales se truncan en la serie de búsqueda antes de que ésta se inicie.

Si serieBúsqueda se encuentra en la subserie origen, índiceSubserieOrigen se establece para indicar su ubicación (el byte de la subserie origen donde empieza la subserie coincidente). En caso contrario, índiceSubserieOrigen no cambia.

Consideraciones de definición

Se devuelven los siguientes valores en sysVar.errorCode:
8
El índice es menor que 1 o mayor que la longitud de la serie.
12
La longitud es menor que 1.
20
Índice de doble byte no válido. El índice de una serie DBCHAR o UNICODE señala a la mitad del carácter de doble byte.
24
Longitud de doble byte no válida. La longitud en bytes de una serie DBCHAR o UNICODE es impar (las longitudes de doble byte deben ser siempre pares).

Ejemplo

  source = "123456";
  sourceIndex = 1
  sourceLength = 6
  search = "34";
  result = 
    strLib.findStr(source,sourceIndex,sourceLength,"34");
  // resultado = 0, sourceIndex = 3

Consulta relacionada
Biblioteca StrLib de EGL

Condiciones de uso | Comentarios
(C) Copyright IBM Corporation 2000, 2005. Reservados todos los derechos.