Kalender DFGEN

March 2010
M T W T F S S
« Feb    
1234567
891011121314
15161718192021
22232425262728
293031  

Delphi - Penomoran Surat

Oleh Putu Swastawa

Anda pernah memberi nomor surat? Misalnya berpola: 001/JKS/II/2010

Perhatikan, bagaimana anda dapat mempersiapkan penomoran seperti ini dengan database dan delphi. Yang anda lakukan adalah dengan langkah berikut:

  1. membuat variabel publik singkatan perusahaan anda, misalnya JKS
  2. membuat fungsi input berupa angka tanggal dan output berupa representasinya dalam penomoran romawi.
  3. membuat database contoh, misalnya ada field atau kolom: id (integer autoinc),nomor surat (string atau varchar) ,judul (varchar ) dan isi (memo).

Contoh prosedurnya:

uses dateutils

var shortcpy : string; //you can use other method

function datepart(d : tdatetime):string;
var mon: integer;
begin
mon := monthof(tdatetime);
case mon of
1: result:= ‘I’;

12: result:= ‘XII’;
else result:= ” // error
end;
end;
function get_last_num(ds: tdataset): integer; //run dataset to database and make sure this object is exists
var s:string;
begin
ds.close;
ds.sql.text := ‘SELECT * FROM ‘+Quotedstr(‘tabel’)+’ ORDER BY `nomor` DESC LIMIT 1′;
ds.open;
try
if ds.recordcount=0 then result:= 0
else begin
s:= copy(1,3,ds.fieldbyname(‘nomor’).asString;
result:= strtoint(s);
end;
finally
ds.close;
end;
end;

kemudian digabung:
function num_surat_kini: string;
begin
shortcpy:= ‘JKS’;
//nbulan:= datepart(now)+1;//
//kemudian simpan dan
//kemudian susun seperti pola di atas: 001/JKS/II/2010
//maka laukan: shortcpy + nbulan + rightstr(‘0′+inttostr(001/JKS/II/2010))
result:= shortcpy+’/'+datepart(now)+1+’/'+result;
end;

Salam bahagia