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 |
---|---|
|
Cset no es válido. |
|
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
Referencia