Metodo ITextRange::MoveWhile (tom.h)
Inizia alla fine di un intervallo e cerca mentre i caratteri appartengono al set specificato da Cset e mentre il numero di caratteri è minore o uguale a Count. L'intervallo viene compresso in un punto di inserimento quando viene trovato un carattere non corrispondente.
Sintassi
HRESULT MoveWhile(
VARIANT *Cset,
long Count,
long *pDelta
);
Parametri
Cset
Tipo: VARIANT*
Carattere impostato per l'uso 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 Count è minore di zero, la ricerca inizia alla posizione iniziale e torna indietro verso l'inizio della storia. Se Count è maggiore di zero, la ricerca inizia alla posizione finale e va avanti verso la fine della storia.
pDelta
Tipo: long*
Il numero effettivo di caratteri finali viene spostato. Questo parametro 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
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.
Il metodo ITextRange::MoveWhile è simile a ITextRange::MoveUntil, ma MoveWhile cerca finché trova i membri del set specificato da Cset e non esiste un incremento aggiuntivo per il valore pDelta.
I metodi ITextRange::MoveStartWhile e ITextRange::MoveEndWhile spostano rispettivamente l'inizio e la fine, incollando rispettivamente tutti i caratteri contigui presenti nel set di caratteri specificati dal parametro Cset.
Il tipo VARIANT è destinato principalmente a essere usato con scenari IDispatch come Microsoft Visual Basic, Applications Edition (VBA), ma può essere facilmente usato da C o C++. Il codice C++ seguente illustra come inizializzare e usare l'argomento VARIANT per la corrispondenza di un intervallo di cifre nell'intervallo r.
VariantInit(&varg);
varg.vt = VT_I4;
varg.lVal = C1_DIGIT;
hr = r.MoveWhile(&varg, tomForward, pDelta); // Move IP past span of digits
In alternativa, è possibile usare una stringa esplicita, come nell'esempio seguente.
VariantInit(&varg);
bstr = SysAllocString("0123456789");
varg.vt = VT_BSTR;
varg.bstr = bstr;
hr =r.MoveWhile(&varg, tomForward, pDelta); // Move IP past span of digits
Il codice di esempio VBA seguente corrisponde al corpo della prossima voce Standard Generalized Markup Language (SGML) in un intervallo, r. Le voci SGML iniziano con e terminano con <keyword ...
<> / . 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
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