I.T. Discussion Community!
-Collapse +Expand
eMag

Prestwood eMagazine

November Edition
Subscribe now! It's Free!
Enter your email:

   ► eMag   Print This     
View Group Edition:
Full Edition Your Edition || Prev Next

eMag Mar 2012 Issue - Full Edition

Prestwood eMag
Message Boards
PrestwoodBoards.com
  March 2012 - Full Edition Year 14 Issue 3  
I.T. Discussion Community!


Expert guidance from working professionals!
psSendMail DLL topic:
Managing Connections in psSendMail
by Wes Peterson
A question has arisen about how best to manage SMTP connections when using psSendMail. Here are some tips:

IT Water-Cooler for Power-Users topic:
Stamp Out Spam
by Vicki Nelson

How to fight back against spam and reclaim your inbox. As you may know, the volume of spam messages sent across the Internet has reached epidemic levels. Some industry experts estimate that three out of every five e-mail messages that are sent today are spam. The spam epidemic is costing companies, professionals, and individual users considerable amounts of time, money, and resources.

What is spam, and what can I do about it? Spam is generally defined as an unsolicited mailing, usually sent to many recipients. Most spam is commercial advertising, often for dubious products, get-rich-quick schemes, or quasi-legal services. Spam costs the sender very little to send. Most of the costs are paid by the recipient or the carriers rather than the sender. Some effective methods for preventing your e-mail address from being captured, sold or abused by spammers in the full version of this article. Click the title to read more.


Role-Based Tech Talk topic:
Crash, Bomb, Hang, and Deadlock
by Scott Wehrly
This article explores and defines the following terms: crash, bomb, hang, deadlock, exception, fatal error, and blue screen of death.

Off Shoring topic:
Off-shoring: You CAN fight back!
by Wes Peterson

Are you fed up with calling a company and finding yourself speaking to somebody in a foreign country? 

I am, and I've just learned of an effective way to fight back, help return jobs to America, and keep them here.

The best part? We don't have to wait for government to do a thing.






 Access Group Top 
