Arsip: Script Cetak struk kasir pake printer tinta

 
user image
more 13 years ago

Exoo

HAllo semuanya...salam kenal ya..anggota baru nih... aku mo tanya pada mas-mas yang ahli delphi, ada nggak script yang bisa dipake untuk mencetak kertas continous pake printer tinta yang nantinya bisa berhenti pada cetak terakhir kayak klo kita pake printer dot matrix. Tolong kasih aku pencerahan ya...thanks buanget... Salam Delphi !!!
user image
more 13 years ago

bangfauzan

Ini script untuk mencetak tanpa winspool. Jangan lupa tambahkan WinSpool dan Printer dalam uses clause.
Procedure Cetak(Const line: string );
Var
  BytesWritten: DWORD;
  hPrinter, DevMod: THandle;
  DocInfo: TDocInfo1; //tipe data record dalam unit WinSpool
  Device, Drv, Port:Array of char;
Begin
  Printer.PrinterIndex:=-1;
  Printer.GetPrinter(Device, Drv, Port, DevMod);
  If not WinSpool.OpenPrinter(@Device, hPrinter, nil) Then //tidak pake @ juga bisa
    raise exception.create('Printer tidak ada...');
  Try
    DocInfo.pDocName := 'Struk Penjualan';
    DocInfo.pOutputFile := Nil;
    DocInfo.pDatatype := 'RAW';
    If StartDocPrinter(hPrinter, 1, @DocInfo) = 0 Then
      Abort;
    Try
      If not StartPagePrinter(hPrinter) Then
        Abort;
      try
        //pertimbangkan untuk mencetak dengan Printer.Canvas agar font bisa diganti
        If not WritePrinter(hPrinter, @line[1], Length(line), BytesWritten)
        Then
          Abort;
      Finally
        EndPagePrinter(hPrinter);
      End;
    Finally
      EndDocPrinter(hPrinter);
    End;
  Finally
    WinSpool.ClosePrinter(hPrinter);
  End;
End;
[/pas] Berikut adalah contoh penggunaannya:
Procedure CetakSlip;
Const Enter =#13+#10;
begin
  with DM do begin
    Cetak(Modul.tCompanyNama.AsString+Enter);
    Cetak(Modul.tCompanyBisnis.AsString+Enter+Enter);
    tJualBeliDetil.First;
    While not tJualBeliDetil.Eof do begin
      Cetak(tJualBeliDetilluNama.AsString+Enter);
      Cetak(tJualBeliDetilQty.AsString+' x '+
      tJualBeliDetilHarga.AsString+' = '+
      tJualBeliDetilclJumlah.AsString+Enter);
      tJualBeliDetil.Next;
    end;
    Cetak('--------------------------');
    Cetak('Jumlah       '+tJualBeliJumlah.AsString+Enter+Enter);
    Cetak('Terima kasih atas kunjungan Anda');
  end;
end;
semoga bermanfaat.
user image
more 13 years ago

Exoo

thank's bang fauzan aku coba dulu yach......
user image
more 13 years ago

Exoo

sudah aku coba tapi kok nggak jalan ya... icon printer di bagian bawah cuma muncul sebentar trus ilang... aku pake printer s200spx... mohon pencerahan lagi ya...please...
user image
more 13 years ago

kiki-Delphi

aku coba cara diatas pake printer LX berhasil, tapi aku bingung caranya untuk mengganti ukuran huruf dan membuat rata kanan harga barang, mohon bantuan bang Fauzan atau master2 yg lain .... trims
user image
more 13 years ago

kiki-Delphi

bantu aku dong..... butuh banget nih..... "bisa mengganti huruf dan membuat harga jadi rata ke kanan" kayak struknya indomaret gitu lho........ help me please.....mendesak nih....
user image
more 13 years ago

R-One

@kiki-Delphi: bantu aku dong..... butuh banget nih..... "bisa mengganti huruf dan membuat harga jadi rata ke kanan" kayak struknya indomaret gitu lho........ help me please.....mendesak nih....
coba pake fungsi ini

function FormatString(const VField, VItem : String; const VLength: Integer; const VSpace: Char): String;
Var
     __SStart : String;
    __SStop : String;
    __Length : LongInt;
Begin
  __SStart:=VField;
  __SStop:=VItem;
  __Length:=Length(__SStart)+Length(__SStop);
  Result:='';
  While __Length+Length(Result)<VLength Do
   Result:=Result+vspace;
  Result:=__SStart+Result+__SStop;
end;
user image
more 13 years ago

kiki-Delphi

terimakasih mas R-one atas bantuannya....tapi aku malah bingung sebab memang aku nggak ngerti.... maklum mas aku bisanya memang copy-paste (pemula banget sih). Kemarin aku pake caranya bang fauzan bisa berhasil, struk kasir bisa tercetak dan berhenti setelah selesai datanya....permasalahnya cuma aku nggak bisa menambah potongan script lagi untuk mengganti sendiri jenis/ukuran huruf serta mensetting (harga barang) agar rata kanan.....mohon bantuanya dari siapa saja master yang ada di sini untuk menambah script yang aku butuhkan. Mendesak banget nih .... maaf merepotkan .... trims...trims...trims....
user image
more 13 years ago

R-One

kamu pake ini gini.. digabung fungsi yg dikasih bangfauzan ama yg dr saya.

   cetak(formatstring('jumlah',tJualBeliJumlah.AsString+Enter+Enter,40,' ');
'jumlah' itu yg rata kiri nilainya rata kanan ' ' itu antara 'jumlah' dan nilainya yg jumlah lebarnya 40.
user image
more 13 years ago

simba

Udah sering dibahas. Ini ada komponen untuk direct text printing atau raw printing. Silakan dicoba dan dipelajari sendiri. Di http://delphindo.wordpress.com/2006/03/28/direct-text-printing/ HTH.
more ...
  • Pages:
  • 1
  • 2
Share to

Random Topic

Local Business Directory, Search Engine Submission & SEO Tools FreeWebSubmission.com SonicRun.com