PC SOFT

ONLINE HELP
FOR WINDEV, WEBDEV AND WINDEV MOBILE

New WINDEV, WINDEV Mobile 22 feature!
WINDEV
WindowsLinuxUniversal Windows 10 AppJavaReports and QueriesUser code (UMC)
WEBDEV
WindowsLinuxPHPWEBDEV - Browser code
WINDEV Mobile
AndroidAndroid Widget iPhone/iPadApple WatchUniversal Windows 10 AppWindows Mobile
Others
Stored procedures
Benefit from the 180 new features of version 22
Almost all the new features presented in the previous pages are available in WINDEV 22.
In addition to this impressive list of new features, WINDEV 22 also proposes the new features presented in this chapter.
This version 22 of WINDEV is very rich!
Word processing
The Word Processing control available in version 22 allows you to manage documents in your applications, without any external module (nothing to install, nothing to control).
The programming is simplified and the operating more relaxing.
See new features 001 to 012.
Table control : 22 new features
The Table control of WINDEV 22 benefits from 22 new features (see new features 013 to 034).
Your applications will enhance the user experience!
Benefit from 22 new features
Benefit from 22 new features
Sheduler control : 11 new features
The Scheduler control was improved in version 22. 11 new features (see new features 035 to 045) allow you to create schedules that are even more intuitive and enjoyable.
The Scheduler control evolves as well
The Scheduler control evolves as well

Spreadsheet control
The Spreadsheet control is often used.
It benefits from 5 new features in version 22.
(see new feature 047)
The Spreadsheet control is very useful
The Spreadsheet control is very useful

Chart control
The beautiful charts are always appreciated by the end users.
The new "composite" chart is added to the impressive list of available charts.
Several features are also available for the other types of charts.
See new features 053 to 058.
More capabilities
More capabilities

ID of controls
The control ID generated in version 22 allows the external applications that access the internal information of Windows to communicate with the WINDEV applications.
Program the notes
In version 22, you have the ability to handle the repositionable notes by programming: creation, fill, deletion, move, ...
See Repositionable Notes functions for more details.
Margins in the controls
In version 22, you have the ability to independently define the 4 margins (top, bottom, right, left) for all the captions found in all controls.
The customization is even more advanced.
The margins are defined via the 7-tab technology and by programming.
The window for configuring margins in the
The window for configuring margins in the "7 tabs"

Management of large font factor by screen
Moving an application window from a screen to another one takes into account the "large font" factor per screen to automatically adapt the display (an HD screen and a 4K screen to the same PC for example).
Various new features for the controls
Other new features are also available in version 22 (see new features 013 to 058).
WINDEV Mobile in WINDEV!
In version 22, you now have the ability to use a WINDEV Mobile project in the WINDEV editor. (Note: you must own the appropriate licences)
This operating mode allows you to save a lot of manipulation time (no need to change editor) and to easily share project elements or configurations.
A project can also contain Windows, iOS, Android and UWP configurations, ...
See new features 357 and 358
Partially multilingual application : relevant GUI errors
A foreign language can be occasionally used in an application in English, to edit an invoice in the recipient language or to generate an email in another language for example.
You have the ability to disable the GUI errors for a given language, avoiding the multiplication of inconsistent errors.
7-tab interface of Looper control
The edit of loopers via the "7-tab" technology is simplified.
The space generated by resizing the "7-tab" window is used to edit more attributes.
The capabilities on the attributes are increased:
  • search
  • duplication
  • insertion
  • move by drag/drop.
Duplicating a line in a multiline zone
Very useful innovation: in the multiline controls, you now have the ability to duplicate a line from the "7 tabs".
See The Multiline Zone control for more details.
Adaptive Design in WINDEV 22 : one window, several presentations
In version 22, a window can store several types of different presentations.
The typical case is an application that will run both on PC and Tablet, whose screen sizes are quite different.
We can imagine the interface on PC with additional display areas.
On the right, 2 different presentations of this same window
On the right, 2 different presentations of this same window

