Tampilkan postingan dengan label Tips dan Trik Delphi. Tampilkan semua postingan
Tampilkan postingan dengan label Tips dan Trik Delphi. Tampilkan semua postingan

Cara Menggunakan TADOQuery di Delphi


Cara Menggunakan TADOQuery di Delphi - Pada posting sebelumnya tentang Membuat Koneksi ke Database Access dengan ADO telah dibahas penggunaan ADOConnection untuk mengkoneksikan aplikasi yang dibuat dengan Delphi dengan database Microsoft Access. Pada aplikasi yang dibuat digunakan TADOTable untuk mengakses tabel pada database yang dibuat.

Pada kesempatan ini akan dibahas cara pengguaan TADOQuery, dengan fungsi yang sama dengan TADOTable tentunya bisa dijadikan pilihan dalam mengakses tabel-tabel yang ada di database.
Sama dengan aplikasi yang dibuat sebelumnya jadi cukup mengedit beberapa bagian saja, namun pada aplikasi ini digunakan TADOQuery (jika masih bingung silahkan baca Membuat Koneksi ke Database Access dengan ADO). Jika sebelumnya ditempatkan TADOTable maka untuk aplikasi sekarang ganti dengan menempatkan TADOQuery pada Form (Hapus TADOTable pada aplikasi sebelumnya)
  • Ubah isi pada event OnCreate dari Form menjadi seperti berikut,
           procedure TForm1.FormCreate(Sender: TObject);
           var
             linkdb : string;
           begin
             BitBtn1.Caption := 'Tampilkan Data';
             FolderWindows := GetWinDir;
             ADOConnection1.LoginPrompt := False;
          
             //koneksikan ke database access database1.mdb
             linkdb := FolderWindows+ '\Database1.mdb';
             with ADOConnection1 do begin
               Connected := False;
               LoginPrompt := False;
               Mode := cmShareDenyNone;
               ConnectionString := 'Provider=Microsoft.Jet.OLEDB.4.0;User ID=Admin;'+
                 'Data Source='+linkdb+';Mode=Share Deny None;Extended Properties="";'+
                 'Jet OLEDB:System database="";Jet OLEDB:Registry Path="";'+
                 'Jet OLEDB:Database Password="";Jet OLEDB:Engine Type=5;'+
                 'Jet OLEDB:Database Locking Mode=1;Jet OLEDB:Global Partial Bulk Ops=2;'+
                 'Jet OLEDB:Global Bulk Transactions=1;Jet OLEDB:New Database Password="";'+
                 'Jet OLEDB:Create System Database=False;Jet OLEDB:Encrypt Database=False;'+
                 'Jet OLEDB:Don''t Copy Locale on Compact=False;Jet OLEDB:Compact Without Replica Repair=False;'+
                 'Jet OLEDB:SFP=False';
             end;
             try
               ADOConnection1.Connected := True;
             except
               on e:Exception do begin
                 MessageDlg('Gagal mengakses database' +#13+#10+
                    'Detail : ' +e.Message,mtWarning,[mbOK],0);
               end;
             end;
           end;
  • Kemudian ubah pada event OnClick dari TBitBtn1 menjadi seperti berikut,
           procedure TForm1.BitBtn1Click(Sender: TObject);
           begin
             ADOQuery1.Connection := ADOConnection1;
             try
               ADOQuery1.SQL.Text := 'select * from DaftarNama';
               ADOQuery1.Open;
             except
               on e:eDatabaseError do begin
                 MessageDlg('Gagal menampilkan data' +#13+#10+
                   'Detail : ' +e.Message,mtWarning,[mbOK],0);
                 exit;
               end;
             end;
             DataSource1.DataSet := ADOQuery1;
             DBGrid1.DataSource := DataSource1;
           end;



Berikut script lengkapnya,

unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, TeEngine, Series, ExtCtrls, TeeProcs, Chart, DbChart,
  DB, DBTables, FileCtrl, Buttons, jpeg, ADODB, Grids, DBGrids, DBCtrls;

