[C con Clase] ayuda para imprimir con la impresora archivo de texto

Steven Davidson srd4121 en njit.edu
Sab Jun 5 03:49:13 CEST 2010


Hola Rafael,

RAFAEL CARDONA COA wrote:
> 
> hola a todos. necesito que me ayuden a imprimir por la impresora un 
> archivo de texto en codigo  c++
>  o comandos DOS...o usando comandos de la libreria windows....
> 

Si sólo quieres mostrar texto sin mucho miramiento acerca del formato de 
tal texto (fuente, tamaño de la fuente, colores, etc.), entonces puedes 
abrir la impresora como un fichero. Puedes usar el nombre "LPT1", si la 
impresora está conectada al puerto paralelo.

En general, sugiero usar el nombre de la impresora como un recurso de 
MS-Windows. Por ejemplo, si el nombre es "impresora", entonces escribimos:

#include <fstream>

using namespace std;

int main()
{
   ofstream imp( "\\impresora" );  // Recurso: \impresora
   imp << "Hola mundo" << endl;
   return 0;
}

Si la impresora está en una red local, como por ejemplo en el ordenador 
(computadora) "pc1", el recurso es: \\pc1\impresora, entonces escribiríamos:

ofstream imp( "\\\\pc1\\impresora" );

Si necesitas mayor control, entonces debes programar para MS-Windows. No 
tenemos material en estos momentos en el curso del API de MS-Windows 
acerca de este tema, pero sugiero que eches un vistazo a las preguntas 
frecuentes. El enlace es: http://c.conclase.net/?id=preguntas#impresora 
  Cuando hayas creado el DC (contexto gráfico del dispositivo) de la 
impresora, entonces podrás usar las funciones gráficas de la GDI. Para 
este tema sí tenemos varios capítulos dedicados en nuestro curso del API 
de MS-Windows. El primer capítulo de la GDI es el 16, cuyo enlace es: 
http://winapi.conclase.net/curso/index.php?cap=016#inicio

> es un proyecto de registro con base de datos en archivos binarios.
> 
> si saben de alguna manera de restringir esos archivos binarios les 
> agradeceria, por favor.
> 

Esto depende en gran medida acerca de la base de datos que estés usando. 
Podrías copiar la información de los archivos binarios como datos en una 
tabla en la base de datos. Así, puedes usar el sistema de protección de 
la base de datos para proteger la información de los archivos.

Seguramente hay otras soluciones, pero creo que sería mejor explicar a 
qué te refieres exactamente con "restringir". Si quieres esconder el 
contenido de los archivos de ciertos usuarios, entonces quizá te 
convenga aplicar algún método de encripción. Si te interesa limitar el 
acceso a los ficheros, entonces una posible solución puede basarse en un 
programa aparte que abra todos los archivos restringidos para una 
lectura exclusiva. Cada vez que tu (otro) programa quiera acceder a un 
archivo restringido, entonces se comunicará con el otro programa 
controlador que dará permiso para acceder a ello.


Espero haber aclarado las dudas.

Steven




Más información sobre la lista de distribución Cconclase