Adaptive Design on internal window
The internal windows also benefit from Adaptive Design.
This allows you to prepare different Widget presentations for a dashboard, according to the resizing of Widget by the end user or to the size of screen on the device used to run the application.
A dashboard widget ...
A dashboard widget...

Additional information is displayed when it is enlarged by the end user
Additional information is displayed when it is enlarged by the end user

Automatic animation when changing layout
To improve the user experience, the transition from a presentation to another one is performed with fluidity and speed, ...
WINDEV/WINDEV Mobile
Adaptive Design is fundamental when writing applications common to PC/Mobile.
Adaptive Design allows you to maintain a single interface, a single code.
Ctrl+F2
Only the processes with code are displayed
Only the processes with code are displayed

The Ctrl+F2 combination in the window editor is used to edit the code of all the window controls.
In version 22, you now have the ability to collapse or expand the processes of your choice.
Simultaneous compilation of all configurations
The version 22 of WINDEV allows you to automatically compile all the configurations of a project.
For example:
  • an executable and a component
  • a Windows executable and a Linux executable
  • a 32-bit executable and a 64-bit executable
  • ...
The compilation errors that may differ according to the configuration are immediately displayed.
The errors of the current configuration are highlighted in order to differentiate them.
Certified exe
The applications created with WINDEV 22 can be certified by "Windows App Certification Kit" from Microsoft.
Automatic generation of classes according to the data model
From the analysis, you now have the ability to automatically generate the classes (models) corresponding to the description of the data file.
The attributes corresponding to the items are generated, with the type corresponding to the of the item (of the column).
This allows you to easily create interfaces binded (linked) to the model, thus decoupled from the database description.
Multithread
In version 22, you have the ability to call as many Webservices from as many threads as necessary.
This allows you to easily parallelize calls.
SCM in the cloud: "SCM Drive"
In version 22, the SCM can easily be hosted in the cloud.
See new feature 059 and new feature 095.
SCM : management of branches
The management of branches in the SCM becomes visual in version 22.
The operations are much easier.
See new features 099 to 104.
Custom telemetry : which the features and files are used?
Measure a specific process
Measure a specific process

The custom telemetry allows you to position "sensors" anywhere in the application.
Whenever the code is run, an information is sent to the telemetry server that aggregates this sensor.
The version 22 allows you to retrieve additional parameters, such as the name of file used, the type of created command, ...
The version 22 of telemetry is used to automatically get very accurate information about the actual use of your applications.
This allows you to make an informed decision.
Custom 2-dimensional telemetry
Number of invoices entered by country
Number of invoices entered by country

The 2-dimensional telemetry is being introduced in version 22.
This telemetry mode is used to aggregate information according to 2 "dimensions". For example: the number of invoices entered by country (without having to access the invoices!).
Heatmap regarding the use of controls in the editor
A default display mode in the window editor
A default display mode in the window editor

The halo for control use allows you to identify the most used controls.
In version 22, this halo is displayed by default in the editor.
Some applications are unused? (Date of last activity)
In any information system (IS) of a company, there are applications that are no longer used by anyone!
The version 22 of telemetry signals these applications.
The telemetry automatically signals the applications not used after 1 year and 1 week. It's up to you to decide their fate!
The information is signaled for each application version: this allows you to delete the old versions no longer used by anyone.
Faster display of telemetry results
In version 22, the telemetry results are faster to consult.
This gain is very appreciable on the applications used on a large scale (several tens of thousands of customers) for example.
Which user is using (or not) this application element?
In version 22, you have the ability to view the list of end users for a given element (window, report, query...).
The list is sorted by descending number of actions.
Telemetry : now on mobile!
In version 22, the telemetry is also available for the mobile applications (Android, iOS, UWP).
THE EXPERT OPINION
The users of mobile applications are sometimes unpredictable in their manipulations! The telemetry allows you to find out which windows and features are used.
AAF : assword required to start the AAF
To secure the use of AAFs, you have the ability to ask the end user for a password.
This password is defined by programming.
Therefore, exporting data or sending emails is mastered.
Typing a password to secure the export of data

