.: NeVeR GivE uP :.

17-Maret-2008

broken heart

Diarsipkan di bawah: myDiarys — cyberheck @ 22:32

masih sanggup untuk ku tahankan
meski telah kau lumatkan hati ini
kau sayat luka baru, diatas duka lama
coba bayangkan betapa sakitnya

(lagi…)

9-Maret-2008

store procedure MS SQL

Diarsipkan di bawah: MS SQL Server — Tag:, , — cyberheck @ 33:28

saat ini diriku bener-bener disibukkan mindahin data penduduk dari server simduk ke server siak. sial.. pekerjaan yang paling ku benci sekali.

cerita nya begini, untuk membantu dinas kependudukan dalam mendata penduduk, saya membuat kan sebuah program sederhana untuk mengentrinya, karena data tersebut belum digunakan untuk data penduduk yang fix (sudah benar) melainkan hanya sebagai pendataan calon pemilih pada pemilu gubernur.

(lagi…)

5-Maret-2008

popup on cursor

Diarsipkan di bawah: myDelphi's — cyberheck @ 22:42
procedure TFEnTarikBarang.actCariExecute(Sender: TObject);
var
  CurPos: TPoint;
begin
  inherited;
  GetCursorPos(CurPos);
  pop1.Popup(CurPos.x, CurPos.y);
end;

berfungsi untuk menampilkan popup menu pada posisi kursor. jadi kita bisa membuat tombol, apabila ditekan akan menampilkan popup menu. :D

4-Maret-2008

Record Status (Open Batch)

Diarsipkan di bawah: myDelphi's — cyberheck @ 1111:58
procedure TFEnPlgnAktif.aqGunaBrgCalcFields(DataSet: TDataSet);
begin
  inherited;
  with TADOQuery(Dataset) do begin
  if RecordStatus = [rsOK] then
    Dataset['clcStat'] := 'OK' else
  if RecordStatus = [rsNew] then
    Dataset['clcStat'] := 'New' else
  if RecordStatus = [rsModified] then
    Dataset['clcStat'] := 'Modified' else
  if RecordStatus = [rsDeleted] then
    Dataset['clcStat'] := 'Deleted' else
  if RecordStatus = [rsUnmodified] then
    Dataset['clcStat'] := 'Unmodified' else
  if RecordStatus = [rsInvalid] then
    Dataset['clcStat'] := 'Invalid' else
  if RecordStatus = [rsMultipleChanges] then
    Dataset['clcStat'] := 'MultipleChanges' else
  if RecordStatus = [rsPendingChanges] then
    Dataset['clcStat'] := 'PendingChanges' else
  if RecordStatus = [rsCanceled] then
    Dataset['clcStat'] := 'Canceled' else
  if RecordStatus = [rsCantRelease] then
    Dataset['clcStat'] := 'rsCantRelease' else
  if RecordStatus = [rsConcurrencyViolation] then
    Dataset['clcStat'] := 'ConcurrencyViolation' else
  if RecordStatus = [rsIntegrityViolation] then
    Dataset['clcStat'] := 'IntegrityViolation' else
  if RecordStatus = [rsMaxChangesExceeded] then
    Dataset['clcStat'] := 'MaxChangesExceeded' else
  if RecordStatus = [rsObjectOpen] then
    Dataset['clcStat'] := 'ObjectOpen' else
  if RecordStatus = [rsOutOfMemory] then
    Dataset['clcStat'] := 'OutOfMemory' else
  if RecordStatus = [rsPermissionDenied] then
    Dataset['clcStat'] := 'PermissionDenied' else
  if RecordStatus = [rsSchemaViolation] then
    Dataset['clcStat'] := 'SchemaViolation' else
  if RecordStatus = [rsDBDeleted] then
    Dataset['clcStat'] := 'DBDeleted';
  end;
end;

berfungsi untuk mengetahui status dari suatu record dengan menggunakan komponan ADOQuery jika query tersebut dibuka dengan Batch mode.

Angka Terbilang

Diarsipkan di bawah: myDelphi's — cyberheck @ 1010:14
function myGetTerbilang(sValue: string; const useRupiah: Boolean = true): string;

