소스코드에 오류가...
if Printer.Printers = PrinterName then
>>>
if Printer.Printers[I] = PrinterName then
gomsun2 님이 쓰신 글 :
: 제가 작성한 코드는 아니며 delphi.cjsoft.net에서 배포하는 Tipsman 에서 퍼올립니다.
:
:
: Title: How to get / set the default printer
:
: uses
: Printers, Messages;
:
: function GetDefaultPrinter: string;
: var
: ResStr: array[0..255] of Char;
: begin
: GetProfileString('Windows', 'device', '', ResStr, 255);
: Result := StrPas(ResStr);
: end;
:
: procedure SetDefaultPrinter1(NewDefPrinter: string);
: var
: ResStr: array[0..255] of Char;
: begin
: StrPCopy(ResStr, NewdefPrinter);
: WriteProfileString('windows', 'device', ResStr);
: StrCopy(ResStr, 'windows');
: SendMessage(HWND_BROADCAST, WM_WININICHANGE, 0, Longint(@ResStr));
: end;
:
: procedure SetDefaultPrinter2(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;
: try
: 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;
: finally
: aPrinter.Free;
: end;
: FreeMem(Device, 255);
: FreeMem(Driver, 255);
: FreeMem(Port, 255);
: end;
:
: procedure TForm1.Button1Click(Sender: TObject);
: begin
: label1.Caption := GetDefaultPrinter2;
: end;
:
: //Fill the combobox with all available printers
: procedure TForm1.FormCreate(Sender: TObject);
: begin
: Combobox1.Items.Clear;
: Combobox1.Items.AddStrings(Printer.Printers);
: end;
:
: //Set the selected printer in the combobox as default printer
: procedure TForm1.Button2Click(Sender: TObject);
: begin
: SetDefaultPrinter(Combobox1.Text);
: end;
:
: 한기준 님이 쓰신 글 :
: : 델파이 6 버전에서 프린트를 하는데 기본설정으로 잡혀있는 프린터가 아닌 다른 프린터를 지정하고 싶은데 방법을 모르겠습니다.
: : 기본프린터를 제외한 다른 프린터 드라이버로 프린트 하려면 어떻게 해야 하는지 설명 부탁드립니다.