Print Gray Lines and Areas
Black and white printers cannot print gray lines, but they can dither to create gray areas. To create a gray border around an area, draw thin gray boxes with DrawStyle
Black and white printers cannot print gray lines, but they can dither to create gray areas. To create a gray border around an area, draw thin gray boxes with DrawStyle
Don’t you hate that VB5’s Setup Wizard doesn’t include all the files you reference in your application? For example, if you access a picture or animation file at run time
Many sites include rollover effects to make images change when the mouse moves over them. However, sometimes there’s an unsightly delay while the second graphic is downloaded from the server.
If you’re not careful about how you include Java applets in your Web pages, people who use browsers that don’t support Java (or who have deliberately switched off Java support)
Older browsers that don’t support HTML frames won’t display anything when they attempt (and fail) to load a page containing the code to set up frames. So a good design
To save time, browsers often load a frequently visited page from a local cache on the client’s computer rather than request it from the relevant Web server. The catch with
HTML’s page layout features are limited for older browsers–tables provide one of the few ways you can force text or graphics to appear in particular positions. Another addition to your
The terms “undefined behavior” and “unspecified behavior” are not interchangeable. Undefined behavior indicates that an implementation may behave unpredictably when a program reaches a certain state, which almost without exception
Manual calculation of a struct/class size is not just an indication of poor design and a source of maintenance problems; it may also lead to bugs that are very hard
What’s wrong with the following code excerpt? const char name[] = “john doe”; //9 characters, null char implicitly added by compilersize_t namesz = strlen(name); //namesz equals 8! Nothing, in fact.
You may have encountered this problem before–your program contains a full path name of a file, into which data has to be written or read from: FILE * f =
The following restrictions apply to operator overloading: 1. Invention of new operators is not allowed. For example: void operator @ (int) ; //illegal, @ is not a built-in operator or
et’s talk about when and why we use triggers and the technical details of how to write a trigger. To recap, a trigger is a stored piece of code that
Here’s a Visual Basic routine that invokes the default browser: Private Declare Function ShellExecute Lib”shell32.dll” Alias “ShellExecuteA” (ByValhwnd As Long, ByVal lpOperation As String,ByVal lpFile As String, ByVal lpParametersAs String,
Normally, from within a Java applet you can create a java.net.URL instance using the “ftp://” protocol handler. But you may need a third-party library to access FTP from a Java
Using the Date functionality in JavaScript, you can post the number of days left until a certain date. Internally, JavaScript stores dates as the number of milliseconds from midnight (GMT)
Although the new VB5 Application Wizard can build a shell application with an Explorer-like interface, it is often desirable to drop a quick Explorer form into your code without the
Question: I am creating my own in-process ActiveX DLL in VB. I want to create an instance of the object in one of my ASP pages. My problem is that
Question: For EVERY filename present on a hard drive, I need to convert the path and filename to a string and then evaluate the string for certain conditions. If those
Question: Hi, I have set up SMTP and I’m trying to send e-mail. It appears to work, and reports no errors, but the mail is not sent to the recipient,
Question: I have numerous data analysis programs written in VB4/5 that I would like to put on a server for server-based data analysis. It would require uploading data files from
When utilizing project management tools, create a timeline template that models your development methodology. Set up the dependencies and defaults within this template. Then you can copy and paste it
Set up a task in your scheduler of choice to run the ANALYZE.EXE programagainst your Visual Source Safe (VSS) database at least once a month.This tool allows VSS to check
Utilizing version control systems is very important, but if no one is backing up your version control database, you are needlessly stepping close to the brink of disaster. Most source
If you develop applications that use components that need to be registered, consider setting up a shortcut to regsvr32 in the “Send To” folder on a user’s machine as part
Macros in C++ are better avoided. They are unsafe, hard to debug, and may bloat your .exe files. C++ offers significantly better alternatives to them: 1. Function-like macros should be
A non-explicit constructor taking a single argument is also a conversion operator, which casts its argument to an object of the constructor’s class. When the compiler has to resolve an
When two or more classes serve as base classes in multiple inheritance, you want to choose a distinct name for each member function in order to avoid name ambiguity: class
Void * can serve as a generic data pointer, yet it suffers from the well-known ailments associated with pointers: it can be NULL or a dangling pointer. Furthermore, it usually
Like ordinary functions, templates can have default type arguments. A good example is STL’s vector. It actually has two arguments–the second one is an allocator class template. Since an allocator