Visit Group | My Group Settings
Language Basics topic (classic post):
Access VBA Comments (' or REM)
by Mike Prestwood

Access VBA, like all the VB-based languages, uses a single quote (') or the original class-style basic "REM" (most developers just use a quote). Access VBA does NOT have a multiple line comment. Directives are sometimes called compiler or preprocessor directives. A # is used for directives within Access VBA code. Access VBA offers only an #If..then/#ElseIf/#Else directive.


Language Basics topic (classic post):
Access VBA Logical Operators (and, or, not)
by Mike Prestwood

Same as VB. Access VBA logical operators:

and and, as in this and that
or or, as in this or that
Not Not, as in Not This


 Monthly Access Lesson
Access & VBA Topic:
Code Snippet of the Month

In Access VBA, you have to add an empty string to the value being compared in order to get consistent results. For example, add &"" to your string varilable or it's code equivalent &vbNullString. Then compare to an empty string or verify it's length to 0 with Len.

All these will work for variables unassigned, set to "", or set to Null:

If s&"" = "" Then

  MsgBox ("Quotes with &'' say null is empty")
End If
 

If Len(s&"") = 0 Then
  MsgBox ("Len with &'' says null is empty")
End If
 
If Len(s&vbNullString) = 0 Then

  MsgBox ("Using vbNullString also works!")
End If






 AmericanIT Group Top 
Visit Group | My Group Settings
Off Shoring topic (classic post):
Off-shoring: You CAN fight back!
by Wes Peterson

Are you fed up with calling a company and finding yourself speaking to somebody in a foreign country? 

I am, and I've just learned of an effective way to fight back, help return jobs to America, and keep them here.

The best part? We don't have to wait for government to do a thing.








 Analyst Group Top 
Visit Group | My Group Settings
Data Flow Diagrams (DFD) topic (classic post):
A 10 Minute Data Flow Diagrams (DFD) Quick Start
by Mike Prestwood

DFDs document a process by documenting the flow of data throughout the process. They depict how data interacts with a system. They can be used to engineer a new process, document an existing process, or re-engineer an existing process.


 Monthly Analyst Lesson
Unified Modeling Language (UML) Topic:
Definition of the Month: Dependency
A "uses-a" relationship. For example, when a class uses another class as a member variable or a parameter. A "uses-a" relationship forms a dependency on a class. A Dependency relationship is indicated by a dotted line with an arrow.
Unified Modeling Language (UML) Topic:
Resource Link of the Month: UML Resource Page

Semi-official home page for UML. Includes the UML specification.

Have you download the UML 2.0 specification yet? If not, why?







 ASP Classic Group Top 
Visit Group | My Group Settings
OOP topic (classic post):
ASP Classic Destructor (Class_Terminate)
by Mike Prestwood

When an object instance is destroyed, ASP calls a special parameter-less sub named Class_Terminate. For example, when the variable falls out of scope. Since you cannot specify parameters for this sub, you also cannot overload it.

When an object instance is created from a class, ASP calls a special sub called Class_Initialize.


 Monthly ASP Classic Lesson
Language Basics Topic:
Code Snippet of the Month
The following function uses the Scripting.FileSystemObject to check for the existence of a file.
Function IsFileExists(AFileName)
 Dim objFSO
 Dim TempFileName
 
 TempFileName = Server.MapPath(TempFileName)
 Set objFSO = Server.CreateObject("Scripting.FileSystemObject")
   
 If (objFSO.FileExists( TempFileName ) = True)  Then
  IsFileExists = True
 Else
  IsFileExists = False
 End If
 
 Set objFSO = Nothing
End Function
ASP Classic Topic:
FAQ of the Month: VBScript
Question: What does VBScript stand for?

Answer: VBScript is short for Visual Basic Scripting. VBScript brings scripting to a wide variety of environments, including Web client scripting in Microsoft Internet Explorer and Web server scripting in Microsoft Internet Information Service. It is used in Visual Basic, Access, Word, Excel, ASP, etc.
Language Basics Topic:
Tip of the Month

Short-circuit evaluation is a feature of most languages where once an evaluation evaluates to False, the compiler evaluates the whole expression to False, exits and moves on to the next code execution line. The ASP Classic if statement does not support short-circuit evaluation but you can mimic it. Use either an if..else if..else if statement or nested if statements. ASP code that makes use of this technique is frequenlty clearer and easier to maintain than the short-circuit equivalent.







 C# Group Top 
Visit Group | My Group Settings
Tool Basics topic (classic post):
C# Case Sensitivity (Yes)
by Mike Prestwood

C# is case sensitive. The following does NOT:

messagebox.Show("hello");  //Does not work!

The first time you type any other case for commands or variables, VS.Net will change it to the accepted or defined case. For example, if you type messagebox.show it is converted to MessageBox.Show. Once corrected, you can break it again by editing MessageBox to messagebox and the compiler will give you an error.


OOP topic (classic post):
C# Partial Classes (partial)
by Mike Prestwood

C# uses the keyword partial to specify a partial class. All parts must be in the same namespace.

A partial class, or partial type, is a class that can be split into two or more source code files and/or two or more locations within the same source file. Each partial class is known as a class part or just a part. Logically, partial classes do not make any difference to the compiler. The compiler puts the class together at compile time and treats the final class or type as a single entity exactly the same as if all the source code was in a single location.

You can use them for many things including to separate code generator code, organize large classes, divice a class up so you can split ownwership among multiple developers, have different versions of the same class, and to utilize multiple languages with a single class.


 Monthly C# Lesson
OOP Topic:
Code Snippet of the Month

In C#, you specify each class and each class member's visibility with an access modifier. The C# access modifiers are the traditional public, protected, and private plus the two additional .Net modifiers internal and protected internal.

Internal indicates members are accessible from types in the same assembly. Protected internal indicates members are accessible from types in the same assembly as well as descendant classes. OO purist might object to internal and protected internal and I suggest you choose private, protected, or public over them until you both fully understand them and have a need that is best suited by them.

The default for class and class members is Internal (members are accessible from types in the same assembly). This is different than with interfaces where the default for an interface is Internal but an interface's members are always public -- which makes sense but is noteworthy.

With both classes and interfaces, if you make a class public, the members are public. This applies to the other access modifiers too. For example, if you make a class protected, the members default access modifiers are protected.

public class Cyborg
{
private String FName;
}
Language Basics Topic:
Definition of the Month: Nullable Type
Nullable types are instances of System.Nullable(T). A Nullable type can represent any of the normal values for its value type or it can be assigned the value null. This is useful when dealing with databases that may have types that do not have a value.
Language Basics Topic:
Resource Link of the Month: CSharp Language Specification (C#)

By Scott Wiltamuth and Anders Hejlsberg

This document describes the syntax, semantics, and design of the C# programming language.







 C++ Group Top 
Visit Group | My Group Settings
 Monthly C++ Lesson
C++/CLI Language Basics Topic:
Code Snippet of the Month

Same as standard C++. Literals are quoted as in "Prestwood". If you need to embed a quote use a slash in front of the quote as in \"

MessageBox::Show("Hello");
MessageBox::Show("Hello \"Mike\".");
  
//Does ASP evaluate this simple
//floating point math correctly? No! 
if ((.1 + .1 + .1) == 0.3) {

MessageBox::Show("Correct");
} else {
MessageBox::Show("Not correct");
}
C++/CLI Topic:
FAQ of the Month: C++/CLI & Native Code
Question:

Can you use native code in a C++/CLI application to increase speed?


Answer:

Yes, that's one of the big advantages of using C++/CLI over C#. Although you can also call unmanaged code from within C#, support for native objects is built into C++/CLI.

I was telling to a friend how impressed I was with the performance of Paint .NET (a free .NET desktop graphics program), and he remarked the the only reason it could peform so well was because it made extensive use of an unmanaged graphics code library.







 Coder Group Top 
Visit Group | My Group Settings
Borland Database Engine topic (classic post):
How to check what BDE version is installed.
by Mike Prestwood

Q. I've updated my BDE from version 5.01 to version 5.2.0.2 but the About BDE Administrator dialog still shows version 5.01?

A. Your update may have taken. Updates typically just replace the DLLs the BDE uses so you may have the latest installed.

Version Information
To see what version of the BDE engine you "actually" have installed, you need to look at the Version Information from within the BDE Administrator. Select Object | Version Information... to see the DLL version numbers


Object Orientation (OO) topic (classic post):
An Introduction to Object Orientation
by Mike Prestwood
Overview and introduction to object orientation. When you analyze, design, and code in an OO way, you "think" about objects and their interaction. This type of thinking is more like real life where you naturally think about how "this object" relates to "that object". Classes represent the "design" of an existing object. The values or properties of an existing object is it's current state. When designing classes, OO supports many features like inheritance (like real-life where you inherit your parents characteristics), encapsulation (hiding data), and polymorphism (the ability of one thing to act like another or in different ways).

 Monthly Coder Lesson
Object Orientation (OO) Topic:
Definition of the Month: Abstract Class / Abstract Member

An abstract class member is a member that is specified in a class but not implemented. Classes that inherit from the class will have to implement the abstract member. Abstract members are a technique for ensuring a common interface with descendant classes. An abstract class is a class you cannot instantiate. A pure abstract class is a class with only abstract members.

General Info, Installation, etc. Topic:
Documented Error of the Month: ISelectionContainer already exists error
Error:

Microsoft Visual Studio The service Microsoft.VisualStudio.Shell.Interop.ISelectionContainer already exists in the service container. Parameter name: serviceType

Explanation:

Install the Visual Studio.Net 2008 SP1 (currently in bata) and this problem should go away.

Here's a link:

http://www.microsoft.com/ASPSuite/downloads/details.aspx?FamilyId=CF99C752-1391-4BC3-BABC-86BC0B9E8E5A&displaylang=en

error

General .Net Concepts Topic:
Resource Link of the Month: PowerCommands for Visual Studio 2008

According to Microsoft, "PowerCommands is a set of useful extensions for the Visual Studio 2008 adding additional functionality to various areas of the IDE. The source code is included and requires the VS SDK for VS 2008 to allow modification of functionality or as a reference to create additional custom PowerCommand extensions. "

If you've previously worked with Delphi and GExperts, you know how helpful some extensions to your IDE can be.

This free download, from Microsoft, adds some really useful functionality to the VS2008 IDE.  Check it out.

General Info, Installation, etc. Topic:
Question: What are the benefits of managed code over native code?

Answer:

In general terms, managed .Net code is a little more portable (will run on any platform with the correct CLR installed) and is easier to write. However, managed code may run slower and require more system resources.

General Coding Concepts Topic:
Tip of the Month

When comparing floating point numbers, make sure you round to an acceptable level of rounding for the type of application you are using.







 DBA Group Top 
Visit Group | My Group Settings
Desktop Databases topic (classic post):
MAPI - or Something Better
by Wes Peterson
Most development tools give us easy access to MAPI. Some offer MAPI as the ONLY easy way to send email. Still, is MAPI the best way to go?

DBA & Data topic (classic post):
Corporate Database Administration
by Jeffrey K. Tyzzer
Corporate database admin standard first published by Prestwood Software in 1996.

 Monthly DBA Lesson
ANSI SQL Scripting Topic:
Code Snippet of the Month

The following selects all the records in Table1 where IDField is not in Table2.

SELECT Table1.*

FROM Table1
LEFT JOIN Table2 ON Table1.IDField = Table2.IDField

WHERE Table2.IDField is null
DBA & Data Topic:
Definition of the Month: Optimistic Locking
A locking mechanism that allows other users to edit a record that is currently being edited. Essentially, last in wins or edits are discarded usually with an error.
MS SQL 2005 Topic:

Microsoft's free download tool for managing MS SQL 2005 databases.

Microsoft SQL Server Management Studio Express (SSMSE) is a free, graphical management tool for managing SQL Server 2005 databases.

Available editions:

  • Win32
  • Win64 (x64)
Interbase Topic:
Resource Link of the Month: The Database Group

Maintained by Bill Todd. The Database Group specialized in Delphi & Interbase. In the past, Bill Todd was a Paradox guru and has authored many articles on Paradox, Delphi, and Interbase and co-authored several books. He was a consistent presenter at the various BorCons and a frequent contributer to the Paradox Informant and Delphi Informant.

Although Bill speciales in several areas, I posted this link to the Interbase topic because my belief is that Bill specializes in Interbase a bit more than the other areas.

Microsoft SQL Server Topic:
FAQ of the Month: Edit SQL Views?
Question: Are views in Microsoft SQL Server editable?

Answer: Yes and no. Yes, there is nothing in MS SQL Server preventing a client from writing to the underlying tables involved in an view. Therefore, it is left up to the tool accessing the view. Many tools allow you to edit views in SQL Server including ASP Classic, ASP.Net, VB, Access, etc. Some tools, like SQL Server Management Studio allow you to edit tables, but not views.
DBA & Data Topic:
Tip of the Month

When naming fields/columns in a table, use ONE name for the data in the field. For example, although states are called provinces and other names in other coutries, use one or the other in the database but not both. Use CompanyState, avoid CompanyStateProvince., use PostalCode or ZipCode, avoid PostalZipCode. Use labels in your website or program to switch context.







 Delphi Group Top 
Visit Group | My Group Settings
Language Details topic (classic post):
Using InputBox
by Mike Prestwood
InputBox allows you to set a value, display it to the user, and have the user change it. Although InputBox generally isn’t flashy enough for finished applications, it is great for debugging and smaller “in-house” applications.

OOP topic (classic post):
Delphi Interfaces (IInterface, TInterfacedObject)
by Mike Prestwood

You specify an interface in the type block just like you do for a class but you use the interface keywoard instead of the class keyword and in the interfaces section only. Since interfaces, by definition, do not have any implementation details, all you do is specifiy it in the type block.


 Monthly Delphi Lesson
Language Basics Topic:
Code Snippet of the Month

Rave Reports comes closest to a Delphi standard now but historically there has been no real standard in Delphi development. Do-it-yourself developers sometimes like to use TPrinter for very simple reports. ReportSmith was bundled with the first few versions of Delphi.

Delphi has offered many embedded VCL component report options. Quick Reports has been a part of Delphi since Delphi 2.0 and has been the default report writer for many Delphi developers. Ace Reporter, ReportBuilder and Rave Reports are also very popular. During the time of Kylix, FastReports was popular because of it's cross-platform nature.

Language Basics Topic:
Definition of the Month: Delphi Module
A unit. A unit is defined in its own source file (a .PAS file) that contains types (including classes), constants, variables, and routines (functions and procedures). Each unit begins with unit UnitName; where UnitName must match the filename (minus the .PAS extension). The .PAS unit files are compiled into Delphi Compiled Units with a .DCU extension. A Delphi program is constructed from units. Specifically, the .DCU files are linked into your application. The Delphi compiler is very fast because it only recompiles units that have changed. You can force Delphi to recompile all units with a build all.
Delphi for Win32 Topic:
Documented Error of the Month: Program or unit recursively uses itself
Error:

[DCC Fatal Error] Program or unit 'Buttons' recursively uses itself

Explanation:

You cannot create a Delphi unit with the same name as is already in use. For example, do not create a buttons.pas unit for your application because the VCL already has a Buttons.pas unit. The solution is to rename your unit.

Delphi for Win32 Topic:
Resource Link of the Month: DelForEx: A Delphi Code Formatter

Having consistently formatted source code makes life so much easier.

At Prestwood, we are often asked to enhance, update, and maintain Delphi applications created by somebody else. Some of it is well formated; lots of it is just horrible. Before I even start trying to understand the existing code, I let DelForEx have a run at it. And, man, does it ever make a difference.

But it's not just handy for cleaning up somebody else's code. Often, while working on my own code, I'll rearrange blocks of code by cutting and pasting. Often the indentation is way off. DelForEx fixes it pronto.

DelForEx is a free plug-in for the Delphi IDE. Highly recommended. Combined with GExperts, it turns your IDE into a real powerhouse.

Language Basics Topic:
Question:

What are the benefits of Win32/64 native code such as in Delphi over .Net?


Answer:

In general terms, native code offers faster potential performance and a smaller footprint but can be more complex to build. Also, native code does not require .Net's runtime -- Common Language Runtime (CLR).

Tool Basics Topic:
Tip of the Month

To insert a GUID into code using the Delphi Editor, use Control + Shift + G.

['{BB45987C-0552-415F-A439-636A87E9F4E2}']

 

However, if you are using either the Visual Studio or Visual Basic key mapping emulation, use Control + Alt + G.







 Design Group Top 
Visit Group | My Group Settings
Website Design topic (classic post):
Basic Introduction to HTML Authoring
by Mike Prestwood

This article is a basic introduction to HTML authoring.


 Monthly Design Lesson
Website Design Topic:
Code Snippet of the Month

Get rid of the boring default icon on your website.  Add a custom icon!  Most browsers support .ico and the most popular ones will show any standard web image. 

Follow this easy step by step to add one to your web page or site.

Example: This is Prestwood.com's icon. 

Images must be 16x16 pixels.  I use GIMP to create mine.

Normally, save as a .ico file in the root of your site or in any unsecured folder.  I usually put them in "http://www.prestwoodboards.com/images", and I usually name it favicon.ico or favicon.gif.

Add this to the header section of your AJAX Master page or any aspx/htm/html/shtml page.

<link REL="SHORTCUT ICON" HREF="http://www.prestwoodboards.com/images/favicon.gif">

Some browsers even support ANIMATED gifs.

Graphics Topic:
Resource Link of the Month: Benefits of the PNG Image Format

You should be aware of the benefits of using PNG images. This short article is a great overview. Here at Prestwood we use and recommend using PNGs, GIFs, and JPGS.

The time of avoiding the PNG format because of compatiblity with older browsers is now over.

Graphics Topic:
FAQ of the Month: GIF versus PNG
Question:

Should I use GIF or PNG images on my website?


Answer:

Although the PNG format is slightly superior to the GIF format, GIF is more compatible with older browsers so we are currently recommending you use GIF images. That's the quick answer. However, there are issues so if you wish to use PNG images, read up about it to understand it's pros and cons.

Artistic (design, layout, etc.) Topic:
Tip of the Month

Do not use the smallest standard font size of "1" and "xx-small" for any text you actually want a visitor to read. The smallest font size should be reserved for text you don't care if the visitor reads like the copyright notice at the bottom of the page.







 Java Group Top 
Visit Group | My Group Settings
 Monthly Java Lesson
Tool Basics Topic:
Code Snippet of the Month

Both Eclipse 3.3 and JBuilder 2008 come bundled with Business Intelligence and Reporting Tools (BIRT). BIRT is an Eclipse-based open source reporting system with both a report designer based on Eclipse, and a runtime component that you can add to your app server plus a charting engine that lets you add charts.

Java Topic:
Resource Link of the Month: Eclipse

Eclipse (although it can be used for and has many other plugins for other languages) is a widely supported, open-source, free, IDE for creating Java applications; whether they be small one-off programs or enterprise wide systems.







 JavaScript Group Top 
Visit Group | My Group Settings
Coding Tasks topic (classic post):
Specify browser size with Javascript
by Mike Prestwood
How to specify browser size with Javascript.

 Monthly JavaScript Lesson
Beginners Corner Topic:
Code Snippet of the Month

Language Overview: Class-like language with limited but usable class-like and object-like functionality but no formal inheritance nor visibility control, etc.

Target Platforms: JavaScript is most commonly used to extend HTML by executing code on the browser side when visiting a website. It does have other uses including server side scripting and AJAX.

JavaScript and AJAX Topic:
FAQ of the Month: JavaScript Similiar to C
Question: How is JavaScript syntax like C / C++?

Answer: The languages have enough in common to make learning one easy if you know the other. By the same token, the differences are subtle enough to trip up those proficient in both. Here's a short list comparing C and JavaScript:
  • Terminating JavaScript command lines in semicolons is optional; in C it's mandatory. Recommended practice is to use them religiously in both languages (and Java as well).
  • Both JavaScript and C are case-sensitive; 'doThis' is different from 'DOTHIS'. Experienced programmers learn to love this feature, which drives beginners nuts.
  • Both JavaScript and C are block-structured computer languages and employ curly brackets -- '{' and '}' -- to delimit blocks.
  • Both JavaScript and C employ quotation -- enclosure in single or double quote marks -- to designate text strings.
  • Arrays in both JavaScript and C are zero-based; the first element is myArray[0], not myArray[1].
  • Both JavaScript and C employ '==' for comparison, '=' for equality, and '!' for negation. In fact the set of JavaScript operators is essentially borrowed from C (right down to the deprecated ternary construct a ? b : c).
  • Both JavaScript and C employ the symbols /* to designate a comment */. JavaScript also permits the use of 'http://www.prestwoodboards.com//' for short comments, as in C++.

Finally, JavaScript's statements are a strict subset of C++'s, offering a smaller selection of identical looping and conditional constructs.







 Owners Group Top 
Visit Group | My Group Settings
Website Design Services topic (classic post):
Dynamic ASP Websites
by Mike Prestwood
e-Commerce * e-Business * Members-only * Online Databases

 Monthly Owners Lesson
Standard Website Content Pages Topic:
Resource Link of the Month: Example Rules & Disclaimers Page

This is our community rules and disclaimers page. You are welcome to use it for your website. You will most likely want to update it a bit as it's pretty specific to our website.







 Paradox Group Top 
Visit Group | My Group Settings
P9 Book: Power Programming topic (classic post):
Power: Chapter 03, How to Develop Forms
by Mike Prestwood
Chapter 3, "How to Develop Forms" from Paradox 9 Power Programming by Mike Prestwood.

Paradox for Linux topic (classic post):
Chapter 26: Introduction to Paradox for Linux
by Mike Prestwood

Chapter 26 by Mike Prestwood from the book WordPerfect Office 2000 for Linux: The Official Guide. First published June 2000 by Osborne-McGraw/Hill. ISBN 0-07-212238-2.


 Monthly Paradox Lesson
OPAL: Language Basics Topic:
Code Snippet of the Month

ObjectPAL logical operators:

and and, as in this and that
or or, as in this or that
Not Not, as in Not This

;Given expressions a, b, c, and d:
if Not (a and b) and (c or d) then
  ;Do something.
endIf
OPAL: Language Basics Topic:
Definition of the Month: Camel Casing
Camel Casing capitalizes the first character of each word except the first word, so it frequently looks like a one or two hump camel. Used by many languages including Paradox's ObjectPAL. You can contrast Camel Casing with Pascal Casing which capitalizes the first character of each word (including acronyms over two letters in length) and was popularized by Pascal.

Camel Casing capitalizes the first character of each word except the first word, so it frequently looks like a one or two hump camel. Used by many languages including Paradox's ObjectPAL.

myAge
theBoxCar

You can contrast Camel Casing with Pascal Casing which capitalizes the first character of each word (including acronyms over two letters in length) and was popularized by Pascal.

P9 Book: Power Programming Topic:
Download of the Month: Paradox 9 Book Support Files

Download the 1,500 KB ZIP support file download (unzips to 5+MB). Contains 200+ forms demoing code from the book PLUS OTHER MATERIAL (much more material). Also includes 7 libraries, 10 scripts, and other support files (reports, queries, tables, datamodels, etc.)

Paradox & ObjectPAL Topic:
Resource Link of the Month: Diamond Software Group

Maintained by Steven Green. This link takes you directly to his used Paradox titles where you can buy older versions of Paradox.

Runtime, PDE, Package-It! Topic:
FAQ of the Month: Turn Paradox into an EXE
Question: My company has a Paradox application. Can I turn it into a true Windows application? A true Win-32 executable?

Answer:

No. To deploy your Paradox application, you can use either the full version of Paradox or the runtime version. The runtime version is almost as big as the full version but it's been free since version 9. If you deploy using the full version of Paradox, you need a license for each user. You can order a multi-user license from Corel at a deep discount.

If you really need a true Windows executable, you'll have to rewrite the application in another development tool like Delphi or Visual Studio.Net. If you need help with this you can contact a company like Prestwood Software who has experts in Paradox and in the target development tool.

Interactive Paradox: Forms Topic:
Tip of the Month
You can alter the path of objects by moving objects around in the containership hierarchy. Move objects on the same level by selecting Format | Order | Bring to Front and Format | Order | Send to Back.






 Perl Group Top 
Visit Group | My Group Settings
Beginners Corner topic (classic post):
Perl Variables ($x = 0;)
by Mike Prestwood

Perl is a loosely typed language with only three types of variables: scalars, arrays, and hashes. Use $ for a scalar variable, @ for an array, or % for a hash (an associative array). The scalar variable type is used for anytype of simple data such as strings, integers, and numbers. In Perl, you identify and use a variable with a $ even within strings


Beginners Corner topic (classic post):
A 10 Minute Perl Quick Start
by Mike Prestwood

A short 10 minute Perl primer. Get started in Perl now!


 Monthly Perl Lesson
Perl Topic:
Code Snippet of the Month

Many developers just use a text editor but you have to be careful when developing on Windows and deploying to Unix/Linix. Some Windows text editors including Notepad, and Microsoft Expression Web save text files in UTF-8 which is not compatible with Unix/Linux.

There are many Perl editors available including ActivePerl Pro Studio, and the free Perl Express. I usually use Perl Express.

Quick Start: Install Perl to IIS or Apache, install Perl Express then configure to use Perl, then install MySQL. For IIS 7, you will likely have to configure Hangler Mappings and add %s %s.







 PHP Group Top 
Visit Group | My Group Settings
Beginners Corner topic (classic post):
PHP Variables ($x = 0;)
by Mike Prestwood

PHP is a loosely typed language. No variable types in PHP. Declaring and using variables are a bit different than in other languages. In PHP, you identify and use a variable with a $ even within strings!

You assign by reference with & as in &$MyVar.


 Monthly PHP Lesson
PHP Topic:
Code Snippet of the Month

In .PHPhtml pages, you embed PHP code between <?PHP and ?>.

For PHP, JavaScript, Java,and C++, I prefer to put the first { at the end of the first line of the code block as in the example above because I see morePHP codeformatted that way (and on PHP.Net).

PHP Alternative Syntax

Although I don't like to use it, PHP offers an alternative syntax for if, while, for, foreach, and switch. These code blocks are surrounded by statement ending keywords that all use End with camel caps such as endif, endwhile, endfor, endforeach,and endswitch.

<?PHP
$x = "Yes";
//Simple if
If ($x == "Yes")

echo "hello world";
 
//If with a block of code.

If ($x == "Yes") {

echo "Hello world";
  echo "I am a PHP coder!";
}
?>
Education (Audio/Video) Topic:
Resource Link of the Month: Video: What's New in Delphi for PHP 2

What's new with Delphi for PHP 2.0 by Nick Hodges (Delphi for PHP product manager).







 Prestwood IT Group Top 
Visit Group | My Group Settings
psSendMail DLL topic (classic post):
Managing Connections in psSendMail
by Wes Peterson
A question has arisen about how best to manage SMTP connections when using psSendMail. Here are some tips:







 PrestwoodBoards Group Top 
Visit Group | My Group Settings
PrestwoodBoards topic (classic post):
Prestwood Community Rules & Disclaimers
by Mike Prestwood

The Prestwood Online Community rules and disclaimers. Essentially, our policies all center around be-friendly, don't flame, encourage more discussion, and limit advertising to approved areas.








 Prism Group Top 
Visit Group | My Group Settings
Language Details topic (classic post):
Delphi Prism Overloading (implicit)
by Mike Prestwood

Like Delphi, Prism supports overloading. However, Prism supports implicit overloading (no need for an overload keyword).


OOP topic (classic post):
Delphi Prism Abstraction (abstract, override)
by Mike Prestwood

Prism supports abstract class members and abstract classes using the abstract keyword. An abstract class is a class with one or more abstract members and you cannot instantiate an abstract class. However, you can have additional implemented methods and properties. An abstract member is either a method (method, procedure, or function), a property, or an event in an abstract class. You can add abstract members ONLY to abstract classes using the abstract keyword. Alternatively, you can use the empty keyword in place of abstract if you wish to instantiate the abstract class.


 Monthly Prism Lesson
OOP Topic:
Code Snippet of the Month

In Prism, you specify each class and each class member's visibility with a Class Member Visibility Level preceding the return type. Like Delphi, you group member declarations as part of defining the interface for a class in the Interface section of a unit.

Unlike Delphi, Prism supports a traditional OO approach to member visibility with additional .Net type assembly visibility. For example, private members are truly private to the class they are declared in. In Delphi for Win32, you use strict private for true traditional private visibility.

Prism also supports assembly and protected and assembly or protected which modify the visibility of protected members to include only descendants in the same assembly (and) or publicly accessible from assembly and descendant only outside (or). OO purist might object to assembly and protected and assembly or protected and I suggest you choose the traditional private, protected, and public as your first chose at least until you both fully understand them and have a specific need for them.

Cyborg = public class(System.Object)

private
  //private properties, methods, etc. here.
  FName: String;
protected 
  //protected properties, methods, etc. here.
assembly and protected
  //properties, methods, etc. here.
assembly or protected
  //properties, methods, etc. here.
public
  //properties, methods, etc. here.
end;
Tool Basics Topic:
Download of the Month: ShineOn

A Delphi Prism implementation of the Delphi for Win32 RTL.

Language Basics Topic:
Resource Link of the Month: Win32 Delphi vs. Delphi Prism

This page provides an overview of basic language incompatibilities between the Delphi for Win32 and Delphi Prism languages. The focus here is to list language features of Delphi that do not exist in the same form or syntax for Delphi Prism, making it easy for Delphi developers to find the appropriate equivalent syntax or otherwise work around the difference. The goal is not to list new features present in Delphi Prism that do not exist in Delphi, as this would exceed the scope of this page.

Tool Basics Topic:
FAQ of the Month: VCL.Net in Delphi Prism
Question: I'm a big fan of VCL.Net. Is VCL.Net a part of Delphi Prism?

Answer:

No. For existing VCL.Net based applications I recommend you stick with Delphi 2007 until it's time to convert it to Delphi Prism.







 Proj Man Group Top 
Visit Group | My Group Settings
PSDP General topic (classic post):
Prestwood Software Development Process
by Mike Prestwood
Description of PSDP.

PSDP General topic (classic post):
PSDP Online Overview
by Adam Lum
Our online database gives you visibility into the work we're doing for you. It tracks your requests including workflow, client info, app info, and project information.

 Monthly Proj Man Lesson
PSDP Analysis Topic:
Definition of the Month: Actor (PSDP Online)
In PSDP Online, an actor is a UML Actor, role, or person that interfaces with the system you are building. When establishing actors of your system, do not think in terms of a specific person, think in terms of their role. Do not name an actor the name of the person filling the role. If Bob is our Sales Clerk, name your actor Sales Clerk (not Bob).
PSDP Artifacts Topic:
FAQ of the Month: UML and PSDP Artifacts
Question: How do PSDP Artifacts relate to UML Diagrams and other traditional software documentation?

Answer: If you're doing full blown UML based requirements, then you may wish to not use the requirements section of PSDP Online. However, if you're just using UML Use Case Diagrams to document process, then you can use one PSDP Artifact per use case as a guideline.
PSDP Artifacts Topic:
Tip of the Month

If you are a single developer, assign the artifact to that single developer and use it to track the completion of both the documentation of the artifact (requirement, design, and test script) as well as the building and testing of it. If you are part of a development team, assign the artifact to the resource gathering requirements and create additional tasks. If you want to track the building with a higher grainularity, add additional tasks.







 Tech Group Top 
Visit Group | My Group Settings
Software topic (classic post):
Restart Windows Computer Batch File
by Mike Prestwood

In a batch file, schecule DOS command shutdown. Use shutdown /? for specifics. Use net stop to kill services before hand if you wish. Use task scheduler to schedule the execution of the batch file.


Windows Server 2008 topic (classic post):
Windows Server 2008 Backup
by lowster11

The Windows Server Backup utility provided with Windows Server 2008 was completely different from the backup program included with earlier Windows Server versions. Unlike previous versions and most commercial backup products, the new program is designed primarily to back up entire volumes to an external hard disk drive.


 Monthly Tech Lesson
Non-Removable Storage Technology Topic:
Definition of the Month: RAID

RAID is the acronym for a Redundant Array of Independent Drives. RAID specifies several "levels," 0, 1, etc. Different levels provide different options. One level allows you to combine multiple smaller drives into one, huge volume. Another level offers tremendous performance boosts by "striping" data across multiple drives such that reads and writes are split across the drives. If one drive fails, the other takes over until the bad drive is replaced. Once replaced, the RAID subsystem automatically restores the mirror.

Removable Storage Technology Topic:
Resource Link of the Month: Virtual CloneDrive (Mount ISO Image File)

There are several programs that allow you to mount an ISO image file and this free one seems to work well on Windows XP and Vista. CloneDrive also supports other common image formats such as BIN, CCD, etc.

Windows Server 2003 Topic:
Question:

I have several Windows 2000 Servers, should I upgrad them? I have to setup a new server, should I install another Windows 2000 Server or dive into Windows 2003? What about Windows Server 2008?


Answer:

We currently recommend at least Windows Server 2003 and actually prefer Windows Server 2008 because too much "new" software just does not install on Windows 2000 Server. For example, Quickbooks 2009 database install requires Windows Server 2003 or higher.

DHCP Topic:
Tip of the Month

It is better to install a Microsoft DHCP server in your business network over the more limited DHCP servers provided by SOHO devices such as those found in wireless routers, firewalls, the Comcast router, etc. Installing a Microsoft DHCP server allows you to take advantage of more advanced features.







 Tech Writer Group Top 
Visit Group | My Group Settings
Publishing topic (classic post):
Prestwood Online Style Guide
by Mike Prestwood
Use up to four levels within articles (Heading 1..4). Within text, bold language elements and menu options. Use italics to bring attention to non-code things such as companies, important words, etc. Use bold+Italic for embedded topics and follow with a colon. Use the paragraph style for text and preformatted for code. Max width for images is 700 pixels.

General, Getting Started, etc. topic (classic post):
Knowledge Management
by Ramesh R
An overview of knowledge management in corporate companies with the basics providing information peratining to such knowledge management teams that lead to greater organizational growth and individuals growth also.

 Monthly Tech Writer Lesson
Technical Writing Topic:
As developers, we can often help our clients (or our marketing efforts) by creating "screen cast" demos or tutorials. Here is a great tool for doing that - and it's free.
General, Getting Started, etc. Topic:
Resource Link of the Month: Social Media in Technical Communication

Hi everybody, i have written an article about social media in technical communication. This has been published in Jan 2010 issue of tcworld German Magazine. Please read my article and let me know your feedback.

Regards,

Ramesh.R

Spelling Pitfalls Topic:
Tip of the Month
  • Quit: to stop, cease, or discontinue
  • Quiet: making no noise
  • Quite: completely, wholly, or entirely






 Tester Group Top 
Visit Group | My Group Settings
 Monthly Tester Lesson
Beginner's Corner Topic:
Definition of the Month: Regression Testing
Retesting previously fixed defects or rerunning test scripts that previously passed.
Testing, QA, QC Topic:
FAQ of the Month: QC versus QA
Question: What is the difference between quality control and quality assurance?

Answer: Qulity assurance is a process in which you compare the deliverable to the requirements to verify the deliverable meets the need. Quality control is a process employed to ensure a certain level of quality. Prestwood Software Development Process is an example of a process used in quality control to ensure a certain level of quality.
Beginner's Corner Topic:
Tip of the Month

Test each feature three times. Sometimes errors in logic don’t show up until the second or even the third time through a sequence of events.







 V.FoxPro Group Top 
Visit Group | My Group Settings
Visual FoxPro (VFP) topic (classic post):
Win-32 API - Listing ODBC Data Source Names
by Fred Stevens
Demonstrates the use of the SQLDataSources() Windows API call to generate a list of DSNs with VFP







 VB Classic Group Top 
Visit Group | My Group Settings
Tool Basics topic (classic post):
VB Classic Comments (' or REM)
by Mike Prestwood

Commenting Code
VB Classic, like all the VB-based languages, uses a single quote (') or the original class-style basic "REM" (most developers just use a quote). VB Classic does NOT have a multiple line comment.

Directives - #

Directives are sometimes called compiler or preprocessor directives. A # is used for directives within VB Classic code. VB Classic offers only an #If..then/#ElseIf/#Else directive.


Language Basics topic (classic post):
VB Classic Logical Operators (and, or, not)
by Mike Prestwood

VB Classic logical operators:

and and, as in this and that
or or, as in this or that
Not Not, as in Not This


 Monthly VB Classic Lesson
OOP Topic:
Code Snippet of the Month

VB6 has limited support for interfaces. You can create an interface of abstract methods and properties and then implement them in one or more descendant classes. It's a single level implementation though (you cannot inherit beyond that). The parent interface class is a pure abstract class (all methods and properites are abstract, you cannot implement any of them in the parent class).

In the single level descendant class, you have to implement all methods and properties and you cannot add any. Your first line of code is Implements InterfaceName.







 VB.Net Group Top 
Visit Group | My Group Settings
OOP topic (classic post):
VB.Net Constructors (New)
by Mike Prestwood

 A sub named New. You can overload the constructor simply by adding two or more New subs with various parameters.

Public Class Cyborg

Public CyborgName As String
  
  Public Sub New(ByVal pName As String)

CyborgName = pName
End Sub
End Class

OOP topic (classic post):
VB.Net Member Field
by Mike Prestwood

In VB.Net you can set the visibility of a member field to any visibility: private, protected, public, friend or protected friend.

You can intialize a member field with a default when declared. If you set the member field value in your constructor, it will override the default value.

Finally, you can use the Shared modifier (no instance required) and ReadOnly modifier (similar to a constant).


 Monthly VB.Net Lesson






 Windows Group Top 
Visit Group | My Group Settings
Windows Users topic (classic post):
See Inside svchost.exe
by Mike Prestwood
See what services are running inside of SvcHost.EXE. See what is causing your 99% CPU usage.

 Monthly Windows Lesson
Windows Vista Topic:
Definition of the Month: Windows Virtualization
The act of isolating or unbinding one computing resource from another. Windows virtualization adds virtualization services to the core Windows operating system at a fundamental level.
Windows Vista Topic:
Documented Error of the Month: Vista SP1 Missing ACPI.SYS file w/ error code of 0xc0000098
Error: Missing critical file ACPI.SYS (error code 0xc0000098).
Explanation:

If you received this after you applied Vista SP1, follow the onscreen directions.

Note When applying Vista's SP1, have your bootable Vista CD available when you apply this service pack. Vista will detect if anything goes wrong, and prompt you to boot from your installation CD. If you have a new computer with the media on the drive, create a CD prior to applying SP1!!! This happened to me last night while at home and I had to wait until today to get to the office to boot from my installation CD. I received the dreaded missing ACPI.SYS file with an error code of 0xc0000098.

Windows Users Topic:
Resource Link of the Month: Primo PDF

Convert to PDF from any application by simply 'printing' to the PrimoPDF printer - it couldn't be easier! Within minutes, you can create high-quality PDFs by converting from Word, Excel, and virtually any other printable file type.

  • Completely FREE PDF Converter - not just a trial version.
  • Print to PDF from virtually any Windows application.
  • Create PDF output optmized for print, screen, ebook, or prepress.
  • No annoying pop-up ads, no registration requirement - no catch!
  • High-quality, easy to use PDF creator for all users.
  • New! Ability to merge PDF files upon conversion.
  • New! Now supports Windows Vista.

This is the PDF creating tool we use here at Prestwood software!

Microsoft Office Topic:
Question:

How do you turn off Markup comments in Microsoft Word so the next time I open a document, I do not see the markup comments by default?


Answer:

In Word 2002, Word remembered your last Markup setting. In Word 2003 Microsoft changed the default behavior so all readers will see the comments if they exist. To change this default behavior, select Tools | Options, select the Security tab, then uncheck Make hidden markup visible when opening or saving. This per document setting is saved with the document.

Windows XP Topic:
Tip of the Month

By default, you cannot uninstall programs in Safe Mode. Whatever issue you are handling, your first choice is to resolve it using more acceptable solutions such as using System Restore or MSConfig. For MSConfig, try disabling all startup programs then see if you can use Add/Remove Programs. If you wish to enable the Windows Installer Service while in Safe Mode, add the following registry entry:

HKLM\SYSTEM\CurrentControlSet\Control\SafeBoot\Minimal\MSIServer\VE\TREG_SZ\F\D %Service%




Follow PrestwoodBoards on: 


©1995-2019 PrestwoodBoards  [Security & Privacy]
Professional IT Services: Coding | Websites | Computer Tech