type
  TForm1 = class(TForm)
    ADOConnection1: TADOConnection;
    DataSource1: TDataSource;
    DBGrid1: TDBGrid;
    BitBtn1: TBitBtn;
    ADOQuery1: TADOQuery;
    procedure FormCreate(Sender: TObject);
    procedure BitBtn1Click(Sender: TObject);
  private
    { Private declarations }
    FolderWindows : string;
    function GetWinDir: string;
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

function TForm1.GetWinDir: string;
var
  dir: array [0..MAX_PATH] of Char;
begin
  GetWindowsDirectory(dir, MAX_PATH);
  Result := StrPas(dir);
end;


procedure TForm1.FormCreate(Sender: TObject);
var
  linkdb : string;
begin
  BitBtn1.Caption := 'Tampilkan Data';
  FolderWindows := GetWinDir;
  ADOConnection1.LoginPrompt := False;

  //koneksikan ke database access database1.mdb
  linkdb := FolderWindows+ '\Database1.mdb';
  with ADOConnection1 do begin
    Connected := False;
    LoginPrompt := False;
    Mode := cmShareDenyNone;
    ConnectionString := 'Provider=Microsoft.Jet.OLEDB.4.0;User ID=Admin;'+
      'Data Source='+linkdb+';Mode=Share Deny None;Extended Properties="";'+
      'Jet OLEDB:System database="";Jet OLEDB:Registry Path="";'+
      'Jet OLEDB:Database Password="";Jet OLEDB:Engine Type=5;'+
      'Jet OLEDB:Database Locking Mode=1;Jet OLEDB:Global Partial Bulk Ops=2;'+
      'Jet OLEDB:Global Bulk Transactions=1;Jet OLEDB:New Database Password="";'+
      'Jet OLEDB:Create System Database=False;Jet OLEDB:Encrypt Database=False;'+
      'Jet OLEDB:Don''t Copy Locale on Compact=False;Jet OLEDB:Compact Without Replica Repair=False;'+
      'Jet OLEDB:SFP=False';
  end;
  try
    ADOConnection1.Connected := True;
  except
    on e:Exception do begin
      MessageDlg('Gagal mengakses database' +#13+#10+
         'Detail : ' +e.Message,mtWarning,[mbOK],0);
    end;
  end;
end;

procedure TForm1.BitBtn1Click(Sender: TObject);
begin
  ADOQuery1.Connection := ADOConnection1;
  try
    ADOQuery1.SQL.Text := 'select * from DaftarNama';
    ADOQuery1.Open;
  except
    on e:eDatabaseError do begin
      MessageDlg('Gagal menampilkan data' +#13+#10+
        'Detail : ' +e.Message,mtWarning,[mbOK],0);
      exit;
    end;
  end;
  DataSource1.DataSet := ADOQuery1;
  DBGrid1.DataSource := DataSource1;
end;

end.

Perlu source-nya, silahkan download pada link di bawah ini :
Cara Menggunakan TADOQuery di Delphi


Ketentuan :
Teman-teman boleh menyebarkan tulisan ini dengan mencantumkan link berikut :
sumber : http://andsc.blogspot.com

<<<< Terima kasih >>>>


Baca selanjutnya

Membuat Koneksi ke Database Access dengan ADO di Delphi 7


Membuat Koneksi ke Database Access dengan ADO di Delphi 7 - Untuk keperluan administrasi data baik bersifat lokal ataupun client to client tentunya diperlukan cara untuk mengkoneksikannya ke sumber data dari aplikasi yang kita buat.

Ada banyak aplikasi database baik yang bersifat free ataupun berbayar, salah satu yang familiar yaitu bawaan Microsoft Office yaitu Microsoft Access.

Pada postingan kali ini admin coba untuk menjelaskan satu cara untuk mengkoneksikan aplikasi dengan Delphi ke Database Access dengan ADO. Untuk lebih jelasnya dibuat sebuah aplikasi dengan Delphi 7 seperti berikut ini,
Namun sebelumnya buat dulu sebuah Database dengan Microsoft Access, dengan ketentuan seperti berikut :
  • Buat database dengan nama database1.mdb
  • Buat table dengan nama DaftarNama, field-field dan isinya silahkan tentukan sendiri.
  •  Tempatkan database1.mdb di folder WINDOWS, contoh di C:\WINDOWS
