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

Prestwood eMagazine

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

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

eMag Mar 2016 Issue - Full Edition

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


Expert guidance from working professionals!
Tech Services Info topic:
HD Data Recovery, Send Away
by Mike Prestwood

DriveSavers Partner. After our recovery attempts, offer to send to DriveSavers or equivalent. Price ranges from $500 to $1,500.


IT Water-Cooler for Power-Users topic:
How To Configure Auto Logon In Windows 7
by Eric Prestwood

Configure your computer to auto log on to a user (even an admin)


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.

American I.T. workforce topic:
Sharpening your skills - A short story
by Ramesh R
Here is a short story about a woodcutter and his job. From this job, we have lot of learnings that implies to our career and sharpening our skills. Such examples in life are very important for shaping our career. Enjoy the short story.





 Access Group Top 
Visit Group | My Group Settings
Language Basics topic (classic post):
Don't overlook the power of a relational database!
by Wes Peterson
Access is a wonderful desktop database. It makes it easy to do so many things. Many beginning users, though, fail to take advatage of one of Access's greatest strengths.

 Monthly Access Lesson
OOP Topic:
Code Snippet of the Month

When an object instance is created from a class, Access VBA calls a special parameter-less sub named Class_Initialize. Since you cannot specify parameters for this sub, you also cannot overload it.

When a class is destroyed, Access VBA calls a special sub called Class_Terminate.

General, Presales, & Installation Topic:
Resource Link of the Month: Microsoft Access Newsgroups

Microsoft's official Access newsgroup.

General, Presales, & Installation Topic:
Question: Can I use an Access 2002 application in Access 2003?

Answer:

Yes, you can either convert it to Access 2003 format or leave it as 2002 format and use it with Access 2003.







 AmericanIT Group Top 
Visit Group | My Group Settings
American I.T. workforce topic (classic post):
Sharpening your skills - A short story
by Ramesh R
Here is a short story about a woodcutter and his job. From this job, we have lot of learnings that implies to our career and sharpening our skills. Such examples in life are very important for shaping our career. Enjoy the short story.







 Analyst Group Top 
Visit Group | My Group Settings
Unified Modeling Language (UML) topic (classic post):
Introduction to the Unified Modeling Language
by Mike Prestwood
This introduction to the UML covers symbol usage, definitions, and creating diagrams. The UML standardizes what diagrams with what symbols for what situation. The UML is complete with diagrams for analysis, design, and coding. Use use case diagrams to document how users (actors) use a system (a use case). Use class and object diagrams for the design and coding of a system. A class is the prototype for an object. An object has attributes (properties) and the current values of those properties is the current state of the object.

 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.
Analysis & UML Topic:
Resource Link of the Month: Official UML Home Page

The Object Modeling Group (OMG) controls the UML specification. The Unified Modeling Language - UML - is OMG's most-used specification, and a very popular way to model not only application structure, behavior, and architecture, but also business process and data structure.







 ASP Classic Group Top 
Visit Group | My Group Settings
Language Basics topic (classic post):
Random Numbers with Rnd and Randomize
by Mike Prestwood
Call randomize then call Rnd to generate a random number between 0 and 1.

ASP Classic topic (classic post):
ASP Classic Empty String Check (Len(s&vbNullString))
by Mike Prestwood

In ASP Classic, 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.


 Monthly ASP Classic Lesson
Language Details Topic:
Code Snippet of the Month

Use the scriptiing dictionary object which is available on later versions of ASP Classic (all still commonly in use). Both Access VBA and VB Classic use a collection for this but collections are not supported in ASP Classic.

Dim StateList
Set StateList = Server.CreateObject("Scripting.Dictionary")

StateList.Add "CA", "California"
StateList.Add "NV", "Nevada" 
Response.Write "I live in " & StateList.Item("CA")
Dim StateList
 
set StateList = Server.CreateObject("Scripting.Dictionary")

StateList.Add "CA", "California"
StateList.Add "NV", "Nevada"
 
Response.Write "I live in " & StateList.Item("CA")

