Greetings, The Prompt condition in the Autopause toolbar basically says: is the specified text behind (to the left) the current cursor position.
This is really nice because it is purely non-positional - the text is the text, so Prompt can be used to detect being in a field based on its label. Now what it really does is this - for the examples below the cursor on the screen is represented by an X (trying to avoid sending pictures here so bear with me) Let's say the screen has a Row with only this field: Patient Name: X Therefore, could detect that the cursor is "in this field" using prompt conditions of: Patient Patient Name : e: P Etc. Because in all of those cases, the letters are indeed on the same row as the cursor, and are at least a single column less than the current cursor position. But what if my screen had this: Patient Address: Guarantor Address: X In a Rules script, you cannot have a Rule that JUST uses Prompts for this situation because Prompt "Patient Address:" is also true in the situation above! However, I still can use a Prompt with Rules and take advantage of its non positional nature in this situation - well non positional from a practical standpoint anyway, by adding to the Rule a cursor Range condition. After all the cursor when it is in the Guarantor field isn't anywhere near the Patient Address field, and the cursor will still be on the same row as that field - even if the row is different, or the text shows up in a slightly different place left to right So in the above, if I wanted non positional Rules for the above fields, I would use these two conditions for the Patient Address Field Patient Address @*, 16#25 This says look for the prompt - but also look for the cursor on any Row (handles if the field moved) and within a range of columns starting from where I believe the field should start. Note I don't need to be terribly accurate with the range of columns or the starting point- the Range just needs to be small enough to make sure it doesn't intrude with the other field - so in the above I probably could have used a range of: @*,1#40 Basically the field is on the left hand side of the screen And for the other field @*,41#40 It's shows up on the right hand side of the screen. The only thing that would break this is if the field were moved from one side of the screen all the way to the other and vice versa. And sure I guess that's possible but in reality, if something like that happened, it's a pretty darn good chance that something else is different with the application that you'd have to script for anyway! Regards, Thom Thom C. Blackwell Product Manager Boston Software Systems (866) 653-5105 ex 807 www.bossoft.com <http://www.bossoft.com/> Sign up for my weekly webinar! <http://www.bostonworkstation.com/customer_center/special_events.aspx> LEGAL NOTICE Unless expressly stated otherwise, this message is confidential and may be privileged. It is intended for the addressee(s) only. Access to this E-mail by anyone else is unauthorized. If you are not an addressee, any disclosure or copying of the contents of this E-mail or any action taken (or not taken) in reliance on it is unauthorized and may be unlawful. If you are not an addressee, please inform the sender immediately, then delete this message and empty from your trash. --- To post a message to this list, send mail to: [email protected] You are currently subscribed as: [email protected] Unsubscribe in the customer center on our website: http://www.bostonworkstation.com/customer_center/virtual_user_group_talk.aspx