Sekarang langsung kita buat aplikasinya di delphi,
  • Pertama tempatkan TBitBtn, TDBGrid, TADOConnection, TADOTable dan TDataSource pada Form.
  • Deklarasikan pada private seperti berikut,
          private
               { Private declarations }
               FolderWindows : string;
               function GetWinDir: string;
  • Buat sebuah function seperti berikut,
          function TForm1.GetWinDir: string;
          var
            dir: array [0..MAX_PATH] of Char;
          begin
             GetWindowsDirectory(dir, MAX_PATH);
             Result := StrPas(dir);
          end;
  • Tambahkan script pada event OnCreate dari form sperti berikut ini,
          procedure TForm1.FormCreate(Sender: TObject);
          var
            linkdb : string;
          begin
            BitBtn1.Caption := 'Tampilkan Data';
            FolderWindows := GetWinDir;
            ADOConnection1.LoginPrompt := False;
            ADOTable1.TableName := 'DaftarNama';
      
            //koneksikan ke database access database1.mdb
            linkdb := FolderWindows+ '\Database1.mdb';
            with ADOConnection1 do begin
              Connected := False;
              LoginPrompt := False;
              Mode := cmShareDenyNone;
              ConnectionString := 'Provider=Microsoft.Jet.OLEDB.4.0;User ID=Admin;'+
                'Data Source='+linkdb+';Mode=Share Deny None;Extended Properties="";'+
                'Jet OLEDB:System database="";Jet OLEDB:Registry Path="";'+
                'Jet OLEDB:Database Password="";Jet OLEDB:Engine Type=5;'+
                'Jet OLEDB:Database Locking Mode=1;Jet OLEDB:Global Partial Bulk Ops=2;'+
                'Jet OLEDB:Global Bulk Transactions=1;Jet OLEDB:New Database Password="";'+
                'Jet OLEDB:Create System Database=False;Jet OLEDB:Encrypt Database=False;'+
                'Jet OLEDB:Don''t Copy Locale on Compact=False;Jet OLEDB:Compact Without Replica Repair=False;'+
                'Jet OLEDB:SFP=False';
            end;
            try
              ADOConnection1.Connected := True;
              ADOTable1.Connection:= ADOConnection1;
              ADOTable1.Active := True;
            except
              on e:Exception do begin
                MessageDlg('Gagal mengakses database' +#13+#10+
                   'Detail : ' +e.Message,mtWarning,[mbOK],0);
              end;
            end;
          end;
  • Tambahkan pada event OnClick dari BitBtn1 seperti berikut ini,
          procedure TForm1.BitBtn1Click(Sender: TObject);
          begin
             //Menampilkan data dari ADOTable1
             DataSource1.DataSet := ADOTable1;
             DBGrid1.DataSource := DataSource1;
          end;



Berikut Script lengkapnya,

unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, TeEngine, Series, ExtCtrls, TeeProcs, Chart, DbChart,
  DB, DBTables, FileCtrl, Buttons, jpeg, ADODB, Grids, DBGrids, DBCtrls;

type
  TForm1 = class(TForm)
    ADOConnection1: TADOConnection;
    ADOTable1: TADOTable;
    DataSource1: TDataSource;
    DBGrid1: TDBGrid;
    BitBtn1: TBitBtn;
    procedure FormCreate(Sender: TObject);
    procedure BitBtn1Click(Sender: TObject);
  private
    { Private declarations }
    FolderWindows : string;
    function GetWinDir: string;
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

function TForm1.GetWinDir: string;
var
  dir: array [0..MAX_PATH] of Char;
begin
  GetWindowsDirectory(dir, MAX_PATH);
  Result := StrPas(dir);
end;


procedure TForm1.FormCreate(Sender: TObject);
var
  linkdb : string;