const

  Angka : array [1..20] of string =

          ('', 'Satu', 'Dua', 'Tiga', 'Empat',

           'Lima', 'Enam', 'Tujuh', 'Delapan',

           'Sembilan', 'Sepuluh', 'Sebelas',

           'Dua Belas', 'Tiga Belas', 'Empat Belas',

           'Lima Belas', 'Enam Belas', 'Tujuh Belas',

           'Delapan Belas', 'Sembilan Belas');

  sPattern: string = '000000000000000';var

  S : string;

  Satu, Dua, Tiga, Belas, Gabung: string;

  Sen, Sen1, Sen2: string;

  Hitung : integer;

  One, Two, Three: integer;

  Kata : string;

begin

  One    := 1;

  Two    := 2;

  Three  := 3;

  Hitung := 1;

  Kata   := '';

  S := copy(sPattern, 1, length(sPattern) - length(trim(sValue))) + sValue;

  Sen1 := Copy(S, 14, 1);

  Sen2 := Copy(S, 15, 1);

  Sen  := Sen1 + Sen2;

  while Hitung < 5 do

  begin

    Satu := Copy(S, One, 1);

    Dua  := Copy(S, Two, 1);

    Tiga := Copy(S, Three, 1);

    Gabung := Satu + Dua + Tiga;

if StrToInt(Satu) = 1 then

       Kata := Kata + 'Seratus '

    else

       if StrToInt(Satu) > 1 Then

          Kata := Kata + Angka[StrToInt(satu)+1] + ' Ratus ';

if StrToInt(Dua) = 1 then

       begin

         Belas := Dua + Tiga;

         Kata := Kata + Angka[StrToInt(Belas)+1];

       end

    else

       if StrToInt(Dua) > 1 Then

          Kata := Kata + Angka[StrToInt(Dua)+1] + ' Puluh ' +

                  Angka[StrToInt(Tiga)+1]

    else

       if (StrToInt(Dua) = 0) and (StrToInt(Tiga) > 0) Then

          begin

            if ((Hitung = 3) and (Gabung = '001')) or

               ((Hitung = 3) and (Gabung = '  1')) then

               Kata := Kata + 'Seribu '

            else

               Kata := Kata + Angka[StrToInt(Tiga)+1];

          end;

if (hitung = 1) and (StrToInt(Gabung) > 0) then

       Kata := Kata + ' Milyar '

    else

       if (Hitung = 2) and (StrToInt(Gabung) > 0) then

          Kata := Kata + ' Juta '

    else

       if (Hitung = 3) and (StrToInt(Gabung) > 0) then

          begin

            if (Gabung = '001') or (Gabung = '  1') then

               Kata := Kata + ''

            else

               Kata := Kata + ' Ribu ';

          end;

    Hitung := Hitung + 1;

    One    := One + 3;

    Two    := Two + 3;

    Three  := Three + 3;

  end;

(* hapus penggunaan rupiah *)

  if useRupiah then begin

    if length(Kata) > 1 then Kata := Kata + ' Rupiah ';

if (StrToInt(Sen) > 0) and (StrToInt(Sen) < 20) then

       begin

         if StrToInt(Sen) < 10 then Sen := Copy(Sen, 2, 1);

         Kata := Kata + Angka[StrToInt(Sen)+1] + ' Sen';

       end

    else

       if StrToInt(Sen) > 19 then

          Kata := Kata + Angka[StrToInt(Sen1)+1] + 'Puluh ' +

                  Angka[StrToInt(Sen2)+1] + ' Sen';

  end;

  Result := Kata;

end;

untuk mendapatkan angka terbilang.
sValue: string; -> isi dengan angka berupa string dgn 2 koma di belakang. format : 0.00
const useRupiah: Boolean = true -> menggunakan rupiah atau tidak, default ya.

call MDI Child

Diarsipkan di bawah: myDelphi's — cyberheck @ 1212:02

procedure TFMainMenu.actLsUserExecute(Sender: TObject);
var
FLsUser : TFLsUser;
begin
if FindComponent('FLsUser') = nil then
begin
FLsUser := TFLsUser.Create(Self);
FLsUser.FormStyle := fsMDIChild;
FLsUser.Visible := True;
FLsUser.Show;
end else begin
if ActiveMDIChild.Name <> 'FLsUser' then
(FindComponent('FLsUser') as TFLsUser).BringToFront;
end;
end;

berfungsi untuk memanggil form MDI Child, tapi jika MDI Child sudah ada, cukup dibawa ke hadapan kembali.

Tulisan yang Lebih Tua »

Blog pada WordPress.com.