Hubungi Kami : Wa : 082131268822|b4m84@yahoo.com

Cetak Printer Bluetooh dari HP Android menggunakan Delphi XE 10.

//Cetak Printer Bluetooh dari HP Android menggunakan Delphi XE 10.

Cetak Printer Bluetooh dari HP Android menggunakan Delphi XE 10.

Delphi Android

Cetak Printer Bluetooh dari HP Android menggunakan Delphi XE 10.

Dalam Tutorial kali ini akan kita bahas mengenai cara mencetak ke Printer Bluetooth dari HP Android Kita, biasanya aplikasi ini diperlukan untuk :

  1. Program Kasir / POS (Point Of Sales) untuk mencetak Struk Penjualan
  2. BPR (Bank Perkreditan Rakyat) untuk mencetak Bukti Bayar Angsuran.
  3. Program PPOB / Payment Point untuk mencetak Bukti Bayar Tagihan.

Peralatan Yang Saya Gunakan adalah :

  1. Android Galaxy J7 Prime
  2. Printer Bluetooth HP-M200
  3. Laptop yang sudah terinstall Delphi XE 10
  4. Untuk bisa mengakses printer posisi bluetooh HP harus nyala dan Printer sdh dalam kondisi Ter Pairing.

Langkah Langkahnya adalah sebagai berikut :

  1. Buka Delphi XE anda Klik File — New — Multi Device Application

Pilih Menu Project — Option  — user permission

  1. Centang Pilihan Bluetooth agar APK yang akan kita buat bisa mengakses perangkat Bluetooth.
  2. Buat Komponen Seperti dibawah ini :

Properties Komponen :

 

  1. Button 1 :
    1. Align = “Top”
    2. Margin = “Left =10”,”Top=10”,”Right=10”,”Bottom = 10”
    3. Text = “Cetak”
  2. Memo1 , Memo2 :
    1. Align = “Top”
    2. Margin = “Left =10”,”Top=10”,”Right=10”,”Bottom = 10”
  3. Label 1 , label2 :
    1. Align = “Top”
    2. Margin = “Left =10”,”Top=10”,”Right=10”,”Bottom = 10”

 

  1. Setelah selesai kita tambahkan variable yang diperlukan :
  2. Masukkan uses baru yang bertujuan agar kita bisa melakukan akses terhadap perangkat Bluetooth yaitu :
    • Bluetooth,
    • Bluetooth.Components;

 

  1. Tambahkan Private Declaration ini berisi variable variable yang dibutuhkan saat proses cetak :
    • FSocket: TBluetoothSocket;
    • FBluetoothManager: TBluetoothManager;
    • FDiscoverDevices: TBluetoothDeviceList;
    • FPairedDevices: TBluetoothDeviceList;
    • FAdapter: TBluetoothAdapter;
    • FData: TBytes;
    • ItemIndex: Integer;
    • servicegui, servicename: string;
    • LDevice: TBluetoothDevice;
    • GUID: TGuid;
    • bluetooth: TBluetoothDeviceList;
    • LServices: TBluetoothServiceList;
  2. Sehingga akan seperti ini :
  1. Selanjutnya kita perlu mendeteksi / mengenali Port yang digunakan untuk printer Blueetoth, proses ini terjadi pada saat Form ini di aktivasi (Formactivate) caranya :
    • Pada Form 1 pilih action Fomactivate à Klik 2 kali
  • Isi Action sebagai berikut :

procedure TFLihat4.FormActivate(Sender: TObject);

var

Msg, Texto: string;

I, B: Integer;

BluetoothAdapter: TBluetoothAdapter;

bluetooth: TBluetoothDeviceList;

LServices: TBluetoothServiceList;

begin

try

Memo1.Lines.Add(‘Ok 1’);

FBluetoothManager := TBluetoothManager.Current;

if FBluetoothManager = nil then

Memo1.Lines.Add(‘FBluetoothManager ini nol’);

Memo1.Lines.Add(‘Ok 2’);

BluetoothAdapter := FBluetoothManager.CurrentAdapter;

if BluetoothAdapter = nil then

Memo1.Lines.Add(‘BluetoothAdapter ini nol’);

bluetooth := BluetoothAdapter.PairedDevices;

Memo1.Lines.Add(‘Ok 3’);

if bluetooth = nil then

Memo1.Lines.Add(‘bluetooth ini nol’);

for I := 0 to bluetooth.Count – 1 do

begin

LDevice := bluetooth[I] as TBluetoothDevice;

if LDevice.IsPaired then

begin

LServices := LDevice.GetServices;

for B := 0 to LServices.Count – 1 do

begin

ServiceGUI := GUIDToString(LServices[B].UUID);

Guid := LServices[B].UUID;

ServiceName := LServices[B].Name;

Memo1.Lines.Add(LServices[B].Name + ‘ –> ‘ + ServiceGUI);

Memo1.GoToTextEnd;

if LServices[B].Name = ‘SerialPort’ then exit;

end;

end;

end;;

except

on E: Exception do

begin

Msg := E.Message;

Memo1.Lines.Add(‘Error Message: ‘ + Msg);

Memo1.GoToTextEnd;

end;

end;

end;

  1. Silahkan coba dilakukan Compile Program Tersebut , hasilnya akan seperti :

Artinya serial port sudah terdeteksi siap untuk mencetak.

  1. Selanjutanya kita isi event Onclick pada button1. Saat button1 di klik maka akan dilakukan pengiriman data pada memo 2 ke Printer , Source nya adalah sebagai berikut :

procedure TForm1.Button1Click(Sender: TObject);

var

ToSend: TBytes;

Msg, Texto: String;

a : integer;

data : array[1..13] of string;

begin

timer1.Enabled := true;

Memo1.Lines.Add(‘Port :’ + BoolToStr(LDevice.IsPaired));

Memo1.Lines.Add(‘Guide:’ + GUIDToString(Guid));

if (Assigned(LDevice)) And (Assigned(FSocket))

then Begin

if Not FSocket.Connected

then FSocket.Connect

End

Else Begin

FSocket := LDevice.CreateClientSocket(Guid, True);

Memo1.Lines.Add(‘Device Socked created to ‘+LDevice.DeviceName);

FSocket.Connect;

End;

end;

  1. Saat Button1 di klik akan mengaktifkan Timer 1 , untuk mengirim data ke Printer .

procedure TForm1.Timer1Timer(Sender: TObject);

var

ToSend: TBytes;

Msg, Texto ,spasi: String;

a,konter : integer;

begin

if Assigned(FSocket)

then Begin

if FSocket.Connected

then Begin

//——– judul

for  a := 1 to 3   do

begin

Texto :=  Memo2.Lines.Text+  #27#13#10;

ToSend := TEncoding.UTF8.GetBytes(Texto);

FSocket.SendData(ToSend);

end;

End;

timer1.Enabled := false;

end;

end;

  1. Proses telah selesai jika di running hasilnya dalah sebagai berikut :

Terima kasih, Semoga bermanfaat

Source code : https://github.com/b4m84/bluetooth2/tree/master

By |2019-11-14T23:52:37+00:00December 3rd, 2018|Delphi XE|0 Comments

About the Author:

Leave A Comment