C/Visual C - Urgente!! imprimir con C

 
Vista:

Urgente!! imprimir con C

Publicado por Pili (2 intervenciones) el 24/05/2000 00:00:00
Necesito saber como se imprime un fichero en C.
Gracias
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Urgente!! imprimir con C

Publicado por Endos (179 intervenciones) el 24/05/2000 00:00:00
/** Imprimir desde el DOS con C - (c)2000 Endos, Dominio publico **/
/** Programado con Borland C++ 5.02 **/


/** NOTA: !!!!!!!!!!!! CODIGO NO COMPROBADO !!!!!!!!! **/


#include <stdio.h>
#include <dos.h>
#include <stdlib.h>
#include <conio.h>

#define LPT1 0
#define LPT2 1


int Printer(char Caracter,int Puerto)
{
_DX=Puerto;
_AL=Caracter;

_AH=0x00;
geninterrupt(0x17);

return _AH; /* Retornar estado */
}

void Imprimir(const char *Archivo)
{
FILE *Descriptor;
int Estado;
int Byte;

if((Descriptor=fopen(Archivo,"rb"))==NULL)
{
printf("ERROR: Archivo no se encuentra\n");
exit(-1);
}

while(!feof(Descriptor)) /* Hasta que finalice el archivo */
{
Byte=getc(Descriptor);

Estado=Printer(Byte,LPT1); /* Mandar el caracter a la impresora */

/* Comprobar estado */

while(Estado&1) /* La impresora no responde */
{
printf("ERROR: Impresora no responde. Reintentar (S/N)\n");

if(getch()!=´s´)
exit(-1);

Estado=Printer(Byte,LPT1); /* Reintentar el envio */
}

if(Estado&8) /* Error de E/S */
{
printf("ERROR: Fallo en la transmisión.\n");
exit(-1);
}

while(Estado&32) /* Falta papel */
{
printf("Introduzca papel y pulse una tecla para continuar (ESC - Salir)\n");
if(getch()==27)
exit(-1);

Estado=Printer(Byte,LPT1); /* Reintentar el envio */
}
}
fclose(Descriptor);
}

int main(void)
{
Imprimir("Prueba.txt");

printf("\nTexto imprimido correctamente\n");

return 0;
}
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

:Urgente!! imprimir con C

Publicado por andres (1 intervención) el 17/06/2007 22:08:41
como hago para que imprima este codigo para que me imprima en una impresora USB

#include <stdio.h>
#include <dos.h>
#include <stdlib.h>
#include <conio.h>

#define USB 0
#define USB 1

int Printer(int Caracter,int Puerto)
{
_DX=Puerto;
_AL=Caracter;

_AH=0x00;
geninterrupt(0x17);

return _AH; /* Retornar estado */
}

void Imprimir(const char *Archivo)
{
FILE *Descriptor;
int Estado;
int Byte;

if((Descriptor=fopen(Archivo,"rb"))==NULL)
{
printf("ERROR: Archivo no se encuentra\n");
exit(-1);
}

while(!feof(Descriptor)) /* Hasta que finalice el archivo */
{
Byte=getc(Descriptor);

Estado=Printer(Byte,USB); /* Mandar el caracter a la impresora */

/* Comprobar estado */

while(Estado&1) /* La impresora no responde */
{
printf("ERROR: Impresora no responde. Reintentar (S/N)\n");

if(getch()!="0")
exit(-1);

Estado=Printer(Byte,USB); /* Reintentar el envio */
}

if(Estado&8) /* Error de E/S */
{
printf("ERROR: Fallo en la transmisión.\n");
exit(-1);
}

while(Estado&32) /* Falta papel */
{
printf("Introduzca papel y pulse una tecla para continuar (ESC - Salir)\n");
if(getch()==27)
exit(-1);

Estado=Printer(Byte,USB); /* Reintentar el envio */
}
}
fclose(Descriptor);
}

int main(void)
{
Imprimir("Prueba.txt");

printf("\nTexto imprimido correctamente\n");

return 0;
}
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Modos y maneras de imprimir

Publicado por Fabián Sierra C. (59 intervenciones) el 25/05/2000 00:00:00
En DOS:
Modo 1:
main(){
fprintf(stdprn,"Hola Mundo");
}

Modo 2:
main(){
fwrite("Hola Mundo",sizeof("Hola Mundo"),1,stdprn);
}
Modo 3:
main(){
FILE *printer;
printer=fopen("PRN","W");
fwrite("Hola Mundo",sizeof("Hola Mundo"),1,printer);
fclose(printer);

En Windows:
Obtener el contexto de dispositivo de la impresora e imprimir con TextOut
(una solución algo bruta).
¡Suerte!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Modos y maneras de imprimir

Publicado por titi (1 intervención) el 29/05/2007 18:20:50
pipi!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Urgente!! imprimir con C

Publicado por Eider Mauricio (8 intervenciones) el 26/12/2002 23:10:44
funciona solo para ambiente texto, te imprime la pantalla actual
//requiere de #include "dos.h"
void imprimir(){
geninterrupt(5);//no estoy seguro si geninterrupt es con rr
}
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Urgente!! imprimir con C

Publicado por daniel (4 intervenciones) el 06/11/2007 15:52:36
hola, mira hay una funcion de la interrupcion 21 del DOS, que talvez de sirva, si es para texto, no he trabajado tanto con ella pero bueno, la funcion es 0x05, lo que tienes que hacer es agregar la libreria "dos.h" en el main haces esto:>

union REGS pregs
pregs.h.ah=0x05;
pregs.h.dl= //numero del caracter a imprimir.
intdos(&pregs,&pregs);

seria bueno por ejemplo utilizar un for para imprimir una cadena de caracteres, puedes tambien imprimir, caracteres como \n, \t, \v etc.
en el registro ah cargar el numero de la funcion y en dl el numero del caracter y despues llamas a la interrupcion 21. Esta funcion es anticuada, es de los del DOS pero bueno, talvez te sirva, talvez con los handlers predefinidos tambien, puedan ayudarte
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar