Jump to content

The Shadow

Members
  • Content Count

    775
  • Joined

  • Last visited

Community Reputation

4 Neutral

About The Shadow

  • Rank
    member

Profile Information

  • Gender
    Not Telling

Contact Methods

  • Website URL
    http://www.spf-15.com/fmExamples/

Recent Profile Visitors

The recent visitors block is disabled and is not being shown to other users.

  1. I agree with Comment regarding multiple return values. It appears you are trying to mess around with Lunar -> Gregorian calendars here. A way to drop this into one return value would be to use an actual Date type. FileMaker's Date type is very smart, so you can start with say, 1/1/2000, add 300, and it will give you the correct month and day for the year 2000, taking into account leap years, days per month, etc. If you were using that, I suspect a lot of this complexity would just drop away. I suspect if you had some base lunar Date converted to a FM Date, you could use that to give you a delta to compute any Lunar <-> Gregorian conversion you wanted.
  2. You can blame me. I wrote the first pass of Custom Functions, and there wasn't a good way to make a field dependent on an external item, so I just didn't. So, the choice eventually became ship what we had, or wait and rewrite the dependency system to allow this. Still, its been years and it hasn't been fixed yet - I would suggest people complain more about it. It is not like its impossible for them to do.
  3. Thanks comment - I got distracted with other things - I'll try to pop in more regularly.
  4. It seems to me that line should be: "set current time to frame_number / 25 * time scale" & ¶ & To match your working version - otherwise, you are setting the time to a frame number, which isn't going to work well.
  5. You could make a script that does freeze window, then use "do script", but the script would need to not exit for a while. In any case, I doubt it would "hide" your AppleScript actions, assuming that's your intent, AppleScript is much more like manipulating the UI elements themselves.
  6. Use List(Job::EmployeeID) to get a list of all employees in the Job table, then switch to Employee table and do a Find with "constrain" on all those employeeIDs? I would expect that to find them quickly.
  7. ALL calculations are tokenized internally. Each function is a single byte. Fields inside a calculation are stored as something like <Table#,Field#>. This is why you can open an calculation that has been effected by a field delete and it can only show <Field Missing>. It would be better to show the field name that used to be there as well, but the calculation didn't store it. And yes, opening a file generally downloads a copy of the file's schema - which includes all table/field names.
  8. Its not much, but you might want to take a look at my Bill-of_Materials example file on my website: http://www.spf-15.com/fmExamples/
  9. You can just use a "where" clause to limit the sum, i.e.: select sum(my field) from table where serialNum >= 5000 serialNum < 10000 So, you could sum up each month (with the appropriate where clause, not the above) using something like that.
  10. I'll give it a go. Your step 3 doesn't make sense, I suspect what you meant was to take the remainder of dividing by 11, then the remainder of dividing that by 10 (to make the number 0-9), ie: Mod( Mod( x; 11 ); 10 ) That works for the one sample number (you are so generous!), here's my take, as two functions: TinCodeCheckPos( tinCode; pos ) = Let ( digit = GetAsNumber(Middle(tinCode; 9-pos; 1)); Case ( pos = 9; 0; /* stop recursing */ pos = 0; /* The final digit, compute the checksum and compare */ Let( [ computed = TinCodeCheckPos( tinCode; pos+1); checkSum = Mod( Mod( computed; 11 ); 10) ]; checkSum = digit ); /* Not at final digit, compute the powers for this tinCode and return it */ TinCodeCheckPos( tinCode; pos+1) + digit * (2^pos) ) ) TinCodeCheck( tinCode ) = If ( Length(tinCode) ≠ 9; False; TinCodeCheckPos(tinCode;0) )
  11. I was really expecting that to suck also, but it does look nicer. Here's a new copy, with the format character controlled in the script, you need to change the patterns to match it though. Thanks for the suggestion. PhoneFormat.fp7.zip
  12. You didn't copy over the custom function it used, so the script copier in FM helpfully commented out its usage in the script. You would need to copy the custom function first, then copy the script. I dunno why I'm not seeing the red dot in my field though - I didn't do anything special with that, though I was hooked up to some of the other methods while I was debugging, then took them off.
  13. LaRetta, don't be like that, anyone can change it anyway they like, and use it however they want. Personally, I think the # pattern looks cheesy, but I can see your point about showing the user what's expected. Here's the modified version, if you decide you don't want to see the patterns after all, change the $showPattern setVariable near the top of the script to False. PhoneFormat.fp7.zip
  14. The script has multiple patterns at the top of it that should easily be localizable, you should take a look at it and give it a try.
  15. Not doesn't short-circuit, what you might be thinking of is that certain operations are transformed into more simple ones. So executing: A xor B If A if true, this transforms into "not B" (internally), while if A is found to be false, it transforms into "(bool) B". This might seem like an odd thing to do, but its efficient and consistent with the way the calculation engine works post FM7. Another example is with Case(), when a false result is seen for a test, the calculation is internally transformed into a shorter Case() statement that is missing the first two arguments (conceptually).
×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.