ASP Classic Topic:
Documented Error of the Month: ASP Classic error 0208 : 80004005 (Generic request collection)
Error: error 'ASP 0208 : 80004005' Cannot use generic Request collection /_private/footer_content.inc, line 72 Cannot use the generic Request collection after calling BinaryRead.
Explanation:

Although you can use the generic request collection, as in Request("SomeValue"), for either Request.Form("SomeValue") or Request.QueryString("SomeValue"), it's best to avoid the generic request collection until it's really needed. The generic request collection causes problems in some circumstances. For example, you cannot call the generic request collection after a BinaryRead.

ASP Classic Topic:
Resource Link of the Month: VBScript Language Reference on Microsoft.com
The best resource for quickly looking up ASP Classic commands. Even better than having a reference book.
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
Language Details topic (classic post):
C-Sharp Iterators, using yield
by Adam Lum

A quick example to demonstrate the yield keyword in the .NET Framework


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#, a constructor is called whenever a class or struct is created. A constructor is a method with the same name as the class with no return value and you can overload the constructor. If you do not create a constructor, C# will create an implicit constructor that initializes all member fields to their default values.

Constructors can execute at two different times. Static constructors are executed by the CLR before any objects are instantiated. Regular constructors are executed when you create an object.

public class Cyborg

{
public string CyborgName;
  
  //Constructor.
  public Cyborg(string pName)

{
CyborgName = pName;
}
}
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.
WebForms Coding Tasks Topic:
Resource Link of the Month: The Official Microsoft ASP.Net Site

Microsoft portal site for the ASP.NET development community.

WinForms Topic:
FAQ of the Month: Using Win32 DLLs in .NET
Question:

Can I use a Win32 DLL in my Visual Studio.Net application?


Answer:

Yes. The trick is to use the [DllImport] attribute, followed by declarations for each of the DLL's functions and procedures.







 C++ Group Top 
Visit Group | My Group Settings
Standard C++ topic (classic post):
Using cin and cout
by Mike Prestwood
Using cin and cout in C++ to output values.

 Monthly C++ Lesson
C++/CLI OOP Topic:
Code Snippet of the Month

Unlike standard C++, C++/CLI uses the .Net garbage collector to free managed object instances. Prism does not have nor need a true destructor.

In .Net, a finalizer is used to free non-managed objects such as a file or network resource. Because you don't know when the garbage collector will call your finalizer, Microsoft recommends you implement the IDisposable interface for non-managed resources and call it's Dispose() method at the appropriate time.

C++Builder Specific Topic:
Resource Link of the Month: Video & Audio: CDN C++Builder TV

