SAN FRANCISCO -- March 29, 2004 -- Today at electronicaUSA with the Embedded Systems Conference, Microsoft Corp. announced a Technology Preview Kit for Windows® CE 5.0, previously code-named "Macallan." Leveraging extensive feedback from customers, the final version of Microsoft® Windows CE 5.0 will focus on increasing developer productivity through a variety of feature enhancements including increased out-of-the-box hardware support, security enhancements, advanced multimedia capabilities and automated testing tools. The wide range of functionality will enable original equipment manufacturers (OEMs) to build more exciting and compelling devices and bring them to market more quickly.

More than 60 industry-leading OEMs, silicon vendors and solution integrators are already working on solutions for Windows CE 5.0 as part of Microsoft's Joint Development Partner program. Some of these companies include industry leaders such as Biostar Group, Costron Company Limited, Humax Co. Ltd., InFocus Corp., Intel Corp., Intermec Technologies Corp., LG Electronics, Samsung Electronics, Tcom&Dtvro Co. Ltd and ViewSonic Corp.

"The next version of Windows CE will deliver new componentized technology that will help customers save time in the development process and will enable a wide range of innovative devices, from gateways and gaming devices to set-top- boxes," said Ya-Qin Zhang, corporate vice president of the Mobile and Embedded Devices Division at Microsoft. "This release is an important milestone for Windows CE because it reflects ongoing feedback we've received from customers to enable them to build embedded devices even more quickly."

Saving Device-Development Time

Windows CE 5.0 is designed to help developers reduce development time and costs when building small-footprint, connected devices. Customers said they wanted the ability to switch easily between the Windows CE graphical integrated development environment (IDE) and command-line environments to more quickly build devices with a wide range of functionality. The new Windows CE 5.0 development environment enables developers to take advantage of the capabilities of the command line in the graphical IDE, which will decrease operating system image development time and speed time to market.

"Unifying the tools capabilities is a brilliant move for Windows CE. Being able to work in one unified development environment where you only need to use that one toolset for building, debugging and deploying an operating system image will save OEMs a lot of time by reducing complex development issues," said Doug Boling of Boling Consulting, an embedded consultant and training firm for corporations. "All of the benefits of the command line are now exposed through the graphical IDE, making the Windows CE tools extremely easy to use. This significantly increases the productivity and creativity of our development team."

Microsoft also has dramatically increased support for widely available embedded hardware with more than 50 production-quality drivers optimized for leading chipsets, such as ARM, MIPS, SuperH and x86, enabling OEMs to use the drivers right out of the box rather than having to customize them for a particular hardware platform. These production-quality drivers are in addition to the more than 250 sample drivers currently available in Windows CE.

"InFocus recognizes Microsoft's market leadership and consistent capability in delivering robust embedded operating system platforms," said David Woolf, director of Worldwide Product Management at InFocus. "Windows CE 5.0 provides the best collection of technology, tools and resources to enable InFocus' continued product innovation. We are delighted to partner with Microsoft to deliver exciting user experiences with emerging wireless display applications."

Integrated Reliability

Windows CE 5.0 is a hard, real-time operating system that provides OEMs with a reliable foundation and integrated core operating system components for developing a broad range of devices, from consumer electronics to headless devices to building and industrial automation. Windows CE 5.0 will ship with all components automatically set to the highest possible security setting while providing developers with complete flexibility to modify the security setting as needed for their unique design. A powerful new capability, Windows Error Reporting, enables quality and performance monitoring for in-field devices so OEMs can continually improve and update devices they have already deployed. In addition, an enhanced Windows CE Test Kit provides comprehensive automated testing tools to improve device stability and reliability.

"We are pleased with the proactive steps that Microsoft is taking to further enhance the reliability of and security for embedded devices with the upcoming release of Windows CE 5.0," said Richard Mahany, vice president of Product Marketing and Development at Intermec Technologies. "The new security features will shorten our custom development time, and the error reporting technologies will provide us with customer usage data to further improve our products over time."

Unlimited Innovation

