tag:blogger.com,1999:blog-5312776899138023872024-03-14T03:27:41.872-07:00Windows Forms ProgrammingWindows Form Programming
User Controls
Custom Controls
c# code snippets
c# vb.net TutorialsUnknownnoreply@blogger.comBlogger99125tag:blogger.com,1999:blog-531277689913802387.post-8653716053423391122014-05-19T01:25:00.001-07:002014-05-19T01:25:35.808-07:00Boxing and Unboxing<div dir="ltr" style="text-align: left;" trbidi="on">
<br />
<b>Boxing </b>: <span style="color: #2a2a2a; font-family: 'Segoe UI', 'Lucida Grande', Verdana, Arial, Helvetica, sans-serif; font-size: 13.333333015441895px; line-height: 18px;">Boxing is the process of converting a </span><a href="http://msdn.microsoft.com/en-us/library/s1ax56ch.aspx" style="color: #03697a; font-family: 'Segoe UI', 'Lucida Grande', Verdana, Arial, Helvetica, sans-serif; font-size: 13.333333015441895px; line-height: 18px; text-decoration: none;">value type</a><span style="color: #2a2a2a; font-family: 'Segoe UI', 'Lucida Grande', Verdana, Arial, Helvetica, sans-serif; font-size: 13.333333015441895px; line-height: 18px;"> to the type </span><span style="color: #2a2a2a; font-family: 'Segoe UI', 'Lucida Grande', Verdana, Arial, Helvetica, sans-serif; font-size: 13.333333015441895px; line-height: 18px;"><span class="input" style="font-weight: 700;">object</span></span><span style="color: #2a2a2a; font-family: 'Segoe UI', 'Lucida Grande', Verdana, Arial, Helvetica, sans-serif; font-size: 13.333333015441895px; line-height: 18px;"> or to any interface type implemented by this value type. Refer <a href="http://msdn.microsoft.com/en-us/library/yz2be5wk.aspx">MSDN</a></span><br />
<br />
Boxing will take Variable from Stack (Value types) and store it into Heap (Object type)<br />
<br />
Boxing is implicit. There is no need to type cast the value type to Object Type.<br />
<br />
<pre class="brush: csharp">Example:
String mystr = "Welcome to C# boxing";
Object myObj = mystr; // Implicit conversion of String to Object
</pre>
<br />
<b>Unboxing</b>: It's the reverse of boxing. It needs to be done explicitly by user.<br />
<br />
<pre class="brush: csharp">Example:
String mystr = "Welcome to C# boxing";
Object myObj = mystr; // Implicit conversion of String to Object
String mystr2 = (String) myObj; // Explicit conversion from Object to String
</pre>
<br /></div>
Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-531277689913802387.post-57253256719036943222011-06-30T03:49:00.000-07:002011-06-30T03:49:02.256-07:00Automatic ListView Grouping<div dir="ltr" style="text-align: left;" trbidi="on"><br />
Lets say you have lots of data your listview. Now you want to Group This data According to a Perticular Subitems.<br />
<br />
<b>For Example:</b><br />
<br />
Suppose i have some books data in my ListView.<br />
this listview items contains Author name and Books Title.<br />
<br />
And there are 2000 Books in list view.<br />
<br />
Now i want to group the data in listview according to the Authors.<br />
<br />
Now lets say there are 50 Unique Authors , meaning we will have to create 50 Groups in listview.<br />
<br />
this seem hectic, and i dont know if there is any inbuilt function to automatically group this items, but i have created mine To automatically do the above.<br />
<br />
Hope it becomes usefull to someone.<br />
<br />
<b>Code:</b><br />
<br />
<pre class="brush: csharp">public void GroupListView(ListView lstV, int SubItemIndex)
{
bool flag = true;
foreach (ListViewItem l in lstV.Items)
{
string strmyGroupname = l.SubItems[SubItemIndex].Text;
foreach (ListViewGroup lvg in lstV.Groups)
{
if (lvg.Name == strmyGroupname)
{
l.Group = lvg;
flag = false;
}
}
if (flag == true)
{
ListViewGroup lstGrp = new ListViewGroup(strmyGroupname, strmyGroupname);
lstV.Groups.Add(lstGrp);
l.Group = lstGrp;
}
flag = true;
}
}
</pre><br />
<b>How To Use The Code:</b><br />
<br />
Lets say the author's sub item's index is 1 and listview name is LstBooks<br />
<br />
then call the function like:<br />
<pre class="brush: csharp">GroupListView(LstBooks,1);
</pre><br />
<br />
<b>Vb.net Version:</b><br />
<br />
<pre class="brush: vbnet">Public Sub GroupListView(ByVal lstV As ListView, ByVal SubItemIndex As Int16)
Dim flag As Boolean = True
For Each l As ListViewItem In lstV.Items
Dim strmyGroupname As String = l.SubItems(SubItemIndex).Text
For Each lvg As ListViewGroup In lstV.Groups
If lvg.Name = strmyGroupname Then
l.Group = lvg
flag = False
End If
Next
If flag = True Then
Dim lstGrp As New ListViewGroup(strmyGroupname, strmyGroupname)
lstV.Groups.Add(lstGrp)
l.Group = lstGrp
End If
flag = True
Next
End Sub
</pre><br />
<b>Output:</b><br />
<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhZLPsx3TKOrEkHFZRmba-0skoI_7iuFCOs_u2HDhucBN0olraRzjfkuBTkcbRVLVkgqpjU2pIcB6chCeNnwzh7fIlhmuLNHgOm9hKsVPYZNZzA-OqUYSDEIZaQLAiDTFRjQltg9W8O1CSk/s1600/listgroup.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="295" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhZLPsx3TKOrEkHFZRmba-0skoI_7iuFCOs_u2HDhucBN0olraRzjfkuBTkcbRVLVkgqpjU2pIcB6chCeNnwzh7fIlhmuLNHgOm9hKsVPYZNZzA-OqUYSDEIZaQLAiDTFRjQltg9W8O1CSk/s400/listgroup.PNG" width="400" /></a></div><br />
<br />
<br />
</div>Unknownnoreply@blogger.com3tag:blogger.com,1999:blog-531277689913802387.post-53780361361936678762011-06-22T00:10:00.000-07:002011-06-22T00:10:42.490-07:00Auto Increment Invoice Number For Vb.net<div dir="ltr" style="text-align: left;" trbidi="on">Let's say you have some invoice numbers which contains Alphabets as well as numeric number.<br />
And you want to increment it one by one.<br />
<br />
For Example:<br />
<br />
if Invoice number is "AZ99999999" then Next Invoice Number will be "BA00000001"<br />
<br />
Notice here that , the invoice number's lenght is 10 Characters out of which first 2 are Alphabets and the rest (8) are Numeric. invoice number can be of any digit with any combination of numerics and alphabets.<br />
<br />
The function can be changed to your need very easily. but here i will demonstate for the above example.<br />
<br />
<b>Function:</b><br />
<pre class="brush: vbnet">Public Function IncrementInvoice(ByVal strInvoiceNumber As String) As String
If strInvoiceNumber.Length <> 10 Then
Return "Error"
End If
Dim strAlphaPart(1) As Char
strAlphaPart(0) = strInvoiceNumber(0)
strAlphaPart(1) = strInvoiceNumber(1)
Dim IntPart As Int64
IntPart = strInvoiceNumber.Substring(2, 8)
If IntPart = 99999999 Then
If strAlphaPart(1) = "Z" Then
strAlphaPart(0) = Chr(Asc(strAlphaPart(0)) + 1)
strAlphaPart(1) = "A"
IntPart = 1
Return strAlphaPart(0) & strAlphaPart(1) & IntPart.ToString.PadLeft(8, "0")
Else
strAlphaPart(1) = Chr(Asc(strAlphaPart(1)) + 1)
End If
Else
IntPart += 1
Return strAlphaPart(0) & strAlphaPart(1) & IntPart.ToString.PadLeft(8, "0")
End If
End Function
</pre><br />
<br />
<b>Output:</b><br />
<blockquote>'outputs example:<br />
strTemp = IncrementInvoice("AA99999998") 'Output will be: "AA99999999"</blockquote><blockquote>strTemp = IncrementInvoice("AA00000005") 'Output will be: "AA00000006"</blockquote><blockquote>strTemp = IncrementInvoice("AZ00000007") 'Output will be: "AZ00000008"</blockquote><blockquote>strTemp = IncrementInvoice("AZ99999999") 'Output will be: "BA00000001"</blockquote><br />
<br />
<br />
</div>Unknownnoreply@blogger.com2tag:blogger.com,1999:blog-531277689913802387.post-7280038817323147072011-06-17T01:44:00.000-07:002011-06-17T01:44:21.731-07:00Linq To Sql - Example 1 : Where -1<div dir="ltr" style="text-align: left;" trbidi="on"><b>Linq Query:</b><br />
<br />
<pre class="brush: csharp">//Where -1
NorthWindDataContext NwDC = new NorthWindDataContext();
var cust =
from c in NwDC.Customers
where c.City.StartsWith("L")
select c;
foreach (var t in cust)
{
Console.WriteLine("Name: {0} , City : {1} ", t.ContactName, t.City);
}
//
</pre><br />
<br />
<b>Output:</b><br />
<br />
<blockquote>Name: Thomas Hardy , City : London<br />
Name: Christina Berglund , City : Luleå<br />
Name: Victoria Ashworth , City : London<br />
Name: Elizabeth Brown , City : London<br />
Name: Ann Devon , City : London<br />
Name: Martine Rancé , City : Lille<br />
Name: Lino Rodriguez , City : Lisboa<br />
Name: Alexander Feuer , City : Leipzig<br />
Name: Simon Crowther , City : London<br />
Name: Isabel de Castro , City : Lisboa<br />
Name: Hari Kumar , City : London<br />
Name: Art Braunschweiger , City : Lander<br />
Name: Mary Saveley , City : Lyon </blockquote><br />
<b>Sql Equivalent Query:</b><br />
<br />
<pre class="brush: sql">SELECT ContactName
, City
FROM dbo.Customers
WHERE city LIKE 'L%'
</pre><br />
Output:<br />
<br />
<blockquote>Thomas Hardy London<br />
Christina Berglund Luleå<br />
Victoria Ashworth London<br />
Elizabeth Brown London<br />
Ann Devon London<br />
Martine Rancé Lille<br />
Lino Rodriguez Lisboa<br />
Alexander Feuer Leipzig<br />
Simon Crowther London<br />
Isabel de Castro Lisboa<br />
Hari Kumar London<br />
Art Braunschweiger Lander<br />
Mary Saveley Lyon</blockquote><br />
<br />
<b>Explanation:</b> We are simply listing all the Customer who are living in the city name Staring With 'L' letter.<br />
<br />
For How to Setup Database and Linq to Sql Class Please follow the instructions here: <a href="http://winform-net.blogspot.com/2011/06/linq-to-sql-introduction-and-creating.html">Setting Up Linq to Sql Class</a></div>Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-531277689913802387.post-62004679674212778632011-06-16T04:20:00.000-07:002011-06-20T02:58:18.646-07:00Linq To Sql Introduction and Creating NorthWind Database<div dir="ltr" style="text-align: left;" trbidi="on"><div class="separator" style="clear: both; text-align: center;"></div><span class="Apple-style-span" style="font-family: 'Segoe UI', Verdana, Arial;">LINQ to SQL provides a runtime infrastructure for managing relational data as objects without losing the ability to query. Your application is free to manipulate the objects while LINQ to SQL stays in the background tracking your changes automatically.</span><br />
<span class="Apple-style-span" style="font-family: 'Segoe UI', Verdana, Arial;"><br />
</span><br />
<br />
<span class="Apple-style-span" style="font-family: 'Segoe UI', Verdana, Arial;"><b>Advantages L2S offers:</b></span><br />
<span class="Apple-style-span" style="font-family: 'Segoe UI', Verdana, Arial;"><br />
</span><br />
<span class="Apple-style-span" style="font-family: 'Segoe UI', Verdana, Arial;">No magic strings, like you have in SQL queries</span><br />
<span class="Apple-style-span" style="font-family: 'Segoe UI', Verdana, Arial;">Intellisense</span><br />
<span class="Apple-style-span" style="font-family: 'Segoe UI', Verdana, Arial;">Compile check when database changes</span><br />
<span class="Apple-style-span" style="font-family: 'Segoe UI', Verdana, Arial;">Faster development</span><br />
<span class="Apple-style-span" style="font-family: 'Segoe UI', Verdana, Arial;">Unit of work pattern (context)</span><br />
<span class="Apple-style-span" style="font-family: 'Segoe UI', Verdana, Arial;">Auto-generated domain objects that are usable small projects</span><br />
<span class="Apple-style-span" style="font-family: 'Segoe UI', Verdana, Arial;">Lazy loading.</span><br />
<span class="Apple-style-span" style="font-family: 'Segoe UI', Verdana, Arial;">Learning to write linq queries/lambdas is a must learn for .NET developers.</span><br />
<span class="Apple-style-span" style="font-family: 'Segoe UI', Verdana, Arial;"><br />
</span><br />
<span class="Apple-style-span" style="font-family: 'Segoe UI', Verdana, Arial;"><b>Regarding performance:</b></span><br />
<span class="Apple-style-span" style="font-family: 'Segoe UI', Verdana, Arial;">Most likely the performance is not going to be a problem in most solutions. To pre-optimize is an anti-pattern. If you later see that some areas of the application are to slow, you can analyze these parts, and in some cases even swap some linq queries with stored procedures or ADO.NET.</span><br />
<span class="Apple-style-span" style="font-family: 'Segoe UI', Verdana, Arial;">In many cases the lazy loading feature can speed up performance, or at least simplify the code a lot.</span><br />
<span class="Apple-style-span" style="font-family: 'Segoe UI', Verdana, Arial;"><br />
</span><br />
<span class="Apple-style-span" style="font-family: 'Segoe UI', Verdana, Arial;"><b>Regarding debuging:</b></span><br />
<span class="Apple-style-span" style="font-family: 'Segoe UI', Verdana, Arial;">In my opinion debuging Linq2Sql is much easier than both stored procedures and ADO.NET. I recommend that you take a look at Linq2Sql Debug Visualizer, which enables you to see the query, and even trigger an execute to see the result when debugging.</span><br />
<span class="Apple-style-span" style="font-family: 'Segoe UI', Verdana, Arial;">You can also configure the context to write all sql queries to the console window, more information here</span><br />
<span class="Apple-style-span" style="font-family: 'Segoe UI', Verdana, Arial;"><br />
</span><br />
<span class="Apple-style-span" style="font-family: 'Segoe UI', Verdana, Arial;"><b>Regarding another layer:</b></span><br />
<span class="Apple-style-span" style="font-family: 'Segoe UI', Verdana, Arial;">Linq2Sql can be seen as another layer, but it is a purely data access layer. Stored procedures is also another layer of code, and I have seen many cases where part of the business logic has been implemented into stored procedures. This is much worse in my opinion because you are then splitting the business layer into two places, and it will be harder for developers to get a clear view of the business domain.</span><br />
<span class="Apple-style-span" style="font-family: 'Segoe UI', Verdana, Arial;"><br />
</span><br />
<span class="Apple-style-span" style="font-family: 'Segoe UI', Verdana, Arial;"><br />
</span><br />
<span class="Apple-style-span" style="font-family: 'Segoe UI', Verdana, Arial;">For Linq to Sql Session we will be working on Sql 's Northwind Database. </span><br />
<span class="Apple-style-span" style="font-family: 'Segoe UI', Verdana, Arial;"><br />
</span><br />
<span class="Apple-style-span" style="font-family: 'Segoe UI', Verdana, Arial;">Creating The Northwind Database:</span><br />
<span class="Apple-style-span" style="font-family: 'Segoe UI', Verdana, Arial;">You can Download The database from here: <a href="http://www.microsoft.com/downloads/en/details.aspx?familyid=06616212-0356-46a0-8da2-eebc53a68034&displaylang=en">NorthWind</a> </span><br />
<span class="Apple-style-span" style="font-family: 'Segoe UI', Verdana, Arial;"><br />
</span><br />
<span class="Apple-style-span" style="font-family: 'Segoe UI', Verdana, Arial;">The Complete backup of Northwind database: <a href="http://www.box.net/shared/icokx7nbysq5egba5gsr">Northwind</a></span><br />
<br />
Now Next thing is to Create a New LINQ to SQL Data Model.<br />
For all the Next Examples you will need This Class.<br />
<br />
1. Create a New Project Name is LinqToSqlExample.<br />
2. Now Go To Project -> Add New Item and Add a Linq To Sql File and Name it NorthWind.<br />
<br />
<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgPWQGlUjh6xlFlMjDnjhcWv1rCdG1xqF94h1_lMZX-Gv_oKM3qHIxAvwil-DRcUnmgvdHuuCZUeRtKTc0HprzX_8F0xdZt2g566m00vKESYV6dd8ndaMH-6Zu2TwDxm2twYt3u9xHkFVtS/s1600/add+new+item.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="247" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgPWQGlUjh6xlFlMjDnjhcWv1rCdG1xqF94h1_lMZX-Gv_oKM3qHIxAvwil-DRcUnmgvdHuuCZUeRtKTc0HprzX_8F0xdZt2g566m00vKESYV6dd8ndaMH-6Zu2TwDxm2twYt3u9xHkFVtS/s400/add+new+item.PNG" width="400" /></a></div><br />
3. You will see a screen like below.<br />
<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhTmAeK55wlNjyv13YP4RZFxjwzNoYj8hv5OI86sMCuPhmpqvgH0mntyPqpF4DuGek7aKmrA5ZP7ldc9Q2jh2O63DtAIHzj2tsn7ZbjpqQJ1pFwzl7wqxmnAGoAsBZBKpT67HysU0yompdP/s1600/blank.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="162" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhTmAeK55wlNjyv13YP4RZFxjwzNoYj8hv5OI86sMCuPhmpqvgH0mntyPqpF4DuGek7aKmrA5ZP7ldc9Q2jh2O63DtAIHzj2tsn7ZbjpqQJ1pFwzl7wqxmnAGoAsBZBKpT67HysU0yompdP/s400/blank.PNG" width="400" /></a></div><br />
<br />
Now we will add a Data Connection as shown in above figure in left pane.<br />
<br />
<br />
<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjCxwf9e1pruKVWteXFBsvAZVSIcr8JcV8SEGFWo9CC4arpJcXse6LyBivaPYWzFw09VmikyaX_GsxvC6Fi9913F72g-F-MXQKWy67tkVSsoscu7lp7n93cTEqWyaTzhazJ4DZDuixebF3v/s1600/add+conn.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="147" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjCxwf9e1pruKVWteXFBsvAZVSIcr8JcV8SEGFWo9CC4arpJcXse6LyBivaPYWzFw09VmikyaX_GsxvC6Fi9913F72g-F-MXQKWy67tkVSsoscu7lp7n93cTEqWyaTzhazJ4DZDuixebF3v/s320/add+conn.PNG" width="320" /></a></div><br />
Select Add Connection.. And you will see below screen.<br />
<br />
<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgY3rnE1KrMVjlsNuJ126OOVQ0aRB2iTsAfXZb11C3rXVGcPfd-28b48gUgF0HxcneFWAAGEo2purEPsQG8pGJvIfWBvIk0JMnAR0qgreKAD6Kjh1J4uBAkCN4y5TMy5kHWrLdaG4nnZxpG/s1600/add+conn+2.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="283" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgY3rnE1KrMVjlsNuJ126OOVQ0aRB2iTsAfXZb11C3rXVGcPfd-28b48gUgF0HxcneFWAAGEo2purEPsQG8pGJvIfWBvIk0JMnAR0qgreKAD6Kjh1J4uBAkCN4y5TMy5kHWrLdaG4nnZxpG/s320/add+conn+2.PNG" width="320" /></a></div><br />
<br />
<div class="separator" style="clear: both; text-align: center;"></div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhwABWhMel7-R0e86JE7bAHodv-6WGhprrQu61SbWwxbMeHUNxxf6BfaYfJHw9LdBenc327y6ryDPCPbkuPsP1MjvNmvd_fDofWJxqah2FQaOvaishqIaEM9unafiMYZDpM_45TVcC0OyOr/s1600/add+conn3.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="279" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhwABWhMel7-R0e86JE7bAHodv-6WGhprrQu61SbWwxbMeHUNxxf6BfaYfJHw9LdBenc327y6ryDPCPbkuPsP1MjvNmvd_fDofWJxqah2FQaOvaishqIaEM9unafiMYZDpM_45TVcC0OyOr/s320/add+conn3.PNG" width="320" /></a></div><br />
<br />
Press ok and you will see below screen.<br />
<br />
<div class="separator" style="clear: both; text-align: center;"></div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhlnnP6b2_VJiLApopkDrI6hI0ma85T7_JhmMXxGm1WBP-rGJ6-IYIaHK9bRlHkmItPJ_x_eRWVOrzm_KqN2t7rIcdH04VPSN7cBCB6w2v8u_fOfOwYz2AXZCdbRLO4qwCDZI23gh3E6keV/s1600/add+conn+4.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="173" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhlnnP6b2_VJiLApopkDrI6hI0ma85T7_JhmMXxGm1WBP-rGJ6-IYIaHK9bRlHkmItPJ_x_eRWVOrzm_KqN2t7rIcdH04VPSN7cBCB6w2v8u_fOfOwYz2AXZCdbRLO4qwCDZI23gh3E6keV/s400/add+conn+4.PNG" width="400" /></a></div><br />
<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjMq0RRvM-xWckB-Y55as7GBSxGtvB7PyMZjqvHLUjLL5OV8jZzuEIorLzbO4PHXYUhN-PZb7umjvYwfMO4PxQmxWnfcqoRegqrA0fGZ7NHh_VIR3Knfx_Wdw0wi60iY5Xy1pBGPkBUS_1f/s1600/add+conn+5.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="239" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjMq0RRvM-xWckB-Y55as7GBSxGtvB7PyMZjqvHLUjLL5OV8jZzuEIorLzbO4PHXYUhN-PZb7umjvYwfMO4PxQmxWnfcqoRegqrA0fGZ7NHh_VIR3Knfx_Wdw0wi60iY5Xy1pBGPkBUS_1f/s320/add+conn+5.PNG" width="320" /></a></div><br />
<div class="separator" style="clear: both; text-align: center;"></div><br />
And now our class is created . we will be using this in our next examples.</div>Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-531277689913802387.post-49326041750917024192011-06-16T02:38:00.000-07:002011-06-16T02:38:38.596-07:00Dataset To Excel Export Function<div dir="ltr" style="text-align: left;" trbidi="on"><b>The Function:</b><br />
<br />
<pre class="brush: vbnet">Public Sub ExportDatasetToExcel(ByVal ds As DataSet, ByVal strExcelFile As String)
Dim conn As New OleDbConnection(String.Format("provider=Microsoft.Jet.OLEDB.4.0; Data Source='{0}';" & "Extended Properties='Excel 8.0;HDR=YES;'", strExcelFile))
conn.Open()
Dim strTableQ(ds.Tables.Count) As String
Dim i As Integer = 0
'making table query
For i = 0 To ds.Tables.Count - 1
strTableQ(i) = "CREATE TABLE [" & ds.Tables(i).TableName & "]("
Dim j As Integer = 0
For j = 0 To ds.Tables(i).Columns.Count - 1
Dim dCol As DataColumn
dCol = ds.Tables(i).Columns(j)
strTableQ(i) &= " [" & dCol.ColumnName & "] varchar(255) , "
Next
strTableQ(i) = strTableQ(i).Substring(0, strTableQ(i).Length - 2)
strTableQ(i) &= ")"
Dim cmd As New OleDbCommand(strTableQ(i), conn)
cmd.ExecuteNonQuery()
Next
'making insert query
Dim strInsertQ(ds.Tables.Count - 1) As String
For i = 0 To ds.Tables.Count - 1
strInsertQ(i) = "Insert Into " & ds.Tables(i).TableName & " Values ("
For k As Integer = 0 To ds.Tables(i).Columns.Count - 1
strInsertQ(i) &= "@" & ds.Tables(i).Columns(k).ColumnName & " , "
Next
strInsertQ(i) = strInsertQ(i).Substring(0, strInsertQ(i).Length - 2)
strInsertQ(i) &= ")"
Next
'Now inserting data
For i = 0 To ds.Tables.Count - 1
For j As Integer = 0 To ds.Tables(i).Rows.Count - 1
Dim cmd As New OleDbCommand(strInsertQ(i), conn)
For k As Integer = 0 To ds.Tables(i).Columns.Count - 1
cmd.Parameters.AddWithValue("@" & ds.Tables(i).Columns(k).ColumnName.ToString(), ds.Tables(i).Rows(j)(k).ToString())
Next
cmd.ExecuteNonQuery()
cmd.Parameters.Clear()
Next
Next
End Sub
</pre><br />
<br />
Let's say i have my.xls in D drive. i want to export a Dataset Name dsFinal to this excel file.<br />
<b>Use:</b><br />
<br />
<blockquote>ExportDatasetToExcel(dsFinal, "d:\\my.xls")</blockquote><br />
</div>Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-531277689913802387.post-17011751923203761122011-06-08T01:42:00.000-07:002011-06-08T01:42:46.642-07:00Listing Running Processes in c#.net<div dir="ltr" style="text-align: left;" trbidi="on"><b>1. </b>Add List box on a Forms.<br />
<b>2</b>. Now add a reference to <b>System.Diagnostics</b><br />
<b>Code:</b><br />
<b><br />
</b><br />
<br />
<pre class="brush: csharp">Process[] curProcesses = Process.GetProcesses();
foreach (Process p in curProcesses)
{
listBox1.Items.Add(p.ProcessName);
}
</pre><br />
<b>Output:</b><br />
<br />
<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjZFY4HqOwtkdQ1X_BFySDzb1_gdLPAjbMIbCWcFAb8-RYvw7t3iXtx3hknbE8vnecHQX81UOoktevykOh5-Ay9WPoM2oCWIp5w62sVI4nQSBVZf5doliZJ1H6txngEu7YItkGgp5TZ1XxS/s1600/process.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="273" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjZFY4HqOwtkdQ1X_BFySDzb1_gdLPAjbMIbCWcFAb8-RYvw7t3iXtx3hknbE8vnecHQX81UOoktevykOh5-Ay9WPoM2oCWIp5w62sVI4nQSBVZf5doliZJ1H6txngEu7YItkGgp5TZ1XxS/s400/process.PNG" width="400" /></a></div><br />
</div>Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-531277689913802387.post-2149122633207603862011-06-07T23:51:00.000-07:002011-06-07T23:51:14.452-07:00Linq Example 45 -SequenceEqual<div dir="ltr" style="text-align: left;" trbidi="on"><b>Linq Query:</b><br />
<br />
<pre class="brush: csharp">//EqualAll
string[] str1 = { "a", "b", "c" };
string[] str2 = { "a", "b", "c" };
bool IsEqual = str1.SequenceEqual(str2);
Console.WriteLine(IsEqual);
string[] str3 = { "a", "b", "c" };
string[] str4 = { "b", "c", "a" };
bool IsEqual1 = str3.SequenceEqual(str4);
Console.WriteLine(IsEqual1);
//
</pre><br />
<br />
<b>Output:</b><br />
<br />
<blockquote>True<br />
False</blockquote><br />
<b>Explanation:</b><br />
<b><br />
</b><br />
Both the arrays must be equal in sequence.<br />
<br />
</div>Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-531277689913802387.post-79532626839988750452011-06-07T23:48:00.000-07:002011-06-07T23:48:48.671-07:00Linq Example 44 - Concat<div dir="ltr" style="text-align: left;" trbidi="on"><b>Linq Query:</b><br />
<br />
<pre class="brush: csharp">//Concat
string[] str1 = { "a", "b", "c"};
string[] str2 = { "d", "e", "f" };
var allstr = str1.Concat(str2);
foreach (var t in allstr)
{
Console.WriteLine(t);
}
//
</pre><br />
<b>Output:</b><br />
<blockquote>a<br />
b<br />
c<br />
d<br />
e<br />
f</blockquote></div>Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-531277689913802387.post-35449097612672060342011-06-07T23:46:00.000-07:002011-06-07T23:46:11.968-07:00Linq Example 43 - Aggregate Seed<div dir="ltr" style="text-align: left;" trbidi="on"><b>Linq Query:</b><br />
<br />
<pre class="brush: csharp">//Aggregate Seed
double startBalance = 100.0;
int[] attemptedWithdrawals = { 20, 10, 40, 50, 10, 70, 30 };
double endBalance =
attemptedWithdrawals.Aggregate(startBalance, (Curbalance, nextWithdrawal) =>
((nextWithdrawal <= Curbalance) ? (Curbalance - nextWithdrawal) : Curbalance));
Console.WriteLine("Ending balance: {0}", endBalance);
//
</pre><b>Output: </b><br />
<blockquote>Ending balance: 20</blockquote><br />
<b>Explanation:</b><br />
<br />
<br />
This one is quite Tricky.<br />
<br />
We start From startBalance which is 100.<br />
<br />
Next we try to attempt to withdraw some amount from this 100. Our attemp amount is in attemptedWithdrawals array.<br />
<br />
First We attempt to Withdraw 20 . As ( 20 < 100 ) is true we Approve the Withdraw and now Our Balance is 100-20 = 80.<br />
<br />
Next We attempt to Withdraw 10 . As ( 10 < 80 ) is true we Approve the Withdraw and now Our Balance is 80-10 = 70.<br />
<br />
Next We attempt to Withdraw 40 . As ( 40 < 70 ) is true we Approve the Withdraw and now Our Balance is 70-40 = 30.<br />
<br />
Next We attempt to Withdraw 50 . As ( 50 is not less than 30 ) we wont Approve the Withdraw and now Our Balance is same as before = 30.<br />
<br />
Next We attempt to Withdraw 10 . As ( 10 < 30 ) is true we Approve the Withdraw and now Our Balance is 30-10 = 20.<br />
<br />
Next We attempt to Withdraw 70 . As ( 70 is not less than 20 ) we wont Approve the Withdraw and now Our Balance is same as before = 20.<br />
<br />
Next We attempt to Withdraw 30 . As ( 30 is not less than 20 ) we wont Approve the Withdraw and now Our Balance is same as before = 20.<br />
<br />
So the Final Balance is 20 stored in endBalance.<br />
</div>Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-531277689913802387.post-65385121380603620022011-06-07T23:38:00.000-07:002011-06-07T23:38:45.976-07:00Linq Example 42 - Aggregate<div dir="ltr" style="text-align: left;" trbidi="on"><b>Linq Query:</b><br />
<br />
<pre class="brush: csharp">//Aggregate
double[] doubles = { 1.7, 2.3, 1.9, 4.1, 2.9 };
double product = doubles.Aggregate((CurrentValue, NextValue) => CurrentValue * NextValue);
Console.WriteLine("Total product of all numbers: {0}", product);
//
</pre><br />
<b>Output:</b><br />
<blockquote>Total product of all numbers: 88.33081</blockquote><br />
</div>Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-531277689913802387.post-2496185990092506762011-06-07T23:27:00.000-07:002011-06-07T23:27:17.284-07:00Linq Example 41 - Average Projection<div dir="ltr" style="text-align: left;" trbidi="on"><b>Linq Query:</b><br />
<br />
<pre class="brush: csharp">//Average Projection
string[] words = { "GodOfWar", "CallOfDuty", "AssasinCreed" };
double avgWordLeng = words.Average(w => w.Length);
Console.WriteLine("Average word Length is {0} characters long.", avgWordLeng);
//
</pre><br />
<b>Output:</b><br />
<blockquote>Average word Length is 10 characters long.</blockquote></div>Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-531277689913802387.post-16488938939255535702011-06-07T23:25:00.000-07:002011-06-07T23:25:29.615-07:00Linq Example 40 - Average<div dir="ltr" style="text-align: left;" trbidi="on"><b>Linq Query:</b><br />
<br />
<pre class="brush: csharp">//Average
int[] myNumbers = { 5, 8, 6, 2, 1, 9, 4, 6 };
double avg = myNumbers.Average();
Console.WriteLine(avg);
//
</pre><br />
<b>Output:</b><br />
<blockquote>5.125</blockquote><br />
</div>Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-531277689913802387.post-49781356487951853572011-06-07T23:20:00.000-07:002011-06-07T23:20:00.946-07:00Linq Example 39 - Max Projection<div dir="ltr" style="text-align: left;" trbidi="on"><b>Linq Query:</b><br />
<br />
<pre class="brush: csharp">//
string[] words = { "GodOfWar", "CallOfDuty", "AssasinCreed" };
int LargestWord = words.Max(w => w.Length);
Console.WriteLine("The largest word is {0} characters long.", LargestWord);
//
</pre><br />
<b>Output:</b><br />
<blockquote>The largest word is 12 characters long.</blockquote><br />
</div>Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-531277689913802387.post-79082177032740895692011-06-07T23:18:00.000-07:002011-06-07T23:18:05.694-07:00Linq Example 38 - Max<div dir="ltr" style="text-align: left;" trbidi="on"><b>Linq Query:</b><br />
<br />
<pre class="brush: csharp">//Max
int[] myNumbers = { 5,8,6,2,1,9,4,6 };
int Max = myNumbers.Max();
Console.WriteLine(Max);
//
</pre><br />
<b>Output: </b><br />
<blockquote>9</blockquote></div>Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-531277689913802387.post-38914272979237224782011-06-07T23:14:00.000-07:002011-06-07T23:14:31.873-07:00Linq Example 37 - Min Projection<div dir="ltr" style="text-align: left;" trbidi="on"><b>Linq Query:</b><br />
<br />
<pre class="brush: csharp">// Min Projection
string[] words = { "GodOfWar", "CallOfDuty", "AssasinCreed" };
int shortestWord = words.Min(w => w.Length);
Console.WriteLine("The shortest word is {0} characters long.", shortestWord);
//
</pre><br />
<b>Output:</b><br />
<br />
<blockquote>The shortest word is 8 characters long.</blockquote><br />
</div>Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-531277689913802387.post-82728224251855929882011-06-07T02:29:00.000-07:002011-06-07T02:29:51.368-07:00Linq Example 36 - Min<div dir="ltr" style="text-align: left;" trbidi="on"><b>Linq Query:</b><br />
<br />
<pre class="brush: csharp">//Minimum
int[] intNumbers = { 1, 2, 3, 55, 99, 74, 102,0 };
int min = intNumbers.Min();
Console.WriteLine(min);
//
</pre><br />
<b>Output:</b><br />
<blockquote>0</blockquote></div>Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-531277689913802387.post-30644522451647393022011-06-07T02:25:00.000-07:002011-06-07T02:25:45.854-07:00Linq Example 35 - Sum Projection<div dir="ltr" style="text-align: left;" trbidi="on"><b>Linq Query:</b><br />
<br />
<pre class="brush: csharp">//Sum Projection
string[] s = { "abc", "abcd", "ab", "a" };
int totalChars = s.Sum(n => n.Length);
Console.WriteLine(totalChars);
//
</pre><br />
<b>Output:</b><br />
<br />
<blockquote>10</blockquote></div>Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-531277689913802387.post-54246868851418262762011-06-07T02:24:00.000-07:002011-06-07T02:24:23.468-07:00Linq Example 34 - Sum<div dir="ltr" style="text-align: left;" trbidi="on"><b>Linq Query:</b><br />
<br />
<pre class="brush: csharp">//Sum
int[] intNumbers = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 };
int sum = intNumbers.Sum();
Console.WriteLine(sum);
//
</pre><br />
<b>Output:</b><br />
<blockquote>55</blockquote></div>Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-531277689913802387.post-72984851114968035792011-06-07T01:36:00.000-07:002011-06-07T01:36:30.047-07:00Linq Example 33 - Count Conditional<div dir="ltr" style="text-align: left;" trbidi="on"><b>Linq Query:</b><br />
<br />
<pre class="brush: csharp">//Count Conditional
int[] intNumbers = { 1, 2, 3, 55, 99, 74, 102 };
int total = intNumbers.Count(n => n < 10 ); //Total 3 Items which are less then 10
Console.WriteLine(total);
//
</pre><b>Output:</b><br />
<blockquote> 3 </blockquote><br />
Total 3 Items which are less then 10 </div>Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-531277689913802387.post-72842996763444214082011-06-07T00:27:00.000-07:002011-06-07T00:27:48.278-07:00Linq Example 32 - Count<div dir="ltr" style="text-align: left;" trbidi="on"><b>Linq Query:</b><br />
<br />
<pre class="brush: csharp">//count
int[] intNumbers = { 1, 2, 3, 55, 99, 74, 102 };
int total = intNumbers.Count(); //Total 7 Items
Console.WriteLine(total);
//
</pre><br />
<b>Output:</b><br />
<blockquote>7</blockquote><br />
</div>Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-531277689913802387.post-35039417755637657772011-06-06T23:54:00.000-07:002011-06-06T23:54:50.090-07:00Linq Example 31 - All<div dir="ltr" style="text-align: left;" trbidi="on"><b>Linq Query:</b><br />
<br />
<pre class="brush: csharp">//all
int[] intNumbers = { 1, 2, 3, 55, 99, 74, 102 };
bool blnLessThan200 = intNumbers.All(n => n <= 200);
Console.WriteLine(blnLessThan200);
//
</pre>Output: <br />
<blockquote>True </blockquote>It will simply check if all the elements in array are less than 200.</div>Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-531277689913802387.post-77709852528850230072011-06-06T23:50:00.000-07:002011-06-06T23:50:56.023-07:00Linq Example 30 - Any<div dir="ltr" style="text-align: left;" trbidi="on"><b>Linq Query: </b><br />
<br />
<pre class="brush: csharp">
//Any
int[] intNumbers = { 1, 2, 3, 55, 99, 74, 102 };
bool bln100to200 = intNumbers.Any(n => (n <= 200 && n >= 100));
Console.WriteLine(bln100to200);
//
</pre><br />
<b>Output:</b><br />
<blockquote>True</blockquote>As you can see we want to find if any number is between 100 and 200. All the number except 102 are below 100. so our query return true as it find 102 that satisfy the condition.</div>Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-531277689913802387.post-81553039409063919642011-06-06T23:33:00.000-07:002011-06-06T23:33:48.100-07:00Linq Example 29 - Repeat<div dir="ltr" style="text-align: left;" trbidi="on"><b>Linq Query:</b><br />
<br />
<pre class="brush: csharp">//Repeat
var Repeated = Enumerable.Repeat(4, 3); //Repeats 4 three times
foreach (var t in Repeated)
{
Console.WriteLine(t);
}
</pre><br />
<br />
Output:<br />
<blockquote>4<br />
4<br />
4</blockquote></div>Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-531277689913802387.post-81880679086776040952011-06-06T23:32:00.000-07:002011-06-06T23:32:02.754-07:00Linq Example 28 - Range<div dir="ltr" style="text-align: left;" trbidi="on"><b>Linq Query:</b><br />
<br />
<pre class="brush: csharp">//Range
var evenOddNumbers =
from n in Enumerable.Range(1,30)
select new { Number=n, IsEven = (n % 2 ==0) ? "Even": "Odd" };
foreach (var t in evenOddNumbers)
{
Console.WriteLine(" Number: {0} IsEven : {1}", t.Number, t.IsEven);
}
</pre><br />
<b>Output:</b><br />
<br />
<blockquote>Number: 1 IsEven : Odd<br />
Number: 2 IsEven : Even<br />
Number: 3 IsEven : Odd<br />
Number: 4 IsEven : Even<br />
Number: 5 IsEven : Odd<br />
Number: 6 IsEven : Even<br />
Number: 7 IsEven : Odd<br />
Number: 8 IsEven : Even<br />
Number: 9 IsEven : Odd<br />
Number: 10 IsEven : Even<br />
Number: 11 IsEven : Odd<br />
Number: 12 IsEven : Even<br />
Number: 13 IsEven : Odd<br />
Number: 14 IsEven : Even<br />
Number: 15 IsEven : Odd<br />
Number: 16 IsEven : Even<br />
Number: 17 IsEven : Odd<br />
Number: 18 IsEven : Even<br />
Number: 19 IsEven : Odd<br />
Number: 20 IsEven : Even<br />
Number: 21 IsEven : Odd<br />
Number: 22 IsEven : Even<br />
Number: 23 IsEven : Odd<br />
Number: 24 IsEven : Even<br />
Number: 25 IsEven : Odd<br />
Number: 26 IsEven : Even<br />
Number: 27 IsEven : Odd<br />
Number: 28 IsEven : Even<br />
Number: 29 IsEven : Odd<br />
Number: 30 IsEven : Even</blockquote><div><br />
</div></div>Unknownnoreply@blogger.com0