Windev Mobile Concepts Us PDF

Download as pdf or txt
Download as pdf or txt
You are on page 1of 60

WINDEV Mobile - Concepts

Version 25 - (1) 03-2020 In which order should these guides be


read?
WINDEV Mobile is a powerful tool used to develop applications for Android, iPhone and
iPad, Universal Windows 10 (phone, tablets and PC) and Windows Mobile ; it is supplied
with all the tools required for creating and implementing applications.

To quickly and efficiently learn how to use WINDEV Mobile, we advise you to work in the
following order:

1
Reading the "Concepts".
This guide presents the main concepts required for creating a WINDEV Mobile
application.

2
"Tutorial" (guide + exercises).
The tutorial provides a first "hands-on" approach to WINDEV Mobile. It allows you
to familiarize yourself with the main editors of WINDEV Mobile.

3
Test of examples.
Run the test of the examples supplied with WINDEV Mobile in the fields you are
interested in.
Remember to visit the download section of www.windev.com on a regular basis to
The online help, accessible by Internet from http://doc.windev.com or installed with
check whether upgraded versions are available.
WINDEV Mobile, allows you to quickly find the syntax of a WLanguage function, to get
help about the interface... For each programming theme, you will find a description of the
associated feature and the list of corresponding WLanguage functions.
Email address of our Free Technical Support: [email protected].
Note: If a difference exists between the guides and the online help, follow the instructions
given in the online help.

This documentation is not contractually binding. Modifications may have been made
to the software since this guide was published. Please check the online help. We hope you enjoy getting started with WINDEV Mobile.

All product names or other trademarks mentioned in this publication are registered trademarks of their
respective owners.
© PC SOFT 2020: This publication may not be reproduced in part or in full without the express consent of
PC SOFT.

Introduction 3
Summary
Part 1 - Basic concepts
Project and Analysis............................................................................................................... 9
Development cycle of an application................................................................................. 10
WINDEV Mobile: Android, iOS, UWP, ..................................................................................12
The Android, iOS and Mobile windows, .............................................................................13
Android and iOS windows...: Characteristics......................................................................14
The layouts...........................................................................................................................15
Available controls in a window............................................................................................ 16
Menus of applications ........................................................................................................19
Internal window....................................................................................................................20
Window templates............................................................................................................... 21
Control templates.................................................................................................................22
Reports.................................................................................................................................23
Report templates................................................................................................................. 24

Part 2 - Development environment


Project dashboard................................................................................................................ 27
WINDEV, WEBDEV, WINDEV Mobile: a 100% compatible format.....................................28
Project configuration............................................................................................................29
Multiple generation..............................................................................................................30
Custom-folders: Organize your project............................................................................... 31
Source Code Manager (SCM)..............................................................................................32
Internal component.............................................................................................................34
External component.............................................................................................................35
Generation modes...............................................................................................................36
Project Monitoring Center....................................................................................................38
Managing requirements......................................................................................................39
Managing tasks....................................................................................................................40
Managing business rules.................................................................................................... 41

Part 3 - Databases
Analysis: Database structure..............................................................................................45
The different types of accessible files................................................................................46
Data handled by a WINDEV Mobile application.................................................................48
HFSQL Classic......................................................................................................................49
HFSQL Client/Server............................................................................................................50
HFSQL Cluster...................................................................................................................... 51
Creating HFSQL files: the physically created files..............................................................52
Associating controls with data............................................................................................53
The queries...........................................................................................................................55
The embedded queries........................................................................................................56

4 Summary Summary 5
The Table/Looper controls.................................................................................................. 57
Synchronizing data..............................................................................................................59
PART 1
3-tier...................................................................................................................................... 61

Part 4 - Advanced concepts


Windows generated by RAD................................................................................................65
Multilingual application.......................................................................................................66
Test of WINDEV Mobile application....................................................................................67
Debug modes.......................................................................................................................68
Unit tests...............................................................................................................................69

Basic
Part 5 - Interactions between WINDEV and WINDEV Mobile
WLanguage functions..........................................................................................................73

concepts
Handling character strings.................................................................................................. 74

Part 6 - Setup
Installing an Android or iOS application, ...........................................................................79
The different types of setup................................................................................................80

Part 7 - Communication
Communication with WINDEV Mobile................................................................................. 87
Managing the emails (POP3/IMAP/SMTP)........................................................................89
Handling files on an FTP server..........................................................................................90
Managing SMSs................................................................................................................... 91

Part 8 - Specific features of Windows Mobile


Managing the keyboard in Windows Mobile......................................................................95
File picker in Windows Mobile.............................................................................................96
Standard CEDB database................................................................................................... 97
Handling custom CEDB databases.....................................................................................99
Comparison between HFSQL and CEDB..........................................................................102
Interaction with a WINDEV application.............................................................................104
Handling a Windows Mobile device from a WINDEV application...................................105
Synchronization software: ActiveSync, ............................................................................107
Managing emails (CEMAPI)...............................................................................................108
Tools supplied with WINDEV Mobile.................................................................................110

Part 9 - Appendices
Component supplied with WINDEV Mobile......................................................................113
Examples supplied with WINDEV Mobile..........................................................................114

6 Summary
Project and Analysis
The development of a mobile Application (Android, iOS, ...) with WINDEV Mobile is based
on two main elements: the Project and the Analysis.

A WINDEV Mobile project is a set of elements: windows, controls, classes, components,


... whose combination is used to develop an application.

A WINDEV Mobile analysis groups the description of the data files found in the application.

An application is built from a project.


In most cases, a project is associated with an analysis.
An analysis can be associated with one or more projects.

Project 1

Classes Style Windows


sheet and controls

Analysis

Project 2 Project N

Classes Style Windows Classes Style Windows


sheet and controls sheet and controls

8 Part 1: Basic concepts Part 1: Basic concepts 9


Development cycle of an application
WINDEV Mobile covers the entire development cycle of an application:

Test and
Conception Development generation Deployment
Testing and Generating the setup
Specifications Creating the project debugging program
the application

Generating the
Final test
UML modeling Creating the analysis application :
- Windows Mobile
- Android First setup:
- iOS on the device, by HTTP,
Importing Development
- Universal Windows via Google Play Store,
existing files - Project RAD
10 App
- Window RAD via MarketPlace, ...
- Queries
- Reports Updating the application
- Input of source code Synchronizing the
data deployed

Details of different steps:

Design step: An application can be designed from specific requirements, from UML Test and generation step: WINDEV Mobile proposes several automatic test tools to
modeling of processes or even from existing data files. guarantee the reliability of applications and to make sure that no regression occurs
between the development steps.
Development step: The creation of the project and analysis is performed via very extensive
wizards. The development can be done in RAD mode (Rapid Development Application) Deployment step: Deploying a WINDEV Mobile application can be done according to
with automatic generation of the code and GUI or it can result from the manual creation several methods: on Mobile directly, by download, via Play Store, MarketPlace, App Store
of project elements. or Windows Store. In any case, the HFSQL data files (if they exist) will be automatically
updated according to the evolutions made in the application.

10 Part 1: Basic concepts Part 1: Basic concepts 11


WINDEV Mobile: Android, iOS, UWP, ... The Android, iOS and Mobile windows, ...
The applications developed with WINDEV Mobile can operate on the following platforms: Windows are the basis of an application’s UI (User Interface).
WINDEV Mobile includes an advanced window editor allowing you to easily and quickly
• Windows Mobile 6.0 to 6.5. create all possible types of UI, for all types of platforms.

• Windows CE (5 and 6). Several features enable you to easily obtain intuitive and user-friendly applications
among which:
• Universal Windows Platform apps. • powerful controls.
• an anchoring mechanism allowing the UI to automatically adapt to the size of the
• Android version 5 and later. display. This mechanism is useful when developing mobile applications because it is
used to adapt to the different resolutions of the devices.
• iOS version 11 and later. • an UI compilation system with detection of errors (empty titles, untranslated
captions, overlap, etc.).
The following processors are supported:

• ARM and compatible (Strong ARM, XScale, Samsung, Texas Instrument, ...).

• ARM v4T and compatible (XScale, ...).

12 Part 1: Basic concepts Part 1: Basic concepts 13


Android and iOS windows... Characteristics The layouts
WINDEV Mobile gives you the ability to configure the characteristics of windows. The The anchors are used to easily manage the change of orientation for a Mobile
available characteristics depend on the platform used. application or the transfer of an application from a phone to a tablet.
Some examples: However, in some cases, the interface must be entirely modified: the positioning of
controls must be different.
The layout is used to define several views of a window in the same project without
duplicating this window. This gives you the ability to define:
• a specific view for the portrait mode,
• a specific view for the landscape mode,
• a view specific to the phone,
• a view specific to the tablet, ...

iPhone/iPad

Android
To create a layout, on the "Window" pane, in the "Layouts" group, expand "Layouts"
and select "Add layouts". The wizard for layout creation starts and it asks you several
questions in order to create the necessary number of layouts. When the different layouts
are created, you have the ability to change the positioning of controls on one or more
Managing the display resolution
layouts in order to get the requested interface.
The windows created with WINDEV Mobile for the Android applications
automatically adapt to the screen resolution of devices at run time. At run time, the initial layout is automatically chosen according to the platform, the
orientation and the size of screen. The layout is automatically modified when the device
switches from portrait mode to landscape mode for example.

14 Part 1: Basic concepts Part 1: Basic concepts 15


Available controls in a window Display a video, an animation

Several controls are available in WINDEV Mobile:

