admin 發表於 2015-12-3 00:45:55

Centura Important Questions

Centura Team Developer (CTD) is the 32-bit version of SQLWindows, Centura's award-winning object oriented 4GL tool used by thousands of programmers to develop large-scale development projects on time and on budget.
Q1.          What is the different between SqlPrepare & SqlPrepareAndExecute?
Answer:

                     SqlPrepare: - Compiles a SQL statement for execution.
    Compiling includes:
Checking the syntax of the SQL statement.
Checking the system catalog.
Processing a SELECT statement's INTO clause.

          SqlPrepareAndExecute: - Compiles and executes a SQL statement.
    Compiling includes:
Checking the syntax of the SQL statement.
Checking the system catalog.
Processing a SELECT statement's INTO clause.

Q2.          How many types of SQLWindows Functions & what are there?
       Answer:

                   Centura functions are special command words used for writing the Centuraactions (procedures) that are executed at runtime.
         There are three types of functions in Centura:
            i.)   List of Functions
      ii.)Internal Functions
      iii.) External Functions

Q3.          How many types of Windows Messages are there and what are there?
Answer:There are three types of messages:
                              i.)   Windows Messages (WM_*)
                              ii.)Scalable Application Messages (SAM_*)
                              iii.) Programmer Assigned Messages (PAM_*)

Window Messages(WM_*):- Microsoft Windows messages are defined in WINDOWS.H. These messages have a WM_ prefix, such as WM_Close or WM_Paint. You can process these messages in Centura applications; to do this, you need the Microsoft Windows SDK.

Scalable Application Messages (SAM_*):- Centura has its own set of messages, prefixed by 'SAM_' (Scalable Application Messages).
They take the form of:
Number: SAM_* = WM_USER + (a number)

Programmer Assigned Messages (PAM_*) :- Programmer Assigned Messages (PAM_*) are constants defined in the User section of Constants in Global Declarations.
The constants you define with the PM_* or PAM_* prefix appear automatically in the Coding Assistant dialog box.
Q4.          How many types of SQL Error Handling are there and what are there?            
Answer:All Sql* functions (except for SqlError) return TRUE if successful or FALSE if   
                              not successful. If a function fails, an application uses:
i.)   Centura default error handling
ii.)Application-defined error handling (optional)

Default SQL Error Handling: - If you do nothing to handle SQL errors, Centura uses its default error handling; it displays a dialog box with information about the error.
In the dialog box, the user can choose to:

Continue to run the application. The Sql* function that caused the error returns FALSE.
End the application.

Application-Defined SQL Error Handling: - To code your own SQL error handling:

ØUse the When SqlError statement in any actions section to handle errors on a local level.
ØUse SAM_SqlError handling in the Application Actions section to handle errors on a global level.

Q5.          What are the Types of Classes in Centura?
   Answer:Centura has three types of classes:
i.)    Functional classes
ii.)   Window classes
iii.)General window classes

Functional Classes: - A functional class supplies behavior through its functions.
You use functional classes to:
ØCreate user-defined variables
ØDefine behavior that is shared by more than one window class

A functional class can be:
ØA base class of another functional class
ØA base class of a window class
ØDerived from another functional class, but not from a window class

If behavior needs to be shared by more than one window type, you can place the behavior in a functional class and then derive window classes from that functional class. The derived classes inherit the common behavior as well as behavior appropriate to their window type.

Window Classes: - There is a class for each standard window type. A window class   
                                 can be:
ØA base class only of the same window class type. For example, a data field class can be the base class only of another data field class.
ØDerived from another window class of the same type or from a functional class.

General Window Classes: - With general window classes, you can create classes with
         both message actions and functions that you can use with any type of window. A
         general window class is like a functional class, except that it has a message
         actions section:
General Window Class:
Description:
Derived From
Class Variables
Instance Variables
Functions
Message Actions
These are the inheritance rules for general window classes:
ØA general window class can be a base class of any window class, including other general window classes.
ØA general window class can be derived from functional classes or another general window class.
ØMultiple inheritance is supported.
ØA general window class cannot be a base class of a functional class.

