Ga naar inhoud
  • 0

Filemaker Go layoutkeuze


Frank

Vraag

5 antwoorden op deze vraag

Aanbevolen berichten

  • 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 naar reactie
  • 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
)

 

aangepast door andries
Link naar reactie
  • 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 naar reactie
  • 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 naar reactie

Doe mee aan dit gesprek

Je kunt dit nu plaatsen en later registreren. Indien je reeds een account hebt, log dan nu in om het bericht te plaatsen met je account.

Gast
Beantwoord deze vraag...

×   Geplakt als verrijkte tekst.   Plak in plaats daarvan als platte tekst

  Er zijn maximaal 75 emoji toegestaan.

×   Je link werd automatisch ingevoegd.   Tonen als normale link

×   Je vorige inhoud werd hersteld.   Leeg de tekstverwerker

×   Je kunt afbeeldingen niet direct plakken. Upload of voeg afbeeldingen vanaf een URL in

×
×
  • Nieuwe aanmaken...