60

WINDEV Mobile - Concepts...Test and generation step: WINDEV Mobile proposes several automatic test tools to guarantee the reliability of applications and to make sure that no regression

  • Upload
    others

  • View
    4

  • Download
    0

Embed Size (px)

Citation preview

Page 1: WINDEV Mobile - Concepts...Test and generation step: WINDEV Mobile proposes several automatic test tools to guarantee the reliability of applications and to make sure that no regression
Page 2: WINDEV Mobile - Concepts...Test and generation step: WINDEV Mobile proposes several automatic test tools to guarantee the reliability of applications and to make sure that no regression

WINDEV Mobile - ConceptsVersion 26 - (1) 03-2021

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: [email protected].

This documentation is not contractually binding. Modifications may have been made to the software since this guide was published. Please check the online help.

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

Introduction 3

How to discover WINDEV Mobile?WINDEV Mobile is a powerful Integrated Development Environment used to develop applications for Android, iPhone and iPad, Universal Windows 10 (phone, tablets and PC) and Windows Mobile. It includes all the tools required to create and develop applications.

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

1 Read the “Concepts” (online or on physical documentation). This guide presents the main concepts required for creating a WINDEV Mobile application.

2 “Tutorial” (online tutorial + exercises).The tutorial provides a first “practical” approach to WINDEV Mobile. It allows you to familiarize yourself with the main editors of WINDEV Mobile.

3 Try the examples.Try the different examples supplied with WINDEV Mobile in the fields you are interested in.

The online help, available on Internet at http://doc.windev.com or installed locally 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.

Remark: If there is a difference between the tutorials and the online help, follow the instructions in the online help.

We hope you enjoy getting started with WINDEV Mobile.

Page 3: WINDEV Mobile - Concepts...Test and generation step: WINDEV Mobile proposes several automatic test tools to guarantee the reliability of applications and to make sure that no regression

4 Introduction : 5 Table of Contents 5

Table of ContentsPart 1 - Basic concePtsProject and analysis .............................................................................................................. 9Development cycle of an application.................................................................................10WINDEV Mobile: Android, iOS, UWP, ... ..............................................................................12Android, iOS and Mobile windows .....................................................................................13Android and iOS windows: Characteristic ..........................................................................14Layouts .................................................................................................................................15Available controls in a window ...........................................................................................16Menus of applications ........................................................................................................19Internal window ...................................................................................................................20Window templates...............................................................................................................21Control templates ................................................................................................................22Reports ................................................................................................................................23Report templates ................................................................................................................24

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

Part 3 - DataBaseAnalysis: database structure ..............................................................................................43Different types of accessible files ......................................................................................44Data handled by a WINDEV Mobile application ................................................................46HFSQL Classic ..................................................................................................................... 47HFSQL Client/Server ...........................................................................................................48HFSQL Cluster .....................................................................................................................49Creating HFSQL files: files physically created ...................................................................50Associating controls with data ........................................................................................... 51

Page 4: WINDEV Mobile - Concepts...Test and generation step: WINDEV Mobile proposes several automatic test tools to guarantee the reliability of applications and to make sure that no regression

6 Table of Contents

Queries .................................................................................................................................53Embedded queries ..............................................................................................................54Table/Looper controls .........................................................................................................55Synchronizing data .............................................................................................................573-tier .....................................................................................................................................59

Part 4 - aDvanceD concePtsWindows generated by RAD ...............................................................................................63Multilingual application ......................................................................................................64Test of WINDEV Mobile application ...................................................................................65Debugging modes ...............................................................................................................67Unit tests ..............................................................................................................................68

Part 5 - WinDev / WinDev moBile interactionsWLanguage functions ......................................................................................................... 71Handling character strings .................................................................................................72

Part 6 - setuPInstalling an Android or iOS application ............................................................................77The different types of setup ...............................................................................................78

Part 7 - communicationCommunication with WINDEV Mobile ................................................................................85Managing the emails (POP3/IMAP/SMTP)........................................................................87Handling files on an FTP server .........................................................................................88SMS management ..............................................................................................................89

Part 8 - sPecific features of WinDoWs moBileManaging the keyboard in Windows Mobile .....................................................................93File picker in Windows Mobile ............................................................................................94Standard CEDB database ..................................................................................................95Handling custom CEDB databases ....................................................................................97Comparison between HFSQL and CEDB .........................................................................100Interaction with a WINDEV application ............................................................................102Handling a Windows Mobile device from a WINDEV application ..................................103Synchronization software: ActiveSync, ... ........................................................................105Managing emails (CEMAPI) ..............................................................................................106Tools supplied with WINDEV Mobile ................................................................................108

Part 9 - aPPenDicesComponents provided with WINDEV Mobile ...................................................................111Examples provided with WINDEV Mobile ........................................................................113

PART 1

Basic concepts

Page 5: WINDEV Mobile - Concepts...Test and generation step: WINDEV Mobile proposes several automatic test tools to guarantee the reliability of applications and to make sure that no regression

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

Project and analysisThe 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 Stylesheet

Windows and controls

Classes Stylesheet

Windows and controls

Project 2 Project N

Analysis

Classes Stylesheet

Windows and controls

Page 6: WINDEV Mobile - Concepts...Test and generation step: WINDEV Mobile proposes several automatic test tools to guarantee the reliability of applications and to make sure that no regression

10 Part 1: Basic concepts

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

Design

Specifications

Development

UML modeling

Importexisting files

Create project

Create analysis

Development- Project RAD- Window RAD- Queries- Reports- Input of source code

Details of the different steps:

Design step: An application can be designed from specific requirements, from UML modeling of processes or even from existing data files.

Development step: The project and the analysis are created via specific wizards. The development can be done in RAD mode (Rapid Development Application) with automatic code and interface (UI) generation, or it can result from creating project elements manually.

Part 1: Basic concepts 11

Test andgeneration

Test and debugapplication

Deployment

Generateapplication :- Windows Mobile- Android- iOS- Universal Windows 10 App

Generate the setupprogram

Final test

First setup:on the device, by HTTP,via Google Play Store,via MarketPlace, ...

Update applicationSynchronize deployed data

Test and generation step: WINDEV Mobile proposes several automatic test tools 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 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.

Page 7: WINDEV Mobile - Concepts...Test and generation step: WINDEV Mobile proposes several automatic test tools to guarantee the reliability of applications and to make sure that no regression

12 Part 1: Basic concepts

WINDEV Mobile: Android, iOS, UWP, ...The applications developed with WINDEV Mobile can operate on the following platforms:

• Windows Mobile 6.0 to 6.5.

• Windows CE (5 and 6).

• Universal Windows Platform apps.

• Android version 5 and later.

• iOS version 11 and later.

The following processors are supported:

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

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

Part 1: Basic concepts 13

Android, iOS and Mobile windowsThe UI (User Interface) of an application is mainly composed of windows.

WINDEV Mobile includes an advanced window editor allowing you to easily and quickly create all possible types of UI, 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 UI 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 device resolutions.

• a UI compilation system with error detection (empty titles, untranslated captions, overlaps, etc.).

Page 8: WINDEV Mobile - Concepts...Test and generation step: WINDEV Mobile proposes several automatic test tools to guarantee the reliability of applications and to make sure that no regression