You want to ... Use a control of the Multimedia, Image


following type
Display a text, a title, ...
Static
Type a date in a calendar
Type information

Edit control
Calendar
Select a value from a list (country, city, currency, ...)

Radio button, Combo


box, List box
Display the file content in a table (list of customers, order details,
...)
Select several values from a list

Check box, Memory table or


List box browsing table

Select one or more values from a listview (picture directory, ...)

Repeat controls in a window (product catalog with photo, ...)


ListView

Display a graphic image (photo, statistics, chart, ...)


Looper

Image

16 Part 1: Basic concepts Part 1: Basic concepts 17


Display a column chart, a line chart, a pie chart
Menus of applications

Chart Android/iOS
In Android and iOS, the menus are
displayed in the Action Bar.
Different buttons correspond to the
available actions.

Display a progress The menus can also be presented in a


sliding window.

Progress bar

Windows Mobile
The menus are displayed at the bottom
of the window.
Program an action in a window (display another window, start a The menu options can easily be
print, ...)
selected with the stylus of the device or
Button with a finger.
To create the main menu, on the
"Windows" pane, in the "Bars and
menus" group, expand "Main menu"
Group the controls by theme and display the themes one by one and select "Add the main menu".

Tab, Toolbox

18 Part 1: Basic concepts Part 1: Basic concepts 19


Internal window Window templates
The Internal Window control is used to include a window (and its code) in another window. WINDEV Mobile allows you to create window templates. These templates contain all the
At run time, the window to merge will be dynamically merged to the host window. graphic elements common to all the windows of your application.
The modifications performed in a window template are automatically applied to all the
1. Creating an internal window windows that use this template.
A window template allows you to comply with the style book defined for an application.
An internal window can be created via
found among the quick access buttons. In
the window for creating a new element, click
"Window" then "Internal window".
An internal window is a specific window that
contains no title bar and no menu.
All types of controls can be used in this
window.

2. Using an internal window. Defining a window template.


The template is bordered by an
orange line in the editor.
To use an internal window, you must:
• create an Internal Window control.
• in the control description, select the
internal window to use and validate.

Notes: Using the template in several windows.


• The internal window used in the "Internal window" control can be modified by The elements belonging to the template are identified by a yellow square.
programming.
• Limitations: The host area is rectangular and no overload is allowed. To perform A window template can be created:
overloads, we recommend that you use control templates.
• via found among the quick access buttons. In the window for creating a new
element, click "Window" then "Window template".
• from the current window (on the "Home" pane, in the "General" group, expand "Save"
and select "Save as a template").
To create a window based on a template, select the template that will be used during the
window creation.
The characteristics of elements can be dissociated from the template. For example,
dissociating the position of a template control to position the control somewhere else
while keeping the other evolutions performed on the control (code, style, ...). We talk of
control inheritance. In this case, the elements are identified by a blue square.

20 Part 1: Basic concepts Part 1: Basic concepts 21


Control templates Reports
WINDEV Mobile allows you to create control templates. A control template is a set of
controls that can be re-used in several windows. WINDEV Mobile allows you to easily create and print all types of reports with the report
The modifications performed in a control template are automatically applied to all the editor.
windows that use this template. A report can be used to summarize and synthesize the data.
A control template is used to: You can:
• group a set of controls for a specific purpose. • group data.
• make the controls independent of the window that hosts them. • sort data according to any criterion.
• perform calculations (means, statistics) or create charts.
The diagram below presents a simplified definition of a report:
• the data to print comes from a data source (data file described in an analysis,
HFSQL view, query, memory zone or text file).
Defining a control template. • the report groups, sorts and formats the data.
The template is bordered by an orange line in the editor. • the report execution can be performed on a PCL printer or in a PCL file.

Source of Print
report mode

Table control PCL file


(Windows Mobile)

Printer
Query Report (PCL format,
(Report editor) Windows Mobile)

Text file PDF file


Using the template in a window.
The elements belonging to the template are bordered by a (iPhone, iPad, ...)
blue line and identified by a yellow square.

A control template can be created: Data


• via found among the quick access buttons. In the window for creating a new
element, click "Window" then "Control template".
WLanguage variable
• from the controls found in the window (select the controls then in the popup menu,
select the "Control .. Refactoring .. Create a control template from the selection"
option). Other print modes
To create a window based on a control template, create a "Control template" control. WINDEV Mobile also gives you the ability to print in WLanguage (iXXX functions).
The characteristics of elements can be dissociated from the template. For example,
dissociating the position of a template control to position the control somewhere else
while keeping the other evolutions performed on the control (code, style, ...). We talk of
control inheritance. In this case, the elements are identified by a blue square.

22 Part 1: Basic concepts Part 1: Basic concepts 23


Report templates PART 2
Most of the time, the prints are using a standardized appearance and layout: date in the
top right corner in a specific format, page footer with print time and file name, logo in the
top left corner, ...

The report templates are used to easily standardize the layout of your reports.

Development
environment
Defining a report template in the
report editor.

Using the template in different reports.


The elements belonging to the template are identified by a yellow square.
The overloaded template elements are identified by a blue square.

A report template can be created:


• via found among the quick access buttons. In the window for creating a new
element, click "Window" then "Report template".
• from the current report (on the "Home" pane, in the "General" group, expand "Save"
and select "Save as a template").
To create a report based on a template, select the template that will be used during the
report creation.
The characteristics of elements can be dissociated from the template. For example,
dissociating the position of a template control to position the control somewhere else
while keeping the other evolutions performed on the control (code, style, ...). We talk of
inheritance. In this case, the elements are identified by a blue square.

24 Part 1: Basic concepts


Project dashboard
The project dashboard is a main element for managing the WINDEV Mobile projects. The
project dashboard gives an overall view of the progress status of a project.

The project dashboard includes several indicators about the project content:
• statistics about the project,
• incidents,
• tasks,
• status of automatic tests,
• result of audits,
• list of elements checked out from SCM (Source Code Manager),
• result of action planes (continuous integration), ...

The elements found in this dashboard are presented in Widget format. These Widgets
can be configured, moved, enabled, disabled, ... You have the ability to add new indicators.

The dashboard configuration is saved for each user. The dashboard configuration is the
same for all the projects that belong to the same user.

26 Part 2: Development environment Part 2: Development environment 27


WINDEV, WEBDEV, WINDEV Mobile: a Project configuration
100% compatible format The project configurations are used to create several "targets" from the same project.
From the same project, you have the ability to create:
The created projects are often multi-target projects. • executables that do not contain the same elements, with different names, ...
For example, for an ERP system intended to operate in Windows, it is very likely that • different external or internal components,
beside the main application, which will be the backbone of the solution, there will be • multi-platform executables.
sales people equipped with PDAs or Smartphones, stores that will use mobile devices to You have the ability to work on a specific configuration at any time: the elements that do
manage inventories and that Intranet and Internet sites will be implemented. not belong to this configuration are grayed in the project graph.

All the elements, except for the GUI (pages and windows), are 100% compatible and
sharable between the WINDEV, WEBDEV and WINDEV Mobile projects.

Indeed, the sets of procedures or the classes can be shared between several projects Mobile project
for example.

Regardless of the product used to create a project, the project can be opened by the
other products.
When a project is opened in a product other than
the one that was used to create it, a wizard is
displayed, allowing you to create a project
configuration specific to the product used.

For example, if a WINDEV project is opened by


WEBDEV, you will have the ability to create a
project configuration named "Site", used to group Project configurations
all the elements required by the WEBDEV site.

You now have the ability to view the elements of


each target from each environment. A project in
WINDEV displays the thumbnails of the WEBDEV
pages and the WINDEV Mobile windows for
Config 1. Config 2. Config 3.
example. Clicking a WEBDEV page from the
Mobile Library Component
WINDEV project editor opens the WEBDEV page executable
(WEBDEV must be installed on the computer). ...

The multiple generation allows you to generate all the project configurations (or some of
them) in a single operation.
Note: If you own WINDEV and WINDEV Mobile, you have the ability to handle the WINDEV
Mobile configurations in WINDEV directly. You can open the mobile windows, modify
them, run their test, ...

28 Part 2: Development environment Part 2: Development environment 29


Multiple generation Custom-folders: Organize your project
The project configurations are used to easily define the different "targets" of your project. All the elements included in a project are listed in the "Project explorer" pane. By default,
Several executables, several components and several libraries can be defined for the the elements are organized according to their type: windows, reports, classes...
same project. In huge projects, it is often more relevant to group the elements that relate to the same
feature: stock management or order management for example.
To generate the result of each configuration, you can select each configuration one by To do so, create the "custom-folders" in the tree structure of the project explorer and drag
one and generate the corresponding program. the different elements into these folders.
Some elements can be common to several "custom-folders".
Another faster method is available: the multiple generation. The configurations to It makes it easier to work on part of the application.
generate are selected in a single operation and the result is immediate.

To start a multiple generation, on the "Project" pane, in the "Generation" group, click
"Multiple generation".

Remark: To organize your projects while sharing a set of elements between different
projects, WINDEV Mobile also proposes internal components.

30 Part 2: Development environment Part 2: Development environment 31


Source Code Manager (SCM) Operating mode of Source Code Manager
The following example presents the Source Code Manager:

Overview
To simplify teamwork, a Source Code Manager is available in WINDEV Mobile. This Source
Code Manager allows several developers to work together on the same project at the
same time and to share elements between several projects. Local Computer 1

Network
2
Project A
Check-out 9:57 Project A
(intranet) Version 1 Version 1

ADSL
3 Modification

