WINDEV Mobile - Concepts
Version 21 - (1) 04-2016
Remember to visit the download section of www.windev.com on a regular basis to
check whether upgraded versions are available.
Email address of our Free Technical Support: freetechnicalsupport@windev.com.
This documentation is not contractually binding. Modifications may have been made
to the software since this guide was published. See the online help.
All product names or other trademarks mentioned in this publication are registered trademarks of their
respective owners.
PC SOFT 2016: This publication may not be reproduced in part or in whole in any form without the express
permission of PC SOFT.
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:
Reading the "Concepts".
This guide presents the main concepts required for creating a WINDEV Mobile
application.
"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.
Test of examples
Run the test of the examples supplied with WINDEV Mobile in the fields you are
interested in.
The online help, accessible by Internet from http://doc.windev.com or installed with
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.
Note: If you notice a difference between the guides and the online help, follow the
instructions given in the online help.
We hope you enjoy getting started with WINDEV Mobile.
Introduction 3
Summary
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, 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 the requirements................................................................................................39
Managing the tasks.............................................................................................................40
Managing the business rules.............................................................................................. 41
Part 3 - Databases
Analysis: Structure of the database...................................................................................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 files physically created..............................................................52
Associating controls with data............................................................................................53
The queries...........................................................................................................................55
The embedded queries........................................................................................................56
Summary 5
The Table/Looper controls.................................................................................................. 57
Synchronizing data..............................................................................................................59
3-tier...................................................................................................................................... 61
Part 4 - Advanced concepts
Windows generated by RAD................................................................................................65
Multilingual application.......................................................................................................66
Test of a WINDEV Mobile application.................................................................................67
Debug modes.......................................................................................................................68
Unit tests...............................................................................................................................69
Part 5 - Interactions between WINDEV and WINDEV Mobile
WLanguage functions..........................................................................................................73
Handling the 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 the 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
Summary
Part 1
Basic concepts
Part 1: Basic concepts
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
sheet
Windows
and controls
Analysis
Project 2
Classes
Style
sheet
Project N
Windows
and controls
Classes
Style
sheet
Windows
and controls
Part 1: Basic concepts 9
Development cycle of an application
WINDEV Mobile covers the entire development cycle of an application:
Conception
Development
Specifications
Creating the project
UML modeling
Creating the analysis
Importing
existing files
Development
- Project RAD
- Window RAD
- Queries
- Reports
- Input of source code
Details of different steps:
Conception step: You have the ability to design an application from requirements, from a
UML model of the processes or even from existing data files.
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)
with automatic generation of the code and GUI or it can result from the manual creation
of project elements.
10
Part 1: Basic concepts
Test and
generation
Deployment
Testing and
debugging
the application
Generating the setup
program
Generating the
application :
Final test
- Android
First setup:
- Windows Mobile
- iOS
- Universal Windows
10 App
on the device, by HTTP,
via Google Play Store,
via MarketPlace, ...
Updating the application
Synchronizing the
data deployed
Test and generation step: WINDEV Mobile offers several tools for running automatic tests
in order to guarantee the reliability of applications and to make sure that no regression
occurs between the development steps.
Deployment step: A WINDEV Mobile application can be deployed according to several
methods: on the Mobile directly, by download, via Play Store, MarketPlace, App Store
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.
Part 1: Basic concepts 11
WINDEV Mobile: Android, iOS, UWP, ...
The applications developed with WINDEV Mobile can operate on the following platforms:
Windows Mobile 2003/2003 SE (VGA) and Windows CE 4.0 for Pocket PC and for
Smartphone.
Windows Mobile 5.0 for Pocket PC and for Smartphone.
Windows Mobile 6.0 to 6.5 for Pocket PC and for Smartphone.
Universal Windows Platform apps.
Android version 4 and later.
iOS version 6 and later.
The following processors are supported for the WINDEV Mobile platforms:
ARM and compatible (Strong ARM, XScale, Samsung, Texas Instrument,...).
ARM v4T and compatible (XScale, ...).
12
Part 1: Basic concepts
The Android, iOS and Mobile windows
The windows are the foundation of the GUI (Graphical User Interface) of an application.
WINDEV Mobile includes an advanced window editor allowing you to easily and quickly
create all possible types of GUI, for all types of platforms.
Several features allow you to easily get intuitive and user-friendly applications among
which:
powerful controls.
an anchoring mechanism allowing the GUI to automatically adapt to the size of the
display. This mechanism is useful when developing mobile applications because it is
used to adapt to the different resolutions of the devices.
a GUI compilation system with detection of errors (empty titles, untranslated
captions, overlap, etc.).
Part 1: Basic concepts 13
Android, iOS windows,...: Characteristics
WINDEV Mobile gives you the ability to configure the characteristics of windows. The
available characteristics depend on the platform used. Some examples:
iPhone/iPad
Android
Windows Mobile
Managing the display resolution
The windows created with WINDEV Mobile for the Android applications
automatically adapt to the screen resolution of the devices at run time.
14
Part 1: Basic concepts
The layouts
The anchors are used to easily manage the change of orientation for a Mobile application or
the transfer of an application from a phone to a tablet.
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, ...
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
layouts in order to get the requested interface.
At run time, the initial layout is automatically chosen according to the platform, the
orientation and the size of the screen. The layout is automatically modified when the
device switches from portrait mode to landscape mode for example.
Part 1: Basic concepts 15
Available controls in a window
Several controls are available in WINDEV Mobile:
You want to...
Use a control of the
following type
Display a text, a title, ...
Static
Enter information
Edit
Select a value from a list (country, city, currency,...)
Radio button,
Combo box,
List box
Select several values from a list
Check box,
List box
Select one or more values from a listview (picture directory, ...)
ListView
Display a graphic image (photo, statistics, chart, ...)
Image
16
Part 1: Basic concepts
Display a video, an animation
Multimedia
Image
Enter a date in a calendar
Calendar
Display the content of a file in a table (list of customers, order
details, ...)
Memory table
or browsing
table
Repeat controls in a window (product catalog with photo, ...)
Looper
Part 1: Basic concepts 17
Display a column chart, a line chart, a pie chart
Chart
Display a progress
Progress bar
Program an action in a window (display another window, start a
print, ...)
Button
Group the controls by theme and display the themes one by one
Tab,
Sidebar
18
Part 1: Basic concepts
Menus of applications
Android/iOS
In Android and iOS, the menus are
displayed in the Action Bar.
Different buttons correspond to the
available actions.
The menus can also be presented in a
sliding window.
Windows Mobile
The menus are displayed at the bottom
of the window.
The menu options can easily be
selected with the stylus of the device or
with a finger.
To create the main menu, on the
"Windows" pane, in the "Bars and
menus" group, expand "Main menu"
and select "Add the main menu".
Part 1: Basic concepts 19
Internal window
The Internal Window control is used to include a window (and its code) in another window.
At run time, the window to merge will be dynamically merged to the host window.
1. Creating an internal window
An internal window can be created via
found among the quick access buttons. In
the wheel that is displayed, hover "Window"
and click "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.
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:
The internal window used in the "Internal window" control can be modified by
programming.
Limitations: The home area is a rectangular area and no overload is allowed. To
perform overloads, we recommend that you use the control templates.
20
Part 1: Basic concepts
Window templates
WINDEV Mobile allows you to create window templates. These templates contain all the
graphic elements common to all the windows of your application.
The modifications performed in a window template are automatically applied to all the
windows that use this template.
A window template allows you to comply with the style book defined for an application.
Defining a window template.
The template is bordered by an
orange line in the editor.
Using the template in several windows.
The elements belonging to the template are identified by a yellow square.
A window template can be created:
via
found among the quick access buttons. In the wheel that is displayed, hover
"Window" and click "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 the elements can be dissociated from the template. For example,
dissociating the position of a 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.
Part 1: Basic concepts 21
Control templates
WINDEV Mobile allows you to create control templates. A control template is a set of
controls that can be re-used in several windows.
The modifications performed in a control template are automatically applied to all the
windows that use this template.
A control template is used to:
group a set of controls for a specific purpose.
make the controls independent of the window that hosts them.
Defining a control template.
The template is bordered by an orange line in the editor.
Using the template in a window.
The elements belonging to the template are bordered in blue
and they are identified by a yellow square.
A control template can be created:
via
found among the quick access buttons. In the wheel that is displayed, hover
"Window" and click "Control template".
from the controls found in the window (select the controls then select "Refactoring ..
Create a control template from the selection" from the popup menu).
To create a window based on a control template, create a "Control template" control.
The characteristics of the elements can be dissociated from the template. For example,
dissociating the position of a 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
Reports
WINDEV Mobile allows you to easily create and print all types of reports
with the report editor.
In Windows Mobile, the generated reports can be printed in PCL format
(".PCL" file or print on a PCL printer).
In the iOS applications, the generated reports can be printed in PDF
format.
A report can be used to summarize and synthesize the data.
You can:
group the data.
sort the 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).
the report groups, sorts and formats the data.
the report execution can be performed on a PCL printer or in a PCL file.
Print
mode
Source of
report
PCL file
(Windows Mobile)
Table control
Query
Text file
Report
(Report editor)
Printer
(PCL format,
Windows Mobile)
PDF file
(iPhone, iPad, ...)
Data
WLanguage variable
Other print modes
WINDEV Mobile also gives you the ability to print in WLanguage (iXXX functions).
Part 1: Basic concepts 23
Report templates
Most of the time, the prints use 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.
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 wheel that is displayed, hover
"Report" and click "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 the elements can be dissociated from the template. For example,
dissociating the position of a 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
Part 2
Development
environment
26
Part 2: Development environment
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 different audits,
list of elements checked out from the 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 belonging to the same user.
Part 2: Development environment 27
WINDEV, WEBDEV, WINDEV Mobile: a
100% compatible format
The created projects are often multi-target projects.
For example, for an ERP system intended to operate in Windows, it is very likely that
beside the main application, which will be the backbone of the solution, there will be
sales people equipped with PDAs or Smartphones, stores that will use mobile devices to
manage inventories and that Intranet and Internet sites will be implemented.
All the elements, excluding 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
for example.
Regardless of the product used to create a project, it can be opened by the other products.
When a project is opened in a product other than
the one where it was created, 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
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
example. Clicking a WEBDEV page from the
WINDEV project editor opens the WEBDEV page
(WEBDEV must be installed on the computer).
28
Part 2: Development environment
Project configuration
The project configurations are used to create several "targets" from the same project.
From the same project, you have the ability to create:
executables that do not contain the same elements, with different names, ...
different external or internal components,
multi-platform executables.
You have the ability to work on a specific configuration at any time: the elements that do
not belong to this configuration are grayed in the project graph.
Mobile project
Project configurations
Config 1.
Mobile
executable
Config 2.
Library
Config 3.
Component
...
The multiple generation allows you to generate all the project configurations (or some of
them) in a single operation.
Part 2: Development environment 29
Multiple generation
The project configurations are used to easily define the different "Targets" of your project.
Several executables, several components and several libraries can be defined for the
same project.
To generate the result of each configuration, you can select each configuration one by
one and generate the corresponding program.
Another faster method is available: the multiple generation. The configurations to
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".
30
Part 2: Development environment
Custom-folders: Organize your project
All the elements included in a project are listed in the "Project explorer" pane. By default,
the elements are organized according to their type: windows, reports, classes...
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 do so, create the "custom-folders" in the tree structure of the project explorer and drag
the different elements into these folders.
Some elements can be common to several "custom-folders".
It makes it easier to work on part of the application.
Content of
Customer
custom-folder
Windows, reports, queries
specific to the management of
customers
Content of
Orders
custom-folder
Windows, reports, queries
specific to the
management of orders
Notes:
To organize your projects while sharing a set of elements between different projects,
WINDEV Mobile also proposes the internal components.
The "custom-folders" are displayed in the project explorer and in the project graph.
Part 2: Development environment 31
Source Code Manager (SCM)
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.
Network
(intranet)
ADSL
(internet)
Offline
SCM
A database groups the project elements, each computer
has a local copy of the elements required for the development
The elements found in the SCM can be shared:
via a network,
via Internet,
via the Cloud,
in offline mode. In this case, the elements that require specific attention will be
checked out from SCM when the laptop is connected to the main system for
example.
32
Part 2: Development environment
Operating mode of Source Code Manager
The following example presents the Source Code Manager:
Local Computer 1
Check-out 9:57
Project A
Version 1
Project A
Version 1
Modification
Project A
Version 2
Check-in 10:41
Local Computer 2
Check-out 14:28
Project A
Version 2
Project A
Version 2
Project A
Version 3
SCM database
Mobile Computer
Check out Beta window from
Project A Version 1 at 9:13
Mobile Computer
Check-out 9:57
Project A
Version 1
Local Computer 2
Check out Alpha window from
Project A Version 2 at 14:28
Modification
for end users
Project A
Version 3
Local Computer 1
Check out Alpha window from
Project A Version 1 at 9:57
Check in modified Alpha window
into Project A Version 2 at 10:41
Check-in 18:32
Mobile Computer
Check in modified Beta window
into Project A Version 3 at 18:32
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.
Part 2: Development environment 33
Internal component
An internal component is a grouping of project elements. This grouping is used to:
Organize a project: you have the ability to create internal components in order to
group the project elements (by feature for example).
Share the elements between several projects, via the SCM.
SCM
Project 1
Creating the
internal component
Windows
Classes
Project 2
Sharing the
internal component
via the SCM
Queries
Sub-directory of
<MyComponent>
project
WCI file
(List of elements)
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
External component
An external component is a set of WINDEV Mobile elements: windows, reports, analysis,
... This set of elements performs a specific feature. For example, an external component
can correspond to one of the following features:
Sending SMSs,
Sending emails,
...
An external WINDEV Mobile component can be distributed to other WINDEV Mobile
developers (for free 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.
WINDEV Mobile
project
Developing the
component
Generating the
component
.WDK file
Created in the EXE directory
3
WINDEV Mobile
project
Using the
component
Importing the
component
WINDEV Mobile
project
Using the
component
WINDEV Mobile
project
Using the
component
Part 2: Development environment 35
Generation modes
WINDEV Mobile allows you to generate several other types of projects.
Windows Mobile applications
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 can be run on smartphones, tablets,
ultra-portable, using this operating system (from version 1.5). 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. 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
External components
The external components are application bricks allowing you to
share one or more specific features between several applications.
A component generated by WINDEV can also be used in a WEBDEV
or WINDEV Mobile project.
Part 2: Development environment 37
Project Monitoring Center
To optimize the management of your development projects, WINDEV Mobile gives you the
ability to use Project Monitoring Center. The Project Monitoring Center is used to:
Manage the requirements of a project,
Manage the monitoring of a project (schedule of tasks to perform),
Manage the bugs and evolutions signaled on a project.
The Project Monitoring Center is using a HFSQL Classic or Client/Server database: the
database of Control Centers. This database is shared between several tools available in
WINDEV Mobile:
- Tasks
- Requirements
- Quality
Project
Monitoring Center
Database of
Control Centers
Business Rules
Stand-alone
messaging (WDBAL)
Automatic tests
Login window
of WINDEV Mobile
Image catalog
(custom images)
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
directory.
share an existing database of Control Centers.
38
Part 2: Development environment
Managing the requirements
The Project Monitoring Center allows the project manager to manage a development
project. To do so, you must:
define the different project contributors.
define the requirements (with the different elements associated with them).
Each developer performs the different tasks assigned to him.
The project manager can follow the progress status of the project at any time.
Project Manager
Creating requirements
made of:
Tasks
Developer
Performing the
requirements:
Project Monitoring
Center
Incidents
Business Rules
Pane of
Business Rules
Monitoring requirements (Project Monitoring Center):
Managing the
requirements
Part 2: Development environment 39
Managing the tasks
The Project Monitoring Center allows the project contributors to manage their task
schedule. These tasks can be linked to requirements and they can correspond to several
projects
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
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
Managing the business rules
WINDEV Mobile allows to manage the business rules. A business rule is used to define a
specific operating mode or to specify a particular process. For example: the calculation
of a specific VAT rate, the rules for changing the status of a customer, 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
Using the application
Part 2: Development environment 41
42
Part 2: Development environment
Part 3
Databases
44
Part 3: Databases
Analysis: Structure of the database
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 the
data (files, items, ...) used in your project.
The data model editor allows you to easily create an analysis.
Supplier
Full name, ...
Product
Description, Price, ...
Order
Date, ...
Customer
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, ...).
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
application
The data handled by a WINDEV Mobile application can come from:
a HFSQL Classic or HFSQL Client/Server database (".Fic" files).
a third-party AS/400 database (Windows Mobile only).
a CEDB database (".cdb" files) (Windows Mobile only).
".INI" files.
text files (in ANSI or UNICODE format).
the registry (Windows Mobile only).
Mobile device
HFSQL
Classic
HFSQL
Client/
Server
AS/400
Databases
48
Part 3: Databases
Tasks
Notes
Contacts...
.cdb
.INI
ASCII
UNICODE
Text files
Registry
HFSQL Classic
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
and WEBDEV.
It is a freely distributable Relational DBMS.
This format can be used on the following platforms: Windows Mobile, iPhone, iPad,
Android and Universal Windows 10 App.
This format is identical to the HFSQL Classic format of WINDEV and WEBDEV (".WDD" file,
data files, ...).
However, the available size being limited on the mobile devices, the following features
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
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 by the HFSQL functions (Hxxx functions).
Mobile device
Database
Hxxx
functions,
(read, write...)
Part 3: Databases 49
HFSQL Client/Server
A WINDEV Mobile HFSQL application can also operate in Client/Server mode.
The characteristics of the Client/Server mode are as follows:
A HFSQL Client/Server application is run on different mobile devices (called client
computers).
The data files are found on a server. Only the server physically accesses the data
files.
All the processes (query, read/write operation in a data file, ...) are performed on the
server.
Mobile Device 1
Windows or Linux
HFSQL server
Mobile Device 2
Manta server
Mobile Device N
HFSQL
Client/Server
databases
HFSQL Client/Server can be used on the Windows Mobile, iPhone, iPad and Android
platforms.
50
Part 3: Databases
HFSQL Cluster
HFSQL Cluster is an extension of the database model of HFSQL Client/Server. In a
database cluster, all the HFSQL servers contain a copy of the databases and they are
synchronized in real time.
The read load can be balanced among the different servers.
The physical configuration can evolve without any interruption for the client
computers.
If one of the servers crashes, the client is automatically redirected to an operating
server.
Client computer
Access to data
Cluster
HFSQL Client/Server
server
HFSQL Client/Server
server
Applying modifications
HFSQL Client/Server
server
HFSQL Client/Server
server
HFSQL Cluster can be used from the Windows Mobile, iPhone, iPad and Android platforms.
Part 3: Databases 51
Creating HFSQL files:
the files physically created
The data model editor is used to describe the structure of data files.
Depending on the information entered in the data model editor, different files are
physically created.
Characteristics
of the file (Analysis)
HFSQL Classic or Client/Server file
One or more search keys
(unique or with duplicates)
52
Files physically
created
".fic" file
Data file
".ndx" file
Index file
One or more full-text indexes
".ftx" file
Full-text index file
One or more "Memo" items
".mmo" file
Memo file
Part 3: Databases
Associating controls with data
A window can display information coming from:
a database: the controls are directly linked to the items found in the data files or
queries available in the database.
variables found in the code of the application (variables global to the window or to
the project or parameters passed to the window).
To display this information in a window, the controls of this window must be linked to:
the different items of the database.
the available WLanguage variables.
The method for displaying and retrieving the information is straightforward:
The link between a control and an item or between a control and a variable is
defined in the window editor when describing the control ("Link" tab).
ScreenToFile is used to update the record or the variable with the data displayed on
the screen.
FileToScreen is used to update the data displayed on the screen with the
information saved in the data file or with the information saved in the variable.
Link between control and item
ScreenToFile
FileToScreen
Database
Part 3: Databases 53
Link between control and variable
ScreenToFile
FileToScreen
Linked variable
Simple control
Link with:
- Simple variable
- Instance of class or
structure member
- Property of dynamic object
List box, Table, Combo box, ...
Link with:
- Array of classes or structures
- Advanced types (for example
xlsRow, xlsColumn)
Note: The concept of control/variable link is not available for the Android
applications.
54
Part 3: Databases
The queries
A query is used to interrogate a database in order to view, insert, modify or delete data.
The structure of the query defines the data used.
A query can interrogate one or more data files.
The query editor allows you to easily create queries without programming.
Sources
Data coming from
one or more files
(HFSQL, Oracle, ...)
Possible uses
Windows and controls
of a window
The result of a
query can be used
like a file
Reports
Programming
(use in the WLanguage
functions)
Queries
Note: In programming, 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.
Part 3: Databases 55
The embedded queries
The controls found in a window can be linked to a data file or to an existing query, ...
These controls can also be linked to a query created when building the control.
Embedded query:
MyWindow_1$Query
Embedded query:
MyWindow_2$Query
In this case, the query is included in the window. It is found in the WPW file corresponding
to the window. If the WPW file is copied (into another project for example), the embedded
queries used by this window will also be copied.
56
Part 3: Databases
The Table/Looper controls
The Table/Looper controls can be used to display a set of information (the content of a
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 the data coming
from a data file, a query or an array variable. Browsing the data file allows you to display
the data in the Table control. The data file is read for each row displayed: the record read
is displayed in a row of the Table control.
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
A memory Table control is used to directly display the data loaded in memory. The data is
added into the Table control by programming (by TableAddLine for example).
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, ...).
Part 3: Databases 57
Browsing Table control loaded in memory
The browsing Table controls loaded in memory combine the benefits of browsing Table
controls with the benefits of memory Table controls.
The Table control is linked to the data file but the content of the data file is entirely loaded
in memory. The sort and the search are available for all the columns.
The data that is not linked to the data file is kept when handling the scrollbar of the Table
control (Check Box column for example).
The records found in the data file being loaded in memory, this type of Table control is
recommended for the data files containing less than 100 000 records (to avoid memory
overflow).
Customer
file
File loaded
in memory
Notes:
These different fill modes are also available for the List Box and Combo Box controls.
The Table control is not available in the Universal Windows 10 apps
applications. Only the Looper control can be used.
58
Part 3: Databases
Synchronizing data
WINDEV Mobile allows you to synchronize the records used by several applications.
The two applications manage the same data independently of each other. During the
synchronization, the modifications performed in the database used by the PC are
automatically applied to the mobile device (and conversely).
This synchronization is automatically performed by:
ActiveSync when the Mobile Device (Pocket PC) is connected to the Windows PC
(Windows Mobile only). From Windows Vista, "ActiveSync" was replaced by the
"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
application and a WINDEV Mobile application
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 in a set of procedures called "WDSynchro.
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
File 1
File 1
File 3
File 2
File 2
Part 3: Databases 59
Universal replication
The universal replication is used to update databases (with the same or different formats)
used by several applications. You can for example perform a synchronization between a
HFSQL Mobile database and an Oracle Lite database.
The universal replication is using a centralized model: all the databases are synchronized
with a master database. Then, the master database applies the modifications to the
other databases.
Universal
replication
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.
60
Part 3: Databases
3-tier
The purpose of 3-tier programming is to separate the "3 standard layers" of an application:
GUI, process and data.
Therefore, an application will include 3 separate tiers:
a presentation layer,
an application layer,
a layer for accessing the data.
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
Webservices
WEBDEV application
server
Presentation layer
Components
Application layer
HFSQL
Classic, Client/Server
External databases
Oracle, AS/400, SQL Server...
Data layer
Part 3: Databases 61
62
Part 3: Databases
Part 4
Advanced
concepts
64
Part 4: Advanced concepts
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).
Part 4: Advanced concepts 65
Multilingual application
A multilingual application is an application that can be distributed in several languages.
WINDEV Mobile takes into account the different languages of the application during the
entire development of an application.
The main steps for developing a multilingual application are as follows:
Choose the languages
Translate the project elements
- Project
- Analysis
- Direct translation
- Translation via WDMSG, WDINT,
WDTRAD, ...
66
Programming
Data files
- Choose the application language
(Nation function)
- Choose the character set
(ChangeCharset function)
- Choose the keyboard language
(ChangeKeyboard function)
- Choose the character set
(ChangeCharset function)
- Take the character set into account when
creating the files (HCreation* function)
- Take the character set into account when
reindexing (HIndex function)
Executable
Setup program
Part 4: Advanced concepts
Choose the library languages
- Available languages
- Translate the setup program
Test of a WINDEV Mobile application
The test of the entire project is used to simulate the start of the application by the
executable. This allows you to run the test of the entire application, even if its development
is not finished yet.
Several types of project tests are available in WINDEV Mobile:
Test on the development computer. This test simulates a mobile device on
the development computer. No connection to a device is required during
this test. This test allows you to use the debugger. However, this test being
run on a PC and not on the real mobile device, some differences regarding
the application behavior may be noticed.
Direct test on the mobile device connected to the development computer.
In this case, the executable corresponding to the project is created, copied
onto the Mobile Device (Pocket PC or Android device) and run. When running the program on the Mobile Device, the Mobile Device can be disconnected from the PC. The debugger is not available.
Test on the Android emulator. The Android SDK is supplied with an emulator of Android device. The test of the application can be run in the emulator.
This option does not require a real Android device to run the tests but it
provides a more faithful execution than the "simulator" mode.
Test on iPhone/iPad simulator. The test of the iOS application can be directly run on Mac when compiling the project in Xcode. This option does not
require a real iPhone or iPad device to run the tests but it provides a more
faithful execution than the "simulator" mode.
Real test (PC or mobile device). The test of the 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 directly. The Universal
Windows 10 App application is automatically generated.
Test and debug on the Mobile Device (Pocket PC) connected to the development computer. This test allows you to use the debugger even though it
is run on the Mobile Device directly.
Part 4: Advanced concepts 67
Debug modes
Two different modes can be used to debug a WINDEV Mobile application:
Debugging in the simulator
This mode starts the application in a device simulator. However, the
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
algorithm but it presents differences of behavior with the real device:
the file paths are the ones of Windows,
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.
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
ones that require digitally signed executables)
This mode is slightly slower than the simulator. Indeed, it adds to
the execution a communication phase between the development
environment and the debugger found on the device.
This mode requires a mobile device connected to the development
computer.
68
Part 4: Advanced concepts
Unit tests
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.
These scenarios are grouped in the test editor. The test editor analyzes the result of the
unit tests and calculates the validation rate of the application.
When creating the application executable, WINDEV Mobile:
displays the validation rate of the application.
indicates the modified elements whose test was not run.
Creating a test scenario
Using a test scenario
(classes and procedures)
WINDEV Mobile window in the editor
Recording the test scenario
Running the test
WLanguage code of test scenario
Result of the test
Displaying the test editor
Correction
To create a unit test on the current window, click
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 "Create a unit test" from the popup menu.
Part 4: Advanced concepts 69
70
Part 4: Advanced concepts
Part 5
Interactions
between
WINDEV and
WINDEV Mobile
72
Part 5: Interactions between WINDEV and WINDEV Mobile
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 of the 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
Part 5: Interactions between WINDEV and WINDEV Mobile 73
Handling the character strings
Different formats of character strings are available:
The UNICODE format is used to describe a very large set of characters by representing each
letter on several bytes. All the characters of the most used character sets are represented
in a single set. Each character has a unique identifier. This format is used to simultaneously
handle the characters issued from different character sets. The "Unicode" term does not
define by itself the method for encoding the characters. Several "transformations" are
available for encoding the texts among which the most common are UTF-8 and UTF-16.
The ANSI format represents each character on one byte. This format can encode 256
characters in the Indo-European character sets. This format can represent all the character
sets. However, a single character set can be used at a time.
Character strings in Windows Mobile
In most cases, the Windows Mobile applications handle the character
strings in UNICODE/UTF-16 format. In this format, each character is
encoded on 16 bits (2 bytes).
Mobile Device
S is string
...
UNICODE
string
fOpen(MyFile,ANSI)
fReadLine(...)
UNICODE
string
fOpen(MyFile,Unicode)
fReadLine(...)
UNICODE
string
Using Text files
or
ANSI
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.
This conversion is completely transparent.
74
Part 5: Interactions between WINDEV and WINDEV Mobile
Character strings in Android
In Android, the character strings are handled in Unicode/UTF-8 format.
Reminder: Character string in Windows PC
The Windows applications for PC handle the character strings in ANSI or UNICODE format.
On a PC, the text files can be opened in ANSI format and in UNICODE format. No conversion
is performed by default.
Windows PC
S is ANSI string
...
ANSI
string
S is UNICODE string
...
UNICODE
string
fOpen(MyFile,ANSI)
fReadLine(...)
ANSI
string
Using Text files
or
ANSI
fOpen(MyFile,Unicode)
fReadLine(...)
UNICODE
string
UNICODE
The method for programming the character strings is the same in WINDEV and in
WINDEV Mobile (with very few exceptions). WINDEV automatically performs the
necessary conversions.
Part 5: Interactions between WINDEV and WINDEV Mobile 75
76
Part 5: Interactions between WINDEV and WINDEV Mobile
Part 6
Setup
78
Part 6: Setup
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 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 the executable from the PC to the Windows
Mobile device.
Part 6: Setup 79
The different types of setup
Setup in APK format
This setup consists in:
generating the application on the development computer.
signing the APK file digitally.
Note: a self-signed key can be used.
copying the APK file onto an Android device.
running the APK file on the Android device. This action triggers the setup of the
application.
To run the application, all you have to do is choose its icon from the "All programs" menu.
Setup by Play Store
Play Store (formerly Android Market) is an application proposed by Google. Play Store
presents applications for Android that can be purchased or downloaded from a unique
setup interface included in the Android devices.
This setup consists in:
generating the application on the development computer.
signing the APK file digitally. For a deployment on Play Store, we recommend that
you use a real key signed by a recognized trusted authority.
uploading the APK file onto the Web site of Play Store.
Note: you must register on the site beforehand.
the users of the application will only have to install the requested application from
the "Play Store" application of their Android device.
To run the application, all you have to do is choose its icon from the "All programs" menu.
80
Part 6: Setup
Setup by App Store
App Store is an application proposed by Apple. App Store presents applications for
iPhone and iPad that can be purchased or downloaded from a unique setup interface
and included in the Apple devices.
This setup consists in:
generating the application on the development computer.
preparing the images required for the deployment.
compiling the application in XCode.
saving the application in "iTunes Connect".
compiling the application in XCode.
uploading the application on the App Store.
the application users will only have to install the requested application from the
"App Store"application of their Apple device.
To run the application, all you have to do is choose its icon from the "All programs" menu.
Setup by adhoc and in-house
This type of deployment allows you to distribute your application on an iPhone or iPad
device.
Most of the operations will be performed on the Web, then in the "Apple developer
center", then in the XCode compiler on a Mac.
Depending on your iOS development license, you will have the ability to perform one of
the following setups:
adhoc, to install the application on several devices (up to 100).
in-house, to install an application on all the devices belonging to the company. The
application will be distributed either via a private Web server of the company, or by
iTunes.
Part 6: Setup 81
Setup by Windows Store
Windows Store is an application proposed by Microsoft. Windows Store presents Universal
Windows 10 App applications that can be purchased or downloaded from a unique setup
interface and included in the devices running Windows 10.
This setup consists in:
generating the application on the development computer.
uploading the application on the Web site of Windows Store.
Note: you must register on the site beforehand.
the application users will only have to install the requested application from the
"MarketPlace" application of their Windows 10 device (tablet, PC or phone).
To run the application, all you have to do is choose its icon from the menu of applications.
Setup in CAB format
This setup consists in:
generating the executable of the application on the development computer via
WINDEV Mobile.
generating the setup program of the application on the development computer. This
setup program corresponds to a ".CAB" file.
copying this setup program onto the Windows Mobile devices of the end users.
Windows PC
Creating the
executable (Exe)
Memory card, USB key...
Mobile Device
Creating the
setup
(.CAB file)
Development computer
Internet FTP Server
Starting the
setup
Direct copy
Deployment
running this setup program on the Windows Mobile devices. This program installs all
the files required by the application.
To use this application, start the application on the Windows Mobile device (via the
shortcut created in the "Start" menu).
82
Part 6: Setup
Setup in MSI format
This setup consists in:
generating the executable of the application on the development computer.
generating the setup program of the application on the development computer. This
setup program corresponds to a ".MSI" file.
distributing this setup program to the end users.
running this setup program on the PCs. The application will be automatically
installed on the Windows Mobile device connected to the PC.
Note: If no Windows Mobile device is connected, the setup will be performed during
the next synchronization between the PC and the Windows Mobile device.
Windows PC
Windows PC
Creating the
executable (Exe)
Delivery
Starting the
setup
Starting the
setup
Mobile Device
Connection
SETUP
Client 1
Creating the
setup
(.MSI file)
Delivery
Deployment
Client 2...
Client N...
Development computer
Setup by direct copy
This setup consists in:
generating the executable of the application on the development computer.
copying this executable onto the Windows Mobile device connected to the PC.
To use this application, run this executable on the Mobile Device (double-click the ".EXE"
file for example).
Windows PC
Mobile Device
Connection: USB, Wi-Fi, Bluetooth...
Creating the
executable (Exe)
Development
Direct
COPY
Deployment
Part 6: Setup 83
84
Part 6: Setup
Part 7
Communication
86
Part 7: Communication
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),
transfer files by FTP,
perform HTTP and HTTPS queries,
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
Creating the socket
(SocketCreateInfrared function)
Contact application
Communication
by infrared
Connection to the socket
(SocketConnectInfrared function)
(SocketRead, SocketWrite, ... functions)
Part 7: Communication 87
2. Communication by Wi-Fi
The communication by Wi-Fi can be used to transfer files by FTP for example.
Mobile device
FTP server
FTP account
Anonymous
Transfer files by WI-FI
Connection to the server
(FTPConnect function)
(FTPxxxx functions, ...)
3. Communication by mobile network (3G, ...)
The communication by mobile network can be used to access a remote HFSQL database
via Internet for example.
Mobile Device
PC
INTERNET
INTRANET
GPRS
GPRS
Connection to the remote database
(HConnectRemoteAccess function)
88
Part 7: Communication
Connection to Internet
(NetOpenRemoteAccess function)
Managing the emails (POP3/IMAP/SMTP)
The POP3/IMAP and SMTP protocols are protocols for email management recognized by
all the service providers. These protocols allow you to communicate with the email server
available at your ISP.
Notes:
The POP3 and IMAP protocols are used to receive emails.
The SMTP protocol is used to send emails.
Mobile Device
Connection: Ethernet card,
WI-FI, GPRS modem...
POP3 protocol
Receiving emails
SMTP protocol
Sending emails
Retrieving and
sending emails
Email server
(Hosting company)
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).
3. Start an email session with EmailStartSession.
4. Send and read the messages.
5. Close the messaging session with EmailCloseSession.
Part 7: Communication 89
Handling files on an FTP server
The FTP (File Transfer Protocol) is a protocol used to transfer files from a site to another
remote site. This protocol is used to exchange files by TCP/IP, Internet Wi-Fi or ActiveSync.
Several thousands of file servers can be accessed by FTP on Internet. These servers
propose shareware or freeware accessible to the public.
Several WLanguage functions allow you to manage files on an FTP server from your
WINDEV Mobile applications.
Transferring files by direct link between a Mobile Device and an FTP server by Wi-Fi:
Mobile device
FTP server
FTP account
Anonymous
Connection to the server
(FTPConnect function)
Transfer files by WI-FI
(FTPxxxx functions, ...)
Transferring files by Internet:
FTP server
Mobile device
Connection: USB, Wi-Fi, Bluetooth...
FTP account
Anonymous
90
INTERNET
INTRANET
Part 7: Communication
Retrieving files
FTPGet function
PC
Managing the SMSs
With the WLanguage functions, WINDEV Mobile allows you to:
send SMSs.
browse the incoming SMSs.
delete one or more incoming SMSs.
An SMS (Short Message Service) is a text message (up to 160 characters) sent on a cell
phone.
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).
on a Smartphone.
Cell phone
Smartphone, ...
Mobile device
SMS
Application
Creating the message
(SMS structure)
Sending the message
(SMSSend function)
SMS
Receiving and browsing
the messages
Part 7: Communication 91
92
Part 7: Communication
Part 8
Specific features
of
Windows Mobile
94
Part 8: Specific features of Windows Mobile
Managing the keyboard in Windows Mobile
To allow the users of your applications to enter data, the keyboard of the Mobile device
must be used (also called SIP for "Software Input Panel"). This keyboard allows you to:
display a miniature keyboard at the bottom
of the screen. The user clicks this keyboard
with the stylus to enter information:
automatically recognize the different
words written on the screen with the
stylus (method called "Transcriber").
automatically recognize the letters typed in
a specific character set (method called
"Letter recognizer"):
automatically recognize the blocks of
words typed in a specific character
set (method called "Block recognizer"):
WINDEV Mobile allows you to easily manage this keyboard via the WLanguage functions
(SIPXXX functions).
Part 8: Specific features of Windows Mobile 95
File picker in Windows Mobile
File picker
In Windows Mobile, fSelect is used to select a file found:
in the "\My Documents" directory or in one of its sub-directories.
in a directory found on a storage card.
Path of directories and files
The method for managing the directories differs on a Windows computer and on a mobile
device.
Windows, the paths have the following format: "C:\My Documents\My File.txt".
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
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
Standard CEDB database
The standard applications
The devices in Windows mobile are supplied with a set of standard applications that
handle the standard CEDB databases.
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
Calendar
Notes
Contacts
Tasks
cdbxxx functions
(read, write)
Part 8: Specific features of Windows Mobile 97
Handling a standard database found on the Mobile Device (from a PC)
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
application.
If you own WINDEV, you also have the ability to create a WINDEV application used to
handle this standard database found on the Mobile Device (Pocket PC).
These operations are performed via the cdbXXX functions.
The synchronization between the database found on the Mobile Device (Pocket PC) and
the data viewed via Outlook is performed by ActiveSync.
Mobile Device
Windows PC
cdbxxx functions (read, write...)
Synchronization via ActiveSync
Outlook
Tasks
Notes
Contacts...
.cdb
Standard
database
Connection: USB, Wi-Fi, Bluetooth...
cdbxxx
functions
(read,
write...)
Note: To handle a Mobile Device database (Pocket PC) from a WINDEV application, the
Windows PC must be connected to the Mobile Device (ceConnect).
98
Part 8: Specific features of Windows Mobile
Handling custom CEDB
databases
CEDB database
The custom CEDB databases correspond to Access databases (".MDB" file) previously
exported from a PC.
When an Access database (".MDB" file) is copied onto a Mobile Device (Pocket PC)
from the file explorer, this database is automatically transformed into a CEDB database
(".CDB" file).
Handling a CEDB database from the Mobile Device (Pocket PC).
A CEDB database can be handled by a WINDEV Mobile application. These operations are
performed via the cdbXXX functions.
Mobile Device
Database
cdbxxx
functions
(read, write...)
Part 8: Specific features of Windows Mobile 99
Handling a CEDB database from the Windows PC
If you own WINDEV, you also have the ability to create a WINDEV application used to
directly handle a CEDB database found on the Mobile Device (Pocket PC). These
operations are also performed via the cdbXXX functions.
Mobile Device
Windows PC
cdbxxx functions (read, write...)
Database
Connection: USB, Wi-Fi, Bluetooth...
cdbxxx
functions
(read,
write...)
Note: To handle a database found on a Mobile Device (Pocket PC) from a WINDEV
application, the Windows PC must be connected to the Mobile Device (ceConnect).
100
Part 8: Specific features of Windows Mobile
Synchronizing a CEDB database with an Access database
An Access database (".MDB" file) is found on the Windows PC. This database is exported
to the Mobile Device (Pocket PC): ActiveSync automatically transforms it into a database
for Mobile Device (".CDB" file).
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
handle the database found on the Mobile Device (Pocket PC).
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.
Mobile Device
Windows PC
cdbxxx functions (read, write...)
Synchronization via ActiveSync
Database
Connection: USB, Wi-Fi, Bluetooth...
Database
cdbxxx
functions
(read,
write...)
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".
Part 8: Specific features of Windows Mobile 101
Comparison between HFSQL and CEDB
To display information coming from a database in a window, the controls of this window
must be linked to the different database items.
The method for displaying and retrieving information depends on the database used
(HFSQL or CEDB).
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.
Mobile Device
HFSQL
1 LINE
PER WINDOW
(File link)
ScreenToFile
102
Part 8: Specific features of Windows Mobile
FileToScreen
File link between a window and a Pocket PC database (CEDB)
This link must be defined by programming (cdbXXX functions).
Mobile Device
CEDB
1 LINE
PER CONTROL
(No file link)
cdbWriteCol("MyDatabase",...
"Schedule","Caption",ctlCaption)
cdbWriteCol("MyDatabase",...
"Schedule","Contrib",ctlContrib)
...
ctlCaption=cdbCol("MyDatabase",...
"Schedule","Caption")
ctlContrib=cdbCol("MyDatabase",...
"Schedule","Contrib")
...
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, ...)
Part 8: Specific features of Windows Mobile 103
Interaction with a WINDEV application
The functions for accessing the Mobile Devices (Pocket PCs) are used to access the
Mobile Devices (Pocket PCs) from a WINDEV application.
Mobile Device
Files
Windows PC
cdbxxx access (read, write...)
WD2X0CE.DLL
Database
Copying files
Starting applications
WINDEV Mobile
application
Connection: USB, Wi-Fi, Bluetooth...
WINDEV Mobile is supplied with several examples that use the functions for accessing
the Mobile Devices:
PC Registry.
PC Explorer.
These examples can be used on a PC.
104
Part 8: Specific features of Windows Mobile
Handling a Windows Mobile device
from a WINDEV application
The following WLanguage functions are used to access the Windows Mobile devices
connected to a PC from a WINDEV application:
ceConnectionStatus
Used to find out the status of the connection between the current
computer and a Windows Mobile device
ceConnect
Connects the current computer to a Windows Mobile device.
ceCopyFile
Copies:
- a file found on the current computer to the connected Mobile Device.
- a file found on the connected Mobile Device to the current computer.
- a file found on the connected Mobile Device to another directory in
the Mobile Device.
ceCreateShortcut
Creates a shortcut on the device connected to the current computer
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 current computer
ceDisconnect
Closes the connection between the current computer and the device
ceFileDate
Returns or modifies the different dates associated with a file (creation,
modification or access)
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 the Windows Mobile device
ceMakeDir
Creates a directory on the Windows Mobile device connected to the
current computer
ceOEMInfo
Returns the OEM information about the Windows Mobile device:
make, model, serial number, ...
cePlatform
Returns the name of the platform on the Windows Mobile device
Part 8: Specific features of Windows Mobile 105
cePowerStatus
Used to get information about the main or secondary battery of the
Windows Mobile device
ceProcessorType
Returns the type of processor on the Windows Mobile device
connected to the current computer
ceRegistryCreateKey
Creates a key in the device registry.
ceRegistryDeleteKey
Deletes a sub-key from the device registry.
ceRegistryDeleteValue
Deletes a value from the device registry.
ceRegistryExist
Checks the existence of a key in the device registry.
ceRegistryFirstSubKey
Identifies the key found after the specified key in the registry of the
Windows 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 the 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 current application
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
Synchronization software:
ActiveSync,...
Several programs can be used to synchronize the data (WINDEV application, email,
calendar, contacts, tasks, notes, ...) between a PC and a Mobile Device (Pocket PC):
ActiveSync, for versions up to Windows XP.
In most cases, ActiveSync is supplied with the Mobile Device (Pocket PC) but it can
also be downloaded from Internet.
ActiveSync is automatically started on the PC during the connection between the
Mobile Device and the PC. The data to synchronize is configured in ActiveSync
("Options" icon).
the "Manager for Windows Mobile devices", available from Windows Vista. This
manager is automatically started when the Mobile Device is connected to the PC.
Part 8: Specific features of Windows Mobile 107
Managing emails (CEMAPI)
CEMAPI is an API for email management used by most of the applications for Mobile
Device (Pocket PC) to send and receive emails (Pocket Outlook in most cases).
CEMAPI simplifies the management of the 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).
All the characteristics required to manage the emails (POP3 protocol, SMTP protocol,
remote access, etc.) are grouped in the "User Profile".
With the email functions of WLanguage, a WINDEV application can directly handle the
emails managed in an application that is using "CEMAPI".
Using the "ActiveSync" user account
A user account defined in Pocket Outlook is required to manage the emails via CEMAPI.
By default, Pocket Outlook manages the "ActiveSync" user account.
PC
Mobile Device
Pocket
Outlook
Connection: USB, Wi-Fi, Bluetooth...
Synchronization via ActiveSync
Outlook
ActivSync
account
Connection:
Internet
Retrieving and
sending emails
Email server
(Hosting company)
108
Part 8: Specific features of Windows Mobile
Using a specific user account
To use another user account, you must define one.
If the Mobile Device (Pocket PC) has no direct link to Internet, a synchronization with the
PC is required to send and receive the emails.
PC
Mobile Device
Pocket
Outlook
Other
Accounts
Connection: USB, Wi-Fi, Bluetooth...
Retrieving
and sending emails
Connection:
Internet
Retrieving and
sending emails
Email server
(Hosting company)
If the Pocket PC has a direct access to Internet (by Wi-Fi, ...), no synchronization with a PC
is required.
Part 8: Specific features of Windows Mobile 109
Tools supplied with WINDEV Mobile
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), a
Smartphone, ...
WDRegistry
Tool used to view the registry of a Mobile Device (Pocket PC), Smartphone, ...
110
Part 8: Specific features of Windows Mobile
Part 9
Appendices
112
Part 9: Appendices
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 the setup directory of WINDEV Mobile.
Name of the component
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 Login Management
Manages the identification of users in an application from a login and
a password.
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 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 the Mobile Device (Pocket PC).
These components are found in the "Components\Example components\Windows"
sub-directory of the setup directory of WINDEV Mobile.
Name of the component
Description
PC Pocket Picker
Directory picker and file picker found on a Mobile Device (Pocket PC)
from a WINDEV application.
Additional components are supplied with the Technical Support Newsletter (LST) or can
be downloaded from our site (www.windev.com).
Part 9: Appendices 113
Examples supplied with WINDEV Mobile
The examples supplied with WINDEV Mobile are intended to help you learn the features
of WINDEV Mobile. Their source code is presented in details.
These examples are found in the "Examples" sub-directory of the setup directory of
WINDEV Mobile and they can be opened from the home window of WINDEV Mobile.
Features of some examples supplied with WINDEV Mobile.
Examples that can be used in Android only
Android Explorer
This example is used to list the files and directories found on an Android
device.
Android GPS
This example presents the use of the GPS functions of WLanguage in an
Android application.
Android Inventory
This application is used to draw up inventories and to save the results in a
database.
Android
Persistent
Notifications
This example is used to create persistent notifications that appear even if the
application is not used anymore.
Android
Synthesis
This educational example shows how to manage voice recognition and
synthesis on Android.
The speech synthesis is performed by using either the WLanguage functions,
or an external JAR file included in the WINDEV Mobile project.
Speech
Android System
This application is an educational example presenting some functions specific
to Android.
Android ZIP
This example is used to browse the folders of the Android device to find ZIP
archives.
Examples that can be used on iPhone/iPad only
114
iOS Loan
This example is used to simulate loans.
iOS System
This application is an example explaining how to use the following features:
Playing videos, Trace in the logs, Slider, Popup control, Hourglass, ...
Part 9: Appendices
Multi-platform examples (Android and iOS)
Android Push
This example explains how to receive Push notifications on Android.
iOS Push
This example explains how to receive Push notifications on iOS.
WM Food
The WM Food example explains how to interact with the OpenFoodFacts
database from a WINDEV Mobile application via the webservice proposed by
this database.
WM Notes
This example is using the drawing functions of WLanguage for Android and
iOS. It allows you to draw graphic "notes" and save them.
WM Poker
This example is a poker game for Android, iOS and Universal Windows 10 App
smartphones powered by WinDev Mobile
WM Poll
This examples is used to manage and view polls.
WM Stocks
This application is used to draw up inventories and to save the results in a
database.
WM Tic Tac Toe
This example presents the famous "Tic Tac Toe".
WM ToDo List
This example is a manager of To-Do Lists.
Examples that can be used on a Mobile Device (Pocket PC) only
Pocket
Keyboard
Virtual
This example proposes virtual keyboards that can be fully customized and
certainly smaller than the standard keyboard of Mobile Devices (Pockets PC).
Pocket Animated
This example explains how an image can be animated with WinDev Mobile.
The following topics are presented in this example:
1/ the cartoon animations (image to animate)
2/ the zoom in loop animations (scroll).
Pocket Thread Pool
This example presents the use of threads with the WLanguage functions.
The following topics are presented in this example:
1/ Running processes started in parallel (threads)
2/ How to limit the number of threads in execution at a given time.
Pocket Statistics
This example explains how to calculate statistics with the WLanguage functions.
The following topics are presented in this example:
1/ the statistical functions.
2/ the use of matrices
Pocket Click on Chart
This example proposes a solution used to offset the sections of a Pie chart via
a simple click.
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.
Part 9: Appendices 115
116
Pocket Loan
This example is used to simulate loan calculations and to display the
corresponding amortization tables.
Pocket Explorer
This example is a file explorer for Windows CE. You have the ability to list the files
and directories found on a Mobile Device (Pocket PC).
Pocket Managing
Contacts
This example presents the management of contacts on Mobile Device (Pocket
PC) and it is using the loopers, the queries, the sending of SMSs and emails, the
phone call.
Pocket Images
This example is used to browse a specific directory to find images
Pocket Inventory
This example is used to draw up inventories and to save the results in a HFSQL
database.
Pocket Map
This example is a light version of WDMap. This example is used to view and
modify the data files in HFSQL Mobile format on a Mobile Device (Pocket PC)
directly.
Pocket Notes
This example is used to draw graphic "notes" and save them. You have the ability
to enter keywords to identify your notes.
Pocket Attendance
This application is an attendance manager. It is used to keep track of people
attending a seminar.
Pocket Telephony
This example is a telephony application that can be used on a Mobile Device
(Pocket PC) equipped with phone access (GSM type).
Pocket ZIP
This example is used to create and handle archives (".ZIP" files).
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 connection
information about these cards.
Part 9: Appendices
Examples containing a project that can be used on Mobile Device (Pocket
PC) and that interacts with a 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
Managing lists of purchases
"Pocket Managing lists of purchases"
project that can be used on Mobile Device (Pocket PC)
These examples are used to manage a list of stores,
departments, products and purchases
You have the ability to synchronize the data entered in
the two projects.
"PC Managing lists of purchases" project that can be used on PC
Expenses
"Pocket Expenses" project that can be
used on Mobile Device (Pocket PC)
"PC Expenses" project that can be used
on PC
Beach
"Pocket Beach" project that can be used
on Mobile Device (Pocket PC)
"PC Beach" project that can be used on
PC
Poll
"Pocket Poll" project that can be used
on Mobile Device (Pocket PC)
These examples are used to manage the expense
accounts.
You have the ability to synchronize the data entered in
the two projects.
These examples are used to manage the bookings for
private beaches.
You have the ability to synchronize the data entered in
the two projects.
These examples are used to perform polls.
You have the ability to synchronize the data entered in
the two projects.
"PC Poll" project that can be used on PC
Stocks
"Pocket Stocks" project that can be
used on Mobile Device (Pocket PC)
These examples are used to manage the stocks.
You have the ability to synchronize the data entered in
the two projects.
"PC Stocks" that can be used on PC
Network tasks
"Pocket Network tasks" project that can
be used on Mobile Device (Pocket PC)
"PC Network tasks" project that can be
used on PC
The "PC Network tasks" application is used to enter
a task list (with management of priorities, deadline,
automatic reminder, ...).
The "Pocket Network Tasks" application is used to
access this task list to specify that a task is in progress
or completed.
Part 9: Appendices 117
Examples that can be used on PC only
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.
PC CDB Browser
This example is used to access the standard databases (.cdb) found on a
Mobile Device (Pocket PC).
PC Explorer
This example is used to view the files and directories found on a Mobile
Device (Pocket PC).
Examples that can be used in Universal App
UWA Notes
This example is an application for managing notes in Universal Windows 10
App format. .
UWA Orders
This educational example presents, via a management of orders, the proper
use of GUI when developing Universal Windows Platform Apps applications. .
UWA Password
Example of a password manager application for Universal Windows Apps
UWA Stopwatch
This example explains how to create a stopwatch for a mobile device with
WinDev Mobile.
In this example, a timer is used to display the hands of the stopwatch and to
display the time passed on a regular basis.
Additional examples can be downloaded from our site (www.windevcom).
118
Part 9: Appendices