Lots here! {#yikes} C++Builder TV is part of CodeGear's developer network. Contains both audios and videos.

Visual C++ Specific Topic:
FAQ of the Month: Visual C++
Question: What is the main usage of Visual C++? Can I create .Net apps with it?

Answer:

Yes, you can build .Net runtime applications with Microsoft's Visual C++ as well as building native code Win32 applications and rich 2D and 3D games with The Game Creators SDK. You can use it to create other types of applications too including MFC and Smart Devices applications.







 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


Programming topic (classic post):
Control Structures, and Recursion
by Sam.H

Control Flow in a Computer Program: Sequential, Conditional, Iteration.  Also has an introduction to Recursion.


 Monthly Coder Lesson
Object Orientation (OO) Topic:
Definition of the Month: Interface

An element of coding where you define a common set of properties and methods for use with the design of two or more classes.

Both interfaces and abstract classes are types of abstraction. With interfaces, like abstract classes, you cannot provide any implementation. However, unlike abstract classes, interfaces are not based on inheritance. You can apply an Interface to any class in your class tree. In a real sense, interfaces are a technique for designing horizontally in a class hierarchy (as opposed to inheritance where you design vertically). Using interfaces in your class design allows your system to evolve without breaking existing code.

General Info, Installation, etc. Topic:
Download of the Month: LLBLGen Pro
Object-Relation Mapping & Code-Generator Tool
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 Tasks Topic:
FAQ of the Month: Enable ASP.Net (ASPX)
Question: How do you enable ASP.Net (ASPX) in IIS 6?

Answer:

You turn on ASPX in your control panel. Depending on what O/S and version of IIS there are slightly different steps required but essentially you go to the Add/Remove Programs, Alter Windows Components, and make sure ASPX is checked in the Application Server or Application Development Services.

More Info / Details - http://support.microsoft.com/default.aspx?scid=kb;en-us;332124&Product=winsvr2003

General Coding Concepts Topic:
Tip of the Month

Most languages support a branching mechanism like if a..elseif b..elseif c. If a evaluates to true, b and c will not execute. The tip is to sort your branching conditions by most to lease used for faster code.







 DBA Group Top 
Visit Group | My Group Settings
DBA & Data topic (classic post):
dBASE Table Specification
by Mike Prestwood
Description of dBASE IV field types

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
MS SQL 2005 Topic:
Code Snippet of the Month

This tutorial shows how you would create a trigger in Microsoft SQL Server 2005/2008 that will date/timestamp a column named last_updated everytime any data in the row is updated.

This example assumes a primary key that includes 3 fields.

CREATE TRIGGER MyTableUpdate
ON dbo.MyTable
FOR update
AS
UPDATE
MyTable
SET last_updated = GetDate()
From MyTable Inner Join Inserted On
MyTable.KeyField1 = Inserted.KeyField1
and MyTable.KeyField2 = Inserted.KeyField2
and MyTable.KeyField3 = Inserted.KeyField3
DBA & Data Topic:
Definition of the Month: ASCII
ASCII is an acronym for American Standard Code for Information Interchange. The ASCII set consists of 7-bit codes that represent 128 standard characters, including letters, numbers, and symbols. The first 128 characters in the ASCII set, the extended ASCII set, and the ANSI set are the same.ASCII is an acronym for American Standard Code for Information Interchange. The ASCII set consists of 7-bit codes that represent 128 standard characters, including letters, numbers, and symbols. The first 128 characters in the ASCII set, the extended ASCII set, and the ANSI set are the same.
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)
Oracle 11g Topic:
Documented Error of the Month: nmefwmi.exe
Error:

nmefwmi.exe has stopped working

Explanation:

Error: nmefwmi.exe has stopped working

Solution: This error is caused by a defect in 11g limited to Windows Vista. The nmefwimi.exe is an Oracle 11g service used by dbconsole (OaracleDBConsoleorcl). You can stop this service to stop this error then set it's Startup Type to Manual to prevent it from returning. Doing so will not affect your database. When you need to use dbconsole, start the service manually.

Also, check with Oracle for an update that fixes this issue.

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
The three normal forms can be summed up in the following phrase: “All the fields of a table should relate to the key, the whole key, and nothing but the key.”






 Delphi Group Top 
Visit Group | My Group Settings
Tool Basics topic (classic post):
Record Keystrokes
by Daniel Kram

You can record a series of keystrokes to be played back for quick changes in code. Use Ctrl+Shift + R to begin recording, Ctrl+Shift+R again to stop the recording, then Ctrl+Shift+P to play recording.


Delphi for Win32 topic (classic post):
Displaying graphic images in DBGrid components
by Joshua Delahunty

An example of work I did to display a graphic (+ text) in a single column of a DBGrid based on two tables in a Delphi 2006 Application (not limited to later versions of Delphi)


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

Delphi uses // for a single line comment and both {} and (**) for multiple line comments. Although you can nest different types of multiple line comments, it is recommended that you don't. A special comment. Delphi compiler directives are in the form of {$DIRECTIVE}. Of interest for comments is using the $IFDEF compiler directive to remark out code.

//This is a single line comment.
 

{
Multiple line
comment.
}
 

(*
This too is a
multiple line comment.
*)
 

{$IFDEF TEMPOUT}
//...code here
{$ENDIF}
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:
Resource Link of the Month: Delphi for Win32 Roadmap

Official Delphi and C++Builder Roadmap from Codegear.

OOP Topic:
Question: Why do I have to specify virtual when creating an abstract method? Why not just abstract?

Answer:

