[jawsscripts] Re: a script to have a look at

Hi,

I use a similar idea at work, but with much fewer options required, & a 
slightly different approach.

* Starting with the problem of not reliably writing the full text:
ElIf choice == 22 Then
JAWSEnd ()
TypeString (" can't remember a call made ")
Pause ()
* one approach would be to try adding a second or third Pause (), or 
following the Pause () with a Delay (1), or a Delay of 2 or 3.  The time 
periods are so small, that I prefer to err  on the side of excess in these 
situations.

* another approach, is to store in the Menu variable the actual text to be 
written to screen, & to load the chosen item in to a variable, which would 
then be TypeString'd to screen at once. as below.

var
...
string  Menu,
string  SelectedItem,
...

let Menu = "a month ago|more than a month ago|2 months ago|more than a week 
ago|more than a  day ago"
...
ElIf choice == 22 Then
JAWSEnd () Pause ()
Let select = DlgSelectItemInList (menu, "how long ago is client unable to 
remember a call he made?", 1, 1)
Pause ()
let SelectedItem = StringSegment (Menu, "|", Select)
TypeString (" can't remember a call made " + SelectedItem)

ElIf choice == 23 Then

* Because the whole lot is TypeString'd at once after the list has closed, 
there is less chance for timing problems.
* the StringSegment function extracts from the String Menu, the number of 
the item you selected, & places it in the variable SelectedItem.

* Doing it this way also simplifies the coding.

* overall.
* with the large number of items in the variable list, I might consider 
breaking it up into a few different keystrokes, each to write  a particular 
subgroup of the list, or, modify the list as below:

Let list = "wrong|not at home|he is not at home|.valid|invalid|wrong
for|invalid for|.work|no longer works here|didn't call|all invalid or
...

* Grouping the items together in logical groups, each group seperated by a 
period & title for the following group between 2 vertical bars, |.title|, 
allows you to quickly move down the long list by hitting the period until 
you get to the group you want, then arrowing down, or using the first letter 
if you remember that.

Hope this helps.

Regards,
Paul from Aust

----- Original Message ----- 
From: "Nicol Oosthuizen" <NOosthuizen@xxxxxxxxxxx>


Hi all
I want you to have a look at this script please.

Tell me if you think I could have done it in an easier way.

The purpose of this script is to insert something in an edit box on a
web page.

My job is to perform customer satisfaction surveys and I have to write a
comment in the edit box on the web page where  I'm doing the surveyhs. I
receive information in service requests logged by the inbound call
centre.

These service requests are loaded into a pool and then I use internet
explorer to read the information in service requests.

So I then do a survey with a client based on that information.

So now instead of typing in a comment I use this script to insert it
each time.

Except asking you to have a look at it and give me tips, I also want you
to tell me  something.

There is one statement in the script that does not work that well
always.

When the script inserts the line.

Cannot remember a call made a month ago.

It inserts the prhase:

Cannot remember a call.

And then it pops up a list where I choose from  and then it inserts it
such as a month etc.

What I can't understand is that it sometimes omits letters.

For example in the edit box it puts:

Can't remember a call ma a month ago.

Or it omits the word made completely.

Does anyone know why it does that.

Hope this is not too much at once.

The script follows

Script Availability ()

Var

Int Second,

String  Bi,

string option,

 Int choice,

Int Select,

String menu,

String list

Let list = "wrong|not at home|he is not at home|invalid|wrong
for|invalid for|no longer works here|didn't call|all invalid or
overloaded|invalid or overloaded|no longer stays here|survey|fax|on
behalf of|invalid or overloaded for|all invalid|all wrong for|all
wrong|contact|dump|all invalid or overloaded for|remember|use|No
comment|Incorrect Telephone number|No Telephone number|Client
Unknown|Client No longer work/reside there|Telephone No longer
operational/used|Excellent Service|Bad Service|Lack of Soft Skills|Lack
of Product knowledge|Lack of listening skills|Did not acknowledge
complaint|Service inconsistent|TAT expired|Client irate|No
client/contact name|Incorrect client/contact name|Insufficient
information on long description|No Tax reference number|Insufficient
information on resolution|Client/contact not available|Do not remember
interaction|Not interested|survey already completed|he no longer works
here|all in use|number in use for|all in use for|overloaded|didn't call
sars|service|who|overloaded for|who called on behalf of|cut|cut
for|wife|WifeBehalf|ServiceFor|AllService|Concatinate|QUERY|well|anonymo
us"

Let Menu = "a month|more than a month|2 months|more than a week|more
than a day"

Let Bi = "long description|resolution"

Let choice = DlgSelectItemInList (list, "please select something  to put
into the edit box on the survey page" , 1, 1)

If choice == 1 then

TypeString ("this number is wrong")

ElIf choice == 2 Then

TypeString (" is not at home")

ElIf choice == 3 Then

JAWSEnd ()

TypeString (" is not at home")

ElIf choice ==  4 Then

TypeString ("this number is invalid")

ElIf choice == 5 Then

JAWSHome ()

TypeString ("this number for ")

JAWSEnd ()

TypeString (" is wrong")

ElIf choice == 6 then

JAWSHome ()

TypeString ("this number for ")

JAWSEnd ()

TypeString (" is invalid")

ElIf choice == 7 Then

JAWSEnd ()

TypeString (" no longer works here")

ElIf choice == 8 Then

JAWSEnd ()

TypeString (" didn't call")

ElIf choice == 9 then

TypeString ("these numbers are either invalid or overloaded")

ElIf choice == 10 Then

TypeString ("this number is either invalid or overloaded")

ElIf choice ==  11 Then

TypeString ("no longer stays here ")

ElIf choice == 12 Then

JAWSHome ()

TypeString (" a survey was already completed with " )

ElIf choice == 13 Then

TypeString ("this number is a fax line")

ElIf choice == 14 Then

TypeString (" on behalf of")

ElIf  choice == 15 Then

JAWSHome ()

TypeString (" this number for")

JAWSEnd ()

TypeString (" is either invalid or overloaded")

ElIf choice == 16 Then

TypeString ("these numbers are invalid")

ElIf choice == 17 Then

JAWSHome ()

TypeString (" these numbers for")

JAWSEnd ()

TypeString (" is wrong")

ElIf choice == 18 Then

TypeString ("these numbers are wrong")

ElIf choice == 19 Then

Let Second = DlgSelectItemInList (bi,"Please  Choose long description or
resolution", 1, 1)

If Second == 1 Then

InputBox ("please enter the name of the contact person according to
agent", "contact", option)

TypeKey (CksPaste)

TypeString (" wrote in the long description that  ")

TypeString (option)

TypeString (" called on behalf of the taxpayer, but  ")

TypeKey (CksPaste)

TypeString (" didn't give any contact numbers to get hold of ")

TypeString (option)

ElIf Second == 2 then

InputBox ("please enter the name of the contact person according to
agent", "contact", option)

TypeKey (CksPaste)

TypeString (" wrote in the resolution that  ")

TypeString (option)

TypeString (" called on behalf of the taxpayer, but  ")

TypeKey (CksPaste)

TypeString (" didn't give any contact numbers to get hold of ")

TypeString (option)

EndIf

ElIf choice == 20 then

TypeString ("a call centre staff member dumped a bundle of zeros")

TypeString (" into the field taxpayer details, main contact number.")

TypeString ("instead of acgtually giving a contact number where taxpayer
can be reached")

ElIf choice ==  21 Then

JAWSHome ()

TypeString (" these numbers for")

JAWSEnd ()

TypeString (" is either invalid or overloaded")

ElIf choice == 22 Then

JAWSEnd ()

TypeString (" can't remember a call made ")

Pause ()

Let select = DlgSelectItemInList (menu, "how long ago is client unable
to remember a call he made?", 1, 1)

If select == 1 then

TypeString (" a month ago")

ElIf select == 2 Then

TypeString ("more than a month ago")

ElIf select == 3 Then

TypeString ("2 months ago")

ElIf select == 4  Then

TypeString ("more than a week ago")

ElIf select == 5 then

TypeString ("more than a  day ago")

EndIf

ElIf choice == 23 Then

TypeString ("this number is not in use")

ElIf choice == 24 Then

TypeString ("no comment")

ElIf choice == 25 then

TypeString ("incorrect telephone number")

ElIf choice == 26 then

TypeString ("no telephone number")

ElIf choice == 27 Then

TypeString ("client unknown")

ElIf choice == 28 then

TypeString ("Client No longer work/reside there")

ElIf choice == 29 Then

TypeString ("Telephone No longer operational/used")

ElIf choice == 30 Then

TypeString ("Excellent Service")

ElIf choice == 31 then

TypeString ("bad service")

ElIf choice == 32 then

TypeString ("lack of soft skills")

ElIf choice == 33 Then

TypeString ("lack of product knowledge")

ElIf choice == 34 Then

TypeString ("lack of listening skills")

ElIf choice == 35 Then

TypeString ("did not acknowledge complaint/request")

ElIf choice == 36 then

TypeString ("service inconsistent")

ElIf choice == 37 Then

TypeString ("turn around time expired")

ElIf choice == 38 then

TypeString ("client irate")

ElIf choice == 39 then

TypeString ("no client/contact name")

ElIf choice == 40 Then

TypeString (" incorrect client/contact name")

ElIf choice == 41  Then

TypeString ("insufficient information in long description")

ElIf choice == 42 Then

TypeString ("no tax reference number")

ElIf choice == 43 then

TypeString ("insufficient information in resolution")

ElIf choice == 44 then

TypeString ("client/contact not available")

ElIf choice == 45 Then

TypeString ("do not remember interaction")

ElIf choice == 46 Then

TypeString ("not interested")

ElIf choice == 47 Then

TypeString ("a survey was already completed with  client")

ElIf choice == 48 Then

TypeString (" no longer works here")

ElIf choice == 49 then

TypeString ("these numbers are not in use")

ElIf choice == 50 Then

JAWSHome ()

TypeString ("this number for")

JAWSEnd ()

TypeString (" is not in use")

ElIf  choice == 51 then

JAWSHome ()

TypeString ("these numbers for" )

JAWSEnd ()

TypeString (" is not in use")

ElIf choice == 52 Then

TypeString ("this number sometimes gets overloaded")

ElIf choice == 53 then

TypeString ("client never called sars")

ElIf choice == 54 then

TypeString ("this number is not in service")

ElIf choice == 55 Then

TypeString ("who called on behalf of")

ElIf choice == 56 then

JAWSHome ()

TypeString (" this number for")

JAWSEnd ()

TypeString (" sometimes gets overloaded")

ElIf choice == 57 then

JAWSHome ()

NextWord ()

NextWord ()

NextWord ()

PriorCharacter ()

InputBox ("please enter the contact person's name", "contact person",
option)

TypeString (option)

TypeString (" who called on behalf of ")

ElIf choice == 58 Then

TypeString ("this number just cuts out without ringing")

ElIf choice == 59 Then

JAWSHome ()

TypeString (" this number for")

JAWSEnd ()

TypeString (" just cuts out without ringing")

ElIf Choice == 60 Then

JAWSHome ()

TypeString (" this is")

JAWSEnd ()

TypeString ("'s wife's number")

ElIf choice == 61 then

TypeString ("his wife called on his behalf")

ElIf choice == 62 Then

JAWSHome ()

TypeString ("this number for ")

JAWSEnd ()

TypeString (" is not in service")

ElIf choice == 63 then

TypeString ("these numbers are not in service")

ElIf choice == 64 then

TypeString ("to be concatinated")

ElIf CHOICE == 65 then

TypeString ("query not resolved")

ElIf choice == 66 Then

TypeString ("call well handled  ")

ElIf choice == 67 Then

TypeString ("anonymous")

EndIf

EndScript

__________ 
Visit and contribute to The JAWS Script Repository http://jawsscripts.com

View the list's information and change your settings at 
http://www.freelists.org/list/jawsscripts

Other related posts: