Ir para conteúdo
Fórum Script Brasil
  • 0

[resolvido] Comando Dmpaper


Livio Neiva

Pergunta

4 respostass a esta questão

Posts Recomendados

  • 0
Que componente é esse que está usando ?

o erro é Undeclared identifier: 'DMPAPER'

Identificador não declarado 'DMPAPER'

Deixa eu ver se eu consigo explicar!!!

Eu estou trabalhando com os componentes do Rave Reports!!!

Estou criando um relatório com a linguagem Rave Reports.

Procedimentos que foram executados:

Acesse a guia Rave e insira um componente RvSystem , que será responsável pela exibição do relatório, na tela ou na impressora. Mude o Name para RvSysCliente.

No evento OnBeforePrint do objeto RvSysCliente digite:

With RvSysCliente .BaseReport do

begin

FontName := ’Arial’; //define a fonte como Arial

FontSize := 11;//define o tamanho da fonte para 11

Bold := false; // desabilita o estilo de fonte negrito

SetPaperSize(DMPAPER_A4, 0, 0); //ajusta tamanho do papel

end;

e quando eu compilo.

o erro é Undeclared identifier: 'DMPAPER'

Identificador não declarado 'DMPAPER'

como faço para resolver. por favor se possivel detalhes na explicação ainda sou usuário lego.

Obrigado pela atenção!!!

Editado por Livio Neiva
Link para o comentário
Compartilhar em outros sites

  • 0
Guest --Jonas --

Vamos ver se consigo explicar ... primeiro veja se você definiu a clausula uses Printers, caso não tenha definido pode ocorrer esse erro ... caso tenha definido de uma olha no exemplo abaixo:

3.B) Tamanho de Papel

uses Printers; 

  procedure SetPaperSize(PaperSize: Integer); 
  var ADevice, ADriver, APort: array[0..79] of Char; 
      ADeviceMode: THandle; 
      DevMode: PDeviceMode; 
  begin 
    Printer.GetPrinter(ADevice,ADriver,APort,ADeviceMode); 
    if ADeviceMode<>0 then begin 
      DevMode := PDeviceMode(GlobalLock(ADeviceMode)) 
      end 
    else 
      raise Exception.Create('Error initializing printer'); 
    DevMode.dmFields := DevMode.dmFields or DM_PAPERSIZE; 
    DevMode.dmPaperSize := PaperSize; 
    GlobalUnlock(ADeviceMode); 
    Printer.SetPrinter(ADevice,ADriver,APort,ADeviceMode); 
  end;
Você pode achar uma lista de tamanhos de papel disponíveis em Windows API Ajuda (Delphi menu: Help | Windows SDK). Procure DEVMODE no índice de ajuda, então procure DMPAPER_ * * * constantes. Por exemplo, SetPaperSize(DMPAPER_A4) Não esqueça de chamar RVPrint.FormatPages depois de qualquer mudança em tamanhos de papel. Você pode adquirir o tamanho de papel da impressora atual:
function GetPaperSize: Integer; 
var ADevice, ADriver, APort: array[0..79] of Char; 
    ADeviceMode: THandle; 
    DevMode: PDeviceMode; 
begin 
  Printer.GetPrinter(ADevice,ADriver,APort,ADeviceMode); 
  if ADeviceMode<>0 then begin 
    DevMode := PDeviceMode(GlobalLock(ADeviceMode)) 
    end 
  else 
    raise Exception.Create('Error initializing printer'); 
  Result := DevMode.dmPaperSize; 
end;

Você pode ver como uma lista de tamanhos de papel disponíveis e os nomes deles

com o RichViewActions, código fonte (em forma de página de organização )

Caso ainda esta com duvidas veja nestes endereços:

http://www.blpbrasil.com.br/article.aspx?index=10

http://www.trichview.com/forums/viewtopic.php?t=10

Link para o comentário
Compartilhar em outros sites

  • 0
Vamos ver se consigo explicar ... primeiro veja se você definiu a clausula uses Printers, caso não tenha definido pode ocorrer esse erro ... caso tenha definido de uma olha no exemplo abaixo:

3.B) Tamanho de Papel

uses Printers; 

  procedure SetPaperSize(PaperSize: Integer); 
  var ADevice, ADriver, APort: array[0..79] of Char; 
      ADeviceMode: THandle; 
      DevMode: PDeviceMode; 
  begin 
    Printer.GetPrinter(ADevice,ADriver,APort,ADeviceMode); 
    if ADeviceMode<>0 then begin 
      DevMode := PDeviceMode(GlobalLock(ADeviceMode)) 
      end 
    else 
      raise Exception.Create('Error initializing printer'); 
    DevMode.dmFields := DevMode.dmFields or DM_PAPERSIZE; 
    DevMode.dmPaperSize := PaperSize; 
    GlobalUnlock(ADeviceMode); 
    Printer.SetPrinter(ADevice,ADriver,APort,ADeviceMode); 
  end;
Você pode achar uma lista de tamanhos de papel disponíveis em Windows API Ajuda (Delphi menu: Help | Windows SDK). Procure DEVMODE no índice de ajuda, então procure DMPAPER_ * * * constantes. Por exemplo, SetPaperSize(DMPAPER_A4) Não esqueça de chamar RVPrint.FormatPages depois de qualquer mudança em tamanhos de papel. Você pode adquirir o tamanho de papel da impressora atual:
function GetPaperSize: Integer; 
var ADevice, ADriver, APort: array[0..79] of Char; 
    ADeviceMode: THandle; 
    DevMode: PDeviceMode; 
begin 
  Printer.GetPrinter(ADevice,ADriver,APort,ADeviceMode); 
  if ADeviceMode<>0 then begin 
    DevMode := PDeviceMode(GlobalLock(ADeviceMode)) 
    end 
  else 
    raise Exception.Create('Error initializing printer'); 
  Result := DevMode.dmPaperSize; 
end;

Você pode ver como uma lista de tamanhos de papel disponíveis e os nomes deles

com o RichViewActions, código fonte (em forma de página de organização )

Caso ainda esta com duvidas veja nestes endereços:

http://www.blpbrasil.com.br/article.aspx?index=10

http://www.trichview.com/forums/viewtopic.php?t=10

ola amigo, problema resolvido, eu tinha feito dessa forma;

SetPaperSize (DMPAPER A4, 0, 0); o correto é ----> SetPaperSize(DMPAPER_A4, 0, 0);

Obrigado pela ajuda.

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,4k
×
×
  • Criar Novo...