New multimedia capabilities will enable developers to create applications and services that will differentiate their devices in the marketplace. Windows CE 5.0 will include support for Direct3D® Mobile, a Component Object Model (COM)-based programming model and graphics solution built on Microsoft's desktop technology, DirectX®. By including support for Direct3D Mobile, Windows CE devices can now support even richer, higher-performance graphics and multimedia, similar to a desktop experience, on small-footprint devices. In addition, enhanced multimedia features, such as Fast Start, dramatically decrease playback start time for multimedia content such as movies on a range of devices including Internet Protocol (IP) set-top boxes.

"Intel has enabled a new generation of rich multimedia and gaming capabilities for D3DMobile utilizing Intel XScale® technology with Wireless MMX instructions," said Mark Casey, director of Marketing for the Cellular and Handheld Group at Intel. "Working closely with Microsoft to integrate these enhancements into D3DMobile, developers and OEMs will be able to deploy a new generation of compelling 3-D applications while meeting the battery life and small size requirements of mobile devices."

Windows CE 5.0 Technology Preview

Technology Preview kits for Windows CE 5.0 will be provided to attendees visiting the Microsoft booth at electronicaUSA with the Embedded Systems Conference. The preview will also be available for download at the Windows Embedded Web site at http://msdn.microsoft.com/embedded/ April 1. The final product is scheduled to be available during summer 2004.


 
Categories: Compact Framework | News

Microsoft® Windows® Server 2003 and IIS 6.0 provide the services to support a secure, available, and scalable Web server on which to run your Web sites and applications. Whether you manage a single Web server or many, Internet Information Services (IIS) 6.0 Resource Kit will help you effectively plan, deploy, operate, and troubleshoot your IIS 6.0 solution. This comprehensive technical resource delivers an in-depth description of the new IIS 6.0 architecture, as well as reference information about IIS 6.0 features and services. It also includes practical information and tools to help you accomplish everyday administrative tasks.

Deployment scenarios in part one of this book include installing a new Web server, upgrading an existing Web server from an earlier version of IIS, and migrating existing Apache or IIS Web sites and applications to a newly installed Web server. Part two of this book includes information about running IIS 6.0 as a platform for Web applications, managing a secure IIS 6.0 solution, administering servers programmatically, and capitalizing on built-in scalability features to manage large-scale deployments. In addition, part two includes a thorough discussion of IIS 6.0 troubleshooting concepts, tools, and procedures.

http://www.microsoft.com/downloads/details.aspx?familyid=80a1b6e6-829e-49b7-8c02-333d9c148e69&displaylang=en


 
Categories: ASP.NET | News

If so, the Microsoft® Data Access Application Block for .NET is for you.

The Data Access Application Block encapsulates performance and resource management best practices for accessing Microsoft SQL Server™ databases. It can easily be used as a building block in your own .NET-based application. If you use it, you will reduce the amount of custom code you need to create, test, and maintain.

http://www.microsoft.com/downloads/details.aspx?familyid=f63d1f0a-9877-4a7b-88ec-0426b48df275&displaylang=en


 
Categories: ADO.NET | News

Most of these changes revolve around e-mail and network security. To download the SP2 preview and read about more information on these changes, go to: http://msdn.microsoft.com/security/productinfo/xpsp2/default.aspx
 
Categories: Windows

The safest thing to do is to remove it from your system with the link below. Microsoft will no longer be putting it in any of it's OS's.

 

http://www.microsoft.com/downloads/details.aspx?familyid=f2002119-b4d5-4013-83bc-4a8ad95e959f&displaylang=en


 
Categories: Development

Positioning the cursor over the button they will are likely to make the action quicker and easier.

The following code will center the mouse cursor over any control that has an hWnd property.

Declare

#If Win32 Then
     Type RECT
           left As Long
           top As Long
           right As Long
           bottom As Long
     End Type
     Declare Sub GetWindowRect Lib "User32" (ByVal hWnd As _
           Long, lpRect As RECT)
     Declare Sub SetCursorPos Lib "User32" (ByVal X As _
           Long, ByVal Y As Long)
#Else
     Type RECT
           left As Integer
           top As Integer
           right As Integer
           bottom As Integer
     End Type
 
     Declare Sub GetWindowRect Lib "User" (ByVal hWnd _
           As Integer, lpRect As RECT)
     Declare Sub SetCursorPos Lib "User" (ByVal X As _
           Integer, ByVal Y As Integer)
