Compartir a través de


Método ITextRange::MoveUntil (tom.h)

Busca en Recuento de caracteres el primer carácter del conjunto de caracteres especificado por Cset. Si se encuentra un carácter, el intervalo se contrae hasta ese punto. El inicio de la búsqueda y la dirección también se especifican mediante Count.

Sintaxis

HRESULT MoveUntil(
  VARIANT *Cset,
  long    Count,
  long    *pDelta
);

Parámetros

Cset

Tipo: VARIANT*

Juego de caracteres usado en la coincidencia. Podría tratarse de una cadena explícita de caracteres o un índice de juego de caracteres. Para obtener más información, vea Juegos de coincidencias de caracteres.

Count

Tipo: long

Número máximo de caracteres que se van a mover más allá. El valor predeterminado es tomForward, que busca al final del artículo. Si Count es menor que cero, la búsqueda se inicia hacia atrás en la posición inicial. Si Count es mayor que cero, la búsqueda se reenvía a partir del final.

pDelta

Tipo: long*

El número de caracteres que se mueve el punto de inserción, más 1 para una coincidencia si Count es mayor que cero y –1 para una coincidencia si Count menor que cero. El puntero puede ser null.

Valor devuelto

Tipo: HRESULT

El método devuelve un valor HRESULT . Si el método se realiza correctamente, devuelve S_OK. Si se produce un error en el método, devuelve uno de los siguientes códigos de error. Para obtener más información sobre los códigos de error COM, vea Control de errores en COM.

Código devuelto Descripción
E_INVALIDARG
Cset no es válido.
S_FALSE
Error por alguna otra razón.

Comentarios

Si no hay ningún carácter coincidente, el intervalo no cambia.

El movimiento descrito por ITextRange::MoveUntil es lógico en lugar de geométrico. Es decir, el movimiento está hacia el final o hacia el inicio de una historia. Dependiendo del idioma, pasar al final de la historia podría estar moviéndose a la izquierda o moviéndose a la derecha.

Para obtener más información, vea la discusión en ITextRange y la sección Comentarios de ITextRange::Move.

Los métodos ITextRange::MoveStartUntil e ITextRange::MoveEndUntil mueven el inicio y el final, respectivamente, hasta que encuentra el primer carácter que también está en el conjunto especificado por el parámetro Cset .

El método ITextRange::MoveUntil es similar a ITextRange::MoveWhile, pero hay dos diferencias. En primer lugar, MoveUntil mueve un punto de inserción hasta que encuentra el primer carácter que pertenece al juego de caracteres especificado por Cset. En segundo lugar, en MoveUntil , el carácter coincide con un carácter adicional en el valor devuelto en pDelta. Esto le permite saber que el carácter de un extremo del intervalo o el otro pertenece al Cset aunque el punto de inserción permanezca en uno de los extremos del intervalo.

Por ejemplo, supongamos que el intervalo, r, es un punto de inserción. Para ver si el carácter de r (es decir, proporcionado por r.GetChar()) está en Cset, llame a .

r.MoveUntil(Cset, 1)

Si el carácter está en Cset, el valor devuelto es 1 y el punto de inserción no se mueve. Del mismo modo, para ver si el carácter anterior a r está en Cset, llame a

r.MoveUntil(Cset, -1)

Si el carácter está en Cset, el valor devuelto es –1.

La siguiente subrutina de Microsoft Visual Basic para Aplicaciones (VBA) imprime todos los números del artículo identificado por el intervalo, r.

Sub PrintNumbers (r As ITextRange)
   r.SetRange 0, 0    // r = insertion point at start of story
   While r.MoveUntil(C1_DIGIT)  // Move r to 1st digit in next number
      r.MoveEndWhile C1_DIGIT  // Select number (span of digits)
      Print r    // Print it
   Wend
End Sub

Requisitos

Requisito Value
Cliente mínimo compatible Windows Vista [solo aplicaciones de escritorio]
Servidor mínimo compatible Windows Server 2003 [solo aplicaciones de escritorio]
Plataforma de destino Windows
Encabezado tom.h
Archivo DLL Msftedit.dll

Consulte también

Conceptual

GetChar

ITextRange

Mover

MoveEndUntil

MoveStartUntil

MoveWhile

Referencia

Modelo de objetos de texto