14 Part 1: Basic concepts

Android and iOS windows: CharacteristicWINDEV Mobile gives you the ability to configure the characteristics of windows. The available characteristics depend on the platform used. Some examples:

iPhone/iPad

Android

Managing the display resolution

Windows created with WINDEV Mobile for Android applications automatically adapt to the screen resolution of the devices at runtime.

Part 1: Basic concepts 15

LayoutsAnchors 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. Layouts are 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 portrait mode, • a specific view for 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 layout creation wizard 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 runtime, the initial layout is automatically chosen according to the platform, the orientation and the size of screen. The layout is changes automatically when the device goes from portrait mode to landscape mode, for example.

Page 9: WINDEV Mobile - Concepts...Test and generation step: WINDEV Mobile proposes several automatic test tools to guarantee the reliability of applications and to make sure that no regression

16 Part 1: Basic concepts

Available controls in a windowSeveral controls are available in WINDEV Mobile:

In order to... Use a control of the following type

Display a text, a title, ...

Static

Enter information.

Edit control

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

Part 1: Basic concepts 17

Display a video, an animation.

Multimedia, image

Read a PDF file. PDF Reader

Type a date in a calendar.

Calendar

Display the file content in a table (list of customers, order details, etc.).

Memory table or browsing table

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

Looper

Page 10: WINDEV Mobile - Concepts...Test and generation step: WINDEV Mobile proposes several automatic test tools to guarantee the reliability of applications and to make sure that no regression

18 Part 1: Basic concepts

Display a Column, Line or Pie chart.

Chart

Display a progress.

Progress Bar

Program an action in a window (display another window, start a print, etc.).

Button

Group the controls by theme and display the themes one by one.

Tab, Sidebar

Part 1: Basic concepts 19

Menus of applications

Android/iOSIn 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.

Page 11: WINDEV Mobile - Concepts...Test and generation step: WINDEV Mobile proposes several automatic test tools to guarantee the reliability of applications and to make sure that no regression

20 Part 1: Basic concepts

Internal windowThe Internal Window control is used to include a window (and its code) in another window. At runtime, the window will be dynamically merged with the host window.

1. Creating an internal window

An internal window is created via the icon found in the quick access buttons. In the window for creating a new element, click "Window" then "Internal window".

An internal window is a specific window that contains no title bar and no menu.All types of controls can be used in this window.

2. Using an internal window

To use an internal window, you must:• create an Internal Window control.• in the control description, select the internal

window to use and validate.

Remarks:• The internal window used in the "Internal window" control can be modified by programming.• Limitations: The host area is rectangular and no override is allowed. To perform overrides, it is

recommended to use control templates.

Part 1: Basic concepts 21

Window templatesWINDEV 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 windows that use this template.A window template allows you to comply with the style book defined for an application.

Define a window template. The template is bordered by an orange

line in the editor.

Template used in several windows. The elements belonging to the template are identified by a yellow square.

A window template can be created:

• via the icon found in the quick access buttons. In the window for creating a new element, click "Window" then "Window template".

• from the current window (on the "Home" pane, in the "General" group, expand "Save" and select "Save as a template").

To create a window based on a template, select the template that will be used during the window creation.

The characteristics of elements can be dissociated from the template. For example, dissociating the position of a template control to position the control somewhere else while keeping the other evolutions performed on the control (code, style, ...). We talk of control inheritance. In this case, the elements are identified by a blue square.

Page 12: WINDEV Mobile - Concepts...Test and generation step: WINDEV Mobile proposes several automatic test tools to guarantee the reliability of applications and to make sure that no regression

22 Part 1: Basic concepts

Control templatesWINDEV 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 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 is hosting them.

Define a control template. The template is bordered by an orange line in the editor.

Template used in a window. The elements belonging to the template are bordered

by a blue line and identified by a yellow square.

A control template can be created:

• via the icon found in the quick access buttons. In the window for creating a new element, click "Window" then "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 elements can be dissociated from the template. For example, dissociating the position of a template control to position the control somewhere else while keeping the other evolutions performed on the control (code, style, ...). We talk of control inheritance. In this case, the elements are identified by a blue square.

Part 1: Basic concepts 23

ReportsWINDEV Mobile allows you to easily create and print all types of reports with the report editor.

A report can be used to summarize and synthesize data.You can:• group data.• sort data according to any criterion.• perform calculations (means, statistics) or create charts.

The diagram below presents a simplified definition of a report:• the data to print comes from a data source (data file described in an analysis, HFSQL view,

query, memory zone or text file).• the report groups, sorts and formats the data.• the report execution can be performed on a PCL printer or in a PCL file.

Other print modesWINDEV Mobile also gives you the ability to print in WLanguage (iXXX functions).

Page 13: WINDEV Mobile - Concepts...Test and generation step: WINDEV Mobile proposes several automatic test tools to guarantee the reliability of applications and to make sure that no regression

24 Part 1: Basic concepts

Report templatesMost of the time, printouts 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.

Define a report template in the report editor.

Template used in different reports. The elements that belong to the template are identified by a yellow square.

Overridden template elements are identified by a blue square.

A report template can be created:

• via the icon among the quick access buttons. In the window for creating a new element, click on "Report" then "Report template".

• from the current report (on the "Home" pane, in the "General" group, expand "Save" and select "Save as a template").

To create a report based on a template, select the template that will be used during the report creation.

The characteristics of elements can be dissociated from the template. For example, dissociating the position of a template control to position the control somewhere else while keeping the other evolutions performed on the control (code, style, ...). We talk of inheritance. In this case, the elements are identified by a blue square.

PART 2

Development environment

Page 14: WINDEV Mobile - Concepts...Test and generation step: WINDEV Mobile proposes several automatic test tools to guarantee the reliability of applications and to make sure that no regression

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

Project dashboardThe project dashboard is an essential element for managing the WINDEV Mobile projects. The project dashboard gives an overall view of the progress 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 projects that belong to the same user.

Page 15: WINDEV Mobile - Concepts...Test and generation step: WINDEV Mobile proposes several automatic test tools to guarantee the reliability of applications and to make sure that no regression

28 Part 2: Development environment

WINDEV, WEBDEV, WINDEV Mobile: a 100% compatible formatThe 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 elements, excluding the UI (pages and windows), are 100% compatible and sharable between WINDEV, WEBDEV and WINDEV Mobile projects.

It is thus possible to share sets of procedures or classes, for example, between several projects.

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 that was used to create it, a wizard is displayed, allowing you to create a project configuration specific to the product used.

For example, if a WINDEV project is opened by WEBDEV, you will have the ability to create a project configuration named "Site", used to group 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).

Remark: If you own WINDEV and WINDEV Mobile, you can handle WINDEV Mobile configurations in WINDEV. You can open, modify and test mobile windows, ...

Part 2: Development environment 29

Project configurationProject 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 can work on a specific configuration at any time: the elements that do not belong to this configuration appear grayed out in the "Project explorer" pane.

Config 1.Mobile

executable

Config 2.Library

...

Config 3.Component

Mobile project

Project configurations

The multiple generation allows you to generate all project configurations (or some of them) in a single operation.

