Ver Mensaje Individual
  #3  
Antiguo 02-04-2006
Avatar de marcoszorrilla
marcoszorrilla marcoszorrilla is offline
Capo
 
Registrado: may 2003
Ubicación: Cantabria - España
Posts: 11.221
Reputación: 10
marcoszorrilla Va por buen camino
Quizás el problema es que a la hora de mandarle a imprimir no encuentra la impresora al ser una impresora de Red, por otra parte el problema del idioma me lleva a pensar que el nombre de la impresora quizás no sea el mismo.

Porque no creas una rutina o función que te muestre las impresoras del sistema eliges una y luego lanzas el TextOut.

Mira este ejemplo, que yo suelo utilizar, aunque aquí la impresora ya la he guardado en una tabla y lo que hago es al mandar imprimir la vuelve a buscar en el sistema para asegurarse de que sigue existiendo.

Código Delphi [-]
Function GetImpresora(Impre:String):Integer;
Var
nCont:Integer;
lSearch:Boolean;
cNewLIne:String;
begin
lSearch:=False;
cNewLine:=Chr(10)+Chr(13);

  For nCont:=0 to Printer.Printers.Count - 1 do
  //buscamos la impresora en la lista del sistema
  begin

    if Pos(impre, Printer.Printers[nCont]) <> 0 then
    begin
    lSearch:=True;
    Result:=nCont;
    Break;
    end;

  end;

  if lSearch = False then
  begin
  Result:=-1;
  ShowMessage('Impresora no encontrada:'+cNewLine+Impre+cNewLine+'Se utilizará la predefinida.');
  end;
          
end;

......
procedure TfrRepara.SpeedButton2Click(Sender: TObject);
begin

  if  Not DmAni.Impres.Locate('Impresora',Dmani2.ConfImprefacturas.Value,[]) then
  DmAni.Impres.First;


Printer.PrinterIndex:=GetImpresora(DmAni2.ConfLptFacturas.value);
SetPaperSize(DmAni2.ConfAltoPapelFacturas.Value,Dmani2.ConfAnchoPapelFactuas.Value);

  With Printer.Canvas do
  begin
    Printer.BeginDoc;
    CabeceraRepara();
    DetalleRepara();
    Printer.EndDoc;
  end;
end;

Tschüss.
__________________
Guía de Estilo de los Foros
Cita:
- Ça c'est la caisse. Le mouton que tu veux est dedans.
Responder Con Cita