Thursday, October 8, 2009

Simple Delay Function Using VB.Net

Simple Delay Function Using VB.Net

Private Sub Delay(ByVal ms As Integer)
Dim time As Integer = Environment.TickCount
Do While (True)
If Environment.TickCount - time >= ms Then
Exit Do
End If
Loop
End Sub

Happy Coding!

Sunday, September 27, 2009

To Write and Save a Text File in Asp.Net 2.0

In this post I will show u the simple code snippet to write and save a text file in specific folder in asp.net using vb code


Public Sub WriteTextandSaveFile()

Dim fs As FileStream = Nothing
Dim sw As StreamWriter = Nothing

Try
fs = New FileStream("D:\Sample\Sample1.txt", FileMode.Create, FileAccess.Write)
sw = New StreamWriter(fs)
sw.WriteLine("This is Sample text")

Catch ex As Exception

Finally
sw.Close()
fs.Close()
sw.Dispose()
fs.Dispose()
End Try


End Sub


never regret anything, if it was good, its wonderful, if it was bad, its experience!

Wednesday, September 16, 2009

Simple File Watcher Program using Vb.Net 2.0

I will show you how to watch file’s activities in a folder and log it, say if a text file is created, changed, deleted etc in specific folder that will be logged in separated text file

First Create a Folder of your own name in your specified path,

In D drive create a folder WatchFolder so the path would be D:\WatchFolder
In D drive create another folder Logs and inside the Log Folder Create Log.txt so the path would be like this D:\Logs\Log.txt

Now create a Project

File-> New Project -> WindowsApplication1 - OK!

In the left side toolbox pan drag and drop FileSystemWatcher control to the Form

Create Two Buttons Button1 and Button 2 in the Form

Change the Text of Button1 as Start Watch and Change the Text of Button2 as Stop Watch

And Write the Code as Follows



Imports System.IO

Public Class Form1

Private Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button1.Click
FileSystemWatcher1.Path = "D:/WatchFolder"
MsgBox("Started Watching Folder")
End Sub

Private Sub Button2_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button2.Click
FileSystemWatcher1.Dispose()
MsgBox("Stopped Watching Folder")
End Sub

Private Sub FileSystemWatcher1_Changed(ByVal sender As Object, ByVal e As System.IO.FileSystemEventArgs) Handles FileSystemWatcher1.Changed
WriteLog(e.Name + " Changed")
End Sub

Private Sub FileSystemWatcher1_Created(ByVal sender As Object, ByVal e As System.IO.FileSystemEventArgs) Handles FileSystemWatcher1.Created
WriteLog(e.Name + " Created")
End Sub

Private Sub FileSystemWatcher1_Deleted(ByVal sender As Object, ByVal e As System.IO.FileSystemEventArgs) Handles FileSystemWatcher1.Deleted
WriteLog(e.Name + " Deleted")
End Sub

Private Sub WriteLog(ByVal strMsg As String)
Dim fs As FileStream = New FileStream("D:\WatchFolder\Logs\Log.txt", FileMode.Append, FileAccess.Write)
Dim m_streamWriter As StreamWriter = New StreamWriter(fs)
m_streamWriter.BaseStream.Seek(0, SeekOrigin.End)
m_streamWriter.WriteLine(Now.ToString() & " ::==> " & strMsg & Constants.vbLf)
m_streamWriter.Flush()

fs.Close()

fs.Dispose()
End Sub


End Class



Test Results Were Extremely Gratifying, We're surprised the stupid thing works.

Thursday, August 13, 2009

Master Detail Group Report Using Crystal Report XI



Report generation Plays a Major Role in Application Project, So I will show you how create a simple report using Crystal Report XI


Say Table A --> Describes the student Details


Table A
Student Id (Primary Key)
Student Name
Student Class




Say Table B --> Describes the Student Fees Paid Details


Table B
Paid Id (Primary Key)
Student Id (Foreign Key)
Paid Amount
Paid Date

