Aflgenx's BlogMissing FilesPosted by: aflgenx / Wednesday, December 12, 2007 – 2:41am
For those of you who have recently tried to access the sample files posted through out the blog, I appologize but we recently swapped hosting providers and I forgot to transfer all the files for the domain on which they're hosted. Anyway, I managed to locate them, upload and all links should be working once again. Simulating a Basic Key / Value ArrayPosted by: aflgenx / Thursday, September 27, 2007 – 10:04pm
Alright guys, been busy so pardon the greater than one month gap. This is more on the whole numeric addressing issue we have with repeating vars and fields... its really annoying and puts limits on what can be achieved. So, we want to simulate text based key's that are available in every programming language known to man - one method I don't mind (though i haven't extensively run speed tests on it): Custom Function: getValueFromArray( array ; key) Method for setting the key / value array: Now, so lets say we wanted to extract the value for sentance from that array: I hope this has been a fun and eductational experience ;) Cheers guys, will try build a bit on this and run some speed tests over the next few weeks, in the mean time, behave yourselves!! IsValid( "BruceWillisBaldness" )Posted by: aflgenx / Sunday, August 19, 2007 – 5:32am
So I haven't blogged in the while - been busy with something i'll tell "you's all" about later. As I was sitting there I thought, what better reason to blog than to try and reason out why Bruce Willis is as bald as he is. Well, I was going to but thought Matt might get upset... so instead this post will breifly discuss data types and how the IsValid() function mixes it all up (a bit of a let down i know :p ). The thought to write about this came from an auto update plugin ... article type thing... at Six Fried Rice recently - love these guys and somehow, they get their posts to flow in more of a straight line than mine. Anywho, it's a bit of a weird function and while it may be obvious to some, its workings can often escape logical reasoning for no logical reason. Now, the purpose of IsValid() is to determine whether the contents of a data container (i.e. a field or variable) match the data container's data type. With fields this is farily obvious: How It Works with different Data Types: Now with fields where the data type is already defined, it really has little use in most cases, so when do you use it? One potential place is scripts. Think date inputs into a custom dialog, you don't want to manually have to validate this sort of stuff or worse yet let it slip past: IsValid( GetAsDate( input ) ) is your functional statement (*note to self: don't make up terms*). GetAsDate( input ) immediately tells IsValid() that you are checking for the validity of the contents of the input field using the date data type - IsValid( GetAsDate( "17/17" ) ) for example, returns false. Now - here's where a lot of people slip up, data type conversion can happen relatively unoticeably in various places in FileMaker. The most common form though is concatenation - concatenate something and it immediately becomes a string.. i.e. text data type. An interesting note about variables: An interesting note about Script Parameters: PS. Die Hard 4 = Awesome!! By the way, feel free to leave comments if you want... seriously it'd be good to know if anyone's benefiting at all from my ramblings or how bad my speeling is ;) . FileMaker and the Order of the Portal Printing Taboo...ersPosted by: aflgenx / Sunday, July 22, 2007 – 6:24am
[EDITORS NOTE:] As of 1/22/09, the links provided on this page point to a server that had been hacked. They may not resolve and the content here is preserved for historical reasons.Alright so I like Harry Potter :) Before we start, so that no one spends time reading something that won't be useful to them, the final purpose of this post is to achieve a report like this. So, to the Order of the Portal Printing Taboo...ers: It seems that printing portals is about as Taboo as using repeating fields these days (talk to Soren if you want proof of the repeating fields part of that statment ;) – you’ll find him floating around on FM Forums). I'll agree that in most cases printing portals isn’t appropriate (just like repeating fields) – the most common misuse for example is by new users who, blissfully unaware of the standard FileMaker reporting method (we'll refer to as "list view" reporting), use them purely because it’s the only way they have seen of listing related data. On the other hand, what about those users who know what they’re doing? What about those users who long for FileMaker to integrate the sub-reporting functionality available in other Reporting / Database tools such as MS Access. Look inside your hearts lol – shouldn’t they at least be given a glimmer of hope? When to use the techniqueA common use might be a summary report about a person within your database: phone numbers, addresses, family member names, contact reminders, general notes, contact made or a million other things. Our example (downloadable at the bottom as well as an example report) uses a Company example. How It worksWell, here’s the aim of the technique: Display related information about a record whilst hiding a) the portal and b) the column / section headers when they aren’t required due to a lack of related information. a) Hiding The Portal b)Hiding The headers (the cool part) So okay, I’ll ask you to consider this, what would happen if we displayed only the first row of a portal and shoved some information in there like … oh maybe column / section headers. What would happen to that portal row if no related information existed in the numbers table – It would like our other portals, simply pop out of existence. So there’s your solution: Put your column headers into a one row portal (from the same TO as the main portal below it)… Set sliding to on for both the header portal row and the main portal and voila – No related records, no portal rows!! Samples:FileMaker 9 - Is It Worth It?Posted by: aflgenx / Thursday, July 12, 2007 – 2:41am
The Pro'sOkay look there are 3 or 4 features that I would really call quite cool with this update: 1) SQL Connectivity 1) SQL Connectivity 2) CWP Packaged with Server Standard 3) ScriptMaker Overhaul 4) Conditional Formatting The ConsFrankly at this point, I think FileMaker is just trying to pull extra money in without really providing a new product. The lack of the rumoured Thin Client is also a shame, as are the event triggers, the dynamic set field, my progress bar (god i want one lol), copying custom functions, using custom functions over different files and finally the simple short cut keys for things like custom function definitions and all those other menu items that are missing keys etc. I would just like to express my opinion that the resizing which was apparently causing their developers problems is really little compensation for all the small features above that would make the product so much better and would likely only have taken a comparably short time to implement. A conclusionOh well, I'm updating in either case just for the sake of it, but don't see any real reason to update existing clients sitting on FM 7 / 8 / 8.5 given that it's not really providing that much in the way of new. Last thing -- this release should have been green!!! For a decent look at the new features see: And for a look at the opinions of other developers: Well I hope my slightly random rant was informative. Filed under: FileMaker 9 | FileMaker Update
Dynamic VariablesPosted by: aflgenx / Tuesday, June 26, 2007 – 8:10am
Hi Guys, I recently had the need (or more likely the desire) to set global variables dynamically.. As most of you will know, Set variable allows you to specify a dynamic value and repetition, but not a dynamic name for your variable. This often leads you to store info in a delimited list within one repetition when you need to store multiple peices of information per one subject. This will soon make your scripts become messy and the logic harder to follow Hence two small custom functions: Custom Function: SetGlobalVariable( name ; value ; repetition) Example Usage: SetGlobalVariable( "record_" & table::primaryKey ; table::aField ; 1 ) If your primaryKey field contained "991" and your aField field contained "Alex!!" - Which means that if you were to now retrieve the value of $$record_991 - you would get "Alex!!" as the value returned. Call: GetGlobalVariable( name ; repetition) Custom Function: GetGlobalVariable( name ; repetition) Example Usage: GetGlobalVariable( "record_" & table::primaryKey ; 1 ) These examples aren't great, but they certainly simplify my scripts and I hope they'll help someone else out. |
Be Notified!Let us tell you when a new video is posted. We'll send you an email with a direct link right to your email inbox.
Make sure and whitelist (or add to your address book editor@filemakermagazine.comFileMaker Reference Tool
* $29.99 is the FMPug member price for a printed copy. |