AAF : PVT (cube rolap): comparison with a reference year
In version 22, the end user can ask to compare a given period to the same period during the previous years.
For example, compare the sales for September 2016 to the sales for September 2015 to 2010.
Or compare the first quarters only.
Comparing October 2016 with October 2015? 1 click!
Comparing October 2016 with October 2015? 1 click!

AAF : Table
The AAFs on tables are enhanced:
  • check a column in a single click,
  • filtering a column of check boxes,
  • search magnifier on headers.
(see new features 016 to 025)
A nice detail: animations have been added on some operations (such as the move of columns).
These animations are automatically deleted in TSE remote access mode.
Check or uncheck all lines in 1 click
Check or uncheck all lines in 1 click

The MQTT standard : Amazon IoT, Azure IoT
The MQTT standard allows machines to communicate.
This standard is supported by major market brokers: Amazon, Microsoft Azure, IBM Websphere, ActiveMQ, JoramMQ, Mosquitto, RabbitMQ, ...
The version 22 supports the MQTT standard.
Your applications in version 22 can connect to a broker, subscribe, publish data, ...
The MQTT standard : the operating principle
The MQTT standard is a lightweight protocol based on TCP/IP.
The architecture is based on an operating mode by publication/subscription, widely used in M2M (Machine to Machine).
In most cases, the remote sensors (machines, vehicles, ... ) publish and the applications subscribe!
For example, a temperature sensor publishes the temperature at regular intervals and the subscriber applications read this information when necessary.
The opposite is also possible.
MQTT : hwo to program in WLanguage
In version 22, a new family of functions is being introduced: the MQTT family.
The functions allow you to connect/disconnect to a broker, to publish, to subscribe, to unsubscribe, ...
You have the ability to connect via SSL, manage the automatic reconnection, manage the "KeepAlive", etc.
Sending the details of a WLanguage error by email
Programming errors may occur in an application.
Even the best developer makes mistakes from time to time!
When these errors occur on the computer of the end user, this one rushes the restart the application in most cases.
Therefore, the application designers are not aware of these errors, often caused by special cases that it would be useful to know.
An interesting new feature of version 22 allows you to easily share this useful information.
When an error occurs on the computer of the end user, the error window proposes to send the error details (with the stack, etc.) to a specified email address.
The user only has to validate the pre-filled message in his mailbox.
5 new skin templates
A skin template defines the style book of an application.
The taste and habits of end users evolve with time and trends.
Therefore, it is important to create new skin templates for the applications.
The quarterly LST newsletter (Lettre du Support Technique, and its accompanying DVD) also proposes new skin templates.
Generating the help in HTML format
The help editor integrated to WINDEV 22 now allows you to save the helps generated in HTML format.
Generating the help in PDF format
In version 22, the help editor also allows you to generate the help in PDF format.
The generated PDF can be considered as being a documentation of the application!
The integrated links allow for an easy navigation.
Help editor : Better ergonomics
The ergonomics of help editor was improved in version 22.
Lighter setup : 10M less
In version 22, the setups created for your applications are reduced by about 10 megabytes.
Therefore, the setup is faster to run.
Setup : fonts as well
The version 22 of the installer now allows you to install (if necessary) fonts in Windows.
This is useful for the custom styel books that use specific fonts for example.
Don't forget to check whether you have the rights to distribute these fonts.
MSI setup : certified
In version 22, the setups in MSI format evolve:
  • you have the ability to certify the MSI setup (Windows App Certification Kit)
  • you have the ability to sign the MSI setup
  • the MSI setup is recognized by Microsoft SCCM.
