Archive for March, 2009

How To Create An XML Document In C#

Sunday, March 29th, 2009

It is very easy, as there I wondered, here is the code:

?View Code CSHARP
using System.Xml.Linq
protected void CreateDocumentXML ()
{
XDocument TheCodersXML = new XDocument(
new XDeclaration("1.0","utf-8","yes")
new XComment("List of Students")
new XElement("Students"
new XElement("Student"
new XAttribute("Id","No:123")
new XElement("Name","Diana Wallwalker")
new XElement("Age","23")),
 
new XElement("Student"
new XAttribute("Id","No:456")
new XElement("Name","Danny Thomas")
new XElement("Age","27")),
 
new XElement("Student"
new XAttribute("Id","No:789")
new XElement("Name","Roger Benny")
new XElement("Age","20")),
 
new XElement("Student"
new XAttribute("Id","No:012")
new XElement("Name","Venu Thomas"),
new XElement("Age","26"))
)
);
}

In the end it saved in the address you want:

?View Code CSHARP
TheCodersXML.Save(@"c:\TheCodersXML.xml");

 

 Output:

<?xml version="1.0″ encoding="utf-8″ standalone="yes"?>
<!-- List of Students -->
<students>
	<student Id="No:123">
		<name>Diana Wallwalker</name>
		<age>23</age>
	</student>
	<student Id="No:456">
		<name>Danny Thomas</name>
		<age>27</age>
	</student>
	<student Id="No:789">
		<name>Roger Benny</name>
		<age>20</age>
	</student>
	<student Id="No:012">
		<name>Venu Thomas</name>
		<age>26</age>
	</student>
</students>

Tutorial To Create A CSS Template

Sunday, March 29th, 2009

I recommend this site, they explain step by step how to create a CSS template for our web sites.

http://www.subcide.com/tutorials/csslayout

Video: Windows 7 at PDC 2008

Sunday, March 29th, 2009

A Presentation of the new features and improved user experience in Windows 7.

Part:1

Part:2

http://www.microsoft.com/windows/windows-7/

Intro To Windows Presentation Foundation (WPF)

Wednesday, March 25th, 2009

Windows Presentation Foundation (WPF) is the user interface subsystem which is included in .NET Framework 3.0. WPF clearly distinguishes user interface and logic offers the programming model which is consistent. WPF application can arrange and execute on the web browser it executes not only in the desktop. With WPF, user interface, the drawing and vector graphics of 2D and 3D object can utilize the expression technique such as raster graphics, animation, sound and playback etc of animated picture uniformly.
a
.NET Framework 3.0 can be preinstalled in Windows, Vista even with Windows XP SP2 and Windows Server 2003 can utilize.

Features

The following are some of the features of WPF.

Graphics

The window is included, all graphics are drawn through Direct3D.

Because of this, it is possible to utilize high-level graphics with single method.

It becomes possible to leave drawing processing to GPU on the video card, by drawing through Direct3D. This CPU would be to reduce the load.

Vector graphics is supported. This allows scaling without loss.

Rendering and interaction of the 3D model are supported.

Arrangement

WPF can arrange not only usual stand alone application, XAML browser application (XBAP) as.

Stand alone application is the application which is arranged on the local computer ClickOnce and Microsoft Windows Installer (MSI) and like by the installer.

XAML browser application (XBAP) it is the application which the host is done with the web browser of Internet Explorer and the like. Function of access and WPF to the computer resource is restricted part.

Interoperability

WPF offers the interoperation function of Win32. To utilize WPF from inside the cord/code of Win321, it is possible to utilize the cord/code of Win32 from WPF.

Also the interoperation of Windows Forms is possible, (ElementHost and WindowsFormsHost class).

Multimedia

WPF offers basic 2D graphic function such as brush, pen, geometric figure and deformation.

The 3D function which is offered with WPF is the subset of Direct3D. But, user interface (UI) and the like is possible with WPF from to utilize closely to the element. UI of 3D, the document and the media etc become possible with this.

The general picture format is supported.

The animated picture of WMV, MPEG and the AVI format is supported.

Time based animation is supported. This does not depend on the performance of the system and maintains the speed of animation uniformly.

The text rendering which utilizes ClearType is supported. In addition, it supports also the function of the OpenType font.

Data Binding

WPF supports the data binding of 3 types which are shown next.

