TES

                Never    
library karyawan;

{ Important note about DLL memory management: ShareMem must be the
  first unit in your library's USES clause AND your project's (select
  Project-View Source) USES clause if your DLL exports any procedures or
  functions that pass strings as parameters or function results. This
  applies to all strings passed to and from your DLL--even those that
  are nested in records and classes. ShareMem is the interface unit to
  the BORLNDMM.DLL shared memory manager, which must be deployed along
  with your DLL. To avoid using BORLNDMM.DLL, pass string information
  using PChar or ShortString parameters. }

uses
  SysUtils,
  StdCtrls,
  Controls,
  ComCtrls,
  ZDataSet,
  Dialogs,
  Classes;

{$R *.res}

  procedure simpankaryawan(edNIK_0816, edNama_0816, edAlamat_0816, edTelp_0816, edpokok_0816, edTunjangan_0816, edtotal_0816 : TEdit; cbJK_0816, cbJabatan_0816, cbGolongan_0816 : TComboBox; karyawan_0816:TZQuery);stdcall;
  begin
    try
      if(Trim(edNIK_0816.Text)= '') Then
      begin
        MessageDlg('NIK karyawan_0816 Belum diisi', mtWarning, [mbOK],0);
        edNIK_0816.SetFocus;
      end else
      if(Trim(edNama_0816.Text)= '') Then
      begin
        MessageDlg('Nama Belum diisi', mtWarning, [mbOK],0);
        edNama_0816.SetFocus;
      end else
      if(Trim(edAlamat_0816.Text) = '') Then
      begin
        MessageDlg('Alamat Belum diisi', mtWarning, [mbOK],0);
        edAlamat_0816.SetFocus;
      end else
      if(Trim(edTelp_0816.Text) = '') Then
      begin
        MessageDlg('No Telpon/HP Belum diisi', mtWarning, [mbOK],0);
        edTelp_0816.SetFocus;
      end else
      if(Trim(cbJK_0816.Text) = '-- PILIH DATA --') Then
      begin
        MessageDlg('Jenis Kelamin Belum dipilih', mtWarning, [mbOK],0);
      end else
      if(Trim(cbJabatan_0816.Text) = '-- PILIH DATA --') Then
      begin
        MessageDlg('Jabatan Belum dipilih', mtWarning, [mbOK],0);
      end else
      if(Trim(cbGolongan_0816.Text) = '-- PILIH DATA --') Then
      begin
        MessageDlg('Profesi Belum diisi', mtWarning, [mbOK],0);
      end else
      if(karyawan_0816.Locate('nik', edNIK_0816.Text, [])) then
      begin
        MessageDlg('karyawan_0816 dengan NIK tersebut sudah terdaftar sebelumnya', mtInformation, [mbOK],0);
        edNIK_0816.Text:=karyawan_0816.FieldByName('NIK').AsString;
        edNama_0816.Text:=karyawan_0816.FieldByName('nama').AsString;
        edAlamat_0816.Text:=karyawan_0816.FieldByName('alamat').AsString;
        edTelp_0816.Text:=karyawan_0816.FieldByName('telp').AsString;
        cbJK_0816.Text:=karyawan_0816.FieldByName('jk').AsString;
        cbJabatan_0816.Text:=karyawan_0816.FieldByName('jabatan').AsString;
        cbGolongan_0816.Text:=karyawan_0816.FieldByName('gol').AsString;
        edpokok_0816.Text:=karyawan_0816.FieldByName('gapok').AsString;
        edTunjangan_0816.Text:=karyawan_0816.FieldByName('tunjangan').AsString;
        edtotal_0816.Text:=karyawan_0816.FieldByName('gajitotal').AsString;
      end else
      begin
        karyawan_0816.Append;
        karyawan_0816.FieldByName('nik').AsString:=edNIK_0816.Text;
        karyawan_0816.FieldByName('nama').AsString:=edNama_0816.Text;
        karyawan_0816.FieldByName('alamat').AsString:=edAlamat_0816.Text;
        karyawan_0816.FieldByName('telp').AsString:=edTelp_0816.Text;
        karyawan_0816.FieldByName('jk').AsString:=cbJK_0816.Text;
        karyawan_0816.FieldByName('jabatan').AsString:=cbJabatan_0816.Text;
        karyawan_0816.FieldByName('gol').AsString:=cbGolongan_0816.Text;
        karyawan_0816.FieldByName('gapok').AsString:=edpokok_0816.Text;
        karyawan_0816.FieldByName('tunjangan').AsString:=edTunjangan_0816.Text;
        karyawan_0816.FieldByName('gajitotal').AsString:=edtotal_0816.Text;
        karyawan_0816.Post;
        MessageDlg('Data Berhasil disimpan',mtInformation, [mbOK], 0);
      end;
      except
        on err:Exception do
        MessageDlg(err.Message, mtError, [mbOK],0);
    end;
  end;

  procedure ubahkaryawan(edNIK_0816, edNama_0816, edAlamat_0816, edTelp_0816, edpokok_0816, edTunjangan_0816, edtotal_0816 : TEdit; cbJK_0816, cbJabatan_0816, cbGolongan_0816 : TComboBox; karyawan_0816:TZQuery);stdcall;
  begin
    try
      if (
        (Trim(edNIK_0816.Text)= '') and
        (Trim(edNama_0816.Text)= '')
      ) THEN
      begin
        Beep;
        MessageDlg('Silahkan pilih data terlebih dahulu untuk melakukan proses ubah', mtWarning, [mbOK],0);
      end else
      begin
        if MessageDlg('Anda Yakin Ingin Menghapus Data ?',mtConfirmation,[mbOK,mbCancel],0)=mrOk then
        begin
          with karyawan_0816 do
          begin
            Edit;
            FieldByName('NIK').AsString:=edNIK_0816.Text;
            FieldByName('nama').AsString:=edNama_0816.Text;
            FieldByName('alamat').AsString:=edAlamat_0816.Text;
            FieldByName('telp').AsString:=edTelp_0816.Text;
            FieldByName('jk').AsString:=cbJK_0816.Text;
            FieldByName('jabatan').AsString:=cbJabatan_0816.Text;
            FieldByName('gol').AsString:=cbGolongan_0816.Text;
            FieldByName('gapok').AsString:=edpokok_0816.Text;
            FieldByName('tunjangan').AsString:=edTunjangan_0816.Text;
            FieldByName('gajitotal').AsString:=edtotal_0816.Text;
            Post;
          end;
          MessageDlg('Data Berhasil di Update', mtInformation, [mbOK],0);
        end;
        
      end;
      except
        on err:Exception do
        MessageDlg(err.Message, mtError, [mbOK],0);
    end;
  end;


  procedure hapuskaryawan(edNIK_0816, edNama_0816, edAlamat_0816, edTelp_0816, edpokok_0816, edTunjangan_0816, edtotal_0816 : TEdit; cbJK_0816, cbJabatan_0816, cbGolongan_0816 : TComboBox; karyawan_0816:TZQuery);stdcall;
  begin
    try
      if(
          (Trim(edNIK_0816.Text) = '') and
          (Trim(edNama_0816.Text) = '')
        ) Then
        begin
          Beep;
          MessageDlg('Silahkan pilih data terlebih dahulu untuk melakukan proses ubah', mtWarning, [mbOK],0);
        end else
        begin
          if not karyawan_0816.IsEmpty then
          begin
            if MessageDlg('Anda Yakin Ingin Menghapus Data ?',mtConfirmation,[mbOK,mbCancel],0)=mrOk then
            begin
              karyawan_0816.Delete;
              edNIK_0816.Clear;
              edNama_0816.Clear;
              edAlamat_0816.Clear;
              edTelp_0816.Clear;
              cbJK_0816.Text := '-- PILIH DATA --';
              cbJabatan_0816.Text := '-- PILIH DATA --';
              cbGolongan_0816.Text := '-- PILIH DATA --';
              edpokok_0816.Clear;
              edTunjangan_0816.Clear;
              edtotal_0816.Clear;

              MessageDlg('Data Berhasil di Hapus', mtInformation, [mbOK], 0);
            end else Exit;

          end else Exit;

        end;

      except
        on err:Exception do
        MessageDlg(err.Message, mtWarning, [mbOK],0);
    end;
  end;

  exports
  simpankaryawan, ubahkaryawan, hapuskaryawan;
  
begin
end.

Raw Text