For abstract methods, you must specify either regular virtual with the virtual keyword or dynamic virtual with the dynamic keyword. In Delphi for Win32, virtual methods are optimized for speed and dynamic methods are optimized for size. The Delphi help indicates to use virtual for most situations. 

It is true that the compiler could make virtual the default and therefore optional but requiring one or the other is consistent with Object Pascal's strong typing.

Language Basics Topic:
Tip of the Month

Format the IF/Endif for easy reading. I have found this to be easy to read and follow:

if (         (something = somethingelse)
      and (x = y)
      and (z = a)
   ) then
begin
..
end;

To indent the structure and line up the parenthesis makes it, I feel, much easier to read.







 Design Group Top 
Visit Group | My Group Settings
Website Design topic (classic post):
Using Web Safe Fonts in CSS
by Bryan Valencia

If you are editing the stylesheet in Visual Web Developer, and you access the font-family dropdown, Microsoft shows 3 common web-safe fonts and then every font in your system. 

This is dumb.  Most of us designers have many, many fonts that the average web browsing public has never heard of. 

Therefore, I present this list of Web Safe Fonts.  Use this list in the font-family  settings to achieve the effect you want, with maximum web compatibility.


 Monthly Design Lesson
Cascading Style Sheets (CSS) Topic:
Code Snippet of the Month
The following code snippet allows you to import a cascading style sheet (CSS) into another CSS file. The main benefit is this allows you to organize your styles and to create common CSS files.

@import url('http://www.prestwoodboards.com/style_core.css');

Windows Hosting Topic:
Download of the Month: Web Application Stress Tool (WAST)

The free Microsoft web stress tool is designed to realistically simulate multiple browsers requesting pages from a Web site.

The Microsoft WAS web stress tool is designed to realistically simulate multiple browsers requesting pages from a web site. You can use this tool to gather performance and stability information about your web application. This tool simulates a large number of requests with a relatively small number of client machines. The goal is to create an environment that is as close to production as possible so that you can find and eliminate problems in the web application prior to deployment.

Use this tool locally to test how well your website is performing in your test environment. The better it performs in your test environment under stress, the better it will perform when deployed live.

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.

Cascading Style Sheets (CSS) Topic:
FAQ of the Month: CSS
Question: What is a Cascading Style Sheet?

Answer: A cascading style sheet is a text file with a .CSS extension on your web site that indicates how the web page styles should look. Cascading style sheets make color and style changes easy.
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
Java topic (classic post):
Stacks in Java
by Stephen Berry
Provides the definition of a stack and an example of its implementation in Java

 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 EE Topic:
If you need support for Java EE and Web development, consider Eclipse IDE for Java EE Developers.

The Eclipse IDE for Java EE Developers contains everything you need to build Java and Java Enterprise Edition (Java EE) applications. Considered by many to be the best Java development tool available, the Eclipse IDE for Java EE Developers provides superior Java editing with incremental compilation, Java EE 5 support, a graphical HTML/JSP/JSF editor, database management tools, and support for most popular application servers.

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.

Beginners Corner topic (classic post):
A 10 Minute JavaScript Quick Start
by Mike Prestwood
Short 10 minute getting started JavaScript primer.

 Monthly JavaScript Lesson
JavaScript and AJAX Topic:
Code Snippet of the Month

An associative array links a set of unique values (keys) to another set of values (not necessarily unique). Associative arrays are also known as a dictionary or a hash table in other languages.

//Initialize array.
var MyStateList= new Array()
 
//Assign values.
MyStateList["CA"]="California";

MyStateList["OR"]="Oregon";
MyStateList["NV"]="Nevada";
 
//Use array.
Alert("OR is " + MyStateList["OR"])

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.







 Linux Group Top 
Visit Group | My Group Settings
 Monthly Linux Lesson
Linux Operating Systems Topic:
Resource Link of the Month: Distribution: Fedora

Fedora is a Linux-based operating system that showcases the latest in free and open source software. Fedora is always free for anyone to use, modify, and distribute. It is built by people across the globe who work together as a community: the Fedora Project. The Fedora Project is open and anyone is welcome to join.

