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 |
---|---|
|
Cset non è valido. |
|
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
Riferimento