The Prestwood eMag  |  www.prestwood.com |
|
| March 2009 - Full Edition | Year 11 Issue 3
|
|
| A computer community for power-users and I.T. professionals! |
|
Table of Contents: |
|
 Wes Peterson | From our Internet Marketing topic...Make Other Web Sites Drive Up Yours: Do-it right!by Wes Peterson Having lots of other web sites host links to your site is a great way to make search engines regard your site as important, or relevant. It helps ensure high visibility for your site when Internet visitors use search providers to find content related to your site.
There are several ways to accomplish this, but you must tread carefully: The wrong techniques can backfire - with serious consequences. A classic post from our WinForms topic... A 10 Minute C# Winforms Quick Start by Mike PrestwoodThe ButtonsCS project. Create a classic "Hello, World" application using Visual Studio .Net with C# syntax. Requires either the full version or Visual C# Express Edition. A classic post from our IT Water-Cooler for Power-Users topic... Work Ethic v2: Attention Control by Wes PetersonWork Ethic v1 was about working hard, and working long. Straw-boss managers tried to boost productivity by cracking the whip. And it worked, up to a point, in certain sectors.
In recent years, the concept of "working smarter, not harder" has gained acceptance. It is, howver, just the harbinger of Work Ethic v2.
Work Ethic v2 is about an always "on" work force: People that have mastered control of attention, and are gratified by being in "the now."
Here we talk about how to get there.
A classic post from our Language Basics topic... Access VBA Logical Operators (and, or, not) by Mike PrestwoodSame 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 | Learn! Review! Keep Up! |
| Short tidbits pulled from our knowledge base each month. | M O N T H L Y L E S S O N | From our Language Basics Topic. Code Snippet of the Month 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. 'Single line comment.
REM Old school single line comment. #If MyDirective Then '...some code. #End If
| |
Access Message Board Ask this group a question! Select a topic below or Visit Access Board Now!
American I.T. Message Board Ask this group a question! Select a topic below or Visit American I.T. Board Now!
Monthly Analyst Lesson | Learn! Review! Keep Up! |
| Short tidbits pulled from our knowledge base each month. | M O N T H L Y L E S S O N | From our Unified Modeling Language (UML) Topic. 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. | |
Analyst Message Board Ask this group a question! Select a topic below or Visit Analyst Board Now!
Monthly ASP Classic Lesson | Learn! Review! Keep Up! |
| Short tidbits pulled from our knowledge base each month. | M O N T H L Y L E S S O N | From our OOP Topic. Code Snippet of the Month ASP classic uses the property keyword and special Get and Let methods to both get and set the values of properties. Class Cyborg Private FCyborgName Public Property Get CyborgName() CyborgName = FCyborgName End Property Public Property Let CyborgName(pCyborgName) FCyborgName = pCyborgName End Property End Class From our ASP Classic Topic. 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. From our 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. | |
ASP Classic Message Board Ask this group a question! Select a topic below or Visit ASP Classic Board Now!
A classic post from our OOP topic... C# Constructors (Use class name) by Mike PrestwoodIn 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. A classic post from our OOP topic... C# Partial Classes (partial) by Mike PrestwoodC# 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. |
| Short tidbits pulled from our knowledge base each month. | M O N T H L Y L E S S O N | From our OOP Topic. Code Snippet of the Month In C#, parens indicate a method and the lack of parens indicate a property. You use special get and set methods to both get and set the values of properties. For a read-only property, leave out the set method. The value keyword is used to refer to the member field. Properties can make use of any of the access modifiers (private, protected, etc). It is common to use a lowercase member names for member fields ("name" in our example) and uppercase properties to manage member fields ("Name" in our example). public class Cyborg : System.Object { private string cyborgName;
public string CyborgName { get {return cyborgName;} set {cyborgName = value;} } } From our C# Topic. Definition of the Month: Struct A value type used to encapsulate a small set of related data. A Struct encapsulates a small set of related data. Although it can contain many of the characteristics of a class such as methods, events etc., they are usually very limited in number. If several such members are used implementing this as a class should be considered. A struct can implement an interface, but it cannot inherit from a class or another struct From our 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# Message Board Ask this group a question! Select a topic below or Visit C# Board Now!
| Short tidbits pulled from our knowledge base each month. | M O N T H L Y L E S S O N | From our C++ Language Basics Topic. Code Snippet of the Month Variable names are case sensitive. The fundamental variable types in C++ are char, short int, int, long int, bool, float, double, long double, and wchar_t. The integer data types char, short, long and int can be either signed or unsigned. Signed variables are positive and negative. Unsigned variables are positive only. C++, Java, and C# all use C-like variable declaration. int Age; int Age = 43; float a, b, c; string FullName; //#include unsigned short int FamilyMemberCount; From our C++/CLI Topic. 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. | |
C++ Message Board Ask this group a question! Select a topic below or Visit C++ Board Now!
A classic post from our Object Orientation (OO) topic... Inheritance by Mike PrestwoodThe concept of a class makes it possible to define subclasses that share some or all of the main class characteristics. This is called inheritance. Inheritance also allows you to reuse code more efficiently. In a class tree, inheritance is used to design classes vertically. (You can use Interfaces to design classes horizontally within a class tree.) With inheritance, you are defining an "is-a" relationship (i.e. a chow is-a dog). Analysts using UML call this generalization where you generalize specific classes into general parent classes. |
Monthly Coder Lesson | Learn! Review! Keep Up! |
| Short tidbits pulled from our knowledge base each month. | M O N T H L Y L E S S O N | From our Object Orientation (OO) Topic. Constructors are called when you instantiate an object from a class. This is where you can initialize variables and put code you wish executed each time the class is created. When you initially set the member fields and properties of an object, you are initializing the state of the object. The state of an object is the values of all it's member fields and properties at a given time. From our General Info, Installation, etc. Topic. Error: Microsoft Visual Studio The service Microsoft.VisualStudio.Shell.Interop.ISelectionContainer already exists in the service container. Parameter name: serviceType From our 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. From our 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. | |
Coder Message Board Ask this group a question! Select a topic below or Visit Coder Board Now!
A classic post from our DBA & Data topic... Corporate Database Administration by Jeffrey K. TyzzerCorporate database admin standard first published by Prestwood Software in 1996. |
| Short tidbits pulled from our knowledge base each month. | M O N T H L Y L E S S O N | From our 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
From our DBA & Data Topic. Definition of the Month: BDE BDE is an acronym for Borland Database Engine (previously referred to as IDAPI and before that it was ODAPI). BDE is an acronym for Borland Database Engine (previously referred to as IDAPI and before that it was ODAPI). Back in 1993, Phillipe Kahn battled Microsoft in many ways including the orginal ODAPI versus ODBC. ODAPI grew up into IDAPI and finally is now named BDE. From our 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:
From our 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. From our Microsoft SQL Server Topic. 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. From our 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. | |
DBA Message Board Ask this group a question! Select a topic below or Visit DBA Board Now!
A classic post from our Tool Basics topic... Record Keystrokes by Daniel KramYou 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. A classic post from our OOP topic... Delphi Class Helpers (class helper for) by Mike PrestwoodDelphi allows you to extend an existing class without using inheritance. Buggy in 2005 and not officially supported but stable and usable in 2006 and above. You declare a class helper similiar to how you declare a class but use the keywords class helper for.
- You can name a helper anything.
- Helpers have access only to public members of the class.
- You cannot create an object instance directly from a class helper.
- self refers to the class being helped.
|
Monthly Delphi Lesson | Learn! Review! Keep Up! |
| Short tidbits pulled from our knowledge base each month. | M O N T H L Y L E S S O N | From our OOP Topic. Code Snippet of the Month Delphi for Win32 supports abstract class members using the abstract keyword. You can even instantiate instances of a class that contains abstract members. Then you override each abstract member in a descendant class with Override. Delphi does not support setting an entire class as abstract. You can create an abstract class (a class with one or more abstract methods), but there is no way to tell the compiler to not allow the instantiation of the abstract class. Delphi does not support abstract member properties directly. To implement an abstract properity, make use of abstract methods. That is, you can read a GetPropertyX abstract function and write to a SetPropertyX abstract procedure. In effect, creating an abstract property. TCyborg = class(TObject) public procedure Speak(pMessage: String); virtual; abstract; procedure Walk; abstract; end; TSeries600 = class(TCyborg) public procedure Speak(pMessage: String); override; procedure Walk; override; end; From our Language Basics Topic. 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. From our Delphi for Win32 Topic. 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. From our Delphi for Win32 Topic Resource Link of the Month: CodeGear Blogs Here you will find blogs from David I, Nick Hodges (Delphi Product Manager), and many other notable Delphi enthusiasts. From our Using Controls Topic. Question: How do you specify which color to use with TColorGrid from the samples page? Why isn't it documented? Answer: Use the public methods ForegroundColor and BackgroundColor. For example, in the OnChange event of a ColorGrid component you could do the following: procedure TForm1.ColorGrid1Change(Sender: TObject); begin Edit1.Font.Color := ColorGrid1.ForegroundColor; Edit1.Color := ColorGrid1.BackgroundColor; end; None of the components on the "Samples" page are documented. From our 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. | |
Delphi Message Board Ask this group a question! Select a topic below or Visit Delphi Board Now!
| Thread Starter | Replies | Last Post | Topic | | Does Delphi support code co... I was reading a bit about class contracts in Prism, does Delphi 2009 support class contracts? I've looked everywhere. | 4 | thanks. i have not been back in a while but wanted to say thanks for the info. 1/30/2010 | Delphi Object PASCAL |
Monthly Java Lesson | Learn! Review! Keep Up! |
| Short tidbits pulled from our knowledge base each month. | M O N T H L Y L E S S O N | From our Language Details Topic. Code Snippet of the Month An associative array links a set of keys to a set of values. In Java, associative arrays are implemented as Maps.
This will print "Arizona." import java.util.*;
public class Maps { public static void main(String[] args) { Map states = new HashMap(); states.put("CA", "California"); states.put("FL", "Florida"); states.put("AZ", "Arizona");
System.out.println(states.get("AZ")); } } From our 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. | |
Java Message Board Ask this group a question! Select a topic below or Visit Java Board Now!
A classic post from our Coding Tasks topic... Add Favorites or Bookmark - Works with all browsers. by Mike PrestwoodFor IE 4+, this script will give visitors to your site the option to add your page to their favorites. For Netscape users it will remind them to press Control + D, for all others, it simply reminds them to bookmark your page. |
Monthly JavaScript Lesson | Learn! Review! Keep Up! |
| Short tidbits pulled from our knowledge base each month. | M O N T H L Y L E S S O N | From our JavaScript and AJAX Topic. Code Snippet of the Month Above returns "Mike P". SubStr(StartIndex, NumberOfCharacters)
Notice JavaScript is 0 based (the first character is character 0).�0 is start character, 6 is number�of characters).�
You can also use substring where both numbers are indexes: SubString(StartIndex, EndIndex)
The following returns "re". var sName; sName = "Mike Prestwood"; sName = sName.substring(6, 8); document.write(sName);
var sName; sName = "Mike Prestwood"; sName = sName.substr(0, 6); document.write("Hello " + sName);
From our JavaScript and AJAX Topic. 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 '//' 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. | |
JavaScript Message Board Ask this group a question! Select a topic below or Visit JavaScript Board Now!
A classic post from our Paradox Tables topic... BDE Best Practices: Safely Use Paradox Tables by Mike PrestwoodUse a file server (not a workstation) to store your data, disable Oplocks on the filer server, and configure the BDE (local share to true and optimize if desired). Finally, if workstations are crashing, fix em so they don't. You want clean running computers that don't crash. A classic post from our Interactive Paradox: Forms topic... Paradox Forms From Scratch by Steve CapleBe Your Own Expert! Form building techniques. |
Monthly Paradox Lesson | Learn! Review! Keep Up! |
| Short tidbits pulled from our knowledge base each month. | M O N T H L Y L E S S O N | From our 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 From our OPAL: Language Basics Topic. 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. From our Interactive Paradox: Forms Topic styles.zip contains sample Paradox style sheets From our Paradox Tables Topic Resource Link of the Month: Sundial Services International Inc. Home of ChimneySweep, "the" replacement for Table Repair for those that need to automate the repair of multiple paradox tables. Here at Prestwood Software we have recommended ChimneySweep many times. From our Paradox Tables Topic. 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. From our Interactive Paradox: Forms Topic Tip of the Month Remember, autofill is a great feature that you should promote to your users. To automatically fill in a date field with today's date, for example, just press the SPACEBAR a couple of times. Make sure you add this type of help to any manuals or help files you develop for your application. Autofill works with Date, Time, Timestamp, and Logical fields and does not require a picture statement. | |
Paradox Message Board Ask this group a question! Select a topic below or Visit Paradox Board Now!
| Thread Starter | Replies | Last Post | Topic | | Print form hades Hello all. I have a question which may or may not be appropriate for this forum but I am going to ask any way. At the office we are running WPX3 sui... | 1 | Hi. Hope I'm not making it worse for you; but maybe a casual (not expert) reply is bette... 5/1/2009 | Paradox Setup, Vista, etc. | | Debug Button bar missing I'm running XP-pro and using Pdox 7 - 32 bit.
When I am debugging my programs, using breakpoints, I found that the Debug button bar disappeared.
Anybody know how to force the button bar back in... | 0 | New! 3/4/2009 | Paradox Forms | | Trouble with Spell check in... Hi all, I posted this on comp.databases.paradox to no avail. I saw there, a reference to Bert Isberg's bug list but I can't find the solution there either.... | 4 | {Too Long} 2/27/2009 | Paradox Setup, Vista, etc. | | Could not open Paradox.net One of our users got a new pc this week. He has some Excel pivot tables that are reading data from Paradox tables via an odbc connection. Every time... | 1 | Paradox.net along with PDoxuser.net are used by the Borland Database Engine (BDE). So, any and every... 2/26/2009 | Paradox Setup, Vista, etc. | | Missing Lookup Tab in Creat... I bought a small netbook, NC10 Samsung. INstalled my faithful ver 9 Paradox. I copied data files from another network computer that creates data and then has that temp table of information added to in... | 0 | New! 2/21/2009 | Paradox Setup, Vista, etc. |
A classic post from our Language Reference topic... Perl Operators by Mike PrestwoodA classic post from our Beginners Corner topic... A 10 Minute Perl Quick Start by Mike PrestwoodA short 10 minute Perl primer. Get started in Perl now! |
Monthly Perl Lesson | Learn! Review! Keep Up! |
| Short tidbits pulled from our knowledge base each month. | M O N T H L Y L E S S O N | From our Perl Topic. Code Snippet of the Month Perl assignment operators:
| = |
Assignment |
$x = 8; |
| += |
Addition |
$x += 8; |
| -= |
Substraction |
$x -= 8; |
| *= |
Muliplication |
$x *= 8; |
| /= |
Division |
$x /= 8; |
| %= |
Modulus |
$x %= 8; |
| **= |
Exponent |
$x **= 8; | $FullName = "Randy Spitz"; $Age = 38; | |
Perl Message Board Ask this group a question! Select a topic below or Visit Perl Board Now!
A classic post from our Language Reference topic... PHP Custom Function (function) by Mike PrestwoodPHP uses functions and loosely typed parameters. Function definitions can come before or after their usage so my preference when mixing PHP in with a mostly HTML page is to put the functions after the </html> tag. |
| Short tidbits pulled from our knowledge base each month. | M O N T H L Y L E S S O N | From our Beginners Corner Topic. Code Snippet of the Month PHP uses a period (.) known as a dot to concatenate strings.
$fname = "Mike"; $lname = "Prestwood";
$fullname = $fname . $lname . "<br>";
echo "My name is " . "Mike.<br>";
From our 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). | |
PHP Message Board Ask this group a question! Select a topic below or Visit PHP Board Now!
Prestwood Message Board Ask this group a question! Select a topic below or Visit Prestwood Board Now!
PrestwoodBoards Message Board Ask this group a question! Select a topic below or Visit PrestwoodBoards Board Now!
| Thread Starter | Replies | Last Post | Topic | | Feature Survey: Attach File... Should I add the ability to attach a file to a post?
Right now you can insert images and code into a post but you cannot attach a file. If I add this, you'll ... | 1 | Mike,
I can think of one use-case where the ability to attach a file to a KB post would be useful:
... 2/6/2009 | Just Conversation |
A classic post from our Language Details topic... Delphi Prism Overloading (implicit) by Mike PrestwoodLike Delphi, Prism supports overloading. However, Prism supports implicit overloading (no need for an overload keyword). A classic post from our OOP topic... Delphi Prism Partial Classes (partial) by Mike PrestwoodPrism supports both partial classes and partial methods using the keyword partial. A partial method is an empty method defined in a partial class. |
Monthly Prism Lesson | Learn! Review! Keep Up! |
| Short tidbits pulled from our knowledge base each month. | M O N T H L Y L E S S O N | From our OOP Topic. Code Snippet of the Month Prism uses unnamed constructor methods for constructors. Prism also supports a Create constructor method for backward compatibility with Delphi for Win32. Cyborg = public class public constructor(); constructor(pName: String); end;
From our Tool Basics Topic A Delphi Prism implementation of the Delphi for Win32 RTL. From our Language Details Topic Resource Link of the Month: The Delphi Prism Primer Comprehensive introduction by Christian Stelzmann. From our Delphi Prism Topic. Question: What is the difference between a partial method and an abstract method? Answer: Both are very similar in usage. However, a partial method is a callable empty method whereas an abstract method is a defined method in a parent class that must be implemented in a child class. Contrast this with a partial method which can be implemented in a child class but does not have to be. Partial methods are common with code generators for managing events. | |
Prism Message Board Ask this group a question! Select a topic below or Visit Prism Board Now!
Monthly PSDP Lesson | Learn! Review! Keep Up! |
| Short tidbits pulled from our knowledge base each month. | M O N T H L Y L E S S O N | From our PSDP Analysis Topic. A software artifact that documents what the software must do. In PSDP, we collect general requirements and requirement items. Together the general requirements and requirement items make up the Requirements Specification. Also, requrement items are one of the four items that make up a PSDP Artifact.
A software artifact that documents what the software must do. In PSDP, we collect general requirements and requirement items. Together the general requirements and requirement items make up the Requirements Specification. Also, requrement items are one of the four items that make up a PSDP Artifact. From our PSDP Artifacts Topic. Question: I've assigned the PSDP Artifact to one developer, how do I manage the filling in of design, the building of the artifact, and testing? Answer: If one person is assigned to the filling in of the design items, create one or more additional tasks assigned to that person with a description to fill in all artifacts. If, for example, two developers are then going to build (code) the artifacts, assign one or more tasks to each developer with a description to build specific artifacts. For testing, you'll want a minimum of two tasks, one to complete the test scripts and one task to test each build (a test suite and results is associated with a build). The resulting defects have workflow with assignment built into each defect (a defect is really just a specific type of task). | |
PSDP Message Board Ask this group a question! Select a topic below or Visit PSDP Board Now!
Monthly Tech Lesson | Learn! Review! Keep Up! |
| Short tidbits pulled from our knowledge base each month. | M O N T H L Y L E S S O N | From our 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. From our Removable Storage Technology Topic Resource Link of the Month: ISO Recorder Software that allows you to burn a .ISO image to CD on Windows XP or Vista and to DVD on Vista. Free and very easy to use (right click on image and select Copy Image to CD. | |
Tech Message Board Ask this group a question! Select a topic below or Visit Tech Board Now!
A classic post from our General, Getting Started, etc. topic... What is technical writing? by Ramesh RAbout technical writing and the knowledge domain. A classic post from our Technical Writing topic... Technical Writing Domains by Ramesh RA large set of technical writing work have grown up and it has started spanning across several domains. Documentation is strictly a requirement by most of the companies when we look at information management techniques as a whole. Over a period of time, the documentation changes need to be tracked and verified including the release changes and changes in development/API. Technical writing is not just limited to software or hardware or products as such. It is existing across several domains. Let us try to understand the various domains in which technical writing offers it role. |
Monthly Tech Writer Lesson | Learn! Review! Keep Up! |
| Short tidbits pulled from our knowledge base each month. | M O N T H L Y L E S S O N | From our Spelling Pitfalls Topic Tip of the Month
- Quit: to stop, cease, or discontinue
- Quiet: making no noise
- Quite: completely, wholly, or entirely
| |
Tech Writer Message Board Ask this group a question! Select a topic below or Visit Tech Writer Board Now!
Monthly Tester Lesson | Learn! Review! Keep Up! |
| Short tidbits pulled from our knowledge base each month. | M O N T H L Y L E S S O N | From our Testing, QA, QC Topic. 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. From our 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. | |
Tester Message Board Ask this group a question! Select a topic below or Visit Tester Board Now!| Topic | Threads | Posts | Last Active Thread | | Testing | 1 | 0 | No Subject! |
V.FoxPro Message Board Ask this group a question! Select a topic below or Visit V.FoxPro Board Now!
A classic post from our Language Basics topic... VB Classic Logical Operators (and, or, not) by Mike PrestwoodVB 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 | Learn! Review! Keep Up! |
| Short tidbits pulled from our knowledge base each month. | M O N T H L Y L E S S O N | From our Tool Basics Topic. Code Snippet of the Month 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. 'Single line comment.
REM Old school single line comment. #If MyDirective Then '...some code. #End If
| |
VB Classic Message Board Ask this group a question! Select a topic below or Visit VB Classic Board Now!
A classic post from our OOP topic... VB.Net Interfaces (Interface, Implements) by Mike PrestwoodWith VB.Net you define an interface with the Interface keyword and use it in a class with the Implements keyword. In the resulting class, you implement each property and method and add Implements Interface.Object to each as in: Sub Speak(ByVal pSentence As String) Implements IHuman.Speak MessageBox.Show(pSentence) End Sub |
Monthly VB.Net Lesson | Learn! Review! Keep Up! |
| Short tidbits pulled from our knowledge base each month. | M O N T H L Y L E S S O N | From our OOP Topic. Code Snippet of the Month VB.Net uses a special property keyword along with special get and set methods to both get and set the values of properties. For a read-only property, leave out the set method. The value keyword is used to refer to the member field. Properties can make use of any of the access modifiers (private, protected, etc).
My preference for VB.Net code is to start member fields with "F" ("FName" in our example) and drop the "F" with properties that manage member fields ("Name" in our example). Public Class Cyborg Private FCyborgName As String Public Property CyborgName() Get Return FCyborgName End Get Set(ByVal value) FCyborgName = value End Set End Property End Class | |
VB.Net Message Board Ask this group a question! Select a topic below or Visit VB.Net Board Now!
A classic post from our HTML Language Reference topic... Common Entity References by Mike PrestwoodTranslation of entity references and special codes ( such as < to < ). A classic post from our Website Scripting topic... Connection Strings, Web.Config, and the Development Environment by Bryan ValenciaThere is a way to configure your ASP.NET website with one configuration for your internal development environment and another for your online website - and still be able to publish your site without hand editing the web.config.
|
Monthly Web Design Lesson | Learn! Review! Keep Up! |
| Short tidbits pulled from our knowledge base each month. | M O N T H L Y L E S S O N | From our 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 "/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="/images/favicon.gif">
Some browsers even support ANIMATED gifs.
From our 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. Although here at Prestwood we use and recommend using GIFs and JPGS because of compatiblity with older browsers and you can animate GIFs. However, this compatibility issue will likely go away in the coming years and we too may switch to PNG images at that time. From our Artistic (design, layout, etc.) Topic. Question: What browsers and resolutions should I test my website with? Answer: As of early 2008, we test each website we build with the latest release of Internet Explorer, FireFox, and Safari. Sometimes we also include Opera but not usually. Also, if desired, we sometimes test with older versions of browsers but not usually. The minimum resolution we test "regular" websites is 1024x768 (and higher). We no longer support 800x600. From our 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. | |
Web Design Message Board Ask this group a question! Select a topic below or Visit Web Design Board Now!
Monthly Web Owners Lesson | Learn! Review! Keep Up! |
| Short tidbits pulled from our knowledge base each month. | M O N T H L Y L E S S O N | From our Standard Website Content Pages Topic Resource Link of the Month: Example Proper Online Netiquette Page This is our proper netiquette page. You are welcome to use it for your website. You can link to it or copy the content over to your website. If you copy it, you will most likely want to update it a bit as it's pretty specific to our website. | |
Web Owners Message Board Ask this group a question! Select a topic below or Visit Web Owners Board Now!
A classic post from our Win Users topic... Optimize your Windows Firewall by Vicki NelsonThis is Windows Firewall 101. It is essential today that you have some type of personal firewall properly configured. |
Monthly Win Users Lesson | Learn! Review! Keep Up! |
| Short tidbits pulled from our knowledge base each month. | M O N T H L Y L E S S O N | From our Windows Vista Topic. 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. From our 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. From our Windows Vista Topic. Question: What size ReadyBoost compatible USB 2 Flashdrive should I buy? Answer: If you intend to use it ONLY for ReadyBoost, the current limit ReadyBoost will use as of early 2008 is 4 GB. Another guideline you could use is that Microsoft is currently recommending a ReadyBoost cache size of 1 to 3 times your RAM. So, if you have 1 GB or RAM, they recommend a 1 to 3 GB ReadyBoost cache. | |
Win Users Message Board Ask this group a question! Select a topic below or Visit Win Users Board Now!
| Thread Starter | Replies | Last Post | Topic | | TMonthCalendar and OnGetMon... I've noticed a problem with the OnGetMonthInfo event of TMonthCalendar. (IE. MonthCalendar1GetMonthInfo(Sender: TObject; Month: Cardinal; var MonthBoldInf... | 1 | Try such a nice piece of code as Calendar.Date:=Calendar.Date+31; C... 9/4/2010 | Delphi VCL | | PrinterSetCurrent I have the following code on a form to switch printers behind the scenes. There is a table that lists the users printers and a field in that table that defines what the printer is used for (i.e.... | 0 | New! 9/2/2010 | ObjectPAL | | ReportPrintInfo DynArray Can anybody explain to me the syntax to use ReportPrintInfo - the syntax # 3 version that uses an array? I need to set the PrintToFile option to create a postscript file and it seems to only be availa... | 0 | New! 9/2/2010 | ObjectPAL | | ReportPrintInfo DynArray Can anybody explain to me the syntax to use ReportPrintInfo - the syntax # 3 version that uses an array? I need to set the PrintToFile option to create a postscript file and it seems to only be availa... | 0 | New! 9/2/2010 | ObjectPAL | | Printing forms as reports d... I have a 3 page form that I need to open as a report. When I open it, however, I only get the first page and a half. Any ideas? I have to do i... | 1 | Figured it out - has to do with the page size - ended up having to create 3 seperate reports but it ... 9/2/2010 | Paradox Reports | | Changing account records ba... Does anyone know how to write this Paradox 4.5 code into a Paradox 11 script?
This works in my old Paradox. It goes through a list of account names finds the account in another table and scans to pro... | 0 | New! 8/29/2010 | ObjectPAL | | Windows 7 Paradox 9 report ... I've successfully installed Paradox 9 on a windows 7 workstation linked to SBS 2008.However, when I went to amend a report by redefining a field, Paradox crashe... | 9 | I've tried everything suggested in previous posts. Sometimes it works and sometimes it crashes. My w... 8/24/2010 | Paradox Reports | | Server 2003 and BDE I have just thought I might move all my delphi stuff onto my 2003 server and then use remote desktop to access it however some of my apps give me a bdertl70 err... | 2 | Hi Owen,
I suspect a rights problem. The app/user needs full rights to the data folder and net dir. 8/16/2010 | Delphi Single User Apps | | Paradox 7 Update I know P7 is an ancient version but I dug the install disks out of a dusty drawer this morning and installed it in my XP machine. My question is whether I need ... | 1 | Never mind, I've applied the patch selectively. 8/11/2010 | Paradox Setup, Vista, etc. | | Diplaying javascript error ... | 0 | New! 8/7/2010 | ASP Classic - Handling Data |
Editor's Final Word
|

|
If you have an apple and I have an apple and we exchange apples then you and I will still each have one apple. But if you have an idea and I have an idea and we exchange these ideas, then each of us will have two ideas.
George Bernard Shaw
|
|