The Fedora Project is out front for you, leading the advancement of free, open software and content.







 Owners Group Top 
Visit Group | My Group Settings
Internet Marketing topic (classic post):
How to Promote Your Website
by Mike Prestwood
Ideas for promoting your website.

 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
Paradox for DOS topic (classic post):
How to run Paradox for DOS on Vista
by Mike Prestwood

For maximum compatibility, use compatibility mode and adjust settings (640x480, and run in a Window, etc.).


Paradox Tables topic (classic post):
What to do When Your Paradox Data Table View Comes up Black
by Douglas.M

A simple fix for Paradox data tables appearing totally black in data table view mode.


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

In ObjectPAL, you can filter set a TCursor, UIObject, and Table objects using setRange() and setGenFilter().

The following example loads, filters, and runs a report.

var
 r Report
 dyn DynArray[] String
endVar
  
dyn["Name"] = "SCUBA Heaven"
Customer.setGenFilter(dyn)
  
r.load(":Sample:customer")
r.Customer.setGenFilter(dyn)
r.run()

You can also drop a flter with:

r.Customer.dropGenFilter()
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:
Documented Error of the Month: Paradox:03:69e5:
Error: Unexpected Condition GP 0000 at Paradox:03:69e5:
Explanation:

Try rebuilding the table using Table Repair (AKA TUtility).

Paradox & ObjectPAL Topic:
Resource Link of the Month: RDA World Wide
 
Many downloadable ObjectPal examples as well as additional development tools.
Paradox Tables Topic:
FAQ of the Month: Paradox 10 table structure?
Question: I was just reviewing the Paradox Table Specs in your Paradox developer reference area. I found specs through Paradox 7 only, and I'm really interested in Paradox 10. Is it available?

Answer:

No. Actually Paradox 7 "table structure" is the latest very flexible table structure. The only table structures are 1...3.x, 4.x, 5, and 7. No such thing as a Paradox 9 or 10 or 13 table structure.

Interactive Paradox: Forms Topic:
Tip of the Month
When users press CTRl-SPACEBAR to display a lookup table, remember to let them know that they can use CTRL-Q to locate a value. This is an interactive feature that can greatly enhance the user's perception of your application.






 Perl Group Top 
Visit Group | My Group Settings
Language Reference topic (classic post):
Perl Operators
by Mike Prestwood

List of Perl operators.


 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.

Perl Topic:
Download of the Month: ActivePerl Pro Studio
Commercial Perl development suite from ActiveState.
ActivePerl Pro Studio includes the latest releases of Komodo IDE and PDK Pro, plus one year access to Safari Books Online. Software licenses are permanent and include all updates, and upgrades for one year.






 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).

Delphi for PHP Topic:
FAQ of the Month: Delphi PHP V
Question:

What PHP version does Delphi for PHP support?


Answer:

Delphi for PHP is based on PHP version 5. Meaning, the VCL for PHP extends the standard libraries that ship with PHP 5. This also means you can deploy your Delphi for PHP website on any hosted website that has PHP 5 installed.

Note: You can deploy your Delphi for PHP websites on the hosted websites we offer on our http://www.prestwoodhosting.com web hosting services website.







 Prestwood IT Group Top 
Visit Group | My Group Settings
Tech Services Info topic (classic post):
HD Data Recovery, Send Away
by Mike Prestwood

DriveSavers Partner. After our recovery attempts, offer to send to DriveSavers or equivalent. Price ranges from $500 to $1,500.








 PrestwoodBoards Group Top 
Visit Group | My Group Settings
Message Board Help topic (classic post):
Message Board Ranks
by Mike Prestwood

Our Prestwood Community rank titles are based on Star Trek's Starfleet Officer Ranks. I know, I know, it's a bit geeky, but what the heck. You rise up in the ranks by earning Prestwood points with our Member Points Program. You earn points by participating in our online community: visit, post, etc. You can spend your points in our online store.

Cadet 1st Year=O-0,  Lieutenant=O-3, Commodore=F-1, more...

The easiest way to earn points is to visit daily and post to our Prestwood Message Boards.








 Prism Group Top 
