New Features
Transcription
New Features
The new version 20 brings you unmatched efficiency, and increases your fun developing applications. Benefit provided by this version 20 new feature: This new version brings 920 new features to your teams that will make them even more efficient in our constantly evolving world. ORDER YOUR COPY OF VERSION 20 TODAY! New controls, boosted performance, increased interoperability are all part of the 920 new features found in version 20. Build on your existing experience while taking advantage of new technologies: this is the benefit provided by version 20 By switching to version 20, your applications automatically gain new features, speed and quality and support recent technology evolutions. All the flexibility of a spreadsheet directly in your applications. NEW CONTROLS 002 001 n e w f e a t u r e W D W B n e w f e a t u r e W B W M Using the Spreadsheet control W M New “Spreadsheet” control The end user can enter data and formula directly in the new Spreadsheet control of WINDEV 20. The formulas are recalculated automatically: each time a cell is modified, the spreadsheet recalculates and updates the worksheet. Data can also be injected by programming, from other window controls, variables or data file items. As a full fledge control, the Spreadsheet control is totally integrated with the rest of the application. The data entered as well as the calculation results can be used directly by the window, like with any control. Spreadsheets are some of the most commonly used business tools, The new version 20 of WINDEV offers a new type of control: the Spreadsheet control. The “Spreadsheet” control is a native control: it doesn’t require a spreadsheet software to be installed on the computer (and therefore no license to manage). With this new control, no more back-and-forth between applications, no more external software to manage! WINDEV 20, WEBDEV 20 and WINDEV Mobile 20 are your work tools. You are more efficient, your creations are more robust and faster. The constant objective for our team is clear: your satisfaction and your success, on all the environments and hardware. We are proud to introduce version 20 to you: a must have version, which will soon become your favorite version. Legend WD WB WM: the legend shows in which product the new feature is available. W D 3 WINDEV 20 WEBDEV 20 WINDEV Mobile 20 new features Benefit provided by this version 20 new feature: 003 n e w f e a t u r e W D W B THE NEW SPREADSHEET CONTROL This compatibility allows you to reuse existing spreadsheets, or to reuse calculations performed in the WINDEV 20 Spreadsheet control. Existing trade-specific spreadsheets of the company can be directly integrated into WINDEV applications: you capitalize on your company’s knowledge. When reading a worksheet created by a third-party spreadsheet software, the unrecognized functions are ignored when displaying and #Error comes up. Note that if needed this function can be programmed in WLanguage. The link with the rest of the application is easy and fast. W M Entering formulas With the new Spreadsheet control, the end user directly enters the calculation formulas. The cells used can be selected with the mouse. In version 20, the spreadsheet control offers the following essential calculation functions and operators: sum, subtraction, multiplication, division, percentages, mean, min-max, condition (IF), calculation and comparison operators ... You can also use WLanguage functions in the formulas, such as the mathematical functions, or the string functions, date functions, financial functions ,... You can also use in the formulas some WLanguage procedures created for this purpose in the application. For example the application can offer the “Shipping cost” procedure for calculating the amount based on advanced parameters: weight, volume, speed, destination country, ... The end user can use this procedure inside the spreadsheet! A worksheet in Excel... Benefit provided by this version 20 new feature: Extreme flexibility 004 n e w f e a t u r e W D W B W M AAF of the Spreadsheet control The same worksheet imported in the Spreadsheet control of a WINDEV window The AAF (Automatic Application Features, available with all WINDEV applications) are very appreciated by end users. The new Spreadsheet control in version 20 offers a large number of AAF: • selection of cells: single, row, column, rectangle, scattered groups • cell height and width • data formatting inside the cells: font, rich text, color, alignment, data formating (mask) • copy/paste, with automatic translation of the cell references in formulas • search the cell contents • undo/redo • export/import to Excel • data persistence (automatically store the content of a spreadsheet) • ... Benefit provided by this version 20 new feature: The Spreadsheet control respects accepted standards 006 f e a t u r e W D W B W D W B Quantity is int = SPRD_Spreadsheet[“A2”] SPRD_Spreadsheet[“A5”] = “Paris” A spreadsheet cell can be used like any other WINDEV control. Its properties can be modified and/or retrieved like any control. The new Spreadsheet family of functions lets you program the new Spreadsheet control found in version 20. The new SpreadsheetInsertRow function lets you insert an entire row in the spreadsheet. The new SpreadsheetRecalculateAll function forces the recalculation of all the formulas. The new SpreadsheetAddFormula function lets you provide a calculation formula for a cell. The optional programming of the Spreadsheet control is easily done in WLanguage: your teams already know how to program this control! W M Compatibility with spreadsheet software: Excel, ... The content of the spreadsheet control can be saved (or loaded) directly in Excel format (XLSX format). The Spreadsheet control is directly compatible with Excel, OpenOfficeCalc, FreeOffice, ... The Spreadsheet control reads Excel worksheet (XLS, XLSX). Benefit provided by this version 20 new feature: n e w f e a t u r e W D W B W M Initializing the Spreadsheet control W M The WLanguage code can access the spreadsheet’s cells via the “[ ]” operator. Example: Nothing to code! n e w f e a t u r e Programming the Spreadsheet control Benefit provided by this version 20 new feature: 00 5 n e w 007 The spreadsheet control can be initialized (contain values and/or formulas) as soon as it is displayed using different methods: • direct entry in the WINDEV editor • by programming • by loading an Excel file (xlsx) when initializing the control. Benefit provided by this version 20 new feature: Saves time for the end user. 008 n e w f e a t u r e W D W B Google Maps example W M New “Google maps” map control WINDEV 20 offers the new “Google Maps” type control. This new Map control lets you display “Google Maps” type maps directly in an application or a site. The map displayed is fully interactive. The end user can zoom or move within the map. Please check the “Google Maps” user license provided by Google before implementing this control. If needed, you can easily program the Spreadsheet control. Route displayed in a Google Maps control 4 5 WINDEV 20 WEBDEV 20 WINDEV Mobile 20 new features WINDEV 20 WEBDEV 20 WINDEV Mobile 20 new features Benefit provided by this version 20 new feature: • display a customer list, and open several customer forms • keep a list of customers open on a second screen • quickly switch from one window to another without losing its content and the cursor’s position The end user can also: • reorganize the tabs • close the tabs • ... Display maps, Google Maps itineraries directly in your applications. 009 n e w f e a t u r e W D W B W M The features of the “Google Maps” control (AAF) With the WINDEV 20 Map control, the end user can: • display the map in satellite or map view • zoom in and zoom out • move inside the map • see the Point of Interests (POI) found on the map. • change the view mode to Street View. All these operations are performed intuitively by the end user, using the mouse, like when using the Google Maps application. There is nothing to program in the application for the end user to benefit from these features. These features are called “AAF” (Automatic Application Features). Easily offer “browser-like” interfaces Benefit provided by this version 20 new feature: The tabs’ setting can be stored on the end-user computer. The end user easily moves around. Benefit provided by this version 20 new feature: 0 10 n e w f e a t u r e A browser-like behavior for your Windows applications, without coding anything! W D W B W M Programming the Map control 01 2 A large number of WLanguage functions in the Map family let you easily work with the Map control: • choose the address displayed on the map • put markers on the map • trace routes • retrieve the position information of a click point • ... The Map control in WINDEV is compatible with the Map control in WINDEV Mobile and the new Map control in WEBDEV 20. f e a t u r e W D W B W D W B W M Creating an MDI tab control is easy. Simply create the MDI Tab control like an actual tab control. The new Tab family of functions lets you manage multi-tab MDI. Once the control is created in the window editor, simply call the TabOpen function to add a tab containing the window. The TabOpen function accepts parameters, such as a client identifier for instance. The “+” button can be configured: you decide what its action is. For example: • open a popup menu • open a list of windows • open a new document • ... The panes can be positioned horizontally or vertically, at the top or bottom, on the left or the right. A style can be applied to the panes. Anchors apply. Program maps. n e w f e a t u r e Dynamic tabs - MDI: creation Benefit provided by this version 20 new feature: 0 11 n e w W M “Chrome-like” tabs in your WINDEV 20 applications (Dynamic tabs - MDI) This new tab management mode in version 20 lets you display several windows within the same window. Switching from one window to the other is done via tabs, using an implementation close to the browsers’ one. The tabs can be “pulled out” from the main window, to place them on a second screen for instance, making it easier to process data simultaneously. Of course, the former MDI mode is still available. What are the benefits for the end user? • open several windows simultaneously • open several customer forms simultaneously Benefit provided by this version 20 new feature: Regular WINDEV programming for a more user-friendly interface 013 n eM w feature W W D W B New VideoConference control: overview First, let’s review the difference between a “VideoConference” control, a (simple) “Camera” control and the “Multimedia” control. The multimedia control is used to play a video coming from a file. The camera control lets you display live video from the webcam on the computer where the application is installed. The videoconference control lets you display the video from a webcam on another computer, local or remote. A window containing 2 VideoConference controls, one for the local webcam and another one for the webcam of a remote computer lets you create a video conference! Version 20 of WINDEV offers the “VisoConference” type of control. Among the uses for this control: • video conferencing of course, • video + audio monitoring • audio monitoring only • telephony • ... An extended use of the control could be to perform video monitoring of premises. Video conferencing!!! Benefit provided by this version 20 new feature: No installation to perform, no codec to install. 015 f e a t u r e W D W B W D W B W M The programming of the VideoConference control is done via the Stream WLanguage family of functions. Connecting two applications with the new VideoConference control in version 20 is very easy: only two steps are needed. • 1: The first application “sets” the connection using the StreamConnect WLanguage function to start the connection. • 2: The second application is notified of the connection request in the Connection request process of the control. The application decides which action to execute: make the PC ring, accept the connection using the StreamAccept WLanguage function.... There is nothing else to manage. Synchronization, frame loss, encoding and compression of the videos, transport layer management, etc... are automatically managed by WINDEV 20. A complete example (with source code) of video conferencing is provided with WINDEV 20. Your own easy video conferencing! n e w f e a t u r e VideoConference control: How to connect two applications? Benefit provided by this version 20 new feature: 014 n e w W M New VideoConference control: automatic The VideoConference control of WINDEV 20 lets you link two applications with an audio and video channel. End users can see each others and talk live from their applications. In a classic application, each end user connected to the video conference see the image from his own webcam as well as the images of the other participants. The control can also be used in “audio” only mode, or in “video” only mode. The computers linked via video conference must have a microphone and/or a webcam. Thanks to this control, you can very easily develop collaborative work applications. The VideoConference control is compatible with all the versions of Windows: XP, Vista, 7, 8, 10... Very important and facilitating factor: the new VideoConference control doesn’t require the installation of any additional programs (no codec, no plugin, ...) on the end user’s computer. An application using VideoConference controls works instantly, without any special configuration or installation to perform. Benefit provided by this version 20 new feature: Easy programming 6 7 WINDEV 20 WEBDEV 20 WINDEV Mobile 20 new features WINDEV 20 WEBDEV 20 WINDEV Mobile 20 new features Among the new features offered, you can invert two display dimensions of the table. The end user can move a criteria from one axis to the other. For example, instead of grouping products by Color then by Material, the user can group them (in one click) by Material then by Color. This way the user can analyze the data according to his most important criteria. Significant advantage in terms of performance: this operation is instantaneous and doesn’t require a recalculation of the Cube. EVOLUTION OF THE “PVT” CUBE CONTROL 016 n e w f e a t u r e W D W B Benefit provided by this version 20 new feature: W M The end users can instantaneously reorganize the data in their PVT PV T: ma jor evolutions In version 20, the PVT (Pivot Table, or rOlap Cube) benefits from a large number of evolutions and AAF that where initiated by end user requests (often decision makers). The PVT Cube control is a major asset for applications developed with WINDEV. It is normal that it evolves constantly to offer features expected by end users. 01 8 W D W B W M In this example, it was difficult to compare the evolution of the Gross Revenue by country. / Pivoting the PVT: it is much easier to see the evolution by country, by year after the rotation Decision makers are happy! n e w f e a t u r e Pivoting a PV T Cube Benefit provided by this version 20 new feature: 0 17 n e w With the same PVT... f e a t u r e W D W B A PVT is great art! W M Inverting the dimensions (criteria) of a PV T Cube 019 Analysis by country: for each country, we can analyze the products sold/Inverting the “products” and “countries” dimensions: Analysis by product: for each of the products, we can analyze the distribution per country n e w f e a t u r e W D W B W M PV T: Multi-selection year ... y b is s ly Ana With the same PVT... In version 20, the end user can select several columns or rows at the same time (standard use of the Ctrl and Shift keys). Thanks to this new feature, all the selected columns can be deleted, grouped or ungrouped in one click. The end user can also select several cells, in order for instance to change their background color to highlight them. Benefit provided by this version 20 new feature: The end user decides what information is pertinent for the calculations 02 2 Benefit provided by this version 20 new feature: y y countr b is s ly a An n e w f e a t u r e W D W B W M Display all the rows/columns (even the blank ones) country y b is s Analy In older versions, when a column or a row didn’t contain data, it wasn’t displayed. In version 20, an option lets you display all the rows and all the columns, even the ones that don’t contain any data. This allows for an easier comparison of the data. This option is available per dimension. t y produc b is s ly a An n e w f e a t u r e W D W B W B W M Benefit provided by this version 20 new feature: Lets you use the PVT control with other data sources than a HFSQL database Symmetrical view of the data 02 1 W D Sometimes data come from heterogeneous sources (SQL Server, Oracle, MySQL, etc.) or they can’t be extracted directly from the database. For example, data extraction requires filtering or consolidating programming operations. In these cases, we need to fill the PVT control by programming. Now you can do it with version 20: simply define and fill an array of structures containing the data and define the binding of the Pivot Table control with this array of structures Benefit provided by this version 20 new feature: In version 20, the end user can pivot the PVT: switch rows and columns, and present the data in the orientation that make the most sense for the analysis to perform. The “criteria inversion” and “pivoting” AAF for the PVT control let the decision maker compare the data the way he wants, without having to program anything. f e a t u r e PV T: data from SQL Server, Oracle, MySQL ... (Fill by programming) Finally the multi-selection! 02 0 n e w 023 W M n e w f e a t u r e W D W B W M PV T: cell style Column deletion The same PVT cell can contain several pieces of data: for example a Quantity and a Gross Revenue. In version 20, it is now possible to customize the style of each cell element: color, font, background color, separation line ... In version 20, the end user can delete columns or rows. Calculations (totals, mean, ...) are recalculated. 8 9 WINDEV 20 WEBDEV 20 WINDEV Mobile 20 new features WINDEV 20 WEBDEV 20 WINDEV Mobile 20 new features 027 n e w f e a t u r e W D W B W M CHART PV T: Cancelation A new cancellation button is available in the calculation progress bar. The user has the ability then to cancel a PVT calculation. Benefit provided by this version 20 new feature: Benefit provided by this version 20 new feature: Complete customization. 024 n e w W D W B W M 028 PV T: Eye-Magnet (Conditinal formatting) on cells W D W B W B W M Benefit provided by this version 20 new feature: Easily finding a piece of data 029 The end user benefits from the Eye-magnet (conditional formatting) in the PVT, and there’s nothing to program. f e a t u r e W D In version 20, the find AAF (Automatic Application Feature) is now available. An end user can perform searches inside the cells or in the titles of a Pivot Table. Benefit provided by this version 20 new feature: n e w f e a t u r e PV T: Find AAF (Ctrl + F) The “Eye-Magnet” is a standard feature of the WINDEV edit controls. Eye-Magnet lets you modify the appearance of a control automatically based on a condition (this feature is also called “conditional formatting” by other software). For example, Eye-Magnet can turn to red the cells of a PVT whose values are negative. The Eye-Magnet feature can also be used on the cells of a Pivot table control. 0 25 n e w n e w f e a t u r e W D W B W M PV T: AAF: coloration, with memorization of the last choice W M The AAF for coloring the cell background in the PVT offers by default the previously chosen color: this avoid extra operations. PV T: A caption for each cell data Benefit provided by this version 20 new feature: A very useful little feature! A PVT cell can contain several values. What do these values correspond to? To help the end user, in version 20, the PVT can display a caption for each value. 030 n e w f e a t u r e W D W B W M PV T: AAF: addition of week/month/quarter In a PVT, the developer may not have thought of the right period for the end user. For example, if a PVT only offers months, an end user may want to display a more global grouping by quarter or semester. In version 20, a new AAF offers this ability to the end user. The periods offered are: • Year • Half-year • Quarter • Months • Fortnight • Week • Day Benefit provided by this version 20 new feature: The end user knows what he reads! 026 n e w f e a t u r e W D W B W M PV T cell: numbers, durations, dates ... Prior to version 20, a PVT cell only accepted numbers. In version 20, a PVT cell accepts data of any type: a duration, a date,... You can also use display masks adapted to the cell’s content. Benefit provided by this version 20 new feature: Configuration by the end user Benefit provided by this version 20 new feature: The PVT displays all the types of data 10 WINDEV 20 WEBDEV 20 WINDEV Mobile 20 new features 031 n e w f e a t u r e W D W B W M New type of Chart: Sunburst chart The end user can interrupt a calculation. f e a t u r e large number of data • On the other hand, this type of chart is interactive: clicking a section lets you get details about the sub-level of this section. WINDEV already offers a very large number of charts. A new type of chart is being introduced in version 20 of WINDEV. It is the “Sunburst” chart. The sunburst chart is a pie chart containing several levels of hierarchical data. For example, the chart presents data for the entire world. The first level corresponds to the data grouped by continents. The second level corresponds to the data grouped by country... A sunburst chart contains as many levels as needed. There are two advantages to this type of chart: • On one hand it allows concise and organized display of a very New sunburst chart control Benefit provided by this version 20 new feature: Represent complex data in a very visual way Reports created in version 20 support Sunburst charts. Therefore it is easy to print this chart. Benefit provided by this new feature: Easy printing 035 W M n w feature We M W D access to stored data from any type of chart In version 20, new WLanguage functions let you re-read the initialization values of a chart. For example in a bar chart, the application can retrieve the value from the index. This allows you for instance to re-read data without having to store it, or to perform calculations such as finding the min or max. Function example: grGetData, grScatterGetDataXY, grStockGetData, ... A new sunburst chart 032 n e w f e a t u r e W D W B W M Navigation in the sunburst chart control Benefit provided by this version 20 new feature: 036 f e a t u r e W D W B W D W B Access your projects anywhere in the world. 039 Benefit provided by this version 20 new feature: W M In a chart, when the cursor hovers a piece of data, a tooltip comes up. By default, the tooltip contains the value and caption of the series and the category. The content can be customized. In version 20, the tooltip improves its presentation: • the tooltip comes up instantly for better readability • the tooltip’s border uses the same color as the series so it can be instantly associated with it visually • the tooltip is semi-transparent so the chart is visible underneath. • an arrow points precisely to the targeted point Drill down the details of structured data n e w f e a t u r e Benefit provided by this version 20 new feature: Here a simple crosshair and multiple crosshairs 038 n e w f e a t u r e W D W B W M Projects in the cloud Managing projects in the cloud is easy. PCSCloud, a subsidiary of PC SOFT, offers the storing ans sharing of WINDEV, WEBDEV W B W M Get rid of the hardware headache when deploying: concentrate on your core competency. FULLY COMPATIBLE WITH EARLIER VERSIONS No migration is needed between WINDEV 7.5, 8, 9, 10, 11, 12, 14, 15, 16, 17, 18 or 19 and WINDEV 20: all you have to do is recompile the application for it to work in version 20. Switching from WEBDEV 7, 9,10, 11, 12, 14, 15, 16, 17, 18 or 19 to WEBDEV 20 is also very easy. Benefit provided by this version 20 new feature: Simplifies the reading of a chart’s data. 037 n e w f e a t u r e W D W B Existing components (version 8, 9, 10, 11, 12, 14, 15, 16, 17, 18 or 19) work directly (without the need to recompile) with applications in version 20. W M Chart crosshair Version 20 directly opens a project in version 7.5, 8, 9, 10, 11, 12, 14, 15, 16, 17, 18 or 19. Older projects (5.5, ...) must be migrated. In a line type chart, it is often hard to see the value on the axes for a point that is far from these axes. Thanks to the new reading crosshair feature now included with all charts, the end user can know precisely the value being pointed. Easy initialization W D W B WINDEV 20 respects your existing assets. Benefit provided by this version 20 new feature: f e a t u r e W D Benefit provided by this version 20 new feature: W M The Sunburst chart is filled and handled via the new WLanguage family of functions, grSunburst. The chart is initialized based on the same principle as the Treeview control: the data is organized hierarchically. The color of the sections are automatically defined, but you can also specify it by programming. n e w f e a t u r e PCSCloud also takes care of the hardware support for you when deploying your applications: hosting WEBDEV sites, hosting Webservices created with WINDEV or WEBDEV, access to your HFSQL (and HyperFileSQL) databases, storage and activation of the installation for WINDEV applications via a simple Internet link, support for universal data replication ... Here too evolutions are happening all the time and address your changing needs. filling the Sunburst chart 034 n e w Applications, sites, ... in the cloud CLOUD Charts: new look for tooltips Benefit provided by this version 20 new feature: 033 n e w and WINDEV Mobile projects, access to SCM (collaborative work), Control Center data, the storing of the configurations for the development environments of your teams. The features offered constantly evolve, and new features are introduced year around. The end user gets situated inside charts. Access data without having to store it. The new Sunburst chart control in WINDEV 20 is an interactive control. The end user can click a section of the chart to see the details about this section: the clicked section becomes the center of the chart, and around it the sub-levels are represented. And so on Clicking in the center of the chart moves up one level. The display of the detail is automatic: it is managed by the control. An animation visualizes the transition between the chart levels. The value of the data hovered by the mouse is displayed in a tooltip. By default, a radial color gradient by level is automatically managed. from this new reading crosshair feature. The user hovers a point on the chart and the crosshair comes up! If the vertical component of the crosshair cuts several lines, it displays the value for each intersection. In the case of a crosshair cutting several lines, the content of the tooltip can be customized. The color of the crosshair can be customized. The thickness of the crosshair is also customizable. W M printing the Sunburst chart And of course, different versions of your environments can coexist on your PC; a version 20 license can also run older versions (19, 18, 17, 16, 15, 14, 12, 11, 10, 9, 8, 7.5, 5.5,...) All the charts (with axes) in WINDEV 20 automatically benefit 12 13 WINDEV 20 WEBDEV 20 WINDEV Mobile 20 new features WINDEV 20 WEBDEV 20 WINDEV Mobile 20 new features 042 ENVIRONMENT 040 n e w f e a t u r e W D W B W B W M THE NEW PROJECT MONITORING CENTER The project manager tracks his project with confidence (and methodically). 043 n e w f e a t u r e W D W B W M Project Monitoring Center: “developer” benefits With the Project Monitoring Center, the developer can at any time access an overview of the tasks to perform: • scheduled tasks • critical tasks that are blocking other developers • bug to process • tasks passed their original deadline • ... This way the developer can choose the tasks that have an instant impact on the project’s progress. The list of bugs for his modules is constantly visible. This way the developer is freed from time management constraints, and has a better understanding of all the tasks and their impact. Reduce the complexity of project management. W D W B Benefit provided by this version 20 new feature: Benefit provided by this version 20 new feature: f e a t u r e W D The Project Monitoring Center lets you, as its name suggests, easily track projects of any size. The project manager can view the dashboard for a single developer or a set of developers. The project manager can edit and manage the requirement list. The project manager can set and follow the developers’ schedule in real time, and control the project’s progress this way. A Gantt chart can be created at any time. The Project Monitoring Center is suited to all development methods, and especially to the “agile” development method. W M The “Project monitoring Center” goes through a radical makeover in version 20. The Project Monitoring Center now groups all the information about the projects in a dashboard-like interface. It now includes the information from the Quality Control Center: the information is integrated in the same interface. Tabs provide an intuitive navigation between the various functionalities: task list, requirement list, bug tracking, statistics, charts, ... Agile development becomes easier. n e w f e a t u r e Project Monitoring Center: “Project manager” benefits Project Monitoring Center: integrated project management in a single tool 041 n e w W M Project Monitoring Center: overview display The Project Monitoring Center has its own dashboard. Among the available widgets, the following new widgets are being introduced: • schedule completion progress bar (requirement completion) • list of tasks and task activations in progress • detection of blocked requirements • display of the basic information about a contributor • display of the current task for a contributor • distributions of the bugs waiting to be corrected by contributor • bug count by contributor • audit of a requirement list • counter for pending requests • list of pending bugs • requirement distribution • ... This overview lets you take in all the essential dials in one glance: smart decision making is made easier. Benefit provided by this version 20 new feature: The Project Monitoring Center plots the way, effortlessly... 044 n e w f e a t u r e W D W B W M Project Monitoring Center: “customer” benefits Here, the “customer” is either the company that hired the internal development team, or the customer that contracted a thirdparty to develop their applications. Thanks to the improved project monitoring due to the new Project Monitoring Center, delivery times are controlled better, which reduces the time to delivery. Since projects are better managed, departments get along better. Once the program is released, the Project Monitoring Center offers faster bug fixing, and better change request tracking. Benefit provided by this version 20 new feature: Overview = better decision making. Benefit provided by this version 20 new feature: The customer gets his programs faster and with a better quality. 14 15 WINDEV 20 WEBDEV 20 WINDEV Mobile 20 new features WINDEV 20 WEBDEV 20 WINDEV Mobile 20 new features 045 n e w f e a t u r e W D W B 047 W M Background recompilation n e w f e a t u r e W D W B W M 051 Looking for a project in the home window Nothing is more frustrating for a developer than having to wait until a project has finished compiling before being able to continue working on it. In version 20, no need to wait anymore. When is a recompile started? For example, when a project is opened for the first time on a new computer, it must be completely recompiled. In older versions, this recompilation meant you couldn’t use the environment until it was done. In version 20, the recompilation happens in the background, and so the developer can start using the editor right away. WINDEV 20 offers you a new project compilation mode in the background. When this mode is activated, the developer keeps control of the editor and can remain productive. The home window of WINDEV 20 lets you find a project in the list of pinned recent projects. Benefit provided by this version 20 new feature: Useful when the list contains a large number of projects. 048 n e w f e a t u r e W D W B n e w f e a t u r e W D W B W M Image differences during a copy When copying an image in the place of an existing image in the project, the conflict resolution window displays (in addition to the sizes, dates and times) an image of the differences between the two images so you can easily see what was modified. W M Faster simultaneous searches You can start several searches in parallel in a project. In version 20, optimization have been made: the editor is more interactive. Benefit provided by this version 20 new feature: Borders are becoming very sophisticated in WINDEV 20 Saves time. Benefit provided by this version 20 new feature: With the new borders, your controls become works of art! A click is all it takes to enable the background compilation. 0 49 Benefit provided by this version 20 new feature: In version 20, no more waiting while compiling. 046 n e w f e a t u r e W D W B n e w f e a t u r e W D W B Evolution of the image catalog: svg vector format W M a UI window + a code window displayed simultaneously on the screen The differences between the images jump at you Easily spot the most subtle differences! Benefit provided by this version 20 new feature: Enlarge images with no quality loss 050 n e w f e a t u r e W D W B W M Image catalog: dozens of millions of photos available with Fotolia Fotolia is an international professional image bank that offers millions of photos, images and drawings. The WINDEV 20 image catalog lets you search directly inside the Fotolia library. A Fotolia user account is required for using this new feature. Additional cost may apply depending on the image selected. Check the Fotolia license. n e w f e a t u r e W D W B W M “super” borders for controls! W B W M The keyboard navigation order is recalculated automatically after each addition or movement Benefit provided by this version 20 new feature: Millions of photos available for your windows, pages and reports. Benefit provided by this version 20 new feature: W D A control can have a border. The control borders are improved in version 20 of the window editor. A large number of new parameters are being introduced: • you can define a different thickness, color, style for each of the 4 border lines • rounded corner can be define for each corner. • when the color of each rounded border line is different, a gradient is automatically applied. The border is edited either via the “7-tab” technology, or it is modified directly via the mouse in the window editor. Benefit provided by this version 20 new feature: Note the 3 code windows on the right screen f e a t u r e Currently, the window editor recalculates the optimum navigation order for the window controls when the developer uses the following option: Ribbon of the window editor, Navigation..Define automatically option. The developer has to think of it, otherwise the navigation between the controls via the TAB key may be surprising! In version 20, the recalculation of the tabulation order is done automatically after each addition, deletion and especially when moving a control, changing tab ... Of course the older mode is still available. WINDOW EDITOR 052 n e w tabulation order recalculated for each modification Benefit provided by this version 20 new feature: The image catalog in WINDEV 20 lets you save cliparts in SVG (Scalable Vector Graphic) format. Thanks to this format, the cliparts can be anchored in windows and pages and keep all their definition when resized: no more aliasing! In version 20, the environment editors can be torn from the main window. A common use is the simultaneous editing of a UI window and its code. The code editor will be detached from the environment, and displayed side by side, on a second screen for instance. Having both the code and the UI in front of your eyes makes you more productive! You can also detached the project dashboard to keep it always visible. 053 W M Moving between controls with the TAB key is logical for the end user No more back-and-forth 16 17 WINDEV 20 WEBDEV 20 WINDEV Mobile 20 new features WINDEV 20 WEBDEV 20 WINDEV Mobile 20 new features 05 4 n e w f e a t u r e W D W B size for a control (table, scheduler, calendar,...) when it is included in a UI. The new commands “Spread in width”, “Spread in height”, and “Spread” calculate the maximum size that the control can take in the window, and resize it instantly. Use example: in this mode, a developer sets a control in the middle of the window, and the control automatically takes up all the available space, aligning with the top left corner! (presentation margins are respected, of course). W M Using anchor when resizing Benefit provided by this version 20 new feature: No more struggle! 057 n e w f e a t u r e W D W B W M Window comparison gets richer in version 20. It is now possible to also list the style differences between two windows. Of course you can automatically apply one or more of the reported differences. In older versions, in the window editor, the resizing of a group of controls in multi-selection didn’t resize the entire group. In version 20, all the selected controls are resizable, respecting their anchoring. Benefit provided by this version 20 new feature: Benefit provided by this version 20 new feature: 055 n e w f e a t u r e W D W B 058 W M An internal window is a part of a window intended to be reused in other windows. In version 20 of WINDEV, it becomes possible to apply one or more window templates on an internal window. It is then possible to create internal windows based on these templates. This is very useful when creating widgets for the Dashboard control, or to share the presentation of the internal windows. n e w f e a t u r e W D W B W M The WINDEV 20 window editor automatically detects the presence of a dark colored text on a dark background. A UI error flags the text as it may not be readable. Similarly the editor detects a light text on a light background. Benefit provided by this version 20 new feature: Automating common elements between several internal windows allows for better reusability in projects 05 6 W D W B W M GUI error: controls with identical tooltip flagged In the window editor, when performing a copy and paste of a control, the tooltip is duplicated, and the developer doesn’t always remember to modify the content of the tooltip for the new control. In version 20, the window editor automatically flags two controls that have the same tooltip by generating a UI error. • P lets you move a control (for example on top of a tab) without affecting its lineage (here, the control will not become part of the tab, therefore the control will remain visible regardless of the tab). • TAB displays or hides the editor tooltip, which is useful when the control is small and must placed very precisely. Benefit provided by this version 20 new feature: With the new keyboard shortcuts, become a UI Ninja: quick, precise, efficient 063 n e w f e a t u r e W D W B W M Optimization of the update speed for templates The update speed for window templates has been optimized in the case of multilingual projects. f e a t u r e W D W B W D W B W M The new Update the display process lets you group the code that updates the window controls: control content, state (visible, grayed, ...), caption to update... This process will be started asynchronously by calling the WinUpdateRequest function. Benefit provided by this version 20 new feature: Make centralizing code easier 061 n e w f e a t u r e W D W B REPORT EDITOR W M Copy/paste controls: optimizing the image copy The copy/paste feature in the window editor takes into account the images used by the control: background image, border image,... The images found in an external directory are copied in the project. With the older versions of the editor, the images found in a sub-directory of the project were still copied to the project directory. In version 20 these images are not copied anymore: developers keep things organized their way! 06 4 n e w f e a t u r e W D W B W M Print preview: Ribbon The print preview in WINDEV 20 has a ribbon to offer the end user a better print configuration. The ribbon makes setting up a print job a lot more friendly. Benefit provided by this version 20 new feature: Preserve the organization n e w f e a t u r e Centralizing the code for updating a window’s controls The end of the irrelevant tooltip 060 n e w It’s always nice to save time GUI error: dark text on dark (or light text on light) flagged Internal window template f e a t u r e Benefit provided by this version 20 new feature: Window comparison is even more precise Fewer operations to perform when resizing controls n e w Benefit provided by this version 20 new feature: Improvement to a window’s diff: style diff A group of controls can be resized in a single operation, using the anchor logic 059 A tab groups the most common commands: zoom, crosshair, navigation in the report preview ... W M 062 Controls spread! In edit mode in the WINDEV 20 window editor, three new alignment options are being introduced. These options let you automatically define the largest possible Benefit provided by this version 20 new feature: Color blind people see life through rose colored glasses n e w f e a t u r e W D W B W M New keyboard shortcuts for Drag & Drop A pane on the ribbon lets you choose and configure the printer: black and white or color, A3 or A4, portrait or landscape... Four new keyboard shortcuts in the window editor make Drag & Drop easier. While moving a control via Drag & Drop, the follow keys act as: • SPACE switch the image of the moved control from the “outline” mode to the “preview” mode. The preview mode displays the image of the moved control, the outline mode only displays its outline, which is useful for large controls such as tables or treemaps. • C move the control’s point attached to the mouse. Successive pushes alternate between the initial point, the center and the four corners. This is very useful to place a control very precisely. A pane groups the export features: Word, Excel, PDF, Email with their parameters 18 19 WINDEV 20 WEBDEV 20 WINDEV Mobile 20 new features WINDEV 20 WEBDEV 20 WINDEV Mobile 20 new features 067 Benefit provided by this version 20 new feature: The ribbon brings a more modern and user-friendly interface 06 5 n e w f e a t u r e W D W B W M W D W B W M The report editor offers a preset control that lets you automatically display the page number and the number of pages. In version 20, it becomes possible to trigger the reinitialization of this type of control, during a break for instance, or at the end of a print job. This is a very useful new feature, for example when you print a set of invoices and you want of course to number the pages of each invoice independently. The iResetNbPages WLanguage function is also available to trigger the reinitialization by programming. 071 n e w f e a t u r e W D W B W M In version 20, it becomes possible to send a value back at the end of the report printing. Simply return a value in the After printing the end of the document process or assign the ..ReturnValue property. The return value is retrieved by the iPrintReport function. For example, the report can tell the application how many pages were generated. Benefit provided by this version 20 new feature: W D W B A report may contain tables. When exporting to Word a report containing tables, these tables are exported in “Word Table” format. n e w f e a t u r e W D W B W M Customizing Gantt, Organizer and Scheduler reports W M Export to Word: tables too 070 Benefit provided by this version 20 new feature: Aim right! n e w f e a t u r e W D W B n e w f e a t u r e W D W B W M W M The print preview generation for large documents has been accelerated in version 20. The gain is about 20%. The “9-image” mode becomes available on the image type controls in reports. This mode lets you define the behavior of an image in case the report is resized. The use of the “9-image” mode in reports follows the same operating mode as in windows. Simply visually define the parts of the image that make up the margins. Benefit provided by this version 20 new feature: Benefit provided by this version 20 new feature: Faster preview Easily carry over modifications to the analysis. 07 3 076 n e w f e a t u r e W D W B W M In version 20, it becomes possible to change the background image or PDF of a form report via programming. It also now possible to activate or hide the display of this image via programming. Benefit provided by this version 20 new feature: Control your reports’ background. Change the format of the reports, the images remain perfect 074 n e w f e a t u r e W D W B W M Improvement of a report diff: style diff n e w f e a t u r e W D W B W M Analysis: new, more compact, storage format (70% gain) Form report: modification of the background image or pdf Report: 9-image mode Faster preview W M Benefit provided by this version 20 new feature: f e a t u r e Reports adapts better to different print formats W M W B Tables remain tables in Word n e w Benefit provided by this version 20 new feature: W B W D Benefit provided by this version 20 new feature: 068 In version 20, it becomes possible to define the vertical anchor of a block. This way it is easy to create a report in A4 format and to plan blocks that will get bigger when printing in a different format. W D f e a t u r e Analysis: Diff and branch carry over The report can return a return code to the application 072 Number as you wish Report: vertical anchors in reports f e a t u r e n e w The Gantt report is a special report used to print data coming from a Gantt chart. WINDEV 20 lets you define an internal report to customize the display of a task in a Gantt chart. This concept is also available for the Organizer and Scheduler reports. Benefit provided by this version 20 new feature: 069 n e w 075 Benefit provided by this version 20 new feature: Customize! 066 DATA MODEL EDITOR (DATA SCHEMA) Report: return value In version 20, it becomes possible to compare two versions of an analysis and to report the modifications between these two versions. It is possible to report the modifications performed on: • the description of a data file • the descriptions of items • the links between data files • the cardinality of the links • the integrity constraints • the database connections • the full-text index • the description of the analysis. The development of branches for your applications is greatly simplified for modifications performed to the data structure. Crosshair in the preview: to make reading easier The print preview feature in version 20 offers a crosshair target. This crosshair makes reading tables with a lot of data easier. When the end user points to a piece of data with the crosshair, it is easier to find the row and column associated with that piece of data, such as a title for instance. f e a t u r e Report: reinitialization of the page numbers A pane lets you perform searches inside the report. A pane groups all the annotation functions. n e w In version 20, a new internal storage format is available for analyses. The “.ana” directory containing the files that describe the analysis is simplified and compacted. In the case of a large size project, the number of files present in the analysis directory decreases 60%, and the storage size 70%. One of the consequences of these gains is that checking out an analysis from SCM is much faster. This new format becomes the default format for new analyses. An option lets you activate this format for existing analyses. Benefit provided by this version 20 new feature: The analysis directory becomes more compact Report comparison is enhanced in version 20. You can now list the style differences between two reports. This new feature lets you carry modifications over between two reports. 07 7 n e w f e a t u r e W D W B W M composite keys: tooltip in the project pane Benefit provided by this version 20 new feature: Your reports have style In version 20, the project explorer displays a tooltip when hovering a composite key. This tooltip contains the components of the composite key. There’s no need to open the data model editor, then the data 20 21 WINDEV 20 WEBDEV 20 WINDEV Mobile 20 new features WINDEV 20 WEBDEV 20 WINDEV Mobile 20 new features file description to find out the composition of a composite key! gets stuck, the remaining Action Plans are not blocked. In this case, the Software Factory will end the blocked Action Plan, it will specify the error in the return code and move on to the next Action Plan. The factory can keep going even at night! SCM (TEAM WORK) WDMSG (AUTOMATED TRANSLATION SOFTWARE) Benefit provided by this version 20 new feature: No more blockages 083 Benefit provided by this version 20 new feature: Tedious operations eliminated. 078 n e w f e a t u r e W D W B W M The project explorer displays the data files of the analysis. The data file description can be opened from the project explorer. The data model editor opens, positioned on the corresponding data file (treeview as well). Benefit provided by this version 20 new feature: Proper positioning from the get go W D W B W M 08 0 n e w f e a t u r e W D W B W M Analysis: branch copy In version 20, the comparison between two branches of a project offers to display the differences between the data models, and lets you carry these differences over from one branch to the other. (see new feature 075) The “Open Project” action of the Software Factory offers a new option allowing the opening of projects developed with an older version of WINDEV. The project will be automatically recompiled using the latest version. Benefit provided by this version 20 new feature: No need to “manually” recompile the projects 084 Easier branch management. 08 1 QUERY EDITOR f e a t u r e W D W B n e w f e a t u r e W D W B W M Queries: limit the results to “TOP -my parameter-” It is already possible to ask a query to only return a specific number of rows (records): the first 50, the first 100, the last 200, ... In version 20, you can pass as a parameter the maximum number of results you want. The parameter can be a literal value (return the first 5 results) or a percentage (return 10% of the results). Being able to change this parameter at run time is useful for instance in a Web site, when the site lets the user present the results by sets of n rows. When displaying the differences between two versions of a process, it can be difficult to see what was changed when the line is a little long or when the change only involves a few characters (a value replaced by another one for instance). In version 20, the display of the differences evolves: the modified line is colored, and the differing characters are also colored (with another color). Benefit provided by this version 20 new feature: Differences jump at you. CONTINUOUS INTEGRATION (SOFTWARE FACTORY) SELECT TOP {pMaxCustomerNbr} Customer.CustomerID AS CustomerID, Customer.LastName AS LastName, Customer.FirstName AS FirstName, Customer.Email AS Email, Customer.RewardPoints AS RewardPoints FROM Customer 082 Benefit provided by this version 20 new feature: n e w f e a t u r e W D W B W M Maximum duration OF an Action Plan Top queries! In version 20, it becomes possible to set the maximum amount of time for running an Action Plan in the Software Factory. This new feature improves security: if one of the Action Plan 22 WINDEV 20 WEBDEV 20 WINDEV Mobile 20 new features W B W M In version 20, the Software Factory offers a new action: adding elements to the project. Code comparison: detailed display W M W D New action: adding elements to the project Benefit provided by this version 20 new feature: n e w f e a t u r e Opening older version projects Analysis: positioning of the treeview 079 n e w Reminder: WDMSG is an optional tool of WINDEV, WEBDEV and WINDEV Mobile used to industrialize the translation of projects. Its dictionary automatically learns from the translations already performed. Benefit provided by this version 20 new feature: More flexibility 085 n e w f e a t u r e W D Running an Action Plan from a WINDEV application Thanks to the ActionPlanExecute WLanguage function, you can trigger the execution of an Action Plan instance in the Software Factory directly from a WINDEV application. This lets you easily automate the running of Action Plans: for example, run the Action Plan that tests the application from a batch application. The result of the Action Plan execution can be retrieved by providing a monitoring procedure to the ActionPlanExecute function. Benefit provided by this version 20 new feature: Control the Software Factory from another application 086 n e w f e a t u r e W D W B W M Integration with the Software Factory In version 20, WDMSG is completely integrated with the Software Factory. WINDEV 20, a golden version: Design & Performance Benefit provided by this version 20 new feature: New actions are offered for: • checking out the resources to translate • checking in the resources from your Action Plan You choose! Benefit provided by this version 20 new feature: 08 9 Automate the translation of your projects with the Software Factory 087 n e w f e a t u r e W D W B W M Displaying the custom-folders When selecting the project elements to check out for translation, WDMSG now displays the custom-folders. The presentation of the project elements is similar to the one in the WINDEV editors. n e w f e a t u r e W D W B W M UI ARCHITECTURE - OOP MODEL-VIEW-PRESENTER (MVP) MVP: what’s behind the acronym M: Model. This is the class that contains the business data, as well as the business logic. V: View. This is the window with its controls, its local procedures, processes... P: Presenter layer. It groups all the processes needed to display the data, the layout as well as the button processes ... Benefit provided by this version 20 new feature: You know everything about the MVP Benefit provided by this version 20 new feature: Consistent presentation 090 CODE/UI SEPARATION: MVP MODEL - VIEW PRESENTER One strength of WINDEV is to develop from the UI window: the controls are created, and the code is then written directly in the controls. This method guarantees fast development, and easy maintenance. Another method, originating from the object oriented programming, consists in developing separately the application’s interface and code. This architectural pattern is called “model-view-presenter” (for the specialists, this is a derivative of the “model-view-controller” MVC pattern). Version 20 of WINDEV also supports the “model-view-presenter” method. n e w f e a t u r e W D W B f e a t u r e W D W B W M MVP RAD DEVELOPMENT METHOD 0 88 n e w In order to facilitate MVP developments, two new RAD patterns are being introduced: • MVP form RAD • MVP Table RAD. Depending on the structure of the data file, the MVP RAD generates the 3 MVP layers: Model, View, Presenter. The folowing are generated: • a class for the model, with the data access layer • a class for the presentation layer • the window corresponding to the view This RAD pattern also allows you to familiarize yourself with this programming architecture. All the development methods are available with WINDEV 20. W M Benefit of “model-viewpresenter” (MVP) The “model-view-presenter” architecture lets you separate the core code from the interface (windows). This architectural approach allows for a structured object programming, but requires a higher level of abstraction. This approach “forces” the separation of the code from the UI for the entire window and doesn’t allow you (theoretically) to develop a window without having structured the processes beforehand. This approach is intended to facilitate the long-term developments. The traditional programming method is, of course, still available with WINDEV. Example of code generated by RAD Benefit provided by this version 20 new feature: The object RAD! 091 n e w f e a t u r e W D W B W M Model-View-Presenter: How to easily use it? With WINDEV 20, manually (without using RAD) building an “MVP” UI is easy for OOP adepts. Here are the steps: • create a class that corresponds to the model, and that contains the business data • create a class that corresponds to the presenter layer and that uses the association (new feature #113) with the model created in the previous step • in the presenter class, if needed, you can overload members, and add formatting properties, behaviors ... • create the window (the “view”) in the WINDEV editor, as usual • instantiate the presentation class and the model in the global declaration code of the window at the window’s level • at the control level define the binding to the presentation layer (which exposes the model members and the overloads) • enter the code (for example SourceToScreen) that updates the controls in the “update the display of the window” process (see new feature #63) • for controls that trigger actions (buttons, ..) enter the code of these controls that call methods of the presentation class. This is the “manual” method for implementing “MVP”. Let’s remember though that the “MVP RAD” automatically manages all these steps! Benefit provided by this version 20 new feature: Complete control for the OOP specialists 24 25 WINDEV 20 WEBDEV 20 WINDEV Mobile 20 new features WINDEV 20 WEBDEV 20 WINDEV Mobile 20 new features the developer now has a new call syntax at his disposal. You can specify the name (and the value) of only the parameters used: WLANGUAGE Benefit provided by this version 20 new feature: n e w f e a t u r e W D W B W M Safer procedure calls. Internal Procedure An internal procedure is a procedure defined inside a process; for example, in the process of a control (button click for instance), in the process of a window, in a local or global procedure,… This internal procedure can only be called from the process where it was defined. The internal procedure has access to local variables of the process that contains it. This is an elegant and simple syntax to define the equivalent of the lambda functions. In particular, an internal procedure avoids defining global procedures that serve only locally. You can define several internal procedures in a process. You can define an internal procedure inside an internal procedure. You can also pass an internal procedure to a function (that expects a procedure as parameter) 094 n e w f e a t u r e W D W B W M Named parameters: syntax 2 (better?) In version 20, the call to a procedure can also be done by first filling its parameters in a readable way, then triggering the call. For example, to call the procedure: PROCEDURE ProcessString(InputString, mentString = “”) Option = 0, Comple- Like with syntax 1, the optional parameters that are not needed can be ignored. Benefit provided by this version 20 new feature: A better code readability 093 n e w f e a t u r e W D W B W M Named parameters: syntax 1 W M W B n e w f e a t u r e W D W B W M WINDEV 20 revolutionizes parallel programming. Recent processors have become more powerful by increasing the number of cores available. To take advantage of this evolution, application must now embrace parallel processing. Version 20 of WINDEV provides instantly useful tools to facilitate parallel processing: • the type: ParallelTask • the family of functions:Ptxxx • the keyword: MyTask This parallel programming method is mainly useful for the “process” type operations. Thanks to the new version 20, an application can run in parallel a large number of independent procedures without worrying about low level thread management: synchronization, pool management, ... A “continuation” is a task that will be executed at the end of one or more tasks. Thanks to the “continuations”, the developer doesn’t have to manage the wait for a running process in a thread or the synchronization of the ending of several threads before starting a new operation. When several tasks are running in parallel, you often need to synchronize them. For example, a task can only be executed when a set of preliminary tasks have completed. To organize the execution of parallel tasks, version 20 offers new functions: • PTExecuteAfter: the task will be executed when the specified tasks is done. • PTExecuteAfterOne: the task will be executed when one of the specified tasks is done. • PTExecuteAfterAll: the task will be executed when all the specified tasks are done. • ... Take advantage of the power of the new processors Benefit provided by this version 20 new feature: Always be on the right page 099 Easily orchestrate the execution of a succession of tasks 098 n e w f e a t u r e W D W B W M PDF File: page extraction n e w f e a t u r e W B W M When declaring a procedure, you can typecast the parameters. For example: PROCEDURE ProcessString(sInput is string) This precision allows WINDEV to check as early as compilation time that the type of parameter passed is the expected type. In version 20, this syntax is lighter. “ is” becomes a “comfort” word and can be omitted. The declaration becomes: PROCEDURE ProcessString(sInput string) Benefit provided by this version 20 new feature: A little feature for developers with coding habits: code faster 100 n e w f e a t u r e W D W B W M New syntax for the “Dialog” function The Dialog function lets you display a “rich” message box: the text and the buttons can be configured without having to create a specific window in the project. The Dialog function evolves in version 20. In the older versions, a wizard would open for entering the text and caption for the buttons. A new syntax in version 20 lets you directly specify an array of strings that contains this information. sResponse is string sResponse=Dialog( “The order form has been generated”, [ “Send by email”, “Send by fax”, “Do not send” ] ) It becomes possible then to create dialog boxes directly by programming. Benefit provided by this version 20 new feature: Clear code for clear boxes 101 n e w f e a t u r e W D W B W M New syntax of the “Input” function The WLanguage Input function benefits from the same evolution as the Dialog function where you can directly specify the caption of the displayed buttons in the code. Benefit provided by this version 20 new feature: Increased clarity. A PDF document can have several pages. In version 20, the PDFExtractPage function lets you extract a PROCEDURE ProcessString(InputString, Option=12, String2=””) W D Simplified parameter syntax Benefit provided by this version 20 new feature: Benefit provided by this version 20 new feature: In version 20, you can call a procedure and specify its parameters by their names. For example, for a procedure whose prototype is: given page from the document, and returns an image of this page. This image can be used in a window, a report, an email, ... W M Parallel programming: Sequencing of Parallel Tasks (Continuation) Parallel programming: don’t worry about threads anymore Internal procedure use example: integrated callback 097 Total readability. W D W B Traditionally, parallel processing has been programed using threads. Programming an application that executes a lot of threads whose results depend upon each other can be quite complicated. The application must control the number of threads executed in parallel in order not to overload the computer, synchronize operations, ... In version 20, the new advanced type ParallelTask is being introduced to simplify thread management. A ParallelTask type variable allows you to: • specify the procedure to execute in a task • provide the procedure’s parameters • retrieve the return value of the task • specify whether the task uses the database (whether it uses HFSQL contexts) • specify whether the task accesses UI elements • ... Benefit provided by this version 20 new feature: f e a t u r e W D Benefit from the multitasking power without having to manage threads. ProcessString.InputString = “my string” ProcessString.ComplementString = “string 2” ProcessString() n e w f e a t u r e Benefit provided by this version 20 new feature: the call can be made as follows: 095 n e w Parallel programming: new ParallelTask type ProcessString(String2:”Bingo”, InputString:”my string”) In this call, the optionparameter is not specified (it takes the default value), and the order for passing parameters is different. The parameter order is not important anymore. This syntax is especially useful when a procedure expects a large number of optional parameters, and only a few ones have a value. 09 2 096 26 27 WINDEV 20 WEBDEV 20 WINDEV Mobile 20 new features WINDEV 20 WEBDEV 20 WINDEV Mobile 20 new features 10 2 n e w f e a t u r e W D W B W M New advanced type “httpRequest” MyRequest is httpRequest MyRequest.URL = “” MyRequest.Header[“AuthToken”] = “AB123456CDE789F0” MyRequest.User = “admin” MyRequest.Password = “pwd” // Request execution MyResponse is httpResponse = HTTPSend(MyRequest) IF MyResponse.StatusCode = 403 THEN Error(“Access denied”) ELSE // The identification was successful sMyToken is string = MyResponse.Header[“AccessToken”] ... END Benefit provided by this version 20 new feature: Clearer call n e w f e a t u r e W D W B W M 5 new options for HTTP requests In version 20, 5 new options for building HTTP requests are offered in the new advanced type httpRequest: • ability to specify the HTTP verb (GET, PUT, POST, COPY...) • ability to add additional headers in the request (especially useful for calling REST web services) • ability to set the request timeout • ability to specify callbacks or progress bars to follow the sending of requests and reception of the response This new feature is compatible with the HTTP and HTTPS protocols. Benefit provided by this version 20 new feature: More granular configuration of your HTTP requests 104 n e w f e a t u r e W D W B This new type lets you directly access the details of the header and the content of the response without having to decode the buffer returned by the HTTP server. Benefit provided by this version 20 new feature: The powerful HTTPRequest function expects a large number of parameters: In order to make it easier to pass these parameters, the options needed for sending an HTTP request can now be grouped into the new WLanguage advanced type httpRequest. Also, for sending and receiving, in an httpRequest type variable, you can specify: • a progress bar control that will display the completion percentage of the request • or a callback procedure and the frequency at which this procedure will be called. Here’s the code in version 20, much more compact and readable: 103 httpResponse. Less code... 1 05 In older versions, the response to an HTTP request was a set of raw data to analyze in the program. In version 20, all the elements of a response to an HTTP request are now accessible in the WLanguage new advanced type f e a t u r e W D W B W M Secure remote command execution: “SSH” functions A server can support the SSH secure protocol to receive remote commands. In version 20, the new family of functions SSH lets you connect to an SSH server. The new functions of the SSH family let you connect, open a session, send commands to execute and retrieve the result of these commands. Benefit provided by this version 20 new feature: Control your remote servers with SSH! 1 06 n e w f e a t u r e W D W B W M Benefit provided by this version 20 new feature: Better compliance with international encryption standards, increased interoperability. n e w f e a t u r e W D W B Benefit provided by this version 20 new feature: No need to declare intermediate structures n e w f e a t u r e W D f e a t u r e W D W B W B W M Search on advanced type properties and classes Thread programming requires events to synchronize the operations. The two new advanced types AutomaticEvent and ManualEvent simplify the declaration and support of “event” objects. You don’t need to uniquely name each event. Furthermore, events declared with the new advanced types in version 20 are automatically destroyed when exiting the variable’s reach. No more risk of forgetting to call EventDestroy! My version is version 20 The WLanguage Seek function has increased power. In version 20, it can starts searches inside properties of WLanguage advanced types and in class properties. Benefit provided by this version 20 new feature: W M Arrays of arrays: Nesting of container types To handle structured data, we often need to nest sets of data into other sets of data. In version 20, it is now possible to directly nest container types (arrays, associative arrays, fixed arrays, queues, stacks and lists) between each others without having to declare intermediate 109 Benefit provided by this version 20 new feature: The code is safer ... WD WB WM Filter in “FOR EACH array” n e w f e a t u r e W D W B The FOR EACH syntax for reading arrays improves in version 20 and now lets you filter the array elements. For example, you can read an array containing a list of customers, and not process the customers whose zip code starts with “94” using the following syntax: W M Grouped multi assignments In version 20, the “multi assignment” syntax evolves and lets you assign the same value to several variables at once. For example: (x, y, z) = 0 sets the three variables x, y and z to zero Benefit provided by this version 20 new feature: // Find the customer for 94 FOR EACH Customer OF arrCustomer WITH ZipCode[=”94” // Process here END Less code. 110 W M Thread: New advanced types : AutomaticEvent and ManualEvent a is array of arrays int 108 n e w 112 DES, 3DES (triple DES) and AES are encryption algorithms. AES is the most recent and most secure version. This encryption mode is validated by the NIST (National Institute of Standards and Technology). It is used by American agencies to encrypt secret documents. DES is the older encryption standard that can be used to decode older documents. Two new WLanguage functions are being introduced: CryptStandard and UncryptStandard. These functions are used to encrypt data using the AES, DES or 3DES algorithms. The choice of block sequencing, padding and IV (Initialization Vector) are supported. These new functions are available for the Windows, Android, iOS, Java and PHP platforms, which allows for easy exchange of encrypted data between WINDEV, WEBDEV and WINDEV Mobile applications. 1 07 111 Seek, find! DES, 3DES and AES standard encrypting functions W M New advanced type “httpResponse” n e w structures. All the nesting combinations are possible: • array of arrays • array of associative arrays • associative array of arrays • array of queues • array of stacks • ... The declaration only takes 1 line! n e w f e a t u r e W D W B W M Direct reading of a multi value Benefit provided by this version 20 new feature: Even more readable source code. In version 20, it becomes possible to directly retrieve the first value of a multi value without bracketing the destination variable with parentheses. The two following pieces of code are equivalent: (my_variable) = ProcMultiReturn() my_variable = ProcMultiReturn() Benefit provided by this version 20 new feature: Simpler code. 28 29 WINDEV 20 WEBDEV 20 WINDEV Mobile 20 new features WINDEV 20 WEBDEV 20 WINDEV Mobile 20 new features 113 n e w f e a t u r e W D W B W M OOP: FRONT DESIGN PATTERN (associated objects) The following parameters can be set: • type of image: color, black & white • using the loader • single-sided or double-sided digitalization • contrast level • brightness level • ... 117 The EmailStartSMTPSession WLanguage function lets you connect to an email server. In version 20, the new optionSSL constant lets you use a secure SSL connection to the server. The servers ORANGE, FREE, GMAIL... use this protocol for instance. Benefit provided by this version 20 new feature: Benefit provided by this version 20 new feature: n e w f e a t u r e W D W B W D W B W M Sending secure email: SMTP SSL Secure connection Reduces the number of lines of code 114 Control your scanners via programming. f e a t u r e 116 W M Set the scanner’s parameters before scanning a document n e w f e a t u r e W D W B W M Reading emails: IMAP marks The IMAP protocol lets you read emails on a server and keep the emails on this server. The IMAP protocol sets “marks” on each message. read, draft, ... The new EmailGetIndicator WLanguage function lets you directly access the marks. Benefit provided by this version 20 new feature: Better support of IMAP The new TwainProperty property lets you consult and modify a large number of properties of a TWAIN scanner. If several scanners are accessible, the scanner can be chosen via the TwainSelectSource WLanguage function. W B 12 1 W M W D W B W M Benefit provided by this version 20 new feature: 64-bit support. 118 n e w f e a t u r e W D W B W M Removing spaces in a string: New WLanguage constant “NoInsideSpace” Two new constants,ccIgnoreInsideSpace and tccIgnoreInsideSpace, are being introduced in version 20. The ccIgnoreInsideSpace constant lets you format strings (using StringFormat) by deleting spaces. The tccIgnoreInsideSpace constant lets you perform searches in an array (using the ArraySeek function) and ignore the spaces found in the strings. You can also delete a given character using the new constants sscInside, ... Here. the texts were added to the image by programming Benefit provided by this version 20 new feature: Write on images 12 2 Benefit provided by this version 20 new feature: More compact code. 119 n e w f e a t u r e W D W B W M Getting the command line that started a process The ExeListProcess function evolves. In version 20, it lets you recover the command line that started a process on the computer. Typically this function allows you to choose one or more processes to stop based on their parameters. 12 0 n e w f e a t u r e W D W B Benefit provided by this version 20 new feature: Easier to code processes in response to status change f e a t u r e W D W B W M For financial transactions, the Chinese alphabet uses special characters, difficult to falsify and different from the regular Chinese characters. The NumToFinancialWritingChinese function converts a number into a string of Chinese financial characters. Benefit provided by this version 20 new feature: Print checks on your Chinese checkbook! n e w f e a t u r e W D W B W M Advanced icon type: 7 new features W M The new SysDetectLockedSession WLanguage function, as its name suggests, notifies you when the user’s session is locked (or unlocked). This is very useful, for example, to refresh a dashboard when the user unlocks his computer. n e w New “NumToFinancialWritingChinese” function 123 “i’m in, i’m out”: SysDetectLockedSession printer has 10 trees replanted immediately. Also, we favor pulp coming mainly from recycled wood (from furniture mills for instance) and from controlled forest clearing. Also our products are available without packaging or paper documentation on request. A license for 10 developers can be supplied upon request with only 2 sets of paper documentation for instance. f e a t u r e The new dTextRTF WLanguage function lets you insert rich text (in RTF format) into an image. This function applies to an image control. Kill a process PC SOFT prints “paper” documents, PC SOFT, the paper supplier or the printer, (FSC - Forest Stewardship Council - certified and PEFC - Program for the Endorsement of Forest Certification - certified) replants as many trees as used for the printing. The FSC label was created by the FSC NGO, which includes among others Greenpeace, Friends of the Earth and the WWF. For example printing 100,000 copies of a 68-page documentation on glossy paper consumes 10 trees: PC SOFT or the n e w Add an RTF text to an image: New “dTextRTF” function Benefit provided by this version 20 new feature: ENVIRONMENTAL POLICIES . When W D The ce family of functions lets you access mobile devices on Windows CE and Windows Mobile from a WINDEV application, for example to copy or retrieve files from the device. These functions are used a lot for controlling industrial devices on Windows CE. In version 20, the functions of the ce family are available for 64bit WINDEV applications. Benefit provided by this version 20 new feature: n e w f e a t u r e “ce” functions in 64-bit The new associated attribute in WLanguage lets you specify that a class is “associated” with another class. Let’s assume a class A and a class B. Class B can be associated with class A. In this case, the members, properties and public methods of class B appear as members, properties and public methods of class A. We can say that A is a “front” for B. you can overload these members in class A, to overload their behavior. This new feature avoid writing tedious rebounds in the MVP architecture. Thanks to this new feature, it becomes very easy to implement the “Front” Design Pattern in applications. No need to code all the “rebounds” from A to B! 115 n e w The advanced Icon type benefits from 7 new features in version 20: • mask • preservation of the initial format (image depth) when saving • New “Palette” property to read the color palette • support for 2-color BMP • support for 16-color BMP • support for 256-color BMP • initialization of the transparency color with an off-palette color. Benefit provided by this version 20 new feature: Even richer icons! 30 31 WINDEV 20 WEBDEV 20 WINDEV Mobile 20 new features WINDEV 20 WEBDEV 20 WINDEV Mobile 20 new features 124 n e w f e a t u r e W D W B 1 28 W M SysIcon functions The WLanguage functions in the SysIcon family (SysIconAdd...) were only accepting images. In version 20 they also accept theIcon type variables. Benefit provided by this version 20 new feature: Who can do more can do less 125 n e w f e a t u r e W D W B W M Geographical coordinates: geoAzimuth and geoDistance functions The geoDistance and geoAzimuth WLanguage functions are available for applicatins developed with the new version 20. these functions are used to calculate the distance and orientation between two points, for example points from the new Map control. n e w f e a t u r e W D W B W M MATLAB is a software dedicated to scientific calculations. Thanks to version 20 of WINDEV, applications can work in tight collaboration with Matlab. The MatLab family of WLanguage functions allows you to: • save and reload a MatLab workspace • list the MatLab variables • read and modify the value of a MatLab variable • execute MatLab operations or functions • ... Project comparison evolves in version 20. It is now possible to also compare the automated tests between two projects. You can carry differences over. This new feature lets check the evolution of the automated tests between two branches of a project in SCM for instance. Benefit provided by this version 20 new feature: Benefit provided by this version 20 new feature: Open your applications to MatLab W D W B You can modify by programming the number of options in a Radio Button or Check Box control. The two new WLanguage functions, RadioButtonCount and CheckBoxCount enable you to find out the number of options in a Radio Button or Check Box control. Useful for checking and clearing the options of a check box control by programming, without having to specify the number of options in “hard” in the code, so there’s no risk when modifying the control. n e w f e a t u r e W D W B W M The REST Web services are a special family of Web services that rely on the HTTP protocol. These Web services use the “HTTP verbs” to describe their actions. Version 20 of WINDEV offers two new advanced types: restRequest and restResponse as well as a new WLanguage function, RESTSend to facilitate the use of REST Web services. W D W B StringToTime The new WLanguage function, StringToTime, lets you convert a time stored in a character string into a Time variable. You can specify the format to analyze. Benefit provided by this version 20 new feature: Better readability of the SQL code 135 n e w f e a t u r e n e w f e a t u r e W D W B W D W B W M The code editor in version 20 also offers syntactic coloring of the HTML language directly in strings and WLanguage code. It’s a lot easier to read! W M Benefit provided by this version 20 new feature: Put yourself in the driver’s seat with the new control functions. CODE EDITOR 133 1 30 W M W M You can REST on your Web services. n e w f e a t u r e W D W B n e w f e a t u r e W D W B W M Assisted input by family W M SOAP Web services: “attribute” attribute f e a t u r e W B 6 new WLanguage functions are being introduced to help control Radio Buttons, Check Boxes, tab pane, ribbon as ell as the ActionBar control on mobiles. The execution simulator for mobile can also be controlled in test scenarios. Benefit provided by this version 20 new feature: Dynamically adapt your UI n e w W D Control freek REST Web services Benefit provided by this version 20 new feature: 127 f e a t u r e Test comparison 132 WEB SERVICES W M New RadioButtonCount, CheckBoxCount functions n e w HTML syntactic coloring 1 29 f e a t u r e 131 Better monitoring of automated tests. Geographic calculations are now possible in WINDEV applications n e w AUTOMATIC TESTS EDITOR MATL AB native call: new family of functions Benefit provided by this version 20 new feature: 126 SQL code directly in some WLanguage code without using the query editor. The assisted code input now offers potential function families, which significantly reduces the list of choices! In the case of SOAP Web services, a method of the Web service can return an object. You can force the serialization of one or more members as an XML attribute instead of a child tag. Benefit provided by this version 20 new feature: WSDL generated in the desired format Benefit provided by this version 20 new feature: Benefit provided by this version 20 new feature: A much faster assisted input It is noon, sorry, 12:00 PM ... 134 n e w f e a t u r e W D W B W M SQL syntactic coloring The code editor in version 20 offers SQL language syntactic coloring directly in strings, as well as in the WLanguage code. This new feature is very useful when you need to enter your 32 33 WINDEV 20 WEBDEV 20 WINDEV Mobile 20 new features WINDEV 20 WEBDEV 20 WINDEV Mobile 20 new features 138 n e w f e a t u r e W D W B W M 140 Linked multilingual messages Better readability of the HTML code 136 n e w f e a t u r e W D W B W D W B 144 W M When moving a project (copy for test) the project doesn’t need to be recompiled on the host machine. It is instantly operational. Benefit provided by this version 20 new feature: Comfort The flag icon indicates that the message is used in several locations in the code. A modification will therefore impact all the locations. DEBUGGER 141 n e w f e a t u r e W D W B 142 Evaluate the impact of a modification Benefit provided by this version 20 new feature: Better visibility 137 139 n e w f e a t u r e W D W B W M f e a t u r e W D W B W M Procedure automation: Start in the main thread Cross-references In the code, when the cursor is positioned on a call to a method or a procedure, the F2 keyboard shortcut lets you position the cursor in the code of the method or procedure. When there is ambiguity about the name, a window comes up for choosing which method or procedure to display. In version 20, this window benefits from several improvements, among which: • sort • find • default positioning in the same class if the code editor, is already in this class • ... n e w The code editor lets you add automation to a procedure: scheduled start via timer, start as background task in a thread, ... In version 20, you can specify that a procedure will always run in the main thread of the application, even when the call to the procedure is done from a secondary thread. It is useful to force the execution of a procedure to the main thread because it is the only thread that can handle the UI. Benefit provided by this version 20 new feature: Make thread programming easier. n e w f e a t u r e W D W B n e w f e a t u r e W D W B W M The debugger in version 20 lets you copy the state of an application’s execution stack. This new little feature is very useful for adding the execution stack into an incident report for instance. Benefit provided by this version 20 new feature: Copy, paste. XML W M Selection of the class members to display in debug mode The debugger lets you display the objects (instances and classes) being debugged. The developer sometime only wants to follow the value of some specific members. In version 20, it becomes possible to select the members of a class that will be displayed in the debugging pane. Benefit provided by this version 20 new feature: Easier class debugging 143 n e w f e a t u r e W D W B W M Breakpoint with loop counter When debugging a loop (FOR, WHILE...), the developer may want to stop only at the 35th iteration for instance. In version 20, it becomes possible to add a loop counter on the breakpoints and to specify after how many times through the loop the breakpoint should be triggered, or to modulate the breakpoints. Benefit provided by this version 20 new feature: Stop easily when you start feeling loopy! Benefit provided by this version 20 new feature: W M Copying the execution stack in the clipboard W M A debugging without interruption! Easier to analyze compilation errors W B During debugging, you can access the source code of some execution stack levels, while the source code of other stack levels may be inaccessible such as for instance the stack levels in a component. Version 20 highlights the stack levels whose source code is accessible to make debugging easier. Benefit provided by this version 20 new feature: Benefit provided by this version 20 new feature: W D Highlighting the accessible stack levels 145 When a developer traces step by step the execution of a process, it is very painful to be rudely interrupted by the execution of a timer from the application being debugged. In version 20, it becomes possible to deactivate the timers during a step by step debugging phase. The flag lets you access the crossed references, and see where the message is used f e a t u r e Sturdy stacks! Timer deactivation during debugging In case of a compilation error, the code editor can offer an automatic correction of the error. For example, the code editor can offer to automatically rename all the occurrences of a variable when its name is changed. In version 20, a small light bulb appears directly in the error pane, above the icon for the error, to offer the automatic correction. n e w Benefit provided by this version 20 new feature: W M Presentation of the automatic correction of the compilation errors f e a t u r e Moving projects: no more recompilation A multilingual message can be copied/pasted in several locations in several processes of a project. By default, these messages remain linked. modifying a message also modifies the other ones. Which is not always what you want ... In version 20, an icon flags a multilingual message that is used in several locations in the code. The popup menu of the icon lets you view the usage list. Benefit provided by this version 20 new feature: n e w 146 n e w f e a t u r e W D W B W M Improved XML serialization In version 20, a new option lets you generate nesting for class aggregations. XML serialization has improved. The class aggregation is clearly represented now in the generated XML document. Benefit provided by this version 20 new feature: Serialization respecting class aggregations. 147 n e w f e a t u r e W D W B W M “attribute” attribute When serializing an XML class, it becomes possible to choose whether a member must be serialized as a tag or as an attribute. Benefit provided by this version 20 new feature: XML document generated in desired format Easier to move inside the code. 34 35 WINDEV 20 WEBDEV 20 WINDEV Mobile 20 new features WINDEV 20 WEBDEV 20 WINDEV Mobile 20 new features AUDIT FOR OPTIMIZATION HFSQL 1 50 148 n e w f e a t u r e W D W B The dynamic audit flags non-fatal errors that may cause malfunctions in the application. In version 20, the audit also flags a Date type control assigned by programming to an invalid date. Benefit provided by this version 20 new feature: n e w W D W B W M The HFSQL Control Center is the tool of choice for HFSQL server administration. In version 20, The HFSQL Control Center gets a facelift for a better user friendliness. The main improvement is that the main window of the Control Center now offers a navigation by tab. Another expected improvement is the evolution of the querier. Benefit provided by this version 20 new feature: Correct date required 149 f e a t u r e HFSQL Control Center: more useful, richer W M Dynamic audit: invalid date in a date control n e w THE NEW HFSQL CONTROL CENTER. Try it, you’ll adopt it instantly! f e a t u r e W D W B W M Dynamic audit: optimization of the processing of zip and 7z Did you know it? Extracting a large number of files from a “zip” or “7z” archive by performing a loop on the zipExtractFile function is inefficient. The zipExtractFileList function extracts a list of files in a single operation, and is much faster. The dynamic audit in version 20 detects this case and flags it. Benefit provided by this version 20 new feature: 1 51 n e w f e a t u r e W D W B W M HFSQL Control Center: detachable tabs In version 20, the HFSQL Control Center fully benefits from a multi-screen configuration. The tabs of the HFSQL Control Center in version 20 are detachable from the main window, and can be positioned wherever you want. You can place these tabs side by side to edit them in parallel for instance. Decompress faster! NEW VERSION 20: A GREAT VINTAGE Benefit provided by this version 20 new feature: Benefit provided by this version 20 new feature: Ability to take advantage of the full display area. 152 n e w f e a t u r e W D W B Execute several request simultaneously! W M HFSQL Control Center: Simultaneously edit several queries In version 20, it becomes possible to simultaneously edit the content of several data files or queries. Each element is viewed in a tab, and it’s possible to open as many tabs as you want. 153 n e w f e a t u r e W D W B W M HFSQL Control Center: new querier The HFSQL Control center includes an integrated querier. For better ease of use, the HFSQL Control Center querier evolves in version 20. Among what’s new, it now offers: • syntactic coloring of the SQL code entered • the automatic completion for SQL commands, file names and item names • query backup • the list of the last queries used. You can execute a query in a transaction, and therefore cancel queries. Error return codes have been improved (row and column number). 36 37 WINDEV 20 WEBDEV 20 WINDEV Mobile 20 new features WINDEV 20 WEBDEV 20 WINDEV Mobile 20 new features query. All the SQL views created are kept on the HFSQL server, and they can be reused from the applications accessing the database. The application can create queries on these SQL views. An application can use SQL views to not be dependent on the physical organization of data in the database. Benefit provided by this version 20 new feature: based on SQL views don’t need to be recompiled! The SQL views bring stability to the application’s code, avoiding having to redeploy the application. No recompilation (no redeployment...) 159 Easier to type queries. f e a t u r e W D W B W M HFSQL Control Center: query history Benefit provided by this version 20 new feature: f e a t u r e W D W B W M Separation between physical structure and SQL query 1 57 n e w f e a t u r e W D W B W M n e w f e a t u r e W D W B W M When the structure of a data file changes, the applications Each update to version 20 entitles you to 15 inquiries with the free PC SOFT Technical Support. In version 20, your teams benefit from the free technical support! You’re safe... W M An SQL view can be define in two different ways: with the CRE- ATE VIEW SQL command or visually in the query editor. In the query editor all you need to do is specify that the query will be an SQL view. All the functionalities of the SQL queries are available in the definition of an SQL view: joins, conditions, aggregates ... Benefit provided by this version 20 new feature: n e w W B W M Data access performance f e a t u r e W D W B W M 163 Right definition on SQL views When an SQL view is created on the server, it accesses data using the rights of its owner. The owner can then define different rights on the SQL view for other users or groups of users. The rights are defined either with the HModifyViewRights WLanguage function or via the GRANT command. 161 W D Benefit provided by this version 20 new feature: Creating SQL views is easy! 160 f e a t u r e In which cases is it interesting to use materialized views? In the case where extracting the data of the view is a long process, and where the data doesn’t need to be real-time data. The fact that the view is available speeds up the processes that call it. For example: • statistics • reporting • data binding • selections for mailings • targeting • creating “flat” data files • ... n e w f e a t u r e W D W B W M Creating a materialized view A materialized view is created either via the data model editor, or using the CREATE MATERIALIZED VIEW SQL command. The data structure of a materialized view may have been defined in the data model editor or not. If the data structure has been defined in the data model editor, the developer will automatically benefit from the auto-completion in the code, the data binding and all the assistance available in the editors. Benefit provided by this version 20 new feature: n e w f e a t u r e W D W B W M Nice views. New: “Materialized views” SQL view: Compatibility In version 20, HFSQL offers the ability to create “SQL views”. An SQL view is a “virtual data source”, defined via an SQL W B Refine user rights Only expose the necessary data. 1 58 W D Benefit provided by this version 20 new feature: SQL view: Security Benefit provided by this version 20 new feature: New: “SQL Views”; independence and security of your data (during the commercial availability of the version). W M An SQL view can also be used for data confidentiality purposes. A typical example is to “hide” sensitive data, such as password, account numbers, medical data or personal data. Easily reuse your queries. n e w W B Benefit provided by this version 20 new feature: With the new version 20, it has never been easier to replay an SQL query or to modify it in the editor. The HFSQL Control Center now keeps a history of all the queries performed on a database: simply find the query to rerun or edit from this history. 15 5 W D An SQL view brings the application using it independence in respect to the physical structure of the data on the server. An SQL view allows you to provide the client applications of the database a data representation that is simplified and specifically tailored to the application’s needs. The application performs its queries on SQL views. If the physical data structure evolves, the SQL queries of the application don’t change! Benefit provided by this version 20 new feature: n e w f e a t u r e f e a t u r e Creating “SQL views” SQL view: Independence with respect to the physical structure of the data The HFSQL Control Center querier 15 4 n e w n e w n e w Use of materialized views Benefit provided by this version 20 new feature: Create data structures dynamically very easily 1 56 162 16 4 n e w f e a t u r e W D W B W M “Materialized views” area a concept similar to the “SQL views” (see new feature #155). The fundamental difference is that the result of a “materialized view” is physically stored on the server’s drive. Unlike an “SQL view” which is re-extracted at each call, a “materialized view” stores the data on the drive. This data will be used until the next refresh of the materialized view. The data found in a materialized view can be different from the data found in the file(s) used to create it. This type of view is interesting when there are a lot of read accesses in order to avoid overtaxing the server. In this case, the view is calculated once and stored on the server. Materialized views are not updated automatically when the data in the files they use is modified. Therefore you need to call the HRefreshView WLanguage function to update the content of the materialized view. You can also refresh the view using the REFRESH MATERIALIZED VIEW SQL command. And it is also possible to update the view via a scheduled task on the server, for example “every night”. Benefit provided by this version 20 new feature: Benefit provided by this version 20 new feature: Improved data access speed. Updating a materialized view Update whenever you want. 38 39 WINDEV 20 WEBDEV 20 WINDEV Mobile 20 new features WINDEV 20 WEBDEV 20 WINDEV Mobile 20 new features 165 n e w f e a t u r e W D W B 171 W M New item type: enumeration Better integration between WLanguage and HFSQL. W D W B 1 69 A combination is a set of values that can be combined with each other. The new Combination item type is available. This type of item lets you store combination type WLanguage variables. This new feature also facilitates data binding in applications. Benefit provided by this version 20 new feature: Better integration between WLanguage and HFSQL. n e w f e a t u r e W D W B W M Compacting and defragmenting memos In case of massive record deletions (table rows) (history purge for instance), the .MMO file containing memos doesn’t shrink in size. The deleted elements are simply converted into free blocks, which will be reused in future additions. This mechanism may lead to data fragmentation, and in the long run, impact performance. In version 20, a new option of the HReindex WLanguage function lets you compact and defragment the .MMO type files. This operation is done hot, without disconnecting and without disruption to users. 172 n e w f e a t u r e W D W B Stemming lets you perform searches on a full-text index taking into accounts the variations of a given word. This way a search on “live” will also return records containing the words “living”, “lives”, ‘’lived”. This type of search is interesting for knowledge bases (application or Internet site). This feature also lets you find both singular and plural form words. It is possible to choose the algorithm used based on the language. Among the available languages: French, English, German, Danish, Spanish, Finnish, Hungarian, Italian, Norwegian, Portuguese, Romanian, Russian, Swedish, Turkish Benefit provided by this version 20 new feature: Better search. 1 70 n e w f e a t u r e W D W B f e a t u r e W D W B A hollow word is a word to ignore during a search. Typically, links, articles: and, or, ... In version 20, you can associate a list of words to ignore with a full-text index. n e w f e a t u r e W D W B W M Lighter HFSQL context copy When creating a large number of threads (for example when using the new parallel programming features, see new feature #095), the copying of the database’s entire context may consume resources unnecessarily. Some information is often useless. A new mode for copying the context is available This mode takes into account the essential elements: • connection to the server • path and names of the data files • passwords • ... The following are not copied: • the read operations in progress • the queries in progress • the stored positions • ... Backing up the context becomes much faster. Benefit provided by this version 20 new feature: Lighter memory footprint Full-text index: synonyms 17 3 n e w f e a t u r e W D W B W M 175 hSave: adds or modifies as appropriate 174 n e w f e a t u r e W D W B n e w f e a t u r e W D W B W M 64-bit WDSQL The WDSQL tool is now available in 64-bit in addition to the 32bit version. This evolution is useful for accessing third-party databases for which you only have the 64-bit ODBC driver. Benefit provided by this version 20 new feature: 64-bit support Less code. The full-text search is more precise tion. In version 20, the ODBC driver evolves and offers support for version 3.8 of the standard. The ODBC driver offers a large number of additional features, such as: • better support of the UNICODE standard • support for transactions • multiple bookmarks on tables • wildcard search on schema tables • manage cursors by blocks The ODBC driver for HFSQL is available in 32-bit and 64-bit mode. Better interoperability. Benefit provided by this version 20 new feature: Benefit provided by this version 20 new feature: A selfie? Yes but with WINDEV 20! Benefit provided by this version 20 new feature: When a record from a data file (row) must be saved, there are two possibilities: either it’s an addition (hAdd must be called), or it’s a modification (hModify must be called). The new function hSave automatically chooses the “right” function to call, based on the situation. W M A full-text index lets you perform a search on the content of the Text type items or the Text memo type items (raw text or rich text: RTF, HTML,...). In version 20, it becomes possible to define a list of synonyms for a full-text index. This way, a search on the word “car” can also found the records containing the words “sedan”, “minivan” or “convertible” for example. W M Full-text index: hollow words Reduces disk used space, increases speed n e w W M Full-text index: stemming Benefit provided by this version 20 new feature: 168 W M The database administrator is notified. W M New item type: combination 167 W B Benefit provided by this version 20 new feature: Benefit provided by this version 20 new feature: More granular searches. f e a t u r e W D A notification is a message generated by the HFSQL server in case of an incident. As part of the automatic replication between HFSQL servers, a new type of notification allows you to be notified in case of a modification conflict. The notifications are sent directly via email, and can also be viewed in the HFSQL Control Center. Benefit provided by this version 20 new feature: n e w f e a t u r e Server replication: conflict notification An enumeration is a disjoint set of values. A new type of items is available in the HFSQL data files: the enumeration type. This type of item lets you store enumeration type variables from WLanguage. This new feature makes data binding easier for applications. 16 6 n e w 176 W M f e a t u r e W D W B W M Import Excel files into HFSQL in a single line of code (hImportXLS) ODBC driver on HFSQL: version 3.8 The ODBC driver lets you access the HFSQL databases (local, Client/Server, on Windows or Linux) from a third-party applica- n e w In version 20, the new WLanguage function, hImportXLS, lets you very easily import the content of an Excel file into a HFSQL 40 41 WINDEV 20 WEBDEV 20 WINDEV Mobile 20 new features WINDEV 20 WEBDEV 20 WINDEV Mobile 20 new features data file. By default, each column in the Excel file fills the item of same rank in the HFSQL file: 1st column into the first item, 2nd column into the 2nd item, ... You can also specify which item will be filled by which column. Remember that you can program a granular import of an XLS file using the XLS family of functions. (See new features 155 to 134) ) Benefit provided by this version 20 new feature: Benefit provided by this version 20 new feature: SQL FUNCTIONS OF HFSQL n e w f e a t u r e W D W B W M In version 20, HFSQL supports the syntax of the INSERT function, allowing you to add several rows in a file in a single query. This syntax reduces the number of calls to the server (and the number of lines of code)! This type of query is automatically generated by some tools (backup ...) This new feature allows you to replay these queries on a HFSQL database. Benefit provided by this version 20 new feature: 179 n e w f e a t u r e f e a t u r e W D W B W M SQL Views and materialized Views In version 20, HFSQL offers SQL views and materialized views. f e a t u r e W D W B W M W D W B Significant optimizations were made to the SQL query planner for executing the IN SQL command. This optimization is significant starting from 10 values in the IN command. Benefit provided by this version 20 new feature: UPDATE Customer SET CATTC = ( SELECT SUM(Invoice.GrandTotal) FROM Invoice WHERE Invoice.CustomerID = Customer.CustomerID f e a t u r e W D W B Benefit provided by this version 20 new feature: New SQL commands. n e w f e a t u r e W D W B W M The three SQL commands TOP, LIMIT and BOTTOM now accept a parameter in place of the initial value. The parameter is filled at the time the query is executed. SELECT TOP {pMaxCustomerNbr} Customer.CustomerID AS CustomerID, Customer.Name AS Name, Customer.FirstName AS FirstName, Customer.Email AS Email, Customer.RewardPoints AS RewardPoints FROM Customer Benefit provided by this version 20 new feature: Top queries! n e w f e a t u r e W D W B W M 186 The CREATE TABLE AS SQL command allows you to create a new data file from a query’s result. The data file created can, or not, be filled with the data from the query. Unlike a “materialized view”, the description of the query describing the table is not automatically stored on the server. Benefit provided by this version 20 new feature: Create data file in SQL. n e w f e a t u r e W D W B W M Regular expressions in RLIKE, REGEXP queries My favorite software! W M Configurable top, bottom and limit SQL CREATE TABLE AS command 183 W B Formatted results. W M The two SQL commands GRANT and REVOKE are being introduced in version 20. GRANT lets you grant some rights, and REVOKE to revoke them. These commands offer a large number of parameters that can define, modify and delete rights on the HFSQL server, the databases and the data files (tables). 182 W D Benefit provided by this version 20 new feature: 185 Rights management in SQL (Grant and Revoke) W M A SELECT query is a query that returns a value. It becomes possible to use SELECT queries that only return a single value instead of scalar expressions: literal numeric value or string, item value ... For instance, you can create queries of the following type: n e w f e a t u r e The CHAR SQL command converts an ASCII code to characters (it’s the equivalent of the well known Charact function in WLanguage). The CHAR command is useful for instance for inserting CR in an exit item of a query. Performance improvements 181 Use a select in an update (and more: scalar select) n e w n e w n e w Non-keyboard characters in queries: char Optimization of “in” Increased compatibility. 17 7 180 Multi insert Benefit provided by this version 20 new feature: Very simple import from Excel. No need to write two separate queries. Data independence 178 184 The new SQL commands RLIKE and REGEXP let you use regular expressions in queries. The syntax of the various databases are supported in order to facilitate the interoperability. regexp, rlike, regexp_like, not regexp, not rlike, ~, !~ n e w f e a t u r e W D W B W M Summary of the new SQL commands Version 20 offers 19 new SQL functions: configurable TOP configurable BOTTOM configurable LIMIT multi INSERT scalar SELECT Lets you select the n first records in the result of a query Lets you select the n last records in the result of a query. Lets you select the n first records in the result of a query Lets you add several records in a table Ability to use the SELECT instruction instead of a value or a column in INSERT, UPDATE, etc. CHAR/CHR Lets you convert an ASCII code to characters. CREATE MATERIALIZED VIEW Used to create a materialized view. CREATE VIEW Used to create a view. CREATE TABLE AS Lets you create a table using an alias. GRANT Used to grant rights on a HFSQL server. REGEXP/RLIKE/ ~ / REGEXP LIKE Lets you evaluate a regular expression inside an SQL query. REVOKE Lets you cancel rights on a HFSQL server DROP MATERIALIZED VIEW Used to physically delete a materialized view from the disk. DROP VIEW Used to delete a view. REFRESH MATERIALIZED VIEW Used to refresh the content of a materialized view on disk. Benefit provided by this version 20 new feature: New SQL commands. 43 WINDEV 20 WEBDEV 20 WINDEV Mobile 20 new features THIRD-PARTY DATABASES BIG DATA 189 187 n e w f e a t u r e W D W B n e w f e a t u r e W D W B W M Using Big Data RIAK W M MariaDB native access MariaDB is a database that came from a fork in MySQL (following the acquisition of MySQL by Sun then Oracle). In version 20, it is possible to natively access MariaDB databases from WINDEV and WEBDEV applications. The developer benefits from the functions in the hRead* family, the query editor and all the automations provided by native accesses. The MariaDB native access is a separate module provided with the product. The MariaDB native access is available for Windows and Linux in 32-bit and 64-bit mode. Big Data is supported by WINDEV and WEBDEV. A use example for Big Data via the RIAK database is provided in addition to the MongoDB example. This example illustrates how to program access to information found in NoSQL Big Data type database. With WINDEV 20 you’re ready for Big Data. 190 f e a t u r e W D W B n e w f e a t u r e W D W B W M Take advantage of the 200 new features in version 20 Almost all the new features you’ve discovered in the previous pages are available in WINDEV 20. In addition to this impressive list of new features, WINDEV 20 also offers the new features detailed in this chapter. Version 20 of WINDEV is really very rich! Support for MariaDB. n e w WINDEV 20 Benefit provided by this version 20 new feature: Benefit provided by this version 20 new feature: 188 Regarding the “Windows Store Apps” interface, see new features 233 to 250. W M 32-bit and 64-bit Postgresql native access Benefit provided by this version 20 new feature: A WINDEV 20 application on Windows 10 Hundreds of new features for WINDEV in version 20 Benefit provided by this version 20 new feature: 191 n e w f e a t u r e W D W B W M UI/code split MVP The split between “code/UI” via the MVP method offered in version 20 lets you isolate the code from the windows. This is a common development method, which now can be used directly in WINDEV. (see new feature 088) The native access for the PostgreSQL database is now available in 32-bit Windows, 64-bit Windows and 32-bit and 64-bit Linux. Benefit provided by this version 20 new feature: Benefit provided by this version 20 new feature: Organize your code. Improved PostgreSQL support WINDOWS 10 192 W D W B W M Windows 10 WINDEV 20 is compatible with the new Windows 10 version. Applications developed with WINDEV work without any modifications for all the versions of Windows. 44 WINDEV 20 WEBDEV 20 WINDEV Mobile 20 new features All the Windows versions. CONTROLS 19 3 n e w f e a t u r e W D W B W M New spreadsheet control • inversion of the dimensions • multi-selection of rows, columns, cells • column deletion • use of third-party databases: SQL Server, Oracle, MySQL... • ability to add a period • ... See new features 016 to 030. Benefit provided by this version 20 new feature: Benefit provided by this version 20 new feature: To make it easier to read view table controls, the end user now has the ability to zoom in the content of a table. This new feature can be used with the following controls: • table • PVT (rOlap Cube) • new spreadsheet control Zooming in is done with the mouse: CTRL + wheel. Zooming can also be programmed: ..zoom property. Improved PVT. The new “spreadhseet” control allows you to offer a spreadsheet feature directly in your applications, without having to install any additional software on the end-user machine. See new features 001 to 007. 1 96 n e w f e a t u r e W D W B W M New “Dynamic MDI tab” control Video conferencing has never been this easy. 199 n e w f e a t u r e W D W B W M AAF: Table control: zoom The new “MDI dynamic tab” control lets you create “Chrome Browser” type interfaces in your WINDEV applications. Tab management is automatic. See new features 011 to 012. f e a t u r e W D W B Buttons are even more beautiful. 2 01 n e w f e a t u r e W D W B W M Overloading button images In version 20, it becomes possible to overload the background image and the icon of the buttons based on styles. By applying a style to the button, the button inherits the border image and icon. In a window, on a given button, you can modify the image of the icon, for example to change a garbage can into a red X. In older versions, the “style refresh” operation (e.g. after modifying one of the styles in a style sheet) would reapply the initial style to the button, and restore the original icon. In version 20, the modifications are kept. Benefit provided by this version 20 new feature: Offer spreadsheets to your users and customers. n e w Benefit provided by this version 20 new feature: Benefit provided by this version 20 new feature: Benefit provided by this version 20 new feature: 194 Enriching the button’s text in the editor Keep your modifications. The end users easily navigate among the tabs. W M 1 97 New Google Maps control With this new type of control, your applications can offer mapping functionalities! See new features 008 to 010. n e w f e a t u r e W D W B On the left “regular” content of the table, on the right the same content zoomed in W M New multi level pie chart The new sunburst chart is used to visually display an important number of data in a reduced space. See new features 031 to 034. 2 00 n e w f e a t u r e W D W B W M Button control: a nice caption in RTF! n e w f e a t u r e W D W B W M “..Opacity” property on groups of controls Happiness for end users who have forgotten their glasses! A button control can contain an image and/or text. In version 20, the text can be in RTF format. The text can be enriched: bold, italic, underlined, font change, size, color ... The text will be translated via the WDMSG translation software. Everything becomes possible in the button’s caption! Modifying the opacity of several controls in a single line, it’s possible. In version 20, the ..Opacity property becomes available on groups of controls. Benefit provided by this version 20 new feature: Less code to type. 203 n e w f e a t u r e W D W B W M Infinite progress bars Adding a progress bar is a useful piece of information for the end user. Sometimes it is not possible to predict the duration or volume a process will take, and therefore it is not possible to display a progress bar corresponding to the status. Benefit provided by this version 20 new feature: No need to ask for directions! 2 02 Benefit provided by this version 20 new feature: Benefit provided by this version 20 new feature: A new type of chart. 195 n e w f e a t u r e W D W B W M 1 98 PV T control (rolap cube) In version 20, the PVT (Pivot table) evolves. We’ve analyzed and implemented in version 20 a large number of suggestions contributed by users of the Cube, while of course preserving compatibility with your existing assets. Among the new features we’ve implemented: • pivoting the table Examples of buttons whose text has been enriched with RTF n e w f e a t u r e W D W B W M New VideoConference control The new “videoConference” control of WINDEV 20 lets you easily organize video conferences. See new features 013 to 015. here the same button with two texts presented differently Different examples of “infinite” progress bars To support these cases, an “infinite” type progress bar is being introduced in WINDEV 20. 46 47 WINDEV 20 WEBDEV 20 WINDEV Mobile 20 new features WINDEV 20 WEBDEV 20 WINDEV Mobile 20 new features Benefit provided by this version 20 new feature: In version 20 new masks are available to check the input of a telephone number for Switzerland, Belgium or Canada. Building a mask for another country is possible: it is done via a regular expression. Progress bar that don’t lie. Benefit provided by this version 20 new feature: The type of progress bar is adapted to an endless animation. Several templates of infinite progress bars are offered and can be customized. 204 n e w f e a t u r e W B W M 207 Defining the “step” for scrollbars and range sliders A scrollbar has clickable buttons at both ends for moving backward and forward. By default, moving forward or backward was done by step of one unit per click. In the case where there’s a large number of elements (e.g. 10,000), one may want the clicking of the button at the end of the scrollbar to move its box of 50 or 100 units at a time. It is now possible to define via programming the step by which the scrollbar and range slider controls move. This property lets you finely control the behavior of the control in UI where the limits may vary a lot. n e w f e a t u r e W D W B n e w f e a t u r e W D W B W M Installation without UAC A new installation mode lets you generate installations that will not trigger UAC. Telephone numbers in the country’s format! W D 2 10 A useful little feature. This type of installation doesn’t require the current user to have ”administrator” privileges. This new option is available: • for individual installations • for installations with automated updates. TSE W D W B f e a t u r e W D W B W M Combined 32-bit/64-bit installation history Benefit provided by this version 20 new feature: f e a t u r e No more UAC! 2 11 In version 20, a large number of controls evolve: it is now possible to enter quotes in edit controls with file mask. n e w Benefit provided by this version 20 new feature: n e w W M Other evolutions on controls 208 In this mode, the installation is usually performed in the profile directory of the current user. For the record, a similar method is used (among others) by the Chrome browser to install and update. An installation can contain both the 32-bit version and the 64bit version of an application. In this mode, the appropriate version will be selected according to the type of operating system. The combined installation of 32-bit/64-bit applications now support the “version history”. It is now possible to go back to a previous version of the application. Benefit provided by this version 20 new feature: A safety net for users. W M Automatic deactivation of chart animations TSE is a remote access technology that companies use a lot. In this execution mode, graphic effects should be limited because the network latency slows down the display, and therefore the end user. For this reason, in version 20, WINDEV automatically deactivates effects on chart controls in TSE mode. Benefit provided by this version 20 new feature: Benefit provided by this version 20 new feature: Improved speed and fluidity in TSE. Speedy toolbars. 20 5 n e w f e a t u r e W D W B 209 W M n e w f e a t u r e W D The WINDEV edit controls come with a Duration type input mask. Thanks to this mask, the end user can easily enter a duration in the application. In version 20, you can specify a minimum and maximum for entering the duration. These limits are specified by using the ..MinValue and ..MaxValue properties of the edit control. TSE uses the Ctrl+Alt+Pause shortcut to toggle from the “plain screen” mode to the “window” mode. This shortcut was also used by WINDEV to trigger a “debugging dump”. In order to avoid conflicts, the shortcut used by WINDEV becomes only Ctrl+Pause ... Benefit provided by this version 20 new feature: Ends the conflict! Benefit provided by this version 20 new feature: Limit yourself! n e w f e a t u r e W D W M Ctrl+Alt+Pause Limit durations 206 W B W B INSTALLER W M Telephone mask Switzerland, Belgium and Canada A telephone number is entered in an “edit control” type control. To check the consistency of the data entered, and display a “readable” number, a “Telephone” mask type is available. 48 WINDEV 20 WEBDEV 20 WINDEV Mobile 20 new features my projects are grandiose. 2 12 n e w f e a t u r e W D W B 21 4 W M Signature of the combined 32-bit/64-bit installations With digital signature, the user is certain that the contents of the installation has not been modified since its creation. In version 20, you can digitally sign a combined 32-bit/64-bit installation. Benefit provided by this version 20 new feature: Guaranteed integrity of the installation n e w f e a t u r e W D W B W M Automatic animations bring the nice effects to chart controls. In some cases (old or not very powerful machine for example, or remote access via TSE), it may be best to disable these animations. In version 20, automatic animations on the charts are controllable via the popup menu of the chart control. It is possible to cancel an animation on a chart until further notice . Benefit provided by this version 20 new feature: Better control of the display speed of the charts STANDALONE EXECUTABLES 213 n e w f e a t u r e W D W B 21 5 n e w f e a t u r e W D W B Stand-alone executables: Deliver a single file It is sometimes useful to deliver an executable in one single file, no installation, no side DLL. For example, to include it as attachment to an email. In version 20, WINDEV can generate Windows applications by integrating the framework and any resource files into the executable. This mode works for 32-bit and 64-bit applications. Note that the framework is not extracted at the time of launch so that the end user does not need to have write permissions to the location of the executable. This facilitates the implementation of embedded applications. 221 Read, set, check ... f e a t u r e W D W B W M AAF: “automatic file selector W M When an end user works on a complex table with many breaks, he may want to save the current layout: expanded break, collapsed break... With WINDEV 20, this option is available automatically in the popup menu of the table. n e w n e w f e a t u r e W D W B A skin template defines the graphic style of an application. End users’ taste and habits evolve with time and trends. Therefore it is important to have access to new application skin templates. Which developer has never forgotten the “Browse” button beside an edit control for entering a file name? In version 20, the edit controls of type “file name” or “Directory path” automatically offer the possibility of opening a file or directory selector. Benefit provided by this version 20 new feature: Breaks without tears ... 21 6 n e w f e a t u r e W D W B W M AAF: Table: coloring rows and columns Benefit provided by this version 20 new feature: Find your path 2 19 n e w f e a t u r e W D W B W M Benefit provided by this version 20 new feature: To highlight the contents of a table row or column, WINDEV 20 offers a new AAF. It is now possible to select one or more rows or columns and set a background color. Reading the table is thus easier Deliver a single file Two options are available in the popup menu of the list controls: “Copy” and “Copy all”. These two options copy the text of the control to the clipboard. Benefit provided by this version 20 new feature: Benefit provided by this version 20 new feature: Easier to read table 21 7 AAF n e w The new ActivFox skin template AAF: List: copy/copy all Copy your lists in 1 click f e a t u r e W D W B W M AAF: Check Box control The check box control in WINDEV 20 offers an automatic popup menu with the following options: • check all • clear all • only check this option The AAF are Automatic Application Features that benefit the end users of your applications, without having to code anything. 220 n e w f e a t u r e W D W B W M WINDEV 20 offers 2 new skin templates Benefit provided by this version 20 new feature: 2 18 AAF: Table: storing the state of the breaks W M NEW SKIN TEMPLATES AAF: Disabling chart animations W M AAF of PV T (cube) All the AAF of version 20 are not presented in this paragraph: a large number of AAF are presented directly in the paragraph of the relevant new feature. About the Dynamic Pivot Table: • AAF for masking one or more columns • AAF allowing sub-levels to be expanded from a given level. Regarding the table control, AAF allowing to: • set a filter on a check box control • set a “found between 2 dates” type filter • bring up the calendar in the header of a date type column. (see new features 028 to 030) The new ActivAndroid5 skin template Benefit provided by this version 20 new feature: New ways of customizing your applications. Benefit provided by this version 20 new feature: End users benefit from an always increasing number of automatic features. 50 51 WINDEV 20 WEBDEV 20 WINDEV Mobile 20 new features WINDEV 20 WEBDEV 20 WINDEV Mobile 20 new features SCM (SOURCE CODE MANAGER) 2 22 n e w f e a t u r e W D W B W M 224 n e w f e a t u r e W D W B W M Bar Code control In version 20, you can display bar codes in Windows Store Apps. The bar code control is available for this platform. Benefit provided by this version 20 new feature: Codes and bar codes Configuring the command line Benefit provided by this version 20 new feature: 225 250 to W M n e w f e a t u r e W D Linux: HTTPS requests HTTPS requests are secure requests. The HTTPRequest and HTTPSendForm functions now support the HTTPS protocol on Linux. 254 DateTimeToReal grStockGetData HCompareItem EventClose PTWait PTWaitAll PTExecuteAfter LooperRefreshVisible RequestUpdate grScatterGetDataXY HModifyViewRights EventOpen PTRequestCancelation PTExecuteAfterAll ExecuteUpdate grGetData NumToFinancialWritingChinese TableRefreshVisible PTExecuteAfterOne n e w f e a t u r e Benefit provided by this version 20 new feature: Secure Web services on Linux The SalesForce management functions are now available for your native Linux WINDEV applications. W D W B W M May the SalesForce be with you on Linux 256 n e w f e a t u r e W D W B W M Benefit provided by this version 20 new feature: W D W B W M 257 The ODBC driver for HFSQL is available for 32-bit and 64-bit Linux. It is possible to manipulate HFSQL databases from third-party applications on Linux, especially from PHP sites hosted on Linux. Benefit provided by this version 20 new feature: HFSQL even more open! n e w W D W B W M Benefit provided by this version 20 new feature: Better compatibility 259 317 to W M n e w f e a t u r e W D W B The new Linux functions for WINDEV f e a t u r e W D W B W M Linux: AAF: Exporting tables A new AAF is available for Linux applications. The end user can now export the contents of tables to OpenOffice and XML. This export can also be done via programming using TableToWord and TableToXML. Benefit provided by this version 20 new feature: Export! f e a t u r e The EmailProgressBar WLanguage function lets you manage a progress bar when retrieving emails from the server. In version 20, this function is also available for Linux applications. Better portability f e a t u r e n e w Linux: EmailProgressBar Linux: Procedure automation Linux: ODBC driver for HFSQL Window layouts allow you to define multiple layouts for the same window in an application. The different layouts allow the application to offer UI adapted to various devices. screen size, orientation, ... In version 20, layouts are also available for Windows Store Apps. 258 Benefit provided by this version 20 new feature: Benefit provided by this version 20 new feature: n e w This is really a NATIVE application in Linux. Yes, but created with WINDEV 20! new feature WD WB WM Automation of procedures defined in the code editor (automatic calling, thread calling, etc.) are available for Linux in version 20. A Windows 10 Store app Window layouts in Windows Store Apps W B Internal windows are used to share parts of UI or create modular UI via programming. The “internal window” control is available for Linux applications. You can also create internal window templates (see new feature 055). 252 W M W D Linux: SalesForce functions Modularity. W B f e a t u r e The call to Web services from Linux applications can now be done using the HTTPS protocol. 255 LINUX 251 n e w Linux: Secure Web services WLanguage gains 26 new functions for Windows Store Apps. StringToTime WinCurrentLayout grSurfaceGetData RealToDateTime PTCancel PTExecute PTParameter Internal windows on Linux W D W D W B New Windows Store Apps functions WINDOWS STORE APPS f e a t u r e f e a t u r e Benefit provided by this version 20 new feature: Each to his own, and SCM can rest! n e w n eBw W Secure HTTPS exchanges on Linux To test an application, you may need to pass some parameters to the application. The passing of the parameters is done via a command line: a string of parameters that the application receives at startup. In older versions, the command line was unique for the project, and therefore shared via SCM. If 2 developers needed each a specific command line, SCM didn’t stop checking out and checking in! In version 20, each developers has his “own” command line. No more unnecessary checkout! 2 23 253 WLanguage offers 66 new constants for Linux. WLanguage gains 59 new functions for Linux: StringToTime UnCryptStandard ExecuteUpdate grSurfaceGetData HExecuteScheduling HRefreshView CheckBoxCount RadioButtonCount SFConvertLead SFMerge SFSeekModified SFEmptyRecycleBin TableToXML PTRequestCancelation PTExecuteAfterOne ChangeSourceWindow RequestUpdate grStockGetData HAddScheduling HListScheduling HDeleteMoficiation iResetNbPages SFAdd SFForwardQuery SFDisconnect SFRead SFSeekDeleted EventClose PTCancel PTExecute TPParameter CryptStandard EmailGetTimeOut grScatterGetDataXY HCompareItem HModifyViewRights HOnServerCall NumToFinancialWritingChinese SFConnect SFExecuteQuery SFModify SFUndelete EventOpen PTWait PTExecuteAfter LooperRefreshVisible Benefit provided by this version 20 new feature: Arrange 52 53 WINDEV 20 WEBDEV 20 WINDEV Mobile 20 new features WINDEV 20 WEBDEV 20 WINDEV Mobile 20 new features DateTimeToReal EmailGetIndicator grGetData HSave HModifyScheduling HTTPSend RealToDateTime SFExecuteProcess SFSearch SFDelete TableToWord PTWaitAll PTExecuteAfterAll JAVA 345 MAC 341 n e w f e a t u r e n e w f e a t u r e W D W B W M Java: DES, 3DES, AES standard encryption W D W B W M The development of applications for Mac benefits from all the new features for Java development. In version 20, for example, standard encryption is available, and the automatic reconnection secures applications. Benefit provided by this version 20 new feature: The new encryption functions (see new feature 106) are available for application developed in Java. This allows the transmission of encrypted documents between different platforms. Improvement of the Mac development. .NET Benefit provided by this version 20 new feature: n e w f e a t u r e W D W B 342 W M From a Java application developed with WINDEV 20, you can natively access a HFSQL Client/Server database. In Java applications developed with version 20, when accidentally disconnecting from the HFSQL database (network failure, ...), the reconnection to the database is automatic. W D W B W M Don’t miss a step ... 346 n e w NbAnimationSteps InputFormula W M f e a t u r e W D W B 343 f e a t u r e W D W D W B W M Stay up to date! WLANGUAGE 344 W B n e w f e a t u r e W D W B W M Style copy via programming WLanguage gains 20 new functions for Java: StringInsert ExtractLine HReconnect LineToPosition PositionToLine f e a t u r e In the environment an option lets you “reload” an assembly. This lets you update an assembly that has been modified further since the opening of the project. 20 new WLanguage functions for Java CharactTypeOccurrence CharactType CryptStandard UnCryptStandard HInfoMemo HFree HCross HOnError LanguageToCharset DayNumberInAlpha MonthNumberInAlpha n e w StringDelete HSave In version 20, it is possible to copy the style of a control onto another control. The copy is done by simple assignment: Control1..Style = Control2..Style WordOccurrence TableSwapLine Useful when using the ControlCreate function! The two controls must simply have the same type. Benefit provided by this version 20 new feature: Dynamically duplicate styles. 54 WINDEV 20 WEBDEV 20 WINDEV Mobile 20 new features InputValue AnchorRateBottom AnchorRateHeight ReturnedValue UndockablePane 366 W M 10 new types of variables are available in WLanguage in version 20. httpProgress, httpReponse, httpRequest, Marker, NotificationFormat, Palette, SignalAutomatique, SignalManual, sshSession, ParallelTask... 365 to f e a t u r e W D W B W M FormulaBarVisible ToolbarVisible HeaderVisible BackgroundImage PrintBackgroundImage CaptionIfNew StoreTheConfiguration Displays or not the row/column header of a PVT. Manages the animation in an infinite progress bar. Displays or not the closing X in the panes of an MDI tab Displays or not the + opening symbol in the panes of an MDI tab Displays or not a formula bar in a Spreadsheet control. Displays or not a toolbar in a Spreadsheet control Displays or not the row and column headers in a Spreadsheet control. Manages the name of the Internal window to open in a new MDI tab. Manages the background image of a report. Manages the printing of the background image of a report. Specifies the caption of aa new pane opened in a MDI tab Manages the automatic backup and restore of the configuration of the the panes of an MDI tab. Manages the animation steps for an infinite progress bar. Authorizes or not the input of formulas in a Spreadsheet control. Authorizes or not the input of values in a Spreadsheet control Specifies the anchor rate when moving a report control on the vertical axis. Specifies the height anchor rate of a report control Manages the value returned by a report. Authorizes or not the undocking of the panes in a MDI tab. n e w f e a t u r e W M W D W B New WLanguage functions available in WINDEV WLanguage gains 93 new functions for WINDEV: MapDisplayPosition MapAddItinerary MapAddMarker MapInfoPosition n e w WLanguage gains 19 new properties for WINDEV. DisplayEvenIfNull TwoWayAnimation WithClosingButton WithNewButton 458 to New types WindowIfNew Ease of porting. n e w W M Benefit provided by this version 20 new feature: Benefit provided by this version 20 new feature: 340 W B Benefit provided by this version 20 new feature: 10 new HFSQL variables are supported in version 20 for Java:H.LanguageCreationUnicode, H.Out, H.Found, H.TemporaryDirectory, H.TrsInternalID, H.TrsApplicationName, H.TrsMachineName, H.TrsPost, HCS.Timeout, HCS.FrameSize. to W M W D .Net: Reloading of the assemblies New HFSQL state variables in Java 32 1 f e a t u r e The assembly methods accepting “staircase” tables as parameters (tables of tables) are supported in version 20. Stay connected f e a t u r e n e w .Net: “Staircase” table Benefit provided by this version 20 new feature: n e w W B New properties Java: Automatic HFSQL reconnection 32 0 W D 98 new constants are available in WLanguage in version 20. itineraryPedestrian, ccIgnoreInsideSpace, TwainContrast, grSunburst... (consult complete list in the online help). 347 Universal encryption. 319 f e a t u r e New constants New Mac features 318 n e w MapInfoXY MapLienceGgl MapModifyMarker MapGetPosition MapDeleteItinerary MapDeleteMarker MapDeleteAll StringToTime ControlToSource CryptStandard DateTimeToReal UnCryptStandard RequestUpdate dTextRTF EmailGetIndicator ExecuteUpdate Centers the map displayed in a Map control on a geographical position or on a specific location. Adds an itinerary onto a Map control. Adds a new marker onto a map displayed in a Map control. Returns the coordinates (in pixels) of the point corresponding to a geographical position (latitude and longitude. Returns the geographical position (latitude and longitude) corresponding to a point of a Map control. Indicates the “Google maps API” license key to use for the WinDev Map controls. Modifies a marker displayed in a Map control. Returns the geographical position of the point located in the center of the map currently displayed in a Map control. Deletes an itinerary from a map control. Deletes a marker from a map displayed by a Map control Deletes all the markers from a Map control. Transforms a time in character string format into a time in HHMMSSCC format. Copies the content of a control to its source (file or variable). Encrypts a character string or a binary buffer using a symmetrical encryption algorithm (AES, DES, etc.) Converts a date and time into an 8-byte real. Decrypts a message previously encrypted using a symmetrical encryption algorithm (AES, DES, etc.) Requests the execution of the process that updates the display of the window. Draws an RTF text in an Image control or in an Image type variable. Retrieves the indicators defined in an IMAP message. Immediately executes the process that updates the display of the window. ExecuteActionPlan geoAzimuth geoDistance grStockGetData grScatterGetDataXY grGetData grSunburstAddData grSunburstSectionColor grSunburstRootSection grSunburstGetData grSurfaceGetData HCompareItem HSave HImportXLS HModifyViewRights HRefreshView HAddScheduling HExecuteScheduling HListScheduling HModifyScheduling HDeleteScheduling HTTPSend CheckBoxCount iResetNbPages mlLoadWorkspace mlWriteVariable mlExecute mlInitialize mlVariableList mlResetWorkspace mlRetrieveVariable mlSaveWorkspace mlDeleteVariable mlEnd NumToFinancialWritingChinese TabLoadConfiguration TabClose TabCloseAll TabOpen TabSaveConfiguration Executes an instance of the action plan in the software factory. Returns the direction represented by a position in relation to another one. Returns the distance between the two positions. Retrieves a data from a stock chart. Retrieves a data from a “Scatter” chart. Retrieves a data from a chart. Adds a data to a sunburst chart Changes the color of a section found in a Sunburst chart Lets you change or specify the root path in a Sunburst type chart. Retrieves a numeric value from a sunburst chart. Retrieves a data from a Surface chart. Compares two values as if they were sorted by the specified HFSQL index. Modifies the current record if it exists, otherwise adds a new record. Imports an XLS file into a data file in HFSQL Classic format. Modifies the rights granted on an SQL view. Recalculates the contents of a materialized view. Adds a schedule for a task, a backup, an optimization, a recalculation of a materialized view. Executes a schedule for a task, a backup, an optimization, a recalculation of a materialized view. List the scheduled tasks, backups, .. Modifies a scheduling for a task, backup, ... Deletes a scheduling for a task, backup, ... Sends an HTTP request. Returns the number of options found in a Check Box control. Reinitializes the number of pages. Loads into the session all the variables from a Matlab file. Writes the value of a session variable. Evaluates and executes a command on a Matlab session. Initializes a new Matlab session. Lists the variables found in the Matlab session. Deletes all the variables of the session. Retrieves a value of variable of the session. Saves the workspace of the session into a Matlab file. Deletes a variable of the Matlab session. Ends a Matlab session. Transforms a numeric value (integer, real or currency) into a character string in the Chinese financial writing format. Restores the configuration of a dynamic Tab control saved in a character string format. Closes a pane in a dynamic Tab control. Closes all the panes of a dynamic Tab control. Adds a new tab to a dynamic Tab control. Saves the configuration of a dynamic Tab control in a char- acter string format. Returns an Image type variable containing a page from a PDF file. RealToDateTime Coverts a 8-byte real into a date and time. RadioButtonCount Returns the number of options found in a Radio Button control. EventClose Closes a synchronization event between threads. EventOpen Opens a synchronization event between threads. SSHCommand Sends a command to an SSH server. SSHConnectShell Opens a new SSH session. SSHDisconnectShell Closes an SSH session opened using the SSHConnectShell function. SSHWrite Writes data to the SSH session. SSHRead Reads data found in the SSH session. SysDetectLockedSession Detects the change in Windows session locking TableRefreshVisible Modifies or returns the state of visibility of the refresh band of a Table or treeview Table control. SpreadsheetAddData Adds a data to a Spreadsheet control. SpreadsheetAddFormula Adds a calculation formula to a Spreadsheet control. SpreadsheetLoad Loads a file in XLS/XLSX format into a Spreadsheet control SpreadsheetInsertRow Inserts a complete row into a Spreadsheet control SpreadsheetRecalculateAll Forces the recalculation of all the formulas in a Spreadsheet control SpreadsheetMaskSelection Gets or modifies the mask of the selected cells in a Spreadsheet control. SpreadsheetSave Saves the contents of a Spreadsheet control into an XLSX format file. SpreadsheetStyleSelection Gets or modifies the style of the selected cells in a Spreadsheet control. PVTHeaderValue Returns the value displayed in an header of a Pivot Table control DashResizeWidget Changes the dimensions of a widget (window or internal page) in a Dashboard control. DashMoveWidget Changes the position of a widget (window or internal page) in a Dashboard control. PTCancel Ends the execution of the current task and sets the task’s state to “ptsCanceled”. PTWait Waits for the execution of a parallel task. PTWaitAll Waits for the execution of all the parallel tasks of an array. PTRequestCancelation Requests the cancelation of a parallel task. PTExecute Triggers the execution of a parallel task. PTExecuteAfter Specifies a continuation task that will be executed when the specified task will be done. PTExecuteAfterAll Specifies a continuation task that will be executed when all the specified tasks are done. PTExecuteAfterOne Specifies a continuation task that will be executed when one of the specified tasks is done. TPParameter Modifies the parameters of parallel tasks. TwainProperty Gets or modifies the properties of the current Twain device. LooperRefreshVisible Modifies or returns the visibility state of the refresh band of a Looper control. PDFExtractPage a version that puts you in a good mood WINDEV MOBILE 459 n e w f e a t u r e W D W B W M Take advantage of the 200 new features in version 20 of course, but also windows (though they need to be resized as you probably guessed), analysis, data, ... The HFSQL database (and HyperFileSQL) is natively compatible with mobiles: you can embed the data (and the indexes) instantly .... You’ve really made the right choice with WINDEV and WINDEV Mobile! Benefit provided by this version 20 new feature: The portability of your existing code is ensured. 461 WINDEV Mobile 20 benefits from the majority of new features presented at the beginning of this document. New controls, existing control evolutions, new features in the editors, new features in WLanguage, in HFSQL: your teams instantly more efficient. 460 W D W B new feature W D W B W M New skin template selection interface The window used for skin template selection for mobile windows evolves in version 20. The choice is more visual, more contemporary: you can immediately imagine the future look of your application’s windows. W M Benefit provided by this version 20 new feature: Reminder: port existing applications to mobile in a few hours Easier selection for skin templates You already have WINDEV applications? Even if these applications are a few years old, they’re compatible with mobiles! Your existing applications move over to mobile in a few hours or a few days. Your teams are comfortable with WLanguage? Then they’re comfortable developing for mobile. Creating applications for Android or iOS (iPhone, iPad) is real child’s play. Your existing applications are compatible: code 57 WINDEV 20 WEBDEV 20 WINDEV Mobile 20 new features 462 n e w f e a t u r e W D W B 46 4 W M f e a t u r e W D W B THE TABLE CONTROL IN MOBILE W M Table control on Mobile: features 2 New skin templates 2 new WINDEV Mobile skin templates are offered in version 20 allowing you to offer contemporary styles for your applications. The ActivFox skin template, and ActivAndroid 5 skin template which shows the appearance of the Android L platform (Material Design). n e w The Table control on mobile offers the following features: • fill by programming or by file link (data binding) • column resizing • column anchoring (especially useful when the column goes from portrait to landscape) • simple selection or multi selection • column sub-header • popup menu • edit • ... The following types of columns are offered: Text, Numeric, Currency, Date, Time, Static, Image, Progress Bar, Ranking Benefit provided by this version 20 new feature: Versatility. 465 n e w f e a t u r e W D W B W M Table control on Mobile: input TABLE CONTROL ON MOBILE Input in table controls on mobile is automatically managed. To perform an input, when clicking a cell, a generic input area comes up at the top of the table. Benefit provided by this version 20 new feature: Input in table is easy 466 463 n e w f e a t u r e W D W B The “classic” Table control of WINDEV is now available for Android and iOS mobile applications. This new control incorporates the capabilities of the WINDEV Table control. Scrolling - horizontal and vertical - is done with the finger. f e a t u r e W D W B W M Table control on Mobile: programming W M Table control on Mobile n e w The WLanguage functions in the Table family are supported on mobile. The name of the functions and their syntax are identical to the ones on WINDEV. Benefit provided by this version 20 new feature: It’s never been easier to port a desktop application over to mobile! 467 n e w f e a t u r e W D W B W M Table control on Mobile: The AAF A table displayed on a phone, with data entry Benefit provided by this version 20 new feature: Your existing WINDEV assets can be reused The AAF available for the Table control on mobile are: • sort • magnifier (search) • filter,... The AAF are finger accessible by the end user. Benefit provided by this version 20 new feature: Powerful features without any programming 468 n e w f e a t u r e W D W B W M Table control on Mobile: Comparison with Looper controls not available in table columns (button for example) Benefit provided by this version 20 new feature: The developer can choose In version 20, WINDEV Mobile offers two types of controls to present iterative data: the new Table control and the Looper control. Each one of these two types of controls presents some benefits. When to use what? It is better to use a Table control: • to automatically benefit from a table presentation of the data • so the end user can easily change the size of the columns • to allow quick modification of the data (without “form” window) • to benefit from the AAF specific to tables: sort, magnifier, filter... • to reuse existing WINDEV assets It is better to use a Looper control: • to benefit from a richer UI (several controls in one cell) by positioning controls to the pixel • when the developer wants to use specific controls, 58 59 WINDEV 20 WEBDEV 20 WINDEV Mobile 20 new features WINDEV 20 WEBDEV 20 WINDEV Mobile 20 new features 478 MOBILE RAD 469 n e w f e a t u r e W D W B 483 to W M n e w f e a t u r e W D W B New mobile RAD for tablets W M New mobile RAD: Pretty Windows Need to quickly generate the form corresponding to a data file from the data model? Want to recreate the famous “3 minutes” from the TDF at home? In version 20, the Window RAD of WINDEV Mobile has been completely revamped. Tablets and phones don’t have the same use mode. Our teams have thus created 2 types of RAD: a RAD for tablets, a RAD for phones. A single application can of course contain both windows for phones and windows for tablets: the appropriate window will be opened on the relevant device. The generated UIs are suited for a mobile use mode, by using the controls specific to these devices. The new Window RAD offers 14 new templates. 6 new RAD templates for tablets are offered. These templates are adapted to tablets. Thanks to the use of the powerful “Layouts” concept, these RAD templates are adapted to the size and orientation of the tablet screens. RAD obviously automatically generates the necessary layouts adapted to the chosen template. • Image + Form for display • Image + Form for input • Image + Long text • Image gallery • Looper + Form in display mode • Multiline area + Form in display mode During such action by the end user, a small window automatically appears in the exposed area. An automatic animation is performed. In version 20, there’s nothing to program to benefit from this functionality with “browsing” tables. The linked data is automatically updated. For the the “memory” table, the new Refresh by pull/release process lets you enter custom update code: HTTP request... You can customize the small window that comes up when the finger “pulls”. New processes are being introduced to allow the developer to customize the caption displayed in the small window (“last refresh date”,...), the animation, ...: • Pull to refresh: Start • Pull to refresh: Wait for release • Pull to refresh: Refresh operation. A RAD that fits. 47 7 to W M Animate your applications through a simple recompile 487 n e w f e a t u r e W D W B W M Animation of the Image control The display of an image can be animated. You simply need to provide a set of images containing the successive steps of the animation. No programming is required Benefit provided by this version 20 new feature: Animate 488 n e w f e a t u r e W D W B W M Infinite progress bars Benefit provided by this version 20 new feature: 470 control, or globally at the application’s level. Benefit provided by this version 20 new feature: A simple finger motion refreshes the image A mobile often connects to the Internet. It is difficult to predict the time required to get the answer: the use of an infinite progress bar is fully justified! In version 20, the progress bar control of WINDEV Mobile offers appropriate solutions. The progress bar can be the system standard progress bar. The progress bar can also offer a completely custom look. Benefit provided by this version 20 new feature: n e w f e a t u r e W D W B RAD generates different applications according to the hardware: on a tablet, since the screen is larger, a list is displayed on the side New Mobile RAD for phones 8 RAD templates for phones are offered. These templates are adapted to the phone’s screen size, as well as the use mode of phones: • Image + Form for display • Image + Form for input • Image + Long text • Form in edit mode • Form + Looper • Image gallery • Looper • Multiline zone. Window editing gains in power and simplicity n e w f e a t u r e W D W B 486 n e w f e a t u r e W D W B W M Automatic animations Benefit provided by this version 20 new feature: 48 4 Standard behavior, without coding W M New mobile RAD: the generated code The new Mobile Window RAD generates a clear code, easy to understand, easily reusable and easily maintainable. Links with the data are automatically generated. Wizards ask questions adapted to each template. An end user checks a check box? The check box slowly pivots (but not too much) to display its back which is checked: this is one of the automatic animations offered by WINDEV Mobile 20 for your applications! Version 20 of WINDEV Mobile offers a large number of automatic animations on controls: • animation when checking a check box • animation when modifying a radio button • animatin on the rating control • animation when changing area in an ActionBar • animation when a progress bar changes value. Benefit provided by this version 20 new feature: A code easy to adapt and customize Examples of “infinite” progress bars provided Benefit provided by this version 20 new feature: To infinity and beyond! 489 n e w f e a t u r e W D W B W M Standard encryption The DES, 3DES and AES encryption modes are supported on Android and iOS. The secure data exchange between mobiles and servers is greatly facilitated. (see new feature 106) Benefit provided by this version 20 new feature: Maximal interoperability. NEW FEATURES 490 n e w f e a t u r e W D W B W M Automatic tests on mobile 485 n e w f e a t u r e W D W B W M “Pull to refresh” Benefit provided by this version 20 new feature: Templates adapted to phones On a mobile, the action of pulling a table or a looper to refresh its content has became expected behavior for the end user. Animation boards. Here 2 examples You’ll discover these wonderful animations after you receive your version 20 and you simply recompile your mobile applications. Of course, these animations can be disabled, either control by In version 20, automatic tests are available for mobile applications. On the simulator, you can save, write and modify, then replay test scripts. Immediately increase the quality and stability of the applications you distribute. 60 61 WINDEV 20 WEBDEV 20 WINDEV Mobile 20 new features WINDEV 20 WEBDEV 20 WINDEV Mobile 20 new features Before delivering an update, simply replay the automated tests you’ve previously created to make sure there is no regression! the most suitable image based on the device’s resolution. Note that for the display of controls and their style, the adapted size is preserved regardless of the DPI: WINDEV Mobile takes care of everything! Benefit provided by this version 20 new feature: Automate your mobile applications’ testing. 491 n e w f e a t u r e W D W B In older versions, the map control wasn’t included in interface of the simulator on the PC. In version 20, this Map control is available in the simulator. The test (manual or automated) of applications using maps becomes possible. Benefit provided by this version 20 new feature: A simulator closer to reality. n e w f e a t u r e W D W B W M Universal replication on mobile in 64-bit No more limits for replicated data. 493 n e w f e a t u r e W D W B W M Images: Automatic support based on DPI On mobile, to display images, you need to know that each device has a unique physical size and graphic resolution (the number of pixels displayed for its size). The DPI is the report between the two. DPI means “Dots Per Inch”. This means that the same image file, on 2 screens with the same physical size, but with a different resolution may be displayed too small or too large. To avoid this, and display the image in an identical size, the images are displayed in a “stretched” mode. In the case of high definition screens, if the image is low quality, the image displayed may be pixelated. In the case of low resolution screens, it’s the opposite: if the image has too high of a definition, its size reduction may turn out blurry. The problem described above is often called “DPI problem.” Factor between DPI can be greater than 10! To resolve this problem, WINDEV Mobile 20 offers a drastic solution: in the editors, wherever it is possible to select an image (image control, control background ...), it is now possible to select multiple image files, suitable for different DPI. This new feature allows you to automatically select at runtime, 496 Benefit provided by this version 20 new feature: The assisted universal replication lets you quickly implement a replication between databases found on mobiles and servers (located at the company’s headquarters for instance). A few clicks and a few lines of code are enough. In version 20, the assisted universal replication evolves; the assisted universal replication service is now available in 64-bit. This makes it possible to handle very large volumes of data. Benefit provided by this version 20 new feature: NATIVE IOS: IPHONE, IPAD Benefit provided by this version 20 new feature: Let’s remember that your existing WINDEV code, your windows, even if they are 5 or 10 year old, are compatible with the iPhone and iPad. Resize your windows, tweak a few things, and in a few hours or a few days, you get great looking applications for iPhone and iPad. Your teams don’t need to learn a new language because thanks to 20 years of constant innovation, WLanguage is a universal language: iOS, Windows, Linux, Android, Web, Mac, Windows Phone... You’ve made the right choice! iOS benefits from the general common new features, and the new features common to mobile: tables, new window RAD, pull to refresh, encryption,... (see new features 463 to 495) W M Map control in the simulator 492 iOS8 is supported in WINDEV Mobile 20. iOS8 is supported on iPhones starting with version 4s. WINDEV Mobile 20 knows of course how to compile applications for older versions of iOS and iPhone! n e w f e a t u r e W D W B W M Layout-based fonts With WINDEV Mobile 20, for a given control, it is possible to specify a different font for each layout. This new feature is very useful in the development of a single application designed to run on both Android and iOS. This innovation makes it possible to use a specific font for each platform. It is also possible to specify the size of the font for each layout. Benefit provided by this version 20 new feature: Support for all the devices and system versions 495 n e w f e a t u r e W D W B W M Layout: ability to know the current layout In version 20 of WINDEV Mobile, the new WinCurrentLayoutWLanguage function lets you get the layout in use on the device. This function allows you to make special adaptations based on the current execution platform, or optimize the code according to the platform, orientation, resolution. Benefit provided by this version 20 new feature: Support for all the devices and system versions. 62 WINDEV 20 WEBDEV 20 WINDEV Mobile 20 new features f e a t u r e W D W B W M Support for iOS 8, iPhone 6 and iPhone 6+ Your images are pretty, regardless of the resolution 49 4 n e w Support for all the devices and system versions. 497 n e w f e a t u r e W D W B W M iPhone 6 and 6+ : greater resolution, greater DPI The iPhone 6 and 6+ have both a larger screen size compared to older models, and greater DPI. Thanks to the anchor technology, a simple recompilation in WINDEV Mobile 20 allows windows in older applications to not be “stretched” when running on an iPhone 6 or 6+, and to take up the entire available physical space. Benefit provided by this version 20 new feature: Support for all the devices and versions of iOS. 498 n e w f e a t u r e W D W B W M Layout: Common window editing portrait <> landscape iPhone <> iPad The window layouts allow for a single development regardless of the device: iPhone or iPad. The development can even be compatible with the Android system! Find the new features for layouts in new features # 494 to 495. Benefit provided by this version 20 new feature: Simply develop and maintain a single application for multiple devices. 499 n e w f e a t u r e W D W B 502 W M Map control: route tracing n e w f e a t u r e W D W B Animate changes in size, visibility, position, ... W M Benefit provided by this version 20 new feature: Animate your interfaces. iPhone: popup menu To compensate for the lack of display surface in a window on a mobile device, it is often useful to provide a popup menu. Usually, this menu contains the possible actions. In version 20, WINDEV Mobile lets you display a popup menu in the iPhone standard, i.e. from the bottom of the screen. This menu can be opened with the finger of the end user or using the OpenPopupMenu WLanguage function. The native iOS map control evolves: in version 29, it is now possible to draw routes on native Apple maps. Benefit provided by this version 20 new feature: Draw routes. 507 500 n e w f e a t u r e W D W B W M n e w f e a t u r e W D W B Cross hairs on charts Find an address using MapDisplayPosition In version 20, a new syntax for the MapDisplayPosition WLanguage function is available. This syntax accepts an address as parameter and position the map on this address. In version 20, charts offer a cross-hair feature. A cross hair makes reading easier, and displays a tooltip on the pointed value. Appetizing cookies! Popup menus for iPad as well (don’t play favorite) 508 n e w f e a t u r e W D W B W M Applications developed with older versions already know how to read QR codes. In version 20, the automatic reading of a large number of other bar codes is part of the product. The bcCapture function of WINDEV Mobile 20 offers 9 new types of bar codes in addition to the QR code: UPCE, Code39, Code39Mod43, EAN13, EAN8, Code93, Code128, PDF417 and Aztec. f e a t u r e W D W B W M Table control in iOS Long live the tables! f e a t u r e W D W B W M Secure forms: HTTPS The WLanguage functions for managing HTTP forms now support the HTTPS secure protocol. Benefit provided by this version 20 new feature: Your forms are secure 509 n e w f e a t u r e W D W B W M Using third-party libraries .framework, .bundle) Benefit provided by this version 20 new feature: In version 20, the table control is available in iOS, for iPhone and iPad. See new features 463 to 468. Benefit provided by this version 20 new feature: n e w To manage special cases, you can directly enter Objective-C code in the WINDEV Mobile code editor. This code can call external libraries (.h and .a files). In version 20, you can also call or include libraries in .framework format and in .bundle format. Just specify the name of the libraries used in the generation wizard. The mailman’s friend! n e w W M Benefit provided by this version 20 new feature: Benefit provided by this version 20 new feature: 501 W B Benefit provided by this version 20 new feature: Reading EAN, Code 39, and so on, bar codes W M W D The WLanguage functions for managing cookies (httpCookie family) lets you read and modify cookies present on Internet sites. These functions are now available for iOS applications. Cake and ice cream (on the menu). 503 f e a t u r e Manage cookies on iOS 505 Benefit provided by this version 20 new feature: n e w Better integration of existing external libraries. Chart on iPad: the cross hair helps locate the right info 510 Benefit provided by this version 20 new feature: f e a t u r e W D W B W D W B W M The code editor lets you visually define automated procedures: execution in a thread, call at regular intervals... Automated procedures are available for iOS. Benefit provided by this version 20 new feature: n e w f e a t u r e Procedure automation Charts are even more meaningful. 504 n e w W M iPad: popup menu In version 20, popup menus are also being introduced to iPad applications. Unlike the standard iPhone menus that must be put at the bottom of the screen (automatically), popup menus on iPad can be displayed anywhere, usually next to the control that triggered the opening of the menu. With WINDEV 20, the placement is automatic. New bar code reading capabilities. 506 n e w f e a t u r e W D W B W M Benefit provided by this version 20 new feature: Less code to enter with automated procedures. Animate controls Play an animation when the user selects a table row or clicks a button? Nothing is easier in version 20 with the AnimationPlayOnControlProperty function, which is now available for your iOS applications. 64 65 WINDEV 20 WEBDEV 20 WINDEV Mobile 20 new features WINDEV 20 WEBDEV 20 WINDEV Mobile 20 new features 511 n e w f e a t u r e W D W B 51 4 W M Long press on iOS n e w f e a t u r e W D W B W M Apple Watch A new process (pcode) is available in iOS controls: Long press. Use example: a long press on a table row or Looper control triggers the display of a popup menu (using the new WLanguage function OpenPopupMneu) It is possible for a WINDEV Mobile 20 application to interact with the new watch from Apple: the Apple Watch. WINDEV Mobile 20 applications can, among other things, trigger notifications directly on the Apple Watch. 517 to 624 Do not release the pressure! 512 n e w f e a t u r e W D W B W M iOS toasts Benefit provided by this version 20 new feature: Support of the Apple Watch. 51 5 Toasts are messages that popup quickly on the end user’s screen, then automatically disappear. Toasts are used to notify the user that there’s no action to take in response to the message, e.g. to indicate that a document was successfully saved. The ToastDisplay WLanguage function is now available for iOS. n e w Make toasts with your iPhone! f e a t u r e W D W B W M Retrieing emails: display a progress bar in iOS W B Benefit provided by this version 20 new feature: Your applications under your thumb! The EmailProgressBar WLanguage function lets you manage a progress bar when retrieving emails from the server. In version 20, this function is available for iOS applications. 51 6 n e w f e a t u r e W D W B W D W B W M AnimationPlayOnControlProperty StringToTime DateTimeToReal EnumMenu grStockGetData grSurfaceGetData HExecuteScheduling HDeleteScheduling HModifyViewRights HTTPCookieWrite HTTPCookieManage HTTPCookieRead HTTPCookieReset HTTPCookieGet HTTPCookieReplace HTTPSend CheckBoxCount OpenPopupMenu JSONToVariant iResetNbPages AnimationGetParameter MapAddItinerary CoordinateScreenToEditor CoordinateEditorToScreen UnCryptStandard RequestUpdate ExecuteUpdate WinCurrentLayout grScatterGetDataXY grGetData HCompareItem HAddScheduling HListScheduling HModifyScheduling HSave HSendMessageToClient HRefreshView HOnServerCall RealToDateTime Edit RadioButtonCount SFAdd SFForward Query SFConnect SFConvertLead SFExecuteQuery SFExecuteProcess SFModify SFSearch SFSeekDeleted SFUndelete SFEmptyRecycleBin EventClose SysStandby TableEnableFilter TableDisplay TableAdd TableSeek TableFilteredColumn TableMoveLine TableDisableFilter TableEnumColumn TableColumnSubscript TableInsert TableInsertLine TableModifyLine TableCount TableRefreshVisible TableInputInProgress TableSelect TableSelectMinus TableSelectPlus TableDelete TableSort ToastDisplay PTWait PTWaitAll PTRequestCancelation PTExecute PTExecuteAfter PTExecuteAfterOne TPParameter LooperRefreshVisible CheckUserIdentity Better compatibility between platforms. SFDisconnect SFMerge SFRead SFSeekModified SFDelete EventOpen TableSort_55 TableAddLine TableSortedColumn TableSwapLine TableInfoXY TableModify TablePosition TableInputSearch TableSelectCount TableDeleteAll PTCancel PTExecuteAfterAll VariantToJSON 66 WINDEV 20 WEBDEV 20 WINDEV Mobile 20 new features Android benefits both from the general common new features, and the new features common to mobiles: tables, new window RAD, pull to refresh, encryption,... (see new features 463 to 495) 625 new feature W D W B W M Layout: Common window editing portrait <> landscape phone <> tablet The window layouts allow for a single development regardless of the device: phone or tablet. The development can even be compatible with iOS! Find the new features for layouts in new features # 494 to 495. Benefit provided by this version 20 new feature: W M Version 20 offers 6 new properties for iOS, 31 new types and 62 new constants (please see the complete list in the online help). Android development has never been as powerful as with WINDEV Mobile 20. You can take advantage of powerful new features that come in addition to all the ones you already have. iOS or Android evelopment? Don’t choose anymore: a single project, several layouts, and you get 2 native executables Simply develop and maintain a single application for multiple platforms. New properties, new types and new constants Benefit provided by this version 20 new feature: ANDROID 108 new WLanguage functions are being introduced for iOS in version 20: W M “Touch ID” is the Apple technology that allows fingerprint reading on an iPhone (from version 5s) With the support for the Touch ID technology, applications developed with version 20 of WINDEV Mobile can ensure the identity of the user (more exactly can ensure the presence of the appropriate user’s finger) to perform a specific operation for instance. payment, access to confidential documents, ... If for any reasons the end user cannot put his finger on the phone (wears gloves,...), he can enter his confidential passcode (or a code specific to the application). Benefit provided by this version 20 new feature: n e w W D Manage authentication via fingerprint in your applications (Touch ID) A toast displayed on iPhone: stealth message! 513 f e a t u r e f e a t u r e New WLanguage functions supported on iOS AnimationSetParameter MapDeleteItinerary CryptStandard EmailGetIndicator Benefit provided by this version 20 new feature: n e w The Input function on iPhone lets you create question type windows via programming (see new feature 100/101) 67 WINDEV 20 WEBDEV 20 WINDEV Mobile 20 new features 626 n e w f e a t u r e W D W B fit from them. You can obviously disable the animations, either in the description of the chart control, or via programming. W M Table control on Android Benefit provided by this version 20 new feature: In version 20, the Table control is available in Android, for iPhone and iPad. See new features 463 to 468. • multiline texts • lists of elements. to do so, the advanced WLanguage type NotificationFormat is available. 635 n e w f e a t u r e W D W B W M 636 In Android applications developed with WINDEV Mobile, the applications can use standard fonts installed on the phone. In version 20, your applications can use any TrueType fonts. Simply include the .TTF file containing the font in the application’s resources, and of course use the font in your controls’ style. Make sure you have the rights to use the font... Benefit provided by this version 20 new feature: n e w f e a t u r e W D W B W D W B W M Assigning “5-state” images via programming Even on a phone tables are visible. 627 f e a t u r e The “5-state” images are images that contain the different states of a button: pressed, idle, grayed... The “5-state” image is assigned in the window editor. In version 20, you can change the image of button via programming. W M Interactive chart Android charts become interactive in version 20. The end user can now zoom on a chart using two fingers. it is also possible to move on the chart after zooming. A double tap on the chart returns the chart to the original zoom level. Benefit provided by this version 20 new feature: More flexibility 631 n e w f e a t u r e W D W B W M Native JSON in Android The JSON format is natively supported by WINDEV Mobile 20 in Android applications. It becomes possible to deserialize a JSON document in a WLanguage variable with the Deserialize function. It is also possible to serialize a WLanguage function in JSON using the Serialize function. This new feature allows you to use the REST type web services, which often use the JSON format. Benefit provided by this version 20 new feature: Better support for REST and JSON Benefit provided by this version 20 new feature: You can see the results in just a glance. 628 n e w f e a t u r e W D 632 W B n e w f e a t u r e W D W B W M Rich notifications W M Chart animations Android charts are now animated. Animations are automated, there’s nothing to program to bene- Android modifications evolve: they become richer. In version 20, you can create “rich” notifications, i.e. that can display: • images W M n e w f e a t u r e W D W B W M As you know, a skin template determines the look of an application’s controls However Android doesn’t allow some “system” control to be customized. Build your own style n e w W B “Holographic Android” theme for system controls Benefit provided by this version 20 new feature: 630 W D 10 new HFSQL variables are supported in version 20 for Android: H.LanguageCreationUnicode, H.Out, H.Found, H.TemporaryDirectory, H.TrsInternalID, H.TrsApplicationName, H.TrsMachineName, H.TrsPost, HCS.Timeout, HCS.FrameSize. Embed your own custom fonts A table on an Android smartphone f e a t u r e New HFSQL state variables for Android Bring life to your charts 629 n e w 3 modifications displayed: note the possibility to directly respond to the photo received Benefit provided by this version 20 new feature: Rich notification: watch for the IRS! 633 n e w f e a t u r e W D W B W M Notifications with actions In the notifications, the action button allow the end user to trigger an action directly from the notification, without having to relaunch the associated application. In your applications, in version 20, the notifications for Android can be accompanied by action buttons. The NotificationAction new advanced type is being introduced. In order to ensure better visual consistency with the rest of the system, the holographic theme (the “holographic” theme is a standard Android theme) is automatically applied by WINDEV Mobile 20 to the system controls such as the menu icon, the native sliders, the infinite progress bars, the action bar... Benefit provided by this version 20 new feature: Better visual consistency with the Android system. Benefit provided by this version 20 new feature: The end user can act immediately 634 n e w f e a t u r e W D W B W M HFSQL Android: automatic reconnection The connection to a remote HFSQL database can sometime be interrupted. The most common case is the loss of Internet connection. When an Android application that uses a HFSQL database in Client/Server mode looses its connection to the database, the application automatically offers to reconnect when the connection is restored. You don’t have to manually manage the loss of connection. Benefit provided by this version 20 new feature: Disconnected? The data is safe. 68 69 WINDEV 20 WEBDEV 20 WINDEV Mobile 20 new features WINDEV 20 WEBDEV 20 WINDEV Mobile 20 new features 637 n e w f e a t u r e W D W B 6 40 W M Platform choice wizard The platform choice wizard evolves: it offers several successive planes, more intuitive Single type of hardware or heterogeneous hardware? Tablet or phone or both? Resolution categories of the target hardware? ... The generated windows are better suited to the target hardware. n e w f e a t u r e W D W B W M Connected objects: Android Wear 6 43 n e w f e a t u r e W D W B Android Wear is the version of the Android operating system dedicated to connected objects: watch, bands, rings,... This version is suitable for smaller devices (screen size, battery power) devoid of keyboard. Add a finishing touch to your applications. n e w W M Benefit provided by this version 20 new feature: Don’t lose time creating the configuration anymore. f e a t u r e W D W B W M Google Glass Display a message and response Proposal WINDEV Mobile 20 applications might display messages, images, questions and proposed answers on Android Wear devices. This dialog takes place through rich notifications (see new features # 632 and 633) For example, the end user may receive an alert on his watch, and decide what action to take by clicking on the choices offered on his watch. Another example, an end user may receive a message on his watch, and dictate (verbally!) its response to the watch. The phone will directly receive the answer in text form. Benefit provided by this version 20 new feature: Take advantage of Android Wear. The Android system specific to Google Glass evolves all the time. WINDEV Mobile 20 will offer tailored features to allow use of the functionalities of Google Glass. Don’t hesitate to contact PC SOFT fore more information. 6 41 n e w f e a t u r e W D W B W M Do not ignore errors in SSL Certificates An SSL certificate can trigger an error: • expired certificate • self-signed certificate • certificate whose name doesn’t match the requested URL • ... In version 20, you can manage the SSL certificate errors using the functions in the HTTP family, as well as in the calls to secure Web services. Benefit provided by this version 20 new feature: Better support for SSL. 6 42 n e w f e a t u r e W D W B W M Image catalog: new theme Benefit provided by this version 20 new feature: I’m watching you! f e a t u r e W D W B W M Miscellaneous new Android features The compilation of Android applications requires the presence of the Android SDK on the compilation machine. What’s more annoying than going in search of the Android SDK in the labyrinth of your hard drive, know which subdirectory to select ...? In version 20, no more archaeological digs! WINDEV Mobile 20 detects automatically the location of the Android SDK installation, and automatically configures itself accordingly. n e w WINDEV Mobile 20 my projects are mobile W M Benefit provided by this version 20 new feature: 644 Automatic configuration of the Android SDK 639 W B New splash screen The choice of the window size is assisted n e w W D Version 20 offers a splash screen automatically integrating an image (customizable and optional). Benefit provided by this version 20 new feature: 638 f e a t u r e • The latest version of Android is supported. • The Dialog function now lets you choose whether or not to comply with the “Validation” and “Cancel” system buttons order. • The Android numeric controls benefit from the “set to blank if zero” option. • The AlbumPicker WLanguage function now offers a second syntax with callback. Benefit provided by this version 20 new feature: New features for Android. 6 45 n e w f e a t u r e W D W B W M New constants and new WLanguage types for Android Version 20 offers 2 new types for Android and 42 new constants (please see the complete list in the online help). 6 46 to 703 n e w f e a t u r e W D W B W M new WLanguage functions supported on Android 58 new WLanguage functions are being introduced for Android in version 20: AnimationSetParameter StringInsert CryptStandard HSave HReconnect WordOccurrence EmulateCheckBox PositionToLine TableAddLine TableMoveLine TableColumnSubscript TableModify TableRefreshVisible TableSelectCount TableSort AnimationGetParameter StringDelete UnCryptStandard HInfoMemo HOnError DayNumberInAlpha EmulateRadioButton TableEnableFilter TableSeek TableDisableFilter TableInfoXY TableModifyLine TableInputSearch TableSelectPlus LooperRefreshVisible CharactTypeOccurrence CoordinateScreenToEditor ExtractLine HFree LanguageToCharset MonthNumberInAlpha EmulateSimulator TableDisplay TableFilteredColumn TableSwapLine TableInsert TableCount TableSelect TableDelete CharactType CoordinateEditorToScreen WinCurrentLayout HCross LineToPosition EmulateActionBar EmulatePane TableAdd TableSortedColumn TableEnumColumn TableInsertLine TablePosition TableSelectMinus TableDeleteAll The image catalog offers themes (image categories). The new “Android L” theme is available Benefit provided by this version 20 new feature: One more theme. 70 71 WINDEV 20 WEBDEV 20 WINDEV Mobile 20 new features WINDEV 20 WEBDEV 20 WINDEV Mobile 20 new features WINDOWS MOBILE AND CE WINDOWS STORE APPS Windows Mobile, Windows CE and Windows Embedded are used a lot in industrial fields. Version 20 of WINDEV Mobile benefits from the common new features of the environment, and offers new WLanguage functions. WINDEV Mobile 20 lets you create “Windows Store apps” type applications, and helps you take advantage of the relevant RAD as well as its layouts. (See new features 223 to 250). WINDOWS PHONE Development on Windows Phone benefits from the common new features, as well as the new features presented below. 726 n e w f e a t u r e W D W B WEBDEV COMMON NEW FEATURES W M Window layouts 70 4 n e w f e a t u r e W D W B In the window editor of WINDEV Mobile, layouts let you define multiple page arrangements for the same window within the same application. Depending on the device or its orientation, the proper window will be used. Layouts are now available for Windows Phone applications. W M WLanguage functions from the “ce” family in 64-bit 728 n e w f e a t u r e Communicate with devices in 64-bit f e a t u r e 729 W D W B W M New properties, new types and new constants Version 20 offers 5 new properties in Windows CE and Mobile, 2 new types and 46 new constants (please see complete list in the online help). In the editor, editing a window for Windows Phone Benefit provided by this version 20 new feature: A single window for all the modes. 727 706 to 725 n e w f e a t u r e W D W B W M New WLanguage functions for Windows Mobile and CE 20 new WLanguage functions are being introduced for Windows Mobile and Windows CE in version 20. StringToTime RequestUpdate grScatterGetDataXY HModifyViewRights EventClose CoordinateScreenToEditor ExecuteUpdate grGetData iResetNbPages EventOpen CoordinateEditorToScreen WinCurrentLayout grSurfaceGetData NumToFinancialWritingChinese TableRefreshVisible DateTimeToReal grStockGetData HCompareItem RealToDateTime LooperRefreshVisible n e w f e a t u r e W D W B W M “Closing child window” process The Closing child window process is available for Windows Phone applications. This process is called when a window opened via the OpenMobileWindow function is closed and usually allows for the update of the UI of the calling window. Benefit provided by this version 20 new feature: Better ability to port between systems. 72 WINDEV 20 WEBDEV 20 WINDEV Mobile 20 new features W D W B W M An editor that respects standards The majority of new features presented below draw on the HTML5 and CSS3 standards. This ensures a high level of functionality, quality rendering in browsers, and compliance. Code size is lightened, processes are reduced or made natively by the browser. These implementations Benefit provided by this version 20 new feature: Compliance with standards. W M 200 common new features Benefit provided by this version 20 new feature: n e w W B WEBDEV benefits from the common new features of version 20, including the new interface for the Control Centers, the Fotolia library included in the image catalog, the SQL views... WEBDEV 20 benefits of course from the evolution of the development environment and of the compatibility with WINDEV and WINDEV Mobile. The WLanguage functions from the ce family allow WINDEV applications to communicate with devices on Windows Mobile or Windows CE. This ce family of functions is now available in 64-bit in addition to the 32-bit version. 70 5 W D guarantee a smooth and fast running of the sites developed (or simply recompiled!) with version 20 of WEBDEV. INTERACTIVE CHARTS W D 7 30 W B W M New interactive chart control In version 20, the chart control in WEBDEV gets a facelift. The chart control offers a more contemporary style in keeping with the evolution of the Web. The chart control benefits in version 20 from a new rendering engine that runs directly in the browser: it uses vector to draw and is more fluid. The drawing will always be perfectly clear whatever its size. In version 20, charts offer animations and visual effects. Benefit provided by this version 20 new feature: WEBDEV charts come to life! 7 31 n e w f e a t u r e W D W B 7 35 W M Chart animations In version 20, the chart display benefits from automated animations. For example, the first time it is displayed, a pie chart comes up piece by piece. In a bar chart,the bar appear progressively (climb) from the horizontal axis. The end user can change the chart’s type using the contextual bar. The animations are also played when the user changes the chart’s type. These animations are available for the following types of charts: • section • donut • column chart • line • area • ... The animations do not consume any resources on the server. The animations can be turned off by programming. n e w f e a t u r e W D W B W M Chart control: interaction with pie charts The pie chart is interactive. For example, when hovering a section of a pie chart, the section is extruded automatically. Thus, it is enhanced. f e a t u r e W D W B 7 36 W B 7 39 n e w f e a t u r e W D W B W M Chart control: interaction with the line and surface charts W M W B In version 20, the chart control in WEBDEV interacts with the user either via the mouse, or via gestures on mobile devices. The chart is not a simple static image, but a set of elements that react to the users’ actions. Your charts follow your finger and the mouse f e a t u r e W D W B W M The tooltip Hovering a section of the chart always displays a tooltip. In version 20, the display of this tooltip gets sophisticated: • the outline of the tooltip uses the color of the series • the tooltip’s background is transparent • the tooltip comes up with a fade in effect • an arrow precisely points to the value W M n e w f e a t u r e W D W B W M Chart control AAF: hide a series in a chart The information tooltip follows the points of the curve according to the mouse movements (or finger on mobiles) Benefit provided by this version 20 new feature: Don’t pinch the bubble. 742 n e w f e a t u r e W D W B W M Simple cross hair on a line chart The line chart lets you display a “cross hair”. This cross hair allows you to move with precision based on a horizontal and vertical mark on the chart. When the user points to a point on the curve, the precise values of the selected point also appear in a tooltip. When moving the mouse, the cross hair follows the closest curve. A chart can offer a large number of series. A user may want to temporarily hide some of the series in the chart. This operation is done via a simple click on the legend of the series. Trim up your charts. Benefit provided by this version 20 new feature: Aim right! 740 n e w f e a t u r e W D W B W M 743 Pie chart, donut chart AAF: reorientation of the chart W M Chart control: interaction during rollover Benefit provided by this version 20 new feature: n e w Benefit provided by this version 20 new feature: Fluid charts W D W B Better view your pieces of pie Benefit provided by this version 20 new feature: f e a t u r e W D Dynamic legends In version 20 the display of charts is more fluid. The number of server requests is reduced, during the initial display, or when interacting with the user. The display of charts is therefore faster and more fluid. n e w f e a t u r e Benefit provided by this version 20 new feature: More fluid charts 734 n e w Charts offer to display a legend. The display of a legend is automatic by default. In version 20, the chart offers an interaction with the legend and the chart’s drawing. For example, when a series is hovered in the legend, the series is automatically highlighted in the chart. Conversely, hovering the chart highlights the corresponding legend. Charts of any size. W D 741 W M Chart control: interaction with the legend Benefit provided by this version 20 new feature: f e a t u r e W B When hovering a bar type chart, the bar hovered is highlighted. A tooltip comes up to indicate the values. If the bar chart is a “stacked” bar chart type, a multi-tooltip is displayed with the data for the various series. 7 38 Benefit provided by this version 20 new feature: When the user resizes the browser, the charts found in the page (and that are anchored) are resized. The chart’s drawing will remain perfectly clear whatever its size. In fact, in version 20, the chart is drawn using vectors. The resizing is done without any call top the server. n e w W D Bar charts interact W M Resizing charts 7 33 f e a t u r e Benefit provided by this version 20 new feature: Animation! n e w n e w Chart control: interaction on bar charts Benefit provided by this version 20 new feature: 7 32 7 37 The pointed line is thickened, the corresponding series highlighted in the legend When hovering a line type chart, the part of the line hovered appears thicker. When a point is hovered, this point is automatically zoomed in, and a tooltip automatically comes up to display the corresponding values. Cross hairs can be displayed (see new features # 037 and 742743) The user can pivot a pie chart or a donut chart. Simply click a section of the chart, and this section is automatically oriented toward the bottom of the chart. Benefit provided by this version 20 new feature: Make sense of your charts... n e w f e a t u r e W D W B W M Multi cross hair on a line chart Another type of cross hair is available: the “multi” cross hairs. This type of cross hairs are useful on a set of curves. In this case, the tooltip displays the information of each intersected curve. This multi cross hairs let you compare several series with precision. Benefit provided by this version 20 new feature: Detailed exploration of a chart 74 75 WINDEV 20 WEBDEV 20 WINDEV Mobile 20 new features WINDEV 20 WEBDEV 20 WINDEV Mobile 20 new features • hide the widgets • Restore the initial configuration • ... All these operations are done in a user-friendly way, using the mouse or finger. DASHBOARD CONTROL Benefit provided by this version 20 new feature: Dashboard: easy to customize! 746 n e w f e a t u r e W D W B W M New Dashboard control Benefit provided by this version 20 new feature: 749 For once it’s good to get in the cross hair! n e w f e a t u r e W D W B W M Benefit provided by this version 20 new feature: Benefit provided by this version 20 new feature: Charts are referenced Dashboard: easy to use! f e a t u r e W D W B W M Referencing: Chart texts 745 n e w f e a t u r e W D W B 750 W M Chart control: transparency All the graphical elements of the new chart control have adjustable opacity. It is possible to create charts with transparency, which allows them to blend in with a background image or the page background. Benefit provided by this version 20 new feature: Decision makers love dashboards. f e a t u r e W D W D W B W M Refreshing an already displayed dashboard The Data refresh process of the widget is also available at the widget’s level: it is called automatically in case the widget needs to be refreshed. Finally, the DashDisplay new WLanguage function is available to force the refreshing of the entire dashboard or for the specified widgets. W B TABLE CONTROL 753 n e w f e a t u r e W D W B W M Table control: container column. Look and functionalities! W M Dashboard: managing layouts via programming Dashboard in WEBDEV: it’s a control! Today dashboards are essential for decision makers. WEBDEV 20 lets you easily create dashboards, A dashboard is made of widgets. Data is visualized in these widgets. The end user can customize and adapt the dashboard to his needs. n e w f e a t u r e Refresh yourself (and your data) In version 20, the texts included in the chart (title, legend, label, tooltip) can be referenced by search engines: Google... The texts of the chart control are also accessible via a search on the page contents in the browser (CTRL+F). n e w n e w Benefit provided by this version 20 new feature: Dashboard: automatic layout When the dashboard is displayed in the browser, the user can change its presentation. When moving or hiding a widget, the site offers in real time the best layout for the other widgets. This way it is easy to visualize in real time the new layout before validating it. The dashboard layout chosen by the user can be automatically saved, and restored the next time the page is displayed. This saving is done automatically via a cookie. 74 4 752 WLanguage offers advanced functions for managing the dashboard configuration. You can plan several different layouts, and change the one to use based on the use case. The DashLoadConfiguration and DashSaveConfiguration WLanguage functions let you load and save the current configuration. WEBDEV offers a very evolved “table” control for your Web applications. In version 20, this control offers a new type of column: the “container” column. A “container” column may contain other controls. A “container” column can contain controls of the following types: static control, edit control, image, button… In a “container” column, the controls can be placed to the pixel (like in a Looper control). The advanced features of the Table control (sort, search, filter, column movement, scrollbar...) are also available for the “container” type columns. Benefit provided by this version 20 new feature: 747 n e w f e a t u r e W D W B W M Dashboard: editing The dashboard is composed of widgets. A widget can easily be edited: it is an internal page. When creating a dashboard control, you can select directly in the page editor each of the widgets displayed by default, position them, size them ... Benefit provided by this version 20 new feature: Dashboard: easy to create! 748 A bar chart drawn over a background n e w f e a t u r e W D W B W M The AAF of the dashboard control Benefit provided by this version 20 new feature: Pretty pages. In the new dashboard control, the user can: • Move the widgets • Resize the widgets • Display the widgets Dashboard: easy to program! 751 n e w f e a t u r e W D W B W M The processes of the Dashboard control In case of action on the dashboard, the widgets must usually be updated. New special processes are introduced in the code editor allowing the update of widgets, in browser code and server code: • Add a widget • Delete a widget • Move a widget • Change a widget’s size. A list of products presented in a table with container columns, here in edit mode Benefit provided by this version 20 new feature: Easy update of the dashboard according to the operations Benefit provided by this version 20 new feature: The power of tables with a “free” look. 76 77 WINDEV 20 WEBDEV 20 WINDEV Mobile 20 new features WINDEV 20 WEBDEV 20 WINDEV Mobile 20 new features 754 n e w f e a t u r e W D W B 756 W M Table control: container column. Easy programming Manipulating by programming controls found in a “container” type column is very easy. Here are 2 examples of the syntax: MyTable[nRowNum].QuantityControl = nValue MyTable[nRowNum].QuantityControl..Color=LightRed This way it is possible to access any property of a control found in a container column. n e w f e a t u r e W D W B W M Table control with breaks: programming The controls found in a Table control break can be handled by programming. For example, you can put a static control in the break header to display a description. Another example: you can place a formatted display control in a break footer to display a sum. The WLanguage function TableBreakSubscript enables you to get the row number of a table break, and this way access the controls of the break. Maps are very common visual elements in web sites: to locate a store, a piece of real estate, a meeting place, an event … In version 20, you can include a “Google Maps” type map control in a site. 755 n e w f e a t u r e W D W B Benefit provided by this version 20 new feature: Code portability. 761 Benefit provided by this version 20 new feature: Map-friendly web sites. 758 n e w n e w f e a t u r e W D W B W M Rich text in controls f e a t u r e W D W B A “rich text” is a text that contains enhancements: font, bold, size, color, attributes, icon, link... WEBDEV already allowed you to use rich text in the “Rich Text Area” and Button type controls. W M Map control: Features The Map control offered in version 20 of WEBDEV is very rich. It lets you: • position the map according to geographic coordinates • display points of interests (P.O.I.) • calculate and display routes • display maps in satellite view • display maps in “map” mode • display maps in “street view” mode • ... W M Table control with breaks In version 20, the table control of WEBDEV lets you define breaks in the display of rows. The advantage of a “break” is that it allows you to visualize data by detail level. A break lets you group the data to display by criteria. Users can collapse or expand the content of the breaks to only view the information they want. LOOP_MyZone[nRow].STC_MyStatic..BrushColor = MyColor The Map control in WEBDEV 20 is fully interactive: the user can zoom, move, use different views (map, satellite), switch to “street view” mode, etc. Benefit provided by this version 20 new feature: Modify the properties of the controls found in containers. found in a Looper. For example, to modify the background color of a Static control found in a Looper, the following syntax delights developers! Benefit provided by this version 20 new feature: WEBDEV 20 is your best map. Benefit provided by this version 20 new feature: Handle breaks by programming. 759 OTHER CONTROLS 757 n e w f e a t u r e W D W B W M New Google Maps control Tables with automatic breaks To do so, the user just needs to click the break’s background, or the buttons created for this purpose, for example “+” at the beginning of a break to expand it and “-” to collapse it. The expanding and collapsing of breaks are automatic, there’s nothing to program. A break is materialized by 2 lines, automatically added: • a break header line, • a break footer line. Controls can be inserted in the break header and footer lines. It is common to display a total in a break footer line for instance. I love myself in WEBDEV 20 n e w f e a t u r e W D W B W M Map control: programming Programming the new Map control of WEBDEV 20 is identical to that of WINDEV or WINDEV Mobile. The Address type variable lets you manage the geographic location. The Marker type variable lets you position Points of Interest on the map. The ..Image property lets you customize the icon displayed to represent a Point of Interst (P.O.I.) on the map. The WLanguage function MapAddItinerary lets you define and automatically display a route. The code of the WEBDEV map control is compatible with that of WINDEV and WINDEV Mobile, which allows for better portability. In version 20, it becomes possible to use rich text in a large number of other controls: • edit controls • combo box • list box • radio button • check box • link • ... Benefit provided by this version 20 new feature: Compatibility. 760 People located on a map Benefit provided by this version 20 new feature: n e w f e a t u r e W D W B W M Looper control: direct access to control properties (no need for attributes anymore) The “Looper” controls evolve. In version 20, you don’t need anymore to declare an “attribute to dynamically modify the properties of the controls Breaks without tears 78 79 WINDEV 20 WEBDEV 20 WINDEV Mobile 20 new features WINDEV 20 WEBDEV 20 WINDEV Mobile 20 new features You can choose a transition following a uniform movement or with an acceleration at first and slowing down at the end. It is possible to refine the effects and get original results adapted to each site. There are multiple combinations. REACH TEXT AREA (RTA) CONTROL Benefit provided by this version 20 new feature: Control the speed of the animations A selector control whose options use rich text 76 4 It becomes easy to create displays of various appearance without having to use several controls side by side. Corollary benefit: the end of “assembling” controls make translating much, much easier! f e a t u r e W D W B W D W B W M In version 20, new transition effects are offered when changing the image in an image control. An image can be changed either by programming, or using an automated “slide show” mode. The “unveil” effect: the old image disappears like a theater curtain drawing, unveiling the new image. You can choose the direction of the curtain draw. Your controls get rich at no cost. n e w f e a t u r e Image Control: 7 new effects Benefit provided by this version 20 new feature: 762 n e w W M Links and images in controls The ability to use rich text in all the WEBDEV 20 controls let you insert links and images directly in the caption of the controls. It is easy then to create a check box whose caption is “I accept the General Sales Conditions” and whose “General Sales Conditions” term is a link (which obviously displays the general sales conditions). 765 n e w f e a t u r e W D W B W M The “Rich text Area” control Benefit provided by this version 20 new feature: An ultra rich control The “Rich Text Area” control is a very powerful type of control offered by WEBDEV. The “Rich Text Area” control lets you display rich text. The HTML code generated by the Rich Text Area control respects the HTML5 and CSS3 standards. The HTML code generated by the Rich Text Area control can be edited; the modifications performed are displayed in real time, in WYSIWYG. The Rich Text Area control also lets you insert WEBDEV controls inside the text For example, you can insert buttons and edit controls inside the text. Benefit provided by this version 20 new feature: A very rich type of control 766 An edit control containing a link All the programming functionalities and data binding of the controls are also available. When inserting a control, the text alignment can be customized: • centered • aligned to the left • aligned to the right. Each control has an external margin adjustable directly in the editor. This margin lets you precisely adjust the spacing you want between the control and the text. 767 A check box whose title is in bold and whose option caption contains a link The “flying tiles” effect: the old image is divided into multiple tiles. These tiles fly out in all directions, revealing the new image. Different variations are offered for the animation of the tiles. f e a t u r e n e w f e a t u r e W D W B W M Programming standard In version 20, all the types of WEBDEV controls can be inserted in a Rich Text Area (RTA). It is possible, for instance, to insert a graphic or a table control to illustrate a blog article. The RTA control also allows you to create an input form, with advanced page layout. 768 n e w f e a t u r e Benefit provided by this version 20 new feature: Links or images can easily be inserted in other controls. W B W M Effects on images: acceleration curve W B Other effects are offered: “uncover”, “cut”, “reduction-rotation”... Benefit provided by this version 20 new feature: New effects The transition effects use an “acceleration curve” that defines the speed variation and the effect during its execution. In version 20, WEBDEV lets you choose the acceleration curve applied to each transition effect. W M In edit mode, a RTC has a size defined by the developer. This size can be modified at any time obviously, either in the editor or in by programming. You can enter in the editor content of any size, which can be larger than the RTC area. In this case, the page editor automatically activates a scrollbar. it isn’t necessary to enlarge the control to be able to edit all its contents. Benefit provided by this version 20 new feature: W D W D “Rich Text Area” control: Scrollbar in edit mode An email request, with a red star ... f e a t u r e W M The controls inserted in a Rich Text Area are standard WEBDEV controls. These controls can be handled by programming, as any other control in the page. All the properties are accessible. Each control can be edited independently. Automatic scrollbar in edit mode. n e w W B Benefit provided by this version 20 new feature: A radio button whose title is in bold and whose option caption contains a link. 763 W D “Rich Text Area” control: Programming the inserted controls “Rich Text Area” control: Insert any type of WEBDEV controls An edit control whose caption contains a link n e w A calendar is a button integrated in the flow of the text The controls inserted in a RTA are edited normally, using the “7tab” technology. 80 81 WINDEV 20 WEBDEV 20 WINDEV Mobile 20 new features WINDEV 20 WEBDEV 20 WINDEV Mobile 20 new features APPLICATION RAD 769 n e w f e a t u r e W D W B W M Forum Application RAD: new version The “Forum” Application RAD, already provided, has been modernized. New features are being introduced: • Ability to add a “topic” for the user • Support for private messages • Link the main social networks • Banishment feature • Indicator of who is online • Moderation • Indication of the read and unread messages • Friend management • ... Benefit provided by this version 20 new feature: Better forums! 7 70 n e w f e a t u r e W D W B “FLUID” POSITIONING (HTML STREAM) • An activity schedule • The times and location information • A pre-registration form. A “BackOffice” section lets you add, modify or delete activities or their time, and also to specify availability. The site generated by this Application RAD can be used in large number of fields: sport facility, training, associations, etc. Benefit provided by this version 20 new feature: Create a schedule management site in just a few clicks! “FLUID” POSITIONING (HTML STREAMS) Page layout zoning lets you split the page into several distinct layout areas. These page layout areas have their own properties: background color, internal and external margins, specific anchors in respect to the page. In edit mode, the layout zones greatly facilitate the page’s creation and especially its evolution: for example, enlarging a layout area automatically pushes the adjacent areas (and their contents obviously!). W M New RAD: Schedule /reservation management 7 71 n e w f e a t u r e W D W B W M “fluid” positioning: Layout areas Usually, in a layout area, the controls are positioned at the location chosen by the developer (to the pixel) in the page editor. In version 20, the page layout area offers an additional layout mode for controls: “fluid” positioning (HTML stream). In this mode, it becomes possible to enter text directly in a layout area (without creating a control). The text entered is a rich text: fonts, colors, styles... You can also insert controls directly in the rich text. The controls added this way are displayed throughout the text, according to the space taken by the text displayed, and will move with the text. In the browser, when the web user resizes the browser window, the layout area adapts based on the defined anchors. In the layout area, the text (and the controls) adapt as well to occupy all the available space. The formating of the text (paragraph, style, controls inserted in the text) is respected. Benefit provided by this version 20 new feature: A new Application RAD is introduced in version 20. This is a “Schedule management” application RAD. This Application RAD generates an AWP site displaying activities and their schedule (days, times) The main pages are: • An attractive home page presenting the activities • A page presenting the activities (photo and description) Fluid text and controls 7 72 n e w f e a t u r e W D W B W M “fluid” positioning: Entire Page Version 20 of WEBDEV offers a new “fluid” positioning mode for layout areas (see new feature # 771). This new positioning mode is also available for an entire page. By choosing this mode, in the editor, you cannot position the controls at the “pixel level”, the controls will automatically be inserted throughout the text. This mode is especially well suited for page with large amount of text: CMS, Blogs, information. This layout technique is very close to manual HTML coding. This type of positioning is available both for static pages and dynamic pages. Benefit provided by this version 20 new feature: Fluid text and controls in the entire page. 773 n e w 773 n e w f e a t u r e W D W B W M “fluid” f e a positioning: t u r e W D W B W M HTML editing “fluid” positioning: ÉHTML In the “fluid” positioning mode the HTML source code is editable. editing In theWEBDEV “fluid” positioning modeinthe source then code as is edThe controls inserted theHTML text appear itable. HTML <object> tags. The controls in theastext The WEBDEV HTML code can beinserted customized youappear wish. then as HTML <object> tags. performed in the HTML code are displayed The modifications The HTML code can be customized as are youof wish. in WYSIWYG mode in the editor, and course kept in The modifications performed in the HTML code are displayed in the page. WYSIWYG modeby in this the version editor, and are of course kept in the Benefit provided 20 new feature: page. The specialist can customize their HTML code. Benefit provided by this version 20 new feature: The specialist can customize their HTML code. 82 83 WINDEV 20 WEBDEV 20 WINDEV Mobile 20 new features WINDEV 20 WEBDEV 20 WINDEV Mobile 20 new features HTML CODE EDITOR 7 76 7 74 n e w f e a t u r e W D W B THE NEW HTML CODE EDITOR AJAX n e w f e a t u r e W D W B W M Ajax functions: advanced use W M Brand new HTML code editor AJAX technology lets you execute a server process without reloading the entire page. WEBDEV offers two possibilities for benefiting of this technology. The most automated mode is “AJAX in one click” in the server processes, by clicking “AJAX” in the code editor band. Some developers like to edit the HTML code of their pages. Let’s remember that WEBDEV lets you create static and dynamic sites without having to code a single line of HTML (or JavaScript) Version 20 of WEBDEV offers a new HTML editor. The developer benefits from the richness of the WEBDEV code editor when editing HTML code. The HTML code editor can be used on controls that allow modification of their HTML code: the Rich Text Area control, page layout areas, page in “fluid” positioning mode (see new features 771 and 772) and the rich text controls. Benefit provided by this version 20 new feature: Specialists can edit the HTML code 7 75 n e w f e a t u r e W D W B W M HTML code editor: features In this case, the “server” process is automatically executed via an “AJAX” request, and the content of the controls in the page is then automatically updated with the new values of the controls retrieved from the server. Another custom method requires the use of the WLanguage AJAXExecute and AJAXExecuteAsynchronous functions to explicitly call a procedure on the server. Here, the controls are not updated automatically. In version 20, these two functions offer a new option: ajaxUpdateControls. This option lets you request the automatic refresh of the modified controls. You don’t need to write code to update controls. The HTML code editor benefits from similar functionalities to the WLanguage code editor. • Automatic indent • Automatic completion on the names of the HTML tags and attributes • Automatic completion on the values of the class= with the project styles • Completion when typing • Close the tag as soon as the closing bracket (>) is typed • Tag renaming during typing • Expand/Collapse blocks of tags • Coloring of the opening/closing tags • Coloring of the JavaScript when inserted between <script> </script> Benefit provided by this version 20 new feature: Less code • Automatic opening and closing of quotes, parentheses, brackets •... The HTML code editor will make passionate HTML coders happy! Benefit provided by this version 20 new feature: “Easy-peasy” HTML code editing 84 85 WINDEV 20 WEBDEV 20 WINDEV Mobile 20 new features WINDEV 20 WEBDEV 20 WINDEV Mobile 20 new features 7 79 PHP n e w f e a t u r e W D W B 79 4 W M PHP: AES, DES, 3DES encryption Encrypt! WD 780 Benefit provided by this version 20 new feature: Additional style book offerings. WB WM PHP: access to MariaDB PHP: Benefit from the common new features MariaDB is a database that came from a fork in MySQL. WEBDEV 20 offers native PHP access to MariaDB. Benefit provided by this version 20 new feature: Access MariaDB data. Upon request, WEBDEV can generate a PHP site. Most of the new features presented for WEBDEV as well as the common new features are available for PHP sites. 781 792 W M to W D W B New WLanguage functions in PHP Benefit provided by this version 20 new feature: Faster PHP site deployment. 7 78 W M Two new skins are being introduced in WEBDEV 20 “Kowii” and “Willy”. This adds new choices for possible style books that can be instantly used for your projects. Benefit provided by this version 20 new feature: WD WB WM W B Style book: 2 new skins The AES, DES and 3DES encryption modes are available in PHP. These are standard encryption modes. (see new feature 106) 777 W D 12 new WLanguage functions are being introduced for PHP in version 20. MapDisplayPosition MapAddItinerary MapAddMarker MapLicenceGgl MapModifyMarker MapDeleteItinerary MapDeleteMarker MapDeleteAll Contains CryptStandard dCopy UnCryptStandard WD WB WM New controls in PHP In PHP, the following new controls are available: With WEBDEV 20, • Google Maps it’s summer every day! • Tables with container columns • Breaks inside tables • Page layout area in “fluid” positioning mode • Controls in Rich Text Areas • Rich text in controls • ... 793 f e a t u r e W D W B W M Elegant text selection for the user When the user selects a text in the browser, this text is underlined. In version 20, the color used to underline the text is in harmony with the colors of the current skin template of the site. 796 n e w f e a t u r e W D W B 797 W M Modifying the CSS class by programming W M New types The structure, DateTime, Date, Time and Duration type variables are available in browser processes. Benefit provided by this version 20 new feature: W B Even more elegant sites. WLANGUAGE n e w W D Benefit provided by this version 20 new feature: Benefit provided by this version 20 new feature: Create rich PHP sites. 795 The new property MyControl..class lets you modify directly by programming the <class> html attribute of a control. Benefit provided by this version 20 new feature: Assign CSS classes dynamically n e w f e a t u r e W D W B W M Generation of the page prototype When creating a new page, the page editor generates automatically a page prototype in the Global declaration process. To pass parameters to this page, the developer only has to fill this prototype. Benefit provided by this version 20 new feature: Easier parameter passing. More power in the browser ... 86 87 WINDEV 20 WEBDEV 20 WINDEV Mobile 20 new features WINDEV 20 WEBDEV 20 WINDEV Mobile 20 new features 798 n e w f e a t u r e W D W B sion from the pool. In version 20, a session lets you execute the Project initialization process in advance. This process should obviously only contain generic code, such as the connection to the database, the loading of a news file ... A new process, Project initialization after connection, is being introduced to execute the initialization code dedicated to the user. reading a cookie, retrieving an IP address, ... W M WLanguage Browser code The WLanguage Browser code gets richer. The following syntax is supported: • automatic labels BREAK: and CONTINUE: • instructions BREAK and BREAK SWITCH • instruction GOTO, destination label • constant support • inclusion of external code file • instruction FOR EACH on the browser table and browser looper type controls. Benefit provided by this version 20 new feature: Faster site access Benefit provided by this version 20 new feature: The WLanguage browser code gets richer 799 n e w f e a t u r e W D DEPLOYING W B W M New properties, new types and new constants 9 45 to 8 62 n e w f e a t u r e W D W B LINUX W M 63 new WLanguage functions are being introduced in server mode in WEBDEV version 20. MapDisplayPosition MapModifyMarker StringToTime dTextRTF grStockGetData HAddScheduling HImportXLS HRefreshView NumToFinancialWritingChinese EventOpen SSHWrite DashAddWidget DashMoveWidget DashDelete PTWaitAll PTExecuteAfterAll 863 to 88 6 MapAddItinerary MapDeleteItinerary CryptStandard EmailGetIndicator grScatterGetDataXY HCompareItem HListScheduling HDeleteScheduling ActionPlanExecute SSHCommand SSHRead DashDisplay DashResizeWidget DashMode DashDeleteAll PTRequestCancelation PTExecuteAfterOne n e w MapAddMarker MapDeleteMarker DateTimeToReal geoAzimuth grGetData HSave HModifyViewRights HTTPSend RealToDateTime SSHConnectShell MapLienceGgl MapDeleteAll UnCryptStandard geoDistance grSurfaceGetData HExecuteScheduling HModifyScheduling iResetNbPages EventClose SSHDisconnectShell TableBreakSubscript DashLoadConfiguration DashCount PTCancel PTExecute TPParameter DashInitialConfiguration DashSaveConfiguration PTWait PTExecuteAfter f e a t u r e W D W B W M WLanguage: new Browser functions 24 new WLanguage functions are being introduced in browser mode in WEBDEV version 20. MapDisplayPosition MapInfoXY MapDeleteItinerary TableExpandAll DashResizeWidget DashInfoXY MapAddItinerary MapLienceGgl MapDeleteMarker TableCollapse DashLoadConfiguration DashMode MapAddMarker MapInfoPosition MapModifyMarker MapGetPosition MapDeleteAll TableExpand TableCollapseAll DashDisplay DashInitialConfiguration DashMoveWidget DashCount DashSaveConfiguration W D W B W M 887 n e w Benefit provided by this version 20 new feature: f e a t u r e W D W B Clearer interface 9 43 W M The new controls in version 20 are supported by the Linux application server. Benefit provided by this version 20 new feature: Use all the new features in Linux. to 9 42 n e w f e a t u r e W D W B n e w f e a t u r e W D W B W M 9 46 WEBDEV application server diagnostic New controls 888 In version 20, the site deployment tool evolves noticeably. A new and clearer interface lets you better visualize the files to update between the development computer and the hosting server. MANAGEMENT Reminder: a site developed using WEBDEV can be deployed on a Linux version of the WEBDEV application server. WLanguage: new Server functions f e a t u r e New setup interface Version 20 offers 12 new properties for WEBDEV, 11 new types and 64 new constants (please see the complete list in the online help). 800 n e w W M New functions in Linux In version 20, the “Diagnostic” feature of the WEBDEV administrator evolves. The diagnostic of SSL sites and authenticated sites (protected by a user login/password) is now possible. The list of the last (potential) errors that occurred on the WEBDEV application server can be consulted directly from the WEBDEV 20 administrator. A new tab is being introduced for this purpose. This way it is easy to control the server’s behavior, and to monitor the history of the (potential) errors. Analyzing your site’s life is easier MapAddItinerary MapDeleteItinerary CryptStandard EmailGetIndicator grSurfaceGetData HExecuteScheduling HRefreshView iResetNbPages EventOpen DashResizeWidget DashMode DashDeleteAll PTRequestCancelation PTExecuteAfterOne MapAddMarker MapDeleteMarker DateTimeToReal grStockGetData HAddScheduling HListScheduling HDeleteScheduling NumToFinancialWritingChinese TableBreakSubscript DashLoadConfiguration DashCount PTCancel PTExecute TPParameter MapLienceGgl MapDeleteAll UnCryptStandard grScatterGetDataXY HCompareItem HModifyViewRights HOnServerCall RealToDateTime DashDisplay DashInitialConfiguration DashSaveConfiguration PTWait PTExecuteAfter f e a t u r e W D W B W B W M Benefit provided by this version 20 new feature: Make space! 9 47 n e w f e a t u r e W D W B W M ... and many other features Version 20 also offers a large number of other interesting new features that you’ll discover once you’ve ordered and received your product. APPLICATION SERVER n e w W D In version 20, directly from the setup tool, it is possible to delete the obsolete files on the deployment server during the update. This feature is useful for limiting the consumption of storage space (and to avoid “polluting” the hosting server). Easier diagnostic 944 f e a t u r e Deleting files on the server Benefit provided by this version 20 new feature: 55 new WLanguage functions are being introduced in WEBDEV Linux in version 20. MapDisplayPosition MapModifyMarker StringToTime EmailGetTimeOut grGetData HSave HModifyScheduling HTTPSend EventClose DashAddWidget DashMoveWidget DashDelete PTWaitAll PTExecuteAfterAll n e w W M Cached sessions To reduce the connection time of the user to a site or a Web service, the WEBDEV application server lets you pre-run a pool of sessions. Each new user connecting to the site will use a ses- 88 89 WINDEV 20 WEBDEV 20 WINDEV Mobile 20 new features WINDEV 20 WEBDEV 20 WINDEV Mobile 20 new features Your applications are more efficient in version 20 TECHNOLOGY DOESN’T WAIT: ORDER YOUR COPY OF VERSION 20 TODAY Your code is unique: Windows, Internet, Linux, Mobile, Java, .Net, PHP, J2EE, Mac, Webservice, XML, Ajax, Android, iOS (iPhone, iPad), Windows Phone, Windows Mobile, Cloud,... Order your copy today! Version 20 has been announced. Any purchase of WINDEV 19 or WEBDEV 19 or WINDEV Mobile 19 (except updates) from 1/9/2014 entitles you to a free upgrade (product, manuals, and DVD) to the corresponding version 20, as soon as available. Any purchase of an upgrade to version 19 after 1/9/2014 entitles you to version 20 (product, manuals, and DVD) for the difference in upgrade prices (except shipping cost). New versions are being announced now so you can plan on them when developing, and so you don’t spend time developing features that will be included in the product. Some functions may not be available right away when the version ships, but will be offered later as downloads. Also note that additional improvements and new features other than the ones described in this document may be available in the new version. WINDEV, WEBDEV and WINDEV Mobile are professional software. Despite the care taken in creating this document, it is not contractual. The screen shots and the lists are given for information purposes only. Don’t hesitate to contact us if you need any additional information or to get confirmation of a feature. All the trademarks mentioned in this publication are registered trademarks of their respective owners. WINDEV 20 WEBDEV 20 WINDEV Mobile 20 new features TECHNOLOGY DOESN’T WAIT: ORDER YOUR COPY OF VERSION 20 TODAY Your code is unique: Windows, Internet, Linux, Mobile, Java, .Net, PHP, J2EE, Mac, Webservice, XML, Ajax, Android, iOS (iPhone, iPad), Windows Phone, Windows Mobile, Cloud,... www.windev.com