Project A Check-in 10:41 Project A


(internet) Version 2

4
Version 2

Offline Local Computer 2 Project A

5
Version 3

SCM Project A Check-out 14:28


Version 2 Repository
Mobile Computer
Check out Beta window from
Project A Version 1 at 9:13
A database groups the project elements, each computer
Mobile Computer Local Computer 1

1
has a local copy of the elements required for the development Check out Alpha window from
Project A Version 1 at 9:57
Check in modified Alpha window
The elements found in the SCM can be shared: Project A Check-out 9:57 into Project A Version 2 at 10:41
• via a network, Version 1

6
Local Computer 2
• via Internet, Modification Check out Alpha window from
for end users Project A Version 2 at 14:28
• via the Cloud,
Check-in 18:32
• in offline mode. In this case, the elements that require specific attention will be Project A
Version 3
Mobile Computer

7
checked out from SCM when the laptop is connected to the main system for Check in modified Beta window
into Project A Version 3 at 18:32
example.

If a project element (window, report, ...) is checked out, this element cannot be checked
out twice.
Once the checked-out elements are modified, these elements must be checked back in
so that these modifications can be taken into account by the source project. Indeed, the
SCM database stores a history of all the project elements since their creation.

Whenever an element is checked back in, the version number of the source project is
incremented by 1.

32 Part 2: Development environment Part 2: Development environment 33


Internal component External component
An internal component is a group of project elements. This grouping is used to: An external component is a set of WINDEV Mobile elements: windows, reports, analysis,
• Organize a project: you have the ability to create internal components in order to ... This set of elements performs a specific feature. For example, an external component
group the project elements, by feature for example. can correspond to one of the following features:
• Share elements between several projects, via the SCM. • Sending SMS,
• Sending emails,
• ...
An external component can be distributed to other WINDEV Mobile developers (for free
SCM or at a cost). These developers will be able to easily include the feature proposed by the
external component in their application. The external component will be included in the
application and distributed along with it.

Project 1 WINDEV Mobile


project

1
Project 2
1
Creating the Developing the
internal component component

Windows
2 Generating the
component

2 Sharing the
internal component
Classes via the SCM
.WDK file

Created in the EXE directory


Queries

3 Importing the
component

Sub-directory of
WCI file WINDEV Mobile WINDEV Mobile WINDEV Mobile
<MyComponent>
(List of elements) project project project
project
4 Using the
component 4 Using the
component 4 Using the
component

The elements found in an internal component can be private or public:


• The private elements can be handled by the other elements of the component.
• The public elements can be handled by the elements of the project that is using the
internal component.

34 Part 2: Development environment Part 2: Development environment 35


Generation modes External components
The external components are application bricks allowing you to
WINDEV Mobile allows you to generate several other types of projects. share one or more specific features between several applications.
A component generated by WINDEV can also be used in a WEBDEV
Windows Mobile/CE/Embedded Compact applications or WINDEV Mobile project.
The applications are the most common generation mode. The
applications developed with WINDEV Mobile can be run on Windows
Mobile (version 2003, 5.0, 6.0 and 6.5) and they support the ARM
and ARM4T processors.

Android applications
WINDEV Mobile allows you to generate applications for the Android
platform. These applications will be able to run on smartphones
or tablets running this operating system (from version 4.0). These
applications can also be distributed on Play Store for example.

iOS applications
WINDEV Mobile allows you to generate applications for the iPhone
and iPad platform (from iOS 8). These applications will be able to
run on iPhone and iPad devices. These applications can also be
distributed on the Apple Store for example.

Universal Windows 10 App


WINDEV Mobile allows you to generate applications for the tablets
and phones running Windows 10.
These applications can be started in tile mode on the Windows
10. tablets These applications can also be distributed on Windows
Store for example.

Libraries and patches


A library is a unique file that groups several elements of a WINDEV
Mobile project: windows, reports, etc. You have the ability to generate
stand-alone libraries that can be used by other applications as well
as corrective patches for an application that is already deployed;
this allows you not to have to reinstall the full application for a minor
correction.

36 Part 2: Development environment Part 2: Development environment 37


Project Monitoring Center Managing requirements
To optimize the management of your development projects, WINDEV Mobile gives you the The Project Monitoring Center allows the project manager to manage a development
ability to use Project Monitoring Center. The Project Monitoring Center is used to: project. To do so, you must:
• Manage the project requirements, • define the different project contributors.
• Manage the monitoring of a project (schedule of tasks to perform), • define the requirements (with the different elements associated with them).
• Manage the bugs and evolutions signaled on a project. Each developer performs the different tasks assigned to him.
The Project Monitoring Center is using a HFSQL Classic or Client/Server database: The project manager can follow the progress status of project at any time.
the database of Control Centers. This database is shared between the different tools
available in WINDEV Mobile: Project Manager Developer

1 2
- Tasks
Creating requirements Performing the
- Requirements
- Quality made of: requirements:

Project
Monitoring Center

Tasks Project Monitoring


Center

Incidents

Login window
Database of of WINDEV Mobile
Control Centers

Business Rules Pane of


Business Rules

Stand-alone Image catalog


Business Rules Automatic tests
messaging (WDBAL) (custom images)

3 Monitoring requirements (Project Monitoring Center):

Note: When installing WINDEV Mobile, the setup program proposes:


• to create the database of Control Centers (database of Project Monitoring Center).
This database will be automatically created in HFSQL Classic format in the specified
Managing the
directory. requirements
• to share an existing database of Control Centers.

38 Part 2: Development environment Part 2: Development environment 39


Managing tasks Managing business rules
The Project Monitoring Center allows the project contributors to manage their task WINDEV Mobile allows to manage the business rules. A business rule is used to define
schedule. These tasks can be linked to requirements and they can correspond to several a specific operating mode or to specify a particular process. For example: calculating
projects. a specific VAT rate, the rules for changing customer status, the formula for calculating
shipping costs, a sales commission, a discount rate, a decay coefficient, ...
A business rule can be simple or complex.
The business rules can come from the specifications (corresponding to the requirements).

Defining the requirements

Defining the
Business Rules

Applying the Business


Rules to the project
Once all the project tasks have been defined, the Project Monitoring Center takes care of
everything. Entering the time spent on a task is almost automatic, it requires no specific
action and it generates no particular constraint.

When the relevant project is opened, the Project Monitoring Center requests or indicates
the current task. As soon as a task is completed, all you have to do is indicate that this Using the application
task is over and specify the new task.

A task can be linked to a project element (window, report, ...). Whenever the relevant
element is opened, the time spent on this element is counted and stored in the Project
Monitoring Center. Conversely, the element corresponding to the task that you want to
perform can be automatically opened from the task list.
Each developer can also see his own task list in the "Project Monitoring Center" pane
found in the editor.

40 Part 2: Development environment Part 2: Development environment 41


PART 3

Databases

42 Part 2: Development environment


Analysis: Database structure
When a WINDEV, WEBDEV or WINDEV Mobile project is using data files, this project must
be associated with an analysis. An analysis allows you to describe the structures of data
(files, items, ...) used in your project.

The data model editor is used to easily create an analysis.

Supplier Product Order Customer


Full name, ... Description, Price, ... Date, ... Full name, ...

System studied

Corresponding analysis

The analysis of a WINDEV Mobile project corresponds to the LDM (Logical Data Model).
The entire structure and data organization are described: the data is grouped by file.
Each file contains several data called item.

In the analysis, the description of a data file can be linked to a type of file (HFSQL Mobile,
HFSQL Client/Server, SQLite, ...).

44 Part 3: Databases Part 3: Databases 45


The different types of accessible files
WEBDEV, WINDEV and WINDEV Mobile propose a simple access to most of the databases
available on the market.

46 Part 3: Databases Part 3: Databases 47


Data handled by a WINDEV Mobile HFSQL Classic
application The HFSQL Classic format (also called HFSQL Mobile) is the database format supplied
with WINDEV Mobile. This database format is compatible with WINDEV, WINDEV Mobile
The data handled by a WINDEV Mobile application can come from: and WEBDEV.
• a HFSQL Classic or HFSQL Client/Server database (".Fic" files). It is a freely distributable Relational DBMS.
This format can be used on the following platforms: Windows Mobile, iPhone, iPad,
• a third-party AS/400 database (Windows Mobile only).
Android and Universal Windows 10 App.
• a CEDB database (".cdb" files) (Windows Mobile only).
This format is identical to the HFSQL Classic format of WINDEV and WEBDEV (".WDD" file,
• ".INI" files.
data files, ...).
• text files (in ANSI or UNICODE format). However, the available size being limited on the mobile devices, the following features
• the registry (Windows Mobile only). are not supported by HFSQL Classic on mobile:
• the transactions.
• the log process.
• the management of locks for files and records.
• the management of files in Hyper File 5.5 format.

Handling a HFSQL Classic database from the mobile device


Mobile device A HFSQL Classic database corresponds to a set of ".FIC", ".NDX", and ".MMO" files.
Each data file can be handled by a WINDEV Mobile application. These operations are
performed via HFSQL functions (Hxxx functions).

Tasks Mobile device


HFSQL Notes .INI
HFSQL Client/ Contacts... ASCII
Classic Server AS/400 .cdb UNICODE

Databases Text files Registry

Hxxx
functions,
(read, write...)

