Memory mapped files use the system's memory manager and let you treat large files as if they were in-memory objects, supporting extremely large file access, faster access, and multiple, simultaneous processes accessing the same file.
More articles by Paul Kimmel
Paul Kimmel is an architect for TriState Hospital Supply Corporation and the co-founder of the Greater Lansing Area .NET Users Group (glugnet.org). Look for his new book, UML DeMystified (McGraw-Hill/Osborne, October 2005), and his upcoming book, C# Express for Professional Programmers (Addison-Wesley, Spring 2006). If you have a programming question you can contact him at firstname.lastname@example.org.
Learn about the history of debugging and evolutionary improvements in Intellisense in VS2010.
Using an anonymous type in VB, which is essential for technologies like LINQ, means that the compiler will generate a class for you based on context and named initializers saving you time and effort. To learn more read on.
Add ultimate flexibility and power to your programs with function parameters and Lambda Expressions.
Follow these simple steps to let users upload image files and display them as thumbnails in ASP.NET.
Sometimes when you have all kinds of data what you really need is XML. LINQ to XML let's you employ functional construction to convert your data into XML.
Skins and themes make it much easier to quickly, uniformly, and easily change the way your web application looks.
Obtain client-specific information from your Web application using ActiveX, which only works with Internet Explorer and browsers that have ActiveX extensions.
Programming is hard,debugging is hard. Doing both well is critical to being a good programmer. To make things easier for us Paul Kimmel demonstrates how to run custom Tracepoint with macros.
OP-ED: Unlike the Illuminati, the IEEE exists, and they have a secret. This secret helps them turn out shiny MP3 players, phones, and computers with processing power than we programmers can figure out how to use. This is how they do it. When will developers learn the same truths?
Providing a drop down list in your ASP.NET Web applications help users avoid wasting time with bad data and it's a kinder, gentler thing to do.
Discover how to render an image directly from a database using an IHttpHandler and how to modify the image on its way to the client using GDI+.
You can respond to every HTTP request. Just implement event handlers or an IHttpModule (which is a cool way to write a re-deployable solution for multiple projects).
How do I hide the unneeded features? Don't cut corners just because budgets and staff are being cut.
The security-hole testing that hackers engage results in a sparring match where security-conscious companies like Microsoft are forced to—well, make life harder on the rest of us.
Old school programming, whereby the programmer reads control values and writes inline SQL, still works, but it's so 90s. If you are new to WinForms or Web programming but experienced, peruse the article and then master LINQ.
Elevate your SQL game (a little bit) with CROSS APPLY and OUTER APPLY.
Devexpress has a commitment to providing amazing ASP.NET (and other controls), such as their latest revision of their ASPxGridView, version 8.3, which supports filtering, grouping, sorting, and much more, with little or no coding on your part.
Round those corners and make your user interfaces a little jazzier with a rounded rectangle Panel control; a fun chunk of code to incorporate into your application.
Few projects end up having too much time. Successfully completing a project often depends on tackling core, significant, and risky aspects of any custom solution first—like the long hard march up hill—and finishing with the trim, or cosmetic work, last.
Emitted code and the DynamicMethod have the benefit of speed and the emitted code can be unloaded when the DynamicMethod goes out of scope, resulting in the best of all worlds.
Use Reflection.Emit to speed up Reflection intensive processes by writing one general algorithm that emits a specific solution.
When handed a crate of lemons, make lemonade. Success in a tough economic climate is about perspective and attitude.
One general-purpose algorithm, written one time, is a great time saver for programmers.
Some things that seem hard are actually quite easy, and some things that seem easy take a little work, like that little [X] on a Windows Form, the ControlBox. Learn how to know just when that little bugger is pressed.
The MenuStrip and ToolStripMenuItem are a little harder to use than the Menu from earlier versions of VB. Walk through exercises using the MenuStrip, ToolStrip, and the Command behavior pattern to encapsulate a Recents menu for your applications that operate on files.
Wisdom is figuring out whether every time you encounter a pointy-headed manager you are going to roll over and save your sanity (and possibly your job) or stand up, be counted, and risk greatness or the guillotine. There is a temporary sense of safety in staying with the herd, but all herd-roads lead to the butcher.
Let the .NET Framework write your XML Schema document (XSD) for you.
Learn to add attachments to hyperlinks that contain email addresses by using a little bit of VBA.
LINQ to SQL eliminates SQL Injection Attacks and is easier to use than straight SQL to boot.
The .NET framework is full of small, discrete, and useful classes and big chunky bits. When you start combining the chunky bits, like LINQ to SQL and Windows Communication Foundation, things get interesting real fast.
Developers working at all levels of experience can take advantage of this technique. Discover how to invoke a stored procedure with parameters using the AddWithValue method of the SqlParameterCollection to define SQL parameters in one step.
If a person or group does something successfully one time, ten times, or a hundred times, there is an increasingly better chance that group will succeed again. All of the books in the world won't turn a ten year old kid into Gordy Howe or Wayne Gretzky. There is an element of talent. Find the talent.
ADO.NET 3.0 and the ADO.NET Entity Framework are designed to let you spend less time writing SQL and database plumbing code and more time working in the space of the problem you are trying to solve.
By using LINQ for XML for Objects (aka LINQ to XSD), you can define an XML document and an XML Schema that then can be treated like any other data repository. Discover how Visual Studio makes this easy by generating strongly typed object wrappers that are easy to use.
VB.NET can do anything C# can do. VB.NET is a first class language with all of the object-oriented elements that support mega-enterprise software development. Why then do some outspoken VB programmers feel like they are treated like second class citizens? I say it's a state of mind.
Dynamically construct XML documents in code quickly and easily with LINQ to XML and Functional Construction.
Control the SQL Server service from your VB code using SQL Management Objects (SMO).
Build your applications with built-in "mock types" (aka "services stubs") to facilitate continued development and unit testing even when essential systems services are unavailable.
Learn how to use literal XML with VB9 and embed expressions, such as LINQ queries, in the XML.
Failure rates for custom software projects are astronomical. A few relatively simple choices in how you spend your time and focus your energieswithout all the voodoo of the latest fad processwill make all the difference in the world.
Learn how to implement a Left Outer Join with LINQ.
Learn how to use regular expressions in Visual Studio's Quick Find and Quick Replace dialog for improved code replacement.
You can use LINQ to SQL to define an Object Relational Mapping between SQL tables and then query those tables with LINQ.
Range variables are powerful and flexible. Discover why they are critical to mastering LINQ queries.
Learn how to define Lambda Expressions that perform an action without a return value.
Successful software projects have to begin with the premise that a fixed price, time, and project that is accurate may be a fantasy because there are too many unknowns—people sometimes being the worst offenders. Fix a time and price to what can be fixed and pay for what must be paid for.
Discover a utility for quickly obtaining and managing rectangles within rectangles. The rectangles then can be used to do things such as manage the layout of dynamically generated forms or visualize LINQ queries.
Intellisense is a programmer's best friend. The framework is too big to memorize, but Intellisense can make finding things manageable. Extend Intellisense into your own code with XML comments in Visual Studio 8 and 9.
A Monday morning quarterback is a person who, after the event, offers advice or criticism concerning decisions made by others; or, one who second guesses. Too many Monday morning quarterbacks on Sunday evening can screw up your Focus IQ. Learn what "Focus IQ" is, why you want the score as high as possible, and how to get it there.
Gain an understanding of the difference between Lambda Expressions generated as code and those generated as expression trees. Explore the expression tree and briefly touch on how API developers uses expression trees to convert expressions to other forms, such as to T-SQL.
Everyone has ideas about how to build software. Explore some common fallacies and collect some hints that may help you along the way. All of the ideas are the opinion of the author (who is sometimes wrong).
C++ programmers aren't the only ones who can write code so obtuse that it's nearly indecipherable. Now, VB9 programmers can compete with obscure code by using Lambda Expressions and Currying. But, is this a good thing? Explore Lambda Expressions and Currying, but the jury is still out whether or not currying is a good thing. It's definitely cool.
Discover how to condense your code by using new generic delegates and Lambda Expressions to accomplish more while writing less.
Learn how to implement partial methods and know where to expect them.
See how a setup project with a custom action lets the user define the connection string using the Data Links dialog and encrypt that connection string using RSA encryption.
Learn to use keyed anonymous types in VB9.
Learn how to estimate projects (the tangible and intangibles) effectively in the real world to ensure success.
Learn how to implement a Fraction's class—which is ideally suited for overloaded operators and how to overload operators in Visual Basic.
There's no need to store file system paths in a database. Just store images in your database and then directly load them to your ASP.NET pages.
Knowledge, flexibility, and the discretion of smart individuals beats a one-size fits all rule book any day.
Think you know about VIEWSTATE within ASP.NET? Learn how to fully implement VIEWSTATE in new and efficient ways in ASP.NET 2.0.
Lambda Expressions provide a powerful and concise method of writing in-line code within Visual Basic, especially useful when working with LINQ queries. Learn how to implement Lambda in Orcas (VB9) before the next beta.
Anonymous types (or projections) are a new feature that permits you to define strong types on the fly without writing the nominal—full class—definition. Learn how to implement Anonymous types in VB9.
Extension Methods permit programmers to add behavior to a class without creating a wrapper. Here, you will learn how to implement Extension Methods in Visual Basic and .NET.
You've learned how to render graphics with GDI+ and ASP.NET. Take the next step and learn how to dynamically update images with AJAX.
Tired of checking database entries for null values? Learn how you can use Nullable types to make fields and properties accept nulls.
SAP integration with Windows is possible and basic operations aren't impossible but can be challenging. Here you will find an opener for VB.NET programmers who might be working on an SAP implementation and integration with non-SAP systems.
Web forms do not have a canvas, so you can't ask a Web form for its Graphics object. But, you can simulate this behavior by rendering graphics in ASP.NET—with some help from GDI+.
Participating in your local .NET users group can lead to greater job satisfaction, money, and prestige. Don't doubt it; the author is living proof.
Microsoft relaxed delegates in VB 8.0 to provide more options for binding event handlers to events. Some further relaxation is in store with the upcoming VB 9.0 release. Find out how it works.
Attention VB programmers: Dynamic identifiers are not just weakly typed variants extended to C#. Find out what this new technology is and why it's better than what you're used to.
The write part of managing a data access layer is where things can go awry. Writing requires managing changes, validation, and transactions. Learn how to handle the challenge.
Reliability is a by-product of beautiful code, so conscientious programmers care about the look of their code. But who's got the time to write beautiful code when deadlines and end users couldn't care less what the code looks like?
A useful data access layer (DAL) makes managing persistence easier than writing CRUD behaviors all over your code. Learn to build a flexible, simple one that does just that with a relatively few lines of code.
Why do so many .NET programmers prefer to write custom objects instead of using ADO.NET objects? More control, for one. Read on to find out the other reasons.
What does .NET's LINQ (Language INtegrated Query) have to offer the VB developer? Read on to find out.
Want to test just how broad and expressive a language C# is? Learn how to implement nested functions for C#, which so closely models nested functions that nested behaviors practically exist already for the language.
There's an easy way to manage the complex ASP.NET presentations that involve nested grids and controls. Learn a reliable approach that leverages the observer pattern.
Take the tedium out of building complex GUIs in ASP.NET by creating nested GridView controls.
The Whammy debugging tool permits you to use the .NET Framework to add detailed tracing information to your application in a very unobtrusive way.
Employ some useful .NET features to build an auto profiler, which a consumer can use to time any statement, method, or larger block of code just by calling a couple of methods.
Implement the generic interface IComparer with some reflection, and .NET will provide sorting that compares just about any property of any object. See how it's done.
With VB.NET, you can manufacture idioms as advanced as the union construct, which you previously found in complex languages like C++.
Have you ever wanted basic output to go somewhere besides the console in .NET? Learn how to redirect Console output streams to a TextBox instead of the command window.
What young programmers have in energy, we veteran programmers have in experience. Find out how to use that experience to stay one step ahead of the eager youngsters.
Cascading Style Sheets have all kinds of filters that add neat effects to your Web pages. Learn how the gradient filter adds gradient coloring.
Learn how to use two new ASP.NET Web controls, the GridView and the Panel, styles, effectively to create a scrollable grid with a fixed header.
With access modifiers, you can determine who has access to certain information in your code and who doesn't. Learn some simple rules that will help you quickly determine which modifier to use and when.
Using XML to store configuration settings is a great idea, and thanks to the My feature, you don't have to learn XML to do so.
Microsoft introduced new pricing schemes and changed its MSDN subscription programs with the launch of Visual Studio 2005. Find out which option is best for you.
Refactoring can improve the internal structure of your VB code without changing its external behavior. Use it to remove the subjectivity of what is good code and what is less-good code.
Learn how the TransactionScope object enables you to auto-enlist database operations in your ADO.NET transactions.
Part code-generating factory, part proxy pattern, and part façade pattern, the My feature makes VB.NET a little simpler to use by acting as a cue for the VB compiler to substitute it with more verbose code.
Can the average programmer still make money on the Internet after the dotcom bubble burst? Paul Kimmel believes that history tells us yes.
Visual Studio 2005 and .NET 2.0 support binding to traditional data sources and custom objects based on the capabilities of the CodeDOM, typed DataSets, and changes to Forms designers.
Until the .NET Framework controls are thread safe, you will have to use Control.Invoke and delegates to marshal data from background worker threads to the Windows Form thread.
Software projects fail because some critical management principles remain largely ignored. Find out what the prerequisites are for building software as quickly as humanly possible.
Partial classes separate out all of the plumbing that the .NET form designer adds to forms and give VB.NET programmers the clean code-behind experience they're used to. Learn how to use them.
Garbage collection does not determine when resources are collected, so it's up to you to protect classes employing finite resources that need some deterministic cleanup. Learn how the using block—a shorthand version of the try-finally block—enables you to do so.
Imagine a day when tiny bits of code automatically generate more code based on any factor a programmer desires. That day may be right around the corner.
Uploading images in Web applications isn't nearly as simple as you may think. Learn the mechanicsand frustrationsof permitting image uploads, saving images, and rendering images.
Learn how to install, configure, and use the MS Search Engine with SQL Server. Once installed, MS Search permits you to perform fuzzy searches of small and large amounts of character-based data.
Paul Kimmel says tests are impersonal, impractical, and inefficient for evaluating potential. Worst of all, they promote laziness in personnel departments that use them as the determining factor for hiring.
You can employ macros to write code for you. Learn how to use the macro engine in VS 2005 to write a code generator that implements the refactoring Encapsulate Field for VB.NET.
With .NET 2.0 offering support for generics, learn how to define generic methods and classes and use the generic classes in .NET.
Paul Kimmel sends up the IT workplace with another parody based on the comedy of Jeff Foxworthy. Depending on how close to home these comical scenarios hit, you may not know whether to laugh or cry.
Anonymous methods haven't shown up in the current beta version of VB.NET 2.0. Paul Kimmel predicts that they will in upcoming releases and shows what they might look like.
VB.NET 2.0 enables you to utilize overloaded operators, which not only are easy to implement but also can provide your classes with intuitive operators. Learn how to use this powerful feature.
Implement Paul Kimmel's Radio pattern to separate internal messaging within an application. Along the way, you'll learn how to create a reusable custom application block for the same purpose.
Think .NET code snippets are just about dragging and dropping some reusable code into the toolbox? Guess again. Code snippets in Visual Studio 2005 are far more useful. Find out why overlooking them would be a mistake.
The good news about UML is it provides software developers an industry-standard language to describe problems and solutions. The bad news is it has sparked the same good-versus-bad debates that they fought over C# and Visual Basic .NET.
Learn how to add a connection string to your app.config file in Visual Studio 2005, encrypt that connection string, and introduce a tool for automatically encrypting connection strings for ASP.NET.
Visual Studio 2005 builds on the flexibility of XML to condense the process of creating templates. Paul Kimmel demonstrates how you can take advantage of this function.
Many people who understand OOP well enough to use it are trying to create it too. Paul Kimmel says that's often when OOP becomes POO.
Learn about 'Object Tool Bench,' which is sure to become one of your favorite tools in the forthcoming 2005 version of Visual Studio.
With the introduction of the My object in VS 2005, Microsoft is still finding innovative ways to increase productivity without making VB.NET a second-class language.
Learn the ins and outs of .NET remoting and event handling in VB .NET with an examination of the supporting code in a simple chat client and server application, including the use of the command, observer, singleton, and factory patterns.
See how to implement a client's configuration file in VB .NET so that the client can talk to your server, and find out why clients that handle server events have to be remotable.
Paul Kimmel says the next big paradigm shift in programming will be based on .NET. Find out what he predicts VB's role will be in this coming change, and why he wonders whether Microsoft dropped the ball with VB.NET.
It was a close call when deciding the best Developer Tool, but in this case, nature ruled.
Paul Kimmel speaks out on behalf of all the mistreated contractors out there.
Learn how to encrypt offline data, .NET style. Paul Kimmel offers you the opportunity to experiment with ADO.NET, XML serialization, streams, and the DPAPI—technologies you can use to encrypt user data.
Have you wondered how to apply polymorphism across Web services? Wonder no more. Paul Kimmel reviews polymorphism, demonstrates XML Web services, and most importantly, shows you how to combine polymorphism and Web services.
Choosing between XML Web services and .NET remoting isn't a hard decision. Just use XML Web services almost all of the time, says Paul Kimmel.
Using .NET Remoting, learn how to configure a remote server, define remotable objects, and define custom event arguments and delegates. Do all of this while creating a simple chat application!
When choosing between .NET Remoting and Web services for your distributed applications, XML Web services are the right call most of the time. Learn how to produce and consume these Web services.
Dear Santa, all Paul Kimmel wants for Christmas is code that employs whole words and a sane use of capitalization, abolishing funny prefix characters and prefix notations. Is he asking too much?
ADO.NET's SQL command builder reads a schema and generates SQL for you; this can be an excellent timesaver in the appropriate circumstances. When applied with sound judgment, this technique is a nice shortcut.
If you're a Visual Basic .NET programmer who has to write stored procedures for MS SQL Server, this article is for you. Learn how to isolate SQL code from VB.NET code to clearly create divisions of labor and focus for your solution.
Paul Kimmel demonstrates the implementation of a Windows GUI for an FTP client, and along the way, presents the skills you need to complete the FTP solution or similar kinds of applications.
If you asked Charlton Heston, Moses in the epic film The Ten Commandments, to list 10 useful commandments for programmers, Paul Kimmel believes this would be his answer.
Paul Kimmel gives you all you need to write a complete implementation of an FTP client in managed code. Once you create a socket and an IPEndPoint, and decipher the data you will receive from the other end point, you are well on your way to writing connected software.
Want to create non-rectilinear controls for custom Windows software development? Learn how to convert a custom three-dimensional shape primitive into a shaped control with .NET and GDI+.
Paul Kimmel offers an ode to the symbiotic relationship between the programmer and the tester, positing that software quality suffers when one generalist assumes both roles.
Three-dimensional primitive shapes are conspicuously absent from the .NET Framework and GDI+, but that didn't stop Paul Kimmel from implementing a 3D cube primitive. Read all about his results.
Implement a section handler that coverts an XML node from a bunch of spurious individual values into a strongly typed object.
If every project you work on has a schedule before it has a plan, you might be suffocating in a constipated bureaucracy. That's just one of the 36 workplace quips you'll find as Paul Kimmel does for programmers what Jeff Foxworthy did for rednecks.
You can track the number of projects, files, and lines of code in any given solution implemented with VS.NET. Just invoke a built-in, lines-of-code counter in VS.NET and implement it as a macro that other teams can share.
Why do you keep accepting the impossible project schedules that managers saddle you with when they lead only to unrealistic expectations with no real buy-in? Paul Kimmel tells you how to fight back.
Paul Kimmel introduces the VS.NET Macros IDE and gets you started on implementing the LineCounter tool. By using VS.NET's extensibility object model in conjunction with macros, you can automate a wide variety of tasks to extend and customize VS.NET.
This first article of a three-part series provides your software development team with a starting point for productivity improvement: measuring lines of code and evaluating them relative to your production schedule.
Paul Kimmel says the software industry frequently chooses instant gratification over sound software design. He explains why this compulsion exists and how it causes a huge percentage of software projects to fail.
Learn the basics of embedding a Windows Forms control in ASP.NET and gain an understanding of why this isn't the correct approach and why smart clients are.
Paul Kimmel offers some straightforward discussion and insights on this current trend, including some historical perspective, where we are now, possible outcomes, ways to protect yourself, and how international outsourcing might unfold.
Knowing the difference between using flags, inheritance, and polymorphism, or employing a pattern and making a considered decision about which to use represents mastery. Choosing correctly is art.
Learn how to create a wrapper for the Windows Multimedia Library that makes adding sound to your applications very easy. Along the way, you'll discover how the Declare statement imports APIs in .NET.
Having dealt with customer environments where VS.NET was installed without IIS, Paul Kimmel offers his notes on how to recover when you can't run or create projects because someone forgot to install a necessary prerequisite.
See how you too can become a hyper-productive programmer.
Combine NUnit and TraceListeners to create great test libraries.
The Data Form Wizard is a tool in VB6 that permits you to pick a table, and it generates a data-aware form and incorporates that form into your project.
Learn how to create a dropdown-style calendar control right in one page, eliminating an extra page and post back to the Web server to open and close the calendar.
Learn how to incorporate searching into your Web site. Specifically, see how to configure and prepare the Indexing Service.
Learn to tap into the Windows cards.dll to give your card games the same professional look used in Windows' card games!
Explore how to debug a hosted assembly in .NET using a Blackjack program as an example.
Three aspects of .NET programming can make debugging and testing a ton of fun and help you come off as a real pro when you deliver bulletproof code.
Discover a more advanced mechanics to help you find a balance in the artistic dance that is useful structured exception handling.
No error handling code and your application is doomed to the scrap heap. Too much, misapplied, or a poor application of error handling code and your error handling code causes the bugs. Learn about avoiding Errorcide!
Some very wise observations.....
Instrumentation and application blocks seems to be a current trend in technology. If a trend is useful and doesn't require us to stab a hole in our tongues, then it's worthy of a look!
You can generate perfect SQL even if you aren't a SQL programmer, and you never have to leave Visual Studio .NET for most of your day-to-day SQL tasks.
With just a modest amount of work you can prepare your Visual Basic .NET applications for customers that speak other languages.
If you want to conceal chunks of data like connection strings or data written to a database or XML file then you could use the simplified class resting on the CryptoAPI demonstrated in this article.
Learn the technical aspects of defining an XML schema, generating a typed DataSet, initializing, and using that typed DataSet within Visual Basic .NET.
Just for fun, expert Paul Kimmel provides his recipe for building a successful project.
If you want to learn a bit about COM Interop or how to incorporate the Data Link Properties applet seamlessly into your Visual Basic .NET application then this is a good article for you.
While DataGrids can be nested easily, successfully repeating or nesting a DataGrid and getting the edit and update behavior to respond correctly is more of a challenge.
Learn how to intersperse HTML table rows and cells across DataList templates to intimately manage the appearance of a DataList. In addition, learn how to nest a DataGrid in a DataList, and learn the best way to manage the presentation and code-behind for control nesting by using a UserControl.
Discover the basic technique for binding any data source to a DataList and DataGrid in .NET. Also learn the basics for defining a data binding statement for the template sections of a DataList.
Expert, Paul Kimmel continues his two part article showing you how to turn up your productive output by using macros in Visual Studio .NET to write simplified code generators.
Become a super productive programmer! Turn up your productive output by using macros in Visual Studio .NET to write simplified code generators.
Learn to capture and react to keyboard presses by your users. Paul discusses hooking into keyboard information using the Windows API and Visual Basic .NET.
Is Visual Basic .Net keeping up? The Common Language Specification defines the minimum things that a language must support to be .NET compliant. There are optional features including a feature that involves events.
Creating a code generator that generates all of the code for a .NET Windows Form. Paul Kimmel continues his discussion on the CodeDOM.
There is no way Microsoft could know in advance what all of the types programmers would return from an XML Web Service. Caught between a rock and a hard place, Microsoft wanted to make Web Services easy to consume, but there is no one-size fits all client-side proxy. The solution was found in the CodeDOM.
NUnit is an open source, testing framework for all .NET languages. The big payoff is that NUnit can run tests automatically, and it can be integrated as part of your build, test, and deployment lifecycle. See it in action with Visual Basic .NET...
Provide custom editing in the Visual Studio .NET Properties window when the basic text-input editing features aren't satisfactory. Learn to build a UITypeEditors.
In this first of a two part article, learn how to marry the power of regular expressions to a Windows Forms text box. The regular expression will play the role of input validator.
Paul continues his discussion on stored procedures and Visual Basic .NET.
Stored procedures are an excellent way to optimize complex business solutions for database applications. Learn how you can edit and run stored procedures in Visual Studio .NET and how to incorporate them into your Visual Basic .NET applications.
While at Comdex, Visual Basic author and presenter, Paul Kimmel, was asked the question, 'Where is Visual Basic 7?' Paul helps to alleviate the concerns that Microsoft has abandoned Visual Basic.
A mainstay of software engineering is a concept called tracing. The basic idea is that you insert statements into your code that provide information about your application while it is running. (.NET)
It is possible to do just about anything in Visual Basic 6. To acquire a low-level hook into the keyboard, there is quite a bit of cryptic information involved. Paul makes it easy by showing you the several Windows API methods and the details for accomplishing this.
The language may change, but people still want to know: How do you manage keyboard state in Visual Basic? Paul covers Visual Basic 6 and Visual Basic .NET!
There are a number of ways to manage the session state of a Web application. Learn the steps you need to take to configure your server and to work with session state.
Learn about the refined behavior of the Default modifier and how you can define indexers for your custom, typed collections. These default indexers will allow you to index elements of an object using the customary integer as well as a string key value. (Visual Basic .NET)
A convenient way to cross-pollinate learning with advanced subjects is to create project and item templates. By creating and sharing these templates you will find it easier for every member of your team to take advantage of every aspect of Visual Studio .NET. (Visual Basic .NET)
Learn about the Microsoft's Mobile Internet Toolkit, which can be used with .NET to create mobile device applications.
Don't like to wait on your Web Service? Don't! Explore how to create asynchronous Web Services using Visual Basic .NET.
Paul Kimmel steps back and in his newest article shows how to implement OLE Automation using Visual Basic 6.
Paul Kimmel varies from his usual topic of VB.NET to discuss events and event handlers in VB6 in response to readers' requests.
Having experience in a procedural language provided a developer with the underlying idea of enumerators; however, there is a small gap to cover if using them with .NET.
See a demonstration to learn how to serialize an object to a stream as XML and read the XML iwww.an ADO.NET DataSet. .NET makes this simple!
Instead of reinventing a solution all you have to do is learn the pattern and know when to apply it. CodeGuru.com's Paul Kimmel touches on the Singleton pattern and its use.
In Paul Kimmel's latest column from CodeGuru.com, he tackles the hype about classes and components. In doing so, he even presents you with information on the splitter control within Visual Basic .NET.
Create a Web Service using Visual Basic .NET. Paul Kimmel explains the details!
In this new article, Paul quickly gets to the point of examining interfaces in Visual Basic .NET: how to define them and how to implement them.
The holidays are a time for fun. Learn about random numbers from Paul Kimmel's latest Visual Basic Today column from CodeGuru.com. Includes a Tic Tac Toe game!
From his column Visual Basic Today on CodeGuru.com, Paul Kimmel explains the pros and cons as well as shows how to do thin-client programming as a solid alternative to ASP.NET programming.
Extend .NET using attributes. You can create your own attributes in .NET, and Paul Kimmel shows you how in this installment of Visual Basic Today from CodeGuru.
Attributes are classes that allow individual developers to extend VS.NET tools without rebuilding VS.NET each time. Many attributes are already available, but most of the interesting ones haven't even been written yet. Perhaps you will do so.
Create an Add-In for Visual Studio .Net!
Visual Studio.Net has added an expanded extensibility model and macros to the unified Visual Studio IDE. The macro tools allow you to quickly record repetitive tasks, enhancing productivity.
At Tech Ed, Microsoft heralded its new implementation of Visual Studio.NET, the new C# language, and its continued commitment to the Visual Basic language.
Paul Kimmel discusses the runtime scripting engine and using it from Visual Basic.
Last week Paul Kimmel finished Part II of his coverage on array enumeration. This week he expands on enumerations with a bit of bonus coverage.
Paul Kimmel continues his discussions on Visual Basic.NET user defined structures and array enumeration.