one time: The client ignores the update on the server.

one way: The client has the authority of write inhibit vis-a-vis the data.

two way: The client has reading and entry both authority.

User Interface

The basic installation control such as the button, the menu and the list box etc is offered.

As the powerful point of WPF, it is possible to separate logic and interface completely.

Related Item

Microsoft Silverlight
Adobe Integrated Runtime

External link

Over 22 Links To LINQ

Tuesday, March 24th, 2009

LINQ Index

Charlie Calvert’s Blog- Links to LINQ: Click Here..
The Server Side – LINQ/C# Learning Guide: Click Here..

LINQ Bloggers

Troy Magennis – LINQed IN: Click Here..
Charlie Calvert’s Community Blog: Click Here..
LINQ- The Wandering Glitch: Click Here…
OakLeaf Systems: Click Here..

LINQ Websites

LINQDev:
LINQ in Action:

LINQ Videos

LINQ Video:
Luke Hoban: Orcas – Compiling LINQ, C# Futures, Intellisense

LINQ Books

Amazon.com: Pro LINQ: Language Integrated Query in C# 2008 (Windows.Net) (Paperback)
Amazon.com: LINQ for Visual C# 2005 (Paperback)
Amazon.com: LINQ for VB 2005 (Paperback)

LINQ Articles

SingingEels: Improving Performance With LINQ
Next-Generation Data Access: Making the Conceptual Level Real
LINQ ASP.NET Sitemap
LINQ Lazy Evaluation
Query Windows Forms Controls in LINQ
Enumerable.Range in C#
ToDictionary Method in C#

From Microsoft

LINQ Project General
LINQ 101 Samples

Some other books for ASP.NET MVC, LINQ, Silverlight, ASP.NET 3.5, Sharepoint Server. Click Here..

Develop JavaFX Application And Win!!

Monday, March 23rd, 2009

Develop an application in JavaFX and win cool prizes !!
Compete in JavaFX  coding by “JavaFX Coding Challenge”  The deadline is May 29.

  • 1st Place: $25,000
  • 2nd Place: $10,000
  • 3rd Place: $5,000

Student category: Three prizes at $1,500 each to the top three applications submitted by students

Deadlines

  • Contest starts: March 23rd, 2009
  • Contest deadline: May 29th, 2009
  • Judging period: June 1st – June 29th, 2009
  • Winners announced: Week of June 29th, 2009

Click Here.. http://javafx.com/challenge/

