Friday, October 23, 2009

Getting all machines in LAN using VB.NET

Drag one list box and name it as LBox
In form load write the below code

Dim childEntry As DirectoryEntry
Dim ParentEntry As New DirectoryEntry
Try
ParentEntry.Path = "WinNT:"
For Each childEntry In ParentEntry.Children
Select Case childEntry.SchemaClassName
Case "Domain"

Dim SubChildEntry As DirectoryEntry
Dim SubParentEntry As New DirectoryEntry
SubParentEntry.Path = "WinNT://" & childEntry.Name
For Each SubChildEntry In SubParentEntry.Children

Select Case SubChildEntry.SchemaClassName
Case "Computer"
LBox.Items.Add(SubChildEntry.Name)
End Select
Next
End Select
Next
Catch Excep As Exception
MsgBox("Error While Reading Directories")
Finally
ParentEntry = Nothing
End Try


On listbox changed write the below code to get the ip address

Try
Dim IPHEntry As Net.IPHostEntry
Dim IPAdd() As Net.IPAddress

Dim localHost As String
localHost = Dns.GetHostName()
IPHEntry = Dns.GetHostByName(LBox.SelectedItem.ToString())
IPAdd = IPHEntry.AddressList
Dim i As Integer

For i = 0 To IPAdd.GetUpperBound(0)

'Console.Write("IP Address {0}: {1} ", i, IPAdd(i).ToString)
MessageBox.Show(IPAdd(i).ToString)
'txtIp.Text = IPAdd(i).ToString
Next


Catch ex As Exception
MessageBox.Show(ex.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error)
End Try

Function to export DataTable to csv File

public void CreateCSVFile(DataTable dt, string strFilePath)
{
try
{
// Create the CSV file to which grid data will be exported.

StreamWriter sw = new StreamWriter(strFilePath, false);

int iColCount = dt.Columns.Count;

foreach (DataRow dr in dt.Rows)
{
for (int i = 0; i < iColCount-2; i++)
{
if (!Convert.IsDBNull(dr[i]))
{
sw.Write(dr[i].ToString());
}

if (i < iColCount - 1)
{
sw.Write(",");
}

}

sw.Write(sw.NewLine);

}
sw.Close();
}
catch (Exception ex)
{
MessageBox.Show(ex.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
}

}

Monday, August 3, 2009

Uploading files to FTP using .NET

public void Upload(string filename, string host, string username, string password)
{
FileInfo fileInf = new FileInfo(filename);
string uri = "ftp://" + host + "/" + fileInf.Name;
FtpWebRequest reqFTP = default(FtpWebRequest);

// Create FtpWebRequest object from the Uri provided
reqFTP = (FtpWebRequest)FtpWebRequest.Create(new Uri("ftp://" + host + "/" + fileInf.Name));

// Provide the WebPermission Credintials
reqFTP.Credentials = new NetworkCredential(username, password);

// By default KeepAlive is true, where the control connection is not closed
// after a command is executed.
reqFTP.KeepAlive = false;

// Specify the command to be executed.
reqFTP.Method = WebRequestMethods.Ftp.UploadFile;

// Specify the data transfer type.
reqFTP.UseBinary = true;

// Notify the server about the size of the uploaded file
reqFTP.ContentLength = fileInf.Length;

// The buffer size is set to 2kb
int buffLength = 2048;
byte[] buff = new byte[buffLength];
int contentLen = 0;

// Opens a file stream (System.IO.FileStream) to read the file to be uploaded
FileStream fs = fileInf.OpenRead();

try
{
// Stream to which the file to be upload is written
Stream strm = reqFTP.GetRequestStream();

// Read from the file stream 2kb at a time
contentLen = fs.Read(buff, 0, buffLength);

// Till Stream content ends
while (contentLen != 0)
{
// Write Content from the file stream to the FTP Upload Stream
strm.Write(buff, 0, contentLen);
contentLen = fs.Read(buff, 0, buffLength);
}

// Close the file stream and the Request Stream
strm.Close();
fs.Close();


}

catch (Exception ex)
{
MessageBox.Show(ex.Message, "Upload Error");
}
}

Use the above function with appropriate values

Downloading files from FTP using .NET

public void Download(string filePath, string fileName, string host, string username, string password)
{
FtpWebRequest reqFTP;

try
{
//filePath: The full path where the file is to be created.
//fileName: Name of the file to be createdNeed not name on
// the FTP server. name name()
FileStream outputStream = new FileStream(filePath + "\\" + fileName, FileMode.Create);

reqFTP = (FtpWebRequest)FtpWebRequest.Create(new Uri("ftp://" + host + "/" + fileName));
reqFTP.Method = WebRequestMethods.Ftp.DownloadFile;
reqFTP.UseBinary = true;
reqFTP.Credentials = new NetworkCredential(username, password);
FtpWebResponse response = (FtpWebResponse)reqFTP.GetResponse();
Stream ftpStream = response.GetResponseStream();
long cl = response.ContentLength;
int bufferSize = 2048;
int readCount;
byte[] buffer = new byte[bufferSize];

readCount = ftpStream.Read(buffer, 0, bufferSize);
while (readCount > 0)
{
outputStream.Write(buffer, 0, readCount);
readCount = ftpStream.Read(buffer, 0, bufferSize);
}

ftpStream.Close();
outputStream.Close();
response.Close();
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
}


Call this above function with appropriate parameter values

Converting hours to TimeSpan in .NET

double hour=3.5;
TimeSpan time = new TimeSpan(hour*TimeSpan.TicksPerHour);

Wednesday, July 15, 2009

Multiple line in C# .NET

string str = @" hello..
This is a
multi line content";

Sending Mail in .NET 2.0

try
{

System.Net.Mail.MailMessage obj = new System.Net.Mail.MailMessage();

String message =@ "Hello
";

// for sending html contents
obj.IsBodyHtml = true;

obj.BodyEncoding = System.Text.Encoding.UTF8;
obj.Subject = txtNature.Text ;
obj.From = new System.Net.Mail.MailAddress("From Address");
obj.To.Add("To Address")
obj.Body = message;

System.Net.Mail.SmtpClient cli = new System.Net.Mail.SmtpClient();
cli.Host = "host IP or host address";//can give localhost
cli.Send(obj);

}
catch (Exception ex)
{
}