Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Impresión (https://www.clubdelphi.com/foros/forumdisplay.php?f=4)
-   -   Nombre de impresora (https://www.clubdelphi.com/foros/showthread.php?t=32628)

erfedecai 11-06-2006 20:59:26

Nombre de impresora
 
Como estamos. Mi pregunta es la siguiente:

¿como consigo el nombre de la impresora a partir del indice?

Gracias.

erfedecai 11-06-2006 21:04:09

Solucionado
 
Listo. Gracias de todos modos.

AzidRain 12-06-2006 03:58:57

Creo que el moderador estará de acuerdo en que cuando tu mismo encuentras tu respuesta deberías compartirla en el foro, tal vez alguien más tenga el mismo problema y de esta forma todos nos ayudamos y podemos enriquecerla si hubiera esa posibilidad...

Neftali [Germán.Estévez] 12-06-2006 09:44:52

Como moderador y como simple usuario de los foros, me gustaría que alguien cuando encuentra una solución, después de haber posteado un mensaje en los foros, la comparta con los demás "foreros". Estoy contigo AzidRain.

Un saludo.

erfedecai 21-06-2006 16:08:20

Es cierto
 
Teneis toda la razón, lo siento. El único motivo de no mostrarlo es que la encontré en un hilo de este mismo foro. De todas formas voy a buscar en mis papeles para colgarlo.

Lo siento de nuevo y un abrazo.

erfedecai 21-06-2006 16:24:57

El código
 
Es un pequeño código (en c++) que imprime un documento en word en este caso por una impresora elegida.

Código:

//Creamos un objeto Printer
TPrinter * imp = Printer();
//Creamos las variables a usar
int indice_predeterminado, indice_temporal;
AnsiString nombre_predeterminado, nombre_temporal;
//Guardamos la impresora predeterminada hasta el momento
indice_predeterminado = imp->PrinterIndex;
nombre_predeterminado = imp->Printers->Strings[indice_predeterminado];
//Seleccionamos la impresora a elegir - El objeto TPrinterDialog
// se llama printer
if (printer->Execute())
{
//Cargamos la impresora predeterminada para imprimir
imp = Printer();
indice_temporal = imp->PrinterIndex;
nombre_temporal = imp->Printers->Strings[indice_temporal];
SetDefaultPrinter(nombre_temporal.c_str());
//Imprimimos los archivos
ShellExecute(NULL, "print","ruta del archivo", "", "", SW_HIDE);
}
//Volvemos a colocar la impresora por defecto
//Esto es necesario, ya que si no el objeto Print() del sistema
//se queda con el ultimo indice colocado y no funciona bien
//Esto último no estoy completamente seguro, aunque si no no funciona bien
SetDefaultPrinter(nombre_predeterminado.c_str());
imp->PrinterIndex = indice_predeterminado;

EDITADO (Neftalí): Para añadir los tags de code y que se lea mejor el código.

Un saludo


La franja horaria es GMT +2. Ahora son las 08:05:18.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi