CodeProject] Newsletter (25 Aug 2008)


List Controls

Tree Controls

  • Tree Nodes Navigator - babai28
    The class presented here allows the user to navigate the TreeNodes in a TreeView control (Unedited)
    C#, Windows, Beginner

ASP.NET

  • Deploying ASP. Net Websites on IIS 7.0 - Abhijit Jana
    This article describe some Features and Architecture of IIS 7.0 and Deployment of ASP.Net Sites on IIS (Unedited)
    Javascript, CSS, HTML, XHTML, Ajax, ASP, ASP.NET

  • Building and deploying your web application the easy way - Xiangyang Liu 刘向阳
    A .NET 2.0 tool to simplify web application deployment (Unedited)
    C# (C# 2.0, C#), Windows (Windows, Win2K, WinXP, Win2003, Vista), ASP.NET, SysAdmin, CEO, Architect, DBA, Dev, QA, Design, Intermediate

  • Dynamic Image Resizing Using HTTP Modules - Neil Meredith
    Easily and dynamically re-size images throughout your site by appending the height and width to the image name, or by using custom named fields with a set height and width.
    VB, XML, HTML, Windows, .NET, ASP.NET, Dev, Intermediate

Client side scripting

Custom Controls

  • Your First ASP.NET Custom Control - Refky Wahib
    Creating a simple custom server control, with a few guidelines.
    C# (C# 2.0, C# 3.0, C#), .NET (.NET, .NET 2.0, .NET 3.0), ASP.NET, Architect, Dev, Beginner, Intermediate

Internet / Network

Silverlight

Site & Server Management

  • IIsManager - Marcel81
    Manage IIS 6 in .NET (Unedited)
    VB (VB 9.0, VB), Windows (Windows, Win2003), .NET (.NET, .NET 3.5), IIS (IIS 6, IIS), SysAdmin, Dev, Beginner, Intermediate

Microsoft Exchange

Audio and Video

  • TT Audio Player - towerturtle
    An audio player made by Tower Turtle productions.
    C# (C# 1.0, C# 2.0, C# 3.0, C#), Windows, .NET, DirectX, Dev, Intermediate

General Graphics

Database

SQL Reporting Services

.NET Framework

  • A very easy intro to Microsoft .Net Speech Synthesis (VB, C#, C++) - noxia
    A sample application with source code in three .Net languages (Basic, C#, C++) on using the new (.Net 3.0+) System.Speech Class. (Unedited)
    C++ (C++, VC9.0), C# (C#, C# 3.0), VB (VB, VB 9.0), Windows (Windows, WinXP, Win2003, Vista), .NET (.NET 3.5, .NET, .NET 3.0), Dev, Beginner

  • Very Simple Library to Work with Excel in .NET - Shayan Elhami
    Provides a very easy to use library (using Interop, Attributes and Reflection) to work with Excel files in .NET
    C# 2.0, Windows, Office, .NET 2.0, Dev, Intermediate, Advanced

COM / COM+

Libraries

  • AlfaWizard Library - Michal Stehlik
    AlfaWizard is a simple library for the purposes of making wizards.
    C# (C# 1.0, C# 2.0, C# 3.0, C#), XML, .NET (.NET, .NET 2.0, .NET 3.5, .NET 3.0), Dev, Intermediate

Mobile Development

Win32/64 SDK & OS

  • An extendable report editor - RockmanZero
    an extendable report editor (Unedited)
    C++ (VC6, VC7, VC7.1, VC8.0, C++), C++/CLI, C, Intermediate, Advanced

Windows Presentation Foundation

  • Item Presentation Models for WPF - Adrian Alexander
    Make your life easier by inserting a Presentation Model layer between your domain-model collection contents and template-generated WPF objects.
    C# (C# 2.0, C#), XML, Windows (Windows, WinXP, Vista), .NET (.NET, .NET 3.0, .NET 3.5), Visual Studio (VS2005, VS2008, Visual Studio), XAML, WPF, Architect, Dev, Intermediate, Advanced

C / C++ Language

C#

  • "C# Hooks For RRDtool" - Mike Corley
    C# (.Net and Mono) library provider for RRDtool (Unedited)
    C# (C# 1.0, C# 2.0, C# 3.0, C#), .NET (.NET, .NET 2.0, .NET 3.5, .NET 3.0), Visual Studio (VS2008, Visual Studio), Dev, Intermediate

  • Generating Unique Key(Finger Print) for a Computer for Licensing Purpose - Sowkot Osman
    Generating Unique Key(Finger Print) for a Computer for Licensing Purpose (Unedited)
    C# (C# 1.0, C# 2.0, C# 3.0, C#), Windows, .NET, Visual Studio, Dev, Beginner, Intermediate, Advanced

  • Custom Range Control in C# .Net (with little animating slider) - Bharath K A
    At times, the business needs are so unique that we have to write new controls in addition to the existing Tool box provided control. This article explain how to write one such unique control, named, Range Control. Animated Range control source and Test App sample included. (Unedited)
    C#, .NET (.NET 1.0, .NET 1.1, .NET 2.0, .NET 3.0, .NET 3.5, .NET), Visual Studio, Architect, Dev, Design, Intermediate, Advanced

C++ / CLI

  • SMTP client - Jakub Piwowarczyk
    The CSmtp class allows to send emails with attachments. It provides only AUTH LOGIN authentication. (Unedited)
    C++ (VC6, C++), C++/CLI, C, Windows, Win32, Visual Studio (Visual Studio, VS6), Intermediate

XML

  • Use XML for Log Files - Norbert Ruessmann
    How to use XML to write and read log files.
    C# (C# 1.0, C# 2.0, C# 3.0, C#), XML, .NET (.NET, .NET 2.0), Dev, Intermediate

Algorithms & Recipes

  • Frogs Game - BarbaraPušnar
    In this article, we explain the backtracking algorithm which is a refinement of brute force approach.
    C# 2.0, Windows, .NET 2.0, Dev, Beginner

  • YAML Parser in C# - Liu Junfeng
    An almost feature complete YAML Parser. (Unedited)
    C# (C# 1.0, C# 2.0, C# 3.0, C#), .NET

Threads, Processes & IPC

  • Distributed computing in small and middle offices - hax_
    Introduction to open-source hxGrid library for distributed computing. Main benefits of the library: cluster is using only idle time of Windows 2000/XP/Vista workstation (no dedicated workstations required); easy to use; free. (Unedited)
    C++ (VC6, VC7, VC7.1, VC8.0, C++), C, Windows (Windows, Win2K, WinXP, Win2003, Vista), Win32, Architect, Dev, Intermediate, Advanced

  • Thread synchronization: Wait and Pulse demystified - Nick Butler
    An article on the Wait and Pulse methods of the Monitor class.
    C#, .NET, Architect, Dev, Design, Intermediate

Code Generation

  • A Simple Template Engine - baker.alex
    Generate source code and database scripts for any language or platform (Unedited)
    C#, XML, SQL, Ruby, DBA, Dev, Intermediate

  • On the fly Code Generation with Evolutility - Olivier Giulieri
    A generic Web User Interface for CRUD applications generating all screens at run-time based on external metadata. It comes with sample applications for address book, memo pad, to do list, restaurants list, wine cellar, and database structure documentation that are easily customizable. (Unedited)
    Javascript, XML, CSS, SQL, HTML, VB, ASP.NET, Visual Studio, Architect, DBA, Dev, Design, Intermediate, Advanced

Debug Tips

  • Debugging Classic ASP ( VBScript ) in Visual Studio 2008 - Rock Webcast
    Step by step, how to set your project up so you can debug a site written in Classic ASP VBScript using Visual Studio 2008. (Unedited)
    VBScript, Visual Studio (VS2005, VS2008, Visual Studio), Dev, Beginner, Intermediate, Advanced

Design and Architecture

  • Dashboards Are For Driving - Steven A. Lowe
    Dashboards are immensely useful not only for business data but also for business applications, but only if they display metrics that can be used to "drive" (or "steer") in real-time. (Unedited)
    Architect, Beginner, Intermediate, Advanced

Hardware & System

  • ADSI Hunter - KChandos
    Active Directory lookup utility.
    C# (C# 1.0, C# 2.0, C# 3.0, C#), Windows (Windows, WinXP, Vista), Dev, Intermediate

Articles updated added Last week

Files and Folders

  • Duplicate Files Finder - eRRaTuM
    A utility to find any duplicate file in your hard drives using MD5 or CRC32 hashing (Unedited)
    C# (C# 1.0, C# 2.0, C# 3.0, C#), .NET, Dev, Beginner, Intermediate

  • Insert / Remove Data within/from Large Files Efficiently - Michael Chourdakis
    A class that handles large files and allows cut/paste operations efficiently.
    C++, Windows, Win32, Win64, Dev, Intermediate

  • DirectoryList 2.0 - nirvansk815
    A custom listbox control to help visually manipulate data.
    C++ (C++, VC9.0), C++/CLI, .NET (.NET, .NET 2.0), Win32, Visual Studio (VS2005, VS2008, Visual Studio), Intermediate

List Controls

  • CListCtrl and sorting - Snakefoot
    Examples of how to sort rows in a MFC list control (Unedited)
    C++, Windows, MFC, Dev, Intermediate

Miscellaneous

ASP.NET

Custom Controls

GDI+

  • Writing GIS and Mapping Software for .NET - Jon Person, A. Philip Smith
    In part three of the series, the authors of the "GIS.NET" mapping component for .NET explain how to write a geographic mapping engine which can display geographic coordinates. Source code is provided which can pan and zoom a sample geographic object (the state of Nebraska) in C# and VB.NET. (Unedited)
    C# (C# 3.0, C#, C# 1.0, C# 2.0), VB (VB 7.x, VB 8.0, VB 9.0, VB), .NET CF, .NET (.NET 3.0, .NET, .NET 1.1, .NET 2.0), Visual Studio (VS.NET2003, VS2005, VS2008, Visual Studio), GDI, GDI+, Architect, Dev, Design, Intermediate, Advanced

Database

SQL Reporting Services

.NET Framework

COM / COM+

  • Professional System Library: Introduction - Vitaly Tomilov
    Simplified and Unified way for accessing most frequently used information about Process, System and Environment (Unedited)
    C++ (VC6, VC7, VC7.1, VC8.0, C++, VC9.0), C++/CLI, C# (C# 3.0, C#, C# 1.0, C# 2.0), VB (VB 7.x, VB 8.0, VB 9.0, VB 6, VB), VBScript, Office, Windows (Windows, Win2K, WinXP, Win2003, Vista, TabletPC), .NET (.NET 3.0, .NET, .NET 3.5, .NET 1.0, .NET 1.1, .NET 2.0), Win32, Win64, ATL, COM, Architect, Dev, QA, SysAdmin, Beginner, Intermediate, Advanced

Vista Security

  • Bypassing PatchGuard 3 - Christoph Husse
    This article shows how to bypass PatchGuard 3 on the latest windows versions. (Unedited)
    C++, C++/CLI, C, Windows (WinXP, Win2003, Vista, Windows), Win32, Win64, Architect, Dev, Advanced

Win32/64 SDK & OS

  • Protecting an Application's Unauthorized Copy - Manish K. Agarwal
    To protect your application's unauthorized copy by using image integrity functions (Platform SDK's ImageHlp APIs) and to manage certificates in a portable executable (PE) image file.
    VC7, VC7.1Win2K, WinXPVS.NET2003, Dev, Intermediate

  • Programming Without Coding Technology - Mahmoud Fayed
    Hello world program using programming without coding technology (Unedited)
    Windows (Win2K, WinXP, Win2003, Vista, Windows), Beginner, Intermediate, Advanced

Windows Presentation Foundation

C / C++ Language

C#

  • Textbox Which Holds an IP Address - jkatebin
    This is a control which represents a single IP Address
    C# (C# 2.0, C#), .NET (.NET, .NET 3.0, .NET 3.5, .NET 2.0), Visual Studio (VS2005, Visual Studio), Dev, Beginner

  • Another DataGridView Printer - aureolin
    DataGridView printing encapsulated in a stand-alone object. Very easy to use! Updated to allow printing columns wider than one page. (Unedited)
    C# 2.0, Windows, .NET 2.0VS2005, Dev, Intermediate

VB.NET

  • USPS OneCode Barcodes - drdigit
    USPS One Code - Intelligent Mail Barcode (4-State Customer Barcode) - implementation with VB 2008
    VB 9.0, Windows, .NET, Visual Studio, Dev, Advanced

  • Dynamic creation Of MenuStrip - VB.NET - Bala J
    Implementing Menustrip dynamically from database, the menu names and order will be through backend. (Unedited)
    VB 8.0, Windows, .NET CF, .NET 2.0VS2005, Dev, Intermediate

Algorithms & Recipes

  • A simple Binary Search Tree written in C# - Herbert Sauro
    A simple Binary Search Tree written in C# that can be used to store and retrieve large amounts of data quickly.
    C# 1.0, Windows, .NET 1.1VS.NET2003, Dev, Intermediate

Date and Time

Threads, Processes & IPC

  • SafeThread - Prevent Unhandled Exceptions in Secondary Threads - Steven A. Lowe
    Prevent unhandled exceptions in secondary threads, using SafeThread
    C# (C# 1.0, C# 2.0, C# 3.0, C#), VB (VB 7.x, VB 8.0, VB 9.0, VB), Windows (Windows, TabletPC, NT4, Win2K, WinXP, Win2003, Vista), .NET (.NET, .NET 2.0), Visual Studio (VS.NET2002, VS.NET2003, VS2005, VS6, Visual Studio, VS2008), Architect, Dev, QA, Design, Intermediate

Code Generation

  • Yet Another Code Generator - Stein Borge
    Template based code generator (Unedited)
    VB (VB 7.x, VB 8.0, VB 9.0, VB 6, VB), Windows (Windows, WinXP, Win2003, Vista), .NET (.NET, .NET 2.0), ADO.NET, Design, Architect, Dev, Beginner

  • SQL Class shell generator - Paw Jershauge
    Generate Class Shells from SQL Database tables, (SQL 2005 & 2008 only) (Unedited)
    C#, VB, Windows (Win2K, WinXP, Win2003, Vista, Windows), .NET (.NET 2.0, .NET), Win32, SQL Server (SQL Server, SQL 2005), Dev, Intermediate

  • T4: Extending the Generated Template Class - Mike Pagel
    Taking advantage of the inherits directive in text templates to allow for a clean extension of the generated template class.
    C#, VB, .NET, Architect, Dev, Intermediate

  • Database Helper v 2.0.0 - hdv212
    An open source code generation utility with some useful features to generate procedures,class for tables and .net code for procedures automatically. (Unedited)
    C# (C# 1.0, C# 2.0, C# 3.0, C#), VB (VB 8.0, VB 9.0, VB)

Design and Architecture

  • Menu State Handling - Krishnan Srinivasan
    Handling menu state in WinForms using the Decorator pattern.
    C#, Windows, .NET, Visual Studio, Dev, Intermediate


SQL Server : How to Create OLAP Data Mining Models

The process of creating an OLAP data mining model is similar to the process of creating a relational data mining model. To create an OLAP mining model, use the Mining Model Wizard. The steps needed to create an OLAP mining model are nearly identical to those needed to create a relational mining model.

The Mining Model Wizard uses the source cube, data mining technique, case dimension and level, predicted entity, and training data to create an OLAP data mining model.

The source cube provides the Mining Model Wizard with the information needed to both create a case set for the data mining model. Because a cube may contain many groups of information, the model uses a dimension and level that you choose from the cube to establish key columns for the case set.

When you select the data mining technique, you also select a data mining provider. The data mining provider provides the data mining algorithms and model structure for the data mining model.

The case dimension and level provide a specific orientation for the data mining model into the cube for creating a case set.

The predicted entity can be one of the following entities:

A measure of the source cube


A member property of the case dimension and level, selected earlier in the Mining Model Wizard


Members of another dimension in the cube
This provides flexibility in dealing with the potentially complex process of predictive analysis on OLAP data.

Training data, in the form of dimensions, levels, member properties and measures, is used to process the OLAP data mining model and further define the data mining column structure for the case set.

Optionally, the wizard can create a new dimension for the source cube or a virtual cube based on the source cube. This enables users to query the data mining data just as they would query OLAP data.

WCF : System-Provided Bindings

BasicHttpBinding: An HTTP protocol binding suitable for connecting to Web services that conforms to the WS-I Basic Profile specification (for example, ASP.NET Web services-based services).

WSHttpBinding: An interoperable binding suitable for connecting to endpoints that conform to the WS-* protocols.

NetNamedPipeBinding: Uses the .NET Framework to connect to other WCF endpoints on the same machine.

NetMsmqBinding: Uses the .NET Framework to create queued message connections with other WCF endpoints.

WCF : What a Binding Defines?

The information in a binding can be very basic, or very complex. The most basic binding specifies only the transport protocol (such as HTTP) that must be used to connect to the endpoint. More generally, the information a binding contains about how to connect to an endpoint falls into one of the following categories.

Protocols
Determines the security mechanism being used: either reliable messaging capability or transaction context flow settings.

Encoding
Determines the message encoding (for example, text or binary).

Transport
Determines the underlying transport protocol to use (for example, TCP or HTTP).

How to control the service instance lifetime using code

Apply the ServiceBehaviorAttribute to the service class.

Set the InstanceContextMode property to one of the following values: PerCall,PerSession, or Single.

How to Implement a service operation asynchronously

In your service contract, declare an asynchronous method pair according to the .NET asynchronous design guidelines. The Begin method takes a parameter, a callback object, and a state object, and returns a System.IAsyncResult and a matching End method that takes a System.IAsyncResult and returns the return value. For more information about asynchronous calls, see Asynchronous Programming Design Patterns.

Mark the Begin method of the asynchronous method pair with the System.ServiceModel.OperationContractAttribute attribute and set the System.ServiceModel.OperationContractAttribute.AsyncPattern property to true.

WCF : How to create a basic data contract for a class or structure

Declare that the type has a data contract by applying the DataContractAttribute attribute to the class.

Define the members (properties, fields, or events) that are serialized by applying the DataMemberAttribute attribute to each member. These members are called data members.

WCF: How to create a one-way contract

Create the service contract by applying the ServiceContractAttribute class to the interface that defines the methods the service is to implement.

Indicate which methods in the interface a client can invoked by applying the OperationContractAttribute class to them.

Designate operations that must have no output (no return value and no out or ref parameters) as one-way by setting the IsOneWay property to true. Note that the operations that carry the OperationContractAttribute class satisfy a request-reply contract by default because the IsOneWay property is false by default. So you must explicitly specify the value of the attribute property to be true if you want a one-way contract for the method.

WCF : How to create a request-reply contract

Create the service contract by applying the ServiceContractAttribute class to the interface that defines the methods the service is to implement.

Indicate which methods in the interface the client can invoke by applying the OperationContractAttribute class to them.

The value of the IsOneWay property indicates whether an operation returns a reply message. If an operation has a request-reply contract, this property is set to false.

If the operation has a one-way contract, the property is set to true. All of the operations that carry the OperationContractAttribute class satisfy a request-reply contract by default because the IsOneWay property is false by default. So it is optional to explicitly specify the value of the attribute property to be false.

WCF : How to use a Windows Communication Foundation Client

//Step 1: Create an instance of the WCF Client.
EndpointAddress epAddress = new EndpointAddress("http://localhost:8000/ServiceModelSamples/Service/CalculatorService");
CalculatorClient client = new CalculatorClient(new WSHttpBinding(), epAddress);

// Step 2: Call the service operations.
// Call the Add service operation.
double value1 = 100.00D;
double value2 = 15.99D;
double result = client.Add(value1, value2);
Console.WriteLine("Add({0},{1}) = {2}", value1, value2, result);

// Call the Subtract service operation.
value1 = 145.00D;
value2 = 76.54D;
result = client.Subtract(value1, value2);
Console.WriteLine("Subtract({0},{1}) = {2}", value1, value2, result);

// Call the Multiply service operation.
value1 = 9.00D;
value2 = 81.25D;
result = client.Multiply(value1, value2);
Console.WriteLine("Multiply({0},{1}) = {2}", value1, value2, result);

// Call the Divide service operation.
value1 = 22.00D;
value2 = 7.00D;
result = client.Divide(value1, value2);
Console.WriteLine("Divide({0},{1}) = {2}", value1, value2, result);

//Step 3: Closing the client gracefully closes the connection and cleans up resources.
client.Close();

WCF : How to create a Windows Communication Foundation client

To create a Windows Communication Foundation client

  1. Create a new project for the client in Visual Studio 2005 by doing the following steps:

    1. In Solution Explorer (on the upper right) within the same solution that contains the service, right-click the current solution, and select Add New Project.

    2. In the Add New Project dialog, select Visual Basic or Visual C#, and choose the Console Application template, and name it Client. Use the default Location.

    3. Click OK.

  2. Provide a reference to the System.ServiceModel namespace for the project: Right-click the Service project in the Solution Explorer, select the System.ServiceModel from the Component Name column on the .NET tab, and click OK.

WCF : How to run a basic Windows Communication Foundation (WCF) service

This procedure consists of the following steps:

  • Create a base address for the service.

  • Create a service host for the service.

  • Enable metadata exchange.

  • Open the service host.

Example:-

using System;
using System.ServiceModel;
using System.ServiceModel.Description;

namespace Microsoft.ServiceModel.Samples
{
// Define a service contract.
[ServiceContract(Namespace = "http://Microsoft.ServiceModel.Samples")]
public interface ICalculator
{
[OperationContract]
double Add(double n1, double n2);
[OperationContract]
double Subtract(double n1, double n2);
[OperationContract]
double Multiply(double n1, double n2);
[OperationContract]
double Divide(double n1, double n2);
}

// Service class that implements the service contract.
// Added code to write output to the console window.
public class CalculatorService : ICalculator
{
public double Add(double n1, double n2)
{
double result = n1 + n2;
Console.WriteLine("Received Add({0},{1})", n1, n2);
Console.WriteLine("Return: {0}", result);
return result;
}

public double Subtract(double n1, double n2)
{
double result = n1 - n2;
Console.WriteLine("Received Subtract({0},{1})", n1, n2);
Console.WriteLine("Return: {0}", result);
return result;
}

public double Multiply(double n1, double n2)
{
double result = n1 * n2;
Console.WriteLine("Received Multiply({0},{1})", n1, n2);
Console.WriteLine("Return: {0}", result);
return result;
}

public double Divide(double n1, double n2)
{
double result = n1 / n2;
Console.WriteLine("Received Divide({0},{1})", n1, n2);
Console.WriteLine("Return: {0}", result);
return result;
}
}


class Program
{
static void Main(string[] args)
{

// Step 1 of the address configuration procedure: Create a URI to serve as the base address.
Uri baseAddress = new Uri("http://localhost:8000/ServiceModelSamples/Service");

// Step 1 of the hosting procedure: Create ServiceHost
ServiceHost selfHost = new ServiceHost(typeof(CalculatorService), baseAddress);
try
{

// Step 3 of the hosting procedure: Add a service endpoint.
selfHost.AddServiceEndpoint(
typeof(ICalculator),
new WSHttpBinding(),
"CalculatorService");


// Step 4 of the hosting procedure: Enable metadata exchange.
ServiceMetadataBehavior smb = new ServiceMetadataBehavior();
smb.HttpGetEnabled = true;
selfHost.Description.Behaviors.Add(smb);

// Step 5 of the hosting procedure: Start (and then stop) the service.
selfHost.Open();
Console.WriteLine("The service is ready.");
Console.WriteLine("Press to terminate service.");
Console.WriteLine();
Console.ReadLine();

// Close the ServiceHostBase to shutdown the service.
selfHost.Close();
}
catch (CommunicationException ce)
{
Console.WriteLine("An exception occurred: {0}", ce.Message);
selfHost.Abort();
}
}
}
}

How to Create a Windows Communication Foundation contract with an interface


  1. Open Visual Studio 2005 as an administrator by right-clicking the program in the StartRun as administrator. menu and selecting

  2. Create a new console application project. In the New Project dialog, select Visual BasicVisual C#, and choose the Console Application template, and name it Service. Use the default Location. or

  3. Change the default Service namespace to Microsoft.ServiceModel.Samples.

  4. Provide a reference to the System.ServiceModel namespace for the project: Right-click the Service project in the Solution Explorer, select The System.ServiceModelComponent Name from the .NET tab, and click OK.

Following Example:-
using System;
// Step 5: Add the using statement for the Sytem.ServiceModel namespace
using System.ServiceModel;
namespace Microsoft.ServiceModel.Samples
{
// Step 6: Define a service contract.
[ServiceContract(Namespace = "http://Microsoft.ServiceModel.Samples")]
public interface ICalculator
{
// Step7: Create the method declaration for the contract.
[OperationContract]
double Add(double n1, double n2);
[OperationContract]
double Subtract(double n1, double n2);
[OperationContract]
double Multiply(double n1, double n2);
[OperationContract]
double Divide(double n1, double n2);
}
}

Windows Communication Foundation :What is Messaging?

The messaging layer is composed of channels. A channel is a component that processes a message in some way, for example, by authenticating a message. A set of channels is also known as a channel stack. Channels operate on messages and message headers. This is different from the service runtime layer, which is primarily concerned about processing the contents of message bodies.

Windows Communication Foundation :Service Runtime

The service runtime layer contains the behaviors that occur only during the actual operation of the service, that is, the runtime behaviors of the service. Throttling controls how many messages are processed, which can be varied if the demand for the service grows to a preset limit. An error behavior specifies what occurs when an internal error occurs on the service, for example, by controlling what information is communicated to the client. (Too much information can give a malicious user an advantage in mounting an attack.) Metadata behavior governs how and whether metadata is made available to the outside world. Instance behavior specifies how many instances of the service can be run (for example, a singleton specifies only one instance to process all messages). Transaction behavior enables the rollback of transacted operations if a failure occurs. Dispatch behavior is the control of how a message is processed by the WCF infrastructure.

Windows Communication Foundation :Contracts and Descriptions

Contracts and Descriptions
Contracts define various aspects of the message system. The data contract describes every parameter that makes up every message that a service can create or consume. The message parameters are defined by XML Schema definition language (XSD) documents, enabling any system that understands XML to process the documents. The message contract defines specific message parts using SOAP protocols, and allows finer-grained control over parts of the message, when interoperability demands such precision. The service contract specifies the actual method signatures of the service, and is distributed as an interface in one of the supported programming languages, such as Visual Basic or Visual C#.

How to create Keyboard Shortcuts in Windows XP

Keyboard Shortcuts in Windows XP

Download free digital media player application/software

iTunes is a digital media player application, introduced by Apple for playing and organizing digital music and video files. The program is also an interface to manage the contents on Apple’s popular iPod digital media players as well as the recently introduced iPhone. Additionally, iTunes can connect to the iTunes Store in order to purchase and download digital music, music videos, television shows, iPod games, audiobooks, various podcasts, feature length films, and ringtones.


Download iTunes

download free software for recording and editing sounds

Audacity is free, open source software for recording and editing sounds. It is available for Mac OS X, Microsoft Windows, GNU/Linux, and other operating systems.


Download Audacity

Download Windows Media Player 11

Windows Media player 11 is one of the best media player. But this version can be install only if you have a genuine version of windows operating system.

Click here to download Windows Media Player 11

List of all the certifications offered by IBM

Click IBM Certifications

Download Adobe GoLive

Adobe GoLive is an HTML editor from Adobe Systems. It replaced Adobe PageMill as Adobe’s primary HTML editor. The latest version of Adobe GoLive is version 9, and is not integrated as part of Adobe Creative Suite 3.

Download Adobe GoLive

Oracle :Difference between DBFile Sequential and Scattered Reads

Both "db file sequential read" and "db file scattered read" events signify time waited for I/O read requests to complete. Time is reported in 100's of a second for Oracle 8i releases and below, and 1000's of a second for Oracle 9i and above. Most people confuse these events with each other as they think of how data is read from disk. Instead they should think of how data is read into the SGA buffer cache.

db file sequential read:
A sequential read operation reads data into contiguous memory (usually a single-block read with p3=1, but can be multiple blocks). Single block I/Os are usually the result of using indexes. This event is also used for rebuilding the controlfile and reading datafile headers (P2=1). In general, this event is indicative of disk contention on index reads.

db file scattered read:
Similar to db file sequential reads, except that the session is reading multiple data blocks and scatters them into different discontinuous buffers in the SGA. This statistic is NORMALLY indicating disk contention on full table scans. Rarely, data from full table scans could be fitted into a contiguous buffer area, these waits would then show up as sequential reads instead of scattered reads.

The following query shows average wait time for sequential versus scattered reads:
prompt "AVERAGE WAIT TIME FOR READ REQUESTS"
select a.average_wait "SEQ READ", b.average_wait "SCAT READ"
from sys.v_$system_event a, sys.v_$system_event b
where a.event = 'db file sequential read'
and b.event = 'db file scattered read';

Oracle : Use ORADEBUG from Server Manager/ SQL*Plus

Execute the "ORADEBUG HELP" command from svrmgrl or sqlplus to obtain a list of valid ORADEBUG commands. Look at these examples:

SQLPLUS> REM Trace SQL statements with bind variables
SQLPLUS> oradebug setospid 10121

Oracle pid: 91, Unix process pid: 10121, image: oracleorcl
SQLPLUS> oradebug EVENT 10046 trace name context forever, level 12Statement processed.
SQLPLUS> ! vi /app/oracle/admin/orcl/bdump/ora_10121.trc
SQLPLUS> REM Trace Process Statistics
SQLPLUS> oradebug setorapid 2

Unix process pid: 1436, image: ora_pmon_orcl

SQLPLUS> oradebug procstat
Statement processed.
SQLPLUS>> oradebug TRACEFILE_NAME
/app/oracle/admin/orcl/bdump/pmon_1436.trc
SQLPLUS> REM List semaphores and shared memory segments in use
SQLPLUS> oradebug ipc
SQLPLUS> REM Dump Error Stack
SQLPLUS> oradebug setospid
SQLPLUS> oradebug event immediate trace name errorstack level 3
SQLPLUS> REM Dump Parallel Server DLM locks
SQLPLUS> oradebug lkdebug -a convlock
SQLPLUS> oradebug lkdebug -a convres
SQLPLUS> oradebug lkdebug -r (i.e 0x8066d338 from convres dump)

Oracle : Undocumented commands in Oracle

Look at these examples:

From Server Manager (Oracle7.3 and above): ORADEBUG HELP
It looks like one can change memory locations with the ORADEBUG POKE command. Anyone brave enough to test this one for us? Previously this functionality was available with ORADBX (ls -l $ORACLE_HOME/rdbms/lib/oradbx.o; make -f oracle.mk oradbx) SQL*Plus: ALTER SESSION SET CURRENT_SCHEMA = SYS;

Oracle :What is RMAN ?

Recovery Manager is a tool that: manages the process of creating backups and also manages the process of restoring and recovering from them.

Oracle :jobs schedule with OEM

OEM comes with pre-defined jobs like Export, Import, run OS commands, run sql scripts, SQL*Plus commands etc. It also gives you the flexibility of scheduling custom jobs written with the TCL language.

Oracle :Backout events and jobs during maintenance slots

Managemnet and data collection activity can be suspended by imposing a blackout. Look at these examples:

agentctl start blackout # Blackout the entrire agent
agentctl stop blackout # Resume normal monitoring and management
agentctl start blackout ORCL # Blackout database ORCL
agentctl stop blackout ORCL # Resume normal monitoring and management
agentctl start blackout -s jobs -d 00:20 # Blackout jobs for 20 minutes

Oracle : What is the OTA (Oracle Intelligent Agent)

The Oracle Intelligent Agent (OIA) is an autonomous process that needs to run on a remote node in the network to make the node OEM manageable. The Oracle Intelligent Agent is responsible for:

. Discovering targets that can be managed (Database Servers, Net8 Listeners, etc.);
. Monitoring of events registered in Enterprise Manager; and
. Executing tasks associated with jobs submitted to Enterprise Manager.

Oracle :Write scripts to send alert messages to the console

Start the OEM console and create a new event. Select option "Enable Unsolicited Event". Select test "Unsolicited Event". When entering the parameters, enter values similar to these:
Event Name: /oracle/script/myalert
Object: *
Severity: *
Message: *
One can now write the script and invoke the oemevent command to send alerts to the console. Look at this example: oemevent /oracle/script/myalert DESTINATION alert "My custom error message" where DESTINATION is the same value as entered in the "Monitored Destinations" field when you've registered the event in the OEM Console.

Oracle : Start the Oracle Intelligent Agent

One needs to start an OIA (Oracle Intelligent Agent) process on all machines that will to be managed via OEM.

For OEM 9i and above:
agentctl start agent
agentctl stop agent

For OEM 2.1 and below:
lsnrctl dbsnmp_start
lsnrctl dbsnmp_status

On Windows NT, start the "OracleAgent" Service.
If the agent doesn't want to start, ensure your environment variables are set correctly and delete the following files before trying again:
1) In $ORACLE_HOME/network/admin: snmp_ro.ora and snmp_rw.ora.
2) Also delete ALL files in $ORACLE_HOME/network/agent/.

