Diese Seite mit anderen teilen ...

Informationen zum Thema:
WinDev Forum
Beiträge im Thema:
Erster Beitrag:
vor 9 Monaten, 1 Woche
Letzter Beitrag:
vor 3 Tagen, 21 Stunden
Beteiligte Autoren:
André Labuschagné, Fabrice Harari, Allie, Allard, DW, Tor-Bjarne, Stefano Giavardi, Danny Lauwers, Mike James, GuenterP, Chris cordes

WX 23

Startbeitrag von Fabrice Harari am 09.10.2017 13:29

Hi Everybody,

the FRENCH brochure for WX23 is out, and as I know lots of you are anxious to know, I'm going to give some basic information on the points I find interesting (so it's MY take only)... If you want a full translate, google translate is your friend.

- The WXLadies are still here, no improvement.

- WD, WB, WM: Layout field: It's a container field where fields are automatically positioned when you make one of them invisible by code, or when one of them become bigger.

- WD: Image editor: What you had to do by code (and there was an example) to let your user modify images is now available as a field.

- WD: PDF viewer: What you had to do by code (and there was an example) to display a pdf is now available as a field.

- WD: Spreadsheet field is improved

- WD: Word processing field 'comes of age' (and I'm quoting them here).

- WD: Table in Table (dig in the data to see linked records) for table linked to a file. Also, option to automatically refresh the table when file is modified. Of course, all that could be done by code before.

- WD: Several improvements in planning, calendar, graphs,

- WD,WM: Planes can be named, so no more need of using constants to do that

- WD, WM: you can see all planes at once

- WD,WB,WM: when opening an example, a copy is made and you DON'T work on the original anymore.

- WD,WB,WM: The image editor gets multiple improvements, and in particular can now generate multi-DPI images for mobile.

- Analysis: mark field as "zombies", ie they shouldn't be used in the code anymore (and the editor will tell you).

- Code editor: for those of you who like to type SQL core directly in the editor, it is now colored syntaxically, with automatic completion and syntax error detection/coloration

- Functions accepting time/duration as parameter now accept a unit (5s, 10 min...) on top of their 500 hundreths of seconds or equivalent

- numbers can be types with spaces/underscore as thousands/separators in the editor

- Procedures can be declared as Zombies too (so a warning is generated if used)

- All elements of a class can be declared a zombie too.


- editor automatic completion improved: offers functions by theme, offers YOUR procedures,

- Search window can now be used on the side of the screen/vertically (where we have lots of room)

- HFSQL : a file can now be declared as non modifiable: you can only ADD in it. That will help a lot for audit/IRS/Tax controls. A new function allows to verify that it was not modified manually/outside your program.

- HFSQL server now support kerberos for user authentification

- WD, WM: Multi line text field can now increase in size based on content. Same thing for html fields and edit fields

- WD: Silent install (no UI) is now possible

- WM: New HTML fields: its possible to call wlanguage from it (open a window by example), to call JS code from the wlanguage/windev mobile window, can change size based on content, and there are new wlanguage code areas for it: end of loading, click on link.

- WM: loopers can use a different internal window for each line. Height of line can adapt to content,

- WM: Native fields container allows to integrate fields coming from external modules (SDKs)

- WM: multiple layouts management improvements

- WM: New BEACONs support/functions

- WM: Simulator now displays the virtual keyboard to help configure UI.

- WM: new functions for memory compress/uncompress, screen capture, battery level, waiting window, function to get information on the hardware (maker and model),

- WM: Background processing by simply specifying a delay.

- WM/iOS: apple watch 3 support, oAuth, proxy,

- WM/ANDROID: CODE OBFUSCATION has arrived!!!!!!!!

- WM: Scroll automatic of window for keyboard avoidance

- WM/Android: numeric and int on 1 and 2 now available (also JAVA and Mac, as all that is in Java)

- WM/Android: fingerprint reader management

- WM/Android: Samsung DEX supported

- WM/UWP: multiple new functions

- WB: new photo gallery field (you had to use a looper before for that)

- WB/Responsive: table control now changes when too big.

- WB: Multiple little fields improvements

- WB: Improvement on variables management: now a server variable CAN be modified on browser side and value sent back to server

- WB: single page application is easier with new previous/next processes

- WB/Responsive: the use of the LAYOUT new fields increases what we can do.

- WB: we can finally say what style and hieght to use by default for all fields.

And that's it for me... I don't care for the other ones :-)

