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

Começa em um final especificado de um intervalo e pesquisa enquanto os caracteres pertencem ao conjunto especificado por Cset e enquanto o número de caracteres é menor ou igual a Count. O intervalo é recolhido a um ponto de inserção quando um caractere não correspondente é encontrado.

Sintaxe

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

Parâmetros

Cset

Tipo: VARIANT*

O conjunto de caracteres a ser usado na correspondência. Isso pode ser uma cadeia de caracteres explícita 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 começará na posição inicial e retrocederá em direção ao início da história. Se Count for maior que zero, a pesquisa começará na posição final e avançará até o final da história.

pDelta

Tipo: long*

A contagem real de caracteres final é movida. Este parâmetro 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
Cset não é válido.
S_FALSE
Falha por algum outro motivo.

Comentários

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 se movendo para a direita.

Para obter mais informações, consulte a discussão em ITextRange e a seção Comentários de ITextRange::Move.

O método ITextRange::MoveWhile é semelhante a ITextRange::MoveUntil, mas MoveWhile pesquisa desde que encontre membros do conjunto especificado por Cset e não haja incremento adicional para o valor pDelta.

Os métodos ITextRange::MoveStartWhile e ITextRange::MoveEndWhile movem o início e o fim, respectivamente, apenas após todos os caracteres contíguos encontrados no conjunto de caracteres especificados pelo parâmetro Cset .

O tipo VARIANT destina-se principalmente a ser usado com cenários de IDispatch, como o Microsoft Visual Basic for Applications (VBA), mas também pode ser prontamente usado de C ou C++. O código C++ a seguir ilustra como inicializar e usar o argumento VARIANT para corresponder a um intervalo de dígitos no intervalo r.

VariantInit(&varg);
varg.vt = VT_I4;
varg.lVal = C1_DIGIT;
hr = r.MoveWhile(&varg, tomForward, pDelta); // Move IP past span of digits

Como alternativa, uma cadeia de caracteres explícita pode ser usada, como no exemplo a seguir.

VariantInit(&varg);
bstr = SysAllocString("0123456789");
varg.vt = VT_BSTR;
varg.bstr = bstr;
hr =r.MoveWhile(&varg, tomForward, pDelta);    // Move IP past span of digits

O código de exemplo do VBA a seguir corresponde ao corpo da próxima entrada SGML (Linguagem de Marcação Generalizada Padrão) em um intervalo, r. As entradas SGML começam com <keyword ...> e terminam com </ . keyword>

r.Find <                  // Get to start of next tag
r.MoveWhile C1_SPACE      // Bypass any space characters
r.MoveEndWhile C1_ALPHA   // Match keyword
s$ = </ + r               // Create VBA string to search for
r.Find >                  // Bypass remainder of start tag
r.FindEnd s$              // Match up to end of closing keyword
r.FindEnd <, tomStart     // Back up to start of end tag
                          // r has body of SGML entry
                           

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

ITextRange

Mover

MoveEndWhile

MoveStartWhile

MoveUntil

Referência

Modelo de objeto de texto