Oracle :Get more information about TCL(Tool Command Language)

One can write custom event checking routines for OEM using the TCL (Tool Command Language) language. Check the following sites for more information about TCL:

. The Tcl Developer Xchange - download and learn about TCL
. OraTCL at Sourceforge - Download the OraTCL package
. Tom Poindexter's Tcl Page - Oratcl was originally written by Tom Poindexter

Oracle :Troubleshooting tips for OEM

. Create the OEM repository with a user (which will manage the OEM) and store it in a tablespace that does not share any data with other database users. It is a bad practice to create the repository with SYS and System.

. If you are unable to launch the console or there is a communication problem with the intelligent agent (daemon). Ensure OCX files are registered. Type the following in the DOS prompt (the current directory should be $ORACLE_HOME\BIN:

C:\Orawin95\Bin> RegSvr32 mmdx32.OCX
C:\Orawin95\Bin> RegSvr32 vojt.OCX

. If you have a problem starting the Oracle Agent Solution A: Backup the *.Q files and Delete all the *.Q Files ($Oracle_home/network/agent folder)

Backup and delete SNMP_RO.ora, SNMP_RW.ora, dbsnmp.ver and services.ora files ($Oracle_Home/network/admin folder) Start the Oracle Agent service.

Solution B: Your version of Intelligent Agent could be buggy. Check with Oracle for any available patches. For example, the Intelligent Agent that comes with Oracle 8.0.4 is buggy.
Sometimes you get a Failed status for the job that was executed successfully.
Check the log to see the results of the execution rather than relying on this status.

Oracle : Use the import/export utilities

Look for the "imp" and "exp" executables in your $ORACLE_HOME/bin directory. One can run them interactively, using command line parameters, or using parameter files. Look at the imp/exp parameters before starting. These parameters can be listed by executing the following commands: "exp help=yes" or "imp help=yes".

The following examples demonstrate how the imp/exp utilities can be used:

exp scott/tiger file=emp.dmp log=emp.log tables=emp rows=yes indexes=no
exp scott/tiger file=emp.dmp tables=(emp,dept)
imp scott/tiger file=emp.dmp full=yes
imp scott/tiger file=emp.dmp fromuser=scott touser=scott tables=dept
exp userid=scott/tiger@orcl parfile=export.txt

... where export.txt contains:

BUFFER=100000
FILE=account.dmp
FULL=n
OWNER=scott
GRANTS=y
COMPRESS=y

NOTE: If you do not like command line utilities, you can import and export data with the "Schema Manager" GUI that ships with Oracle Enterprise Manager (OEM).

Oracle : How to export a subset of a table?

From Oracle8i one can use the QUERY= export parameter to selectively unload a subset of the data from a table. Look at this example:

exp scott/tiger tables=emp query=\"where deptno=10\"

Oracle :Ways to incorporate images into a oracle forms application

Boilerplate Images

Image_items

Oracle : Import tables to a different tablespace

Oracle offers no parameter to specify a different tablespace to import data into. Objects will be re-created in the tablespace they were originally exported from. One can alter this behaviour by following one of these procedures: Pre-create the table(s) in the correct tablespace:

. Import the dump file using the INDEXFILE= option
. Edit the indexfile. Remove remarks and specify the correct tablespaces.
. Run this indexfile against your database, this will create the required tables in the appropriate tablespaces
. Import the table(s) with the IGNORE=Y option.

Change the default tablespace for the user:
. Revoke the "UNLIMITED TABLESPACE" privilege from the user
. Revoke the user's quota from the tablespace from where the object was exported. This forces the import utility to create tables in the user's default tablespace.
. Make the tablespace to which you want to import the default tablespace for the user
. Import the table

Oracle : What is SQL*Loader ?

SQL*Loader is a bulk loader utility used for moving data from external files into the Oracle database. Its syntax is similar to that of the DB2 Load utility, but comes with more options. SQL*Loader supports various load formats, selective loading, and multi-table loads.

Oracle : SQL*Unloader to download data to a flat file

Oracle does not supply any data unload utilities. However, you can use SQL*Plus to select and format your data and then spool it to a file:

set echo off newpage 0 space 0 pagesize 0 feed off head off trimspool on
spool oradata.txt
select col1 || ',' || col2 || ',' || col3
from tab1
where col2 = 'XYZ';
spool off
Alternatively use the UTL_FILE PL/SQL package:
rem Remember to update initSID.ora, utl_file_dir='c:\oradata' parameter
declare
fp utl_file.file_type;
begin
fp := utl_file.fopen('c:\oradata','tab1.txt','w');
utl_file.putf(fp, '%s, %s\n', 'TextField', 55);
utl_file.fclose(fp);
end;


Oracle : load data into multiple tables at once

Look at the following control file:

LOAD DATA
INFILE *
REPLACE
INTO TABLE emp
WHEN empno != ' '
( empno POSITION(1:4) INTEGER EXTERNAL,
ename POSITION(6:15) CHAR,
deptno POSITION(17:18) CHAR,
mgr POSITION(20:23) INTEGER EXTERNAL
)
INTO TABLE proj
WHEN projno != ' '
( projno POSITION(25:27) INTEGER EXTERNAL,
empno POSITION(1:4) INTEGER EXTERNAL
)

Oracle : . one selectively load only the records that one need

Look at this example, (01) is the first character, (30:37) are characters 30 to 37:

LOAD DATA
INFILE 'mydata.dat' BADFILE 'mydata.bad' DISCARDFILE 'mydata.dis'
APPEND
INTO TABLE my_selective_table
WHEN (01) <> 'H' and (01) <> 'T' and (30:37) = '19991217'
(
region CONSTANT '31',
service_key POSITION(01:11) INTEGER EXTERNAL,
call_b_no POSITION(12:29) CHAR
)

Oracle : one skip certain columns while loading data

One cannot use POSTION(x:y) with delimited data. Luckily, from Oracle 8i one can specify FILLER columns. FILLER columns are used to skip columns/fields in the load file, ignoring fields that one does not want. Look at this example: -- One cannot use POSTION(x:y) as it is stream data, there are no positional fields-the next field begins after some delimiter, not in column X. -->

LOAD DATA
TRUNCATE INTO TABLE T1
FIELDS TERMINATED BY ','
( field1,
field2 FILLER,
field3
)

Oracle : one load multi-line records

One can create one logical record from multiple physical records using one of the following two clauses:

. CONCATENATE: - use when SQL*Loader should combine the same number of physical records together to form one logical record.

. CONTINUEIF - use if a condition indicates that multiple records should be treated as one. Eg. by having a '#' character in column 1.

Oracle :Get SQL*Loader to COMMIT only at the end of the load file

One cannot, but by setting the ROWS= parameter to a large value, committing can be reduced. Make sure you have big rollback segments ready when you use a high value for ROWS=.

Oracle :Improve the performance of SQL*Loader

A very simple but easily overlooked hint is not to have any indexes and/or constraints (primary key) on your load tables during the load process. This will significantly slow down load times even with ROWS= set to a high value.

Add the following option in the command line: DIRECT=TRUE. This will effectively bypass most of the RDBMS processing. However, there are cases when you can't use direct load. Refer to chapter 8 on Oracle server Utilities manual.

Turn off database logging by specifying the UNRECOVERABLE option. This option can only be used with direct data loads. Run multiple load jobs concurrently.

Oracle : Use SQL*Loader to load images, sound clips and documents

SQL*Loader can load data from a "primary data file", SDF (Secondary Data file - for loading nested tables and VARRAYs) or LOGFILE. The LOBFILE method provides and easy way to load documents, images and audio clips into BLOB and CLOB columns.

Look at this example:

Given the following table:

CREATE TABLE image_table (
image_id NUMBER(5),
file_name VARCHAR2(30),
image_data BLOB);
Control File:
LOAD DATA
INFILE *
INTO TABLE image_table
REPLACE
FIELDS TERMINATED BY ','
(
image_id INTEGER(5),
file_name CHAR(30),
image_data LOBFILE (file_name) TERMINATED BY EOF
)

BEGINDATA
001,image1.gif
002,image2.jpg

Oracle : Difference between the conventional and direct path loader

The conventional path loader essentially loads the data by using standard INSERT statements. The direct path loader (DIRECT=TRUE) bypasses much of the logic involved with that, and loads directly into the Oracle data files.

CodeProject Latest Article

Combo & List Boxes
  • SQL Server Combo Control - Sorcerer1324
    Lists all instances of SQL Server found on a local network. (Unedited)
    VB (VB 9.0, VB), Windows (Windows, WinXP), .NET (.NET, .NET 2.0), SQL Server (SQL 2005, SQL Server), Visual Studio (VS2008, Visual Studio), Dev, Intermediate

Dialogs and Windows

  • MSIUninstaller.exe (console application) - thomasholme
    This tool allow you to easily remove all previously installed MSI packages. (Unedited)
    VB (VB 7.x, VB 8.0, VB 9.0, VB 6, VB), .NET (.NET, .NET 2.0), Win32, SysAdmin, Beginner

Ajax and Atlas

  • Simple ASP.Net AJAX Control - Aleš Hübl
    WebControl that handles client-server communication via AJAX (Unedited)
    Javascript, C#, Windows, .NET, Visual Studio, ASP.NET, Ajax, Dev, Beginner, Intermediate

  • nxAjax - An Ajax Library - nullEX_
    nxAjax is a .Net easy use Ajax Framework (Unedited)
    C# (C# 1.0, C# 2.0, C#), VB (VB 7.x, VB 8.0, VB), Javascript, CSS, HTML, .NET (.NET, .NET 1.0, .NET 1.1, .NET 2.0), ASP.NET, Ajax, Design, Architect, Dev, Intermediate, Advanced

Applications & Tools

  • Dot Net MailComposer - SHRIDHAR TL
    Composes mail message and sends it through your mail account provider. (Unedited)
    C# (C# 2.0, C# 3.0, C#), Windows (Windows, Win2K, WinXP, Win2003, Vista, TabletPC), .NET (.NET, .NET 3.5, .NET 3.0, .NET 1.1, .NET 2.0), Design, Beginner, Intermediate, Advanced

  • Address Book and Events Reminder - SHRIDHAR TL
    Maintaines your contacts and remaind you the evens at the time specified you you. (Unedited)
    C# (C# 2.0, C# 3.0, C#), SQL, Windows (Windows, TabletPC, Win2K, WinXP, Win2003, Vista), .NET (.NET, .NET 3.5, .NET 3.0, .NET 2.0), Visual Studio (VS2005, VS2008, Visual Studio), ADO.NET, Design, Intermediate, Advanced

ASP

ASP.NET

  • Software Architecture Interview Questions Part 2 ( Design pattern ) - Shivprasad koirala
    Interpreter , Iterator , Mediator , Memento and Observer Pattern (Unedited)
    C# (C# 3.0, C# 1.0, C# 2.0, C#), VB (VB 7.x, VB 8.0, VB 9.0, VB 6, VB), VBScript, F#, .NET (.NET, .NET 3.0, .NET 3.5, .NET 1.0, .NET 1.1, .NET 2.0, Mono, DotGNU), ASP, ASP.NET, ADO, ADO.NET, Ajax, Design, Architect

  • Software Architecture Interview Questions Part 3 State Pattern, Stratergy pattern,Visitor pattern, Adapter and fly weight - Shivprasad koirala
    Software Architecture Interview Questions Part 3 - Design patterns State Pattern, Stratergy pattern,Visitor pattern, Adapter and fly weight (Unedited)
    C# (C# 1.0, C# 2.0, C# 3.0, C#), VB (VB 7.x, VB 8.0, VB 9.0, VB 6, VB), VBScript, .NET (.NET, .NET 3.5, .NET 3.0, Mono, DotGNU, .NET 1.0, .NET 1.1, .NET 2.0), SQL Server (SQL 2000, SQL 2005, SQL CE, SQL Server), Visual Studio (VS.NET2002, VS.NET2003, VS2005, VS6, VS2008, Visual Studio), ASP, ASP.NET, ADO, ADO.NET, WCF, Ajax, Design, Architect, Beginner, Intermediate, Advanced

  • UML Interview Questions Part 1 - Shivprasad koirala
    UML Interview Questions Part 1 (Unedited)
    C++ (VC6, VC7, VC7.1, VC8.0, C++, VC9.0), C++/CLI, C# (C# 1.0, C# 2.0, C# 3.0, C#), VB (VB 7.x, VB 8.0, VB 9.0, VB 6, VB), UML, F#, .NET CF, .NET (.NET, .NET 3.5, .NET 3.0, Mono, DotGNU, .NET 1.0, .NET 1.1, .NET 2.0), SQL Server (SQL 2000, SQL 2005, SQL CE, SQL Server), Visual Studio (VS.NET2002, VS.NET2003, VS2005, VS6, VS2008, Visual Studio), MFC, ATL, ASP, ASP.NET, WCF, WPF, Ajax, Oracle, ADO, ADO.NET, Design, Architect, Beginner, Intermediate, Advanced

  • How do Convert IP Address to Country Name - aspxCode
    How do I retrieve the Country Name and Country Code from the IP Number? (Unedited)
    Javascript, CSS, HTML, XHTML, Ajax, ASP, ASP.NET

  • Efficient Server-Side View State Persistence - datacop
    Increasing the performance of your ASP.NET website by reducing the download footprint of your pages.
    C# (C# 2.0, C# 3.0, C#), XML, ASP.NET, Architect, Dev, Intermediate

  • Checking Request is Synchronous or Asynchronous in ASP.NET - Member 3422877
    How to check Request is of type synchronous or asynchronous in AJAX enabled ASP.Net application? (Unedited)
    Javascript, CSS, HTML, XHTML, Ajax, ASP.NET

  • A C# Wrapper for Google's Static Map API - psykoptic
    How to use the Google Static Maps API within .NET.
    Javascript, CSS, HTML, XHTML, C# 3.0, C# 2.0, .NET (.NET, .NET 3.0, .NET 3.5), ASP, ASP.NET, Intermediate

ASP.NET Controls

  • Easing data entry for Web Form users - jairamr
    Drop Down Web Control which tracks usage of list items and prunes the list based on usage (Unedited)
    C# (C# 1.0, C# 2.0, C#), .NET (.NET, .NET 1.1, .NET 2.0), ASP.NET, Dev, Intermediate

  • Asp.Net Basic Pager control - Tony Williams
    A basic ASP.Net Pager User Control (Unedited)
    C# (C# 2.0, C# 3.0, C#), .NET (.NET, .NET 2.0, .NET 3.5, .NET 3.0), ASP.NET, Dev, Beginner

Client side scripting

Silverlight

GDI

  • A simple win32 game: Bicho Hunting - rotter512
    This article describes how to easily transform an idea into a game, and some of the possibilities that the GDI offers to do this. (Unedited)
    C++, Windows (WinXP, Windows), GDI, Beginner

.NET Framework

  • Log4PostSharp - AOP and logging - Michal Dabrowski
    Article shows how to use the Log4PostSharp library to implement logging the AOP way. (Unedited)
    C# (C# 1.0, C# 2.0, C# 3.0, C#), .NET (.NET, .NET 2.0, .NET 3.5, .NET 3.0), Architect, Dev, Intermediate, Advanced

  • Make the debugger show the contents of your custom IList class - Qwertie
    How to make the debugger give the same special treatment to your custom IList as it gives to List. (Unedited)
    C# (C# 2.0, C# 3.0, C#), .NET (.NET, .NET 3.5, .NET 3.0, .NET 2.0), Visual Studio (VS2005, VS2008, Visual Studio), Dev, Intermediate, Advanced

  • A simplified .NET 2.0 version of XYNTService built for XP and VISTA - Xiangyang Liu 刘向阳
    The only windows service you will ever need, hopefully (Unedited)
    C#, Windows (Win2K, WinXP, Win2003, Vista, Windows), .NET (.NET 2.0, .NET), Visual Studio (Visual Studio, VS2005), CEO, Architect, DBA, Dev, QA, Design, SysAdmin, Sales, Marketing, Beginner, Intermediate, Advanced

Game Development

Libraries

Mobile Development

Windows Presentation Foundation

  • WPF Commands Return Value - Kobi Udi
    Allows WPF commands to interact back with the command sources (Unedited)
    C# (C# 1.0, C# 2.0, C# 3.0, C#), Windows, .NET (.NET, .NET 2.0, .NET 3.5, .NET 3.0), XAML, WPF, Architect, Dev, Advanced

C#

  • Rating of Open Source AOP Frameworks in .Net - V.GNANASEKARAN
    This article provides a methodology to rate the available open source AOP frameworks in .Net (Unedited)
    C# (C# 1.0, C# 2.0, C# 3.0, C#), Win Mobile, .NET CF, .NET (.NET, .NET 3.5, .NET 3.0, .NET 1.0, .NET 1.1, .NET 2.0), Visual Studio (VS2005, VS2008, Visual Studio), ASP.NET, Architect, Dev, Design, Intermediate, Advanced

  • Dynamic adjustment of field on the Crystal Report - Kashif Abbas
    This application will adjust the position of the fields in Crystal report, which are drag and drop during design time (Unedited)
    C# (C# 1.0, C# 2.0, C# 3.0, C#), .NET (.NET, .NET 2.0), Visual Studio (VS2005, Visual Studio), Dev, Intermediate, Advanced

  • Easy to use Wrapper (DLL) for Intel's OpenCV Library with Examples - Heiko Kießling
    The article describes an easy to use a wrapper for Intel's OpenCV lib with examples.
    C#, Windows, .NET (.NET 2.0, .NET, .NET 3.0), Visual Studio (Visual Studio, VS2005), GDI+, Dev, Intermediate

VB.NET

Algorithms & Recipes

  • The 24 Puzzle - Michael Birken
    Using the numbers 1, 3, 4 and 6, create an algebraic expression that equals 24.
    C#, Dev, Intermediate

Bugs & Workarounds

  • dotNetMSN Library Fix - BlueBit.uy
    How to fix dotNetMSN library to easily connects to MSN service (Unedited)
    VB (VB 7.x, VB 8.0, VB 9.0, VB 6, VB), Windows (Windows, WinXP, Win2003, Vista), .NET (.NET, .NET 2.0), Win32, Dev, Beginner, Intermediate

Cryptography & Security

Programming Tips

  • When, Why, and How: Code Analysis - Parasoft Corporation
    Adam Kolawa, Automated Defect Prevention co-author, shares practical tips on how to obtain real value from code analysis (Unedited)
    Windows (Win2K, WinXP, Win2003, Vista, Windows), .NET (.NET 1.0, .NET 1.1, .NET 2.0, .NET 3.0, .NET), CEO, Architect, DBA, Dev, QA, Design, Intermediate

Threads, Processes & IPC

  • Beginners Guide To Threading In .NET Part 5 of n - Sacha Barber
    Beginners Guide To Threading In .NET (Unedited)
    C# (C# 1.0, C# 2.0, C# 3.0, C#), .NET (.NET, .NET 3.5, .NET 3.0, .NET 1.0, .NET 1.1, .NET 2.0), Win32, WPF, Design, Architect, Dev, Beginner

  • SafeThread - Prevent Unhandled Exceptions in Secondary Threads - Steven A. Lowe
    Prevent unhandled exceptions in secondary threads using SafeThread (Unedited)
    C# (C# 1.0, C# 2.0, C# 3.0, C#), VB (VB 7.x, VB 8.0, VB 9.0, VB), Windows (Windows, TabletPC, NT4, Win2K, WinXP, Win2003, Vista), .NET (.NET, .NET 2.0), Visual Studio (VS.NET2002, VS.NET2003, VS2005, VS6, Visual Studio, VS2008), Architect, Dev, QA, Design, Beginner

Code Generation

  • Pseudo Code Modeling Language - BoneSoft
    Describes a short hand modeling language for specifying and rendering .Net code models quickly and easily. (Unedited)
    C# (C# 1.0, C# 2.0, C# 3.0, C#), Architect, Dev, Design, Intermediate

Design and Architecture

  • Half the Code in Twice the Time - DirectorWare
    The concept of "Half the code in twice the time" may seem backwards until we realize that there is a difference between the number of lines of code and the amount of functionality a given application provides. (Unedited)
    CEO, Architect, Dev, Design, Beginner, Intermediate, Advanced

  • NUnit Test Case Code Generator - msp.netdev
    Automatically generate NUnit test case code template starting from method to test
    C# (C# 2.0, C#), Windows, .NET, Visual Studio (Visual Studio, VS2005), Dev, QA, Intermediate

Book Reviews

Hardware & System

  • A HotkeyManager Class - VBDT
    The HotkeyManager class makes it easy to set global hotkeys for applications.
    VB (VB 8.0, VB), .NET (.NET, .NET 2.0), Visual Studio (VS2005, Visual Studio), Dev, Intermediate

Product Showcase

Articles updated added Last week

Edit Controls

Progress Controls

  • Two-Way Progress Bar - Elkay
    A Progress Bar User Control that uses a couple of intermediate level ComponentModel properties
    VB, Windows, .NET 3.0VS2005, Dev, Intermediate

Applications & Tools

ASP.NET

Client side scripting

Silverlight

Audio and Video

Database

.NET Framework

  • EasyHook - The reinvention of Windows API hooking - Christoph Husse
    Extending unmanaged code (APIs) with pure managed ones, from within your favourite NET language. Support for 64-Bit and latest Windows releases (Unedited)
    C++/CLI, C# (C# 2.0, C# 3.0, C#), Windows (Windows, Win2K, WinXP, Win2003, Vista), .NET (.NET, .NET 3.5, .NET 3.0, .NET 2.0), Win32, Win64, Architect, Dev, Intermediate, Advanced

  • A Fast/Compact Serialization Framework - .Shoaib
    A framework for object serializiation/deserialization that is many times faster and yields compact output.
    C#, Windows, .NET, Visual Studio, Dev, Intermediate

  • Global Mouse and Keyboard Library - CodeSummoner
    Easy-to-use library with global mouse and keyboard hooks and simulators. (Unedited)
    C# (C# 1.0, C# 2.0, C# 3.0, C#), .NET (.NET, .NET 3.5, .NET 3.0, .NET 1.1, .NET 2.0), Win32, Beginner, Intermediate

COM / COM+

  • Professional System Library: Introduction - Vitaly Tomilov
    Simplified and Unified way for accessing most frequently used information about Process, System and Environment (Unedited)
    C++ (VC6, VC7, VC7.1, VC8.0, C++, VC9.0), C++/CLI, C# (C# 3.0, C#, C# 1.0, C# 2.0), VB (VB 7.x, VB 8.0, VB 9.0, VB 6, VB), VBScript, Office, Windows (Windows, Win2K, WinXP, Win2003, Vista, TabletPC), .NET (.NET 3.0, .NET, .NET 3.5, .NET 1.0, .NET 1.1, .NET 2.0), Win32, Win64, ATL, COM, Architect, Dev, QA, SysAdmin, Beginner, Intermediate, Advanced

Game Development

  • Star Trek "Galactic Conquest" Game Contest Submission (Java) - Robert Bettinelli
    Star Trek "Galactic Conquest" Game Contest Submission (Java) (Unedited)
    C++, C++/CLI, C, C#, Javascript, JScript .NET, Windows (Windows, NT4, Win2K, WinXP, Win2003, Vista, TabletPC), Dev, Design, Beginner, Intermediate, Advanced

Libraries

  • LiteZip and LiteUnzip - Jeff Glatt
    Easy to use, small-footprint DLLs to let your app create zip archives, and extract the contents of them. Useful for C, C++, VB, and other languages. Works for Win32 and Linux (Unedited)
    C++, C, Windows, Dev, Beginner, Intermediate

LINQ

MFC

Mobile Development

  • Writing Your Own GPS Applications: Part 2 - Jon Person
    In part two of the series, the author of "GPS.NET" teaches developers how to write GPS applications suitable for the real world by mastering GPS precision concepts. Source code includes a working NMEA interpreter and sample high-precision application in C# and VB.NET.
    C#, VB, .NET CF, TabletPC, Embedded, .NET 1.0, .NET 1.1, .NET 2.0, NT4, Win2K, WinXP, Win2003, VistaVS.NET2002, VS.NET2003, VS2005, Architect, Dev, Beginner

  • Writing Your Own GPS Applications: Part I - Jon Person
    What is it that GPS applications need to be good enough to use for in-car navigation? Also, how does the process of interpreting GPS data actually work? In this three-part series, I will cover both topics and give you the skills you need to write a commercial-grade GPS application.
    C, C#, VB, .NET CF, .NET 1.1, NT4, Win2K, WinXP, Win2003VS.NET2002, VS.NET2003, VS2005, Dev, Beginner

Windows Presentation Foundation

  • Simple slide game using Viewbox - Sacha Barber
    A simple 9 peice puzzle using ImageBrush.ViewBox (Unedited)
    C# (C# 3.0, C#), .NET (.NET, .NET 3.5), WPF, Design, Architect, Dev, Intermediate

  • WPF UserControl == DataTemplate!!! - Jammer
    Demos how to use a WPF UserControl as a DataTemplate (Unedited)
    C# (C# 3.0, C#), XAML, WPF, Design, Dev, Intermediate

C / C++ Language

C#

  • Another DataGridView Printer - aureolin
    DataGridView printing encapsulated in a stand-alone object. Very easy to use! Updated to allow printing columns wider than one page. (Unedited)
    C# 2.0, Windows, .NET 2.0VS2005, Dev, Intermediate

  • Programming XPath with VTD-XML - Jimmy Zhang
    Learn to take advantage of VTD-XML's stateless XPath capability to achieve unmatched efficiency and flexibility (Unedited)
    C# (C# 1.0, C# 2.0, C# 3.0, C#), XML, XSLT, Office, Mobile, .NET (.NET, .NET 3.5, .NET 3.0, .NET 1.0, .NET 1.1, .NET 2.0), NT4, Win32, Visual Studio (VS.NET2002, VS.NET2003, VS2005, VS6, VS2008, Visual Studio), Dev, Intermediate

  • Firefox Bookmark Manager by C# and XML - Mohammad Dayyan
    Firefox bookmark manager
    C# (C# 1.0, C# 2.0, C# 3.0, C#), XML, Windows (Windows, WinXP, Vista), .NET (.NET, .NET 3.5), Visual Studio (VS2008, Visual Studio), LINQ, Intermediate

VB.NET

  • Screen Capture Class - VBDT
    The SCapture class allows an application to capture still screen images (Unedited)
    VB (VB 8.0, VB), .NET (.NET, .NET 2.0), Visual Studio (VS2005, Visual Studio), Dev, Intermediate

Algorithms & Recipes

  • Image Alignment Algorithms - Oleg Krivtsov
    Implementing the Lucas-Kanade and Baker-Dellaert-Matthews image alignment algorithms.
    C++ (VC8.0, C++), C, Windows, Dev, Advanced

  • ZipStorer - A Pure C# Class to Store Files in Zip - Jaime Olivares
    Small C# .NET 2.0 class to store and extract uncompressed files in new or existing Zip files, without any external library
    C# 2.0, Windows, .NET CF, Mobile, .NET 2.0VS2008, Dev, Intermediate

  • Generate Meta-Strings for Testing Your Application - MarkLTX
    A utility for generating self-describing strings that are useful for testing an application's string handling abilities.
    C# 2.0, Windows, .NET 2.0VS2005, Dev, QA, Intermediate

Threads, Processes & IPC

Code Generation

  • Automatically Create Data Access Layers and Business layers from a Microsoft Access or SQL Server databases - icemanind
    Automatically Creates Data Access Layers and Business Layers from a Microsoft Access or SQL Server Database. (Unedited)
    C# (C# 3.0, C# 1.0, C# 2.0, C#), VB (VB 7.x, VB 8.0, VB 9.0, VB), SQL, Windows (Windows, Win2K, WinXP, Win2003, Vista), .NET (.NET, .NET 3.0, .NET 3.5, .NET 1.1, .NET 2.0), ASP.NET, Win32, SQL Server (SQL 2000, SQL 2005, SQL Server), Visual Studio (VS.NET2003, VS2005, VS2008, Visual Studio), ADO.NET, Design, SysAdmin, Architect, DBA, Dev, Beginner, Intermediate, Advanced