Best regards


Thanks Fabrice that is a lot.

Dennis W

von DW - am 09.10.2017 18:54
Thanks a lot for doing this job, Fabrice!

von GuenterP - am 10.10.2017 06:23
importing third party libraries seems tto be upgraded as well!!

For me that is very importand,


Means we can use almoast anything !!

von Allard - am 11.10.2017 13:46
Thanks so much, Fabrice!!

von Chris cordes - am 11.10.2017 22:38
Was there anything on Reports & Queries?

von Mike James - am 13.10.2017 01:03
Hi Mike,

not that I can remember...

Best regards

von Fabrice Harari - am 16.10.2017 13:55
Hi Fabrice

Thanks for that.

But still no support for a spreadsheet or grid control for WB? Tables and Loopers do not cut it.


von André Labuschagné - am 21.10.2017 18:17
Hi André

I do not know what your specific need is, and tables and looper DO cut it for me, so I'm not sure what to tell you.
I did not see anything of the very VAGUE description you are giving in the list, no

Best regards

von Fabrice Harari - am 22.10.2017 11:46
Hi Fabrice

Have you manage to do all of the following with either/or the table or looper control in WB:

1. Declare "columns" dynamically based on variables.

2. Lock columns so that they are read only and are skipped when the user navigates with up, down, left and right arrow keys.

3. Have full control of code within events when the user enters data into a "cell" - needed for data integrity checks.

4. Declare the top row to be a heading row and is therefore not editable and not part of the actual grid.

Lots more but that is the minimum requirement. Tables come close to it and you can edit individual cells but you cannot navigate between rows. You are stuck in the row that you are editing. If you have a way of navigating between rows while editing in a WB table I would be very interested in how this is done. You can of course navigate between columns and rows in a looper but you cannot define headers. If they are outside of the looper they will never line up as you scroll through the looper.

I am all ears if you have a solution to this dilemma. It is the single requirement that we have not been able to successfully achieve with WB. That is why I mentioned a spread sheet control for WB - this sort of navigation would be native to the control. If I can skin the cat any other way I am all ears - all I need is a grid that the user can navigate through and I can freeze and skip columns and rows and there is a heading that stays with the column - as in the case of a spreadsheet. The looper control comes pretty close but the lack of a header for each column sort of messes it up as a solution. I do have some ideas as to how I can turn a looper into a sort of spread sheet control but it is going to require lots of work. It will be much easier if Montpelier ships with WB spreadsheet control.

Hope that makes sense.


von André Labuschagné - am 22.10.2017 13:12
We actually do it using an external grid (Farpoint Spread), controlled by a WD class.
It does all you say, can manage combobox dropdown list depending row by row and cell by cell, provide a clear always visible filter row whose type depends on the type of values of the column, accept formula columns and so on.
Is a full excel controlled by the WD class.

We asked Jerome Aerts during a meeting about improving the Spreadsheet in order to have a WD control doing the stuff but the answer was the same of Fabrice. Maybe only few developers really need this functions.

von Stefano Giavardi - am 22.10.2017 14:29
Hi Stefano

>>We actually do it using an external grid (Farpoint Spread), controlled by a WD class.

We use Farpoint Spread with Win32 and have done so for many years - maybe ten years now.

I am specifically referring to WB, not WD. Do you use the GrapeCity stuff with WB? if so I would really like to talk to you.


von André Labuschagné - am 22.10.2017 15:16
Nope. Only WD. Never used WB until now.
Only WD for desktop and WD mobile for industrial scanners.

I hate Web App, I prefer desktop app getting data through web service instead. Too much limitations in web interfaces for my customers now. Maybe in future with using the One Page For All feature by latest WB.
We are developing on Android just now but it's early to judge the WM platform on mobile apps now.

von Stefano Giavardi - am 22.10.2017 15:23
Hi Stefano

I am yet to meet a seasoned software developer who does not hate web apps. So you are in good company I guess. The web browser is a joke of gigantic proportions. It will go down as one of the great wonders of the world that it ever got any traction. But it did on account of simple spatial econometrics - access from anywhere without having to install anything on the client machine. But the limitations are obvious to all. It is as best a very poor cousin to windows desktop and mobile apps. Browsers can best be described as out of control 100kg gorillas.