Visit Group | My Group Settings
Language Basics topic (classic post):
Delphi Prism Unary Operators
by Mike Prestwood

The Prism unary operators are:

+
-
Not


OOP topic (classic post):
Delphi Prism Interfaces
by Mike Prestwood

With Prism, you use the Interface keyword to define an interface and then you include one or more interfaces where you specify the single class inheritance (separated by commas).


 Monthly Prism Lesson
OOP Topic:
Code Snippet of the Month

Same as Delphi. In Prism, you specify a virtual method with the virtual keyword in a parent class and replace it in a descendant class using the override keyword. Call Inherited in the descendant method to execute the code in the parent method.

Robot = class(System.Object)

public
method Speak; virtual;
end;
  
Cyborg = class(Robot)

public
method Speak; override;
end;
Tool Basics Topic:
Download of the Month: Oxidizer

Oxidizer is a free tool that (in combination with ShineOn) is provided to help to port Delphi (Win32 and .NET) projects to the Delphi Prism language. Oxidizer is a command line tool that will adjust your .pas source files for common differences between the two languages.

Delphi Prism Topic:
Resource Link of the Month: Delphi Prism vs. CSharp

The obvious differences between Delphi Prism and C# are additional features in the Delphi Feature Pack (Blackfish SQL etc.) and the Object Pascal based syntax, which are very attractive for developers skilled in Delphi for Win32, for example. However, the compiler adds a wide range of extemely useful enhancements as well.

Tool Basics Topic:
FAQ of the Month: Delphi Prism IDE vs VS.Net
Question: Does Delphi Prism look and feel like Visual Studio or Delphi? In other words, is Delphi Prism VS.Net or Delphi?

Answer:

Delphi Prism is Visual Studio.Net. If you have Visual Studio.Net installed, the Delphi Prism installation plugs into your existing VS.Net installation. If you don't own VS.Net, the installation installs the Visual Studio Shell before plugging in Delphi Prism.







 Proj Man Group Top 
Visit Group | My Group Settings
PSDP General topic (classic post):
PSDP Phases compared to UML Workflows
by Mike Prestwood
Brief summary of how UML workflows map to the PSDP phases.

PSDP Project Management topic (classic post):
Project Management - The Feasibility Phase
by Scott Wehrly
An overview of the PSDP feasibility phase.

 Monthly Proj Man Lesson
PSDP Checkpoints Topic:
Definition of the Month: PSDP Checkpoints

A checkpoint is NOT a task, but rather a milestone. A point in the project that marks significant progress. Although PSDP contains many standard checkpoints, the executive sponsor and project manager must agree on the checkpoints they wish to track. Once established, tasks can be associated with a checkpoint and you can easily view what tasks are completed per checkpoint and what checkpoints do NOT have tasks established yet.

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

You can apply PSDP Artifacts to an existing system that has ongoing development and/or maintenance. For desktop applications, start with one PSDP Artifact per form and report. For websites, start with one PSDP Artifact per page. If you have a utility that imports and/or exports data, start with one PSDP Artifact per import/outport combination. Perhaps add each artifact as you go forward in your development.







 Tech Group Top 
Visit Group | My Group Settings
Backup Software topic (classic post):
Carbonite, Add a Backup Extension
by Mike Prestwood

To add an extension, right click on a file, select Properties. On the Carbonite tab, check the Back up files of this type (within folders selected for backup) checkbox. Alternatively, you can specify specific files to back up by right clicking the file and selecting Carbonite | Back This Up.


Software topic (classic post):
PC Repair: Matching Wits with an Invisible Enemy
by Douglas.M

This article describes one of my PC troubleshooting encounters that required a little more thinking and effort than usual.


 Monthly Tech Lesson
Hardware Topic:
Definition of the Month: MbPS
Megabits (mb) per second. A bit is either a 0 or 1 (a digit) and a byte is a string of 8 bits. 8 mbps (megabits per second) equals 1 MB/sec (megabytes per second). Therefore 54 mbps is equal to a max of 6.75 MB/second.
Admin Server Tools Topic:
Resource Link of the Month: Open Relay/Blacklist Tests