Page 16: WINDEV Mobile - Concepts...Test and generation step: WINDEV Mobile proposes several automatic test tools to guarantee the reliability of applications and to make sure that no regression

30 Part 2: Development environment

Multiple generationProject 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.

There is a faster method: the multiple generation. The configurations to generate are selected in a single operation and the result is immediate.

To start a multiple generation, go to the "Project" pane, "Generation" group and click "Multiple generation".

Part 2: Development environment 31

Custom-Folders: Organize your projectAll 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 practical 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" pane 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.

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

Page 17: WINDEV Mobile - Concepts...Test and generation step: WINDEV Mobile proposes several automatic test tools to guarantee the reliability of applications and to make sure that no regression

32 Part 2: Development environment

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

SCMA repository groups the project elements, each computer has a local copy of

elements required for development.

The elements found in the SCM can be shared:• via 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.

Part 2: Development environment 33

Operating mode of Source Code Manager

The following example presents the Source Code Manager:

Local Computer 1

Project A Version 1

Project A Version 2

Project A Version 1

Project A Version 3

Local Computer 2

Project A Version 2

Mobile Computer

Project A Version 1

Project A Version 3

Project A Version 2

Modification

Modificationfor end users

RepositoryMobile ComputerCheck out Beta window from Project A Version 1 at 9:13

Local Computer 1Check out Alpha window from Project A Version 1 at 9:57Check in modi�ed Alpha windowinto Project A Version 2 at 10:41

Local Computer 2Check out Alpha window from Project A Version 2 at 14:28

Mobile ComputerCheck in modi�ed Beta windowinto Project A Version 3 at 18:32

2

3

4

5

1

7

6Check-in 18:32

Check-out 9:57

Check-in 10:41

Check-out 14:28

Check-out 9:57

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 repository 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.

Page 18: WINDEV Mobile - Concepts...Test and generation step: WINDEV Mobile proposes several automatic test tools to guarantee the reliability of applications and to make sure that no regression

34 Part 2: Development environment

Internal componentAn internal component is a set of elements from a project. This set 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.

Project 1

Project 2 Create the internal component

Windows

Classes

Queries

Subdirectory of<MyComponent>

project

WCI file(List of elements)

Share theinternal component

via the SCM

SCM

1

2

The elements found in an internal component can be private or public:• Private elements can be handled by the other elements of the component.• Public elements can be handled by the elements of the project that uses the internal

component.

Part 2: Development environment 35

External componentAn external component is a set of WINDEV Mobile elements: windows, reports, analysis, ... This set of elements performs a specific operation. 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 with the application.

WINDEV Mobile project

Created in the EXE directory

.WDK file

WINDEV Mobile project

WINDEV Mobile project

WINDEV Mobile project

Develop thecomponent

Generate the component

Import thecomponent

Use thecomponent

Use thecomponent

Use thecomponent

12

4 4 4

3

Page 19: WINDEV Mobile - Concepts...Test and generation step: WINDEV Mobile proposes several automatic test tools to guarantee the reliability of applications and to make sure that no regression

36 Part 2: Development environment

Generation modesWINDEV Mobile allows you to generate several other types of projects.

Windows Mobile/CE/Embedded Compact applications

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 and ultra-portable devices that use this operating system (version 5.0 and later). These applications can also be distributed on Play Store for example.

iOS applications

WINDEV Mobile allows you to generate applications for the iPhone and iPad platform (from iOS 9). 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.

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 CenterTo optimize the management of your development projects, WINDEV Mobile gives you the ability to use the Project Monitoring Center. The Project Monitoring Center is used to:• Manage the project requirements,• Manage the project monitoring (schedule of tasks to perform),• Manage the bugs and evolutions signaled on a project.The Project Monitoring Center uses an HFSQL Classic or Client/Server database: the database of Control Centers. This database is shared between several tools available in WINDEV Mobile:

WINDEV MobileLogin windowDatabase of

Control Centers

- Tasks- Requirements- Quality

ProjectMonitoring Center

Business Rules Stand-alonemessaging (WDBAL) Automatic tests Image catalog

(custom images)

Remark: 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.

Page 20: WINDEV Mobile - Concepts...Test and generation step: WINDEV Mobile proposes several automatic test tools to guarantee the reliability of applications and to make sure that no regression

38 Part 2: Development environment

Managing requirementsThe 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 them.The project manager can follow the progress status of the project at any time.

Incidents

Business Rules Pane ofBusiness Rules

TasksProject Monitoring

Center

1 Create requirementscomposed of:

Project Manager Developer

2 Fulfillrequirements:

3 Monitor requirements (Project Monitoring Center):

Managerequirements

Part 2: Development environment 39

Managing tasksThe 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, simply indicate that the task is finished 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 their own task list in the "Project Monitoring Center" pane found in the editor.

Page 21: WINDEV Mobile - Concepts...Test and generation step: WINDEV Mobile proposes several automatic test tools to guarantee the reliability of applications and to make sure that no regression

40 Part 2: Development environment

Managing business rulesWINDEV Mobile allows you to manage 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 commercial commission, a discount rate, a decay coefficient, etc.A business rule can be simple or complex.The business rules can come from the specifications (corresponding to the requirements).

Define requirements

Define Business Rules

Apply BusinessRules to the project

Use application

PART 3

Database

Page 22: WINDEV Mobile - Concepts...Test and generation step: WINDEV Mobile proposes several automatic test tools to guarantee the reliability of applications and to make sure that no regression

42 Part 3: Database Part 3: Database 43

Analysis: database structureWhen a WINDEV, WEBDEV or WINDEV Mobile project uses data files, this project must be associated with an analysis. An analysis is used to describe the data structures (data files, items, etc.) used in your project.

The data model editor allows you to easily create an analysis.

System studied

Corresponding analysis

OrderDate, ...

ProductDescription, Price, ...

SupplierFull name, ...

CustomerFull name, ...

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

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

Page 23: WINDEV Mobile - Concepts...Test and generation step: WINDEV Mobile proposes several automatic test tools to guarantee the reliability of applications and to make sure that no regression

44 Part 3: Database

Different types of accessible filesWEBDEV, WINDEV and WINDEV Mobile offer simple access to the majority of databases on the market.

Part 3: Database 45

Page 24: WINDEV Mobile - Concepts...Test and generation step: WINDEV Mobile proposes several automatic test tools to guarantee the reliability of applications and to make sure that no regression

46 Part 3: Database

Data handled by a WINDEV Mobile applicationThe data handled by a WINDEV Mobile application can come from:

• an 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

Text �les RegistryDatabases

.INI

ASCIIUNICODEAS/400

TasksNotes

Contacts... .cdb

HFSQLClient/Server

HFSQLClassic

Part 3: Database 47

HFSQL ClassicHFSQL Classic (also called HFSQL Mobile) is the database format provided 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 Windows Mobile, iOS, Android and Universal Windows 10 App.This format is identical to HFSQL Classic in WINDEV and WEBDEV (".WDD" file, data files, etc.).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 an HFSQL Classic database from the mobile device

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

Hxxxfunctions,(read, write...)

Mobile device

Dat

abas

e

