Bagikan melalui


ITextRange::Metode MoveWhile (tom.h)

Dimulai pada akhir rentang tertentu dan pencarian sementara karakter milik set yang ditentukan oleh Cset dan sementara jumlah karakter kurang dari atau sama dengan Hitungan. Rentang diciutkan ke titik penyisipan ketika karakter yang tidak cocok ditemukan.

Sintaks

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

Parameter

Cset

Jenis: VARIAN*

Karakter yang diatur untuk digunakan dalam kecocokan. Ini bisa menjadi string karakter eksplisit atau indeks set karakter. Untuk informasi selengkapnya, lihat Kumpulan Pencocokan Karakter.

Count

Jenis: panjang

Jumlah karakter maksimum yang akan dilewati. Nilai defaultnya adalah tomForward, yang mencari di akhir cerita. Jika Count kurang dari nol, pencarian dimulai dari posisi awal dan mundur — menuju awal cerita. Jika Count lebih besar dari nol, pencarian dimulai dari posisi akhir dan maju — menuju akhir cerita.

pDelta

Jenis: panjang*

Jumlah karakter aktual yang berakhir dipindahkan. Parameter ini dapat berupa null.

Nilai kembali

Jenis: HRESULT

Metode mengembalikan nilai HRESULT . Jika metode berhasil, metode akan mengembalikan S_OK. Jika metode gagal, metode mengembalikan salah satu kode kesalahan berikut. Untuk informasi selengkapnya tentang kode kesalahan COM, lihat Penanganan Kesalahan di COM.

Menampilkan kode Deskripsi
E_INVALIDARG
Cset tidak valid.
S_FALSE
Kegagalan karena alasan lain.

Keterangan

Gerakan yang dijelaskan oleh ITextRange::MoveUntil logis daripada geometris. Artinya, gerakan menuju akhir atau menuju awal cerita. Tergantung pada bahasanya, pindah ke akhir cerita bisa bergerak ke kiri atau bergerak ke kanan.

Untuk informasi selengkapnya, lihat diskusi di ITextRange dan bagian Keterangan ITextRange::Move.

Metode ITextRange::MoveWhile mirip dengan ITextRange::MoveUntil, tetapi MoveWhile mencari selama menemukan anggota set yang ditentukan oleh Cset, dan tidak ada kenaikan tambahan ke nilai pDelta.

Metode ITextRange::MoveStartWhile dan ITextRange::MoveEndWhile masing-masing memindahkan awal dan akhir, hanya melewati semua karakter berdekatan yang ditemukan dalam sekumpulan karakter yang ditentukan oleh parameter Cset .

Jenis VARIAN terutama dimaksudkan untuk digunakan dengan skenario IDispatch seperti Microsoft Visual Basic for Applications (VBA), tetapi dapat dengan mudah digunakan dari C atau C++ juga. Kode C++ berikut menggambarkan cara menginisialisasi dan menggunakan argumen VARIAN untuk mencocokkan rentang digit dalam rentang r.

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

Atau, string eksplisit dapat digunakan, seperti dalam sampel berikut.

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

Kode contoh VBA berikut cocok dengan isi entri Standard Generalized Markup Language (SGML) berikutnya dalam rentang, r. Entri SGML dimulai dengan <keyword ...> dan diakhir dengan </ . 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
                           

Persyaratan

Persyaratan Nilai
Klien minimum yang didukung Windows Vista [hanya aplikasi desktop]
Server minimum yang didukung Windows Server 2003 [hanya aplikasi desktop]
Target Platform Windows
Header tom.h
DLL Msftedit.dll

Lihat juga

Konseptual

ITextRange

Bergerak

MoveEndWhile

MoveStartWhile

MoveUntil

Referensi

Model Objek Teks