Author: joe

Compare Files

This example illustrates how to compare two files.

Imports System.IO
Imports System.Security.Cryptography

Public Class Form1

Private Sub Form1_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load

If CompareFiles("C:\Temp\2filecopy.bat", "C:\Temp\4filecopy.bat") = True Then
  MsgBox("The same")
Else
  MsgBox("Different")
End If

  End
End Sub

Public Function CompareFiles(ByVal FileFullPath1 As String, ByVal FileFullPath2 As String) As Boolean
'returns true if two files passed to is are identical, false otherwise
'does byte comparison; works for both text and binary files

'Throws exception on errors; you can change to just return 
'false if you prefer

Dim objMD5 As New MD5CryptoServiceProvider()
Dim objEncoding As New System.Text.ASCIIEncoding()
Dim aFile1() As Byte, aFile2() As Byte
Dim strContents1, strContents2 As String
Dim objReader As StreamReader
Dim objFS As FileStream
Dim bAns As Boolean

'If Not File.Exists(FileFullPath1) Then _
' Throw New Exception(FileFullPath1 & " doesn't exist")
'If Not File.Exists(FileFullPath2) Then _
' Throw New Exception(FileFullPath2 & " doesn't exist")

If Not File.Exists(FileFullPath1) Or Not File.Exists(FileFullPath2) Then
  Return False
  Exit Function
End If

Try
  objFS = New FileStream(FileFullPath1, FileMode.Open)
  objReader = New StreamReader(objFS)
  aFile1 = objEncoding.GetBytes(objReader.ReadToEnd)
  strContents1 = _
  objEncoding.GetString(objMD5.ComputeHash(aFile1))
  objReader.Close()
  objFS.Close()

  objFS = New FileStream(FileFullPath2, FileMode.Open)
  objReader = New StreamReader(objFS)
  aFile2 = objEncoding.GetBytes(objReader.ReadToEnd)
  strContents2 = _
  objEncoding.GetString(objMD5.ComputeHash(aFile2))

  bAns = strContents1 = strContents2
  objReader.Close()
  objFS.Close()
  aFile1 = Nothing
  aFile2 = Nothing

Catch ex As Exception
  Throw ex
End Try

Return bAns
End Function
End Class

SQL replace string in a field

The example replaces the string height=”480″ with the string height=”320″.

UPDATE Blog
SET myPost = REPLACE(CAST(myPost AS varchar(MAX)),’height=”480″‘, ‘height=”320″‘)
FROM Blog
WHERE CHARINDEX(‘height=”480″‘,CAST(myPost as varchar(MAX)))>0
AND myKey=2469

AutoTab to Next Field

Private Sub txtIP3_TextChanged(sender As Object, e As EventArgs)
Handles txtIP3.TextChanged

If txtIP3.Text.Length = txtIP3.MaxLength _
  Then SelectNextControl(ActiveControl, True, True, True, True)

End Sub

Reverse DNS IP Address Lookup

This example illustrates how to get the machine name from an IP address using a reverse DNS lookup.

Imports System
Imports System.Net

Public Class Form1

Private Sub Form1_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load
Dim arr() As String
Dim WS As String = “”

Dim addr As IPAddress = IPAddress.Parse(“155.110.10.65”)
Dim entry As IPHostEntry = Dns.GetHostEntry(addr)
Console.WriteLine(entry.HostName)

arr = Split(entry.HostName, “.”)
WS = arr(0)
Console.WriteLine(WS)

End
End Sub
End Class

Start/Stop/Query Service in VB.NET

Imports System.ServiceProcess

Public Class Form1

Private Sub btnQueryBES_Click(sender As System.Object, e As System.EventArgs) Handles btnQueryBES.Click
 Dim txt As String = "besclient" & SC(txtIPAddress.Text, "besclient", "query")
End Sub
Private Sub btnStartBES_Click(sender As System.Object, e As System.EventArgs) Handles btnStartBES.Click
 Dim txt As String = "besclient" & SC(txtIPAddress.Text, "besclient", "start")
End Sub
Private Sub btnStopBES_Click(sender As System.Object, e As System.EventArgs) Handles btnStopBES.Click
 Dim txt As String = "besclient" & SC(txtIPAddress.Text, "besclient", "stop")
End Sub
Function SC(MachineName As String, ServiceName As String, cmd As String) As String
 Dim txt As String = ""
 Dim TermService As New System.ServiceProcess.ServiceController(ServiceName, MachineName)

Select Case LCase(cmd)
 Case "start"
 TermService.Start()
 Case "stop"
 TermService.Stop()
 Case Else
 End Select

Select Case LCase(TermService.Status)
 Case "1"
 txt = " stopped"
 Case "2"
 txt = " starting"
 Case "3"
 txt = " stop pending"
 Case "4"
 txt = " running"
 Case Else
 txt = " undetermined"
 End Select

Return txt
 End Function

End Class