Sadly we need to use Web Apps in some situations so we have to find a solution for this.

We produce desktop, browser based and native mobile apps.

Thanks for your input - much appreciated.


von André Labuschagné - am 22.10.2017 16:12

Maybe some of these: https://jspreadsheets.com/

Could be used in WebDev via the Web Component ?

Have a nice day

von Danny Lauwers - am 22.10.2017 17:18
one way of doing that, and it's not the only one:
- use regular edit fields aligned in lines and columns (as many as you need). Either pre-defined and made visible or not, and with controlclone
- keep the real content of the 'grid' in an array, a query, or anything else
- manage the stuff by code

Once you have written the procedures or class to manage that correctly, re-use and abuse of it

Best regards

von Fabrice Harari - am 22.10.2017 19:11
Hi Danny

Thanks for that link. I will look at those.


von André Labuschagné - am 22.10.2017 20:18
Hi Fabrice

Thanks for that - not sure what you mean by aligned in lines and columns though. The problem is that the width of the columns will change depending on the width of the header - unless I can make the headers display text vertically instead of horizontally. Have not tried that yet.


von André Labuschagné - am 22.10.2017 20:21
Hi André

that's the beauty of coding the control yourself, you can make it behave any way you want.
In that case, if you want to change the width of a column, you just loop on them and change ..width and ..X of the following ones... it's just a loop...

Code Once, Use Many. :-)

Best regards

von Fabrice Harari - am 23.10.2017 13:37
Hi ,

With webdev and loopers all but the arrow stuff can be achiefed.

Real short comming is still not being able to use arrouws to select a table row. In all kind of java controls like vadin this is just standard behaviour!!
Same suppose is the use of "Splitters" . Simple to create with javascript but not with webdev.

As I mentioned earlier the support for third party frameworks ( availeble from version 22)
This changes everything . !!

It is more work . You will have to develop in a N-tier manner. But this is still way more easier then other technologies. Use webdev for server stuff and the external framework as front office.
You can use the control from syncfusion for free if your turnover is under a million.

You coulduse angular 4 for front as well. I have taken a look at that and it is not that difficult. And gives you all the flexibility you could ever want. ( uses typescript , a structured way of javascript )

von Allard - am 23.10.2017 14:54
Hi Fabrice

I do not want to reinvent the wheel if I can help it. There is no point.


von André Labuschagné - am 23.10.2017 16:03
Hi Allard

I have managed to achieve the navigation [arrow stuff] with loopers but column headers remain an issue as does freezing rows and columns.

I have been in contact with Montpelier and this new web component thing seems as though it may do the trick. I still cannot see how but all I want to do is consume some existing technology on the page. This is just html, css and javascript after all.

I have a look at the control from syncfusion but cannot get it to work yet in 21.

It would be nice to have a decent example using the new web component thing. Is there a good example in 22? Have not upgraded yet.


von André Labuschagné - am 23.10.2017 16:08
Hi Andre

It doesnot work in 21. In 22 I got the gant chart to work. It was quite easy to display it and to make it do stuff. But it seems adding data to it and chaneging stuff by programming is more work.

But I have seen how it works .. changing the control by programming. You have to make hooks that target the json, that then again chnages the behavior of the control.

Saving data form and adding data to the control goes with json as well. The whole control saves its data as json.

Problably have to do a http rest call to post and retreve json and use variantto sjson and json tovarriant to get stuff in workable format. But this I HAVENOT DOEN YET ( BUSSY WITH OTHER STUFF HAHA)


Colum headers are just an other looper above the looper with data. You can anchor this tao do the same as the looper with data.
Infact you create a table with a looper for the columheaders and a looper for the data of the colums.

von Allard - am 23.10.2017 22:10
Hi André,

You said:

André Labuschagné
I am all ears if you have a solution to this dilemma. It is the single requirement that we have not been able to successfully achieve with WB.

And now:

André Labuschagné
I do not want to reinvent the wheel if I can help it. There is no point.

Well, I gave you a solution following your first request. If you don't want to use it, it's your choice. I'm part of the old school of thoughts: if the tool doesn't do it for me, I'll just code it myself.

