www.lawebdelprogramador.com RESPUESTA A LA PREGUNTA 16207 - OTROS LENGUAJES En realidad la forma de crear un archivo plano y enviarlo a tu impresora local es muy sencilla. Para ello, si conoces de PL/SQL detallate el siguiente procedimiento (te explicaré los pasos entre comentarios): PROCEDURE impresion_archivo_plano IS --declaración de variable macro que nos trae el sistema operativo sobre el cual estamos trabajando... L_OS varchar2(100) := Get_Application_Property(OPERATING_SYSTEM); -- declaración de variable de tipo de archivo para trabajar con archivos planos y/o documentos... imp_nombre TEXT_IO.FILE_TYPE; --declaración de variable que contendrá los valores a escribir en el archivo plano. aquí se esta declarando la variable como tipo del campo nombre de la tabla empleados en una base de datos Oracle... l_nombre empleados.nombre%type; BEGIN --Esta es una instrucción de mensaje para el usuario y para ello necesitas de unas librerias de Oracle Forms que en el momento no me acuerdo cuales son, pero que te las puedo enviar por E-Mail cuando las necesites... msg_alert ('Generando la impresión del nombre RAFAEL TORRES en dos lineas...!','I',false); --Se abre un archivo plano con creación para escritura W (write) en la unidad C:\ de tu máquina y se lleva a la variable que se declaró antes del BEGIN... imp_nombre := TEXT_IO.FOPEN(c:\impresion_nombre.txt','W'); --Se asigna a la variable l_nombre el valor que se quiere se escriba en el archivo plano y queda en la primera linea del archivo... l_nombre := 'RAFAEL'; --Se escribe el valor RAFAEL en el archivo plano... TEXT_IO.PUT_LINE(imp_nombre,l_nombre); --Lo mismo que los dos pasos anteriores pero en la segunda linea del archivo... l_nombre := 'TORRES'; TEXT_IO.PUT_LINE(imp_nombre,l_nombre); --Se cierra el archivo plano... TEXT_IO.FCLOSE(imp_cierre); --Instrucción para mensaje al usuario... msg_alert ('La escritura del nombre se hizo normalmente. Ahora se imprimirá dicho documento...!','I',false); --Ya en estas intrucciones se define el sistema operativo en el cual estemos trabajando; con la instrucción HOST y sus parámetros mandamos el archivo a la impresora... IF L_Os='MSWINDOWS' THEN HOST ('COPY c:\impresion_nombre.txt > :LPT1',NO_SCREEN); ELSIF L_Os='MSWINDOWS32' THEN HOST ('TYPE c:\impresion_nombre.txt > PRN',NO_SCREEN); ELSIF L_Os='WIN32COMMON' THEN HOST ('TYPE c:\impresion_nombre.txt > PRN',NO_SCREEN); ELSIF L_Os='UNIX' THEN HOST ('lp c:\impresion_nombre.txt > :LPT1',NO_SCREEN); ELSIF L_Os='MACINTOSH' THEN HOST ('PRINT c:\impresion_nombre.txt > :LPT1',NO_SCREEN); ELSIF L_Os='SunOS' THEN HOST ('lp c:\impresion_nombre.txt > :LPT1',NO_SCREEN); ELSE HOST ('COPY c:\impresion_nombre.txt > :LPT1',NO_SCREEN); END IF; END; Si quieres el código para manejar excepciones ó errores de archivos planos, ó tienes alguna duda ya tienes mi E-Mail...!!! Wilmar Mauricio Usuga Escobar pucheros84@hotmail.com