You cannot create an instance of a general window class. You can only use a general window class as a base class of a concrete window class.
Q6.          What are the window Types of Objects in Centura?
Answer:In Centura there are three types of objects: top-level objects, child objects, and
               menus. Menus are not typical child objects because you can not create them
                from the Controls toolbar or the Tools menu.

   Top-Level Objects Child Objects
Dialog Box Background Text
Form Window Check Box
MDI Window Combo Box
Custom Control
Table Window
Data Field
Frame
      Menus
Group Box
Cascading Menus Line
Menu Column List Box
Menu Items Multiline Text Field
Menu Row Option Button
Menu Separator Picture
Pop-up Menus Push Button
Radio Button
Scroll Bar (Horizontal)
Scroll Bar (Vertical)
Table Window
Table Window Column
Q7.          What are the System Variables in Centura?
Answer:
Ø   hWndForm nArgCount
Ø   hWndItem strArgArray[*]
Ø   hWndMDI
ØhWndNULL SqlDatabase
                                                                                             SqlUser
Ø   lParam SqlPassword
ØwParam SqlResultSet
SqlInMessage
ØMyValue SqlOutMessage
SqlNoRecovery
SqlIsolationLevel
Q8.          What is the different between .APL & .APD?
Answer:                   Include libraries let you:

ØShare application components in more than one application
ØShare application components with other developers

An include library is a collection of Centura objects such as form windows, dialog boxes, or class definitions that are shared by more than one application. You edit include libraries in the same way as an application.
You maintain components for an include library in a single source file. This means that you only need to change one source file to change a component used in many applications.
An include library only contains components that you use in other applications. An include library contains a set of related outline items. An item is anything that you can copy to the Clipboard.
Dynalibs libraries: - A dynalib is a compiled Centura SQLWindows module with functions and objects that other applications can dynamically load at runtime.

A dynalib is different from an include library:
                                       
With an include library, you share source code at design time. All items in the include library are available in the including application.
With a dynalib, you share compiled code at runtime. Only the interface to objects and functions are available to an application that uses a dynalib.

The advantages using a dynalib are:
<!---->· <!---->Modular Design. You can split an application into separate modules (dynalibs), with each module dedicated to a single purpose. You can also create nested dynalibs.

<!---->· <!---->Reduced Footprint. You need less disk space to deploy a group of applications when they share code in common libraries.

<!---->· <!---->Modular Upgrades. You can recompile a library after an application is in production without recompiling the application.

<!---->· <!---->Source Code Security. You can distribute libraries developed in SAL without revealing the source.

Faster Compiles. You do not need to compile dynalibs every time you compile the application. Unlike an include library, the code in a dynalib is not recompiled when you compile the application. This means that using dynalibs can reduce the time required to compile an application.
Q9.          What is Scalable Application Language (SAL)?
Answer:Scalable Application Language: - Scalable Application Language (SAL)
                is a procedural language used for writing Centura actions (procedures) that you
                        want your application to execute when events take place.

You add SAL statements to:

<!---->· <!---->The Application Actions section of an outline.

<!---->· <!---->The Actions section of an Internal Function.

<!---->· <!---->The Menu Actions section of a menu item.

<!---->· <!---->The Message Actions section of an object.
Q10.      What is the different between SAL & SAM?
Answer:         Scalable Application Language: - Scalable Application Language (SAL) is a procedural language used for writing Centura actions (procedures) that you want your application to execute when events take place.

Scalable Application Messages (SAM):- Centura has its own set of messages, prefixed by 'SAM_' (Scalable Application Messages).

They take the form of:

Number: SAM_* = WM_USER + (a number)

Some SAM messages are all built on top of the WM_USER constant. WM_USER is the constant upper boundary of all Windows Messages provided by Microsoft. This means that if you add WM_USER + 1 then you get a number that will not be used as the constant for any other Windows message.

These take the form of:

Number SAM_* = WM_*

Other SAM messages are equal to a WM_* message. Such as SAM_Click which is the same as WM_LBUTTONDOWN.
頁: [1]
查看完整版本: Centura Important Questions