Tips SistemThis article applies to a different operating system than the one you are using. Article content that may not be relevant to you is disabled.
PERINGATAN: PENGGUNAAN OLEH ANDA DARI KODE/MAKRO YANG TERSEDIA DI DALAM ARTIKEL INI ADALAH PADA
RISIKO ANDA SENDIRI. Microsoft menyediakan ini kode/makro "sebagaimana adanya" tanpa garansi
apapun, baik tersurat maupun tersirat, termasuk tetapi tidak terbatas pada
jaminan tersirat mengenai keadaan yang dapat diperjualbelikan dan/atau kesesuaian untuk tertentu
tujuan.
Catatan: dalam kode contoh berikut, garis bawah (_) pada akhir baris
digunakan sebagai karakter baris-kelanjutan. Untuk versi BASIC yang tidak
mendukung karakter baris-kelanjutan, menghapus garis bawah dari
akhir baris dan bergabung dengan baris berikut ketika menciptakan kembali ini
kode.
Bidang yang diuraikan dan dihapus dari nama dalam urutan berikut:
Judul-(jika kata pertama pertandingan daftar judul standar) Derajat-(apa-apa setelah koma pertama) Silsilah-(jika kata terakhir pertandingan daftar standar silsilah) Terakhir nama-(tidak boleh berisi spasi, tetapi dapat hyphenated) Nama pertama-(tidak boleh berisi spasi) Initial(s) tengah-(sisa)
Function CutLastWord (ByVal S As String, Remainder As String) _
As String
' CutLastWord: returns the last word in S.
' Remainder: returns the rest.
'
' Words are separated by spaces
'
Dim I As Integer, P As Integer
S = Trim$(S)
P = 1
For I = Len(S) To 1 Step -1
If Mid$(S, I, 1) = " " Then
P = I + 1
Exit For
End If
Next I
If P = 1 Then
CutLastWord = S
Remainder = ""
Else
CutLastWord = Mid$(S, P)
Remainder = Trim$(Left$(S, P - 1))
End If
End Function
Function CutWord (ByVal S As String, Remainder As String) As String
'
' CutWord: returns the first word in S.
' Remainder: returns the rest.
'
Dim P As Integer
S = Trim$(S)
P = InStr(S, " ")
If P = 0 Then P = Len(S) + 1
CutWord = Left$(S, P - 1)
Remainder = Trim$(Mid$(S, P + 1))
End Function
Sub ParseName (ByVal S As String, Title As String, FName As String, _
MName As String, LName As String, _
Pedigree As String, Degree As String)
Dim Word As String, P As Integer, Found As Integer
Const Titles = "Mr.Mrs.Ms.Dr.Miss,Sir,Madam,Mayor,President"
Const Pedigrees = "Jr.Sr.III,IV,VIII,IX,XIII"
Title = ""
FName = ""
MName = ""
LName = ""
Pedigree = ""
Degree = ""
'
' Get Title
'
Word = CutWord(S, S)
If InStr(Titles, Word) Then
Title = Word
Else
S = Word & " " & S
End If
'
' Get Degree
'
P = InStr(S, ",")
If P > 0 Then
Degree = Trim$(Mid$(S, P + 1))
S = Trim$(Left$(S, P - 1))
End If
'
' Get Pedigree
'
Word = CutLastWord(S, S)
If InStr(Pedigrees, Word) Then
Pedigree = Word
Else
S = S & " " & Word
End If
'
' Get the rest
'
LName = CutLastWord(S, S) ' Last Name
FName = CutWord(S, S) ' First Name
MName = Trim(S) ' Initials/Middle Name(s)
End Sub
Untuk menguji, membuat formulir dengan tujuh kotak teks (txtName, txtTitle,
txtFirstName, txtMI, txtLastName, txtPedigree, txtDegree), dan perintah
tombol. Tambahkan kode berikut:
Sub Command1_Click()
Dim Title As String, FName As String, MI As String
Dim LName As String, Pedigree As String, Degree As String
ParseName txtName, Title, FName, MI, LName, Pedigree, Degree
txtTitle = Title
txtFirstName = FName
txtMI = MI
txtLastName = LName
txtPedigree = Pedigree
txtDegree = Degree
End Sub
Menampilkan bentuk, ketik nama ke txtName dan klik perintah
tombol. Enam bidang lain harus berisi nilai-nilai parsing.
Catatan lain, keterbatasan, dan saran untuk perbaikan (ke kiri
perangkat pembaca):
Rutin parsing mengasumsikan koma sebelum tingkat tapi tidak sebelum
Silsilah. Jika tanda koma sebelum silsilah, akan disertakan
sebagai bagian dari Degree (s). Jika Anda ingin mengijinkan silsilah menjadi
didahului oleh koma, Anda dapat menambahkan tambahan Periksa untuk melihat apakah yang pertama
kata (dipisahkan koma) derajat adalah dalam daftar standar
Silsilah.
Nama pertama dan terakhir diasumsikan berisi spasi tidak. Jika mereka melakukan
(misalnya Mary Beth Saint John), bagian dari nama (misalnya Beth Saint) akan berakhir
sampai di tengah nama awal/tengah mengembalikan nilai. Sayangnya, karena untuk
variabilitas tinggi kasus ini, ada tidak ada solusi yang baik lain
dari intervensi manual.
Rutin parsing dirancang untuk nama bahasa Inggris/Amerika. Lainnya
bahasa memiliki konvensi yang berbeda yang mungkin memerlukan penyesuaian
kode parsing.
Daftar standar judul dan silsilah dengan mudah dapat diperpanjang oleh
menambahkan entri ke dua Deklarasi Const di ParseName.
Cek untuk judul dapat dibuat lebih generik oleh mencari periode di
akhir kata pertama jika tidak sudah di daftar standar
Judul.
PENTING: Artikel ini diterjemahkan menggunakan perangkat lunak mesin penerjemah Microsoft dan bukan oleh seorang penerjemah. Microsoft menawarkan artikel yang diterjemahkan oleh seorang penerjemah maupun artikel yang diterjemahkan menggunakan mesin sehingga Anda akan memiliki akses ke seluruh artikel baru yang diterbitkan di Pangkalan Pengetahuan (Knowledge Base) dalam bahasa yang Anda gunakan. Namun, artikel yang diterjemahkan menggunakan mesin tidak selalu sempurna. Artikel tersebut mungkin memiliki kesalahan kosa kata, sintaksis, atau tata bahasa, hampir sama seperti orang asing yang berbicara dalam bahasa Anda. Microsoft tidak bertanggung jawab terhadap akurasi, kesalahan atau kerusakan yang disebabkan karena kesalahan penerjemahan konten atau penggunaannya oleh para pelanggan. Microsoft juga sering memperbarui perangkat lunak mesin penerjemah.
Klik disini untuk melihat versi Inggris dari artikel ini:168799
(http://support.microsoft.com/kb/168799/en-us/
)
Seberapa besar upaya Anda untuk menggunakan artikel ini?
Sangat sedikit
Sedikit
Sedang
Besar
Sangat besar
Berikan saran tentang apa yang dapat kami lakukan untuk menyempurnakan informasi ini
Terima kasih! Masukan Anda akan digunakan untuk membantu kami meningkatkan konten dukungan. Untuk opsi bantuan lainnya, kunjungi Halaman Beranda Bantuan dan Dukungan.