wiki:es:Documentation/ARexxAPI/MAILWRITE

Version 2 (modified by AmigaPhil, 10 months ago) (diff)

--

En otros idiomas:


ARexx API

    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