begin
  BitBtn1.Caption := 'Tampilkan Data';
  FolderWindows := GetWinDir;
  ADOConnection1.LoginPrompt := False;
  ADOTable1.TableName := 'DaftarNama';

  //koneksikan ke database access database1.mdb
  linkdb := FolderWindows+ '\Database1.mdb';
  with ADOConnection1 do begin
    Connected := False;
    LoginPrompt := False;
    Mode := cmShareDenyNone;
    ConnectionString := 'Provider=Microsoft.Jet.OLEDB.4.0;User ID=Admin;'+
      'Data Source='+linkdb+';Mode=Share Deny None;Extended Properties="";'+
      'Jet OLEDB:System database="";Jet OLEDB:Registry Path="";'+
      'Jet OLEDB:Database Password="";Jet OLEDB:Engine Type=5;'+
      'Jet OLEDB:Database Locking Mode=1;Jet OLEDB:Global Partial Bulk Ops=2;'+
      'Jet OLEDB:Global Bulk Transactions=1;Jet OLEDB:New Database Password="";'+
      'Jet OLEDB:Create System Database=False;Jet OLEDB:Encrypt Database=False;'+
      'Jet OLEDB:Don''t Copy Locale on Compact=False;Jet OLEDB:Compact Without Replica Repair=False;'+
      'Jet OLEDB:SFP=False';
  end;
  try
    ADOConnection1.Connected := True;
    ADOTable1.Connection:= ADOConnection1;
    ADOTable1.Active := True;
  except
    on e:Exception do begin
      MessageDlg('Gagal mengakses database' +#13+#10+
         'Detail : ' +e.Message,mtWarning,[mbOK],0);
    end;
  end;
end;

procedure TForm1.BitBtn1Click(Sender: TObject);
begin
  //Menampilkan data dari ADOTable1
  DataSource1.DataSet := ADOTable1;
  DBGrid1.DataSource := DataSource1;
end;

end.

Tidak mau repot silahkan download source lengkapnya di link di bawah ini :
Membuat Koneksi ke Database Access dengan ADO di Delphi 7

Ketentuan :
Teman-teman boleh menyebarkan tulisan ini dengan mencantumkan link berikut :
sumber : http://andsc.blogspot.com

<<<< Terima kasih >>>>
Baca selanjutnya

Mendapatkan Path Drive dan Folder Windows dengan Delphi


Mendapatkan Path Drive dan Folder Windows dengan Delphi - Pada saat membuat aplikasi dengan Delphi kadang perlu mendeklarasikan path drive maupun path folder windows dari komputer yang akan diinstal aplikasi yang dibuat. Berikut dijelaskan dengan contoh aplikasi berikut ini,
  • Pertama tempatkan beberapa komponen pada Form seperti berikut,

  • Deklarasikan function pada private,
          private
              { Private declarations }
              function GetSystemDrive: string;
              function GetWinDir: string;
  • Buat Function seperti berikut,
          function TForm1.GetSystemDrive: string;
          begin
             SetLength(Result, MAX_PATH);
             if GetWindowsDirectory(PChar(Result), MAX_PATH) > 0 then begin
               SetLength(Result, StrLen(PChar(Result)));
               Result := ExtractFileDrive(Result);
             end else
               RaiseLastOSError;
          end;

          function TForm1.GetWinDir: string;
          var
             dir: array [0..MAX_PATH] of Char;
          begin
            GetWindowsDirectory(dir, MAX_PATH);
            Result := StrPas(dir);
          end;
  • Tambahkan pada event OnCreate dari Form1,
          procedure TForm1.FormCreate(Sender: TObject);
          begin
            Label1.Caption := 'Path Drive Windows';
            Label2.Caption := 'Path Folder Windows';
            Label3.Caption := GetSystemDrive;
            Label4.Caption := GetWinDir;
          end;


Berikut full scriptnya,

unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, TeEngine, Series, ExtCtrls, TeeProcs, Chart, DbChart,
  DB, DBTables, FileCtrl, Buttons, jpeg;

type
  TForm1 = class(TForm)
    Label1: TLabel;
    Label2: TLabel;
    Label3: TLabel;
    Label4: TLabel;
    procedure FormCreate(Sender: TObject);
  private
    { Private declarations }
    function GetSystemDrive: string;
    function GetWinDir: string;
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}
function TForm1.GetSystemDrive: string;
begin
  SetLength(Result, MAX_PATH);
  if GetWindowsDirectory(PChar(Result), MAX_PATH) > 0 then begin
    SetLength(Result, StrLen(PChar(Result)));
    Result := ExtractFileDrive(Result);
  end else
    RaiseLastOSError;
