×

This is a book about the Smart Mobile Studio (www.smartmobilestudio.com), a rapid development tool for programming HTML+JavaScript applications in Object Pascal. You can get more information about the book and the current status of each chapter at www.smartprogrammer.org.

  • Credits
  • Introduction
  • Sample Code
  • Formatting Conventions
  • Work in Progress
  • Advertisement
  • Release Notes
  • 1 Prerequisites
  • 2 Getting Started
  • 2.1 Brief Introduction to Smart Mobile Studio
  • 2.1.1 Project Types
  • 2.1.2 Visual Project
  • 2.1.3 Game Project
  • 2.1.4 Console Project
  • 2.2 Supported Browsers
  • 3 Smart IDE
  • 3.1 Working with Designer
  • 4 Smart Pascal
  • 4.1 Data Types
  • 4.1.1 Base Types
  • 4.1.1.1 Integer
  • 4.1.1.2 Float
  • 4.1.1.3 Boolean
  • 4.1.1.4 String
  • 4.1.1.5 Variant
  • 4.1.1.6 Type Mappings
  • 4.1.2 Enumerations
  • 4.1.3 Arrays
  • 4.1.3.1 Static Arrays
  • 4.1.3.2 Dynamic Arrays
  • 4.1.4 Records
  • 4.1.4.1 Anonymous Records
  • 4.1.4.2 Default Field Values
  • 4.1.5 Classes
  • 4.1.5.1 Default Field Values
  • 4.1.5.2 Partial Classes
  • 4.1.5.3 External Classes
  • 4.1.6 Interfaces
  • 4.1.7 Helpers
  • 4.1.8 Delegates
  • 4.1.9 Closures
  • 4.1.9.1 Lambdas
  • 4.1.9.1.1 Lambda Functions
  • 4.1.9.1.2 Lambda Statements
  • 4.2 Statements
  • 4.3 Operators
  • 4.3.1 Operator Overloading
  • 4.3.2 Helper Methods
  • 4.4 Comments
  • 4.5 Memory Model
  • 4.6 Code Structure
  • 4.6.1 Unit Namespaces
  • 4.7 Property Expressions
  • 4.8 Properties with Anonymous Storage
  • 4.9 Contracts
  • 4.10 Directives
  • 4.10.1 Conditional Compilation
  • 4.10.2 Code Inclusions
  • 4.10.3 Errors and Messages
  • 4.11 Built-in Functions
  • 4.11.1 Mathematical Functions
  • 4.11.2 String Functions
  • 4.11.3 Date/Time Functions
  • 4.12 Including JavaScript Code
  • 4.12.1 Name Conflicts and Obfuscation Support
  • 4.12.2 You May Be Better Without It
  • 4.12.3 Implicit Parameters Structure
  • 4.12.4 Variables
  • 4.12.5 Handling Callbacks with Variant Methods
  • 4.12.6 Handling Callbacks in an asm section
  • 4.12.7 Limitations
  • 5 Programming with Smart
  • 5.1 My First Smart Program
  • 5.2 File Management
  • 5.3 Deploying Smart Programs
  • 5.4 Application Architecture
  • 5.5 Forms and Navigation
  • 5.5.1 Creating Secondary Forms
  • 5.5.2 Navigating Between Forms
  • 5.6 Message Dialogs
  • 5.6.1 ShowMessage
  • 5.6.2 ShowDialog
  • 5.7 Modal Dialogs
  • 5.7.1 ShowModal
  • 5.7.2 HideModal
  • 5.8 Running Code on Application Shutdown
  • 5.9 Themes and Styles
  • 5.10 Command-line Applications
  • 5.10.1 Example
  • 5.11 Writing Games
  • 5.11.1 Anatomy of a Game Project
  • 5.11.2 Galaxy Clock
  • 5.11.3 Alternatives to the Game Project
  • 6 Smart Controls
  • 6.1 Overview
  • 6.2 TW3TagObj
  • 6.3 TW3Component
  • 6.3.1 Public Methods
  • 6.4 TW3MovableControl
  • 6.5 TW3CustomControl
  • 6.5.1 Public Methods
  • 6.5.2 Public Properties
  • 6.5.3 Events
  • 6.5.4 Published Properties
  • 6.6 TW3GraphicControl
  • 6.7 Styling with CSS
  • 6.8 Button
  • 6.8.1 Button with Image
  • 6.8.2 Sample Application
  • 6.9 Checkbox
  • 6.9.1 Sample Application
  • 6.10 ComboBox
  • 6.10.1 Sample Application
  • 6.11 EditBox
  • 6.11.1 Sample Application
  • 6.12 Header
  • 6.12.1 Sample Application
  • 6.13 HTML Elements
  • 6.13.1 Sample Aplication
  • 6.14 Image
  • 6.14.1 Sample Application
  • 6.15 Label
  • 6.15.1 Sample Application
  • 6.16 Listbox
  • 6.16.1 Listbox Styles
  • 6.16.2 Sample Application
  • 6.17 ListMenu
  • 6.17.1 Sample Application
  • 6.18 Memo
  • 6.18.1 Sample Application
  • 6.19 PaintBox
  • 6.19.1 Sample Application
  • 6.20 Panel
  • 6.20.1 Sample Application
  • 6.21 Progress bar
  • 6.21.1 Sample Application
  • 6.22 Scroll bar
  • 6.22.1 Sample Application
  • 6.23 Scrollbox
  • 6.23.1 Sample Application
  • 6.24 Scroll Control
  • 6.24.1 Sample Application
  • 6.25 TeeChart
  • 6.26 Toggle switch
  • 6.26.1 Sample Application
  • 6.27 Toolbar
  • 6.27.1 Sample Application
  • 6.28 Toolbutton
  • 6.28.1 Sample Application
  • 6.29 Writing Custom Controls
  • 6.29.1 TSmiley
  • 6.29.2 Image Button
  • 7 Smart RTL
  • 7.1 RTL
  • 7.2 RTL\PhoneGap
  • 7.3 RTL\Steema
  • 7.4 RTL\System
  • 7.5 RTL\w3c
  • 7.6 Libraries
  • 7.7 Libraries\Box2D
  • 7.8 Libraries\GLScene
  • 7.9 Libraries\RemObjects
  • 7.10 Libraries\SmartUnit
  • 7.11 Graphics
  • 7.11.1 Colour
  • 7.11.2 Line
  • 7.11.3 Circle
  • 7.11.4 Rectangle
  • 7.11.5 Curve
  • 7.11.6 Transparency
  • 7.11.7 Gradient
  • 7.11.8 Image
  • 7.11.9 Text
  • 7.12 Regular Expressions
  • 7.12.1 Example
  • 7.12.2 A Look Inside
  • 7.12.3 Creating a Regular Expression Object
  • 7.12.4 Match
  • 7.12.5 Search
  • 7.12.6 Replace
  • 7.12.7 Split
  • 7.12.8 Exec
  • 7.12.9 Test
  • 7.12.10 RegExDemo Example
  • 7.13 Browser Storage
  • 7.13.1 DOM Storage
  • 7.13.1.1 API
  • 7.13.2 Cookies
  • 7.13.2.1 API
  • 7.13.3 Example
  • 7.14 Accelerometer
  • 7.14.1 Device Orientation
  • 7.14.2 Smoothing
  • 7.14.3 Calibration
  • 7.14.4 Collecting Data
  • 7.15 Touch and Gesture
  • 7.15.1 Touch
  • 7.15.2 Gesture
  • 7.16 Layout Manager
  • 7.16.1 Edit/Button/ListBox
  • 7.16.1.1 Layout Basics
  • 7.16.1.2 Resizing layouts
  • 7.16.1.3 Example, Revisited
  • 7.16.2 Application with a Status Bar
  • 7.16.3 Portrait and Landscape
  • 7.16.4 Dynamically Resizing Sublayouts
  • 7.17 Networking
  • 7.17.1 TW3HttpRequest Object
  • 7.17.2 Loading Files
  • 7.17.3 TW3JSONP Object
  • 8 Debugging Smart Programs
  • 9 Examples
  • 9.1 Tic-Tac-Toe
  • 9.2 Multi Finger Paint
  • 9.3 Gesture
  • 9.4 Accelerometer
  • 10 PhoneGap
Leanpub book comments powered by Disqus.