Database
48 Part 3: Databases Part 3: Databases 49
HFSQL Client/Server HFSQL Cluster
A WINDEV Mobile HFSQL application can also operate in Client/Server mode. HFSQL Cluster is an extension of the database model of HFSQL Client/Server. In a database
cluster, all HFSQL servers contain a copy of databases and they are synchronized in real
The characteristics of the Client/Server mode are as follows: time.
• A HFSQL Client/Server application is run on different mobile devices (called client • The read load can be balanced between the different servers.
computers). • The physical configuration can evolve without any interruption for the client
• The data files are found on a server. Only the server physically accesses the data computers.
files. • If one of the servers crashes, the client is automatically redirected to an operating
• All the processes (query, read/write operation in a data file, ...) are performed on the server.
server.

Mobile Device 1
Client computer

Windows or Linux
HFSQL server
Mobile Device 2 Access to data

Manta server
Cluster

HFSQL
Client/Server HFSQL Client/Server HFSQL Client/Server
server server
databases
Mobile Device N
Applying modifications

HFSQL Client/Server HFSQL Client/Server


server server

HFSQL Client/Server can be used on the Windows Mobile, iPhone, iPad, Android and
HFSQL Cluster can be used from the Windows Mobile, iPhone, iPad and Android platforms,
Universal Windows 10 platforms.
...

50 Part 3: Databases Part 3: Databases 51


Creating HFSQL files: Associating controls with data
the physically created files A window can display information coming from:
• a database: the controls are directly linked to the items of data files or queries
The data model editor is used to describe the structure of data files. available in the database.
• variables found in the application code (variables global to the window or to the
Depending on the information typed in the data model editor, different files are physically project or parameters passed to the window).
created. To display this information in a window, the controls of this window must be linked to:
• the different database items.
Characteristics Files physically • the available WLanguage variables.
of the file (Analysis) created
The method for displaying and retrieving information is straightforward:
".fic" file • The link between a control and an item or between a control and a variable is
HFSQL Classic or Client/Server file
Data file defined in the window editor when describing the control ("Link" tab).
One or more search keys
• ScreenToFile is used to update the record or variable with the data displayed on the
".ndx" file screen.
(unique or with duplicates)
Index file
• FileToScreen is used to update the data displayed on the screen with the
One or more full-text indexes
".ftx" file information saved in the data file or with the information saved in the variable.
Full-text index file

".mmo" file
One or more "Memo" items
Memo file Link between control and item

ScreenToFile FileToScreen

Database

52 Part 3: Databases Part 3: Databases 53


Link between control and variable
The queries
A query is used to interrogate a database to view, insert, modify or delete data. The query
structure defines the data used.
A query can interrogate one or more data files.
The query editor allows you to easily create queries without programming.

ScreenToFile FileToScreen

Linked variable

Simple control
Link with:
Sources Possible uses
- Simple variable
- Instance of class or Windows and controls
structure member of a window
- Property of dynamic object Data coming from
one or more files
List box, Table, Combo box, ...
Link with: (HFSQL, Oracle, ...) Reports
- Array of classes or structures The result of a
- Advanced types (for example
xlsRow, xlsColumn)
query can be used
Programming
like a file
(use in the WLanguage
functions)

Note: The control/variable link is not available for the Android


applications. Queries

Note: In programing, a query can be handled like a data file. Especially, it can be
associated with a display control (a Table control for example) that will present the data
returned by the query.

54 Part 3: Databases Part 3: Databases 55


The embedded queries The Table/Looper controls
The controls found in a window can be linked to a data file or to an existing query, ... The Table/Looper controls can be used to display a set of information (the content of a
These controls can also be linked to a query created when building the control. data file for example). The content of these controls can come from different sources:
• Browsing Table/Looper control with direct access,
• Memory Table/Looper control,
• Browsing Table/Looper control loaded in memory.
Note: These three fill modes will be presented in details for the Table control. The same
concepts apply to the Looper control.

Browsing Table control with direct access


A browsing Table control with direct access is used to directly display data coming from a
data file, a query or an array variable. Browsing the data file allows you to display data in
the Table control. The data file is read for each row displayed: the record read is displayed
in a row of Table control.

Embedded query:
MyWindow_1$Query

Customer
file

The displayed data that is not linked to the data file is not kept when displaying the row
(value of a Check Box column for example).
The WLanguage functions starting with "Table" are used to handle the browsing Table
controls with direct access. Adding or deleting a row into/from the Table control triggers
the addition or deletion of the record in the linked data file.

Memory Table control


Embedded query: A memory Table control is used to directly display the data loaded in memory. The data is
MyWindow_2$Query added into the Table control by programming (by TableAddLine for example).

In this case, the query is integrated in the window. It is found in the WDW file corresponding
to the window. If the WDW file is copied (into another project for example), the embedded
queries used by this window will also be copied.
Data in
memory
The data being found in memory, the Table control allows you to perform all the operations
on the data (sort on any column, search performed in the columns, ...).

56 Part 3: Databases Part 3: Databases 57


Browsing Table control loaded in memory
The browsing Table controls loaded in memory combine the benefits of browsing Table
Synchronizing data
controls with the benefits of memory Table controls. WINDEV Mobile allows you to synchronize the records used by several applications.
The Table control is linked to the data file but the content of the data file is entirely loaded The two applications manage the same data independently of each other. During the
in memory. The sort and the search are available for all the columns. synchronization, the modifications performed in the database used by the PC are
The data that is not linked to the data file is kept when handling the scrollbar of the Table automatically applied to the mobile device (and conversely).
control (Check Box column for example). This synchronization is automatically performed by:
The records found in the data file being loaded in memory, this type of Table control is • ActiveSync when the Mobile Device (Pocket PC) is connected to the Windows PC
recommended for the data files containing less than 100 000 records (to avoid memory (Windows Mobile only). From Windows Vista, "ActiveSync" was replaced by the
overflow). "Manager for Windows Mobile devices".
• the Universal Replication when the mobile device is connected (or not) to the
Windows PC.

ActiveSync (or the manager for Windows Mobile devices)


ActiveSync allows you to update the databases of same format used both by a WINDEV
Customer application and a WINDEV Mobile application.
file The synchronization can be adapted to special cases. For example, you have the ability to
retrieve the records regarding a specified product or the records created at a given date,
manage the conflicts, display a configuration window, ...
File loaded These changes must be done by programming in a set of procedures called "WDSynchro.
in memory wdg". This set of procedures is supplied in example with WINDEV Mobile.
Note: No programming is required to perform a full synchronization.

Windows PC Mobile Device

Connection: USB, Wi-Fi, Bluetooth...


ActiveSync

Synchronization via ActiveSync

Notes:
These different fill modes are also available for the List Box and Combo Box controls.

File 1

The Table control is not available in the Universal Windows 10 apps File 3
File 1

applications. Only the Looper control can be used. File 2


File 2

58 Part 3: Databases Part 3: Databases 59


Universal replication
The universal replication is used to update databases (with the same or different formats)
3-tier
used by several applications. You can for example perform a synchronization between a The purpose of 3-tier programming is to separate the 3 standard "layers" of an application:
HFSQL Mobile database and an Oracle Lite database. GUI, processes and data.
The universal replication is using a centralized model: all the databases are synchronized Therefore, an application will include 3 separate tiers:
with a master database. Then, the master database applies the modifications to the • a presentation layer,
other databases. • an application layer,
• a layer for data access.

The reason for separating the layers is to simplify the maintenance and the future
evolutions of the application. This provides better security because the access to the
database is allowed via the processes layer only. It also optimizes the teamwork and the
multi-target development.

Mobile Windows Browser

Universal Presentation layer


replication

Components Webservices WEBDEV application


server
Application layer

The synchronization can be adapted to special cases. For example, you have the ability to
retrieve the records regarding a specified product or the records created at a given date,
manage the conflicts, display a configuration window, ...
These changes must be done by programming via HRplFilterProcedure.

HFSQL External databases


Classic, Client/Server Oracle, AS/400, SQL Server...
Data layer

60 Part 3: Databases Part 3: Databases 61


PART 4

Advanced
concepts

62 Part 3: Databases
Windows generated by RAD
The RAD (Rapid Application Development) is used to create windows from:
• the analysis linked to the project,
• skin templates.
The generated windows contain the necessary source code. The test of these windows
can be immediately run with the data found on the development computer.

Note: For the Windows Mobile applications, the RAD can be used to
entirely create the application (with or without code).

64 Part 4: Advanced concepts Part 4: Advanced concepts 65


Multilingual application Test of WINDEV Mobile application
A multilingual application is an application that can be distributed in several languages. The test of the entire project is used to simulate the start of the application by the
WINDEV Mobile takes into account the different application languages during the entire executable. This allows you to run the test of the entire application, even if its development
application development. is not finished yet.
Several types of project tests are available in WINDEV Mobile:
The main steps for developing a multilingual application are as follows: • Test on the development computer. This test simulates the mobile device
on the development computer. No connection to a device is required during

1
this test. This test allows you to use the debugger. However, this test being
Choose the languages run on a PC and not on the real mobile device, some differences regarding
- Project the application behavior may be noticed.
- Analysis

• Direct test on the mobile device connected to the development computer.


In this case, the executable corresponding to the project is created, copied
2 Translate the project elements onto Mobile Device (Pocket PC or Android device) and run. When running
the program on Mobile Device, the Mobile Device can be disconnected
- Direct translation from PC. The debugger is not available.
- Translation via WDMSG, WDINT,
WDTRAD, ...

• Test on Android emulator. The Android SDK is supplied with an emulator of


Android device. The application test can be run in the emulator. This option

