PPJ Manual
HomeCurrent IssuesDownloads
  • Welcome
  • Releases
    • PPJ 2023
  • PPJ 2023
  • PPJ Web API
  • PPJ Desktop API
  • Wisej.NET Documentation
  • General
    • Framework
      • Features
        • SAL and SQL Functions
        • Constants and Variables
        • SalContext
        • Visual Toolchest
        • XSal2
        • Reporting Support
        • LINQ Support
        • SalCompileAndEvaluate
        • Unicode Support
        • Startup Arguments
        • App.config
      • Data Types
        • Automatic Casts
        • Dynamic Arrays
      • Controls
        • ToolBar
        • TabControl
        • TableWindow
        • QuickObject
        • Ribbon Bar
        • NavigationBar
      • SQL Support
        • Configuration
        • ADO.NET Drivers
        • Bind and Into Variables
        • DBP Parameters
        • SqlContext
      • Extensions
        • Table Window
        • Unicode Support
        • Bug Fixes
        • Object Oriented Types
        • Custom Parsers
        • Named Properties
        • Microsoft Charts
        • Tabbed MDI
        • Watermark
        • HTML Rendering
      • Skins and Themes
        • Skin Files
        • Theme Files
        • Configuration
        • Skin Editor
        • Theme Builder
      • Tracing
        • Trace Viewer
        • Default Listeners
        • Tracing the Application
      • Spell Checker
        • Dictionaries
    • Ported Application
      • Project Structure
        • Late Bind Calls
        • Visual Styles
        • Unqualified References
        • Message Actions
        • When SQLError
        • Classes
      • Global Items
      • Forms
      • COM/ActiveX
      • Multiple Inheritance
      • Configuration Tool
      • Issues & Workarounds
    • Ported Reports
      • General
      • Crystal Reports
        • Structure
        • Unsupported Features
      • List & Label
        • Report Conversion
        • Structure
        • Document
        • Input Items
        • Passing Data
        • Unsupported Features
      • Reporting Services
        • Features
      • Stimulsoft
        • Break Groups
        • Fields
        • Formulas
        • Cache Mode
Powered by GitBook
On this page
  • SalString
  • SalNumber
  • SalDateTime
  • SalFileHandle
  • SalWindowHandle
  • SalSqlHandle
  • Controls

Was this helpful?

  1. General
  2. Framework
  3. Extensions

Object Oriented Types

SQLWindows/Team Developer types do not expose any method or property and can be used only via static functions such as SalStrLeft(), SalNumberToStr(), etc. There is nothing wrong with this, but it's a bit outdated and doesn't look too good to developers expecting to work with .NET or Java.

The PPJ Framework has redefined all Sal static methods in the PPJ types making it possible for developers to work using a modern Object Oriented approach also for basic code structures. Ported code has also been automatically transformed to use OO syntax.

A complete reference of all classes, methods and properties is beyond the scope of this manual and can be found in the PPJ Framework Reference. Thanks to Visual Studio's powerful IntelliSense technology, all methods and properties are also easily available while coding.

SalString

All SalStr* functions are also available as instance methods of the SalString class. The naming convention used has been to remove the SalStr prefix. For example: SalStrLeft(s, 10) is s.Left(10).

Global system constants are also implemented as static properties such as: SalString.Empty or SalString.Null.

SalNumber

All SalNumber* functions are available as instance methods of the SalNumber class. The naming convention used has been to remove the SalNumber prefix and to rename some standard methods. For example: SalNumberToStr(n, 2) is n.ToString(2).

Global system constants are also implemented as static properties such as: SalNumber.Null.

SalDateTime

All SalDateTime functions are available as instance methods of the SalDateTime class. The naming convention used has been to remove the SalDate prefix and to rename some standard methods. For example: SalDateToStr(dt) is dt.ToString().

Global system constants are also implemented as static properties such as: SalDateTime.Null or SalDateTime.Current.

SalFileHandle

All SalFile* functions are available as instance methods of the SalFile class. The naming convention used has been to remove the SalFile prefix and to rename some standard methods. For example: SalFileOpen(hFile, name, flags) is hFile.Open(name, flags).

Global system constants are also implemented as static properties such as: SalFileHandle.Null.

SalWindowHandle

All visual functions that operate on a window handle are also available as instance methods of the SalWindowHandle class. There is no straightforward naming convention here because the original SAL functions are named differently depending on the functionality and are not always consistent.

For example: SalSetWindowLoc(hWnd, x, y) is hWnd.SetLocation(x, y).

SalSqlHandle

All Sql* functions that operate on a sql handle are available as instance methods of the SalSqlHandle class. The naming convention used has been to remove the Sql prefix. For example: SqlConnect(hSql) is hSql.Connect().

Controls

All PPJ controls are directly derived from .NET controls, therefore they already expose all standard .NET methods. In addition to the methods and properties directly inherited from the base class, PPJ controls also implement all SAL visual functions that are generic for all controls plus the ones that are specific for the control type.

For example: SalSetWindowLoc(df1, x, y) is df1.SetLocation(x, y).

PreviousBug FixesNextCustom Parsers

Last updated 2 years ago

Was this helpful?