Setup : various improvements
The installer allows you to install 32-bit and 64-bit applications. The installer itself is available in 32-bit version and in 64-bit version.
Live Update: the reference network setup (found on the setup server) can be updated without constraints: while setups are in progress, ...
UWP
New available controls
Let's see the new types of controls available for UWP:
  • action bar (with hamburger button and sliding menus)
  • multiline zone
  • map
  • popup menu
  • tab
  • calendar
New features for WLANGUAGE UWP
The following new WLanguage functions are available in version 22 for UWP:
  • Album functions
  • Speech Synthesis functions
  • XML functions
  • Dialog, PhotoRunApp, EmailRunApp, StartShare, tapiDial (dialing phone numbers)
Dynamic compilation
The dynamic compilation is a very powerful concept that allows you to create or configure your code by programming.
The dynamic compilation is also available in UWP.
Dynamic check boxes and radio buttons
In version 22, the WLanguage functions of Check Box and Radio Button family allow you to dynamically add, delete and list the options found in the Checl Box and Radio Button controls.
New type in UWP
The Font type is supported in UWP.
Various new features
  • Management of images by DPI
  • Opening the application form on the store
  • Call to WinRT API
  • Support for WLanguage functions on memory zones (Mem)
  • Ability to trigger the execution of a menu option: ExecuteProcess(OPT_XXX, trtMenuOption)