Validate: Username, Email Id, Phone No, Zip Code & URL In 5 Languages(JS, C#.Net, VB.Net, JAVA & PHP)

Monday, March 23rd, 2009

Validate of Username, Email Id, Phone No, Zip/Postal Code & URL In Javascript, C#.Net, VB.Net, JAVA & PHP !

1. Validate username: Validate alpha numeric values
2. Validate email addresses : example@domain.com
3. Validate Phone numbers: Validate US phone number eg: 123-456-7890
4. Validate Zip/Postal Codes: Validate US Zip/Postal Code eg: 12345-6789
5. Validate Domain Name eg: http://live.com

Validate username: Validate alpha numeric values

?View Code JAVASCRIPT
function is_valid_username(str_username)
{
 var filter = /^([a-zA-Z\s0-9]*)$/;
 if (!filter.test(str_username))
 {
 alert(’Wrong username format.’);
 }
 else
 {
 alert('Username format is ok.')
 }
 return false;
}
?View Code CSHARP
 using System.Text.RegularExpressions;
 
 private void is_valid_username(string str_username)
 {
 Regex matchRegex = new Regex(@"^[a-zA-Z0-9_]{3,16}$");
 MatchCollection matches  = matchRegex.Matches(str_username);
 if(matches.Count==0)
 {
 Response.Write("Wrong username format."); // In Webserver
 //MessageBox.Show("Wrong username format."); //In Windows Form
 }
 else
 {
 Response.Write("Username format is ok."); // In Webserver
 //MessageBox.Show("Username format is ok."); //In Windows Form
 }
 }
Imports System.Text.RegularExpressions
 
Private Sub is_valid_username(ByVal str_username As String)
    Dim matchRegex As New Regex("^[a-zA-Z0-9_]{3,16}$")
    Dim matches As MatchCollection = matchRegex.Matches(str_username)
    If matches.Count = 0 Then
        Response.Write("Wrong username format.") ' In Webserver
        'MessageBox.Show("Wrong username format."); 'In Windows Form
    Else
        Response.Write("Username format is ok.")    ' In Webserver
        'MessageBox.Show("Username format is ok."); 'In Windows Form
    End If
End Sub
import java.util.regex.*;
 
public class is_valid_username
{
 public static void main(String str_username)
 {
 Pattern p=Pattern.compile("^[A-Za-z0-9]+$");
 Matcher m=p.matcher(str_username);
 boolean matchFound = m.matches();
 if(matchFound)
 {
 System.out.println("Username format is ok.");
 }
 else
 {
 System.out.println("Wrong username format.");
 }
 }
}
Function is_valid_username($str_username)
{
 if (preg_match('/^[a-z\d_]{5,20}$/i',$str_username))
 {
     echo "Username format is ok.";
 }
 else
 {
     echo "Wrong username format.";
 }
}

Validate email addresses : example@domain.com

?View Code JAVASCRIPT
function is_valid_email(str_email_id)
{
 var filter = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
 if (!filter.test(str_email_id))
 {
 alert(’Wrong email address format.’);
 }
 else
 {
 alert('Email address format is ok.')
 }
 return false;
}
?View Code CSHARP
 using System.Text.RegularExpressions;
 private void is_valid_email(string email_id)
 {
 Regex matchRegex = new Regex(@"[a-zA-Z0-9_\-\.]+@[a-zA-Z0-9_\-\.]+\.[a-zA-Z]{2,5}");
 MatchCollection matches  = matchRegex.Matches(email_id);
 if(matches.Count==0)
 {
 Response.Write("Wrong email address format."); // In Webserver
 //MessageBox.Show("Wrong email address format."); //In Windows Form
 }
 else
 {
 Response.Write("Email address format is ok."); // In Webserver
 //MessageBox.Show("Email address format is ok."); //In Windows Form
 }
 }
Imports System.Text.RegularExpressions
 
Private Sub is_valid_email(ByVal email_id As String)
    Dim matchRegex As New Regex("[a-zA-Z0-9_\-\.]+@[a-zA-Z0-9_\-\.]+\.[a-zA-Z]{2,5}")
    Dim matches As MatchCollection = matchRegex.Matches(email_id)
    If matches.Count = 0 Then
        Response.Write("Wrong email address format.") ' In Webserver
        'MessageBox.Show("Wrong email address format."); 'In Windows Form
    Else
        Response.Write("Email address format is ok.")    ' In Webserver
        'MessageBox.Show("Email address format is ok."); 'In Windows Form
    End If
End Sub
import java.util.regex.*;
public class is_valid_email
{
 public static void main(String str_email_id)
 {
 Pattern p=Pattern.compile("[a-zA-Z]*[0-9]*@[a-zA-Z]*.[a-zA-Z]*");
 Matcher m=p.matcher(str_email_id);
 boolean matchFound = m.matches();
 if(matchFound)
 {
 System.out.println("Email address format is ok.");
 }
 else
 {
 System.out.println("Wrong email address format.");
 }
 }
}
Function is_valid_email($email_id)
{
 if (preg_match('/^[^0-9][a-zA-Z0-9_]+([.][a-zA-Z0-9_]+)*[@][a-zA-Z0-9_]+([.][a-zA-Z0-9_]+)*[.][a-zA-Z]{2,4}$/',$email_id))
 {
     echo "Email address format is ok.";
 }
 else
 {
     echo "Wrong email address format.";
 }
}

Validate Phone numbers: Validate US phone number eg: 123-456-7890

?View Code JAVASCRIPT
function is_valid_phone_no(str_phone_no)
{
 var filter =  /^((\+?1-)?\d\d\d-)?\d\d\d-\d\d\d\d$/;
 if (!filter.test(str_phone_no))
 {
 alert(’Wrong phone number format.’);
 }
 else
 {
 alert('Phone number format is ok.')
 }
 return false;
}
?View Code CSHARP
 using System.Text.RegularExpressions;
 
 private void is_valid_phone_no(string str_phone_no)
 {
 Regex matchRegex = new Regex(@"\d{3}-\d{3}-\d{4}$");
 MatchCollection matches  = matchRegex.Matches(str_phone_no);
 if(matches.Count==0)
 {
 Response.Write("Wrong phone number format."); // In Webserver
 //MessageBox.Show("Wrong phone number format."); //In Windows Form
 }
 else
 {
 Response.Write("Phone number format is ok."); // In Webserver
 //MessageBox.Show("Phone number format is ok."); //In Windows Form
 }
 }
Imports System.Text.RegularExpressions
Private Sub is_valid_phone_no(ByVal str_phone_no As String)
    Dim matchRegex As New Regex("\d{3}-\d{3}-\d{4}$")
    Dim matches As MatchCollection = matchRegex.Matches(str_phone_no)
    If matches.Count = 0 Then
        Response.Write("Wrong phone number format.") ' In Webserver
        'MessageBox.Show("Wrong phone number format."); 'In Windows Form
    Else
        Response.Write("Phone number format is ok.")    ' In Webserver
        'MessageBox.Show("Phone number format is ok."); 'In Windows Form
    End If
End Sub
import java.util.regex.*;
public class is_valid_phone_no
{
 public static void main(String str_phone_no)
 {
 Pattern p=Pattern.compile("^\\(?(\\d{3})\\)?[- ]?(\\d{3})[- ]?(\\d{4})$");
 Matcher m=p.matcher(str_phone_no);
 boolean matchFound = m.matches();
 if(matchFound)
 {
 System.out.println("Phone number format is ok.");
 }
 else
 {
 System.out.println("Wrong phone number format.");
 }
 }
}
Function is_valid_phone_no($str_phone_no)
{
 if (preg_match('/\(?\d{3}\)?[-\s.]?\d{3}[-\s.]\d{4}/x',$str_phone_no))
 {
     echo "Phone number format is ok.";
 }
 else
 {
     echo "Wrong phone number format.";
 }
}

Validate Zip/Postal Codes: Validate US Zip/Postal Code eg: 12345-6789

?View Code JAVASCRIPT
function is_valid_zip_code(str_zip_code)
{
 var filter =  /^\d\d\d\d\d-\d\d\d\d$/;
 if (!filter.test(str_zip_code))
 {
 alert(’Wrong Zip/Postal Code format.’);
 }
 else
 {
 alert('Zip/Postal Code format is ok.')
 }
 return false;
}
?View Code CSHARP
 using System.Text.RegularExpressions;
 
 private void is_valid_zip_code(string str_zip_code)
 {
 Regex matchRegex = new Regex(@"\d{5}-\d{4}$");
 MatchCollection matches  = matchRegex.Matches(str_zip_code);
 if(matches.Count==0)
 {
 Response.Write("Wrong Zip/Postal Code format."); // In Webserver
 //MessageBox.Show("Wrong Zip/Postal Code format."); //In Windows Form
 }
 else
 {
 Response.Write("Zip/Postal Code format is ok."); // In Webserver
 //MessageBox.Show("Zip/Postal Code format is ok."); //In Windows Form
 }
 }
Imports System.Text.RegularExpressions
Private Sub is_valid_zip_code(ByVal str_zip_code As String)
    Dim matchRegex As New Regex("\d{5}-\d{4}$")
    Dim matches As MatchCollection = matchRegex.Matches(str_zip_code)
    If matches.Count = 0 Then
        Response.Write("Wrong Zip/Postal Code format.") ' In Webserver
        'MessageBox.Show("Wrong Zip/Postal Code format."); 'In Windows Form
    Else
        Response.Write("Zip/Postal Code format is ok.")    ' In Webserver
        'MessageBox.Show("Zip/Postal Code format is ok."); 'In Windows Form
    End If
End Sub
import java.util.regex.*;
public class is_valid_zip_code
{
 public static void main(String str_zip_code)
 {
 Pattern p=Pattern.compile("^(\\d{5})[- ]?(\\d{4})$");
 Matcher m=p.matcher(str_zip_code);
 boolean matchFound = m.matches();
if(matchFound)
 {
 System.out.println("Zip/Postal Code format is ok.");
 }
 else
 {
 System.out.println("Wrong Zip/Postal Code format.");
 }
 }
}
Function is_valid_zip_code($str_zip_code)
{
 if (preg_match('/^([0-9]{5})(-[0-9]{4})?$/i',$str_zip_code))
{
     echo "Zip/Postal Code format is ok.";
 }
 else
 {
     echo "Wrong Zip/Postal Code format.";
 }
}

Validate Domain Name eg: http://live.com

?View Code JAVASCRIPT
function is_valid_url(str_url)
{
 var filter =   /^(ht|f)tps?:\/\/[a-z0-9-\.]+\.[a-z]{2,4}\/?([^\s&lt;&gt;\#%"\,\{\}\\|\\\^\[\]`]+)?$/
 if (!filter.test(str_url))
 {
 alert(’Wrong URL format.’);
 }
 else
 {
 alert('URL format is ok.')
 }
 return false;
}
?View Code CSHARP
 using System.Text.RegularExpressions;
 private void is_valid_url(string str_url)
 {
Regex matchRegex = new Regex(@"(http|https)://([\w-]+\.)+[\w-]+(/[\w- ./?%&amp;=]*)?");
 MatchCollection matches  = matchRegex.Matches(str_url);
 if(matches.Count==0)
 {
 Response.Write("Wrong URL format."); // In Webserver
 //MessageBox.Show("Wrong URL format."); //In Windows Form
 }
 else
 {
 Response.Write("URL format is ok."); // In Webserver
 //MessageBox.Show("URL format is ok."); //In Windows Form
 }
 }
Imports System.Text.RegularExpressions
 
Private Sub is_valid_url(ByVal str_url As String)
    Dim matchRegex As New Regex("(http|https)://([\w-]+\.)+[\w-]+(/[\w- ./?%&amp;=]*)?")
    Dim matches As MatchCollection = matchRegex.Matches(str_url)
    If matches.Count = 0 Then
        Response.Write("Wrong URL format.") ' In Webserver
        'MessageBox.Show("Wrong URL format."); 'In Windows Form
    Else
        Response.Write("URL format is ok.")    ' In Webserver
        'MessageBox.Show("URL format is ok."); 'In Windows Form
    End If
End Sub
import java.util.regex.*;
public class is_valid_url
{
 public static void main(String str_url)
 {
 Pattern p=Pattern.compile("(http|https)://([\w-]+\.)+[\w-]+(/[\w- ./?%&amp;=]*)?");
 Matcher m=p.matcher(str_url);
 boolean matchFound = m.matches();
 if(matchFound)
 {
 System.out.println("URL format is ok.");
 }
 else
 {
 System.out.println("Wrong URL format.");
 }
 }
}
Function is_valid_url($str_url)
{
 if (preg_match('/^([0-9]{5})(-[0-9]{4})?$/i',$str_url))
 {
     echo "URL format is ok.";
 }
 else
 {
     echo "Wrong URL format.";
 }
}

Multi-Language In Any Web Page With Google API

Monday, March 16th, 2009

Multi-language In Any Web Page (HTML, PHP, ASP.NET etc) With Google API

live_preview Demo      downloadDownload Code

Mostly Web Programmers Multilanguage in ASP.NET is by using Localization & Resource rules. But this rule cant use with HTML, PHP etc. Now I’m changing to new rules with Google AJAX Language API. It is very useful for programmers. Click here to read about Localization & Resource

Advantage & Disadvantage

Advantage:
1: Reduce programming time
2. Reduce file size, In Localization & Resource rules, we need resource files by each language
3. No need to find meaning of unknown language for creating site
4. Only one language to store in XML or..5. No need C# & VB.NET.

Disadvantage:
1. Need Internet connection for connecting to Google AJAX Language API’s Script

Click here to read about Google Language AJAX API.
I have a sample program as below. I Hope you will understood.

 
    <script type="text/javascript" src="http://www.google.com/jsapi"></script>
 
<script type="text/javascript">
 
google.load("language", "1");
 
 
function fnTrans(strTransText,strTransField, strTransFLang, strTransTLang)
{
 // Translation
 google.language.translate(strTransText, strTransFLang, strTransTLang, function(result) {
          var strcontainer = document.getElementById(strTransField);
          strcontainer.innerHTML = result.translation ;
 
      });
}
 
function initialize(strToTxtBox, strFromTxtBox) {
 
 // Translate English to German
 
 strFLang = 'en' //English
 strTLang = 'de' //German
 
 var strText = document.getElementById(strFromTxtBox).innerHTML; //Get Lable Name
 
 fnTrans(strText,strToTxtBox, strFLang,strTLang)
 
}
 
 function fnhi()
  {
 
  initialize('ToLableName_FN', 'FrmLableName_FN' ); // First Name
 
  initialize('ToLableName_LN', 'FrmLableName_LN' ); // Last Name
 
  }
</script>
 
  </head>
  <body onload="fnhi()">
 
      <label id="FrmLableName_FN" >First Name</label>
      <br />
  <label id="ToLableName_FN"></label>
  <input type="text" name="txtFname" />
</br>
</br>
 
      <label id="FrmLableName_LN" >Last Name</label>
      <br />
  <label id="ToLableName_LN"></label>
  <input type="text" name="txtFname" />

live_preview Demo      downloadDownload Code

Intro to LINQ (Language Integrated Query)

Wednesday, March 11th, 2009

Introduction to LINQ (Language Integrated Query)

LINQ (Language Integrated Query) and .Net Framework 3.5 in a variety allows you to query the data in a standardized way for the typed of data collection, it features an integrated language. Development Tools Visual Studio 2008 are supported.

LINQ is a language that supports the standard query operators are defined, you can filter the enumeration process and the projection of a common syntax for different data sets.

Example:

Select from the set of formulas to the LINQ query expression. In this code, strName are extracted from the beginning with ‘v‘, it is stored in str, it is output in sequence foreach

?View Code CSHARP
string [ ]  strName =
{
"Benny",
"Venu",
"Roger",
"Thomas",
"Varghese",
"Danny"
} ;
var str = from x in  strName
where x[0]  == 'v'
select x;
 
foreach ( var y in  str )
{
Console. WriteLine (y) ;
}

Language Specification:

LINQ is a language, LINQ is introduced together with the new language version in order to provide more capacity. For example, the query expressions, extension methods, lambda expressions, anonymous types and so on. As for the example in C# we would like to be referred to the specification from of C# 3.0.

Data Source:

LINQ, including those by third parties, may be applied to any type of data source. This is achieved by adding to the data source as a method for extending the standard query operators.

The traditional set of objects for sorting and enumerated data types and a similar array to handle efficiently the filter (Array class) by using the object or collection. The databases and XML data set on the ADO.NET operation was necessary and is treated as different data sets. LINQ by, and can be treated without distinction in the common data sets and objects. Compared with other languages, Ruby and Active Record is a combination of excellent handling of this collection are believed to be extended to counter-conscious language.

For example, Microsoft will be implemented by the following.

  • LINQ to ADO.NET
    • LINQ to SQL (DLinq)
    • LINQ to Entities
    • LINQ to DataSet
  • LINQ to XML (XLinq)
  • LINQ to Objects

The Language Which Corresponds to LINQ

  • C# 3.0
  • F# 1.1.8.1
  • Visual Basic 9.0

As for C++/CLI as for the schedule which corresponds to LINQ it is not, the library related to LINQ it can be used only is until recently with sentence structure of sort.

Free eBooks For Beginner Programmers

Wednesday, March 11th, 2009

1) ASP.NET MVC

A strong 195 pages with chapters of Wiley Publishing published book “Professional ASP.NET 1.0 MVC” is a preliminary version in PDF format. The book was written by renowned authors Rob Conery, Scott Hanselman, Phil Haack and Scott Guthrie.

The free chapter gives a detailed example of the project NerdDinner, a website to plan and arrange joint dinner. It is shown how this small but complete application built with ASP.NET MVC. The source code can be found on Codeplex (http://nerddinner.codeplex.com) .

Click here to download.

2) Microsoft Visual Studio 2008 EBooks (LINQ, Silverlight 2 and ASP NET 3.5)

Microsoft hass published interesting three books. Great!

  1. Introducing Microsoft LINQ
  2. Introducing Microsoft ASP.NET AJAX
  3. Introducing Microsoft Silverlight 1.0

Click here to download.

3) Understanding Microsoft Virtualization Solutions

Microsoft Press has published “Understanding Microsoft Virtualization Solutions – From the Desktop to the Datacenter” now available as free downloads. Great! ! Microsoft seems to have missed the virtualization pattern gradually came to really try.

Click here to download.

4) 7 Development Projects for Microsoft Office Sharepoint Server 2007 and Windows Sharepoint Services Version 3.0

Click here to download.