PDA

Ver la Versión Completa : Dialogo de impresion


Metralla
24-05-2004, 19:10:39
Hola buenas
A ver si alguien me puede ayudar un poco.
He creado un menu de dialogo de impresion en delphy 7 para elegir una impresora diferente, y me gustaria poder enlazarlo con el rave 5 para poder imprimir informes sin tener que ejecutar el rave y apretar imprimir.

procedure Tfrmimprimir.FormCreate(Sender: TObject);
begin
ComboBox1.Items := printer.Printers; // poner la lista de impresoras al combo
edit1.Text := printer.Printers.GetText[printer.printerindex]; //mostrar la impresora actual
end;

Si alguien tiene alguna idea o saben de algun sitio donde haya un ejemplo o algo asi .
Gracias.

Combat-F2D
25-05-2004, 00:48:59
nunca he trabajado con rave, pewro por curiosidad he estado mirandolo por encima y me he encontrado con un par de cosillas.

te remito una aplicacion donde jugando con las propiedades del componente asociado al componente RvProject, es decir el RvSystem, es posible si no del todo, si algo parecido a lo que propones.

espero que te sirva por lo menos para arrancar.

Metralla
26-05-2004, 11:26:06
Gracias
Pero no veo donde esta el link o el archivo

Combat-F2D
26-05-2004, 23:39:00
me acaba de informar uno de los boss de por aqui que no se pueden remitir adjuntos de mas de 1 K; asi que por favor mandamne tu email, oK

Rabata
31-05-2004, 17:20:07
//Imprimir saltandose el setup y el preview
RvSystem2.DefaultDest:=rdPrinter;
RvSystem2.DoNativeOutput:=false;
RvSystem2.SystemSetups:=RvSystem2.SystemSetups-[ssAllowSetup];
RvProject2.Open;
RvProject2.SelectReport('Report15',false);
RvProject2.Execute;

Puede que ya lo supieras....

Yo tengo tb el mismo problema que tu a la hora de poner la impresora del combobox como la impresora por la que imprima el Rave.

Si logras solucionarlo t estaría muy agradecido d que pusieras como lo has hecho, yo de todas formas seguiré investigando y si lo consigo t lo pondré.


Gracias

Metralla
31-05-2004, 19:09:58
ok rabata
el que primero lo consiga que se lo diga al otro asi que lo haga lo pondre en el foro.
Pero llevo ya un par de dias intentandolo, lo de quitar el dialogo del preview ya lo habia hecho ,pero necesito que cuando yo aprete a imprimir en mi dialogo de impresion se imprima el report en la impresora que yo diga.
Gracias.
Salud y suerte.

Ivan JR
31-05-2004, 21:01:19
Bueno a lo que tu te refieres es como seleccionar otra impresora.. diferente a la que tienes por default.

este es un ejemplo de como obtienes de la impresora y de ahí la pones como predeterminada

function TForm1.fSetDefaultImpresora(
iNumImpresora: integer): Boolean;
var
iniFile : TIniFile;
TempStr1,tempStr2 : string;
begin
Result := True;
with Printer do
Begin
PrinterIndex := iNumImpresora;
iIndexImpresora := iNumImpresora;
TempStr1 := Printers[PrinterIndex];
System.Delete(TempStr1,pos('on',TempStr1),length(TempStr1));
iniFile := TIniFile.Create('WIN.INI');
Try
tempStr2 := iniFile.ReadString('device',TempStr1,'');
iniFile.WriteString('windows','device',TempStr1+','+tempStr2);
iniFile.Free;
except
result := False;
iniFile.Free;
exit;
end;
end;
end;
donde tu index podría ser uno fijo o adaptalar a una tabla de configuracion o como lo requieras.. yo no trabajo con Rave.. utilizo aun el quick report, ojalá te sirva

Metralla
01-06-2004, 10:47:37
Gracias
Pero ya he visto un ejemplo parecido en un hilo de mas abajo pero esta on el rave report no va
Gracias de todas formas
Ademas la impresora que le pongo ya me la pilla el report lo que pasa es que no soy capaz de hacer que me imprima el rave el report directamente desde delphi 7 sin haber hecho antes el preview del report.
Es decir yo tengo hecho un menu de elegir impresora , si eligo una impresora y le doy aceptar la pilla el rave como la que tiene que imprimir lo que no me imprime para que me imprima tengo que hacer el preview y darle al boton de imprimir , me sale el dialo de impresion y la impresora que le he dicho yo antes por la que me tendria que imprimir es la que sale imprimida.
Realmente mi pregunta es como imprimo directamete un rave report sin tener que hacer antes el preview? que es lo que me falta?.

Rabata
02-06-2004, 10:14:55
creo que esto hace lo q tu quieres

RvProject1.ProjMan.ActiveReport.Printer:=cbPrinters.Text;

cbPrinters es un combobox con las impresoras ... como en otros ejemplos que habras visto.Pero debe de poner Impresora tal on Puesto...

pero mi problema es q tengo un RvSystem asociado al componente RvProject para que me ponga las opciones... y claro aunque me imprime con esto por la seleccionada en el combobox,en el cuadro de dialogo q me sale para elegir si quiero imprimir directamente, o el preview o guardar a disco me sale arriba que la impresora seleccionada es otra, lo q confunde al usuario, aunque despues cuando le da a imprimir imprime por la que debe.

Sabeis como quitar esa información de la impresora activa del RvSystem?

Metralla
03-06-2004, 11:19:27
Mira de desactivar le pantalla esa en las opciones del rvsystem.
Systemsetups
allowsetup = false.
Asi no te sale y el usuario no tendra problemas, lo que pasa es que despues tendras que meterle por codigo si quiere hacer el preview, o imprimir sin hacer el preview o guardarlo en el disco.
Que es lo que estoy haciendo yo.
Yo td me peleo con imprimir sin el preview lo demas ya ta.