Page 25: WINDEV Mobile - Concepts...Test and generation step: WINDEV Mobile proposes several automatic test tools to guarantee the reliability of applications and to make sure that no regression

48 Part 3: Database

HFSQL Client/ServerA WINDEV Mobile HFSQL application can also operate in Client/Server mode.

The characteristics of the Client/Server mode are as follows:• An 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 processes (query, read/write operation in a data file, etc.) are performed on the server.

Windows or LinuxHFSQL server

Manta server

HFSQLClient/Serverdatabases

Mobile Device 1

Mobile Device 2

Mobile Device N

HFSQL Client/Server can be used on Windows Mobile, iPhone, iPad, Android and Universal Windows 10 Platform.

Part 3: Database 49

HFSQL ClusterHFSQL Cluster is an extension of the database model of HFSQL Client/Server. In a database cluster, all 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

Apply modifications

HFSQL Client/Serverserver

HFSQL Client/Serverserver

HFSQL Client/Serverserver

HFSQL Client/Serverserver

HFSQL Cluster can be used from the Windows Mobile, iPhone, iPad and Android platforms, ...

Page 26: WINDEV Mobile - Concepts...Test and generation step: WINDEV Mobile proposes several automatic test tools to guarantee the reliability of applications and to make sure that no regression

50 Part 3: Database

Creating HFSQL files: files physically createdThe data model editor is used to describe the structure of data files.

Depending on the information typed in the data model editor, different files are physically created.

Characteristicsof the file (Analysis)

HFSQL Classic or Client/Server file

One or more search keys(unique or with duplicates)

One or more full-text indexes

One or more "Memo" items

Files physically created

".fic" fileData file

".ndx" fileIndex file

".ftx" fileFull-text index file

".mmo" fileMemo file

Part 3: Database 51

Associating controls with dataA window can display information coming from:• a database: the controls are directly linked to the items of data files or queries available in the

database.• variables found in the WLanguage 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 database items.• 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

Page 27: WINDEV Mobile - Concepts...Test and generation step: WINDEV Mobile proposes several automatic test tools to guarantee the reliability of applications and to make sure that no regression

52 Part 3: Database

Link between control and variable

ScreenToFile FileToScreen

Linked variable

Simple controlLink 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)

Remark: The control/variable link is not available for the Android applications.

Part 3: Database 53

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

Sources

Data coming from one or more files (HFSQL, Oracle, ...)

Possible usesWindows and controls of a window

Reports

Programming (use in WLanguage functions)

Queries

The result of aquery can be used

like a file

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

Page 28: WINDEV Mobile - Concepts...Test and generation step: WINDEV Mobile proposes several automatic test tools to guarantee the reliability of applications and to make sure that no regression

54 Part 3: Database

Embedded queriesThe controls from 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_2$Query

Embedded query: MyWindow_1$Query

In this case, the query is integrated in the window. It is located in the WDW file that corresponds to the window. If the WDW file is copied (into another project for example), the embedded queries used by this window will also be copied.

Part 3: Database 55

Table/Looper controlsTable/Looper controls can be used to display a set of information (e.g., the content of a data file). 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.Remark: These three fill modes will be presented in details for the Table control. The same concepts apply to the Looper control.

Browsing Table control with direct access

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

Customerfile

The displayed data that is not linked to the data file is not kept when refreshing the display of the line (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 inmemory

The data being found in memory, the Table control allows you to perform all operations on the data (sort on any column, search in the columns, ...).

Page 29: WINDEV Mobile - Concepts...Test and generation step: WINDEV Mobile proposes several automatic test tools to guarantee the reliability of applications and to make sure that no regression

56 Part 3: Database

Browsing Table control loaded in memory

The browsing Table controls loaded in memory combine the advantages of browsing Table controls and memory Table controls.The Table control is linked to the data file but the content of data file is entirely loaded in memory. Sort and the search features are available for all columns.The data that is not linked to the data file is kept when handling the scrollbar of Table control (Check Box column for example).Since data file records are loaded into memory, this Table control type is recommended for data files with less than 100,000 records (to avoid memory overflow).

File loadedin memory

Customerfile

Note: 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.

Part 3: Database 57

Synchronizing dataWINDEV 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.

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

Synchronization via ActiveSync

ActiveSync

Windows PC Mobile Device

File 1

File 2

File 3File 1

File 2

Page 30: WINDEV Mobile - Concepts...Test and generation step: WINDEV Mobile proposes several automatic test tools to guarantee the reliability of applications and to make sure that no regression

58 Part 3: Database

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.Universal replication uses a centralized model: all databases are synchronized with a master database. Then, the master database applies the modifications to the other databases.

Universalreplication

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

Part 3: Database 59

3-tierThe purpose of 3-tier programming is to separate the 3 standard "layers" of an application: Interface (UI), processes 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 application. This provides better security because the access to the database is allowed via the Processes layer only. It also optimizes teamwork and multi-target development.

Mobile Windows Browser

Presentation layer

Components Webservices WEBDEV applicationserver

Application layer

HFSQLClassic, Client/Server

External databasesOracle, AS/400, SQL Server...

Data layer

Page 31: WINDEV Mobile - Concepts...Test and generation step: WINDEV Mobile proposes several automatic test tools to guarantee the reliability of applications and to make sure that no regression

60 Part 3: Database

PART 4

Advanced concepts

Page 32: WINDEV Mobile - Concepts...Test and generation step: WINDEV Mobile proposes several automatic test tools to guarantee the reliability of applications and to make sure that no regression

62 Part 4: Advanced concepts Part 4: Advanced concepts 63

Windows generated by RADThe 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. These windows can be tested immediately with the data present on the development computer.

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

Page 33: WINDEV Mobile - Concepts...Test and generation step: WINDEV Mobile proposes several automatic test tools to guarantee the reliability of applications and to make sure that no regression

64 Part 4: Advanced concepts

Multilingual applicationA 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

- Project- Analysis

Translate the project elements

- Direct translation- Translation via WDMSG, WDINT, WDTRAD, ...

Programming

- Choose the application language (Nation function)- Choose the character set (ChangeCharset function)- Choose the keyboard language (ChangeKeyboard function)

Executable

Choose the library languages

Setup program

- Available languages- Translate the setup program

Data files

- 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)

1

2

4

5

3

Part 4: Advanced concepts 65

Test of WINDEV Mobile applicationThe test of the entire project is used to simulate the start of the application. This allows you to run the test of 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.

• Real test (iPhone or iPad). It is possible to test the iOS application directly on a mobile device. Simply: • download the WMDEV application to the device (available on the store). • scan the bar code displayed by WINDEV Mobile, which corresponds to the

application to be tested. This option allows you to test the application directly on a real device. The debugger is available.

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

