Metodo ITextRange::MoveUntil (tom.h)

Cerca fino a Conteggio caratteri per il primo carattere nel set di caratteri specificati da Cset. Se viene trovato un carattere, l'intervallo viene compresso a quel punto. L'inizio della ricerca e la direzione vengono specificati anche da Count.

Sintassi

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

Parametri

Cset

Tipo: VARIANT*

Set di caratteri utilizzato nella corrispondenza. Potrebbe trattarsi di una stringa esplicita di caratteri o di un indice del set di caratteri. Per altre informazioni, vedere Set di corrispondenze di caratteri.

Count

Tipo: long

Numero massimo di caratteri da spostare in passato. Il valore predefinito è tomForward, che cerca alla fine della storia. Se Conteggio è minore di zero, la ricerca è indietro a partire dalla posizione iniziale. Se Conteggio è maggiore di zero, la ricerca viene inoltrata a partire dalla fine.

pDelta

Tipo: long*

Il numero di caratteri che il punto di inserimento viene spostato, più 1 per una corrispondenza se Count è maggiore di zero e -1 per una corrispondenza se Conteggio è minore di zero. Il puntatore può essere Null.

Valore restituito

Tipo: HRESULT

Il metodo restituisce un valore HRESULT . Se il metodo ha esito positivo, restituisce S_OK. Se il metodo ha esito negativo, restituisce uno dei codici di errore seguenti. Per altre informazioni sui codici di errore COM, vedere Gestione degli errori in COM.

Codice restituito Descrizione
E_INVALIDARG
Cset non è valido.
S_FALSE
Errore per qualche altro motivo.

Commenti

Se non corrisponde alcun carattere, l'intervallo viene invariato.

Il movimento descritto da ITextRange::MoveUntil è logico anziché geometrico. Questo è il movimento verso la fine o verso l'inizio di una storia. A seconda della lingua, lo spostamento alla fine della storia potrebbe spostarsi a sinistra o spostarsi verso destra.

Per altre informazioni, vedere la discussione in ITextRange e la sezione Osservazioni di ITextRange::Move.

I metodi ITextRange::MoveStartUntil e ITextRange::MoveEndUntil spostano rispettivamente l'inizio e la fine fino a quando non trova il primo carattere incluso nel set specificato dal parametro Cset.

Il metodo ITextRange::MoveUntil è simile a ITextRange::MoveWhile, ma esistono due differenze. MoveUntil sposta prima di tutto un punto di inserimento finché non trova il primo carattere appartenente al set di caratteri specificato da Cset. In secondo luogo, in MoveUntil il carattere corrisponde come carattere aggiuntivo nel valore restituito in pDelta. Ciò consente di sapere che il carattere a una fine dell'intervallo o l'altro appartiene al Cset anche se il punto di inserimento rimane a una delle estremità dell'intervallo.

Si supponga, ad esempio, che l'intervallo, r, sia un punto di inserimento. Per verificare se il carattere in r (ovvero, dato da r.GetChar()) è in Cset, chiamare

r.MoveUntil(Cset, 1)

Se il carattere è in Cset, il valore restituito è 1 e il punto di inserimento non viene spostato. Analogamente, per verificare se il carattere precedente r è in Cset, chiamare

r.MoveUntil(Cset, -1)

Se il carattere è in Cset, il valore restituito è –1.

La sottoroutine di Microsoft Visual Basic, Applications Edition (VBA) seguente stampa tutti i numeri nella storia identificata dall'intervallo, 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

Requisiti

Requisito Valore
Client minimo supportato Windows Vista [solo app desktop]
Server minimo supportato Windows Server 2003 [solo app desktop]
Piattaforma di destinazione Windows
Intestazione tom.h
DLL Msftedit.dll

Vedi anche

Informazioni concettuali

GetChar

ITextRange

Sposta

MoveEndUntil

MoveStartUntil

MoveWhile

Riferimento

Modello a oggetti testo