3
does not require a real Android device to run the tests but it provides a
Programming Data files
more faithful execution than the "simulator" mode.
- Choose the application language - Choose the character set
(Nation function) (ChangeCharset function)
- Choose the character set - Take the character set into account when
(ChangeCharset function) creating the files (HCreation* function) • Test on iPhone/iPad simulator. The test of the iOS application can be
- Choose the keyboard language - Take the character set into account when directly run on Mac when compiling the project in Xcode. This option does
(ChangeKeyboard function) reindexing (HIndex function)
not require a real iPhone or iPad device to run the tests but it provides a
more faithful execution than the "simulator" mode.

4 Executable
Choose the library languages
• Real test (PC or mobile device). The test of Universal Windows 10 App
application can be run on a Windows 10 computer. This option allows you
to run your project in tile mode, from Windows 10. The Universal Windows
10 App application is automatically generated.

5 Setup program
- Available languages • Test and debug on the Mobile Device (Pocket PC) connected to the
- Translate the setup program development computer. This test allows you to use the debugger even
though it is run on the Mobile Device directly.

66 Part 4: Advanced concepts Part 4: Advanced concepts 67


Debug modes Unit tests
Two different modes are available for debugging a WINDEV Mobile application: The unit tests (also called automatic tests) are used to run the test of windows, procedures
and classes found in an application during the entire development.
To do so, select (or create) the test scenario that will be run.
These scenarios are generated in WLanguage and they can be directly modified.
Debugging in the simulator These scenarios are grouped in the test editor. The test editor examines the result of unit
This mode starts the application in a device simulator. However, the tests and it calculates the validation rate of application.
application is run by the PC itself in the Windows environment.
This mode is used to quickly debug a new function or to check an Using a test scenario
Creating a test scenario (classes and procedures)
algorithm but it presents differences of behavior with the real device:
• the file paths are the ones of Windows, 1 WINDEV Mobile window in the editor 1 Displaying the test editor
• the character strings are in ANSI format and not in Unicode format,
• the functions specific to the mobile devices (SMS for example) are not
available.

2 Recording the test scenario 2 Running the test

Debugging on the mobile device


This debug mode allows an operating mode of the application that is
closer to the real application as the debugger runs the application on the
real mobile device. All the specific functions can be used (except for the

3 3
ones that require digitally signed executables).
This mode is slightly slower than the simulator. Indeed, it adds to WLanguage code of test scenario Result of the test
the execution a communication phase between the development
environment and the debugger found on the device. Correction
This mode requires a mobile device connected to the development
computer.

To create a unit test on the current window, on the "Automatic tests" pane, in the "Tests"
group, expand "New" and select "Save a new test".

To create a unit test on a procedure or on a class, select this procedure or this class in the
"Project explorer" pane and select "Unit tests .. Create a unit test" from the popup menu.

68 Part 4: Advanced concepts Part 4: Advanced concepts 69


PART 5

WINDEV/WINDEV
Mobile
Interactions

70 Part 4: Advanced concepts


WLanguage functions
Most of the WLanguage functions found in WINDEV are available in WINDEV Mobile.
These functions are common to the two products.
The functions specific to Windows are not available in WINDEV Mobile because of the
differences between Windows and the different systems available on the mobile device
(Windows Mobile, Android, iOS, ...).
On the contrary, some functions specific to the mobile devices are proposed with WINDEV
Mobile only.

The following diagram presents some WLanguage functions that can be used according
to the type of application developed:

WINDEV Mobile functions


only
Functions that can only be used
on Mobile Device (for example,
management of SIM card)

Common
functions
for example,
HReadFirst,
FileToScreen,
ExtractString...

WINDEV functions
for Windows
only
Functions not available
due to limitations of
the Mobile Device

72 Part 5: WINDEV/WINDEV Mobile Interactions Part 5: WINDEV/WINDEV Mobile Interactions 73


Handling character strings
Character strings in Android
Different formats of character strings are available:
In Android, the character strings are handled in Unicode/UTF-8 format.
The UNICODE format is used to describe a very large set of characters by representing each
letter on several bytes. All the characters found in the most common character sets can be
represented in a single set. Each character includes a unique identifier. This format allows you
to simultaneously handle characters coming from different character sets. The "UNICODE" Reminder: Character string in Windows PC
term does not defines the method for coding characters. Several "transformations" are The Windows applications for PC handle the character strings in ANSI or UNICODE format.
available for encoding the texts among which the most common are UTF-8 and UTF-16. On a PC, the text files can be opened in ANSI format and in UNICODE format. No conversion
The ANSI format represents each character on one byte. This format can encode 256 is performed by default.
characters in the Indo-European character sets. This format is used to represent all character
sets. However, a single character set can be used at a time.

Character strings in Windows Mobile Windows PC


In most cases, the Windows Mobile applications handle the character
S is ANSI string ANSI
strings in UNICODE/UTF-16 format. In this format, each character is string
...
encoded on 16 bits (2 bytes).

Mobile Device S is UNICODE string UNICODE


... string

S is string UNICODE
... string
Using Text files
Using Text files
fOpen(MyFile,ANSI) ANSI
fOpen(MyFile,ANSI) UNICODE fReadLine(...) string
fReadLine(...) string
ANSI ANSI
or or
fOpen(MyFile,Unicode) UNICODE
fReadLine(...) string
fOpen(MyFile,Unicode) UNICODE
UNICODE fReadLine(...) string

UNICODE
In Windows Mobile, when using text files containing character strings in
ANSI format, WINDEV Mobile automatically converts these character
strings into UNICODE/UTF-16 format. This conversion is performed even
if the opening of this file in ANSI format is explicitly requested. The method for programming the character strings is the same in WINDEV and in
This conversion is completely transparent. WINDEV Mobile (with very few exceptions). WINDEV automatically performs the
necessary conversions.

74 Part 5: WINDEV/WINDEV Mobile Interactions Part 5: WINDEV/WINDEV Mobile Interactions 75


PART 6

Setup

76 Part 5: WINDEV/WINDEV Mobile Interactions


Installing an Android or iOS application
Several methods can be used to install a WINDEV Mobile application:

• Setup in APK format. This setup program is run on the Android


device.
• Setup via Play Store.

• Compilation in Xcode on Mac. The compilation in Xcode is used to


create the executable application on iPhone or iPad.
• Setup:
• by App Store.
• via an In-House network.
• via an Ad-Hoc network.

• Setup via Windows Store.


• Direct setup on a phone.
• Setup on a tablet.

• Setup in CAB format. This setup program is run on a Windows


Mobile device.
• Setup in MSI format. This setup program is run on a PC running
Windows connected to a Windows Mobile device.
• Setup by direct copy of executable from the PC to the Windows
Mobile device.

78 Part 6: Setup Part 6: Setup 79


The different types of setup Setup via App Store

Setup in APK format App Store is an application proposed by Apple. App Store presents applications for
This setup consists in: iPhone and iPad that can be purchased or downloaded from a unique setup interface
• generating the application on the development computer. and included in the Apple devices.
• signing the APK file digitally. This setup consists in:
Note: a self-signed key can be used. • generating the application on the development computer.
• copying the APK file onto an Android device. • preparing the images required for the deployment.
• running the APK file on the Android device. This action triggers the setup of the • compiling the application in XCode.
application. • saving the application in "iTunes Connect".
• compiling the application in XCode.
To run the application, all you have to do is choose its icon from the "All programs" menu.
• uploading the application on the App Store.
The users of the application will only have to install the requested application from the
Setup via Play Store "App Store" application of their Apple device.

Play Store (formerly Android Market) is an application proposed by Google. Play Store To run the application, all you have to do is choose its icon from the "All programs" menu.
presents applications for Android that can be purchased or downloaded from a unique
setup interface included in the Android devices. Setup by adhoc and in-house
This setup consists in:
• generating the application on the development computer. This type of deployment allows you to distribute your application on an iPhone or iPad
• signing the APK file digitally. For a deployment on Play Store, we recommend that device.
you use a real key signed by a recognized trusted authority. Most of the operations will be performed on the Web, then in the "Apple developer
• uploading the APK file onto the Web site of Play Store. center", then in the XCode compiler on a Mac.
Note: you must register on the site beforehand. Depending on your iOS development license, you will have the ability to perform one of
The users of the application will only have to install the requested application from the the following setups:
"Play Store" application of their Android device. • adhoc, for installing the application on several devices (up to 100).
• in-house, to install an application on all the devices belonging to the company. The
To run the application, all you have to do is choose its icon from the "All programs" menu.
application will be distributed either via a private Web server of the company, or by
iTunes.

80 Part 6: Setup Part 6: Setup 81


Setup by Windows Store Setup in MSI format
This setup consists in:
Windows Store is an application proposed by Microsoft. Windows Store presents Universal • generating the application executable on the development computer.
Windows 10 App applications that can be purchased or downloaded from a unique setup • generating the setup program of application on the development computer. This
interface and included in the devices running Windows 10. setup program corresponds to a ".MSI" file.
This setup consists in: • distributing this setup program to end users.
• generating the application on the development computer. • running this setup program on PCs.
• uploading the application on the Web site of Windows Store. you must register on Note: If no Windows Mobile device is connected, the setup will be performed during
the site beforehand. the next synchronization between the PC and the Windows Mobile device.
The application users will only have to install the requested application from the
"MarketPlace" application of their Windows 10 device (tablet, PC or phone). Windows PC Windows PC Mobile Device

To run the application, all you have to do is choose its icon from the menu of applications.
Creating the Starting the
executable (Exe) setup
Starting the Connection
Setup in CAB format Delivery
setup
SETUP

