Friday, March 30, 2018

Menyimpan gambar ke database menggunakan Delphi

Tutorial berikut menjelaskan bagaimana cara menyimpan gambar atau foto ke database menggunakan Delphi dan databasenya MS. Access, MySQL dan Microsoft SQL Server. Sebelumnya saya sudah membuat tulisan cara menyimpan gambar atau foto ke database tetapi menggunakan Visual Basic.

Simpan gambar ke database dengan Delphi

Sebenarnya tutorial tentang bagaimana cara menyimpan gambar atau foto ke database menggunakan delphi sudah banyak di internet, tetapi saya tidak menemukan satupun dari mereka yang cocok dalam artian programnya oke dari satu sisi tetapi error di sisi yang lain, oleh karena itu saya mempunyai ide untuk menulis artikel ini.

Database untuk menyimpan gambar

Pada contoh ini saya menggunakan database MS Access, tentu saja boleh menggunakan yang lain seperti database MySQL dengan komponen seperti MySQL DAC dari microOLAP, MyDAC dari Devart atau dari yang lainnya.

Program ini, selain menyimpan gambar juga menampilkan gambarnya, untuk format dan tabel databasenya silahkan lihat tulisan cara menyimpan gambar atau foto menggunakan Visual Basic.

Untuk menghemat waktu teman-teman berikut langsung saja saya bahas program dan source code-nya. Oh iya… Sebelum masuk ke pembahasan ada baiknya saya jelaskan dahulu, inti dari program ini adalah menyimpan gambar ke database dengan format gambar .bmp, kenapa harus format .bmp? Apakah format yang lain tidak didukung? Tentu saja didukung tetapi ada keperluan khusus yang mengharuskan formatnya harus berupa .bmp misalnya ketika teman-teman ingin menampilkan gambar ke report atau sebuah laporan yang menggunakan komponen Quick Report gambar yang didukung hanya yang memiliki format bitmap(.bmp).

Komponen pada form Delphi

Sekarang yang harus kita lakukan adalah menambahkan komponen ke form seperti pada gambar di atas, dengan komponen dan propertinya sebagai berikut :

  • ADOConnection1 : LoginPrompt = False. Buat koneksinya dengan cara klik ganda pada komponen ADOConnection1 kemudian klik Build->Pilih : Microsoft Jet 4.0 OLE DB Provider->Carilah lokasi databasenya->Ok->Ok
  • ADOQuery1 : Connection = ADOConnection1, CursorType = ctStatic, Active = True. Sekarang klik kanan ADOQuery1 dan pilih Fields Editor->Klik kanan->Add all fields.
  • DataSource1 : DataSet = ADOQuery1
  • DBGrid1 : ReadOnly = True, DataSource = DataSource1. Kita akan menampilkan field “nama” saja, untuk itu klik kanan DBGrid1->Columns Editor. Lihat gambar di bawah, klik 1->Isi sesuai 2 dan 3.
  • OpenPictureDialog1 : Filter = All (*.jpg;*.jpeg;*.bmp)|*.jpg;*.jpeg;*.bmp|JPEG Image File (*.jpg)|*.jpg|JPEG Image File (*.jpeg)|*.jpeg|Bitmaps (*.bmp)|*.bmp
  • Label1 : Caption = Nama
  • Edit1 : Text = ” (kosongkan)
  • Image1 : Stretch = True
  • Button1 : Caption = Cari gambar dan simpan

Kode menyimpan gambar ke database

Selanjutnya kita akan menulis barisan kode programnya.
Tambahkan sedikit baris kode berikut pada bagian uses :

jpeg, axCtrls

Pada bagian type tambahkan barisan kode berikut :

procedure tampildata();
procedure convertobmp(filename:TFileName);

Tambahkan juga procedure berikut di bawah implementation :

// Untuk menyegarkan data pada ADOQuery1
procedure TForm1.tampildata();
begin
  ADOQuery1.Close;
  ADOQuery1.SQL.Clear;
  ADOQuery1.SQL.text := 'select * from tb_foto';
  ADOQuery1.Active:=true;
  DBGrid1CellClick(DBGrid1.Columns[0]);
end;

// Konversi setiap gambar ke format Bitmap
// Kode ini saya dapatkan dari stackoverflow.com
procedure TForm1.convertobmp(filename:TFileName);
Var
     OleGraphic               : TOleGraphic;
     fs                       : TFileStream;
     Source                   : TImage;
     BMP                      : TBitmap;
Begin
     Try
          OleGraphic := TOleGraphic.Create; //The magic class!

          fs := TFileStream.Create(filename, fmOpenRead Or fmSharedenyNone);
          OleGraphic.LoadFromStream(fs);

          Source := Timage.Create(Nil);
          Source.Picture.Assign(OleGraphic);

          BMP := TBitmap.Create; //Converting to Bitmap
          bmp.Width := Source.Picture.Width;
          bmp.Height := source.Picture.Height;
          bmp.Canvas.Draw(0, 0, source.Picture.Graphic);

          image1.Picture.Bitmap := bmp; //Show the bitmap on form
          image1.Refresh;
          fs.Free;
          OleGraphic.Free;
          Source.Free;
          bmp.Free;
     Finally

     End;
