wiki:es:Documentation/ARexxAPI/MAILWRITE

Version 1 (modified by AmigaPhil, 13 months ago) (diff)

--

En otros idiomas:

MAILWRITE

NOMBRE

MailWrite -- Escribir un nuevo mensaje. (V1.3)

PLANTILLA

VAR/K,STEM/K,WINDOW/N,QUIET/S

FUNCIÓN

Abre una nueva ventana de escritura para escribir un nuevo mensaje, o bien activa una ventana de escritura ya abierta.

Excepto al responder, reenviar o desviar un mensaje, donde sólo se utiliza una ventana de escritura, es necesario utilizar MAILWRITE antes de intentar editar cualquier parte de un nuevo mensaje.

ENTRADAS

VAR/K - variable alternativa en la que almacenar los resultados en lugar de RESULT (V2.0)
STEM/K - nombre base usado para el STEM donde se almacenará la información devuelta (V2.0)
WINDOW/N - cambiar el comportamiento del comando para simplemente activar una ventana de escritura ya abierta; puede ser 0 o 1 (o 2, para aludir a una ventana de escritura oculta)
QUIET/S - forzar la ventana a permanecer oculta (V2.1)

RESULTADOS

VAR - información devuelta por el comando
<STEM>WINDOW - número de la ventana creada o activada, puede ser 0 o 1 (o 2, si se usa QUIET)

RC se pone a 5 si WINDOW hace referencia a una ventana inexistente, o a 10 si la ventana no se ha podido abrir, quizás porque se ha alcanzado el límite de dos ventanas de escritura.

NOTAS

Las referencias a las ventanas se asignan dinámicamente según sea necesario hasta que están todos ocupados, y permanecen en uso hasta que se cierran las ventanas (en este contexto, una ventana "oculta" también está "abierta"). El parámetro opcional WINDOW elige la ventana de escritura activa, sobre la cual actuarán los comandos WRITEATTACH ?, WRITEBCC ?, WRITECC ?, WRITEEDITOR ?, WRITEFROM ?, WRITELETTER ?, WRITEMAILTO ?, WRITEOPTIONS ?, WRITEQUEUE ?, WRITEREPLYTO ?, WRITESEND ?, WRITESUBJECT? y WRITETO ? cuando sean invocados, si bien estrictamente hablando esto sólo es necesario cuando hay abiertas al menos dos ventanas de escritura: en este caso, debería usarse "MAILWRITE WINDOW x" antes de usar ninguno de estos comandos para asegurar que actúan sobre la ventana que deberían hacerlo.

Sea como fuere, tenga en cuenta que activar manualmente una ventana de escritura usando el interfaz gráfico no la convierte por arte de magia en la ventana sobre la que actuarán estos comandos.

EJEMPLO

/* Activar códigos de resultados */

OPTIONS RESULTS

/* Iniciar un nuevo mensaje */

MAILWRITE STEM st.
win1 = st.window

/* Iniciar otro mensaje */

MAILWRITE STEM st.
win2 = st.window

/* Editar la primera ventana de escritura */

MAILWRITE WINDOW win1
WRITETO jefe@…
'WRITESUBJECT "No creo que pueda ir hoy a trabajar"'
WRITELETTER 'work:excusas.txt'

/* Editar la segunda ventana de escritura */

MAILWRITE WINDOW win2
WRITETO peggy@…
'WRITESUBJECT "Estoy muy liado en el trabajo, llegaré tarde"'

/* Poner el primer mensaje en la cola de salida */

MAILWRITE WINDOW win1
WRITEQUEUE

/* Iniciar un nuevo mensaje usando una ventana oculta */

MAILWRITE STEM st. QUIET
win3 = st.window
WRITETO ventas@…
'WRITESUBJECT "Dos con Mozzarella + un montón de cocacola"'
WRITELETTER 'dh5:priv/direccion_Linda.txt'

/* Terminar de editar el segundo mensaje y enviarlo ya */

MAILWRITE WINDOW win2
WRITESEND

/* Terminar el tercer mensaje */

MAILWRITE WINDOW win3
WRITEOPTIONS DELETE /* evitar dejar rastro alguno */
WRITESEND

FALLOS

MAILWRITE producía impactos de Enforcer cuando YAM estaba iconificado y el editor externo estaba configurado para ser lanzado inmediatamente, o cuando se utilizaba el interruptor QUIET; esto fue corregido en la V2.3.

VÉASE TAMBIÉN