Foros del Web » Programación para mayores de 30 ;) » Programación General »

Imprimir desde una aplicacion en C

Estas en el tema de Imprimir desde una aplicacion en C en el foro de Programación General en Foros del Web. Hola a todos, Tengo una duda, como puedo enviar caracteres a la impresora desde mi aplicacion en Turbo C++. Cualquier consejo se lo agradeceria mucho. ...
  #1 (permalink)  
Antiguo 08/01/2005, 17:32
 
Fecha de Ingreso: abril-2004
Ubicación: Coatzacoalcos
Mensajes: 79
Antigüedad: 20 años
Puntos: 0
Imprimir desde una aplicacion en C

Hola a todos,

Tengo una duda, como puedo enviar caracteres a la impresora desde mi aplicacion en Turbo C++.

Cualquier consejo se lo agradeceria mucho.

Saludos desde Mexico.
  #2 (permalink)  
Antiguo 09/01/2005, 09:04
Avatar de Instru  
Fecha de Ingreso: noviembre-2002
Ubicación: Mexico
Mensajes: 2.751
Antigüedad: 21 años, 5 meses
Puntos: 52
no estoy seguro. y nunca lo itente, pero creo que es de una de estas maneras.

FILE *printer;
printer=fopen(LPT1, "w")
fprintf(printer, "Hola mundo\n");

si no intenta usar la directiva de system

system("PRINT file.txt");

Saludos
  #3 (permalink)  
Antiguo 10/01/2005, 18:35
 
Fecha de Ingreso: octubre-2004
Mensajes: 12
Antigüedad: 19 años, 6 meses
Puntos: 0
Puedes tener mayor control con la función Biosprint que trabaja me parece mucho con la interrupción 14 (o es la serial? jejeje no me acuerdo bien). Bueno, escribe el nombre y pide la ayuda del turboC o el que tengas.

Te escribo algunas líneas que te ahorrarán tiempo, son mias asi que no las encontrarás en internet.

void C_cancel(void)
{
biosprint(0,0x1b,0); biosprint(0,0x18,0);
}

void C_ancha(int inic)
{
if(inic)
{
biosprint(0,0x1b,0); biosprint(0,0x0e,0);
}
else
{
biosprint(0,0x1b,0); biosprint(0,0x14,0);
}
}

void C_condens(int inic)
{
if(inic)
{
biosprint(0,0x1b,0); biosprint(0,0x0f,0);
}
else
{
biosprint(0,0x1b,0); biosprint(0,0x12,0);
}
}

void C_pagina(void)
{
biosprint(0,0x1b,0); biosprint(0,0x0c,0);
}

void C_tab(void)
{
biosprint(0,0x1b,0); biosprint(0,0x09,0);
}

void C_timbre(void)
{
biosprint(0,0x1b,0); biosprint(0,0x07,0);
}

void C_espaciolinea(void)
{
biosprint(0,0x1b,0); biosprint(0,'3',0); biosprint(0,0x18,0);
}

void C_tampon(void)
{
biosprint(0,0x1b,0); biosprint(0,0x0a,0);
}

void C_tabvert(void)
{
biosprint(0,0x1b,0); biosprint(0,0x0b,0);
}


void imprime_hard(char bufferim[],int x,int y)
{
unsigned i,l;
delay(25);
switch(biosprint(2,0,0)) // Analizar todas las posibilidades
{
case 0x01:
avisoprint("PASO DEL TIEMPO ADJUDICADO");
break;
case 0x08:
avisoprint("ERROR DE IMPRESORA");
break;
case 0x10:
avisoprint("LA IMPRESORA NO ESTA CONECTADA");
break;
case 0x20:
avisoprint("NO TIENE PAPEL O ESTA DESCONECTADA");
break;
case 0x40:
avisoprint("ACUSE DE RECIBO");
break;
case 0x80:
avisoprint("LA IMPRESORA NO ESTA PREPARADA");
break;
case 0x90:
break;
}

l=strlen(bufferim);
biosprint(0,0x1b,0);
biosprint(0,0,0);
for(i=0;i<l;i++)
{
delay(15); //necesario, de lo contrario escribe caracteres intermedios
switch(prueba_impresora())
{
case 0:
biosprint(0,bufferim[i],0);
break;
case 1:
return;
case 2:
avisoprint("IMPRESION CANCELADA");
return;
}
}
//prueba_impresora();
biosprint(0,0x0d,0);
biosprint(0,0x0a,0);
prueba_impresora();
}

Espero te sirvan amigo :-]
  #4 (permalink)  
Antiguo 10/01/2005, 20:18
 
Fecha de Ingreso: abril-2004
Ubicación: Coatzacoalcos
Mensajes: 79
Antigüedad: 20 años
Puntos: 0
Hola gracias por sus respuestas,

finalmente lo realize como escribir en un archivo siguiendo la filosofia de C de que todo son archivos,

FILE *stdprn;
stdprn = fopen("PRN","wb");
fprintf(stdprn,"From Windows: Test test test\f");
fclose(stdprn);

Saludos,
Farid A. Bielma Lopez
http://farid-darkground.iespana.es
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 05:08.