Best regards

von Fabrice Harari - am 23.10.2017 22:46
Hi Fabrice

The suggestion you offered will not work. It misses most of the requirements.


von André Labuschagné - am 24.10.2017 07:41
Hi André

By itself, it misses ALL the requirements. The solution is to CODE the whole thing... And I'm perfectly able to bake all of your requirements in it.

Now, if you real requirement is to have a high level control that does ALL you need for you without any coding, then I agree.

However, you are thinking about integrating an outside control to do the work. The amount of work necessary to do that is NOT negligible, the chances that ALL your requirements will be PERFECTLY met are slim, the chances that you will be able to modify its behavior to perfectly suits your need are near zero, and the chances that the tool will require changes for the next version of webdev are quite high.

So enjoy the ride, whatever solution you choose :-)

Best regards

von Fabrice Harari - am 24.10.2017 10:59

I love Farpoint Spread and has been using this excellent control for Windows applications (in different versions of clarion and windev) for more than 12 year, it has never let me down, never had problems/challenges that I could not resolve in a short amount of time.

I had to write my own class to control it and as Fabrice states, this took me quite a considerable time to do, but this investment in time I was willing to do for WinDev as I`d already know the excellent control from my Clarion days.

And that Spread exist as a control(s) for "the web" is good news if speed and functionality is near the Windows one :)

If PCSoft would do 10% of the stuff you find in Spread we would be helped with 80% of the uses I use Spread today.

But if the "Win/WebDev spread/Grid" is as is today, it`s just a funny icon on my developer window as it will not be used in any application of mine, as Spread surpassing PCSoft-spread with light years.


von Tor-Bjarne - am 27.10.2017 14:43
Hi Tor-Bjarne

Been using Farpoint Spread in Clarion for as long as I can remember. Agree with all your points. It is brilliant and stable and has an incredible amount of functionality. The PCSoft controls do not have a patch on the Farpoint one.

Have you used their web offering in WB? If so I would really like to speak to you.


von André Labuschagné - am 29.10.2017 18:39
Hi Andre,

No, I`ve yet to use the Farpoint Spread component for Javascript in any WebDev solution.

Due to the type of applications I`m involved with (Balances, Industry PCs ,Lab Equipment and so forth) it`s still WinDev i develop 99% of the time :)


von Tor-Bjarne - am 31.10.2017 08:06
Hi Tor-Bjarne

Understood. May need your help with the WD stuff at some point. Never done this sort of thing in WD yet.


von André Labuschagné - am 06.11.2017 08:38
So, we've got fingerprint reader in Android, but not in iOS.......that's inspired, isn't it?

Surely something like TouchID, that's been around for ages, should be supported by now?

There are lots of wonderful functions on offer, but something so 'core' as to being able to authenticate a user, not being available, does bring questions from users, especially corporate users who want the added comfort of being able to have TouchID, or even FaceID, built into the app.

I was rather hoping to use WinDev Mobile for a iOS/Android app for the business where I work, having not used it for several years and thinking that the latest version would certainly support FingerPrint recognition for both platforms. However, security is upmost, and TouchID was certainly on the list. Looks like I'll have to code iOS natively and either get a Java Developer in or try WinDev Mobile Android and hope there aren't any 'gotchas' in that.

von Allie - am 15.07.2018 19:22
Ah, it looks like Face ID is supported in iOS......but not TouchID?

I'll be very happy if someone can tell me it IS supported !

von Allie - am 15.07.2018 19:35
Touch ID is supported been using it since v21 on IPhone


von DW - am 16.07.2018 01:45
Thank you Sir, you've made my day !

Incidentally, what commands are used for that? I had a quick look but couldn't see any in the documentation ?

von Allie - am 16.07.2018 10:23



von DW - am 16.07.2018 10:53
Brilliant, thank you.

von Allie - am 16.07.2018 11:53
Zur Information:
MySnip.de hat keinen Einfluss auf die Inhalte der Beiträge. Bitte kontaktieren Sie den Administrator des Forums bei Problemen oder Löschforderungen über die Kontaktseite.
Falls die Kontaktaufnahme mit dem Administrator des Forums fehlschlägt, kontaktieren Sie uns bitte über die in unserem Impressum angegebenen Daten.