PDA

Ver la Versión Completa : Nombre de impresora


erfedecai
11-06-2006, 20:59:26
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
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
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
Es un pequeño código (en c++) que imprime un documento en word en este caso por una impresora elegida.


//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