[Lazarus-es] Impresion (matricial) en red con win7
Claudio Romero
clauslack en gmail.com
Mie Jun 20 01:18:16 CEST 2012
Para buscar el número de impresora por el nombre de la misma.
No he probado mucho esto, pero parece funcionar.
Agregar Button1, Edit1 y Memo1.
En Edit1 pones el nombre de la impresora a buscar
/---
unit busca_impre_;
{$mode objfpc}{$H+}
interface
uses
Classes, SysUtils, FileUtil, LResources, Forms, Controls, Graphics, Dialogs,
StdCtrls, printers;
type
{ TForm1 }
TForm1 = class(TForm)
Button1: TButton;
Edit1: TEdit;
Label1: TLabel;
Memo1: TMemo;
procedure Button1Click(Sender: TObject);
function BuscarImpresora(nombre:string):integer;
private
{ private declarations }
public
{ public declarations }
end;
var
Form1: TForm1;
implementation
{ TForm1 }
//Para buscar el número de impresora por el nombre de la misma.
function TForm1.BuscarImpresora(nombre:string):integer;
var i:integer;
begin
Result:=-1;
for i:=0 to Printer.Printers.Count-1 do
if UpperCase(nombre)=UpperCase(Printer.Printers.Strings[i]) then begin
Result:=i; exit;
end;
end;
procedure TForm1.Button1Click(Sender: TObject);
var i:integer;
begin
memo1.Lines.Clear;
for i:=0 to Printer.Printers.Count-1 do
memo1.Lines.add(IntToStr(i)+' - '+ Printer.Printers.Strings[i]);
Printer.PrinterIndex:=BuscarImpresora(Edit1.Text);
ShowMessage(IntToStr(Printer.PrinterIndex));
end;
initialization
{$I busca_impre_.lrs}
end.
// saludos
More information about the Lazarus-es
mailing list