Jump to content
  • 0

Filemaker Go layoutkeuze


Frank

Question

5 answers to this question

Recommended Posts

  • 0

Henk gaf je alvast de informatie om te weten welk vlees je in de kuip hebt, je gaat dus met Get ( Device ) 4 als antwoord krijgen op je iPhone.

Je zou je layout naam kunnen berekenen aan de hand van deze informatie, maar ik raad je aan dat niet te doen. Als je achteraf layout namen verandert, werkt het niet meer correct.

Werk in je [OnFirstWindowOpen] script - https://fmhelp.filemaker.com/help/18/fmp/nl/#page/FMP_Help%2Fonfirstwindowopen.html voor de NL term die blijkbaar "BijEersteVensterOpenen" heet. Ziet er zó uit en je koppelt het aan een script.

OnFirstWindowOpen.png.483f2fe53993d681fb3daeb7a1a178fc.png

Weet je misschien al. Ik wou toch maar zeker zijn.

In dat script ga je als volgt te werk in pseudo script taal:

if [ Get ( Device ) = 4 ]

  Ga naar layout "iPhone Layout"

else if [ Get ( Device ) = 3 ]

  Ga naar layout "iPad Layout"

else

  Ga naar layout "Gewone layout"

end if

Dit is beter dan je layout naam te "berekenen" zoals je in je originele vraag van plan was.

Link to comment
  • 0

ik bereken wel de layoutnaam, maar op basis van ID, hiervoor gebruik ik dan deze custom function: https://www.briandunning.com/cf/858 Dit is natuurlijk wel complexer dan wat Peter voorstelt.

en ik maak dan een eigen functie aan voor elke layout, bijvoorbeelder "customer.form", en zo doe ik in mijn scripts:

ga naar layout [ customer.form ]

de eigen functie 'customer.form' ziet er dan zo uit

Case ( 
    Get ( Device ) = 4 ; FM_Name_ID ( 23 ; "L" ; "" ; "" ); //layout voor iphone
    FM_Name_ID ( 25 ; "L" ; "" ; "" )  //layout voor andere toestellen
)

en ik vind dat wel leuk werken om eerlijk te zijn. Vraagt altijd wat setup als je een nieuwe layout aanmaakt, maar nadien zit je wel veilig en toch dynamisch en ook heel leesbaar.

 

ik heb eigenlijk ook eigen functies om niet met Get ( Device ) te moeten werken, en dan ziet de functie er eigenlijk zo uit:

Case ( 
    iPhone ; FM_Name_ID ( 23 ; "L" ; "" ; "" ); //layout voor iphone
    iPad ;  FM_Name_ID ( 25 ; "L" ; "" ; "" )  //layout voor ipad
    Desktop ;  FM_Name_ID ( 21 ; "L" ; "" ; "" )  //layout voor grote schermen
)

 

Edited by andries
Link to comment
  • 0

Je kunt ook een tabel maken waar alle layouts in staan met een eenvoudig script. Ik zet daarbij ook het formaat en positie van Card layouts in de naam zodat deze automatisch op de juiste positie staan. Systeem layouts zijn leeg en openen automatisch net buiten het scherm dmv  get ( screenheigth ) +1 

Je kunt op deze manier eenvoudig de juiste layoutID opzoeken in de tabel en deze gebruiken in je script. Met een custom functie regel je dan de positie en andere eigenschappen die je in de layoutnaam verwerkt.

Script staat in bijlage.

Layouts.pdf

Link to comment
  • 0

Ik zie het.  Sinds FileMaker 7 hebben @Koen Van Hulle, @dannydv en ik ons verdiept in een "framework", een soort van bibliotheek die je standaard in elk development gebruikt, met extra functionaliteit. Ik ben er zeker van dat iedere developer die dagelijks met dit soort zaken geconfronteerd wordt, er een elegante oplossing voor zoekt, en uiteindelijk hiertoe komt.

Omgekeerd, wie er sporadisch of zelfs éénmalig mee te maken heeft, en zich vragen stelt, mogen we echter niet overdonderen met gesophisticeerde oplossingen. Vandaar dat ik ook probeer om op een eenvoudige vraag een eenvoudig antwoord te geven.

Wat niet wegneemt dat ik jullie reacties heel erg smaak. We leven allemaal een beetje in isolement wat dit soort oplossingen betreft, en ik lees graag over dit soort benaderingen, die me soms een compleet nieuwe kijk op oplossingen geeft. Waar dit forum helemaal over gaat. :-)

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...