#End If
Code
Sub CenterCursor(hWnd As Long)
Dim rPosition As RECT
#If Win32 Then
     Dim X As Long
     Dim Y As Long
#Else
     Dim X As Integer
     Dim Y As Integer
#End If
 
     GetWindowRect hWnd, rPosition
     X = (rPosition.right + rPosition.left) / 2
     Y = (rPosition.bottom + rPosition.top) / 2
     SetCursorPos X, Y
End Sub

Usage

CenterCursor hWnd:=Command1.hWnd

 

This tip is reprinted from the VB Tips & Tricks Volume 1 book.
Parts of this tip were submitted by: Donovan Olivier
Compatible With Visual Basic 4.0
Applies To Controls


 
Categories: VB

March 11, 2004
@ 12:25 AM

This is not an easy task because the TAB does NOT generate the Key_Press event. So, you need to use the GetKeyState windows API function for this.

Declare

Private Declare Function GetKeyState Lib "User32" (ByVal nVirtKey As Long) As Integer
' Virtual key values
Const VK_TAB = &H9
Const VK_SHIFT = &H10

Code

Sub txtAreaCode_LostFocus()
Dim iRetVal As Integer
 
    ' Check for a tab out of this control
    ' Skip the state field
    iRetVal = GetKeyState(VK_SHIFT)
    ' If the shift was NOT on, check the tab
    If iRetVal <> -128 And iRetVal <> -127 Then
        iRetVal = GetKeyState(VK_TAB)
        If iRetVal = -128 Or iRetVal = -127 Then ' tab key pressed
            txtPhone.SetFocus
        End If
    End If
End Sub

 

Tip Submitted By: Deborah Kurata

 


 
Categories: VB

It uses a fast-paced approach and Murach’s “paired pages” format to teach how to develop business applications for the web.
After an overview of ASP.NET in chapter 1, chapters 2 through 5 show how to use Visual Studio .NET and its time-saving tools to design, code, and test multi-page web applications that manage state, use cookies, and retrieve database data. Along the way, developers see how the use of code-behind files and business classes can speed up and simplify development. They also see the value of view state, a productivity feature unique to ASP.NET that saves a lot of coding.
The rest of the book covers a full range of professional ASP.NET skills. That includes:

  • The use of all types of Web Server, validation, user, and custom server controls
  • ADO.NET skills for sophisticated database handling
  • The creation and use of Web Services
  • Report generation with Crystal Reports
  • How to secure an application
  • How to send email
  • How to deploy finished applications

All the content is formatted in Murach’s distinctive “paired pages” style. Each two-page spread presents a single topic. The lefthand page explains the topic while the righthand page shows the critical details, using syntax, code, screen shots, and how-to notes.
To illustrate each new feature, Murach’s ASP.NET uses complete applications that implement an e-commerce site selling Halloween products. As a result, developers see how the features interact in typical business apps and learn how to handle the coding complexities they’ll face on the job.
Murach’s ASP.NET Web Programming with VB.NET is available directly from the publisher at www.murach.com and from online and brick-and-mortar bookstores.


 
Categories: ASP.NET

March 9, 2004
@ 11:16 PM

Even though this code is relatively simple, it's surprising to see the number of major applications on the shelves that fail to correctly handle this scenario.

The code shown below consists of two functions. The bValDIR function is needed because in Visual Basic, if you try to create a directory using the MkDir function that already exists, MkDir will generate an error.

Code