322 new WLanguage functions for UWP
Among the 1400 WLanguage functions supported by WINDEV 22 in UWP, we now find the functions of Contact family, Network family and iwList family.
JAVA : memory binding
The version 22 of WINDEV allows you to bind controls to structures or classes.
JAVA : "procedure" type
The Procedure type is supported by Java.
This is useful, for example, in handling CallBack.
JAVA : class property
You have the ability to define properties of classes, which means a Setter and a Getter on a class attribute.
New WLanguage functions for JAVA
156 new WLanguage functions are available for Java.
See the entire list in the online help.
MAC
New MacOS features
156 new WLanguage functions are available for Mac.
See the entire list in the online help.
Namespace setting
WINDEV allows you to generate .Net assemblies.
You now have the ability to customize the naming of namespace for the generated assemblies.
This allows you to easily manage the plug-ins.
.Net : automatic conversion of buffer to array of bytes
In version 22, the buffers are automatically converted to arrays of bytes.
.Net : optimizing the passing of "array" parameters
In version 22, the speed for passing Array parameters to a .Net assembly is much faster.
Retrieving the return values is also faster.
Linux : Email functions: secured
The onnection to secure email servers (Gmail, ...) is now simplified with WINDEV on Linux.
Linux : Soap functions
The Soap functions are supported in Linux.
These functions are used to manage special cases of Webservice calls.
Linux : Service functions
The Systemd service is now supported.
The new Linux functions for WINDEV
89 new WLanguage constants are available for Linux.
53 new WLanguage functions are available for Linux:
StringSplitDecodeEmailSeekFirstEncode
SystemIntegerToIntegergrAxisPositiongrSeriesOpacitygrPointType
grSeriesPointTypegrSeriesTypeHCreateSubscriberReplicaHCreateMasterReplica
HCreateMoveableReplicaHDuplicateDatabaseHSetReplicationHServerMaintenance
HRecreateSubscriberReplicaHRetrieveBackupHRplManageFileHRplManageItem
HRplPassHRplFilterProcedureHTrackHTrackStop
HSynchronizeReplicaMongoAddMongoFindMongoCreate
MongoCreateCollectionMongoExecuteCommandMongoGridFSSendFileMongoGridFSFileInfo
MongoGridFSListFileMongoGridFSGetFileMongoGridFSDeleteFileMongoInfo
MongoModifyAllMongoModifyOneMongoDeteleDatabaseMongoDeleteAll
MongoDeleteOneReplicInfoReplicInitializeReplicOpen
ReplicDeleteSubscriptionReplicSynchronizeSOAPAddHeaderSOAPGetResult
SOAPEncodeResultSOAPErrorSOAPRunSOAPRunXML
SOAPPrepare
Common new features
In version 22, the WLanguage in WINDEV is substantially enriched. It takes advantage of the common new features and many evolutions.
Evolutions of OOP
The OOP evolves in version 22: constructor call syntax, singleton, ...
New constants
97 new constants are available in WLanguage in version 22: see the entire list in the online help.
New types
17 new types of variables are available in WLanguage:
AuthTokenDocumentFragmentMongoDatabase
MongoDatabaseInfoMongoFindOptionMongoCollectionMongoCollectionOption
MongoConnectionMongoGridFSMongoGridFSFileInfoOAuth2Parameters
ParagraphpdfSignaturerestRequestwsParameter
wsReturn
New properties
9 new WLanguage properties are available for WINDEV
VerticalSwipeIndicates the swipe orientation in an internal window with swipe.
TitleColorSpecifies the text color for the column title of a Table control.
WinLineDetailsReturns the name of the internal window used to display the details of a row in a Table control.
FolderModeImageDefines how the image of folders is displayed in a TreeView or TreeView Table control.
FolderImageWidthDefines the width of folder image in a TreeView or TreeView Table control
RTFWithImagesAndTablesUsed to take into account the images and tables in an RTF Static control of a report.
IndentLineDetailsDefines the left indent of the internal window used to display the details of a row in the Table control.
RichEditUsed to manage the RTF type (Rich Text Format) of a Static control in a report.
VisibleInExportAndPrintIndicates whether a table column is exported or printed.
95 new WLanguage functions available in WINDEV
95 new WLanguage functions are available for WINDEV:
OrganizerSelectedRangeRetrieves or modifies the time slot selected in a Organizer control.
AuthIdentifyPerforms an authentication via the OAuth 2.0 protocol
TooltipMaxWidthModifies the maximum width of tooltips.
CameraDisplayDisplays in a Camera control the video sequence currently transmitted by a "web camera" or by the camera of the mobile device.
CameraStopStops playing or recording a video sequence.
CameraCaptureSaves the video currently transmitted by a "camera"
CameraChangeDriverConnects the "Camera" control to a specific driver for video capture.
CameraConfigureUsed to configure the driver for video capture.
CameraStatusReturns the status of a Camera control.
CameraListDriverLists the drivers for video capture installed on the computer.
StringSplitExtracts a sub-string from a character string according to a separator in an array.
DecodeDecodes a character string.
DocLoadDictionaryLoads a dictionary in a Word Processing control
DocDeselectAllDeletes the selection in a Word Processing document
DocStartModificationStarts saving changes to a Word Processing document.
DocEndModificationEnds saving changes on a Word Processing document.
DocSeekPerforms a search in a Word Processing document
DocRedoRestores a modification that was canceled on a Word Processing document.
DocRedoOccurrenceReturns the number of changes that can be undone to a Word Processing document.
DocSaveSave a Word processing document in docx format.
DocSelectChanges the selection in a Word Processing document
DocSelectDictionarySelects the dictionary to use for the spelling checker in a Word Processing control.
DocUndoCancels a saved change on a Word Processing document.
DocUndoOccurrenceGives the number of changes that can be undone on a Word Processing document.
DocToHTMLExports a Word Processing document in HTML format
DocToTextExtracts the text content from a Word Processing control
EmailParameterConfigures the Email functions
EncodeEncodes a character string or a buffer.
InVGAModeIndicates whether the application is run in VGA mode on a mobile device
SystemIntegerToIntegerConverts a system integer into an integer
AAFPopupMenuToStringReturns the list of popup menu options actually displayed by the control.
WinCurrentLayoutReturns the index of the current layout in the window
WinChangeLayoutApplies a specific layout to a window.
WinEdCreateNoteCreates a Repositionable Note control
GPSStopDetectionStops the position tracking.
GPSLastPositionRetrieves information about the last known position
GPSDetectPositionAsks to be notified when the device gets close to a given position.
GPSStatusRetrieves the activation status of the geo-localization provider or asks to be notified when the status changes.
GPSInfoReturns the information about the localization provider used by the application for the geo-localization functions
GPSInitParameterInitializes the parameters of the WLanguage functions for geo-localization and finds a localization provider.
GPSGetPositionRetrieves information about the current position of the device.
GPSFollowMovementAsks to be regularly notified about the current device position.
GPSEndIndicates the end of use of geo-localization functions
grAxisPositionIndicates the position where a graph axis will be drawn
grSeriesOpacitySets the opacity factor of a series
grPointTypeAdjusts the point type of a particular category or value
grSeriesPointTypeModifies the type of points in a series of a graph
grSeriesTypeDefines the type for a series used in a composite chart
grSeriesLineTypeModifies the line type of a series of a chart
HDuplicateDatabaseDuplicates a database on an HFSQL server.
HServerMaintenanceRepairs the system tables of a HFSQL server.
HRetrieveBackupRetrieves locally a compressed backup from a HFSQL server.
HTrackRequests to be notified when a change occurs on a file on an HFSQL server.
HTrackStopStops sending notifications when a change occurs on a file on a HFSQL server.
iPrintDocStarts printing a Word Processing document.
LinkColorModifies the color of links in the edit controls and in the Static controls.
MongoAddAdds a document into a collection.
MongoFindFind documents according to a filter.
MongoCreateCreates a connection.
MongoCreateCollectionCreates a collection.
MongoExecuteCommandExecutes a specific command on a database or a collection.
MongoGridFSSendFileSends a file to a Mongo GridFS.
MongoGridFSFileInfoReturns information about a file in a Mongo GridFS.
MongoGridFSListFileLists the files in a Mongo GridFS.
MongoGridFSGetFileRecovers a file in a Mongo GridFS.
MongoGridFSDeleteFileDeletes a file in a Mongo GridFS.
MongoInfoReturns information about a Mongo database.
MongoModifyAllModifies all Mongo documents in the specified filter.
MongoModifyOneModifies one of the Mongo documents of the specified filter.
MongoDeteleDatabaseDeletes the Mongo database.
MongoDeleteAllRemoves all Mongo documents from the specified filter.
MongoDeleteOneRemoves one of the Mongo documents from the specified filter.
NoteLoadLoads repositionable notes saved with the NoteSave function.
NoteCreateCreates a Repositionable Note control in the window.
NoteSaveSave repositionable notes from a window or application
PDFSignPrints a signature inside a rectangular area.
SchedulerWorkingHourSpecifies the working hours
SchedulerWorkingHourResourceSpecifies the specific business hours for a resource and a possible lunch break.
SchedulerSelectedRangeRetrieves or modifies the time slot selected in a Scheduler control.
ReplicDeleteSubscriptionDeletes a replication on the replication server.
InputCursorModifies the standard rollover cursor for all the edit controls
TableAddLineWithAnimationAdds a row into a Table control with an animation.
TableStartFillingSpecifies that the filling of a memory table begins.
TableSetFocusSwitches to input mode in a given row or column of a Table control.
TableEnumBreakEnumerates the breaks found in a Table control.
TableEndFillingIndicates that the filling of a memory table is done.
TableFormulaAddAdds a calculated row to a table by providing custom calculation procedures.
TableFormulaDeleteAllDeletes all the rows added by TableFormulaAdd.
TableInsertLineWithAnimationInserts a row into a Table control with an animation
TableDeleteWithAnimationRemoves a row from a Table control with an animation.
SpreadsheetDeleteColumnDeletes a column from a Spreadsheet control
SpreadsheetDeleteLineDeletes a row from a Spreadsheet control.
DashGetWidgetPositionReturns the position of a Widget found in a Dashboard control.
LooperStartFillingIndicates that the filling of a memory Looper begins.
LooperEndFillingUsed to indicate that the filling of a memory looper is ended
Minimum required version
  • Version 22
This page is also available for…
Comments
Click [Add] to post a comment