1. Trang chủ
  2. » Công Nghệ Thông Tin

CÁC HÀM XỬ LÝ CHUỖI TRONG VB NET

34 5.3K 9

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Nội dung

Các hàm xử chuỗi VB NET Space (Num as Long) ‘trả chuỗi toàn khoảng trống với số khoảng trống ấn định tham số Num VD: str = space (3) —> str = ” ” String (Num as Long, character) ‘trả chuõi (theo dạng variant) gồm ký tự lặp lại Ký tự lặp lại ký tự đầu biểu thức chuổi truyền tham số thứ hai hàm (character) Tham số thứ (Num) xác nhận số lần lặp lại VD: str = string (5, “a”) str = string (5, “abc”) str = string (5, 97) ví dụ cho chuỗi “aaaaa” Trim (String) ‘ cắt khoảng trống đầu chuỗi VD: str = Trim (” Yêu em “) —-> str = “Yeu em” LTrim (String) ‘ cắt khoảng trống đầu chuỗi RTrim (String) ‘ cắt khoảng trống cuối chuõi Len ( ) ‘ trả chiều dài chuỗi bao gồm khoảng trống ký tự VD: str = Len (“caulacboVB”) —> str = 10 Mid (string, start as Long, length) ‘ trích từ tham số 1(string) chuỗi vị trí bắt đầu xác định tham số 2(start), với số ký tự qui định tham số 3(length) Nếu bỏ wa tham số length hàm Mid trích đến hết chuỗi VD: str = Mid (“caulacboVB”, 1, 8) —> str = “caulacbo” InStr (start, string1, string2, compare) ‘ trả vị trí bắt đầu chuỗi cần tìm chuỗi mẹ tham số 1(start) xác định vị trí bắt đầu tìm, tham sô 2(string1) chuỗi mẹ, tham số 3(string2) chuỗi cần tìm, tham số 4(compare) mặc định so sánh nhạy ký tự Khi bỏ wa tham số thứ vị trí bắt đầu tìm mặc định VD: pos = InStr (“caulacboVB”, “VB”) —> pos = InStrRev (StringCheck as string, StringMatch as string, Start as Long, Compare) ‘ chức InStr InStrRev hoạt động ngược lại từ cuối chuỗi cú pháp khác Cả hai hàm hàm tìm kiếm nhạy ký tự nên cần ý chữ thường chữ HOA InStrRev thường kết hơp với Mid để tách tên File khỏi đường dẫn tên mở rộng VD: PathFile = “C:\temp\001.tmp” Pos = InStrRev (pathFile, “\”) PathFile = Mid (PathFile, Pos + 1) Pos = InStrRev (PathFile, “.”) PathFile = Mid (PathFile, 1, Pos – 1) —>PathFile = “001” Left (String, Length as Long) ‘ trích từ đầu chuỗi tham số 1(String) với số lượng xác định tham số 2(Length) VD: str = Left (“caulacboVB”, 6) —> str = “caulac” Right (String, Length as Long) ‘ Left trích ngược từ cuối chuỗi Replace (Expression as string, Find as string, Replace as string, start, count, compare) ‘ tìm tham số thứ 1(Expression) chuỗi xác định tham số 2(Find) thay chuỗi đặt tham số 3(Replace) Ba tham số lại tùy chọn Start qui định vị trí bắt đầu tìm chuỗi cần thay, bỏ wa mặc định la Count qui định số lần thay chuỗi, bỏ wa mặc định Replace tìm thay hết chuỗi VD: str = “bcbcbc” tmp = Replace (str, “b”, “a”) —> str = “acacac” tmp = Replace (str, “b”, “a”, 2) —> str = “cacac” tmp = Replace (str, “b”, “a”, 1, 1) —> str = “acbcbc” StrComp (String1, String2, Compare) ‘ dùng để so sánh chuỗi Trị trả về: (String1 < String2) = -1; (String1 = String2) = 0; (String1 > String2) = Like ‘ so sánh chuỗi cho phép sử dụng biệt ngữ ( dùng ký tự đại diện Dos) trị trả = True tương hợp VD: “abcd” Like “*bcd” = True “abcd” Like “a?cd” = True “a1cd” Like “a#cd” = True Chú ý hàm Like mặc định hàm nhạy ký tự, theo thiết lập Option Compare form module Chr(charcode as Long) ‘ Chuyển mã Ascii thành ký tự VD: MyChar = Chr(65) ‘ Returns A MyChar = Chr(97) ‘ Returns a MyChar = Chr(62) ‘ Returns > MyChar = Chr(37) ‘ Returns % Asc(String as String) ‘ trả mã Ascii ký tự VD: Asc (“a”) = 65 ChrW(charcode) ‘ Chuyển mã Ascii thành ký tự (Hỗ trợ Unicode) VD: ChrW(&H1EC7) = “ệ” AscW (string) ‘ Chuyển ký tự thành mã Ascii (hỗ trợ Unicode) VD: AscW(“ệ”) = 7879 = H1EC7 LCase(String) ‘ chuyển đổi chuỗi sang chữ in thường UCase (String) ‘ ngược với LCase Join (SourceArray, Delimiter) ‘ tạo chuỗi từ mảng chuỗi (SourceArray) với phần tử phân định tham số Delimiter VD: Arr (0) = “a” Arr (1) = “b” Arr (2)= “c” Print Join (Arr, ” “) = “a b c” Split (Expression as String, Delimiter, Count, Compare) ‘ tạo mảng chuỗi từ chuỗi (Expression) Đặt tham số Delimiter để chuyên biệt chỗ ngắt, bỏ wa tham số mặc định Split tách khoảng trống chuỗi Tham số Count qui định số lần tách Ba tham số cuối tùy chọn VD: Dim str as string, Arr as Variant str = “cau lac bo vb” Arr = Split (str) ‘ dùng For duyệt mảng Arr cho : Arr ( ) = “cau”; Arr ( ) = “lac” …Arr ( ) = “vb” Arr = Split (str, “a”) —> Arr (0) = “c”; Arr (1) = “u l”; Arr (2) = “c bo vb” Arr = Split (str, ” “, 2) —> Arr (0) = “cau”; Arr(1) = “lac bo vb” Filter (sourcearray, match [, include [, compare]]) ‘ Lọc mảng sourcesrray với giá trị lọc match ; include: Lọc đảo (True False) ; compare: rõ kiểu liệu để so sánh trình lọc Dùng cho tham số compare vbUseCompareOption = –1 : Chế độ tùy chọn, VB tự động lựa lọai liệu thích hợp vbBinaryCompare = : So sánh nhị phân vbTextCompare = : So sánh chuỗi vbDatabaseCompare = : So sánh liệu VD: Dim selNames() As String Dim Names(1 To 5) As String Names(1) = “A” Names(2) = “B” Names(3) = “C” Names(4) = “D” Names(5) = “E” selNames = Filter(Names, “A”) ‘ Returns “A” selNames = Filter(Names, “B”, False) ‘Returns “A” , “C”, “D”, “E” StrReverse(expression as String) ‘ Đảo chuỗi expression VD: StrReverse(“1234567”) ‘ Returns “7654321” Public Class ListBox Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click Dim i As Integer = listbox1.SelectedIndex If i = -1 Then Exit Sub End If listbox2.Items.Add(listbox1.Items(i)) listbox1.Items.RemoveAt(i) End Sub Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click Dim i As Integer = listbox2.SelectedIndex If i = -1 Then Exit Sub End If listbox1.Items.Add(listbox2.Items(i)) listbox2.Items.RemoveAt(i) End Sub Private Sub Button3_Click(sender As Object, e As EventArgs) Handles Button3.Click listbox2.Items.AddRange(listbox1.Items) listbox1.Items.Clear() End Sub Private Sub Button4_Click(sender As Object, e As EventArgs) Handles Button4.Click listbox1.Items.AddRange(listbox2.Items) listbox2.Items.Clear() End Sub Private Sub btnset_Click(sender As Object, e As EventArgs) Handles btnset.Click listbox1.Items.Clear() listbox2.Items.Clear() For i As Integer = To 10 Step listbox1.Items.Add(i) Next End Sub End Class Console.WriteLine("enter the no") Dim no As Integer = CInt(Console.ReadLine()) Console.Write("Reverse of {0} is : ", no) While no > Console.Write(no Mod 10) no = Math.Floor(no / 10) End While Console.ReadKey() Public Class SoLeSoChan Private Sub btnPrint_Click(sender As Object, e As EventArgs) Handles btnPrint.Click Dim firstNum, lastNum As Integer Dim result, result2 As String result = "" result2 = "" firstNum = Convert.ToInt32(Me.firstNum.Text) lastNum = Convert.ToInt32(Me.lastNum.Text) For i As Integer = firstNum To lastNum Step If i Mod = Then result = result & i.ToString() & " " Else result2 = result2 & i.ToString() & " " End If Next Me.lbl1.Text() = "Các số chẵn từ " + firstNum.ToString() + " tới " + lastNum.ToString() + " " + result Me.lbl2.Text() = "Các số lẻ từ " + firstNum.ToString() + " tới " + lastNum.ToString() + " " + result2 End Sub Private Sub btnExit_Click(sender As Object, e As EventArgs) Handles btnExit.Click Me.Close() End Sub End Class Imports System.Data.OleDb Public Class CSDL Public conn As New OleDbConnection Sub connectdb() Dim db As String = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=CSDL.accdb;" conn.ConnectionString = db conn.Open() If conn.State = ConnectionState.Open Then 'MsgBox("Ket noi cong") Else MsgBox("Ket noi khong cong") End If End Sub Sub closedb() If conn.State = ConnectionState.Open Then conn.Close() conn.Dispose() End If End Sub Function MPB(ByVal Key As String, ByVal Type As Integer) ' Phong ban Dim vDataset As DataSet Dim vMydata As OleDbDataAdapter Dim out As String = "" Dim column As String Dim sql As String If Type = Then ' Lấy mã phòng ban column = "MaPhongBan" sql = "SELECT TOP * FROM PhongBan WHERE TenPhongBan = '" & Key & "'" Else column = "TenPhongBan" sql = "SELECT TOP * FROM PhongBan WHERE MaPhongBan = '" & Key & "'" End If vMydata = New OleDbDataAdapter(sql, conn) vDataset = New DataSet vMydata.Fill(vDataset) For Each dbrow As DataRow In vDataset.Tables("Table").Rows out = dbrow.Item(column) Next Return out End Function Function MCV(ByVal Key As String, ByVal Type As Integer) ' CHuc vu Dim vDataset As DataSet Dim vMydata As OleDbDataAdapter Dim out As String = "" Dim column As String Dim sql As String If Type = Then ' Lấy mã chức vụ column = "MaChucVu" sql = "SELECT TOP * FROM ChucVu WHERE TenChucVu = '" & Key & "'" ElseIf Type = Then ' Lấy tên chức vụ column = "TenChucVu" sql = "SELECT TOP * FROM ChucVu WHERE MaChucVu = '" & Key & "'" Else ' Lấy mã phòng ban column = "MaPhongBan" sql = "SELECT TOP * FROM ChucVu WHERE MaChucVu = '" & Key & "'" End If vMydata = New OleDbDataAdapter(sql, conn) vDataset = New DataSet vMydata.Fill(vDataset) For Each dbrow As DataRow In vDataset.Tables("Table").Rows out = dbrow.Item(column) Next Return out End Function End Class Imports System.Data.OleDb Public Class NhanVien Dim vDatabase As New CSDL Dim vCommand As OleDbCommand Public vDataset As DataSet Public vMydata As OleDbDataAdapter Public vMyreader As OleDbDataReader Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load vDatabase.connectdb() btn_Save.Hide() btn_Close.Hide() btnLuuEdit.Hide() Dim sqlPhongBan As String = "SELECT * FROM PhongBan" vMydata = New OleDbDataAdapter(sqlPhongBan, vDatabase.conn) vDataset = New DataSet vMydata.Fill(vDataset) For Each dbrow As DataRow In vDataset.Tables("Table").Rows txtMaPhongBan.Items.Add(dbrow.Item("TenPhongBan")) Next loadData() End Sub Private Sub DataGridView1_CellFormatting(sender As Object, e As DataGridViewCellFormattingEventArgs) Handles DataGridView1.CellFormatting With DataGridView1 If Not e.RowIndex Mod = Then e.CellStyle.BackColor = Color.LightGray Else e.CellStyle.BackColor = Color.Silver End If End With End Sub Sub loadChucVu() txtMaChucVu.Items.Clear() Dim sqlChucVu As String = "SELECT * FROM ChucVu WHERE MaPhongBan = '" & vDatabase.MPB(txtMaPhongBan.Text, 1) & "'" vMydata = New OleDbDataAdapter(sqlChucVu, vDatabase.conn) vDataset = New DataSet vMydata.Fill(vDataset) For Each dbrow As DataRow In vDataset.Tables("Table").Rows txtMaChucVu.Items.Add(dbrow.Item("TenChucVu")) Next End Sub Sub loadData() Dim sql As String = "SELECT * FROM NhanVien" vMydata = New OleDbDataAdapter(sql, vDatabase.conn) vDataset = New DataSet vMydata.Fill(vDataset) Me.DataGridView1.DataSource = vDataset.Tables(0) DataGridView1.Columns(0).HeaderText = "Mã nhân viên" DataGridView1.Columns(1).HeaderText = "Họ tên" 'Me.BackgroundImage = Image.FromFile("laptop.jpg") End Sub Sub Clear() Me.txtMaNV.Clear() Me.txtHoTen.Clear() Me.txtNgaySinh.ResetText() txtGioiTinh.SelectedIndex = -1 Me.txtQueQuan.Clear() Me.txtDiaChi.Clear() Me.txtSDT.Clear() Me.txtEmail.Clear() txtMaPhongBan.SelectedIndex = -1 txtMaChucVu.SelectedIndex = -1 End Sub Private Sub btnAdd_Click(sender As Object, e As EventArgs) Handles btnAdd.Click Try Dim sqlCheck As String = "SELECT * FROM NhanVien WHERE MaNV ='" + Me.txtMaNV.Text + "'" vCommand = New OleDbCommand(sqlCheck, vDatabase.conn) vMyreader = vCommand.ExecuteReader() If vMyreader.HasRows = True Then MessageBox.Show("Mã nhân viên tồn !") ElseIf txtMaNV.Text = "" Then MsgBox("Mã nhân viên trống !") ElseIf txtGioiTinh.Text = "" Then MsgBox("Chưa chọn giới tính !") ElseIf txtHoTen.Text = "" Then MsgBox("Họ tên trống !") ElseIf txtMaChucVu.Text = "" Then MsgBox("Chưa có chức vụ !") Else btn_Close.Show() btn_Save.Show() btnAdd.Hide() btnEdit.Hide() btnEmpty.Hide() btnDel.Hide() End If Catch ex As Exception MsgBox("Dữ liệu trống bị lỗi liệu !") End Try End Sub Private Sub btnEdit_Click(sender As Object, e As EventArgs) Handles btnEdit.Click If txtMaNV.Text = "" Then MsgBox("Mã nhân viên trống !") ElseIf txtGioiTinh.Text = "" Then MsgBox("Chưa chọn giới tính !") ElseIf txtHoTen.Text = "" Then MsgBox("Họ tên trống !") ElseIf txtMaChucVu.Text = "" Then MsgBox("Chưa có chức vụ !") Else btn_Close.Show() btnLuuEdit.Show() btnAdd.Hide() btnEdit.Hide() btnEmpty.Hide() btnDel.Hide() End If End Sub Private Sub btnDel_Click(sender As Object, e As EventArgs) Handles btnDel.Click If txtMaNV.Text "" Then Dim result As Integer = MessageBox.Show("Bạn có muốn xóa nhân viên '" + txtHoTen.Text + "' ", "Xác nhận xóa nhân viên", MessageBoxButtons.YesNo) If result = DialogResult.Yes Then Dim sqlDelete As String sqlDelete = "DELETE FROM NhanVien WHERE MaNV ='" + Me.txtMaNV.Text + "'" vCommand = New OleDbCommand(sqlDelete, vDatabase.conn) vCommand.ExecuteNonQuery() Clear() loadData() End If Else MsgBox("Mã nhân viên trống !") End If End Sub Private Sub DataGridView1_Click(sender As Object, e As EventArgs) Handles DataGridView1.Click Try Me.txtMaNV.Text = Me.DataGridView1.Item(0, Me.DataGridView1.CurrentRow.Index).Value Me.txtHoTen.Text = Me.DataGridView1.Item(1, Me.DataGridView1.CurrentRow.Index).Value Me.txtNgaySinh.Text = Me.DataGridView1.Item(2, Me.DataGridView1.CurrentRow.Index).Value Me.txtGioiTinh.Text = Me.DataGridView1.Item(4, Me.DataGridView1.CurrentRow.Index).Value Me.txtQueQuan.Text = Me.DataGridView1.Item(3, Me.DataGridView1.CurrentRow.Index).Value Me.txtDiaChi.Text = Me.DataGridView1.Item(5, Me.DataGridView1.CurrentRow.Index).Value Me.txtSDT.Text = Me.DataGridView1.Item(6, Me.DataGridView1.CurrentRow.Index).Value Me.txtEmail.Text = Me.DataGridView1.Item(7, Me.DataGridView1.CurrentRow.Index).Value Me.txtMaPhongBan.Text = vDatabase.MPB(vDatabase.MCV(Me.DataGridView1.Item(8, Me.DataGridView1.CurrentRow.Index).Value, 3), 0) loadChucVu() Me.txtMaChucVu.Text = vDatabase.MCV(Me.DataGridView1.Item(8, Me.DataGridView1.CurrentRow.Index).Value, 2) Catch ex As Exception MsgBox("Dữ liệu không tồn !") Clear() Finally End Try End Sub Private Sub btnEmpty_Click(sender As Object, e As EventArgs) Handles btnEmpty.Click Clear() End Sub Private Sub txtMaPhongBan_SelectedIndexChanged(sender As Object, e As EventArgs) Handles txtMaPhongBan.SelectedIndexChanged loadChucVu() End Sub Private Sub btn_Close_Click(sender As Object, e As EventArgs) Handles btn_Close.Click btnAdd.Show() btnEdit.Show() btnDel.Show() btnEmpty.Show() btn_Close.Hide() btn_Save.Hide() btnLuuEdit.Hide() Clear() End Sub Private Sub btn_Save_Click(sender As Object, e As EventArgs) Handles btn_Save.Click Dim sqlInsert As String sqlInsert = "INSERT INTO NhanVien VALUES('" & txtMaNV.Text & "','" & txtHoTen.Text & "','" & txtNgaySinh.Text & "','" & txtQueQuan.Text & "','" & txtGioiTinh.Text & "','" & txtDiaChi.Text & "','" & txtSDT.Text & "','" & txtEmail.Text & "','" & vDatabase.MCV(txtMaChucVu.Text, 1) & "')" vCommand = New OleDbCommand(sqlInsert, vDatabase.conn) vCommand.ExecuteNonQuery() Clear() loadData() btnAdd.Show() btnEdit.Show() btnDel.Show() btnEmpty.Show() btn_Close.Hide() btn_Save.Hide() End Sub Private Sub btnLuuEdit_Click(sender As Object, e As EventArgs) Handles btnLuuEdit.Click Dim sqlUpdate As String sqlUpdate = "UPDATE NhanVien SET MaNV='" & txtMaNV.Text & "', HoTen='" & txtHoTen.Text & "',NgaySinh='" & txtNgaySinh.Text & "',QueQuan='" & txtQueQuan.Text & "',GioiTinh='" & txtGioiTinh.Text & "',DiaChi='" & txtDiaChi.Text & "',SDT='" & txtSDT.Text & "',Email='" & txtEmail.Text & "',MaChucVu='" & vDatabase.MCV(txtMaChucVu.Text, 1) & "' WHERE MaNV='" & txtMaNV.Text & "'" vCommand = New OleDbCommand(sqlUpdate, vDatabase.conn) vCommand.ExecuteNonQuery() Clear() loadData() btnAdd.Show() btnEdit.Show() btnDel.Show() btnEmpty.Show() btn_Close.Hide() btnLuuEdit.Hide() End Sub End Class ... Dùng cho tham số compare vbUseCompareOption = –1 : Chế độ tùy chọn, VB tự động lựa lọai liệu thích hợp vbBinaryCompare = : So sánh nhị phân vbTextCompare = : So sánh chuỗi vbDatabaseCompare = :... 1(Expression) chuỗi xác định tham số 2(Find) thay chuỗi đặt tham số 3(Replace) Ba tham số lại tùy chọn Start qui định vị trí bắt đầu tìm chuỗi cần thay, bỏ wa mặc định la Count qui định số lần thay chuỗi, ... string, Start as Long, Compare) ‘ chức InStr InStrRev hoạt động ngược lại từ cuối chuỗi cú pháp khác Cả hai hàm hàm tìm kiếm nhạy ký tự nên cần ý chữ thường chữ HOA InStrRev thường kết hơp với

Ngày đăng: 25/06/2017, 17:06

TỪ KHÓA LIÊN QUAN

w