Enter IP address to test your SMTP server for open relay. If you have an open relay, your SMTP server will be black listed. You can ping your domain to retrieve the IP.

Also...

  • MXToolbox.com - Super Tool. Another great email test site.
  • WebsitePulse.com - Blacklist test. Test if you your SMTP server is on any of the major blacklists.
Windows Server 2003 Topic:
Question:

In Windows Server 2003 terminal server, how do you automatically log off disconnected sessions? I'm getting the following error:

"The terminal server has exceeded the maximum number of allowed connections. The system can not log you on. The system has reached its licensed logon limit. Please try again later."


Answer:

On your terminal server, adjust the Set time limit for disconnected session setting. In Group Policy Object Editor (Start | Run | gpedit.msc), drill-down to the setting: Computer Configuration > Administrative Templates > Windows Components > Terminal Services > Sessions. You'll see 5 settings you can adjust.

Wireless Networking Topic:
Tip of the Month

If you have a USB wireless device such as a wireless NIC, mouse controller, etc. that has a weak signal because of location, try adding a USB extension cable and placing the device in a more open location.

USB cables from stores such as Radio Shack, Best Buy, etc. are over priced 5 or 6 times what you can get on the internet.

For wireless network cards, you can also buy a range-extending antenna for the computer's WiFi card or router, or a wireless range extender.







 Tech Writer Group Top 
Visit Group | My Group Settings
General, Getting Started, etc. topic (classic post):
What is technical writing?
by Ramesh R
About technical writing and the knowledge domain.

Technical Writing topic (classic post):
Web API Documentation
by Peter Gruenbaum

The number of Web APIs is growing rapidly, especially with the increasing popularity of Software as a Service. Because Web APIs are still fairly new, the quality and format of their documentation varies a great deal. Good documentation is important for Web APIs because experimentation is more difficult than with local APIs. Because Web APIs are language-neutral, you may need to write sample code in a variety of different languages. Be sure to cover authentication, error handling, and HTTP information.


 Monthly Tech Writer Lesson
MS Windows Help Files (.HLP) Topic:
Download of the Month: ABC Amber HLP Converter

Converts HLP files to many formats including PDF, RTF, HTML, DOC, CHM, TXT, DBF, XML, CSV, XLS, MDB, MCW, etc.

MS Compiled Windows Help (.CHM) Topic:
Resource Link of the Month: HelpScribble - an amazing tool

We're all familiar with program help systems. At Prestwood, of course, we need to author them for many of the applications we create.

There are many help authoring tools available, and HelpScribble is one of my two favorites.

Now, even though you may not need to create program help systems, help files, on their own, can be a great way to organize and convey all manner of information. Because they can contain a table of contents, an index, search capabilities, hyperlinks from one topic to another, and embedded graphics, they can be a wonderful way to document many kinds of complex information - say a training manual for new workers - in just about any industry.

The people at Just Great Software like to say that, "If you can scribble, you can create help systems." They're right: HelpScribble makes it about as easy as it could get. Naturally, HelpScribble includes an extensive help system of its own, which will teach you everything you need to know.

HelpScribble can produce

  • WinHelp (.hlp files),
  • Compiled HTML Help (.chm files),
  • Rich Text Format (.rtf files) for printed manuals, and
  • Multi-page HTML output - suitable for web help.

At only $99, this is one of the best software bargains I've encountered.

You can read all about HelpScribble, and download a free trial here:
http://www.helpscribble.com/

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
Testing, QA, QC Topic:
Definition of the Month: Quality Control
A process employed to ensure a certain level of quality in each deliverable such as a requirements specification, a design specification, the final delivered software, etc.

A process employed to ensure a certain level of quality in each deliverable such as a requirements specification, a design specification, the final delivered software, etc.

For software developers, the software development process is the process employed to ensure a certain level of quality. Prestwood Software Development Process (PSDP) is such a process. To learn more about PSDP, go to the PSDP Process Page.

Testing Websites Topic:
Tip of the Month

