Ir para conteúdo
  • Cadastre-se

dev botao

Existe Alguma funcao para pegar a impressora Padrao do Windows no Lazarus ?


Ver Solução Respondido por Rafael Dias,
  • Este tópico foi criado há 2470 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Recommended Posts

Postado

Estava usando essa função no Delphi7

  function GetDefaultPrinterName : string;
  begin
   if(Printer.PrinterIndex >= 0)then
     begin
     Result := Printer.Printers[Printer.PrinterIndex];
     end
   else
     begin
     Result := 'Nenhuma Impressora Detectada';
     end;
   end;

Ao trazer para Lazarus não funcionou .. andei pesquisando na NET mais não achei nada .. alguém tem ai alguma função pra pegar qual impressora default no Windows .ou ate se existe algo assim pra mult-plataforma .

Sem mais ,


Adilson Pazzini .

Postado

Rafael ... Obrigado ... velho . eu ate errei . na verdade era a funcao de Set .. mais ache aqui e nos meus testes deu certo ..

SetDefaultPrinter

//procedure SetDefaultPrinter(PrinterName: String);
//var
//  I: Integer;
//  Device : PChar;
//  Driver : Pchar;
//  Port : Pchar;
//  HdeviceMode: Thandle;
//  aPrinter : TPrinter;
//begin
//  Printer.PrinterIndex := -1;
//  getmem(Device, 255);
//  getmem(Driver, 255);
//  getmem(Port, 255);
//  aPrinter := TPrinter.create;
//  for I := 0 to Printer.printers.Count-1 do
//  begin
//  if Printer.printers = PrinterName then
//  begin
//  aprinter.printerindex := i;
//  aPrinter.getprinter;
//  (device, driver, port, HdeviceMode);
//  StrCat(Device, ',');
//  StrCat(Device, Driver );
//  StrCat(Device, Port );
//  WriteProfileString('windows', 'device', Device);
//  StrCopy( Device, 'windows' );
//  SendMessage(HWND_BROADCAST, WM_WININICHANGE,
//  0, Longint(@Device));
//  end;
//  end;
//  Freemem(Device, 255);
//  Freemem(Driver, 255);
//  Freemem(Port, 255);
//  aPrinter.Free;
//end;                

Montei com essa funcao ...

procedure SetDefaultPrinter(const PrinterName: String);
begin
 Printers.Printer.SetPrinter(PrinterName);
end;

 

 

Mais Valeuuu ....

  • Este tópico foi criado há 2470 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar Agora
×
×
  • Criar Novo...

Informação Importante

Colocamos cookies em seu dispositivo para ajudar a tornar este site melhor. Você pode ajustar suas configurações de cookies, caso contrário, assumiremos que você está bem para continuar.

The popup will be closed in 10 segundos...