Network daki bir printera bilgi göndermek

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
Armani
Üye
Mesajlar: 104
Kayıt: 18 Mar 2004 05:32
Konum: Ankara

Network daki bir printera bilgi göndermek

Mesaj gönderen Armani »

Merhaba arkadaşlar.
Amacım Filelistbox da seçili olan dosyanın printera gönderilmesi
ama bunun için nasıl bir kod yazmam gerek
burdaki bazı kodlarda değişiklik yapmama rağmen başaramadım

birde bu kod için copy mi yoksa copfile mı kullanmam gerek
copyfile(filelistbox1.filename)..... //computer name/printer gibi

şimdiden teşekkür ederim
Kullanıcı avatarı
husonet
Admin
Mesajlar: 2962
Kayıt: 25 Haz 2003 02:14
Konum: İstanbul
İletişim:

Mesaj gönderen husonet »

Networkteki masaüstünden bilgisayarın bağlantı noktasını ayarlarsan başka makinanın printer ını kullanabilirsin.

Kolay Gelsin...

Gazete manşetleri
* DİKKAT :Lütfen forum kurallarını okuyalım ve uyalım...!
* Warez,crack vs. paylaşımı kesinlikle yasaktır.
Kullanıcı avatarı
salvation
Üye
Mesajlar: 303
Kayıt: 22 Mar 2004 01:57
Konum: Eskişehir
İletişim:

Mesaj gönderen salvation »

Unitin en başına

Kod: Tümünü seç

  Uses Printers;
ekleyerek başlarız.

Bilgisayara bağlı yazıcıları, örneğin combobox a yüklemek istersen şu şekilde yapabilirsin:

Kod: Tümünü seç

  ComboBox1.items := Printer.Printers;
Varsayılan yazıcıyı şu şekilde bulabilirsin:

Kod: Tümünü seç

function DefPrinter : string;
begin
  if (Printer.PrinterIndex > 0) then
    DefPrinter := Printer.Printers[Printer.PrinterIndex]
else
  DefPrinter := '';
end;
Ama sen istediğin yazıcıdan çıktı alabilmek istediğin için, o yazıcıyı seçili hale getirmelisin:

Kod: Tümünü seç

var
  printer:tprinter;
begin
  printer:=tprinter.create;
  printer.printerindex:=0;
end;
Yazıcıya herhangi bir dosya göndermek için:

Kod: Tümünü seç

//Delphi FAQs and TIs
uses CommDlg;

{$IFNDEF WIN32}
 const MAX_PATH = 144;
{$ENDIF}

procedure TForm1.Button1Click(Sender: TObject);
var
  Pd : TPrintDlg;
  DocInfo: TDocInfo;
begin
  FillChar(Pd, sizeof(Pd), #0);
  Pd.lStructSize := sizeof(Pd);
  Pd.hWndOwner := Form1.Handle;
  Pd.Flags := PD_RETURNDC;
  if PrintDlg(pd) then begin
    FillChar(DocInfo, sizeof(DocInfo), #0);
    DocInfo.cbSize := SizeOf(DocInfo);
    GetMem(DocInfo.lpszDocName, 32);
    GetMem(DocInfo.lpszOutput, MAX_PATH);
    lStrCpy(DocInfo.lpszDocName, 'My Document');
   {Add this line to print to a file }
    lStrCpy(DocInfo.lpszOutput, 'C:\Download\Test.doc');
    StartDoc(Pd.hDc, DocInfo);
    StartPage(Pd.hDc);
    TextOut(Pd.hDc, 100, 100, 'Page 1', 6);
    EndPage(Pd.hDc);
    StartPage(Pd.hDc);
    TextOut(Pd.hDc, 100, 100, 'Page 2', 6);
    EndPage(Pd.hDc);
    EndDoc(Pd.hDc);
    FreeMem(DocInfo.lpszDocName, 32);
    FreeMem(DocInfo.lpszOutput, MAX_PATH);
  end;
end;
Network yazıcılarının sisteminde kurulu olduğunu varsaydım.
Kolay gelsin!
Cevapla