Cara untuk mensimulasikan Visual Basic 6.0 String fungsi dalam VB5

Terjemahan Artikel Terjemahan Artikel
ID Artikel: 188007 - Melihat produk di mana artikel ini berlaku.
Perbesar semua | Perkecil semua

RINGKASAN

Visual Basic versi 6.0 memperkenalkan sejumlah fungsi string baru untuk menyederhanakan manipulasi string dalam kode Anda. Artikel ini menjelaskan bagaimana fungsi yang sama dapat digunakan dengan versi sebelumnya dari Visual Basic.

INFORMASI LEBIH LANJUT

Fungsi-fungsi tambahan string berikut hadir dalam Visual Basic 6.0:
Function      Description
--------      -----------
Join          Used to join arrays elements.

Split         Split a string into a variant array.

InStrRev      Similar to InStr but searches from end of string.

Replace       To find a particular string and replace it.

Reverse       To reverse a string.
				

Jika fungsi ini kode dan ditambahkan dalam modul, semua fungsi di atas dapat digunakan dalam proyek seolah-olah mereka adalah fungsi intrinsik.
  1. Memulai sebuah proyek baru. Form1 dibuat secara default.
  2. Menambahkan modul baru untuk proyek dan tambahkan kode berikut untuk modul:
          Option Explicit
    
          Public Function Join(source() As String, Optional _
                sDelim As String = " ") As String
          Dim sOut As String, iC As Integer
          On Error GoTo errh:
              For iC = LBound(source) To UBound(source) - 1
                  sOut = sOut & source(iC) & sDelim
              Next
              sOut = sOut & source(iC)
              Join = sOut
              Exit Function
          errh:
              Err.Raise Err.Number
          End Function
    
          Public Function Split(ByVal sIn As String, Optional sDelim As _
                String, Optional nLimit As Long = -1, Optional bCompare As _
                 VbCompareMethod = vbBinaryCompare) As Variant
              Dim sRead As String, sOut() As String, nC As Integer
              If sDelim = "" Then
                  Split = sIn
              End If
              sRead = ReadUntil(sIn, sDelim, bCompare)
              Do
                  ReDim Preserve sOut(nC)
                  sOut(nC) = sRead
                  nC = nC + 1
                  If nLimit <> -1 And nC >= nLimit Then Exit Do
                  sRead = ReadUntil(sIn, sDelim)
              Loop While sRead <> ""
              ReDim Preserve sOut(nC)
              sOut(nC) = sIn
              Split = sOut
          End Function
    
          Public Function ReadUntil(ByRef sIn As String, _
                sDelim As String, Optional bCompare As VbCompareMethod _
              = vbBinaryCompare) As String
              Dim nPos As String
              nPos = InStr(1, sIn, sDelim, bCompare)
              If nPos > 0 Then
                  ReadUntil = Left(sIn, nPos - 1)
                  sIn = Mid(sIn, nPos + Len(sDelim))
              End If
          End Function
    
          Public Function StrReverse(ByVal sIn As String) As String
              Dim nC As Integer, sOut As String
              For nC = Len(sIn) To 1 Step -1
              sOut = sOut & Mid(sIn, nC, 1)
              Next
              StrReverse = sOut
          End Function
    
          Public Function InStrRev(ByVal sIn As String, sFind As String, _
           Optional nStart As Long = 1, Optional bCompare As _
                VbCompareMethod = vbBinaryCompare) As Long
              Dim nPos As Long
              sIn = StrReverse(sIn)
              sFind = StrReverse(sFind)
              nPos = InStr(nStart, sIn, sFind, bCompare)
              If nPos = 0 Then
                  InStrRev = 0
              Else
                  InStrRev = Len(sIn) - nPos - Len(sFind) + 2
              End If
          End Function
    
          Public Function Replace(sIn As String, sFind As String, _
                sReplace As String, Optional nStart As Long = 1, _
                Optional nCount As Long = -1, Optional bCompare As _
                VbCompareMethod = vbBinaryCompare) As String
    
              Dim nC As Long, nPos As Integer, sOut As String
              sOut = sIn
              nPos = InStr(nStart, sOut, sFind, bCompare)
              If nPos = 0 Then GoTo EndFn:
              Do
                  nC = nC + 1
                  sOut = Left(sOut, nPos - 1) & sReplace & _
                     Mid(sOut, nPos + Len(sFind))
                  If nCount <> -1 And nC >= nCount Then Exit Do
                  nPos = InStr(nStart, sOut, sFind, bCompare)
              Loop While nPos > 0
          EndFn:
              Replace = sOut
          End Function
    
    						
  3. Menambahkan dua CommandButtons Form1. Tambahkan kode berikut untuk Umum bagian Deklarasi Form1:
          Option Explicit
    
          Dim MyArray(2) As String, MyStr As String, MyVar As Variant
    
          Private Sub Command1_Click()
              MyArray(0) = "item1"
              MyArray(1) = "item2"
              MyArray(2) = "item3"
              MyStr = Join(MyArray, ";")
              Debug.Print MyStr
          End Sub
    
          Private Sub Command2_Click()
              Dim i As Integer
              MyVar = Split(MyStr, ";")
              For i = LBound(MyVar) To UBound(MyVar)
              Debug.Print MyVar(i)
              Next
          End Sub
    
          Private Sub Form_Load()
              Command1.Caption = "Join"
              Command2.Caption = "Split"
          End Sub
    
    						
  4. Tekan tombol F5 untuk menjalankan projek. Klik pada bergabung, dan diperhatikan dalam debug jendela bahwa elemen array bergabung. Klik pada Split untuk membagi string ke array varian.
  5. Jeda proyek dengan menekan CTRL + BREAK kunci kombinasi atau mengklik tombol Pause di toolbar. Menguji sisanya berfungsi dengan mengetik baris berikut di jendela segera dan memverifikasi hasilnya:
    ? instrrev("//drive/dir","/")
    8

    ? strreverse ("input string")
    gnirts tupni

    ? menggantikan ("input string","", "-", 4,1)
    masukan string
    Catatan: Kesalahan yang dihasilkan mungkin bukan bertepatan dengan orang-orang yang dihasilkan oleh fungsi intrinsik string Visual Basic 6.0.

Properti

ID Artikel: 188007 - Kajian Terakhir: 16 September 2011 - Revisi: 2.0
Berlaku bagi:
  • Microsoft Visual Basic 5.0 Learning Edition
  • Microsoft Visual Basic 5.0 Professional Edition
  • Microsoft Visual Basic 6.0 Professional Edition
  • Microsoft Visual Basic 5.0 Enterprise Edition
  • Microsoft Visual Basic 4.0 Enterprise Edition
Kata kunci: 
kbhowto kbmt KB188007 KbMtid
Penerjemahan Mesin
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:188007

Berikan Masukan

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com