Jump to content
  • 0

Modfier keys and constrained find


idmix.be

Question

Posted

Weet iemand of het volgende kan ?

 

Ik heb een overzicht (lijst) van fakturen, die zijn gesorteerd per jaartal en nummer. Ik heb een zoekscript dat mits ik op het jaartal klik in mijn sub-summary enkel de facturen can het desbetreffende jaar weergeeft. As ik nogmaals op het jaartal klik in de sub-summary komen alle fakturen weer gesorteerd te voorschijn.

 

Een zelfde principe hanteer ik om enkel de fakturen van een bepaalde klant weer te geven, of de fakturen van mijn verschillende faktuurcategorieën (verkoop, verhuur, ...) Deze knoppen bevinden zich uiteraard in het body gedeelte van mijn lay-out.

 

Kan ik nu met behulp van mijn modifier keys, bijvoorbeeld shift, mijn selectie van records uitbreiden of terug inkrimpen ? Ik klik bijvoorbeeld op een jaartal en shift-klik dan op een klant, zodanig dat ik enkel de facuren van dat jaar van die klant krijg. Als ik terug shift-klik op de klant druk komen alle records van dat jaar weer te voorschijn, of als ik shift-klik op een faktuurcategorie komen enkel de fakturen van dat jaar, van de bewuste klant, binnen die bepaalde faktuurcategorie te voorschijn.

 

Ik denk aan een soort van if-statement in combinatie met een get(Activemodifierkey).

Heeft iemand soortgelijke truc al toegepast ?

 

Merci alvast voor de input, bedenkingen.

3 answers to this question

Recommended Posts

  • 0
Posted

Ik maak meestal gebruik van een custom-function om de modifierkeys als variabele te kunnen oppikken.

 

Functie:

ModKeys ( prefix )

Code:

Let ( [ 
modkeys 	= Get ( ActiveModifierKeys ) ; 
modkey_apple = If ( modkeys ≥ 16 ; 1 ) ; 
modkeys 	= modkeys - modkey_apple * 16 ; 
modkey_alt = If ( modkeys ≥ 8 ; 1 ) ; 
modkeys 	= modkeys - modkey_alt * 8 ;
modkey_ctrl = If ( modkeys ≥ 4 ; 1 ) ; 
modkeys 	= modkeys - modkey_ctrl * 4 ;
modkey_caps = If ( modkeys ≥ 2 ; 1 ) ; 
modkeys 	= modkeys - modkey_caps * 2 ;
modkey_shift = If ( modkeys ≥ 1 ; 1 ) ; 
modkeys 	= modkeys - modkey_shift * 1 	
] ; 
Evaluate ( "Let([" & 
		"$" & prefix & "apple=" &  If ( modkey_apple ; 1 ; "\"\"" ) & 
		";$" & prefix & "alt=" &  If ( modkey_alt ; 1 ; "\"\"" ) & 
		";$" & prefix & "ctrl=" &  If ( modkey_ctrl ; 1 ; "\"\"" ) & 
		";$" & prefix & "caps=" &  If ( modkey_caps ; 1 ; "\"\"" ) & 
		";$" & prefix & "shift=" &  If ( modkey_shift ; 1 ; "\"\"" ) & 
	"] ; 
		\"\" )" )
)

Op deze manier krijg ik altijd op dezelfde manier de modkeys terug. Heb je geen FMPAdvanced, dan kan je dit net zo goed als variabele in een script declareren en dan werkt het ook.

Caveats? Ja zeker, als je de control-toets uitvraagt en je doet dit bij het starten van je zoekopdracht die je start met een keyboard-shortcut, dan is $ctrl = 1 uiteraard :-)

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