2009

Jan

16

Av Rolf

Har ni någon gång känt att ni saknat möjligheten att gå mellan rader i en portal precis som i Excel med ”pil upp” eller ”pil ner” på tangentbordet? Om inte så häng med ändå för att se vad den nya funktionen manusutlösare kan användas till i FileMaker Pro 10. 

I exemplet som följer, föreställande en portal med personer och deras ålder, vill jag kunna gå upp och ner i portalen när jag står i fältet Ålder med piltangenterna. Börja med att skapa ett manus enligt nedan:

Ange variabel [ $tangent; Värde:Code(Get ( Utlösartangenttryckning )) ] 
Ange variabel [ $rad; Värde:Get ( Portalradnummer ) ] 
If [ $tangent = 29 ] 
    Ange variabel [ $rad; Värde:$rad - 1 ] 
    Gå till portalrad [ $rad ] 
    [ Markera; Ingen dialogruta ] 
    Gå till fält [ PilUppNer_PilUppNer::Alder ] 
    Avsluta manus [ Resultat: 0 ] 
End If 
If [ $tangent = 31 ] 
    Ange variabel [ $rad; Värde:$rad + 1 ] 
    Gå till portalrad [ $rad ] 
    [ Markera; Ingen dialogruta ] 
    Gå till fält [ PilUppNer_PilUppNer::Alder ] 
    Avsluta manus [ Resultat: 0 ] 
End If

Koppla manuset till fältet du vill kunna stega mellan genom att högerklicka (ctrl + musklick på mac) och välja manusutlösare i menyn. Ställ in den enligt nedan.

hogerklick1

manusutlosare2
Det manuset gör är att först spara undan vilken rad man står på samt vilken tangent man tryckte på i form av ett nummer som representerar tangenten. Om det är ”pil upp” som motsvaras av värdet 29 så flyttas insättningspunkten till raden ovan och om det är ”pil ner”, som har värdet 31, till raden under.

Eftersom tangenttryckningar ”släpps igenom” manuset måste dessa förhindras när det är pil upp eller ner som trycks. Resultatet blir annars att manuset anropar sig själv. För att inte låta tangenttryckningen gå igenom avslutas manuset som falskt genom att sätta 0 som värde för manusresultat.

Ovanstående exempel är reviderat en gång för att bli mer generellt.

Ladda ner exempelfil PilUppNer.fmp12.

Skriv en kommentar

Din epost-adress stannar hos oss.