Sub MakeDir (sDirName As String)
Dim iMouseState As Integer
Dim iNewLen As Integer
Dim iDirLen As Integer
    'Get Mouse State
     iMouseState = Screen.MousePointer
     'Change Mouse To Hour Glass
     Screen.MousePointer = 11
     'Set Start Length To Search For [\]
     iNewLen = 4
     'Add [\] To Directory Name If Not There
     If Right$(sDirName, 1) <> "\" Then
           sDirName = sDirName + "\"
     End If
     'Create Nested Directory
     Do While Not bValDir(sDirName)
           iDirLen = InStr$(iNewLen, sDirName, "\")
           If Not bValDir(Left$(sDirName, iDirLen)) Then
                 MkDir Left$(sDirName, iDirLen - 1)
           End If
           iNewLen = iDirLen + 1
     Loop
     'Leave The Mouse The Way You Found It
     Screen.MousePointer = iMouseState
End Sub
Function bValDir (sIncoming As String) As Integer
Dim iCheck As String
Dim iErrResult As Integer

    On Local Error GoTo ValDirError
     If Right$(sIncoming, 1) <> "\" Then
           sIncoming = sIncoming + "\"
     End If
     iCheck = Dir$(sIncoming)
     If iErrResult = 76 Then
           bValDir = False
     Else
           bValDir = True
     End If 
Exit Function
ValDirError:
     Select Case Err
           Case Is = 76
                 iErrResult = Err
                 Resume Next
           Case Else
     End Select
End Function

 

This tip is reprinted from the VB Tips & Tricks Volume 1 book.
Parts of this tip was submitted by: David McCarter

Compatible With All Versions of Visual Basic
Applies To Disk Directory


 
Categories: VB

March 9, 2004
@ 11:12 PM

Well Visual Basic 5.0 comes with a program that create them for you, but what a pain. Wouldn't it be nice to just do it via code? Well now you can with the sample code below.

Declare

Type GUID Data1 As Long
    Data2 As Integer
    Data3 As Integer
    Data4(7) As Byte
End Type
 
Private Declare Function CoCreateGuid Lib "ole32.dll" (pguid As GUID) As Long
Private Declare Function StringFromGUID2 Lib "ole32.dll" 
(rguid As Any, ByVal lpstrClsId As Long, ByVal cbMax As Long) As Long

Code

Public Function GetGUID() As String
Dim pudtGUID As GUID
Dim pstrGUID As String
Dim pbytGUID() As Byte
Dim plngRet As Long
Dim plngLen As Long
    plngLen = 40
    pbytGUID = String(plngLen, 0)
    CoCreateGuid pudtGUID
    plngRet = StringFromGUID2(pudtGUID, VarPtr(pbytGUID(0)), plngLen)
    pstrGUID = pbytGUID
    If (Asc(Mid$(pstrGUID, plngRet, 1)) = 0) Then plngRet = plngRet - 1
    GetGUID = Left(pstrGUID, plngRet)
End Function

 

Tip Submitted By: David McCarter/Woody Pewitt


 
Categories: VB

This is really easy to do.

Declare

Declare Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" 
(ByVal hwnd As Long, ByVal lpOperation As String, ByVal lpFile As String,
ByVal lpParameters As String, ByVal lpDirectory As String, ByVal nShowCmd As Long) As Long

Code

Dim X
    X = ShellExecute(hwnd, "Open", "http://www.microsoft.com/vbasic", &O0, &O0, SW_NORMAL)

 

Tip Submitted By: Ryan Martinsen


 
Categories: VB

March 9, 2004
@ 11:07 PM

The 32-bit API has a call that will create a unique file for you in the Windows temporary directory.

Declare

Declare Function OSGetTempPath& Lib "kernel32" Alias "GetTempPathA" 
(ByVal BufferLength&, ByVal Result$)
Declare Function OSGetTempFilename& Lib "kernel32" Alias "GetTempFileNameA" 
(ByVal FilePath$, ByVal Prefix$, ByVal wUnique&, ByVal TempFileName$)
Code
Function sGetTempFile(ByRef sPrefix As String)
Dim sFilePath As String
Dim sTempResult As String
Dim lCharCount As Long
Const MAX_RETURN = 3000
     sTempResult = Space$(MAX_RETURN)
     lCharCount = OSGetTempPath&(MAX_RETURN, sTempResult)
     sFilePath = Left$(sTempResult, lCharCount)
 
     sTempResult = Space$(MAX_RETURN)
     lCharCount = OSGetTempFilename&(sFilePath, sPrefix, 0, sTempResult)
     sGetTempFile = Left$(sTempResult, lCharCount)
End Function

Usage

sTempFile = sGetTempFile(sPrefix:="VBT")

This API call will tag a prefix (up to 3 characters) to the file. This makes it easier for you find, use, or delete your temporary files.

NOTE: Windows will NOT automatically delete these temporary files. So be kind to your user, keep track of them and delete them when the application closes.

This tip is reprinted from the VB Tips & Tricks Volume 1 book.
Parts of this tip was submitted by: David McCarter
Compatible With Visual Basic 4.0 32-bit
Applies To Files


 
Categories: VB

 The code below can be easily added to a module and even includes code to make a backup (Access is notorious for corrupting databases at a drop of a pin). Compacting large databases can take a long time, so provide your user with a "Please wait..." type message.

NOTE: Remember, you cannot compact a database while it's open. Be sure to run this code before any code is run that opens the database, or any form with a data control is loaded. You could also run this at the end of your program.

Function bCompactMDB (sDatabase As String, bBackup As Integer) As Integer
Dim sNewFile As String
Dim sBakFile As String
     bCompactMDB = False
     MousePointer = 11
     sNewFile = Left$(sDatabase, Len(sDatabase) - 3) & "NEW"
     sBakFile = Left$(sDatabase, Len(sDatabase) - 3) & "BAK"
     On Error GoTo CompactError
     If Dir(sNewFile) <> "" Then
        Kill sNewFile
     End If
     CompactDatabase sDatabase, sNewFile
     If Dir(sBakFile) <> "" Then
       Kill sBakFile
     End If
     If bBackup = True Then
       Name sDatabase As sBakFile
     End If
     If Dir(sDatabase) <> "" Then
       Kill sDatabase
     End If
     Name sNewFile As sDatabase
     bCompactMDB = True
     MousePointer = 0
     Exit Function
CompactError:
     bCompactMDB = False
     MousePointer = True
End Function

This tip is reprinted from the VB Tips & Tricks Volume 1 book.
Parts of this tip was submitted by: David McCarter

Compatible With Visual Basic
Applies To Access 2.x Database File


 
Categories: VB

March 9, 2004
@ 11:01 PM

You can use the following function to defragment memory, making the maximum available to your program, before beginning any operation that will require a lot of memory.

Declare

Declare Function GlobalCompact Lib "Kernel" (ByVal dwMinFree&) As Long

Code

Sub CompactMemory ()
     Dim R As Long
     R = GlobalCompact(&HFFFFFFFF)
End Sub

Usage

Call CompactMemory

 

This tip is reprinted from the VB Tips & Tricks Volume 1 book.

Compatible With Visual Basic 3.0, Visual Basic 4.0 16-bit
Applies To Windows 3


 
Categories: VB

During the development of your project, the types and number of settings can grow and grow. With these routines, you can write the code once, then you usually won't need to update this code even when you add new controls.

For each setting that you save, whether to the Registry or an INI, you'll need to define "section" and "key" strings. See the help on GetSetting and/ or SaveSetting for examples.

For each control that you'll use to maintain a setting, put the name of the "key" in the control's TAG property. Put the default value of that key in the control itself at design time. For the section name, you must put your control into a container control with the desired "section" string in its own .TAG field. Often, this is actually very convenient, as controls get grouped into frames and other logical containers. When that isn't fully effective, use any kind of invisible container which supports a .TAG property, or use the TAG of the form itself. I usually reserve that last tactic for the most general of settings.

Call GetOptions before showing the form to the user (I usually call it from form_load) and call PutOptions whenever you need to save settings.

Code

Public Sub GetOptions(Frm As Form)
Dim Ctrl As Control
    For Each Ctrl In Frm.Controls
        With Ctrl
            If .Enabled Then
                If Len(.Parent.Tag & .Tag) Then
                    If TypeOf Ctrl Is TextBox Then
                        .Text = Trim$(GetSettingString(.Parent.Tag, .Tag, .Text))
                        ElseIf TypeOf Ctrl Is CheckBox _
                            Or TypeOf Ctrl Is HScrollBar _
                            Or TypeOf Ctrl Is VScrollBar _
                            Then
                            .Value = GetSettingInt(.Parent.Tag, .Tag, .Value)
                    End If
                End If
            End If
        End With
    Next
End Sub
 
Public Sub PutOptions(Frm As Form)
Dim Ctrl As Control
    For Each Ctrl In Frm.Controls
        With Ctrl
            If .Enabled Then
                If Len(.Parent.Tag & .Tag) Then
                    If TypeOf Ctrl Is TextBox Then
                        SaveSettingString .Parent.Tag, .Tag, .Text
                        ElseIf TypeOf Ctrl Is CheckBox _
                            Or TypeOf Ctrl Is HScrollBar _
                            Or TypeOf Ctrl Is VScrollBar _
                            Then
                            SaveSettingInt .Parent.Tag, .Tag, .Value
                    End If
                End If
            End If
        End With
    Next
End Sub

You'll need to include GetSettingInt, GetSettingString, SaveSettingInt, and SaveSettingString routines to save the settings to your own INI file.

Also, you can certainly adjust the code for other types of controls besides the TextBox, CheckBox, HScrollBar and VScrollBar.

Additional Code

'Set this public variable before you call GetOptions or PutOptions
Public gsIniFile As String
Declare Function GetPrivateProfileInt Lib "kernel32" Alias "GetPrivateProfileIntA" 
(ByVal lpApplicationName As String, ByVal lpKeyName As String, ByVal nDefault As Long,
ByVal lpFileName As String) As Long
Declare Function GetPrivateProfileString Lib "kernel32" Alias "GetPrivateProfileStringA" 
(ByVal lpApplicationName As String, ByVal lpKeyName As Any, ByVal lpDefault As String,
ByVal lpReturnedString As String, ByVal nSize As Long, ByVal lpFileName As String) As Long
Declare Function WritePrivateProfileString Lib "kernel32" Alias "WritePrivateProfileStringA" 
(ByVal lpApplicationName As String, ByVal lpKeyName As Any, ByVal lpString As Any,
ByVal lpFileName As String) As Long
Private Function FixString(sInString As String) As String
Dim nPos As Integer
    On Error Resume Next
    nPos = InStr(sInString, Chr$(0))
    If nPos Then
        FixString = Left$(sInString, nPos - 1)
        Else
            FixString = sInString
    End If
End Function
Private Function GetSettingString(sSection As String, sKey As String, sDefault As String) As String
Const INI_BUF_SIZE = 255
Dim iReturn As Integer
Dim sBuffer As String
    On Error Resume Next
    sBuffer = String$(INI_BUF_SIZE + 1, 0)
    iReturn = GetPrivateProfileString(sSection, sKey, sDefault, sBuffer, INI_BUF_SIZE, gsIniFile)
    GetSettingString = FixString(sBuffer)
End Function
Private Function GetSettingInt(sSection As String, sKey As String, nDefault As Integer) As Integer
    On Error Resume Next
    GetSettingInt = GetPrivateProfileInt(sSection, sKey, nDefault, gsIniFile)
End Function
Private Function SaveSettingInt(sSection As String, sKey As String, nValue As Integer) As Boolean
    On Error Resume Next
    SaveSettingInt = IniPrivateWriteString(sSection, sKey, CStr(nValue), gsIniFile)
End Function
Private Function SaveSettingString(sSection As String, sKey As String, sValue As String) As Boolean
    On Error Resume Next
    SaveSettingString = IniPrivateWriteString(sSection, sKey, sValue, gsIniFile)
End Function
Private Function IniPrivateWriteString(sSection As String, sKey As String, 
sValue As String, sIniFile As String) As Boolean
    On Error Resume Next
    If (Len(sKey) > 0) Then
        IniPrivateWriteString = (WritePrivateProfileString(sSection, sKey, sValue, sIniFile) <> 0)
        Else
        '----- Delete all keys in this section
        IniPrivateWriteString = (WritePrivateProfileString(sSection, vbNullString, sValue, sIniFile) <> 0)
    End If
End Function

 

Tip Submitted By: Bob O`Bob


 
Categories: VB

I have developed a global subroutine that will highlight the text of the active control of the active form.

The routine is simple:

Sub Highlight()
    On Error Resume Next
    Dim FRM1 As Form
    Set FRM1 = Screen.ActiveForm
    FRM1.ActiveControl.SelStart = 0
    FRM1.ActiveControl.SelLength = Len(FRM1.ActiveControl)
End Sub

Create a form object by first dimensioning it and setting it to the active form. Next, select the text of the form's active control starting at the left most character to the end of the text.

Use this in the got_focus method of any control that allows text entry such as a text box or a combo box.

Private Sub Text1_GotFocus ()
    Call Highlight
End Sub

That's it! One subroutine call does it all. I put this routine in a global module so all my forms have access to it.

 

Tip Submitted By: Marc Mueller


 
Categories: VB

"TrueDB Grid makes an difficult job possible," says Michael Hennessy, President of Networks Inc.
With the myriad of grid controls available (including the one that comes with Microsoft Visual Studio), Michael and his group of ten developers continue to use TrueDB Grid after investigating other controls. Even when project development switched to using Visual Studio .Net a few years ago, TrueDB Grid for .Net still outperforms the competition and provided them with the features they need.

One of the main reasons Michael uses TrueDB Grid is because he knows that ComponentOne will be around for the long haul. This means that his development group will not need to recode their projects every six months, something that can kill projects and loose the company valuable revenue. His mind is further eased because TrueDB Grid continues to be the top rated grid in magazines like the Visual Studio Magazine. TrueDB Grid makes it very easy to create highly transactional data driven applications, which is key for most of his customers as opposed to presentation driven.

Michael’s team has never had a major problem with the TrueGrid control. Other features they enjoy are:

  • Monthly updates
  • Works great with Microsoft products
  • Great data entry features
  • It works right the first time and is reliable

TrueGrid is also easy to work with on the presentation side. It does not take a lot of programming to make the grid look they want it to.

Because TrueGrid is powerful and is in most of the projects at Networkers Inc., they have created a couple of custom applications that drastically cut down development time. The first is called Delta Designer and allows developers to segregate user interface data structures, which makes it much easier to develop, deploy and maintain applications. The second is called Delta Designer© User Authentication and Access that complements Delta Designer. This application makes it easy for an administrator to control what type of rights a user has to any data grid in an application. Applying these rights during runtime was a simple matter using TrueGrid. Michael estimates that with these programs that extensively use TrueGrid for .NET, his team can create applications four to five times faster!

When it comes down to it, the main thing that matters is customer satisfaction. The Networkers Inc. customers are satisfied with their applications and TrueGrid. When Michael is asked why he doesn’t use other grids, he replies, “…any other grid will increase their programming time”.

ComponentOne

Whitepaper written by: David McCarter


 
Categories: Components | Whitepaper

username = string.Format(@"{0}\{1}", System.Environment.UserDomainName, 
System.Environment.UserName);

 

Tip Submitted By: David McCarter


 
Categories: Csharp

March 5, 2004
@ 12:38 AM
Below are results from a test that Christopher W. Cowell-Shah did.
int
math
long
math
double
math

trig

I/O

TOTAL
Visual C++ 9.6 18.8 6.4 3.5 10.5 48.8
Visual C# 9.7 23.9 17.7 4.1 9.9 65.3
gcc C 9.8 28.8 9.5 14.9 10.0 73.0
Visual Basic.NET 9.8 23.7 17.7 4.1 30.7 85.9
Visual J# 9.6 23.9 17.5 4.2 35.1 90.4
Java 1.3.1 14.5 29.6 19.0 22.1 12.3 97.6
Java 1.4.2 9.3 20.2 6.5 57.1 10.1 103.1
Python/Psyco 29.7 615.4 100.4 13.1 10.5 769.1
Python 322.4 891.9 405.7 47.1 11.9 1679.0

 

For the complete article, go to: http://www.osnews.com/story.php?news_id=5602&page=1


 
Categories: .NET

While such programmatic development can be implemented on a client system with relative ease, there are a number of complications that can occur if Automation is to take place from server-side code such as Active Server Pages (ASP), DCOM, or an NT Service.

 

If you are thinking of doing this... you NEED to read this Microsoft article: http://support.microsoft.com/default.aspx?scid=kb;EN-US;q257757. You might change your mind.


 
Categories: .NET