Table B will have multiple Entries for Single Entry of Table A


I will Explain Step by Step Method to display in the Crystal Report XI


Step 1: Open Crystal Report XI
Step 2: File-> New-> Standard Report
Step 3: Create New Connection-> OLE DB (ADO) -> Microsoft OLE DB Provider for Oracle
I have mentioned for Oracle Provider, you can select your own data source
Step 4: Service: Server Name; UserId: Username; Password: Password of the server
Step 5: Select the Two Tables from Left Side Pan of Available Data source and Move to Right Side
Step 6: Click Next
Step 7: You will see two tables in the Report Creation Wizard, Now Select the Primary Key of Table A and Drag to Table B’s Foreign Key
Step 8: Select the Line/Link of the two tables and Right Click it Select Link Option
Step 9: Select the Radio Button of Left Outer Join and Press Ok button
Step 10: Click Finish Button
Step 11: Select from Menu Insert-> Group Select the Primary Key of Table A and Select Ascending Order and Press Ok Button
Now you can see Detail Section below Group Section
Step 12: Now place the Table A Details in Group Header Section and Place the Table B Details in Details Section



If you preview, you can see the Table B Details of Every Record of Table A
And you can filter by record selection formula.



Happy To Share!




Monday, August 10, 2009

To Select All Checkboxes in Grid View Using JavaScript

In this I have given simple tip to select all the check boxes in the template field of a gridview
Using JavaScript,

Place the JavaScript where the gridview you have to bind

JavaScript in the Page

<script type="text/javascript" language="javascript">
function fncheckAll()
{
var eleChk=event.srcElement;
var eleTbody=eleChk.parentNode.parentNode.parentNode;
var i=1;
for(i=1;i<eleTbody.children.length;i++)
eleTbody.children[i].children[2].children[0].checked=eleChk.checked;
}
</script>


Grid View

<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" >
<Columns>
<asp:BoundField DataField="CustomerName" HeaderText="Name" />
<asp:BoundField DataField="CustomerAge" HeaderText="Age" />
<asp:TemplateField>
<HeaderTemplate>
<asp:CheckBox ID="chkSelectAll" runat="server" />
</HeaderTemplate>
<ItemTemplate>
<asp:CheckBox ID="chkId" runat="server" />
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>


Code Behind

Protected Sub GridView1_RowDataBound(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewRowEventArgs) Handles GridView1.RowDataBound
If e.Row.RowType = DataControlRowType.Header Then
CType(e.Row.Cells(2).FindControl("chkSelectAll"), CheckBox).Attributes.Add("onclick", "fncheckAll()")
End If
End Sub

Close Project Coordination -We know who to blame.

Sunday, August 9, 2009

Validating a Textbox in Grid View Using JavaScript

In this post I will show you how to validate a textbox placed in template field of grid view
Say for eg, we have grid view listing Currency and Exchange rate
Where the exchange is in textbox field where you the user can change it
Now we will validate for the currency

If the Currency Code is USD then the exchange rate should not be less that of 3.665

<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" >
<Columns>
<asp:BoundField DataField="Currency" HeaderText="Currency" />
<asp:TemplateField HeaderText="Exchg Rate" >
<ItemTemplate>
<asp:TextBox ID="txtExchgRate" runat="server" ></asp:TextBox>
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>



Code Behind

Protected Sub GridView1_RowDataBound(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewRowEventArgs) Handles GridView1.RowDataBound

If e.Row.RowType = DataControlRowType.DataRow Then

If e.Row.Cells(0).Text = "USD" Then
CType(e.Row.Cells(1).FindControl("txtExchgRate"), TextBox).Attributes.Add("onblur", "fnValUSDExchg(this)")
End If

End If

End Sub


JavaScript Function

<script language="javascript" type="text/javascript">

function fnValUSDExchg(txtbox)
{
if (txtbox.value<=3.665)
txtbox.value=3.665;
}
</script>

Low Maintenance - Impossible to fix if broken.