end;

Sekarang klik ganda button yang ada pada form dan gantikan kodenya dengan yang di bawah ini :

procedure TForm1.Button1Click(Sender: TObject);
var gambar : TMemorystream;
begin
  if(Edit1.Text = '') then begin
    ShowMessage('Silahkan isi nama dulu');
    edit1.SetFocus;
    exit;
  end;
  if OpenPictureDialog1.Execute then begin
    try
      convertobmp(OpenPictureDialog1.FileName);
      gambar := TMemorystream.Create;
      Image1.Picture.Graphic.SaveToStream(gambar);
      ADOQuery1.Close;
      ADOQuery1.SQL.Clear;
      ADOQuery1.SQL.Text := 'insert into tb_foto (nama,gambar) values (:p0, :p1)';
      ADOQuery1.Parameters[0].Value :=  Edit1.text;
      ADOQuery1.Parameters[1].LoadFromStream(gambar,ftBlob);
      ADOQuery1.ExecSQL;
      tampildata();
    except
    on E:Exception do
      ShowMessage('Maaf terjadi kesalahan.' + #13 + 'Error : ' + E.Message);
    end;
  end;
end;

Ketika DbGrid di klik, gantikan kode eventnya sebagai berikut :

procedure TForm1.DBGrid1CellClick(Column: TColumn);
var
  Stream : TADOBlobStream;
  GambarBmp : TBitmap;
  Buffer : Word;
begin
  if (not ADOQuery1.Eof) then begin
    Edit1.Text:= DBGrid1.Fields[0].Text;
    GambarBmp := TBitmap.Create;
    Stream := TADOBlobStream.Create(ADOQuery1gambar,bmRead);
    Stream.Read(Buffer,SizeOf(Buffer));
    Stream.Position := 0;
    GambarBmp.LoadFromStream(Stream);
    Image1.Picture.Bitmap := GambarBmp;
    image1.Refresh;
  end;
end;

Dengan database MySQL

Saya mencoba untuk komponen MyDAC dari Devart perlu dimodifikasi sedikit untuk even DbGrid sebagai berikut:

procedure TForm1.DBGrid1CellClick(Column: TColumn);
var
  Stream : TMemoryStream;
  GambarBmp : TBitmap;
begin
  if (not MyQuery1.Eof) then begin
    Edit1.Text:= DBGrid1.Fields[0].Text;
    GambarBmp := TBitmap.Create;
    Stream := TMemoryStream.Create;
    try
      MyQuery1gambar.SaveToStream(Stream);
      Stream.Position := 0;
      GambarBmp.LoadFromStream(Stream);
      Image1.Picture.Bitmap := GambarBmp;
      image1.Refresh;
    finally
      Stream.Free;
    end;
  end;
end;

Sedangkan MySQL DAC dari microOLAP tidak terjadi masalah dengan kode yang sebelumnya.

Dengan database Microsoft SQL Server

Untuk SQL Server <= 2005 biasanya tipe data blob untuk penyimpanan foto belum didukung, oleh karena itu bisa menggunakan alternatif lain yaitu gunakan tipe data varbinary(max). Nah jika MS. SQL Server > 2005, kayaknya sudah mendukung tipe data Blob.

Thursday, March 29, 2018

Menampilkan & Simpan Gambar Ke Database di delphi

Di siang yang cerah dan gerimis ini saya akan memberikan lagi sebuah contoh program menyimpan gambar kedatabase,sekalian untuk memunculkanya juga. lumayan nih contoh program ini sudah ada Menu Tambah, Edit, Hapus,Cari jadi sekali mendayung minum air. ekh salahh... sekali mendayung dua pulau terlampaui.hahaa.....

Judul yang tepat apaan ya,bingung ngasihnya tapi udah lah yang penting is programnya iya kan Sob. Sekecil/sedikit apapun ilmu tapi itu sangat berguna juga bisa dikembangkan.

Modelnya sepeti Aplikasi karyawan x ya terserah lah kan sudah dibilang bingungngasih judulnya, ini deh pokonya tampilannya :

Jadi gini Sob, Aplikasi ini akan otomatis membuat Folder ke Drive (D:) untuk penyimpanan foto jadi folder yang bernama FotoKaryawan jangan dihapus.

Jika mau merubah Foto tinggal Klik Edit saja dan rubah deh fotonya nanti juga akan mereplace foto yang ada. Program ini tentunya memakai database donk tapi Acces, ada juga yang memakai MySql sudah saya kasih kalau tidak salah Listing Programnya dispostingan yang dulu, cuma mungkin bagi yang kurang paham bisa ribet utak atiknya...........
kalau ingin utak atik Programnya silahkan sedot disini jadi tidak usah lama neerangin cara pembuatannya tinggal langsung jalanin programnya dan rubah-rubah saja !! Download File disini

Kalo ada Pesan Error Misal SUIDBCtrls atau MySQLDBTables tidak ditemukan, coba di Uses'y hapus (SUIDBCtrls,MySQLDBTables ).

Semoga Bermanfaat ya dan juga semoga Link downloadya masih berlaku.heheheee...

Wednesday, March 28, 2018

Tutorial Input Dengan Barcode Scanner di Delphi

Tutorial Input Dengan Barcode Scanner di Delphi merupakan sebuah program dimana untuk melakukan pemasukan data dengan menggunakan Barcode Scanner. Mengenai Delphi sendiri adalah sebuah bahasa pemrograman (Programming Language atau Development Language) yang digunakan untk merancang suatu aplikasi program. Delphi termasuk dalam pemrograman bahasa tingkat tinggi (high level language).

Maksud dari bahasa tingkat tinggi yaitu perintah-perintah programnya menggunakan bahasa yang mudah dipahami oleh manusia. Bahasa pemrograman Delphi disebut bahasa prosedural artinya mengikuti urutan tertentu. Dalam membuat aplikasi perintah-perintah, Delphi menggunakan lingkungan pemrograman visual.

Pemrograman Delphi dirancang untuk beroperasi dibawah sistem operasi Windows. Program ini mempunyai beberapa keunggulan, yaitu produktivitas, kualitas, pengembangan perangkat lunak, kecepatan kompiler, pola desain yang menarik serta diperkuat dengan bahasa perograman yang terstruktur dalam struktur bahasa perograman Object Pascal.

Kali saya akan berbagi sedikit ilmu tentang program Delphi, salah satunya tentang Barcode.  Karena Barcode Scanner sendiri sangatlah penting dan itu sampai sekarang masih dipakai di perusahaan – perusahaan besar untuk melakukan input data, contohnya dilakukan untuk input data stock barang, Input data pengiriman barang, input data pembelian dan masih banyak lagi.
Berikut contoh dasar Tutorial Input Dengan Barcode Scanner di Delphi yang pernah saya gunakan untuk membuat program barcode laporan pengiriman kurir.

Pertama : Buka Form baru
Kedua : Klik pada Toolbar Component Pallete dan pilih Edit lalu letakkan pada Form
Ketiga : Pilih Edit1 pada Form,  Klik pada Object Inspector Pilih Propertis - events -  double klik pada OnKeyPress jika sudah maka akan menampilkan kode seperti dibawah ini

procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
begin

end;
end.

Jika sudah menampakkan kode seperti diatas lalu tambahkan kode seperti dibawah ini

var textpesan : string; //variabel untuk menampilkan pesan
begin
if Key = #13 then //kondisi saat melakukan barcode (jika barcode ok maka lanjutkan)
  begin
    textpesan :='Yang anda barcode adalah '+Edit1.Text; //pesan yang ditampilkan saat dimulai barcode
    Application.MessageBox(PChar(textpesan),'Informasi Barcode',MB_OK or MB_ICONINFORMATION);
    Edit1.SelectAll; //jika diklik ok pada pesan makan edit1 akan diblok secara otomatis
  end;
end.

Keempat : RUN (F9)



Terimakasih telah membaca Tutorial Input Dengan Barcode Scanner di Delphi, semoga dapat membantu dan menambah wawasan anda khususnya program Delphi dan jika anda ingin mengembangkannya dengan menggunakan database anda juga dapat mempelajari tentang bagaimana cara Koneksi Database MySQL Ke Delphi Dengan Komponen Zeos.


Thursday, March 22, 2018

Buat Print Struk Dengan Delphi

Pernah melihat hasil struk belanja di SUPERMARKET / MINIMAREKET. Panjang kertas yang di keluarkan selalu sesuai dengan jumlah item. Berikut adalah contoh script Delphi untuk membuat Print Struk seperti kaya di SUPERMARKET / MINIMARKET..

Program ini saya dapat setelah tanya sana – tanya sini dan akhirnya ……

—- AWAL PROGRAM —

unit Struk;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, RAWPrinter, Buttons, StrUtils;

type
TForm2 = class(TForm)
Button1: TButton;
BitBtn1: TBitBtn;
Button2: TButton;
procedure cetak(Const line: String);
function FormatString(Const VField, VItem : String; Const VLength : Integer; Const VSpace: Char): String;
procedure Button1Click(Sender: TObject);
procedure BitBtn1Click(Sender: TObject);
function RataTengah(str: String; Lebar: Integer): String;
procedure Button2Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;

var
Form2: TForm2;

implementation

Uses
Winspool, Printers;
{$R *.dfm}
{
posisi.Left := round( (Total_karakter_struk – pj_karakter) / 2);

itu posisi left supaya tetap di tengah

Semoga bermanfaat
}

function TForm2.RataTengah(str: String; Lebar: Integer): String;
var x, y : Integer;
begin
x := Length(str);
y := Lebar – x;
y := x div 2;
result := DupeString(‘ ‘, y) + str;
end;
{
function Rata Tengah(str: String; Lebar: Integer): String;
var x, y : Integer;
begin
x := Length(str);
y := Lebar – x;
y := x div 2;
result := DupeString(‘ ‘, y) + str;
end;
}

function TForm2.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;

Procedure TForm2.cetak(Const line: string);
Var
BytesWritten : DWORD;
hPrinter, DevMod : THandle;
DocInfo : TDocInfo1;
Device, Drv, Port : Array[0..255] of char;
begin
Printer.PrinterIndex := -1;
Printer.GetPrinter(Device, Drv, Port, DevMod);

If Not WinSpool.OpenPrinter(@Device, hPrinter, nil) Then
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 WritePrinter(hPrinter, @line[1], Length(line),BytesWritten) Then
Abort;
Finally
EndPagePrinter(hPrinter);
End;
Finally
Winspool.ClosePrinter(hPrinter);
End;
end;

procedure TForm2.Button1Click(Sender: TObject);
Const Enter = #13+#10;
begin
cetak(FormatString(‘——————–’,”, 40, ‘ ‘));
cetak(”+ENTER);
Cetak(FormatString(‘Jumlah’,’20′+Enter,40,’ ‘));
cetak(‘TEST CETAK LANGSUNG’+ENTER+ENTER+ENTER);

end;

procedure TForm2.BitBtn1Click(Sender: TObject);
Const Enter = #13+#10;
var
f:textfile;
begin
Try
AssignFile(F,’LPT1′);
Rewrite(F);
Writeln(F,#27,#112,#0,#25,#250); // OpenCashdrawer
Write(F, RataTengah(‘NOTA PENJUALAN’+Enter,40));
Write(F, RataTengah(‘TLP : 022-300300′+Enter,40));
Write(F, ‘========================================’+Enter);
Write(F, ”+Enter+Enter);
Write(F, ‘========================================’+Enter);
Write(F, FormatString(‘Jumlah’,’20′+Enter,40,’ ‘));
Write(F, FormatString(‘Jumlah’,’30′+Enter,30,’ ‘));
Write(F, FormatString(‘Jumlah’,’20′+Enter,20,’ ‘));
Write(F, FormatString(‘Jumlah’,’10′+Enter,10,’ ‘));
Write(F, FormatString(”,’X 20′+Enter,40,’ ‘));
Write(F, ‘========================================’+Enter);
Write(F, FormatString(‘                     Total   : ‘,’200.000′+Enter,40,’ ‘));
Write(F, FormatString(‘                     Bayar   : ‘,’10.000′+Enter,40,’ ‘));
Write(F, FormatString(‘                     Kembali : ‘,’50′+Enter+Enter+Enter,40,’ ‘));
Write(F, ‘Barang yang sudah di beli tidak dapat di’+Enter);
Write(F, ‘tukar / dikembaliakan.’+Enter);
Write(F, ‘========================================’+Enter+Enter+Enter+Enter+Enter);

Writeln(F,#27,#74,#10); // Linefeed
//Writeln(F,#29, #86, #66, #2); // untuk memotong kertas
Closefile(F);
Except on E:Exception Do
Begin
//fmessage.Label1.Caption:=’Cek Koneksi Printer Anda..’;
//fmessage.Show;
End;
End;
end;

procedure TForm2.Button2Click(Sender: TObject);
Const Enter = #13+#10;
var
f:textfile;
begin
Try
AssignFile(F,’LPT1′);
Rewrite(F);
// Writeln(F,#27,#112,#0,#25,#250); // OpenCashdrawer
Write(F, RataTengah(‘tukar / dikembaliakan.’,40));
Writeln(F,#27,#74,#10); // Linefeed
//Writeln(F,#29, #86, #66, #2); // untuk memotong kertas
Closefile(F);
Except on E:Exception Do
Begin
//fmessage.Label1.Caption:=’Cek Koneksi Printer Anda..’;
//fmessage.Show;
End;
End;
End;
end.
————-  AKHIR PROGRAM —-

Bermain dengan Printer Menggunakan Delphi

Pada postingan terakhir ini saya ingin mengajak sobat untuk bermain-main dengan printer menggunakan delphi. ada beberapa trik yang akan saya sharing terkait dengan printer diataranya bagaimana menampilkan printer default yang digunakan oleh komputer kita, bagaimana menampilkan list printer apa saja yang ada dikomputer kita, menampilkan job printer serta bagaimana print gambar.

Baik Langsung saja, seperti yang telah saya jelaskan bahwa ini adalah postingan terkhir (mungkin) karena itu jika ada salah-salah kata pada postingan saya atau komentar yang tidak sempat saya balas tolong dimaafkan dan dimaklumi. oke kita kembali ke topik. jadi hasil akhir yang akan kita peroleh nantinya seperti gambar berikut


Karena ada sesuatu dan lain hal jadi saya tidak akan membahas step-stepnya tapi akan langsung saya berikan source codenya. silahkan sobat download disini. selamat mencoba dan happy coding :)

Backup - Restore Database SQL Server Dengan Delphi

Menjawab pertanyaan beberapa teman yang ingin melakukan backup ataupun restore database Sql Server, berikut ada satu buah contoh kecil yang dulu pernah saya buat bersama teman saya "Yafie Kiwul", mudah-mudahan bisa bermanfaat bagi teman-teman delphier .
Langsung ketopik buatlah sebuah form kecil seperti gambar berikut :



kemudian letakkan beberapa komponen yang diperlukan seperti :
- TAdoCommand              ganti name menjadi AdoCom
-TOpenDialog
-TSaveDialog
-TEdit                              ganti menjadi name backedit  ( untuk komponen dimenu backup)
-TEdit                              ganti menjadi name edrestore ( untuk komponen dimenu backup)

Untuk TAdoCommand silahkan isi diconnectionstringnya seperti berikut:

Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=False;User ID=sa;Initial Catalog=master;Data Source=ARJUNA-PC\SQLEXPRESS

Pastikan untuk Initial Catalog mengacu ke master , serta data source disesuaikan dengan komputer masing dalam hal ini penulis mencoba dengan menggunakan Sql server Express 2005 , dan untuk versi dibawahnya penulis sudah mencoba dapat berjalan dengan baik.
selanjuytnya silahkan set property untuk TOpenDialog untuk kolom filter sesuai dengan yang teman-teman inginkan misalnya
Filter = data Backup|*.bak|All Files|*.*
Default = bak

dan untuk TSaveDialog silahkan ubah propertynya
Filter = data Backup|*.bak|All Files|*.*
Default = bak
InitialDir =C:\MyDocument

- di even formcreate ketikkan kode berikut :
  procedure TFutama.FormCreate(Sender: TObject);
  var d,m,y : word; str : String;
  begin
        DecodeDate(now,y,m,d);
        str := inttostr(d)+inttostr(m)+inttostr(y);
        backedit.Text := 'F:\NamaDatabase'+str+'.bak';
  end;

- untuk tombol Browse (di Tab Backup) ketikkan kode seperti berikut :
  procedure TFutama.SpeedButton9Click(Sender: TObject);
  begin
         if savedata.Execute then
         begin
              backedit.Text := savedata.FileName;
        end;
  end;

- untuk tombol Browse (di Tab Restore) ketikkan kode seperti berikut :
   if opendata.Execute then
   begin
           edrestore.Text := opendata.FileName;
   end;


- selanjutnya dalam di tombol Backup tambahkan kode seperti berikut :
  procedure TFutama.SpeedButton7Click(Sender: TObject);
  begin
        with ADOcom do
        begin
              try
                    DeleteFile(trim(backedit.text));
              except
             end;
             try
                      CommandText := '';
                      CommandText := 'sp_dropdevice ''dataku''';
                      Execute;
            except
            end;
            CommandText := '';
            CommandText := 'exec SP_addumpdevice ''disk'',''dataku'','''+ trim(backedit.text) +'''';
            Execute;
            CommandText := '';
            CommandText := 'BACKUP DATABASE NAMA_DATABASE To dataku';
            Execute;
            CommandText := '';
            CommandText := 'sp_dropdevice dataku';
            execute;
   end;
   showmessage('Backup telah selesai!');
end;

- Sedangkan untuk proses restore ditombol restore silahkan ketikkan kode seperti berikut :
  procedure TFutama.SpeedButton7Click(Sender: TObject);
  begin
        with ADOcom do
        begin
               try
                      DeleteFile(trim(backedit.text));
              except
        end;
        try
                   CommandText := '';
                   CommandText := 'sp_dropdevice ''dataku''';
                   Execute;
       except
       end;
       CommandText := '';
       CommandText := 'exec SP_addumpdevice ''disk'',''dataku'','''+ trim(backedit.text) +'''';
       Execute;
       CommandText := '';
       CommandText := 'BACKUP DATABASE NAMADATABASE To dataku';
       Execute;
       CommandText := '';
       CommandText := 'sp_dropdevice dataku';
       execute;
   end;
   showmessage('Backup telah selesai!');
end;

mudah-mudah an contoh aplikasi kecil ini dapat menjadi salah satu referensi para delphier.

Cara Instal FastReport 4 Pada Delphi 7

FastReport merupakan visual komponen librari (VCL) yang digunakan untuk membuat laporan dinamis secara cepat dan efisien. FastReport  menyediakan semua alat yang diperlukan untuk mengembangkan laporan, didalamnya juga terdapat visual report designer, reporting core, dan untuk tampilan preview sebelum dicetak. Selain itu juga dapat menyajikan laporan dalam bentuk grafik.

Cara Instalasi FastReport

 Langkah 1. Copy runtime packages ke dalam System folder

- Tutup terlebih dahulu Delphi Anda
- copy \Lib\fs*.bpl file (* = Versi delphi yang Anda gunakan ) ke Windows\System32
  (Windows\System untuk Windows 95/98/ME)
- copy \Lib\fsDB*.bpl file ke Windows\System32
- copy \Lib\fsBDE*.bpl file ke Windows\System32
- copy \Lib\fsADO*.bpl file ke Windows\System32
- copy \Lib\fsIBX*.bpl file ke Windows\System32
- copy \Lib\fsTee*.bpl file ke Windows\System32
- copy \Lib\frx*.bpl file ke Windows\System32
- copy \Lib\frxDB*.bpl file ke Windows\System32
- copy \Lib\frxBDE*.bpl file ke Windows\System32
- copy \Lib\frxADO*.bpl file ke Windows\System32
- copy \Lib\frxIBX*.bpl file ke Windows\System32
- copy \Lib\frxDBX*.bpl file ke Windows\System32
- copy \Lib\frxTee*.bpl file ke Windows\System32
- copy \Lib\frxe*.bpl file ke Windows\System32

Langkah 2. Install packages

- in the Delphi IDE, pilih "Component|Install Packages..." menu item
- tekan tombol "Add..." dan pilih \Lib\dclfs*.bpl file (* = Versi delphi yang Anda gunakan)
- tekan tombol "Add..." dan pilih \Lib\dclfsDB*.bpl file
- tekan tombol "Add..." dan pilih \Lib\dclfsBDE*.bpl file
- tekan tombol "Add..." dan pilih \Lib\dclfsADO*.bpl file (D5+)
- tekan tombol "Add..." dan pilih \Lib\dclfsIBX*.bpl file (D5+)
- tekan tombol "Add..." dan pilih \Lib\dclfsTee*.bpl file
- tekan tombol "Add..." dan pilih \Lib\dclfrx*.bpl file
- tekan tombol "Add..." dan pilih \Lib\dclfrxDB*.bpl file
- tekan tombol "Add..." dan pilih \Lib\dclfrxBDE*.bpl file
- tekan tombol "Add..." dan pilih \Lib\dclfrxADO*.bpl file (D5+)
- tekan tombol "Add..." dan pilih \Lib\dclfrxIBX*.bpl file (D5+)
- tekan tombol "Add..." dan pilih \Lib\dclfrxDBX*.bpl file (D6+)
- tekan tombol "Add..." dan pilih \Lib\dclfrxTee*.bpl file
- tekan tombol "Add..." dan pilih \Lib\dclfrxe*.bpl file

Langkah 3. Tambah paths kedalam library path

- Pada tampilan Delphi, pilih menu "Tools|Environmet options..."
- klik tab "Library", "Library path" edit box
- tambah path ke folder "FastReport 4\Lib"

 Semoga berhasil :)

Wednesday, March 21, 2018

Installasi AppServ 2.5.10, Konfigurasi Apache Server, dan Konfigurasi PHP.ini

Baik, kali ini kita akan membahas tentang software apa saja yang nantinya akan kita gunakan. Selain itu, penulis juga memberikan langkah-langkah installasi server package software AppServ, untuk menciptakan server lokal beserta paket PHP, MySQL, dan phpMyAdmin di Komputer kita.

Apa itu Server Package Software?
Server Package Software adalah aplikasi yang digunakan untuk menjalankan paket aplikasi Apache Server (localhost), PHP 5, Database MySQL, dan phpMyAdmin untuk manajemen Database MySQL. Jadi dengan adanya aplikasi ini kita tidak perlu lagi menginstall aplikasi-aplikasi diatas satu persatu. Tinggal klik sana sini, beres deh :D

Sekarang saya akan menetapkan bahwa kita akan menggunakan Server Package Software AppServ. Untuk mendownload AppServ, silahkan kunjungi Link berikut:
http://prdownloads.sourceforge.net/appserv/appserv-win32-2.5.10.exe?download

Untuk Versi, silahkan download AppServ versi 2.5.10 dengan spesifikasi sebagai berikut:
1. Apache 2.2.8 2.
2. PHP 5.2.6 3.
3. MySQL 5.0.5.1b
4. phpMyAdmin-2.10.3

Sedangkan untuk sistem operasi, Penulis tetapkan kita akan menggunakan Windows XP atau Windows 7 sebagai latihan. Namun, Jika para pembaca ada yang menggunakan Linux, maka penulis harap tahapan installasi paket-paket pada artikel "Pengertian PHP" Sebelumnya sudah dituntaskan semua.

Apa itu Code Editor PHP? 
Code Editor PHP adalah aplikasi yang digunakan untuk mengetik kode-kode PHP. Bahasa gaulnya itu tempat untuk coding :D

Contoh aplikasi code editor:
Notepad, Notepad++, Netbeans, Dreamweaver, dan masih banyak lagi. Kalian bebas memilih :)


Installasi AppServ 2.5.10
Catatan: cermati setiap langkah yang diberikan supaya paham.

1. Download terlebih dahulu AppServ 2.5.10 nya disini: http://prdownloads.sourceforge.net/appserv/appserv-win32-2.5.10.exe?download

2. Setelah itu anda jalankan dengan melakukan KLIK 2 KALI pada icon installer-nya.

3. Jika sudah, kemudian akan muncul jendela AppServ 2.5.10 Setup, Klik Next untuk melanjutkan

4. Setelah itu akan muncul jendela License Agreement, Klik “I Agree” untuk melanjutkan
5. Kemudian akan muncul lagi jendela pemberitahuan Choose Install Location, biarkan defaultnya berada di C:\AppServ setelah itu Klik Next

6. Selanjutnya, kita tentukan components apa saja yang ingin di install. Check List Semuanya, kemudian klik Next untuk melanjutkan

7. Sekarang kita akan mengisi kotak inputan “Server Name”, “Administrator’s Email Address”, Dan “Apache HTTP Port”. Isilah dengan spesifikasi berikut:
- Server Name = localhost
- Administrator’s Email Address = webmaster@localhost
- Apache HTTP Port = 80

8. Setelah itu, akan muncul jendela MySQL Server Configuration. Pada kotak inputan Enter Root Password & Re-Enter Root Password kita isi dengan password sesuka kita (bebas). Saya asumsikan Passwordnya admin. Lanjut klik Install. *Dilarang protes :))

9. Biarkan proses installasi berjalan apa adanya, dan tunggu hingga selesai

10. Oke, sekarang klik “finish”, hingga muncul Prompt hitam. Sampai disini, kita telah sukses menginstallasi AppServ dikomputer Windows :D

Menjalankan AppServ
Untuk mencoba web server lokal yang baru saja kita install,  Ikuti langkah berikut.
1.Buka Browser anda. (misalnya: Mozilla Firefox)
2.Ketikan http://localhost atau http://127.0.0.1 di address bar

Jika muncul tampilan seperti diatas, berarti web server kita sukses berjalan dengan lancar :D

Konfigurasi Apache Server (httpd.conf)
Langkah selanjutnya jangan di close dulu blog ini =)) karena kita akan mengkonfigurasikan modul mod_rewrite pada file httpd.conf , module mod_rewrite digunakan untuk mengaktifkan URL Friendly anda yang contohnya seperti ini:
http://arjunaguntoro.blogspot.com/berita/1/judika_aku_yang_tersakiti

bedakan jika tidak menggunakan mod_rewrite, maka hasilnya akan seperti ini:
http://arjunaguntoro.blogspot.com/?page=berita&id=1&titleslug=judika_aku_yang_tersakiti

Tentu tidak google friendly banget kan. oleh sebab itu kita harus mengaktifkannya terlebih dahulu. ikuti langkah-langkah dibawah ini pemirsah.

1. Klik Start Menu -> All Programs -> AppServ -> Configuration Server -> Apache the edit httpd.conf

2. Jika sudah, maka akan muncul tampilan file httpd.conf

3. Selanjutnya tekan CTRL+F untuk FIND. Lalu ketikan mod_rewrite

4. Kemudian kita hilangkan tanda pagar # yang ada pada baris: LoadModule rewrite_module modules/mod_rewrite.so

Sebelum:
#LoadModule rewrite_module modules/mod_rewrite.so

Sesudah:
LoadModule rewrite_module modules/mod_rewrite.so

5. Langkah selanjutnya Restart Services Apache anda, dengan cara:
Klik Start Menu -> AppServ -> Control Server by Service -> Apache Restart

6. Terakhir akan muncul tampilan prompt hitam seperti ini.

7. Jika sudah, maka ya sudah =)) tandanya modul mod_rewrite sudah siap digunakan

Konfigurasi PHP.ini (Max Execution Time, dan kawan-kawan)
Sekarang kita akan melakukan konfigurasi pada file PHP.ini, ikuti langkah-langkah berikut:

1. Klik Start Menu -> AppServ -> Configuration Server -> PHP the edit php.ini

2. Lalu akan muncul tampilan suram seperti ini

3. Kemudian tekan CTRL+F untuk FIND. ketikan max

Catatan:
- Cari sampai ketemu bagian Resource Limits
- Kemudian setting seperti gambar dibawah ini. (HARUS SAMA)

4. Setelah diganti, sekarang RESTART Apache anda seperti langkah sebelumnya. (ini dilakukan untuk mencegah terjadinya hal-hal yang tidak di inginkan)

Cara Setting ODBC MySQL

Open Data Base Connectivity (ODBC),  Merupakan driver database standar, salah satunya bisa digunakan dengan MySQL yang dijalankan pada banyak Sistem operasi, Versi sistem operasinya seperti Windows, Linux, Mac OS X, Solaris DLL. Kebetulan saya lagi di windows maka saya coba buat tutorialnya.

Pertama-tama anda download konektornya di disini silahkan pilih versi terbarunya.
https://dev.mysql.com/downloads/connector/odbc/

Lalu install connector mysql tersebut, setelah di install kita buka ODBC Data Source Administartor dengan cara mencarinya via search.

Maka akan tampil seperti dibawah, Nampak MySQL belum ada.

Lalu pilih Add, maka akan muncul dipaling bawah.

Pilih MySQL ODBC [Versinya] Driver.

Catatan, Jika tidak muncul maka anda belum install ODBCnya. Silakan download terlebih dahulu.

Isikan dengan lengkap seperti gambar dibawah ini.

Lalu ditest koneksnya, jika berhasil pilih OK.

Catatan: isi databasenya pada nomer 2 sesuai dengan kebutuhan anda.

Jika berhasil akan Nampak pada user DSN

Selamat mencoba. Nanti kita lanjut jika ada waktu dengan post berikutnya mengenai Koneksi PDO ODBC dengan PHP :)

Happy Coding !!

Tuesday, March 20, 2018

Cara Instal Appserv 2.5.10 di Wndows 7

hehe
untuk kali nhe , sya mw coba share cara instal appserv d windows seven, walau ini info lama , tp mdah2an bsa membantu agan2 ,,,

langkah2 nha yaitu :

  1. download appserv 2.5.10 nya di APPSERVNETWORK
  2. jalankan appserv.exe nya.
  3. pada tampilan form berikut, pada server name isikan dengan "localhost" (tanpa tanda kutip) dan pada administration email address isikan dengan email anda misalnya lawlietsan1302@gmail.com
  4. pada form password , pada enter root password , isikan dengan "root" dan re password , isikan dengan root.
  5. setelah itu , pilih instal...
  6. tunggu hingga finis..
  7. lalu coba anda buka localhost pada web browser..
  8. setelah muncul tampilan, pilih
  9. maka akan muncul form autentikasi, isikan pada username/nama pengguna dengan "root" dan pada password dengan "root"... lalu tekan ok...
  10. ok, dan selesai,, selamat mencoba :)

Cara membuat koneksi dengan MySQL Connector/ODBC

Artikel ini berdasarkan pengalaman saya di kampus yang materi ini tidak masuk dalam slide perkuliahan materi VB II.
Berikut langkah-langkahnya :


  1. Buka Control Panel.
  2. Pilih Administrativ Tools dan klik
  3. Pilih dan klik Data Sources (ODBC)
  4. Tekan tombol Add
  5. Cari, pilih, dan double click MySQL ODBC 5.1 Driver (disesuaikan dengan versi MySQL Connectornya yang terinstall)
  6. Isikan semua data seperti contoh data terlampir kemudian klik tombol test. jika berhasil maka akan ada pesan "Connection successful"

  7. Klik OK sampai selesai.

Tuesday, March 6, 2018

Membuat Aplikasi Chat Sederhana dengan Delphi

Chating merupakan aktivitas yang bisa dikatakan cukup menyenangkan. saat ini sudah banyak yang mendevelop aplikasi chating untuk smartphone semisal WeChat, Line dan Semacamnya Bahkan Saat ini hampir semua Jejaring Sosial sudah ada layanan Chatingnya.

Oke deh. biar basa basinya gak kepanjangan jadi langsung aja saya sharing Source Code Aplikasi Chating yang dibuat dengan Delphi. Silahkan Download disini. Sebagai bahan percobaan sudah saya uji coba di virtualbox dan berjalan lancar. Anda dapat mencobanya pada jaringan peer to peer atau jaringan Local Area Network anda.

Sebagai Tambahan. Aplikasi Sederhana ini bukan saya yang membuat. Murni Hasil Download. tapi saya lupa Download dimana soalnya sudah lumayan lama. Jadi Jangan tanyakan saya masalah codingnya. soalnya saya juga gak tahu. hahaha. Berikut Contoh Screenshoot Ujicobanya.

Gambar dari komputer A:


Gambar dari komputer B (Virtual Box) :

Monday, March 5, 2018

Animasi Tulisan dengan delphi 7

Kali ini tutorial ANimasi Tulisan Berjalan dengan Delphi, dengan bergerak kekiri dan kekanan, kayak mantul gitu.... aplikasi ini menggunakan borland Delphi 7, dengan komponen :

1. TTimer 
2. TLabel 
3. dan TPanel

Aplikasi ini cukup sederhana dengan code program yang sangat simple dan mudah untuk digunakan dalam menambah atau mempercantik tampilan di FORM delphi...
langsung ke TKP aja ya.... 

Pertama :

Buat sebuah form di delphi 
masukan komnen seperti diatas ke dalam form

Seperti screenshot dibawah ini :



isi code Program sperti berikut :

Pada Variable isi dengan

var
  Form1: TForm1;
  a,b: BYTE;

implementation

{$R *.dfm}


Note : tulisan merah adalah Variable untuk menjalankan perintah

Kedua

isi code berikut pada TTimer

procedure TForm1.Timer1Timer(Sender: TObject);
begin
if      Label1.Left > 550 then b:=1
else if Label1.Left < 2   then b:=0;

if b=0 then Label1.Left:=Label1.Left+1
else Label1.Left:=Label1.Left-1;
end;


Ketiga :

RUN > F9 

Hasilnya :




Agar Program Tidak Bisa di Run 2 Kali Delphi

Supaya Program tidak bisa dieksekuisi 2x caranya sangat sederhana
Buka Project.dpr dengan notepad++ atau text editor lainya, atau bisa juga pada project manager pilih view source
maka akan terlihat coding dimana form di create..
pertama tambahkan pada bagian uses WinApi, dan Dialogs (Contoh dibuat menggunakan Delphi XE)
1
2
3
4
5
6
7
8
9
10
program penjualan;
uses
 class="skimlinks-unlinked">Vcl.Forms,
 Winapi.Windows,
 Vcl.Dialogs,
 datamodul in 'datamodul.pas' {DM: TDataModule},
 unitmenu in 'unitmenu.pas' {fmenu},
 unitcustomer in 'unitcustomer.pas' {fcustomer},
. . .
setelah menambahkan code diatas, selanjutnya sisipkan code ini setelah begin, sebelum Application.Initialize;
1
2
3
4
5
6
7
8
9
10
11
12
13
14
. . .
{$R *.res}
begin
 CreateMutex(nil,True,'PROGRAM_NAME');
 if GetLastError = ERROR_ALREADY_EXISTS then
 begin
 MessageDlg('Program Already Running..',mtError,[mbOK],0);
 Halt;
 end;
 Application.Initialize;
 Application.MainFormOnTaskbar := True;
 Application.CreateForm(TDM, DM);
. . .
Pada bagian :  CreateMutex(nil,True,’PROGRAM_NAME’);
Program_name ganti dengan nama program yg kitabuat + extensinya misal :
CreateMutex(nil,True,’Project1.exe’);
kemudian bisa di cek dengan menge-run program 2x, jika berhasil akan tampak seperti gambar