end;

function TForm1.GetWinDir: string;
var
  dir: array [0..MAX_PATH] of Char;
begin
  GetWindowsDirectory(dir, MAX_PATH);
  Result := StrPas(dir);
end;


procedure TForm1.FormCreate(Sender: TObject);
begin
  Label1.Caption := 'Path Drive Windows';
  Label2.Caption := 'Path Folder Windows';
  Label3.Caption := GetSystemDrive;
  Label4.Caption := GetWinDir;
end;

end.


Ketentuan :
Teman-teman boleh menyebarkan tulisan ini dengan mencantumkan link berikut :
sumber : http://andsc.blogspot.com

<<<< Terima kasih >>>>

Baca selanjutnya

Contoh Menggunakan TSplitter di Delphi 7


Contoh Menggunakan TSplitter di Delphi 7 - TSplitter di Delphi berguna untuk membuat ukuran komponen bisa diubah-ubah ukurannya secara manual, seperti pemisah antara dua komponen dan bisa digeser-geser sesuai kebutuhan. Untuk lebih jelasnya bisa dilihat seperti contoh berikut ini.

  • Pertama buat sebuah form dan tempatkan sebuah TDirectoryListBox, sebuah TSplitter dan sebuah TFileListBox seperti gambar berikut
  • Kemudian tambahkan script pada event OnCreate dari Form1 seperti berikut,
          procedure TForm1.FormCreate(Sender: TObject);
          begin
             DirectoryListBox1.Parent := Form1;
             DirectoryListBox1.Align := alLeft;
             Splitter1.Parent := Form1;
             Splitter1.Align := alLeft;
             FileListBox1.Parent := Form1;
             FileListBox1.Align := alClient;
             DirectoryListBox1.FileList := FileListBox1;
           end;








Berikut script lengkapnya :

unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, TeEngine, Series, ExtCtrls, TeeProcs, Chart, DbChart,
  DB, DBTables, FileCtrl, Buttons, jpeg;

