Although our Prestwood Certified area is currently in beta, our study tests are available now. Each study test features beginner, intermediate, and advanced questions. Although we have to add many more questions, the tests are live now and usable for study and review. The purpose of our study tests is to learn and review. You hover over answers to reveal the correct answer. Each question features a pop up [Review] link of study material. Test yourself and review concepts you are not familiar with.
Prestwood Software is sponsoring the Technology is moving fast. During this free two-hour technical seminar, you'll learn the secrets to getting the most out of RAD Studio 2010 and new Windows technologies. You'll get a firsthand look at new capabilities that will make you more productive and successful with Delphi--, C++Builder--, Delphi Prism-- and Embarcadero-- RAD Studio 2010.
See What's New in RAD Studio 2010 at a Free Seminar COMING TO A CITY NEAR YOU!
Technology is moving fast. Learn the secrets to getting the most out of RAD Studio 2010 and new Windows technologies by attending the RAD Studio 2010 Tour in a city near you. These free two-hour technical seminars, led by noted experts David Intersimone, Anders Ohlsson, Nick Hodges, or Mike Rozlog, will give you a firsthand look at new capabilities that will make you more productive and successful with Delphi--, C++Builder--, Delphi Prism-- and Embarcadero-- RAD Studio 2010.
Touch the future with Delphi, C++Builder, and Delphi Prism!
Despite it's name, "The Internet Freedom Act of 2009" does not free the Internet. It's an attack against Net Neutrality and yet another attempt to give the Internet to big business.
What is Net Neutrality? Net neutrality (also network neutrality, Internet neutrality) frees restrictions on content, sites, or platforms, on the kinds of equipment that may be attached, and on the modes of communication allowed, as well as one where communication is not unreasonably degraded by other communication streams.
In Access VBA, you have to add an empty string to the value being compared in order to get consistent results. For example, add &"" to your string varilable or it's code equivalent &vbNullString. Then compare to an empty string or verify it's length to 0 with Len.
All these will work for variables unassigned, set to "", or set to Null:
If s&"" = "" Then MsgBox ("Quotes with &'' say null is empty") End If
If Len(s&"") = 0 Then MsgBox ("Len with &'' says null is empty") End If
If Len(s&vbNullString) = 0 Then MsgBox ("Using vbNullString also works!") End If
Hi, I am fairly new to Access programming. My background is in Paradox. I have to write an application however in Access that is going to be multi-user. I ha...
An Association is a generic relationship between two classes and is represented a line connecting the two classes. This line can be qualified with the type of relationship, and can also feature multiplicity rules such as one-to-one, one-to-many, many-to-many, 0 or 1 to many, etc.
I'm curious about what type of analysis others are using. Do you write up your requirements in a Word document? Do you use UML? Some tool? Do you write up requi...
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.
The first time you type any other case for commands or variables, VS.Net will change it to the accepted or defined case. For example, if you type messagebox.show it is converted to MessageBox.Show. Once corrected, you can break it again by editing MessageBox to messagebox and the compiler will give you an error.
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.
When comparing floating point numbers, make sure you round to an acceptable level of rounding for the type of application you are using.
Languages Focus: Comparison Operators
A comparison operator compares two values either literals as in "Hello" and 3 or variables as in X and Counter. Most languages use the same operators for comparing both numbers and strings. Perl, for example, uses separate sets of comparison operators for numbers and strings.
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.
Question: How do I take advantage of Application Virtualization in the application I'm coding?
Answer:
You don't have to do anything special in your application. However, you do have to give certain folders and files the correct rights in your installer.
C++/CLI performs implicit casting of numbers to strings. To concatenate two strings, a string to an integer, or a string to a floating point number, use the + operator. For example, to convert a floating point number to a string just concatenate an empty string to the number as in "" + 3.2.
The 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.
A classic post from our Object Orientation (OO) topic...
Our most popular article in the history of our online community! Explains the "is a", "has a", "uses a", and "looks like" relationships (updated May 2007). "Is a" is inheritance, "looks like" is interfaces, "has a" is aggregation, and "uses a" is composition.
Download BDE 5.202 (includes a small BDE Information utility for testing the installation).
BDE 5.202 is the latest BDE and was released in 2001 (no updates since). Download Borland Database Engine (BDE) 5.202. This installation installs the BDE 5.202 plus a small utility program to test the installation called BDE Information utility.
From our General .Net Concepts Topic
Resource Link of the Month: A Better .NET Serial Port Control
The SerialPort class introduced in .NET 2.0 is definitely better than writing unmanaged Win32 API calls to access the serial port, but this is much better.
Without going into too much detail, a recent project of mine required that my application interface with an obscure device via RS232 and the serial port.
To do what I needed the device to do required me to manipulate the signal (high/low) on the RTS pin; the .NET framework's SerialPort class didn't really give me a mechanism for doing so. Wanting to leave writing Win32 API p/invoke calls a last resort, the first result in a Google search for "better .NET serial port" led me to this article on CodeProject which described CommStudio's CommStudio Express which includes a much better serial port (SerialConnection) class which quickly enabled me to get past my little setback an on with the application. Best of all it's free!
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
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 Desktop Databases Topic
Resource Link of the Month: Microsoft Certifications
This page is a reference of the various Microsoft Certifications available to developers.
Microsoft Certified Technology Specialist - Microsoft Certified Technology Specialist (MCTS) certifications enable professionals to target specific technologies and to distinguish themselves by demonstrating in-depth knowledge and expertise in the various Microsoft technologies with which they work.
Microsoft Certified Professional Developer - The Microsoft Certified Professional Developer (MCPD) credentials distinguish you as an expert Windows Application Developer, Web Application Developer, or Enterprise Applications Developer. These credentials demonstrate that you can build rich applications that target a variety of platforms using .NET Framework 2.0.
Microsoft Certified Architect Program - Microsoft Certified Architect Program targets practicing solutions architects and infrastructure architects who successfully apply frameworks and methodologies to create an architecture through the entire IT lifecycle.
Microsoft Certified Learning Consultant - The Microsoft Certified Learning Consultant (MCLC) credential recognizes MCTs whose job roles have grown to include frequent consultative engagements with customers. These MCTs are experts in designing and delivering customized learning solutions.
Microsoft Certified Database Administrators - Microsoft Certified Database Administrators (MCDBA) design, implement, and administer Microsoft SQL Server Databases.
Microsoft Certified Trainer - Microsoft Certified Trainers (MCT) are qualified instructors certified by Microsoft to deliver Microsoft training coursesto IT professionals and developers.
Microsoft Certified Application Developers - Microsoft Certified Application Developers (MCAD) use Microsoft technologies to develop and maintain department-level applications, components, Web or desktop clients, or back-end data services.
Microsoft Certified Solution Developers - Microsoft Certified Solution Developers (MCSD) design and develop leading-edge business solutions with Microsoft development tools, technologies, platforms, and the Windows architecture.
Create a classic "Hello, World" Windows native code application using Delphi. This tutorial is based on Borland Developer Suite 2006 but you can use any version of Delphi you wish.
Having consistently formatted source code makes life so much easier.
At Prestwood, we are often asked to enhance, update, and maintain Delphi applications created by somebody else. Some of it is well formated; lots of it is just horrible. Before I even start trying to understand the existing code, I let DelForEx have a run at it. And, man, does it ever make a difference.
But it's not just handy for cleaning up somebody else's code. Often, while working on my own code, I'll rearrange blocks of code by cutting and pasting. Often the indentation is way off. DelForEx fixes it pronto.
DelForEx is a free plug-in for the Delphi IDE. Highly recommended. Combined with GExperts, it turns your IDE into a real powerhouse.
Question: I have a form with two TEdit components on it. For the OnChange event for both, it clears the contents of the TEdit that is not changing. However, when clearing on TEdit the OnChange fires and clears the other TEdit, this then causes the OnChange in the other TEdit to fire. Fortunately, the second time the OnChange hits the original TEdit, it is already clear and nothing happens.
How can I prevent the circular event firing?
Answer:
The simplest way to prevent the circular event firing is to check the form's ActiveControl property. This property indicates which component currently has the focus.
Hello everyone,writing an Office viewer (read-only) application, I dynamically create an TOleContainer on a form and use that to open the Excel or Word file. Ne...
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.
The JavaScript event handler contains events centered around the Document Object Model (DOM). Common events include onMouseOver and onMouseOut, onFocus and onBlur, onClick and onDblClick, onChange and onSelect, onLoad and onUnload.
For example, onMouseOver and onMouseOut are frequently used with websites to change an image when your mouse moves over it. The onClick event is used to trigger code upon a mouse click.
In the following example, we use a standard image tag set to an image, change it on mouse over, then set it back on mouse out.
In ObjectPAL, an empty variable can be unassigned (essentially null) or blank (equivalent to ""). You have to use both isBlank and isAssigned to check for an empty string.
var s String endVar
;s = "" ;Uncomment to test 2nd case.
if isBlank(s) or not isAssigned(s) Then msgInfo("", "empty string") endIf
A project alias, like public aliases, point to a folder. Project aliases are stored in the PDOXWORK.CFG file, which is loaded whenever you change working directories.
ISBN: 0-07-212238-2 Mike Prestwood contributed four chapters to this book and although his contribution was 15% of the book, he did not receive author credit. Mike is briefly acknowledged in the Acknowledgments on page XXI as writing "most" of the Paradox material (he actually wrote all of the Paradox material).
I think it is interesting to read the words Dr. Cowpland wrote back in 1999 and his excitement about supporting Linux. Too bad the financial bubble burst and he couldn't follow though.
Forward from book...
With the availability of WordPerfect Office 2000 for Linux, there now exists a powerful suite of desktop applications designed specifically for Linux users. The outstanding combination of programs in the WordPerfect Office 2000 for Linux suite puts Corel out in the front as a leader of Linux technology on the desktop and brings us closer to the use of Linux in the mainstream.
WordPerfect Office 2000 for Linux is a comprehensive office productivity suite for Linux users who are seeking a powerful and compatible solution at an exceptional value. In bringing WordPerfect to the Linux platform, Corel provides a powerful and easy-to-use word processor that's familiar to millions and adds in the full-featured power of Quattro Pro, Corel Presentations, Paradox, and CorelCENTRAL. Together these applications bring familiar tools and integrated power to end users around the world!
Osborne/McGraw-Hill and Corel Corporation work closely together to publish books on Corel products so we can provide readers with timely, insightful, and helpful guides to help users get the most out of Corel's products. The Official Guides to Corel software represents a giant step in Corel's ability to disseminate information to our users with the help pf Osborne/McGraw-Hill and the creation of the CorelPRESS series of books. Congratulations to the team at Osborne who have created this excellent book, and congratulations to the team at Corel who supported the creation of this book!
Does Paradox for Windows support .PNG image files?
Answer:
Yes, Paradox 10 and 11 support .PNG graphics. For example, you can insert a .PNG using Edit | Paste From. However, Paradox 9 and earlier do not.
Note: All images stored in a Graphic field in Paradox tables are stored as uncompressed BMP images. This FAQ is about Paradox for Windows' ability to paste or import .PNG images into the .BMP formatted Graphic field type. For earlier versions of Paradox, you have to first convert the image.
If you ever have a calculated field on a form not update when you think it should, then you can use the ObjectPAL method forceRefresh() to make the calculated field display the correct values. This can occur, for example, when you update a field involved with a calculated field using a TCursor.
Hi,
I've worked as a developer IT for nearly 30 years, with all sorts of technologies, including Paradox (dos and windows), Access, Perl, Java and Javascript.
...
Hi,
New to this thread....just happy to see that I'm not the only one still using Paradox!
I can't seem to get the sendkeys function in objectpal (pdx 11...
I know this should be simple, but it's kicking me in the butt! I took the advice and created secondary indexes on my table and then used "switchIndex" to ...
Hi, I am new to Paradox and I would like to know how to do the following.I need to check to see if CONTRACT_#.value contain the letters "WDA" kind of like the "...
Yesterday I deployed a new menu. The new menu has expanded options on the Community menu and I consolidated all the service and support menus into one I.T. Serv...
Hello, I am Edwin Tuazon from the Philippines. I am a software engineer in a leading manufacturer of a high speed analog to digital signal processor and conve...
Computers are and addtional duty for me. As part of that I manage a WAN running Netware 5.0. We have about 40 users and use Paradox 9 for several different ap...
Unlike Delphi, Prism performs implicit casting. To concatenate two strings, a string to an integer, or a string to a floating point number, use the + operator. For example, to convert a floating point number to a string just concatenate an empty string to the number as in "" + 3.2.
In Prism, a string can be nil (unassigned), assigned an empty string (""), or assigned a value. Therefore, to check if a string is empty, you have to check against both nil and (""). Alternatively, you can check the length of the string or use String.IsNullOrEmpty.
var s: String;
if (s = nil) or (s = '') then MessageBox.Show("empty string");
or use length:
if length(s) = 0 then MessageBox.Show("empty string");
From our 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.
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.
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).
Categories allow you to organize your project logically. For example, you may wish to organize your application by source code (All, Client, Server, Database, Installation, Help File, Other), by major features, or by some other criteria. These categories allow you to organize requirements, builds, test scripts, defects, etc.
A high speed network of storage devices availabe to all servers on a LAN or WANA high speed network of storage devices availabe to all servers on a LAN or WAN
Can I run a Gigabit network over Category 5 or Category 5e?
Answer:
No to CAT 5, or at least almost never. Yes to CAT 5e. Category 5e cable is enhanced over Category 5 to adhere to more stringent standards and is recommended over CAT 5 for speeds above 100 Mbps and up to 1 Gigabit.
However, Category 6 or 6a is recommended over CAT 5e because of it's even higher quality and some properly installed CAT 6 networks can support 10 Gigabit speeds. Although for 10 Gigabit, CAT 6a is recommended.
CAT 7 is rated for 10 Gigabit but supports up to 100 Gigabit.
Using real world scenarios when you write conceptual documentation for Software Development Kits (SDKs) is a way to give your readers ideas as to how the SDK can be used and to guide them as to what APIs are needed for commonly expected scenarios. This article guides you through how to gather information about scenarios, how to simplify them in order to make good examples, and how to lead developers through which APIs to use.
The process of comparing the features of the delivered software product with the documented requirements with the goal of verifying the product meets the original requirements.The process of comparing the features of the delivered software product with the documented requirements with the goal of verifying the product meets the original requirements.
In VB 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.
All these will work for variables unassigned, set to "", or set to Null:
If s&"" = "" Then MsgBox ("Quotes with &'' say null is empty") End If
If Len(s&"") = 0 Then MsgBox ("Len with &'' says null is empty") End If
If Len(s&vbNullString) = 0 Then MsgBox ("Using vbNullString also works!") End If
In VB.Net, you specify a virtual method with the Overridable keyword in a parent class and extend (or replace) it in a descendant class using the Overrides keyword.
Use the base keyword in the descendant method to execute the code in the parent method, i.e. base.SomeMethod().
VB.Net uses the keywords sub and function. A sub does not return a value and a function does. Many programmers like to use the optional call keyword when calling a sub to indicate the call is to a procedure.
Class definition:
Public Class Cyborg
� Inherits Object
� Public Sub IntroduceYourself()
��� MessageBox.Show("Hi, I do not have a name yet.")
Although Internet Explorer supports putting an "A" link tag around a table "TD" cell, do not do it because other browsers such as FireFox and Safari don't support a link around a cell.
Vector drawing software is more and more important as programs and web sites become more graphically demanding. Here we introduce two, free alternatives to the traditional - and costly - mainstays.
Introduced with Vista, creates application-specific copies of all shared resources. It separates the application configuration layer from the OS making deployment easier in some cases.
Introduced with Vista, creates application-specific copies of all shared resources. It separates the application configuration layer from the OS making deployment easier in some cases.
Error: Service Pack did not install. Reverting changes.
Explanation:
Several members have reported that once they made sure the Windows Modules Installer Service (trustedinstaller.exe) was running, SP1 installed fine. So, if your Windows Modules Installer is disabled and stopped, set it to manual and start it. This WMI Service enables installation, modification, and removal of WindowsUpdates.
General Maintenance Make sure you have sufficient disk space, run checkdisk, and defrag your hard drive.
Disable Security Although you shouldn't have to, you might also try temporarily disabling your antivirus software, and firewall. Some members have reported this solved the problem for them.
System File Checker If that doesn't work, Run the System File Checker Tool. Open cmd and enter sfc /scannow + ENTER.
Required Other Updates Finally, there are some MS updates that are required prior to installing SP1. With Automatic Updates, they should be installed already but you might wish to double check:
Question: What is the difference between Windows Update and Microsoft Update?
Answer:
Windows Update installs new operating system features and fixes. Microsoft Update does that too but also updates some Microsoft products such as Office updates. Depending on which operating system you are using, you may already be using Microsoft Update. To check, go to Windows Update and check the settings for a Use Microsoft Update option or a checkbox that asks you if you wish to stop using Microsoft Update in favor of just using Windows Update.
I've noticed a problem with the OnGetMonthInfo event of TMonthCalendar. (IE. MonthCalendar1GetMonthInfo(Sender: TObject; Month: Cardinal; var MonthBoldInf...
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....
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...
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...
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...
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...
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...
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 ...