Test each website with various common browsers. As of early 2008, we test each website we build with Internet Explorer, FireFox, and Safari. Sometimes we also include Opera as part of our standard test suite. The minimum resolution we test for "regular" websites is 1024x768 (and higher). We no longer support 800x600.







 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

 Monthly V.FoxPro Lesson
Visual FoxPro (VFP) Topic:
Resource Link of the Month: The History of FoxPro
Great resource! The history of FoxPro including FoxPro and Visual FoxPro. Also includes predictions about the future.






 VB Classic Group Top 
Visit Group | My Group Settings
Language Details topic (classic post):
VB Classic Custom Routines (Sub, Function)
by Mike Prestwood

VB Classic is a non-OOP language with some OOP features. It offers both Subs and Functions. A Sub does not return a value while a Function does. When Subs and Functions are used in a class module, they become the methods of the class.


 Monthly VB Classic Lesson
Tool Basics Topic:
Code Snippet of the Month

VB Classic is not case sensitive. If you type any other case for commands or variables, VB Classicwill change it to the "accepted" or "defined" case. For example, if you type msgbox it is converted to MsgBox.

The following code works:

MsgBox ("hello")






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

Declare and implement VB.Net classes after the form class or in their own .vb files. Unlike VB Classic, you can have more than one class in a .vb class file (VB classic uses .cls files for each 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
OOP Topic:
Code Snippet of the Month

Use a destructor to free unmanaged resources. A destructor is a method with the same name as the class but preceded with a tilde (as in ~ClassName). The destructor implicity creates an Object.Finalize method (you cannot directly call nor override the Object.Finalize method).

In VB.Net you cannot explicitly destroy an object. Instead, the .Net Frameworks garbage collector (GC) takes care of destroying all objects. The GC destroys the objects only when necessary. Some situations of necessity are when memory is exhausted or you explicitly call the System.GC.Collect method. In general, you never need to call  System.GC.Collect.

Class Cyborg

� Protected Overrides Sub Finalize()
��� 'Free non-managed resources here.
��� MyBase.Finalize()
� End Sub
End Class






 Windows Group Top 
Visit Group | My Group Settings
Windows Users topic (classic post):
Protect Your Windows Computer Using FREE Tools
by Mike Prestwood

Protect your computer before it slows down, you lose data, or someone steals information. The basics are an antivirus program, Windows Updates, and a firewall. Beyond that, I like to use several programs that add layers of protection to your computer.


Windows XP topic (classic post):
Hidden Searching Secrets in Windows XP
by Joshua Delahunty
You've probably used the Find Files feature of Windows in the past. And it seemed slow. By enabling the Indexing Service feature, you will be able to speed up this process, and make searching files, including phrases and words internal to the files on your drive, MUCH faster. Just follow the steps below, and you'll be on your way to a much faster find feature.

 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: Not enough quota is available to process this command.
Error:

Not enough quota is available to process this command.

Explanation:

I could not save to my desktop when disconnected from the domain. My laptop at work worked fine, but when I took it home, I could not save to the desktop. The problem turned out to be a limit on Temporary Offline Files. The solution was to increase the Temporary offline files on the Disk Usage tab of the Offline Files control panel applet.

Here is the error:

Temporary Offline files

Open the Offline Files applet in the Control Panel:

Click Change Limits and increase the Temporary offline files setting.

Windows Vista Topic:
Resource Link of the Month: Ultimate List of Free Windows Vista Software from Microsoft

Free software from Microsoft?  For Vista?

You bet. Check this link for many titles.

For similar XP offerings, see the link below.

Windows Users Topic:
Question: Can I install software in Windows safe mode?

Answer:

Depends on the software. If a software installation relies on something that is disabled in Safe Mode, then it will not install correctly. In addition, some software will not let you. For example, Norton Anti-Virus will not allow you.

If you boot up in Safe Mode with Networking, you can also browse the internet. For example, you can frequently browse to http://www.trendmicro.com and use their free online virus scanning software to remove viruses that have disabled your computer.

Windows Users Topic:
Tip of the Month

This tip works on most versions of Windows and was tested on both XP and Vista.



Follow PrestwoodBoards on: 


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