type
  TForm1 = class(TForm)
    FileListBox1: TFileListBox;
    DirectoryListBox1: TDirectoryListBox;
    Splitter1: TSplitter;
    procedure FormCreate(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.FormCreate(Sender: TObject);
begin
  DirectoryListBox1.Parent := Form1;
  DirectoryListBox1.Align := alLeft;
  Splitter1.Parent := Form1;
  Splitter1.Align := alLeft;
  FileListBox1.Parent := Form1;
  FileListBox1.Align := alClient;
  DirectoryListBox1.FileList := FileListBox1;
end;

end.


Ketentuan :
Teman-teman boleh menyebarkan tulisan ini dengan mencantumkan link berikut :
sumber : http://andsc.blogspot.com

<<<< Terima kasih >>>>
Baca selanjutnya

Membuat Enkripsi Data dengan Delphi 7


Membuat Enkripsi Data dengan Delphi 7 - Pada saat mengirim dan menerima data, terutama dalam dunia maya tentunya diperlukan pengamanan terhadap data yang dikirim. Apalagi data yang dikirim merupakan data yang penting dan tidak boleh dilihat sembarang orang. Salah satu pengamanannya bisa menggunakan teknik enkripsi.
Berikut salah satu model enkripsi data, seperti contoh aplikasi berikut ini :
  • Pertama buat form seperti berikut :
  • Deklarasikan function pada private :
          private
              { Private declarations }
              function Encrypt(t: string): string;

  • Buat function seperti berikut :
          function TForm1.Encrypt(t: string): string;
          var i : integer;
          begin
             for i:=1 to length(trim(t)) do begin
               t[i] :=  chr(ord(t[i]) xor  2 ) ;
             end;
             result := t;
          end;
  • Pada action OnClick dari Button1(Encrypt) isi dengan script berikut :
          procedure TForm1.Button1Click(Sender: TObject);
          begin
             Memo2.Text := Encrypt(Memo1.Text);
          end;

Berikut full script-nya :

unit Unit1;

interface

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

type
  TForm1 = class(TForm)
    Button1: TButton;
    Memo1: TMemo;
    Memo2: TMemo;
    Label1: TLabel;
    Label2: TLabel;
    procedure Button1Click(Sender: TObject);
    procedure FormCreate(Sender: TObject);
  private
    { Private declarations }
    function Encrypt(t: string): string;
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

function TForm1.Encrypt(t: string): string;
var i : integer;
begin
    for i:=1 to length(trim(t)) do begin
          t[i] :=  chr(ord(t[i]) xor  2 ) ;
    end;
    result := t;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
  Memo2.Text := Encrypt(Memo1.Text);
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
  Memo1.Text := '';
  Memo2.Text := '';
end;

end.

Ketentuan :
Teman-teman boleh menyebarkan tulisan ini dengan mencantumkan link berikut :
sumber : http://andsc.blogspot.com

<<<< Terima kasih >>>>
Baca selanjutnya

Membuat Format Uang di Delphi 3


Melanjutkan tutorial sebelumnya (Membuat Format Uang di Delphi 2), selanjutnya untuk membuat aplikasi menjadi user friendly
perlu ditambahkan fitur-fitur tambahan, diantaranya :
- pada inputan nilai uang hanya bisa diisikan angka saja
- menangani error pada saat akan mengedit inputan nilai uang
- dan lain-lainnya
Kembali pada contoh aplikasi yang dibuat sebelumya,


berikut form yang dibuat :


- Pada Event OnCreate Form1, tambahkan kode menjadi seperti berikut
  procedure TForm1.FormCreate(Sender: TObject);
  begin
    Edit1.Text := '';
    Edit2.Text := '';
    Edit3.Text := '';
  end;

- Untuk membuat inputan nilai mata uang hanya bisa diisi oleh angka saja, tambahkan pada Event OnKeyPress pada Edit1 :
  procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
  begin
    if (Key in ['0'..'9','-',^C,^V]) or (Key=#9) or (Key=#13) or (Key=#08) then
      else Key := #0;
    if Key=#13 then
      Edit2.SetFocus;
  end;
 
  dan pada Edit2 :
  procedure TForm1.Edit2KeyPress(Sender: TObject; var Key: Char);
  begin
    if (Key in ['0'..'9','-',^C,^V]) or (Key=#9) or (Key=#13) or (Key=#08) then
      else Key := #0;
    if Key=#13 then
      BitBtn1.SetFocus;
  end;
 
- Butlah sebuah function untuk mengembalikan nilai menjadi nilai inputan
  function TForm1.ReplaceBlank(StrText:string):string;
  begin
    ReplaceBlank := AnsiReplaceStr(StrText,',','');
  end;
 
  definisikan function tersebut pada private,
    private
    { Private declarations }
    NilaiUang1, NilaiUang2, Jumlah : real;
    function ReplaceBlank(StrText:string):string;
 
  dan tambahkan StrUtils pada uses.
 
- Pada event OnExit dari Edit1 dan Edit 2 ubah menjadi seperti berikut
  Edit1 :
  procedure TForm1.Edit1Exit(Sender: TObject);
  begin
    if Edit1.Text = '' then
    else
      begin
        NilaiUang1 := StrToFloat(ReplaceBlank(Edit1.Text));
        Edit1.Text := Format('%.n',[StrToFloat(ReplaceBlank(Edit1.Text))]);
      end;
  end;
 
  dan pada Edit1:
  procedure TForm1.Edit2Exit(Sender: TObject);
  begin
    if Edit2.Text = '' then
    else
      begin
        NilaiUang2 := StrToFloat(ReplaceBlank(Edit2.Text));
        Edit2.Text := Format('%.n',[StrToFloat(ReplaceBlank(Edit2.Text))]);
      end;
  end;
 

Berikut keseluruhan kodenya :
unit Unit1;

interface

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

type
  TForm1 = class(TForm)
    Edit1: TEdit;
    Edit2: TEdit;
    Label1: TLabel;
    Label2: TLabel;
    Label3: TLabel;
    Edit3: TEdit;
    Bevel1: TBevel;
    Bevel2: TBevel;
    BitBtn1: TBitBtn;
    Bevel3: TBevel;
    procedure Edit1Exit(Sender: TObject);
    procedure Edit1KeyPress(Sender: TObject; var Key: Char);
    procedure Edit2Exit(Sender: TObject);
    procedure Edit2KeyPress(Sender: TObject; var Key: Char);
    procedure BitBtn1Click(Sender: TObject);
    procedure FormCreate(Sender: TObject);
  private
    { Private declarations }
    NilaiUang1, NilaiUang2, Jumlah : real;
    function ReplaceBlank(StrText:string):string;
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

function TForm1.ReplaceBlank(StrText:string):string;
begin
  ReplaceBlank := AnsiReplaceStr(StrText,',','');
end;

procedure TForm1.Edit1Exit(Sender: TObject);
begin
  if Edit1.Text = '' then
  else
   begin
     NilaiUang1 := StrToFloat(ReplaceBlank(Edit1.Text));
     Edit1.Text := Format('%.n',[StrToFloat(ReplaceBlank(Edit1.Text))]);
   end;
end;

procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
  if (Key in ['0'..'9','-',^C,^V]) or (Key=#9) or (Key=#13) or (Key=#08) then
    else Key := #0;
  if Key=#13 then
    Edit2.SetFocus;
end;

procedure TForm1.Edit2Exit(Sender: TObject);
begin
  if Edit2.Text = '' then
  else
   begin
     NilaiUang2 := StrToFloat(ReplaceBlank(Edit2.Text));
     Edit2.Text := Format('%.n',[StrToFloat(ReplaceBlank(Edit2.Text))]);
   end;
end;

procedure TForm1.Edit2KeyPress(Sender: TObject; var Key: Char);
begin
  if (Key in ['0'..'9','-',^C,^V]) or (Key=#9) or (Key=#13) or (Key=#08) then
    else Key := #0;
  if Key=#13 then
    BitBtn1.SetFocus;
end;

procedure TForm1.BitBtn1Click(Sender: TObject);
begin
  Jumlah := NilaiUang1 + NilaiUang2;
  Edit3.Text := Format('%.n',[Jumlah]);
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
  Edit1.Text := '';
  Edit2.Text := '';
  Edit3.Text := '';
end;

end.

Source kode bisa di download pada link di bawah ini :
Membuat Format Uang di Delphi 3

Ketentuan :
Teman-teman boleh menyebarkan tulisan ini dengan mencantumkan link berikut :
sumber : http://andsc.blogspot.com

<<<< Terima kasih >>>>
 
Baca selanjutnya

Membuat Format Uang di Delphi 2


Untuk selanjutnya setelah dibuatkan format uang seperti pada tutorial sebelumnya (Membuat Format Uang di Delphi), tentunya akan ada kendala jika akan menggunakan nilai dari TEdit yang sudah berformat uang.
Berikut saya uraikan cara untuk mengatasi hal tersebut :
Saya buatkan contoh kasus aplikasi untuk menjumlahkan dua buah nilai sperti berikut


- Pertama buat form seperti berikut,

- Tambahkan variabel pada private,
  private
    { Private declarations }
    NilaiUang1, NilaiUang2, Jumlah : real;
- Isi kode pada Event OnExit TEdit1 seperti berikut,
  procedure TForm1.Edit1Exit(Sender: TObject);
  begin
  if Edit1.Text = '' then
  else
   begin
     NilaiUang1 := StrToFloat(Edit1.Text);
     Edit1.Text := Format('%.n',[StrToFloat(Edit1.Text)]);
   end; 
  end;
- Isi kode pada Event OnKeyPress TEdit1 seperti berikut,
  procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
  begin
    if Key=#13 then
      Edit2.SetFocus;
  end;
 
- Isi kode pada Event OnExit TEdit2 seperti berikut,
  procedure TForm1.Edit2Exit(Sender: TObject);
  begin
    if Edit2.Text = '' then
    else
      begin
       NilaiUang2 := StrToFloat(Edit2.Text);
       Edit2.Text := Format('%.n',[StrToFloat(Edit2.Text)]);
     end;
  end;
- Isi kode pada Event OnKeyPress TEdit1 seperti berikut,
  procedure TForm1.Edit2KeyPress(Sender: TObject; var Key: Char);
  begin
    if Key=#13 then
      BitBtn1.SetFocus;
  end;
- Isi kode pada Event OnClick BitBtn1 seperti berikut,
  procedure TForm1.BitBtn1Click(Sender: TObject);
  begin
    Jumlah := NilaiUang1 + NilaiUang2;
    Edit3.Text := Format('%.n',[Jumlah]);
  end;

Pada saat Event OnExit, dari TEdit1 akan diambil NilaiUang1 dan dari TEdit2 diambil NilaiUang2 yang bertipe real/float, ini dilakukan sebelum nilai dikonversi menjadi format uang. Sehingga nilai yang terekam pada NilaiUang1 dan NilaiUang2 merupakan nilai pada saat input dilakukan.

Keseluruhan kode bisa dilihat seperti berikut :

unit Unit1;

interface

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

type
  TForm1 = class(TForm)
    Edit1: TEdit;
    Edit2: TEdit;
    Label1: TLabel;
    Label2: TLabel;
    Label3: TLabel;
    Edit3: TEdit;
    Bevel1: TBevel;
    Bevel2: TBevel;
    BitBtn1: TBitBtn;
    procedure Edit1Exit(Sender: TObject);
    procedure Edit1KeyPress(Sender: TObject; var Key: Char);
    procedure Edit2Exit(Sender: TObject);
    procedure Edit2KeyPress(Sender: TObject; var Key: Char);
    procedure BitBtn1Click(Sender: TObject);
  private
    { Private declarations }
    NilaiUang1, NilaiUang2, Jumlah : real;
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Edit1Exit(Sender: TObject);
begin
  if Edit1.Text = '' then
  else
   begin
     NilaiUang1 := StrToFloat(Edit1.Text);
     Edit1.Text := Format('%.n',[StrToFloat(Edit1.Text)]);
   end; 
end;

procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
  if Key=#13 then
    Edit2.SetFocus;
end;

procedure TForm1.Edit2Exit(Sender: TObject);
begin
  if Edit2.Text = '' then
  else
   begin
     NilaiUang2 := StrToFloat(Edit2.Text);
     Edit2.Text := Format('%.n',[StrToFloat(Edit2.Text)]);
   end;
end;

procedure TForm1.Edit2KeyPress(Sender: TObject; var Key: Char);
begin
  if Key=#13 then
    BitBtn1.SetFocus;
end;

procedure TForm1.BitBtn1Click(Sender: TObject);
begin
  Jumlah := NilaiUang1 + NilaiUang2;
  Edit3.Text := Format('%.n',[Jumlah]);
end;

end.

Tidak ingin repot, silahkan download source-nya di link download di bawah ini
Membuat Format Uang di Delphi 2

Ketentuan :
Teman-teman boleh menyebarkan tulisan ini dengan mencantumkan link berikut :
sumber : http://andsc.blogspot.com

<<<< Terima kasih >>>>
Baca selanjutnya

Membuat Format Uang di Delphi



Ada cara sederhana untuk membuat format uang di delphi, bisa disisipkan pada Event onExit dari komponen TEdit atau dibuatkan procedure jika menggunakannya berulang-ulang. Berikut contoh membuat format uang pada saat Event onExit,
- Buat Form seperti berikut :
 

- Pada Event OnExit dari TEdit1 masukkan kode berikut :
  procedure TForm1.Edit1Exit(Sender: TObject);
  begin
    if Edit1.Text = '' then
      else Edit1.Text := Format('%.n',[StrToFloat(Edit1.Text)]);
  end;
- Kemudian pada Event OnKyPress dari TEdit1 masukkan kode berikut :
  procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
  begin
    if Key=#13 then
    Edit2.SetFocus;
  end;
  Kode ini berfungsi ketika menekan tombol Enter, maka kursor akan berpindah ke TEdit2.
 
- Ketika di Run dan dicoba, maka hasilnya akan seperti berikut

 
  Isi isian yang paling atas dengan angka (missal 1000000), kemudian pijit Enter.


Ketentuan :
Teman-teman boleh menyebarkan tulisan ini dengan mencantumkan link berikut :
sumber : http://andsc.blogspot.com
------ Terima kasih -----
Baca selanjutnya

Tentang Saya

Pengunjung