Jump to content
  • 0

Choose-functie werkt anders op Windows en Mac ??


AvD

Question

De goeie ouwe Choose-toepassing om een tijd in te geven zonder dubbele punt als separator (klik hier), doet het blijkbaar niet meer onder Mac OSX, terwijl onder Windows XP nog alles loopt zoals vroeger.

 

Als we een tijd willen invoeren in het veld Tijd Invoer, dan gebeurt dat via AutoEnter by Calculation, met volgende calculatie.

 

Time(Left(Tijd Invoer;Choose(Length(Tijd Invoer);0;1;2;1;2));
Right(Tijd Invoer;Choose(Length(Tijd Invoer);0;0;0;2;2));
0)

 

Heeft altijd goed gewerkt, nu niet langer onder Mac OSX.

Zie ik iets futiels over het hoofd? Erger nog: iets belangrijks?

 

Dank!

Link to comment

10 answers to this question

Recommended Posts

  • 0

Ik bedoel:

 

Als je eerst 123 intikt: krijg je 1:23:00

 

Als je nadien een 1:23:00, zou laten evalueren door de formule (door een wijziging in dat veld, of een set field, of een andere trigger als je formule slechts een deel zou zijn) dan krijg je:

 

00:00:00

 

Ik zou mijn formule aanpassen en er een voorwaarde rond zetten:

 


If (PatternCount(GetAsText( Tijd Invoer) ; ":" ) = 0 and not IsEmpty(Tijd Invoer)
;
Time(Left(Tijd Invoer;Choose(Length(Tijd Invoer);0;1;2;1;2)); 
Right(Tijd Invoer;Choose(Length(Tijd Invoer);0;0;0;2;2)); 
0) 
;
Tijd Invoer
)

 

Koen

Link to comment
  • 0

Dit maakt nu weer blij!

 

Zoals zo vaak komt nu natuurlijk nog een onverwachte aap uit de mouw: in werkelijkheid - maar dat had ik er hierboven niet bijgezet omdat ik dacht dat dat niet relevant was - had ik al zo'n PatternCount op de dubbele punt in de formule staan. Ik wilde de tijdsinvoer immers toelaten op twee manieren:

1) vanuit een predefined value list (met dubbele punten er al in, per kwartier)

2) vanuit het toetsenbord en de Choose-functie (dus zonder dat de dubbele punt moest ingegeven worden).

Punt 1 krijg ik wel verzoend met de formule die je me aanreikt.

Ik blijf echter met de vraag zitten waarom die tweede evaluatie spontaan gebeurde op de Mac en niet op Windows.

Voor de volledigheid geef ik je de originele formule:

If(PatternCount(Tijd Invoer;":") > 0 ; Tijd Invoer;

Time(Left(Tijd Invoer;Choose(Length(Tijd Invoer); 0; 1; 2; 1; 2));
Right(Tijd Invoer;Choose(Length(Tijd Invoer); 0; 0; 0; 2; 2));0))

Link to comment

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...