As fas ar I know, ArrayToFile function is a built-in one that is not possibile to interrupt in order to get the progress of the function nor is possible to interrupt if needed.
If you really need to give the operator a feedback of function behaviour you need to develop your own function to translate data from binary to ascii format with a loop into which you can add a progress bar indicator and a stop function (for example using the ProgressDIalogue functions in the Programmer's Toolbox).
You could also use ArrayToFile in a loop segmenting the array of data in chunks and monitoring the process, but with very large sets of data (that means a lot of execution of this function) the overhead due to continuous opening and closing of the file may raise execution time too much. Anyway, you could organize this function as follows:
do {
r = ArrayToFile ("myfile.txt", array, VAL_DOUBLE, 1000, 5,
VAL_GROUPS_TOGETHER, VAL_GROUPS_AS_COLUMNS,
VAL_SEP_BY_TAB, 10, VAL_ASCII, VAL_APPEND);
if (r < 0) break;
// Test for stop condition
if (stopCondition) break;
} while (!r);
if (r < 0) {
// Warn the operator in case of errors
if (r > -3) {
r = GetFmtIOError ();
sprintf (msg, "Error %d received: %s.", r, GetFmtIOErrorString ());
}
else
sprintf (msg, "Error %d received.", r);
MessagePopup ("Severe error", msg);
}