• Test and debug on the mobile device (Android or 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.

Page 34: WINDEV Mobile - Concepts...Test and generation step: WINDEV Mobile proposes several automatic test tools to guarantee the reliability of applications and to make sure that no regression

66 Part 4: Advanced concepts

• 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 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.

Part 4: Advanced concepts 67

Debugging modesTwo different modes can be used to debug a WINDEV Mobile application:• Debugging in the simulator, • Debugging on the mobile device (available in Android, iOS and Windows Mobile).

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,• strings are in ANSI format by default (not Unicode),• the functions specific to the mobile devices (e.g. SMS) are not available.

Debugging on the mobile device

This debug mode allows an operating mode of application that is closer to the real application as the debugger runs the application on the real mobile device (Android, iOS or Windows Mobile). All 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.

Page 35: WINDEV Mobile - Concepts...Test and generation step: WINDEV Mobile proposes several automatic test tools to guarantee the reliability of applications and to make sure that no regression

68 Part 4: Advanced concepts

Unit testsUnit tests (also called automatic tests) are used to test windows, procedures and classes in an application at different levels of 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 unit tests and calculates the validation rate of the application.

WINDEV Mobile window in the editor1

2

Creating a test scenario

Record the test scenario

3 WLanguage code of test scenario

Display the test editor1

2

Using a test scenario(classes and procedures)

Run the test

3 Result of the test

Correction

To create a unit test on the current window, go to the "Automatic tests" pane, "Tests" group, expand "New" and select "Record a new scenario".

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

PART 5

WINDEV / WINDEV Mobile

Interactions

Page 36: WINDEV Mobile - Concepts...Test and generation step: WINDEV Mobile proposes several automatic test tools to guarantee the reliability of applications and to make sure that no regression

70 Part 5: WINDEV / WINDEV Mobile Interactions Part 5: WINDEV / WINDEV Mobile Interactions 71

WLanguage functionsMost of the WLanguage functions available in WINDEV are also available in WINDEV Mobile. These functions are common to the two products.Windows-specific functions are not available in WINDEV Mobile due to the differences between Windows and the various mobile operating systems (Windows Mobile, Android, iOS, etc.). Likewise, some functions specific to mobile devices are only available in WINDEV Mobile.

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

WINDEV functions for Windows only

WINDEV Mobile functionsonly

Common functions

for example,HReadFirst,FileToScreen,ExtractString...

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

Functions not available due to limitations of the Mobile Device

Page 37: WINDEV Mobile - Concepts...Test and generation step: WINDEV Mobile proposes several automatic test tools to guarantee the reliability of applications and to make sure that no regression

72 Part 5: WINDEV / WINDEV Mobile Interactions

Handling character stringsDifferent 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 characters of most common 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).

UNICODEstring

S is string...

or

Using Text files

UNICODEstring

fOpen(MyFile,ANSI)fReadLine(...)

fOpen(MyFile,Unicode)fReadLine(...)

UNICODEstring

ANSI

UNICODE

Mobile Device

In Windows Mobile, when using text files containing character strings in ANSI format, WINDEV Mobile automatically converts these character strings to UNICODE/UTF-16. This conversion is performed even if the opening of this file in ANSI format is explicitly requested.This conversion is completely transparent.

Part 5: WINDEV / WINDEV Mobile Interactions 73

Character strings in Android

In Android, the character strings are handled in Unicode/UTF-8 format.

Reminder: Character strings 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.

S is ANSI string...

or

ANSIstring

Using Text files

ANSIstring

UNICODEstring

fOpen(MyFile,ANSI)fReadLine(...)

fOpen(MyFile,Unicode)fReadLine(...)

S is UNICODE string...

UNICODEstring

Windows PC

ANSI

UNICODE

The programming of character strings is identical in WINDEV and in WINDEV Mobile (with some exceptions). WINDEV automatically performs the necessary conversions.

Page 38: WINDEV Mobile - Concepts...Test and generation step: WINDEV Mobile proposes several automatic test tools to guarantee the reliability of applications and to make sure that no regression

74 Part 5: WINDEV / WINDEV Mobile Interactions

PART 6

Setup

Page 39: WINDEV Mobile - Concepts...Test and generation step: WINDEV Mobile proposes several automatic test tools to guarantee the reliability of applications and to make sure that no regression

76 Part 6: Setup Part 6: Setup 77

Installing an Android or iOS applicationSeveral 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 Google Play.

• Compilation in Xcode on Mac. The compilation in Xcode is used to create the executable application on iPhone or iPad.

• Setup: • via App Store• via an In-House network• via an Ad-Hoc network

• Setup via Microsoft Store• Direct setup on a phone• Setup on a tablet

• Setup in CAB format. This setup program is run on a Windows Mobile device.• Setup in MSI format. This setup program is run on a PC running Windows

connected to a Windows Mobile device.• Setup by direct copy of executable from the PC to the Windows Mobile device.

Page 40: WINDEV Mobile - Concepts...Test and generation step: WINDEV Mobile proposes several automatic test tools to guarantee the reliability of applications and to make sure that no regression

78 Part 6: Setup

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.

Remark: a self-signed key can be used.• copying the APK file to an Android device.• running the APK file on the Android device. This action triggers the application setup.

To run the application, all you have to do is choose its icon from the "All programs" menu.

Setup via Google Play

Google Play is a Google application. Google Play presents Android applications that can be purchased or downloaded from a unique setup interface included in Android devices.This setup consists in:• generating the application on the development computer.• signing the APK file digitally. For deployment on Google Play, it is recommended to use a real

key signed by a recognized trusted authority.• uploading the APK file to the Google Play website.

Remark: you must register on the site beforehand.Application users simply need to install the desired application directly from Google Play.

To run the application, all you have to do is choose its icon from the "All programs" menu.

Part 6: Setup 79

Setup via 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. Application users simply need to install the desired application directly from the App Store.

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.

Page 41: WINDEV Mobile - Concepts...Test and generation step: WINDEV Mobile proposes several automatic test tools to guarantee the reliability of applications and to make sure that no regression

80 Part 6: Setup

Setup via Microsoft Store

Microsoft Store is a Microsoft application. It presents Universal Windows 10 Apps that can be purchased or downloaded from a unique setup interface and included in Windows 10 devices.

This setup consists in:• generating the application on the development computer.• uploading the application to the Microsoft Store website.

Remark: you must register on the site beforehand.Users simply need to install the desired application directly from the Microsoft Store (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 application on the development computer. This setup program

corresponds to a ".CAB" file.• copying this setup program to the Windows Mobile devices of end users.

Deployment

Development computer

Create executable (Exe)

Createsetup

(.CAB file)Internet FTP Server

Memory card, USB key...

Direct copy

Startsetup

Mobile Device

Windows PC

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).

Part 6: Setup 81

Setup in MSI format

This setup consists in:• generating the executable of the application on the development computer.• generating the setup program of 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 PCs. The application will be automatically installed on the

Windows Mobile device connected to the PC. Remark: If no Windows Mobile device is connected, the setup will be performed during the next synchronization between the PC and the Windows Mobile device.

Development computer

Createexecutable (Exe)

Createsetup

(.MSI file)

Windows PC

Starting thesetup

Client 1Deployment

Connection

SETUP

Delivery

Delivery

Client 2...

Client N...

Windows PC Mobile Device

Startsetup

Setup by direct copy

This setup consists in:• generating the executable of the application on the development computer.• copying this executable to 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).

Createexecutable (Exe)

Windows PC

Development

Mobile DeviceConnection: USB, Wi-Fi, Bluetooth...

Deployment

Direct COPY

Page 42: WINDEV Mobile - Concepts...Test and generation step: WINDEV Mobile proposes several automatic test tools to guarantee the reliability of applications and to make sure that no regression

82 Part 6: Setup

PART 7

Communication

Page 43: WINDEV Mobile - Concepts...Test and generation step: WINDEV Mobile proposes several automatic test tools to guarantee the reliability of applications and to make sure that no regression

84 Part 7: Communication Part 7: Communication 85

Communication with WINDEV MobileWINDEV 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 requests,• use the telephony,• perform SOAP requests (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 is running the application.

Some examples

1. Communication by Infrared

The 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.

Connection to the socket (SocketConnectInfrared function)

Contact application

Create socket (SocketCreateInfrared function)

Contact application

Communicationby infrared

Mobile Device 1 Mobile Device 2

(SocketRead, SocketWrite, ... functions)

Page 44: WINDEV Mobile - Concepts...Test and generation step: WINDEV Mobile proposes several automatic test tools to guarantee the reliability of applications and to make sure that no regression

86 Part 7: Communication

2. Communication by Wi-Fi

The communication by Wi-Fi can be used to transfer files by FTP for example.

Transfer files by WI-FI(FTPxxxx functions, ...)

FTP server Mobile device

FTP account

AnonymousConnection to the server(FTPConnect function)

3. Communication by mobile network (3G, ...)

The communication by mobile network can be used to access a remote HFSQL database via Internet for example.

Connection to the remote database(HConnectRemoteAccess function)

Connection to Internet(NetOpenRemoteAccess function)

PC Mobile Device

GPRS GPRS

INTERNETINTRANET

Part 7: Communication 87

Managing the emails (POP3/IMAP/SMTP)POP3/IMAP and SMTP are email management protocols recognized by all service providers. These protocols allow you to communicate with the email server available at your ISP.

Remark

• POP3 and IMAP are used to receive emails.• SMTP is used to send emails.

Mobile Device

Email server(Hosting company)

Connection: Ethernet card,WI-FI, GPRS modem...

SMTP protocolSend emails

Retrieve andsend emails

POP3 protocolReceive emails

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 email session with EmailCloseSession.

Page 45: WINDEV Mobile - Concepts...Test and generation step: WINDEV Mobile proposes several automatic test tools to guarantee the reliability of applications and to make sure that no regression

88 Part 7: Communication

Handling files on an FTP serverFTP (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:

Transfer files by WI-FI(FTPxxxx functions, ...)

FTP server Mobile device

FTP account

AnonymousConnection to the server(FTPConnect function)

Transferring files by Internet:

Retrieve files FTPGet function

FTP server Mobile device

INTERNETINTRANETAnonymous

FTP account

PC

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

Part 7: Communication 89

SMS managementWith the WLanguage functions, WINDEV Mobile allows you to:• send SMSs.• navigate through incoming SMSs.• delete one or more incoming SMSs.

SMS (Short Message Service) commonly refers to text messages (up to 160 characters) sent to 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.

Create message(SMS structure)

Mobile device

Send message(SMSSend function)

Receive and readthe messages

SMS

Cell phoneSmartphone, ...

SMSApplication

1

2

3

Page 46: WINDEV Mobile - Concepts...Test and generation step: WINDEV Mobile proposes several automatic test tools to guarantee the reliability of applications and to make sure that no regression

90 Part 7: Communication

PART 8

Specific features of Windows

Mobile

Page 47: WINDEV Mobile - Concepts...Test and generation step: WINDEV Mobile proposes several automatic test tools to guarantee the reliability of applications and to make sure that no regression

92 Part 8: Specific features of Windows Mobile Part 8: Specific features of Windows Mobile 93

Managing the keyboard in Windows MobileTo allow the users of your applications to type data, the keyboard of Mobile device must be used (also called SIP for "Software Input Panel"). This keyboard allows you to:

• display a miniature keyboard at the bottom of 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).

Page 48: WINDEV Mobile - Concepts...Test and generation step: WINDEV Mobile proposes several automatic test tools to guarantee the reliability of applications and to make sure that no regression

94 Part 8: Specific features of Windows Mobile

File picker in Windows Mobile

File picker

In Windows Mobile, fSelect is used to select a file found:• in the "\My Documents" directory or one of its subdirectories.• 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.In 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.Remark: The notion of current directory does not exist in the Windows Mobile operating system. Therefore, the functions that handle the current directory (fCurrentDir for example) are not available in WINDEV Mobile and the file paths must always be absolute paths.

Part 8: Specific features of Windows Mobile 95

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.

NotesCalendar

Contacts Tasks

Databases of standard applications

cdbxxx functions(read, write)

Mobile Device

Page 49: WINDEV Mobile - Concepts...Test and generation step: WINDEV Mobile proposes several automatic test tools to guarantee the reliability of applications and to make sure that no regression

96 Part 8: Specific features of Windows Mobile

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 by the cdbXXX functions.The synchronization between the Mobile Device database (Pocket PC) and the data viewed via Outlook is performed by ActiveSync.

Mobile Device

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

Synchronization via ActiveSync

cdbxxx functions (read, write...)

Outlook

Stan

dard

data

base

cdbxxxfunctions(read,write...)

Windows PC

TasksNotes

Contacts....cdb

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

Part 8: Specific features of Windows Mobile 97

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 to 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 by the cdbXXX functions.

Dat

abas

e

cdbxxxfunctions(read, write...)

Mobile Device

Page 50: WINDEV Mobile - Concepts...Test and generation step: WINDEV Mobile proposes several automatic test tools to guarantee the reliability of applications and to make sure that no regression

98 Part 8: Specific features of Windows Mobile

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 by the cdbXXX functions.

Dat

abas

e

cdbxxxfunctions(read,write...)

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

Windows PC Mobile Device

cdbxxx functions (read, write...)

Remark: 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 function).

Part 8: Specific features of Windows Mobile 99

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 by the cdbXXX functions. The synchronization between the Mobile Device database (Pocket PC) and the Access database is performed by ActiveSync.

Mobile Device

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

Synchronization via ActiveSync

cdbxxx functions (read, write...)

Dat

abas

e

cdbxxxfunctions(read,write...)

Windows PC

Dat

abas

e

Remarks:• 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 Connector.• From Windows Vista, "ActiveSync" was replaced by the "Manager for Windows Mobile devices".

Page 51: WINDEV Mobile - Concepts...Test and generation step: WINDEV Mobile proposes several automatic test tools to guarantee the reliability of applications and to make sure that no regression

100 Part 8: Specific features of Windows Mobile

Comparison between HFSQL and CEDBTo 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 an 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 file item that will be used by ScreenToFile and FileToScreen.

HFSQL

ScreenToFile FileToScreen

1 LINEPER WINDOW

(File link)

Mobile Device

Part 8: Specific features of Windows Mobile 101

File link between a window and a Pocket PC database (CEDB)

This link must be defined by programming (cdbXXX functions).

Mobile Device

1 LINEPER CONTROL

CEDB

ctlCaption=cdbCol("MyDatabase",..."Schedule","Caption")ctlContrib=cdbCol("MyDatabase",..."Schedule","Contrib")...

cdbWriteCol("MyDatabase",..."Schedule","Caption",ctlCaption)cdbWriteCol("MyDatabase",..."Schedule","Contrib",ctlContrib)...