This setup consists in: Client 1


Deployment
• generating the application executable on the development computer via WINDEV
Mobile. Creating the
setup Delivery Client 2...
• generating the setup program of application on the development computer. This (.MSI file)

setup program corresponds to a ".CAB" file.


• copying this setup program onto the Windows Mobile devices of end users.
Client N...

Windows PC Development computer

Creating the
executable (Exe)

Memory card, USB key...


Setup by direct copy
Mobile Device
This setup consists in:
• generating the application executable on the development computer.
Creating the Starting the
• copying this executable onto the Windows Mobile device connected to the PC.
setup Internet FTP Server setup
(.CAB file)

To use this application, run this executable on the Mobile Device (double-click the ".EXE"
file for example).
Development computer Direct copy

Windows PC Mobile Device


Connection: USB, Wi-Fi, Bluetooth...

Creating the
Deployment executable (Exe) Direct COPY
• running this setup program on the Windows Mobile devices. This program installs all
the files required by the application. Development
Deployment
To use this application, start the application on the Windows Mobile device (via the
shortcut created in the "Start" menu).

82 Part 6: Setup Part 6: Setup 83


PART 7

Communication

84 Part 6: Setup
Communication with WINDEV Mobile
WINDEV Mobile proposes several communication functions in several fields.
These functions allow you to:
• manage emails (POP3, IMAP and SMTP protocols),
• use FTP (file transfer),
• perform HTTP and HTTPS requests,
• use the telephony,
• perform SOAP queries (to access SOAP, J2EE or.Net Webservices),
• manage SMSs,
• use TCP sockets (with automatic use of the SSL protocol), UDP sockets,
• use Infrared or Bluetooth sockets.

The availability of these functions depends on the features of the device that runs the
application.

Some examples
1. Communication by Infrared
Communication by infrared is performed via the Socket functions (SocketConnectInfrared,
SocketCreateInfrared, ...). Therefore, the Windows Mobile devices or the Android devices
can communicate with all types of devices.

Mobile Device 1 Mobile Device 2

Contact application Contact application

Creating the socket Connection to the socket


(SocketCreateInfrared function) (SocketConnectInfrared function)
Communication
by infrared
(SocketRead, SocketWrite, ... functions)

86 Part 7: Communication Part 7: Communication 87


2. Communication by Wi-Fi
The communication by Wi-Fi can be used to transfer files by FTP for example. Managing the emails (POP3/IMAP/SMTP)
The POP3/IMAP and SMTP protocols are protocols for email management recognized by
FTP server Mobile device all the service providers. These protocols allow you to communicate with the email server
available at your ISP.

Notes:
FTP account • The POP3 and IMAP protocols are used to receive emails.
• The SMTP protocol is used to send emails.

Anonymous

Transfer files by WI-FI


Connection to the server
(FTPConnect function) Mobile Device
Connection: Ethernet card,
(FTPxxxx functions, ...)
WI-FI, GPRS modem...

POP3 protocol
Receiving emails Email server
3. Communication by mobile network (3G, ...) (Hosting company)
SMTP protocol Retrieving and
The communication by mobile network can be used to access a remote HFSQL database Sending emails sending emails
via Internet for example.

PC Mobile Device
INTERNET
INTRANET
Principle
1. Connect the Windows Mobile device to a PC (required if it is not natively equipped with
an Internet access).
2. Connect to the Internet service provider (if necessary).
GPRS GPRS 3. Start an email session with EmailStartSession.
4. Send and read the messages.
Connection to Internet 5. Close the messaging session with EmailCloseSession.
(NetOpenRemoteAccess function)
Connection to the remote database
(HConnectRemoteAccess function)

88 Part 7: Communication Part 7: Communication 89


Handling files on an FTP server Managing SMSs
The FTP (File Transfer Protocol) is a protocol used to transfer files from a site to another
With the WLanguage functions, WINDEV Mobile allows you to:
remote site. This protocol is used to exchange files by TCP/IP, Internet Wi-Fi or ActiveSync.
• send SMSs.
Several thousands of file servers can be accessed by FTP on Internet. These servers
• browse the incoming SMSs.
propose shareware or freeware accessible to the public.
• delete one or more incoming SMSs.
Several WLanguage functions allow you to manage files on an FTP server from your
WINDEV Mobile applications.
An SMS (Short Message Service) is a text message (up to 160 characters) sent on a cell
phone.
Transferring files by direct link between a Mobile Device and an FTP server by Wi-Fi:
To use the SMS functions, the application for Mobile Device (Pocket PC) must be installed:
• on a Mobile Device (Pocket PC) equipped with a phone access (GSM type).
FTP server Mobile device • on a Smartphone.

Mobile device Cell phone


FTP account
Smartphone, ...

Anonymous
SMS
Transfer files by WI-FI
(FTPxxxx functions, ...)
Connection to the server
(FTPConnect function)
Application
2 Sending the message
(SMSSend function) SMS

1 Creating the message


(SMS structure) 3 Receiving and browsing
the messages
Transferring files by Internet:

FTP server Mobile device

Connection: USB, Wi-Fi, Bluetooth...


FTP account
Retrieving files
FTPGet function
INTERNET
Anonymous
INTRANET PC

90 Part 7: Communication Part 7: Communication 91


PART 8

Specific features
of Windows
Mobile

92 Part 7: Communication
Managing the keyboard in Windows Mobile
To allow the users of your applications to type data, the keyboard of Mobile device must
be used (also called SIP for "Software Input Panel"). This keyboard is used to:

• display a miniature keyboard at the bottom • automatically recognize the different


of screen. The user clicks this keyboard words written on the screen with the
with the stylus to type information: stylus (method called "Transcriber").

• automatically recognize the letters entered • automatically recognize the blocks


