Components | All | New | MacOS | Windows | Linux | iOS | ||||
Examples | Mac & Win | Server | Client | Guides | Statistic | FMM | Blog | Deprecated | Old |
Schedule.EvaluateAfterDelay
Evaluates an expression after a delay.
Component | Version | macOS | Windows | Linux | Server | iOS SDK |
Schedule | 5.2 | ✅ Yes | ✅ Yes | ❌ No | ❌ No | ✅ Yes |
Parameters
Parameter | Description | Example | Flags |
---|---|---|---|
DelaySeconds | The Number of Seconds to wait before running the script. | 10 | |
Expression | The expression to evaluate. | "Get(CurrentTimeStamp)" | |
ScriptFileName | The name of the file that contains the script to be run. | Get(Filename) | Optional |
ScriptName | The exact name of the script to run. | "TestScript" | Optional |
RepeatDelay | The number of seconds after which to repeat the script call. | 30 | Optional |
Result
Returns reference number or error.
Description
Evaluates an expression after a delay.Optional, we can start a script with the result of the query.
Please use Schedule.Release later to remove schedule from list. Non repeating scheduled items are free automatically for you.
Our plugin does not provide persistence. You need to schedule things in your scripts if you need them. When FileMaker quits, the plugin forgets the list of schedules.
Examples
Try it:
Set Variable [$expression; Value:"MBS(\"Log\"; \"Evaluate works\")"]
Set Variable [$ref; Value:MBS( "Schedule.EvaluateAfterDelay"; 5; $expression )]
Show/Hide format bar in German:
Set Variable [ $r ; Value: MBS( "Schedule.EvaluateAfterDelay"; ,1; "MBS( \"Menubar.RunMenuCommand\"; List(\"Ansicht\"; \"Formatierungsleiste\") )") ]
Set scrollbar elasticity after delay of 0.1 seconds:
Set Variable [ $r ; Value: MBS( "Schedule.EvaluateAfterDelay"; 0.1; "MBS(\"Window.Scrollbar.SetScrollElasticity\"; 0; \"none\")") ]
Open Scriptworkspace:
# won't work directly in script as we need to delay, let the script end and then the menu command can run:
Set Variable [ $r ; Value: MBS( "Schedule.EvaluateAfterDelay"; 0.1; "MBS( \"Menubar.RunMenuCommand\"; 51319 )") ]
Check in background for a file to appear and trigger script when it exists:
MBS( "Schedule.EvaluateAfterDelay"; 5 ;
"Let ([
path = \"/Users/cs/Desktop/test.txt\" ;
databaseFile = \"Assets.fmp12\";
scriptName = \"Import\";
parameter = \"Your parameter\";
file = MBS(\"Files.FileExists\"; path);
r = If( file = 1; MBS(\"FM.RunScript\"; databaseFile; scriptName; parameter); 0 )]; 0)";
""; ""; 5 )
See also
- Menubar.RunMenuCommand
- PageSetupDialog.Install
- PageSetupDialog.SetPaperHeight
- PageSetupDialog.SetPaperWidth
- Schedule.EvaluateAtTimeStamp
- Schedule.ExecuteSQLAfterDelay
- Schedule.GetEvaluateResult
- Schedule.Release
- ScriptWorkspace.OpenScript
- Window.Scrollbar.set
Example Databases
- Mac only/Print/Page Setup Dialog on Mac
- Mac only/Print/Page Setup Dialog
- MongoDB/MongoDB Audit
- Overlay
- Schedules/CountDown
- Schedules/OnRecordEdit Trigger
- Schedules/Schedules
- SQL in FileMaker/Custom Functions to Log Scriptcalls
- Window/Schedule Moved Trigger
- Window/Window Activation Trigger
Blog Entries
- Watch MongoDB Database
- Window Activation Trigger
- Script trigger for moving window
- OnRecordEdit Trigger in FileMaker
- Record Creation Script Trigger
- Page Setup Dialog example
This function checks for a license.
Created 21st May 2015, last changed 10th November 2023