(No file link)

Other differences

Using HFSQL databases (Classic or Client/Server) gives you the following advantages (non-exhaustive list):• Speed of the HFSQL database.• Queries on HFSQL databases (created with the query editor included in the product).• Fast application development via Full Application RAD.• HFSQL-specific features (encryption, etc.).

Page 52: WINDEV Mobile - Concepts...Test and generation step: WINDEV Mobile proposes several automatic test tools to guarantee the reliability of applications and to make sure that no regression

102 Part 8: Specific features of Windows Mobile

Interaction with a WINDEV applicationThe functions for accessing Mobile Devices (Pocket PCs) allow access from a WINDEV application.

Dat

abas

eW

IND

EV M

obile

appl

icat

ion

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

WD2X0CE.DLL

Start applications

cdbxxx access (read, write...)

File

s

Mobile Device

Windows PC

Copy files

WINDEV Mobile is supplied with several examples that use the functions for accessing Mobile Devices:• PC Registry.• PC Explorer.

These examples can be used on a PC.

Part 8: Specific features of Windows Mobile 103

Handling a Windows Mobile device from a WINDEV applicationThe following WLanguage functions are used to access the Windows Mobile devices connected to a PC from a WINDEV application:

ceConnect Connects the current computer to a Mobile Device (Pocket PC).

ceConnectionStatus Used to find out the status of the connection between the current computer and a Mobile Device (Pocket PC).

ceCopyFile Copies one or more files:• from the current computer to the connected Mobile Device (Pocket

PC).• from the connected Mobile Device (Pocket PC) to the current

computer.• from the connected Mobile Device (Pocket PC) to another directory

found on the Mobile Device (Pocket PC).

ceCreateShortcut Creates a shortcut on the Mobile Device (Pocket PC) connected to the current computer.

ceDeleteFile Deletes a file from the Mobile Device (Pocket PC) connected to the current computer.

ceDeleteShortcut Deletes a shortcut that was created by ceCreateShortcut.

ceDir Finds a file or a directory on the Mobile Device (Pocket PC) connected to the current computer.

ceDisconnect Closes the connection between the current computer and the Mobile Device (Pocket PC).

ceFileDate Returns or modifies the different dates associated with a file (creation, modification or access).

ceFileExist Checks the existence of a file found on the Mobile Device (Pocket PC) connected to the current computer.

ceFileSize Returns the size (in bytes) of a file found on the Mobile Device (Pocket PC) connected to the current computer.

ceFileTime Returns or modifies the different times associated with a file (creation, modification or access). This file is found on the Mobile Device (Pocket PC).

ceListFile Lists the files found in a directory (and in its subdirectories) and returns the number of listed files. The directory used is found on the Mobile Device (Pocket PC) connected to the current computer.

ceMachineName Returns the name of the Mobile Device (Pocket PC).

ceMakeDir Creates a directory on the Mobile Device (Pocket PC) connected to the current computer.

ceOEMInfo Returns the OEM information of the Mobile Device (Pocket PC) connected to the current computer.

cePlatform Returns the name of the platform for the Mobile Device (Pocket PC) connected to the current computer.

Page 53: WINDEV Mobile - Concepts...Test and generation step: WINDEV Mobile proposes several automatic test tools to guarantee the reliability of applications and to make sure that no regression

104 Part 8: Specific features of Windows Mobile

cePowerStatus Used to get various information about the main or secondary battery of the Mobile Device (Pocket PC).

ceProcessorType Returns the type of processor on the Mobile Device (Pocket PC) connected to the current computer.

ceRegistryCreateKey Creates a key in the registry of the Mobile Device (Pocket PC) connected to the current computer.

ceRegistryDeleteKey Deletes a sub-key from the registry of the Mobile Device (Pocket PC) connected to the current computer.

ceRegistryDeleteValue Deletes a value from the registry of the Mobile Device (Pocket PC) connected to the current computer.

ceRegistryExist Checks the existence of a key in the registry of the Mobile Device (Pocket PC) connected to the current computer.

ceRegistryFirstSubKey Identifies the key found after the specified key in the registry of the Mobile Device (Pocket PC) connected to the current computer.

ceRegistryListValue Returns the name (and possibly the type) of the values for a registry key of the Mobile Device (Pocket PC) connected to the current computer.

ceRegistryNextKey Identifies the key found after the specified key in the registry of the Mobile Device (Pocket PC) connected to the current computer.

ceRegistryQueryValue Reads the value of a register from the registry of the Mobile Terminal (Pocket PC) connected to the current station.

ceRegistrySetValue Writes a value in a register in the registry of the Mobile Device (Pocket PC) connected to the current station.

ceRegistrySubKey Identifies the path of the Nth sub-key in the registry of the Mobile Device (Pocket PC) connected to the current computer.

ceRemoveDir Deletes a directory from the Mobile Device (Pocket PC) connected to the current computer.

ceRunExe Starts the execution of a program (an executable for example) from the current application. The program is run on the Mobile Device (Pocket PC).

ceSysDir Returns the path of a system directory on the Mobile Device (Pocket PC) connected to the current computer.

ceWindowsVersion Returns information about the Windows version used on the Mobile Device (Pocket PC) connected to the current computer.

ceWinEnum Used to enumerate the Windows windows currently opened on the Mobile Device (Pocket PC).

ceWinTitle Returns the title of the specified Windows window.

ceXRes Returns the horizontal resolution of the screen on the Mobile Device (Pocket PC) connected to the current computer.

ceYRes Returns the vertical resolution of the screen on the Mobile Device (Pocket PC) connected to the current computer.

Remark: these functions are WINDEV functions (and not WINDEV Mobile functions).

Part 8: Specific features of Windows Mobile 105

Synchronization software: ActiveSync, ...Several programs can be used to synchronize data (WINDEV application, email, calendar, contacts, tasks, notes, ...) between a PC and a Mobile Device (Pocket PC):• the "Manager for Windows Mobile devices", available from Windows Vista. This manager is

automatically started when the Mobile Device is connected to the PC.

• ActiveSync that can be used until 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).

Page 54: WINDEV Mobile - Concepts...Test and generation step: WINDEV Mobile proposes several automatic test tools to guarantee the reliability of applications and to make sure that no regression

106 Part 8: Specific features of Windows Mobile

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 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.

Mobile Device

Email server(Hosting company)

Connection: Internet

Outlook

PC

Retrieve andsend emails

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

Synchronization via ActiveSyncActivSyncaccount

PocketOutlook

Part 8: Specific features of Windows Mobile 107

Using a specific user accountTo 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.

Mobile Device

Email server(Hosting company)

Connection: Internet

PC

Retrieve andsend emails

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

Retrieveand send emails

OtherAccounts

PocketOutlook

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

Page 55: WINDEV Mobile - Concepts...Test and generation step: WINDEV Mobile proposes several automatic test tools to guarantee the reliability of applications and to make sure that no regression

108 Part 8: Specific features of Windows Mobile

Tools supplied with WINDEV MobileSpecific 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, ...

PART 9

Appendices

