Free eBook: Patterns & Practices Application Architecture Guide 2.0
By Jason | February 5, 2009
A while back Microsoft made available a new eBook for free called: Patterns and Pratices Application Architecture Guide 2.0
The download is about 3 megs of info and in the .pdf format. This book is should be very useful and helpful for .NET developers. Below are some of the features and Chapters in the free book.
----------------------------------------------
Parts
Part I, Fundamentals
Part II, Design
Part III, Layers
Part IV, Archetypes
Forewords
- Foreword by S. Somasegar
- Foreword by Scott Guthrie
Chapters
- Introduction
- Architecture and Design Solutions At a Glance
- Fast Track
Part I, Fundamentals
- Chapter 1 - Fundamentals of Application Architecture
- Chapter 2 - .NET Platform Overview
- Chapter 3 - Architecture and Design Guidelines
Part II, Design
- Chapter 4 - Designing Your Architecture
- Chapter 5 - Deployment Patterns
- Chapter 6 - Architectural Styles
- Chapter 7 - Quality Attributes
- Chapter 8 - Communication Guidelines
Part III, Layers
- Chapter 9 - Layers and Tiers
- Chapter 10 - Presentation Layer Guidelines
- Chapter 11 - Business Layer Guidelines
- Chapter 12 - Data Access Layer Guidelines
- Chapter 13 - Service Layer Guidelines
Part IV, Archetypes
- Chapter 14 - Application Archetypes
- Chapter 15 - Web Applications
- Chapter 16 - Rich Internet Applications (RIA)
- Chapter 17 - Rich Client Applications
- Chapter 18 - Services
- Chapter 19 - Mobile Applications
- Chapter 20 - Office Business Applications (OBA)
- Chapter 21 - SharePoint Line-Of-Business (LOB) Applications
Appendix
- Cheat Sheet - patterns & practices Pattern Catalog
- Cheat Sheet - Presentation Technology Matrix
- Cheat Sheet - Data Access Technology Matrix
- Cheat Sheet - Workflow Technology Matrix
- Cheat Sheet - Integration Technology Matrix
---------------------------------------------
As you can see, this book can be very useful and helpful for those programming using the .NET framework. I Highly! recommend you download and check it out. Have fun!
Jason
Popularity: 30% [?]
Topics: - (.NET All + 05/08), - (.NET All + 05/08), - (.NET All + 05/08), - .All VB (Related to All), .All VB (Related to All) | 3 Comments »
Small Basic - Beginner Programming Language
By Jason | February 1, 2009
Microsoft appears to be supporting a somewhat newer programming language called SmallBasic. As the name implies it is not a full-featured language like VB.NET or C++/C#. In fact, it appears to only support 15 or so Keywords. But it does get access to version 3.5 of the Dot .NET Framework from what I have gathered. And looks like it uses alot of the VB based syntax, although C# syntax might be used but I am not sure. There are some game source codes like Tetris and Snake that uses the Small-Basic language. Below are some resources you can check out if your interested. I will also place the main Small Basic link on the Free IDE/Compiler Downloads page when I get time.
-------------------------
MSDN.Microsoft Forward Explanation:
Small Basic is a project that's aimed at bringing "fun" back to programming. By providing a small and easy to learn programming language in a friendly and inviting development environment, Small Basic makes programming a breeze. Ideal for kids and adults alike, Small Basic helps beginners take the first step into the wonderful world of programming.
- Small Basic derives its inspiration from the original BASIC programming language, and is based on the Microsoft .Net platform. It is really small with just 15 keywords and uses minimal concepts to keep the barrier to entry as low as possible.
- The Small Basic development environment is simple, yet provides powerful modern environment features like Intellisense™ and instant context sensitive help.
- Small Basic allows third-party libraries to be plugged in with ease, making it possible for the community to extend the experience in fun and interesting ways.
.....Main Resources.....
Main Small basic DevLabs Page - Click Here
Main Small-Basic MSDN/Microsoft Page - Click Here
Small Basic Program IDE Setup - Click Here
API Reference for Small Basic - Click Here
Small Basic MSDN Forums/Threads - Click Here
PDF for Getting Started - Click Here
--------------------------
.....Game Examples.....
Tetris Example: This game is based on Small Basic and uses about 530 lines of code. It looks like a well-done, completed game. Click Here...
Snake Game Example: If you are interested in a Snake type game, there is a example that of course uses SmallBasic. Click Here...
--------------------------
Thats all for now. If your interested then hopefully this page will help you to get started in the Windows based programming world... Have Fun!
Jason
Popularity: 34% [?]
Topics: - (.5.0/6.0), - (.5.0/6.0), - (.5.0/6.0), - (.NET All + 05/08), - (.NET All + 05/08), - (.NET All + 05/08), - .All VB (Related to All), .All VB (Related to All) | No Comments »
More Microsoft “How Do I” Video Updates and Service Pack 1 for 2008
By Jason | August 29, 2008
Just wanted to mention that Microsoft officially launched the RTM version Service Pack 1 for Visual Studio 2008 a couple weeks ago. It includes many fixes and some other features and improvements. WPF (Windows Presentation Foundation) performance has been greatly increased as well. Click Here to check out the Service Pack for VB 2008.
Also Microsoft has been adding new How Do I videos for Visual Basic 2008 the past couple of months it appears. Its definitely worth checking out. It looks like Microsoft added many newer videos working with Excel and Microsoft Office and services. Linq and data-based programming looks to be updated as well. Remember that MSDN has many 2005 based videos as well. Anyways, Click Here if you want to check out the full list of MSDN's "How Do I" video series. Have Fun!
Jason
Popularity: 50% [?]
Topics: - (.5.0/6.0), - (.NET All + 05/08) | No Comments »
Textbox Manipulation in VB and .NET - Using API
By Jason | July 21, 2008
This is a basic article on how to do various textbox manipulating that isn't exposed in your normal VB or VB.NET textbox like Page Left or Scroll to the Edge (That I am aware of anyways).
Note: These codes are basically taken from a example I made at my vbcodesource.com site for VB.NET that shows how to do lots and lots of various textbox based manipulating. Just go to http://www.vbcodesource.com/ under the Visual Basic.NET - Examples page.
So in Part #1 of this article I will present some codes that will accomplish what is outlined below to a textbox control...
Page Left
Page Right
Line Left
Line Right
Left Edge
Right Edge
_________________________________
To accomplish these features I will use the tried and true Windows API. Specifically the SendMessage Function is used. Below is the declaration for VB Classic and VB.NET
Visual Basic 6.0
'Used to Send Messages to the control.
Private Declare Function SendMessage Lib "user32.dll" Alias "SendMessageA" (ByVal winHandle As Long, ByVal wMsg As Long, ByVal wParam As Long, ByVal lParam As Long) As Long
Visual Basic.NET 2002/2003/2005/2008
'
Used to Send Messages to the control.
Private Declare Function SendMessage Lib "user32.dll" Alias "SendMessageA" (ByVal winHandle As Int32, ByVal wMsg As Int32, ByVal wParam As Int32, ByVal lParam As Int32) As Int32
_________________________________
Now for some Constants...
Private Const WM_HSCROLL = &H114
Private Const WM_VSCROLL = &H115
Private Const SB_LINERIGHT = 1
Private Const SB_LINELEFT = 0
Private Const SB_PAGERIGHT = 3
Private Const SB_PAGELEFT = 2
Private Const SB_RIGHT = 7
Private Const SB_LEFT = 6
_________________________________
Now all thats really needed is the textbox you want to send messages to and calling the sendmessage api with the right combination of contants to perform the intended function.
_________________________________
NOTE: If your using VB 5.0 or VB 6.0 then change some small things below...
Change - txtControl.Handle.ToInt32 to txtControl.hWnd
Change - Unless your getting the SendMessage functions return value then remove the parentheses which are the ( and ) characters.
Thats basically the only changes that are needed.
_________________________________
Page Left / Page Right
'
'Move the position pageleft.
SendMessage(txtControl.Handle.ToInt32, WM_HSCROLL, SB_PAGELEFT, 0)
'
'Move the position pageright.
SendMessage(txtControl.Handle.ToInt32, WM_HSCROLL, SB_PAGERIGHT, 0)
Line Left / Line Right
'
'Move the position left.
SendMessage(txtControl.Handle.ToInt32, WM_HSCROLL, SB_LINELEFT, 0)
'
'Move the position right.
SendMessage(txtControl.Handle.ToInt32, WM_HSCROLL, SB_LINERIGHT, 0)
Left Edge / Right Edge
'
'Move the position to the left edge.
SendMessage(txtControl.Handle.ToInt32, WM_HSCROLL, SB_LEFT, 0)
'
'Move the position to the right edge.
SendMessage(txtControl.Handle.ToInt32, WM_HSCROLL, SB_RIGHT, 0)
_________________________________
Thats basically all for Part #1. These 6 features do not have native VB or VB.NET codes and therefore the API's are used. As you can see though its pretty simple to add..
Part #2 will go over: Page Up/Page Down, Line Up/Line Down, and Top Edge/Bottom Edge.
Till then, Have fun!
Jason
Popularity: 100% [?]
Topics: - (.5.0,6.0), - (.5.0/6.0), - (.5.0/6.0), - (.NET 05/08 Only), - (.NET All + 05/08), - (.NET All + 05/08), - (.NET All + 05/08), - (.NET All + 05/08), - .All VB (Related to All), .All VB (Related to All), .All VB (Related to All) | 2 Comments »
Sharpening Your Axis with Visual Basic 9 - Code Magazine Article
By Jason | July 13, 2008
Newegg.com has all your computer and electronic needs!
This is a four (4x) page article on using Linq with XML. The article breaks it down fairly well and shows how to do some pretty cool things using these features. The first page goes over XML Literals and using them with Embedded Expressions. Page two is basically using the XML Axis properties and creating XML Intellisense. Page three goes somewhat deep on using XML Relational Data using LINQ features. The final page goes over more Advance Namespace Scenerioes and provides some Tips and Tricks you can use as well. Anyways, below is a brief overview from the author.
Author Info...
Visual Basic 9 in Visual Studio 2008 has a new set of language features that allows developers to work with XML in a much more productive way using a new API called LINQ to XML. LINQ stands for Language Integrated Query and it allows you to write queries for things like objects, databases, and XML in a standard way. Visual Basic provides deep support for LINQ to XML through what’s called XML literals and XML axis properties. These features allow you to use a familiar, convenient syntax for working with XML in your Visual Basic code. LINQ to XML is a new, in-memory XML programming API specifically designed to leverage the LINQ framework. Even though you can call the LINQ APIs directly, only Visual Basic allows you to declare XML literals and directly access XML axis properties. This article will help you master these new features for working with XML in Visual Basic.
If your interested in checking out the article then simple hit this link to view it. Have Fun!
Jason
Popularity: 58% [?]
Topics: - (.NET All + 05/08), - (.NET All + 05/08), - .All VB (Related to All) | No Comments »
How-to Playback Movies/Videos in VB and Visual Basic .NET
By Jason | July 6, 2008
As you will see, playback of movies and/or videos of various formats is fairly easy to do. As you may have already guessed this article will be using the Windows MCI Command interface for the playback which is supported on all of the modern Windows OS including Windows XP and Windows Vista. Specifically the MCISendString function api will be used in this tutorial.
MCI should by default already support the older common formats like avi, mpg, mpeg, wmv ect... based videos. But you can actually program the device to playback nearly all formats that are used. All you usually need to do is install the Codec/Driver for that format.
Example: If you wanted to playback an Apple Quicktime .Mov file then simply install the codec for that format. Or if you want to play MPEG 4 DivX based videos then just install the DivX codec. After that just program the device like you normally would.
This article only shows the basic playback for movies/videos and not a bunch of different features like getting the duration/length, position and status of the video. You should check out my MCI MultiMedia Tutorial at this link to learn how to program the device for adding your own custom features. The codes in the article are basically similar with All versions of Visual Basic. Mainly just change the variable types for the codes. The codes below are based around .NET but for them to work for VB 5.0 and 6.0 you just need to change, for example, Int32 or Integer types to "Long" types.
___________________________________________
'
'The Main API call that will be used for the playback. Simply change the "Integer" to "Long" if your using Classic VB like VB 6.0.
Private Declare Function mciSendString Lib "winmm.dll" Alias "mciSendStringA" (ByVal lpstrCommand As String, ByVal lpstrReturnString As String, ByVal uReturnLength As Integer, ByVal hwndCallback As Integer) As Integer
'
'Will hold the path to the movie file.
Dim filename As String
'
'Holds the return value of mciSendstring. Not used for anything in this article though.
Dim retVal As Integer
____________________________________________
Now that the API and variables are setup its about that time to program the device.
Note: Be Sure to specify the file's path in the filename variable for the video you want to play!
____________________________________________
Important Info: There are basically Two(2) ways you can setup your movie or video. You can display the movie in its Own window which will popup a window separate from your application or you can specify the control/window where you want it to be displayed. For instance you can have the video play on your Form or on your Picturebox control.
You first need to open and setup a new device to playback your video. I normally use the MPEGVideo device since it will basically work with most all of the movie formats. The MPEGVideo device is usually DirectShow. If you want MCI to determine which device to use just take out the: "type mpegvideo" codes. The first code will setup the device to play in its Own window and the second will play the video on a control.
If you've seen my other MCI articles you will notice you should remember the need to add "Quotes" around the filename and path, or at least supply the Shortpathname for the files path.
'
'The path to the movie or video to play.
filename = "c:\movies\MyMovie.wmv"
'Now add the quotes around the path.
filename = Chr(34) & filename & Chr(34)
'
'Specify the mpegvideo driver to play the movies which should play most movie formats without any problems. This code will have the video open in its Own window and the alias name will be "movie".
retVal = mciSendString("open " & filename & " type mpegvideo alias movie", 0, 0, 0)
'
'This code will open a new mpegvideo device and play the movie in the "movieWindow" control which is nothing more than a GroupBox/Frame control I used in a example app. Basically any control with a handle can be used. For VB 5/6 you might need to specify the controls .hWnd property instead of the Handle.ToInt32 property that .NET uses.
retVal = mciSendString("open " & filename & " type mpegvideo alias movie parent " & movieWindow.Handle.ToInt32 & " style child", 0, 0, 0)
This code below is used if you want to open a new video file using the same "movie" alias that has already been opened. Use this code, right before you open the new device with the 'open filename' code above, which will close the previous device and alias. This should also be called when your application is closing so all of the mci resources will be cleaned up.
'
'Will make sure the previous alias is destroyed. If the alias "movie" hasn't been created yet, this code will NOT cause any errors or anything. So there is no need to worry about that.
retVal = mciSendString("close movie", 0, 0, 0)
_____________________________________________
Once that is taken care of (opened a device), all you have to do is call the Play command. The codes below will Play/Stop/Pause/Resume the movie.
'
'Start Playing the movie once you've setup the device with your file.
retVal = mciSendString("play movie", 0, 0, 0)
'
'Will Stop the playback if its currently playing.
retVal = mciSendString("stop movie", 0, 0, 0)
'
'Will Pause the playback if its playing.
retVal = mciSendString("pause movie", 0, 0, 0)
'
'Will Resume the playback if it has been paused.
retVal = mciSendString("resume movie", 0, 0, 0)
_____________________________________________
Well, thats basically all there is to it to do basic Movie and/or Video playback using Visual Basic 5.0/6.0 and Visual Basic.NET 2002/2003/2005/2008. I may add a new article in the coming days on how to play the video or movie on the Windows Desktop. Till then, Have Fun!
Jason
Popularity: 94% [?]
Topics: - (.5.0/6.0), - (.5.0/6.0), - (.NET All + 05/08), - (.NET All + 05/08), - (.NET All + 05/08), - .All VB (Related to All), .All VB (Related to All), .All VB (Related to All) | 9 Comments »


(15 votes, average: 4.27 out of 5)
(7 votes, average: 4.14 out of 5)