How can I turn for example {button returned:“OK”} into “{button returned:"OK"}” which would look like the 1st in a dialog. (for ASOC, cocoa welcome)
I am not sure I understand what you want. The result from display dialog is a record, not an error message (you set the title of this thread to “Error messages.”). Errors are caught (and handled) by try blocks, but display dialog will not generally cause an error (unless you count the “invisible” error number -128 that is created if the user clicks Cancel).
If you want to convert the record to a AppleScript source code string that represents the record, there is an ugly hack that can be done with plain AppleScript. A better way would probably be to use an OSAX or application to do such conversions (if such a thing exists).
set a to display dialog "Press OK"
set b to convertRecordToString(result)
set c to run script b -- the converted result might be usable as source code (wrapping a "using terms from" block around if might be necessary, though)
{a, b, c, a is c} --> {{button returned:"OK"}, "{button returned:\"OK\"}", {button returned:"OK"}, true}
to convertRecordToString(r)
(*
* Ugly hack:
* Force a bogus coercion that will always throw an error.
* Extract the string representation from the resulting error message.
*)
try
r as data -- anything except list should do the trick
on error m
-- m should be something like:
-- "Can't make {button returned:\"OK\"} into type data."
set l to length of m
set a to 1
set b to l
repeat until a is greater than l or ¬
text a through a of m is "{"
set a to a + 1
end repeat
repeat until b is less than a or ¬
text b through b of m is "}"
set b to b - 1
end repeat
if a is greater than l or b is less than a then ¬
error "Unable to convert record to string." number 100
return text a through b of m
end try
error "Unable to convert record to string." number 101
end convertRecordToString
Hello,
It generally use this dirty hack:
to GetRecordAsString(rec)
try
result as string
on error errTxt
set obrace to offset of "{" in errTxt
set cbrace to offset of "}" in errTxt
text obrace thru cbrace of errTxt
end try
end GetRecordAsString
display dialog "Hello World" with title "" buttons {"Cancel", "OK"} default button 2
GetRecordAsString(result)
… oooppps, Chris fired first. (after all, he’s Texan ;o)