Compartilhar via


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
E_INVALIDARG
O Cset não é válido.
S_FALSE
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

GetChar

ITextRange

Mover

MoveEndUntil

MoveStartUntil

MoveWhile

Referência

Modelo de objeto de texto