Fórum Identificar tipo da impressora #227455
22/04/2004
0
determinado drive de impressora é de uma impressora matricial ou não.
É que estou fazendo a impressão direta para a porta e gostaria de validar o a impressora configurada é uma matricial.
Obrigado,
Mcd
Curtir tópico
+ 0Posts
02/06/2004
Emir Neto
Gostei + 0
02/08/2004
Tiba
Gostei + 0
02/08/2004
Joker
.
.
.
begin
if (Printer.IndexOf(´Draft 10cpi´) >= 0) then
else
end;
.
.
.
Se vc vai dar opção do usuário selecionar a impressora, procure nas relação de fontes dela e vai conseguir.
Espero ter ajudado.
Gostei + 0
04/08/2004
Tiba
Não seria :
Printer.Fonts.IndexOf(´Draft 10cpi´) >= 0
??
Eu pensei em fazer assim, mas algumas impressoras NÃO Matriciais estão vindo com essa fonte tbm ...
Será se existe alguma outra forma de descobrir o tipo da Impressora ?
Gostei + 0
04/08/2004
Joker
Gostei + 0
09/08/2004
Tiba
mas ..
e se for uma tendência a inclusão dessa fonte nas próximas impressoras ?? ..
por isso ainda estou a procura de um novo método de [b:551f92e3ce]identificação do tipo de impressora [/b:551f92e3ce].
Gostei + 0
11/08/2004
Tiba
Gostei + 0
11/08/2004
Vinicius2k
Vcs já pensaram em fazer um teste pela resolução ?
Até aonde eu sei (posso estar enganado), impressoras matriciais tem uma resolução X máxima de 144 Pixels e as InkJet e Laser são, no mínimo, 300 Pixels...
Vejam um exemplo de como extrair a resolução usando a GetDeviceCaps da API do Windows :
procedure TForm1.Button1Click(Sender: TObject); var Device, Driver, Port : array[0..255] of char; hDMode: THandle; ResolucaoX: Integer; begin if PrintDialog1.Execute then begin // Esta linha é para forçar a seleção da impressora // escolhida no PrintDialog. Caso contrário será a // Impressora Padrão Printer.GetPrinter(Device, Driver, Port, hDMode); // Leitura da Resolução ResolucaoX:= GetDeviceCaps(Printer.Handle, ASPECTX); // Simples Teste ShowMessage(IntToStr(ResolucaoX)); end; end;
Espero ter ajudado...
T+
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)