Page 56: WINDEV Mobile - Concepts...Test and generation step: WINDEV Mobile proposes several automatic test tools to guarantee the reliability of applications and to make sure that no regression

110 Part 9: Appendices Part 9: Appendices 111

Components provided with WINDEV MobileWINDEV Mobile includes projects that correspond to components. These projects contain: • a project configuration corresponding to the component. • a project configuration corresponding to the use of component. • an internal component.

These components can be opened directly from the WINDEV Mobile home window.• If the example is not installed on the computer, it will be automatically downloaded (from a PC

SOFT server) and opened.• If the example is installed on the computer, a copy is automatically made in "My mobile

projects\My examples".

A copy of the original project is opened. This allows you to work or to perform modifications on this copy. Therefore, the initial project is preserved. Each time the project is opened (via "Open an example"), you can work on the modified project or on the original project.

The examples of components provided with WINDEV Mobile are divided into 2 categories:• components that can be used from a WINDEV Mobile application.

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

Pocket Directory Picker This example explains how to use the Directory Picker component for Pocket PC.

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

Pocket GPS Used to interrogate a GPS to retrieve a longitude, a latitude, a speed, an altitude.

Pocket Intermec Used to manage an Intermec device. Used to emulate the scanner and the imager (device for image acquisition) of the device.

Pocket Limitation This example explains how to implement a limitation system as well as a system for enabling the software on Mobile Device (Pocket PC).

Pocket Login Management Manages the identification of users in an application from a login and a password.

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

Pocket Opticon Allows you to manage the use of an Opticon device.

Pocket Paxar Allows you to use the features of bar code reader and printers of PAXAR industrial terminals.

Pocket PIDION Used to manage a Pidion device.

Pocket Signature Used to easily include a ready-to-use “Signature” control.

Page 57: WINDEV Mobile - Concepts...Test and generation step: WINDEV Mobile proposes several automatic test tools to guarantee the reliability of applications and to make sure that no regression

112 Part 9: Appendices

• components that can be used from a WINDEV application that handles the files found on Mobile Device (Pocket PC).

Component name Description

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

Additional components can be found on our website (www.windev.com).

Part 9: Appendices 113

Examples provided with WINDEV MobileThe examples provided with WINDEV Mobile are designed to help you discover the features of WINDEV Mobile. Their source code is commented and detailed.

These examples can be opened directly from the WINDEV Mobile home window: • If the example is not installed on the computer, it will be automatically downloaded (from a PC

SOFT server) and opened.• If the example is installed on the computer, a copy is automatically made in "My Mobile

projects\My examples".

The open example corresponds to the copy of the original example. This allows you to work or to perform modifications on this copy. Therefore, the initial example is stored. Every time you open the example (via the "Open an example" button), you can work on the modified or initial version. Features of some examples supplied with WINDEV Mobile.

Examples that can be used in Android only

Android Chromebook This example shows the compatibility of WINDEV Mobile applications for Android with Chromebooks.

Android Explorer This example is used to list the files and directories found on an Android device.

Android Generated Reports This example shows how to use the option "Generate the print script", which is available on Android reports.

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 Speech 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.

Android Zebra Print This example shows how to use the internal component "PrintConnectAPI", intended for printing with Zebra printers.

Android Zebra Scan This example shows how to use the internal component "ScannerDataWedge", designed for scanning bar codes with Zebra devices running on Android.

Page 58: WINDEV Mobile - Concepts...Test and generation step: WINDEV Mobile proposes several automatic test tools to guarantee the reliability of applications and to make sure that no regression

114 Part 9: Appendices

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

iOS Loan This example is used to simulate loans.

iOS Watch This example explains how to establish a dialog between an Apple Watch application and an iPhone application.

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 Bluetooth 4 This example explains how to use the Bluetooth Low Energy functions (Bluetooth LE): BTLExxx.It is an application allowing you to find the nearby BTLE devices, to connect to them and to interact with the proposed services.

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

WM Click on Chart This example is used to offset the sections of a Pie chart via a simple click.

WM CRM This example is a CRM application.

WM Expense Account This example is used to enter your expense reports and to take a snapshot in order to follow up.

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 FTP Client This example is an FTP Client.

WM Gallery Control This example shows how to use the “Image Gallery” control.

WM Geolocation This example explains how to manage proximity searches with geolocation:• search around me.• search in a city, at a given address, near an address.The results are displayed in a looper and in a map with markers.

WM HTML Dialog This example explains how to dialog with an HTML control. It is using the WLanguage “ExecuteJS” function and the Javascript “WL.Execute” function.

WM Managing Contacts This example presents the management of contacts for Android and iOS.

Part 9: Appendices 115

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

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 Organizer Control This example shows how to use the Organizer control on Android and iOS.

WM Password Web sites, bank accounts, ... our life is filled with passwords. With WM Password, no need to store all the passwords of your different accounts.

WM Photos This example is used to take photos and to save them with a title and keywords. A search can also be performed.The photos are stored in the application directory therefore they are private (not visible by other applications).

WM Poker This example is a game of poker for Android, iOS and Universal Windows 10 App smartphones.

WM Poll This examples is used to manage and view polls.

WM Quizz This application allows you to check your knowledge and competence on WEBDEV.This project explains how to generate an application for different platforms from the same code. This example contains an Android and iOS configuration.

WM RSS Reader This example is a reader of RSS stream for the Android and iOS devices. This application will allows you to follow the news of your favorite streams.

WM Shopping This option is used to manage several shopping lists.

WM Sports This example is a sport application used to save your performances.

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 in UWP only

UWA Notes Application for managing notes.

UWA Orders This training example presents, via a management of orders, the proper use of GUI when developing Universal Windows Platform Apps applications.

UWA Password Application for managing passwords.

UWA Stopwatch This example explains how to create a stopwatch.

Page 59: WINDEV Mobile - Concepts...Test and generation step: WINDEV Mobile proposes several automatic test tools to guarantee the reliability of applications and to make sure that no regression

116 Part 9: Appendices

Examples that can be used on a Mobile Device (Pocket PC) only

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.

Pocket Attendance This application is an attendance manager. It is used to identify the people attending a meeting.

Pocket Click on Chart This example proposes a solution used to offset the sections of a Pie chart via a simple click.

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 FTPClient This example is used to view the content of an FTP server. It can also be used to download, rename or delete files.

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 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 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 Virtual Keyboard This example proposes virtual keyboards that can be fully customized and certainly smaller than the standard keyboard of Mobile Devices (Pockets PC).

Pocket ZIP This example is used to create and handle archives (“.ZIP” files).

Part 9: Appendices 117

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

• Beach Booking.

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

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

These examples are used to manage the bookings for private beaches.You have the ability to synchronize the data typed in the two projects.

• Expense Reports.

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

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

These examples are used to manage the expense reports.You have the ability to synchronize the data typed in the two projects.

• Stocks.

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

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

These examples are used to manage the stocks.You have the ability to synchronize the data typed in the two projects.

Examples that can be used on PC only

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

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

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

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

You can find additional examples on our website (www.windev.com).

Page 60: WINDEV Mobile - Concepts...Test and generation step: WINDEV Mobile proposes several automatic test tools to guarantee the reliability of applications and to make sure that no regression

118 Part 9: Appendices