
Since 1998, DevX has helped people start businesses, build websites, and provide enterprise technology to people globally. Interviewing the likes of Microsoft’s co-founder, Steve Ballmer, the publication brings comprehensive, reliable, and accessible insights to the Internet.
Visual Basic’s documentation does not explain how to specify more than just one conditional compilation constant in the Advanced tab of the Options dialog. The correct way is using a
When you need to learn if a field has been changed by the user, you have at least three options: you can use a global boolean variable and set it
In the Show event of a form you might be tempted to use SetFocus to select which field the end user should begin working with. However, this method raises an
The fastest way to read a text file is using the Input$ function, as shown in this reusable procedure: Function FileText (filename$) As String Dim handle As Integer handle =
Fixed-length strings are generally slower than conventional strings, because all VB string functions and operators only recognize conventional strings, thus all fixed-length strings must be transparently converted to and from
At times you may need to execute the same block of statements for different values of a variable, but you can’t use a straight For Next loop because the sequence
Every now and then I forget that the IsMissing function always returns False when the argument is not a Variant value. This happens because IsMissing does nothing more than converting
Private Type OSVERSIONINFO dwOSVersionInfoSize As Long dwMajorVersion As Long dwMinorVersion As Long dwBuildNumber As Long dwPlatformId As Long szCSDVersion As String * 128End TypePrivate Declare Function GetVersionEx Lib “kernel32” Alias
Private Declare Function GetVersion Lib “kernel32” () As Long’ Returns True is executed under Windows NT,’ False if executed under Windows 95/98Function IsWindowsNT() As Boolean IsWindowsNT = (GetVersion() And &H80000000)
Private Declare Function GetComputerName Lib “kernel32” Alias _ “GetComputerNameA” (ByVal lpBuffer As String, nSize As Long) As Long’ Returns the name of the computer.Function ComputerName() As String Dim buffer As
You can alter the size of the caret (this is the name of the cursor within text boxes, not to be confused with the mouse cursor), for instance to ease
Many VB programmers assume that Visual Basic 5.0 is not capable of creating stand-alone Type Libraries, because the documentation states that when an ActiveX component or control is created, the
Under VB4 Public variables in form and class modules were implemented in the same manner as variables in BAS modules, that is, as direct references to memory locations. This allowed
Global objects, static data members of a class, namespace variables, and static variables in functions reside in static memory. Static objects are allocated by the linker and their address remains
A common technique in Active Server Pages (ASP) is to use server-side code to check that the user has filled in a form. In effect, you submit the ASP page
The Bulk Copy Program is still a handy utility for transferring data in and out of tables in SQL. However, using it properly requires that you learn the various command
Closely related to the issue of internationalization is the java.util.Locale class. An instance of Locale represents a geographic, political, or cultural region, and may or may not correspond to a
Many users of Visual InterDev 6 complain about a dialogue box that pops up while they work offline. Even when using localhost and the internal IP address http://127.0.0.1/ the computer
You may have seen “(Compiled Code)” in a stack trace and wondered why a line number was not displayed instead. This occurs because as of release 1.1.5 of the Java
To implement a quick and easy version of the old “marching ants” line around a control, place two CommandButtons, a Shape, and a Timer control on a form. Then insert
An associative array (also called map or dictionary) is an array for which the index does not have to be an integer. An associative array stores pairs of values. One
The GetDlgCtrlID API, when passed a valid hWnd, returns a value that directly corresponds to the Index property of the Controls collection: Private Declare Function GetDlgCtrlID Lib “user32” _ (ByVal
Double-clicking an icon or file name in Explorer is the standard way of launching an application in Windows. However, if you’re developing an app that uses the ListView control from
Asking users to enter time values can often lead to problems formatting what the user enters. I use this piece of code to create a drop-down list of hours, minutes,
You can easily find out whether your user clicked on OK or on Cancel on a modal dialog. This example also prevents the user from unloading the form, and thereby
In SQL Server 7, a significant change was made to the way nonclustered indexes work when a clustered index exists on a table. In version 6.5, the nonclustered index used
Whenever you are programming in Active Server Pages, make sure that your browser is set to check for a new page every time. Otherwise, you may not see your latest
While attempting to deserialize (or unmarshal) a serialized object instance, you may generate an exception with a message similar to: java.rmi.UnmarshalException: Error unmarshaling return; nested exception is: java.io.InvalidClassException: RMIParm; Local
Name mangling, (the more politically correct term is name-decoration, although it is rarely used) is a method used by a C++ compiler to generate unique names for identifiers in a
Everyone by now is familiar with how to create auto increment keys in SQL Server–just define an integer column with identity (start,increment) and you are set. To create a new



