Método ITextRange::MoveUntil (tom.h)
Pesquisa até Contagem de caracteres para o primeiro caractere no conjunto de caracteres especificado por Cset. Se um caractere for encontrado, o intervalo será recolhido a esse ponto. O início da pesquisa e a direção também são especificados por Count.
Sintaxe
HRESULT MoveUntil(
VARIANT *Cset,
long Count,
long *pDelta
);
Parâmetros
Cset
Tipo: VARIANT*
O conjunto de caracteres usado na correspondência. Isso pode ser uma cadeia de caracteres explícita de caracteres ou um índice de conjunto de caracteres. Para obter mais informações, consulte Conjuntos de correspondência de caracteres.
Count
Tipo: long
Número máximo de caracteres a serem passados. O valor padrão é tomForward, que pesquisa até o final da história. Se Count for menor que zero, a pesquisa será retrógrada começando na posição inicial. Se Count for maior que zero, a pesquisa será encaminhada começando no final.
pDelta
Tipo: long*
O número de caracteres que o ponto de inserção é movido, mais 1 para uma correspondência se Count for maior que zero e –1 para uma correspondência se Contagem menor que zero. O ponteiro pode ser nulo.
Retornar valor
Tipo: HRESULT
O método retorna um valor HRESULT . Se o método for bem-sucedido, ele retornará S_OK. Se o método falhar, ele retornará um dos seguintes códigos de erro. Para obter mais informações sobre códigos de erro COM, consulte Tratamento de erros em COM.
Código de retorno | Descrição |
---|---|
|
O Cset não é válido. |
|
Falha por algum outro motivo. |
Comentários
Se nenhum caractere for correspondido, o intervalo ficará inalterado.
O movimento descrito por ITextRange::MoveUntil é lógico em vez de geométrico. Ou seja, o movimento está no final ou no início de uma história. Dependendo do idioma, mover-se para o final da história pode estar se movendo para a esquerda ou movendo-se para a direita.
Para obter mais informações, consulte a discussão em ITextRange e a seção Comentários de ITextRange::Move.
Os métodos ITextRange::MoveStartUntil e ITextRange::MoveEndUntil movem o início e o fim, respectivamente, até encontrar o primeiro caractere que também está no conjunto especificado pelo parâmetro Cset .
O método ITextRange::MoveUntil é semelhante a ITextRange::MoveWhile, mas há duas diferenças. Primeiro, MoveUntil move um ponto de inserção até encontrar o primeiro caractere que pertence ao conjunto de caracteres especificado por Cset. Em segundo lugar, em MoveUntil , o caractere correspondente conta como um caractere adicional no valor retornado em pDelta. Isso permite que você saiba que o caractere em uma extremidade do intervalo ou o outro pertence ao Cset , mesmo que o ponto de inserção permaneça em uma das extremidades do intervalo.
Por exemplo, suponha que o intervalo, r, seja um ponto de inserção. Para ver se o caractere em r (ou seja, dado por r.GetChar()) está em Cset, chame
r.MoveUntil(Cset, 1)
Se o caractere estiver em Cset, o valor retornado será 1 e o ponto de inserção não se moverá. Da mesma forma, para ver se o caractere anterior a r está em Cset, chame
r.MoveUntil(Cset, -1)
Se o caractere estiver em Cset, o valor retornado será –1.
A sub-rotina do Microsoft Visual Basic for Applications (VBA) a seguir imprime todos os números na história identificada pelo 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 | Valor |
---|---|
Cliente mínimo com suporte | Windows Vista [somente aplicativos da área de trabalho] |
Servidor mínimo com suporte | Windows Server 2003 [somente aplicativos da área de trabalho] |
Plataforma de Destino | Windows |
Cabeçalho | tom.h |
DLL | Msftedit.dll |
Confira também
Conceitual
Referência