[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Important change in MaskBox control


Hi Benoît

Just for the record ...

The MaskBox had indeed a very bad bug which occurred when using the back-step key (i.e. to correct an entry). I fixed it by making this modification:

    While iPos >= 0
      If $aMask[iPos] Then Break
      Dec iPos                                              'Added by Claus Dietrich because separators are to be passed over
      Dec iPos
    Wend

and use this modified user control as source code in a project since years. It works perfectly - at least for the entry of a period of time in the format mm:ss.

If I find a slot during my garden work I will test the new MaskBox in my project and come back.

Best regards

Claus


Am 12.04.26 um 23:37 schrieb Benoît Minisini:
Hi,

The MaskBox control was not reliable, so I rewrote its management code in the master branch.

Tell me if it is better now than before.

I hope there will not be too many regressions.

I added a new syntax, normally backward-compatible, that I named "weak" separator. It's a separator that does not block character insertion or deletion, as if it was not there. Think about the thousand separators of a big number.

To add a weak separator, put it into square brackets in the mask.

For example, for typing a currency:

$##<[,]###<[,]##0<!.00

There is still some bugs I'm still working on, but I wanted this code to be tested as soon as possible by those who use the MaskBox control a lot (not me!).

If this new behaviour cannot be backward-compatible, I will add some flag to keep the old MaskBox behaviour or use the new one, so that you don't have to adapt your project. And this flag may also be simply based on the version of the interpreter running the project.

Just tell me.



Follow-Ups:
Re: Important change in MaskBox controlJussi Lahtinen <jussi.lahtinen@xxxxxxxxx>
References:
Important change in MaskBox controlBenoît Minisini <benoit.minisini@xxxxxxxxxxxxxxxx>