in a specific character set (method called of words entered in a specific
"Letter recognizer"): character set (method called "Block
recognizer"):

WINDEV Mobile allows you to easily manage this keyboard via the WLanguage functions
(SIPXXX functions).

94 Part 8: Specific features of Windows Mobile Part 8: Specific features of Windows Mobile 95
File picker in Windows Mobile Standard CEDB database
File picker The standard applications
In Windows Mobile, fSelect is used to select a file found: The devices in Windows mobile are supplied with a set of standard applications that
• in the "\My Documents" directory or in one of its sub-directories. handle the standard CEDB databases.
• in a directory found on a storage card. These databases correspond to the databases found by default on the device. These
databases contain the "Tasks", "Contacts" and "Calendar" data files, ...

These databases can be handled by a WINDEV Mobile application.

Mobile Device
Databases of
standard applications

Path of directories and files Calendar Notes


The method for managing directories differs on a Windows computer and on a mobile
device.
In Windows, the paths have the following format: "C:\My Documents\My File.txt". cdbxxx functions
(read, write)
In Windows Mobile, the paths have the following format: "\MyDocuments\MyFile.txt".
There is a single tree structure and the notion of drive does not exist.
Note: The notion of current directory does not exist in the Windows Mobile operating Contacts Tasks
system. Therefore, functions handling the current directory (fCurrentDir for example) are
not available in WINDEV Mobile and the file paths must always be absolute paths.

96 Part 8: Specific features of Windows Mobile Part 8: Specific features of Windows Mobile 97
Handling a standard database found on the Mobile Device (from a PC) Handling custom CEDB databases
A standard database (containing the data files for managing tasks, contacts, ...) is found
on the Mobile Device (Pocket PC). This database can be handled by a WINDEV Mobile CEDB database
application. The custom CEDB databases correspond to Access databases (".MDB" file) previously
If you own WINDEV, you also have the ability to create a WINDEV application used to exported from a PC.
handle this standard database found on the Mobile Device (Pocket PC). When an Access database (".MDB" file) is copied onto a Mobile Device (Pocket PC) from
These operations are performed via the cdbXXX functions. the file explorer, this database is automatically changed into a CEDB database (".CDB"
The synchronization between the database found on Mobile Device (Pocket PC) and the file).
data viewed via Outlook is performed by ActiveSync.
Handling a CEDB database from the Mobile Device (Pocket PC).
Windows PC Mobile Device A CEDB database can be handled by a WINDEV Mobile application. These operations are
performed via the cdbXXX functions.
Connection: USB, Wi-Fi, Bluetooth...

cdbxxx functions (read, write...) Tasks

database
Standard
Notes
Synchronization via ActiveSync Contacts...
.cdb
Mobile Device
cdbxxx
functions
Outlook
(read,
write...)

Note: To handle a Mobile Device database (Pocket PC) from a WINDEV application, the cdbxxx
Windows PC must be connected to the Mobile Device (ceConnect function). functions
(read, write...)

Database
98 Part 8: Specific features of Windows Mobile Part 8: Specific features of Windows Mobile 99
Handling a CEDB database from the Windows PC Synchronizing a CEDB database with an Access database
An Access database (".MDB" file) is found on the Windows PC. This database is exported
If you own WINDEV, you also have the ability to create a WINDEV application used to to the Mobile Device (Pocket PC): ActiveSync automatically transforms it into a database
directly handle a CEDB database found on the Mobile Device (Pocket PC). These for Mobile Device (".CDB" file).
operations are also performed via the cdbXXX functions. This database for Mobile Device (Pocket PC) can be handled by a WINDEV Mobile
application.
If you own WINDEV, you also have the ability to create a WINDEV application used to
Windows PC Mobile Device
handle the database found on the Mobile Device (Pocket PC).
Connection: USB, Wi-Fi, Bluetooth... These operations are performed via the cdbXXX functions. The synchronization between
the database found on the Mobile Device (Pocket PC) and the Access database is
performed by ActiveSync.
cdbxxx functions (read, write...)

Database
Windows PC Mobile Device
cdbxxx
functions Connection: USB, Wi-Fi, Bluetooth...
(read,
write...)
cdbxxx functions (read, write...)

Database
Synchronization via ActiveSync

cdbxxx
functions
Note: To handle a database found on a Mobile Device (Pocket PC) from a WINDEV (read,
write...)
application, the Windows PC must be connected to the Mobile Device (ceConnect

Database
function).

Notes:
• To handle a database for Mobile Device (Pocket PC) from a WINDEV application, the
Windows PC must be connected to the Mobile Device (ceConnect).
• The WINDEV application can also handle the Access database via the Native
Access.
• From Windows Vista, "ActiveSync" was replaced by the "Manager for Windows
Mobile devices".

100 Part 8: Specific features of Windows Mobile Part 8: Specific features of Windows Mobile 101
Comparison between HFSQL and CEDB File link between a window and a Pocket PC database (CEDB)
This link must be defined by programming (cdbXXX functions).
To display information coming from a database in a window, the controls of this window
must be linked to the different items of the database.
The method for displaying and retrieving information depends on the database used
(HFSQL or CEDB). Mobile Device

File link between a window and a HFSQL database


In most cases, the link between a control and an item is defined in the window editor
when describing the control ("File" tab). This link allows you to specify the data file item
that will be used by ScreenToFile and FileToScreen. CEDB
1 LINE
Mobile Device
PER CONTROL (No file link)

cdbWriteCol("MyDatabase",... ctlCaption=cdbCol("MyDatabase",...
"Schedule","Caption",ctlCaption) "Schedule","Caption")

HFSQL
cdbWriteCol("MyDatabase",... ctlContrib=cdbCol("MyDatabase",...
"Schedule","Contrib",ctlContrib) "Schedule","Contrib")
... ...

1 LINE
PER WINDOW
(File link)

ScreenToFile FileToScreen
Other differences
The use of HFSQL databases (Classic or Client/Server) allows you to access the following
features (non-exhaustive list):
• Speed of the HFSQL database.
• Queries on the HFSQL databases (created with the query editor supplied with the
product).
• Fast application development via Full Application RAD.
• Features specific to the HFSQL database (encryption, ...).

102 Part 8: Specific features of Windows Mobile Part 8: Specific features of Windows Mobile 103
Interaction with a WINDEV application Handling a Windows Mobile device
The functions for accessing the Mobile Devices (Pocket PCs) are used to access the from a WINDEV application
Mobile Devices (Pocket PCs) from a WINDEV application.
The following WLanguage functions are used to access the Windows Mobile devices
connected to a PC from a WINDEV application:
Mobile Device
ceConnectionStatus Used to find out the status of the connection between the current computer
Windows PC and a Windows Mobile device.
ceConnect Connects the current computer to a Windows Mobile device.

Files
Connection: USB, Wi-Fi, Bluetooth... ceCopyFile Copies:
• a file found on the current computer to the connected Mobile Device.
Copying files • a file found on the connected Mobile Device to the current computer.

WINDEV Mobile
application
Starting applications • a file found on the connected Mobile Device to another directory in the
Mobile Device.
cdbxxx access (read, write...)

ceCreateShortcut Creates a shortcut on the device connected to the current computer.


WD2X0CE.DLL

Database
ceDeleteFile Deletes a file from the Windows Mobile device connected to the current
computer.

ceDeleteShortcut Deletes a shortcut that was created by ceCreateShortcut.

ceDir Finds a file or a directory on the Windows Mobile device connected to the
WINDEV Mobile is supplied with several examples that use the functions for accessing current computer.
the Mobile Devices:
ceDisconnect Closes the connection between the current computer and the device.
• PC Registry.
• PC Explorer. ceFileDate Returns or modifies the different dates associated with a file (creation,
modification or access).
These examples can be used on a PC.
ceFileExist Checks the existence of a file.

ceFileSize Returns the size (in bytes) of a file found on the Windows Mobile device
connected to the current computer.

ceFileTime Returns or modifies the different times associated with a file (creation,
modification or access).
ceListFile Lists the files found in a directory (and in its sub-directories) and returns the
number of listed files.
ceMachineName Returns the name of Windows Mobile device.

ceMakeDir Creates a directory on the Windows Mobile device connected to the current
computer.

ceOEMInfo Returns OEM information about the Windows Mobile device: make, model,
serial number, ...

cePlatform Returns the name of platform on the Windows Mobile device.

104 Part 8: Specific features of Windows Mobile Part 8: Specific features of Windows Mobile 105
cePowerStatus Used to get information about the main or secondary battery of Windows
Mobile device.
Synchronization software:
ceProcessorType Returns the type of processor on the Windows Mobile device connected to
ActiveSync, ...
the current computer.
Several programs can be used to synchronize data (WINDEV application, email, calendar,
ceRegistryCreateKey Creates a key in the device registry. contacts, tasks, notes, ...) between a PC and a Mobile Device (Pocket PC):
ceRegistryDeleteKey Deletes a sub-key from the device registry.
• ActiveSync, for versions up to Windows XP.
ceRegistryDeleteValue Deletes a value from the device registry. In most cases, ActiveSync is supplied with the Mobile Device (Pocket PC) but it can
also be downloaded from InternetActiveSync is automatically started on PC when
ceRegistryExist Checks the existence of a key in the device registry. connecting the Mobile Device to PC. The data to synchronize is configured in
ceRegistryFirstSubKey Identifies the key found after the specified key in the registry of the Windows
ActiveSync ("Options" icon).
Mobile device.
ceRegistryListValue Returns the name (and possibly the type) of the values for a registry key of
the Windows Mobile device.

ceRegistryNextKey Identifies the key found after the specified key in the device registry.

ceRegistryQueryValue Reads the value of a register in the device registry.

ceRegistrySetValue Writes a value into a register of device registry.

ceRegistrySubKey Identifies the path of the specified Nth sub-key in the registry of the Windows
Mobile device.
ceRemoveDir Deletes a directory from the Windows Mobile device connected to the
current computer.
ceRunExe Starts the execution of a program (an executable for example) from the
• the "Manager for Windows Mobile devices", available from Windows Vista. This
current application.
manager is automatically started when connecting the Mobile Device to PC.
ceSysDir Returns the path of a system directory on the Windows Mobile device
connected to the current computer.
ceWindowsVersion Returns information about the Windows version used on the Windows
Mobile device connected to the current computer.
ceWinEnum Used to enumerate the Windows windows currently opened on the Windows
Mobile device.
ceWinTitle Returns the title of the specified Windows window.

ceXRes Returns the horizontal resolution of the screen on the Windows Mobile
device connected to the current computer.
ceYRes Returns the vertical resolution of the screen on the Windows Mobile device
connected to the current computer.

Note: these functions are WINDEV functions and not WINDEV Mobile functions.

106 Part 8: Specific features of Windows Mobile Part 8: Specific features of Windows Mobile 107
Managing emails (CEMAPI) Using a specific user account
To use another user account, you must define one.
CEMAPI is an API for email management used by most of the applications for Mobile If the Mobile Device (Pocket PC) has no direct link to Internet, a synchronization with the
Device (Pocket PC) to send and receive emails (Pocket Outlook in most cases). PC is required to send and receive the emails.
CEMAPI simplifies the management of emails received by the hosting company. When an
email is read, it is automatically loaded in the local message box and deleted from the
server (at the hosting company). Mobile Device PC
All the characteristics required to manage the emails (POP3 protocol, SMTP protocol,
remote access, etc.) are grouped in the "User Profile".
Connection: USB, Wi-Fi, Bluetooth...
With the email functions of WLanguage, a WINDEV application can directly handle the Pocket
emails managed in an application that is using "CEMAPI". Outlook Retrieving
and sending emails
Other
Accounts

Using the "ActiveSync" user account Connection:


Internet
A user account defined in Pocket Outlook is required to manage emails via CEMAPI. By
default, Pocket Outlook manages the "ActiveSync" user account.

Mobile Device PC Retrieving and


sending emails

Connection: USB, Wi-Fi, Bluetooth...


Pocket
Outlook Synchronization via ActiveSync Outlook
ActivSync
account
Email server
(Hosting company)
Connection:
Internet

If the Pocket PC has a direct access to Internet (by Wi-Fi, ...), no synchronization with a PC
is required.

Retrieving and
sending emails

Email server
(Hosting company)

108 Part 8: Specific features of Windows Mobile Part 8: Specific features of Windows Mobile 109
Tools supplied with WINDEV Mobile PART 9
Specific tools are available for handling a Mobile Device (Pocket PC) from a PC:
WDExplorer
Tool used to view the files and directories found on a Mobile Device (Pocket PC), un
Smartphone, ...

Appendices

WDRegistry
Tool used to view the registry of a Mobile Device (Pocket PC), Smartphone, ...

110 Part 8: Specific features of Windows Mobile


Component supplied with WINDEV Mobile
The examples of components supplied with WINDEV Mobile are divided into 2 categories:
• components that can be used from a WINDEV Mobile application.
These components are found in the "Components\Example components\Mobile"
sub-directory of setup directory of WINDEV Mobile.

Component name Description


Pocket Datalogic Used to access all the features of Pocket PC Datalogic.

Pocket Falcon Used to access all the features of Pocket PC Falcon.


Pocket GPS Used to interrogate a GPS to retrieve a longitude, a latitude, a speed,
an altitude.
Pocket Intermec Used to manage an Intermec device. Used to emulate the scanner and
the imager (device for image acquisition) of the device.
Pocket Limitation This example explains how to implement a limitation system as well as
a system for enabling the software on Mobile Device (Pocket PC).
Pocket Login Management Manages the identification of users in an application from a login and
a password.

Pocket Motorola Allows you to manage the use of a Motorola device.


Pocket Opticon Allows you to manage the use of an Opticon device.
Pocket PAXAR Allows you to use the features of bar code reader and printers of PAXAR
industrial terminals.
Pocket Pidion Used to manage a Pidion device.
Pocket Signature Used to easily include a ready-to-use “Signature” control.

• components that can be used from a WINDEV application that handles the files
found on Mobile Device (Pocket PC).
These components are found in the "Components\Example components\Windows"
sub-directory of setup directory of WINDEV Mobile.

Component name Description


PC Pocket Picker Directory picker and file picker found on a Mobile Device (Pocket PC)
from a WINDEV application.

Additional components can be downloaded from our site (www.windev.com).

112 Part 9: Appendices Part 9: Appendices 113


Examples supplied with WINDEV Mobile Multi-platform examples (Android and iOS)
Android Push This example explains how to receive Push notifications on Android.
The examples supplied with WINDEV Mobile are intended to help you learn the features
of WINDEV Mobile. Their source code is presented in details. iOS Push This example explains how to receive Push notifications on iOS.
These examples are found in the "Examples" sub-directory of the setup directory of WM Bluetooth 4 This example explains how to use the Bluetooth Low Energy functions
WINDEV Mobile and they can be opened from the home window of WINDEV Mobile. (Bluetooth LE): BTLExxx.
It is an application allowing you to find the nearby BTLE devices, to connect
Features of some examples supplied with WINDEV Mobile. to them and to interact with the proposed services.

WM Chart This example presents different ways to use a chart control.


Examples that can be used in Android only
WM Click on chart This example is used to offset the sections of a Pie chart via a simple click.
Android Chromebook This example shows the compatibility of WINDEV Mobile applications for
Android with Chromebooks. WM CRM This example is a CRM application.

Android Explorer This example is used to list the files and directories found on an Android WM Expense account This example is used to enter your expense reports and to take a snapshot
device. in order to follow up.

Android GPS This example presents the use of the GPS functions of WLanguage in an WM Food The WM Food example explains how to interact with the OpenFoodFacts
Android application. database from a WINDEV Mobile application via the webservice proposed
by this database.
Android Inventory This application is used to draw up inventories and to save the results in a
database. WM FTP Client This example is an FTP Client.

WM Gallery Control This example shows how to use the “Image Gallery” control.
Android Persistent This example is used to create persistent notifications that appear even if the
Notifications application is not used anymore.
WM Geo-localization This example explains how to manage proximity searches with geolocation:
Android Speech This educational example shows how to manage voice recognition and • search around me.
Synthesis synthesis on Android. • search in a city, at a given address, near an address.
The speech synthesis is performed by using either the WLanguage functions, The results are displayed in a looper and in a map with markers.
or an external JAR file included in the WINDEV Mobile project.
WM HTML Dialog This example explains how to dialog with an HTML control.
Android System This application is an educational example presenting some functions specific It is using the WLanguage “ExecuteJS” function and the Javascript “WL.
to Android. Execute” function.
Android ZIP This example is used to browse the folders of the Android device to find ZIP
archives. WM Managing Contacts This example presents the management of contacts for Android and iOS.

WM Managing orders This example is a simplified management of orders and invoices.


Examples that can be used on iPhone/iPad only
WM Notes This example is using the drawing functions of WLanguage for Android and
iOS Loan This example is used to simulate loans.
iOS. It allows you to draw graphic “notes” and save them.
iOS System This application is an example explaining how to use the following features: WM Password Web sites, bank accounts, ... our life is filled with passwords. With WM
Playing videos, Trace in the logs, Slider, Popup control, Hourglass, ... Password, no need to store all the passwords of your different accounts.
iOS Watch This example explains how to establish a dialog between an Apple Watch
WM Photos This example is used to take photos and to save them with a title and
application and an iPhone application.
keywords. A search can also be performed.
The photos are stored in the application directory therefore they are private
(not visible by other applications).

114 Part 9: Appendices Part 9: Appendices 115


WM Poker This example is a game of poker for Android, iOS and Universal Windows 10 Pocket Explorer This example is a file explorer for Windows CE. You have the ability to list
App smartphones. the files and directories found on a Mobile Device (Pocket PC).
WM Poll This examples is used to manage and view polls. Pocket FTPClient This example is used to view the content of an FTP server. It can also be
used to download, rename or delete files.
WM Quizz This application allows you to check your knowledge and competence on
WEBDEV. Pocket Images This example is used to browse a specific directory to find images.
This project explains how to generate an application for different platforms
from the same code. Pocket Inventory This example is used to draw up inventories and to save the results in a
This example contains an Android and iOS configuration. HFSQL database.

WM Registered This application is an attendance manager. It is used to identify the people Pocket Loan This example is used to simulate loans and to view the corresponding
attending a meeting. amortization tables.

WM RSS Reader This example is a reader of RSS stream for the Android and iOS devices. This Pocket Managing Contacts This example presents the management of contacts on Mobile Device
application will allows you to follow the news of your favorite streams. (Pocket PC) and it is using the loopers, the queries, the sending of SMSs
and emails, the phone call.
WM Shopping This option is used to manage several shopping lists. Pocket Map This example is a light version of WDMap. This example is used to view
WM Sports This example is a sport application used to save your performances. and modify the data files in HFSQL Mobile format on a Mobile Device
(Pocket PC) directly.
WM Stocks This application is used to draw up inventories and to save the results in a
database. Pocket Notes This example is used to draw graphic “notes” and save them. You have the
ability to enter keywords to identify your notes.
WM Tic Tac Toe This example presents the famous “Tic Tac Toe”.
Pocket Telephony This example is a telephony application that can be used on a Mobile
Device (Pocket PC) equipped with phone access (GSM type).
WM ToDo List This example is a manager of To-Do Lists.
Pocket Virtual Keyboard This example proposes virtual keyboards that can be fully customized and
certainly smaller than the standard keyboard of Mobile Devices (Pockets
Examples that can be used in UWP only PC).
UWA Notes Application for managing notes. Pocket ZIP This example is used to create and handle archives (“.ZIP” files).
UWA Orders This training example presents, via a management of orders, the proper use of
GUI when developing Universal Windows Platform Apps applications. Examples containing a project that can be used on Mobile Device (Pocket
UWA Password Application for managing passwords. PC) and that interacts with a project that can be used on PC
UWA Stopwatch This example explains how to create a stopwatch. • Beach Booking. These examples are used to manage the
• “Pocket Beach” project that can be used on bookings for private beaches.
You have the ability to synchronize the data
Examples that can be used on a Mobile Device (Pocket PC) only Mobile Device (Pocket PC).
typed in the two projects.
• “PC Beach” project that can be used on PC.
Pocket _NET This example uses a Mobile .NET assembly (OpenNETCF.Net) in order to
retrieve the list of WIFI network cards available on a PDA and to retrieve • Expense Reports. These examples are used to manage the
connection information about these cards. expense reports.
• “Pocket ExpenseReports” project that can be
used on Mobile Device (Pocket PC). You have the ability to synchronize the data
Pocket Attendance This application is an attendance manager. It is used to identify the people
typed in the two projects.
attending a meeting. • “PC ExpenseReports” project that can be
Pocket Click on Chart This example proposes a solution used to offset the sections of a Pie chart used on PC.
via a simple click.

116 Part 9: Appendices Part 9: Appendices 117


• Managing the purchase lists. These examples are used to manage a list of
• “Pocket Managing lists of purchases” project stores, departments, products and purchases.
that can be used on Mobile Device (Pocket You have the ability to synchronize the data
typed in the two projects.
PC).
• “PC Managing lists of purchases” project that
can be used on PC.

• Network tasks. The ‘PC Network tasks’ application is used to


• “Pocket Network tasks” project that can be create a task list (with management of priorities,
deadline, automatic reminder, ...).
used on Mobile Device (Pocket PC).
The “Pocket Network Tasks” application is used
• “PC Network tasks” project that can be used to access this task list to specify that a task is in
on PC. progress or completed.

• Poll. These examples are used to perform polls.


• “Pocket Poll” project that can be used on You have the ability to synchronize the data
Mobile Device (Pocket PC). typed in the two projects.

• “PC Poll” project that can be used on PC.

• Sending SMS. These examples are used to send SMSs.


• “Pocket Sending SMSs” project that can be
used on Mobile Device (Pocket PC).
• “PC Sending SMSs” project that can be used
on PC.

• Stocks. These examples are used to manage the stocks.


• “Pocket Stocks” project that can be used on You have the ability to synchronize the data
Mobile Device (Pocket PC). typed in the two projects.

• “PC stocks” that can be used on PC.

Examples that can be used on PC only


PC CDB Browser This example is used to access the standard databases (.cdb) found on
Mobile Device (Pocket PC).

PC Explorer This example is used to view the files and directories found on Mobile Device
(Pocket PC).

PC Photo Album This example is used to import and/or export the photos found on a Mobile
Device (Pocket PC) from a PC.

PC Registry This example is used to handle the registry of a Mobile Device (Pocket PC)
from a PC.

Additional examples can be downloaded from our site (www.windev.com).

118 Part 9: Appendices

You might also like