.: NeVeR GivE uP :.

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.

26-Desember-2007

maling di kompleks

Diarsipkan di bawah: myDelphi's — cyberheck @ 77:31

gara-gara lama gak main internet sampe lupa kalo banyak kejadian yg belum ku tulis. makanya hari ini aku ingin bercerita kejadian tanggal 14 dec 07.

hari itu hujan turun dengan deras, dan jam menunjukkan jam 6.00 sore. tiba-tiba di pos satpam depan kok ribut-ribut. ternyata ada maling yg ke tangkep. huahahaha… seru banget kalo ngeliat maling itu di hajar habis-habis an ama penghuni kompleks.

emang aslinya gak tega. tapi sapa suruh jadi maling. hari gini kok masih ada orang yang menekuni profesi jadi maling huahahah….

maling 1

nah.. berikut ini adalah kejadian waktu polis datang ke tpk. tapi malingnya udah di bawa pergi. gak sempet mo ku photo :)

maling 2

Blog pada WordPress.com.