pada button1 klik 2x dan isi perintah berikut :
03 May, 2013
22 April, 2013
FormatDateTime pemrograman Delphi
ini sekedar catatan saya jika lupa syntax hehe...
Source : www.delphibasics.co.uk
| Example code : Showing all of the date field formatting data types |
| var myDate : TDateTime; begin // Set up our TDateTime variable with a full date and time : // 5th of June 2000 at 01:02:03.004 (.004 milli-seconds) myDate := EncodeDateTime(2000, 6, 5, 1, 2, 3, 4); // Date only - numeric values with no leading zeroes (except year) ShowMessage(' d/m/y = '+ FormatDateTime('d/m/y', myDate)); // Date only - numeric values with leading zeroes ShowMessage(' dd/mm/yy = '+ FormatDateTime('dd/mm/yy', myDate)); // Use short names for the day, month, and add freeform text ('of') ShowMessage(' ddd d of mmm yyyy = '+ FormatDateTime('ddd d of mmm yyyy', myDate)); // Use long names for the day and month ShowMessage('dddd d of mmmm yyyy = '+ FormatDateTime('dddd d of mmmm yyyy', myDate)); // Use the ShortDateFormat settings only ShowMessage(' ddddd = '+ FormatDateTime('ddddd', myDate)); // Use the LongDateFormat settings only ShowMessage(' dddddd = '+ FormatDateTime('dddddd', myDate)); // Use the ShortDateFormat + LongTimeFormat settings ShowMessage(' c = '+ FormatDateTime('c', myDate)); end; |
| Show full unit code |
| d/m/y = 5/6/00 dd/mm/yy = 05/06/00 ddd d of mmm yyyy = Mon 5 of Jun 2000 dddd d of mmmm yyyy = Monday 5 of June 2000 ddddd = 05/06/2000 dddddd = 05 June 2000 c = 05/06/2000 01:02:03 |
| Example code : Showing all of the time field formatting data types |
| var myDate : TDateTime; begin // Set up our TDateTime variable with a full date and time : // 5th of June 2000 at 01:02:03.004 (.004 milli-seconds) myDate := EncodeDateTime(2000, 6, 5, 1, 2, 3, 4); // Time only - numeric values with no leading zeroes ShowMessage(' h:n:s.z = '+FormatDateTime('h:n:s.z', myDate)); // Time only - numeric values with leading zeroes ShowMessage('hh:nn:ss.zzz = '+FormatDateTime('hh:nn:ss.zzz', myDate)); // Use the ShortTimeFormat settings only ShowMessage(' t = '+FormatDateTime('t', myDate)); // Use the LongTimeFormat settings only ShowMessage(' tt = '+FormatDateTime('tt', myDate)); // Use the ShortDateFormat + LongTimeFormat settings ShowMessage(' c = '+FormatDateTime('c', myDate)); end; |
| Show full unit code |
| h:m:s.z = 1:2:3.4 hh:mm:ss.zzz = 01:02:03.004 t = 01:02 tt = 01:02:03 c = 05/06/2000 01:02:03 |
| Example code : Showing the effect of local date format settings |
| var myDate : TDateTime; begin // Set up our TDateTime variable with a full date and time : // 5th of June 2049 at 01:02:03.004 (.004 milli-seconds) // // Note that 49 is treated as 2049 as follows : // TwoDigitYearCenturyWindow => 50 // Current year => 2008 (at time of writing) // Subtract TwoDigitYearCenturyWindow => 1958 // 2 digit year to be converted => 49 // Compare with the last 2 digits of 1958 => Less // So the year is in the next century => 2049 // (58 would be converted to 1958) myDate := StrToDateTime('05/06/49 01:02:03.004'); // Demonstrate default locale settings // Use the DateSeparator and TimeSeparator values ShowMessage('dd/mm/yy hh:nn:ss = '+ FormatDateTime('dd/mm/yy hh:nn:ss', myDate)); // Use ShortMonthNames ShowMessage(' mmm = '+FormatDateTime('mmm', myDate)); // Use LongMonthNames ShowMessage(' mmmm = '+FormatDateTime('mmmm', myDate)); // Use ShortDayNames ShowMessage(' ddd = '+FormatDateTime('ddd', myDate)); // Use LongDayNames ShowMessage(' dddd = '+FormatDateTime('dddd', myDate)); // Use the ShortDateFormat string ShowMessage(' ddddd = '+FormatDateTime('ddddd', myDate)); // Use the LongDateFormat string ShowMessage(' dddddd = '+FormatDateTime('dddddd', myDate)); // Use the TimeAmString ShowMessage(' hhampm = '+FormatDateTime('hhampm', myDate)); // Use the ShortTimeFormat string ShowMessage(' t = '+FormatDateTime('t', myDate)); // Use the LongTimeFormat string ShowMessage(' tt = '+FormatDateTime('tt', myDate)); // Use the TwoDigitCenturyWindow ShowMessage(' dd/mm/yyyy = '+ FormatDateTime('dd/mm/yyyy', myDate)); ShowMessage(''); // Now change the defaults DateSeparator := '-'; TimeSeparator := '_'; ShortDateFormat := 'dd/mmm/yy'; LongDateFormat := 'dddd dd of mmmm of yyyy'; TimeAMString := 'morning'; TimePMString := 'afternoon'; ShortTimeFormat := 'hh:nn:ss'; LongTimeFormat := 'hh : nn : ss . zzz'; ShortMonthNames[6] := 'JUN'; LongMonthNames[6] := 'JUNE'; ShortDayNames[1] := 'SUN'; LongDayNames[1] := 'SUNDAY'; TwoDigitYearCenturyWindow := 75; // This means 49 is treated as 1949 // Set up our TDateTime variable with the same value as before // except that we must use the new date and time separators // The TwoDigitYearCenturyWindow variable only takes effect here myDate := StrToDateTime('09-02-49 01_02_03.004'); // Use the DateSeparator and TimeSeparator values ShowMessage('dd/mm/yy hh:nn:ss = '+ FormatDateTime('dd/mm/yy hh:nn:ss', myDate)); // Use ShortMonthNames ShowMessage(' mmm = '+FormatDateTime('mmm', myDate)); // Use LongMonthNames ShowMessage(' mmmm = '+FormatDateTime('mmmm', myDate)); // Use ShortDayNames ShowMessage(' ddd = '+FormatDateTime('ddd', myDate)); // Use LongDayNames ShowMessage(' dddd = '+FormatDateTime('dddd', myDate)); // Use the ShortDateFormat string ShowMessage(' ddddd = '+FormatDateTime('ddddd', myDate)); // Use the LongDateFormat string ShowMessage(' dddddd = '+FormatDateTime('dddddd', myDate)); // Use the TimeAmString ShowMessage(' hhampm = '+FormatDateTime('hhampm', myDate)); // Use the ShortTimeFormat string ShowMessage(' t = '+FormatDateTime('t', myDate)); // Use the LongTimeFormat string ShowMessage(' tt = '+FormatDateTime('tt', myDate)); // Use the TwoDigitCenturyWindow ShowMessage(' dd/mm/yyyy = '+ FormatDateTime('dd/mm/yyyy', myDate)); end; |
| Show full unit code |
| dd/mm/yy hh:mm:ss = 05/06/49 01:02:03 mmm = Jun mmmm = June ddd = Sat dddd = Saturday ddddd = 05/06/2049 dddddd = 05 June 2049 hhampm = 01AM t = 01:02 tt = 01:02:03 dd/mm/yyyy = 05/06/2049 dd/mm/yy hh:nn:ss = 05-06-49 01_02_03 mmm = JUN mmmm = JUNE ddd = SUN dddd = SUNDAY ddddd = 05-JUN-49 dddddd = SUNDAY 05 of JUNE of 1949 hhampm = 01morning t = 01_02_03 tt = 01 _ 02 _ 03 . 004 dd/mm/yyyy = 05-06-1949 |
Source : www.delphibasics.co.uk
17 April, 2013
Handling errors / Penanganan Kesalahan di Delphi
Delphi menggunakan pendekatan event handling untuk penanganan error. Kesalahan adalah (kebanyakan) dianggap sebagai pengecualian, yang menyebabkan pengoperasian program untuk menunda dan melompat ke handler pengecualian terdekat. Jika kita tidak memiliki satu, ini akan menjadi default handler Delphi yang akan melaporkan kesalahan dan menghentikan program.
Try, except dimana masalah berada
Delphi menyediakan hanya membangun untuk membungkus kode dengan penanganan exception. Ketika pengecualian terjadi dalam kode terbungkus (atau apa pun itu panggilan), kode tersebut akan melompat ke exception handling bagian dari kode pembungkus:
begin
Try
...
The code we want to execute
...
Except
...
This code gets executed if an exception occurs in the above block
...
end;
end;
kita mencoba untuk mengeksekusi beberapa kode, yang akan berjalan kecuali jika kesalahan (pengecualian) terjadi. Kemudian kode kecuali akan mengambil alih.
Mari kita lihat contoh sederhana di mana kita sengaja membagi angka dengan nol:
var
number1, number0 : Integer;
begin
try
number0 := 0;
number1 := 1;
number1 := number1 div number0;
ShowMessage('1 / 0 = '+IntToStr(number1));
except
on E : Exception do
begin
ShowMessage('Exception class name = '+E.ClassName);
ShowMessage('Exception message = '+E.Message);
end;
end;
end;
Ketika pembagian gagal, kode melompat ke blok statement Exception . Pernyataan ShowMessage pertama sehingga tidak bisa dijalankan.
apa yangh terjadi ketika proses debugging
Perhatikan bahwa ketika Anda kode debug kita dalam Delphi, Delphi akan pengecualian perangkap bahkan jika kita memiliki exception handling. kita kemudian harus mengklik OK pada dialog kesalahan, lalu tekan F9 atau panah hijau untuk meneruskan statement exeception . kita bisa menghindari ini dengan mengubah pilihan debug.
And finally …
Misalkan bukannya menjebak kesalahan statement itu terjadi, kita mungkin ingin membiarkan tingkat pengecualian penangan yang lebih tinggi dalam kode kita untuk melakukan perangkap lebih global.
Delphi menyediakan bagian alternatif untuk pembungkus exception Akhirnya. Bukannya dipanggil ketika pengecualian terjadi, klausa akhirnya selalu disebut setelah sebagian atau semua statement coba dijalankan. Hal ini memungkinkan kita untuk membebaskan memori yang dialokasikan, atau kegiatan sejenis lainnya. Namun, tidak perangkap kesalahan – penanganan exception tertinggi berikutnya (Try) blok yang bersarang telah di alokasikan dan dieksekusi.
Sumber : readoneit.wordpress.com
Try, except dimana masalah berada
Delphi menyediakan hanya membangun untuk membungkus kode dengan penanganan exception. Ketika pengecualian terjadi dalam kode terbungkus (atau apa pun itu panggilan), kode tersebut akan melompat ke exception handling bagian dari kode pembungkus:
begin
Try
...
The code we want to execute
...
Except
...
This code gets executed if an exception occurs in the above block
...
end;
end;
kita mencoba untuk mengeksekusi beberapa kode, yang akan berjalan kecuali jika kesalahan (pengecualian) terjadi. Kemudian kode kecuali akan mengambil alih.
Mari kita lihat contoh sederhana di mana kita sengaja membagi angka dengan nol:
var
number1, number0 : Integer;
begin
try
number0 := 0;
number1 := 1;
number1 := number1 div number0;
ShowMessage('1 / 0 = '+IntToStr(number1));
except
on E : Exception do
begin
ShowMessage('Exception class name = '+E.ClassName);
ShowMessage('Exception message = '+E.Message);
end;
end;
end;
Ketika pembagian gagal, kode melompat ke blok statement Exception . Pernyataan ShowMessage pertama sehingga tidak bisa dijalankan.
apa yangh terjadi ketika proses debugging
Perhatikan bahwa ketika Anda kode debug kita dalam Delphi, Delphi akan pengecualian perangkap bahkan jika kita memiliki exception handling. kita kemudian harus mengklik OK pada dialog kesalahan, lalu tekan F9 atau panah hijau untuk meneruskan statement exeception . kita bisa menghindari ini dengan mengubah pilihan debug.
And finally …
Misalkan bukannya menjebak kesalahan statement itu terjadi, kita mungkin ingin membiarkan tingkat pengecualian penangan yang lebih tinggi dalam kode kita untuk melakukan perangkap lebih global.
Delphi menyediakan bagian alternatif untuk pembungkus exception Akhirnya. Bukannya dipanggil ketika pengecualian terjadi, klausa akhirnya selalu disebut setelah sebagian atau semua statement coba dijalankan. Hal ini memungkinkan kita untuk membebaskan memori yang dialokasikan, atau kegiatan sejenis lainnya. Namun, tidak perangkap kesalahan – penanganan exception tertinggi berikutnya (Try) blok yang bersarang telah di alokasikan dan dieksekusi.
Sumber : readoneit.wordpress.com
16 April, 2013
Hardiskku yang malang habis terjatuh dari lemari baju.
Dari judulnya sangat menyeramkan hahahaha.
tapi memang menyeramkan, setelah hardisk seagate ku terjatuh
dia mati !!! gak bergerak ( berputar maksudnya ) dibios gak kedetect.
external apa lagi. setelah beberapa abad berlalu ....
muncul lah niat untuk mengetahui, ngapain aja sih isinya hardisk kwkwkwkw...
dan dibedah lah sang hardisk mati tadi...
(maaf gambarnya belum di upload. nanti ya kalau sempat hahahha... )
setelah dibedah, dan dikeluarkan isinya. ( lebay dikit hahaha )
di ketuk-ketuk, dicolok lagi powernya. zzzzhhhh zzzzhhhh wah bunyi apa itu ?
jangan-jangan ada jin-nya hahhaha.
mungkin faktor hoki ato apa heatnya aq geser saat powernya nyala, wuzz wuzz wuzz... wah headnya pindah ke track awal. dan piringannya berputar kembali :D horeee...
pengalaman hari ini sangat mengesankan hehehhe.... jadi ini hanya coretan saya. jika tidak berkenan silahkan lewati postingan ini hahaha :D
yang jelas hari ini saya senang. wkkwk
tapi memang menyeramkan, setelah hardisk seagate ku terjatuh
dia mati !!! gak bergerak ( berputar maksudnya ) dibios gak kedetect.
external apa lagi. setelah beberapa abad berlalu ....
muncul lah niat untuk mengetahui, ngapain aja sih isinya hardisk kwkwkwkw...
dan dibedah lah sang hardisk mati tadi...
(maaf gambarnya belum di upload. nanti ya kalau sempat hahahha... )
setelah dibedah, dan dikeluarkan isinya. ( lebay dikit hahaha )
di ketuk-ketuk, dicolok lagi powernya. zzzzhhhh zzzzhhhh wah bunyi apa itu ?
jangan-jangan ada jin-nya hahhaha.
mungkin faktor hoki ato apa heatnya aq geser saat powernya nyala, wuzz wuzz wuzz... wah headnya pindah ke track awal. dan piringannya berputar kembali :D horeee...
pengalaman hari ini sangat mengesankan hehehhe.... jadi ini hanya coretan saya. jika tidak berkenan silahkan lewati postingan ini hahaha :D
yang jelas hari ini saya senang. wkkwk
Mengambil Tabel Dari web tertentu menggunakan google spreadsheed.
OK, Pertama Kalian Harus memiliki akun google. kalau tidak punya silahkan buat.
Siapkan link website yang ingin di ambil tabelnya. contoh saya adalah http://www.atlantica-db.com/mercenary/melee .
Langkah Selanjutnya Melangkah Ke Google Drive.
- Pilih Create.
- Pilih Spreadsheet.
- sorot pada cell a1.
- ketik atau paste link =ImportHtml("http://www.atlantica-db.com/mercenary/melee","table",1)
fungsi ImportHtml(url,query,index)
untuk menyimpan ke drive lokal anda tinggal pilih File > Download as...
pilih sesuai kebutuhan anda.
wala, tabel sukses tercopy. hahaha. semoga bermanfaat.
Siapkan link website yang ingin di ambil tabelnya. contoh saya adalah http://www.atlantica-db.com/mercenary/melee .
Langkah Selanjutnya Melangkah Ke Google Drive.
- Pilih Create.
- Pilih Spreadsheet.
- sorot pada cell a1.
- ketik atau paste link =ImportHtml("http://www.atlantica-db.com/mercenary/melee","table",1)
fungsi ImportHtml(url,query,index)
untuk menyimpan ke drive lokal anda tinggal pilih File > Download as...
pilih sesuai kebutuhan anda.
wala, tabel sukses tercopy. hahaha. semoga bermanfaat.
Google Drive Mempermudah Berbagi file
Rasanya kebutuhan untuk berbagi file itu sangat penting apa lagi saat ini jarak merupakan salah satu penghalang yg nyata. nah google drive adalah solusinya. tidak perlu berjalan ke rumah teman untuk mengcopy file. tinggal di taruh di folder google drive, sync ( google drive akan mensinkronkan file di lokal disk ke disk di google ) jika di temukan file baru, akan di upload secara otomatis. mudah kan ? tidak perlu lagi masuk ke halaman upload haha. mari kunjungi halaman google drive disini.
15 April, 2013
QuickReport borland delphi 7
Setelah browsing-browsing ternyata susah juga cari tutorial pembuatan laporan menggunakan Quickreport.
langsung aja ya, ternyata borland delphi sudah menyediakan demo / contoh quickreport di folder installasi di komputer saya berada di C:\Program Files\Borland\Delphi7\Demos\Quickrpt.
QReport_Readme.txt
The Quick Reports package is not installed in the IDE by default. To run
these demos you must first install dclqrt70.bpl.
To install, go to the IDE menu and select the "Component" menu item. From there,
select "Install Packages". In the dialog select the "Add" button and then browse
to the \bin directory of Delphi (default location is
c:\Program Files\Borland\Delphi7\bin). Select the file named dclqrt70.bpl.
The QuickReport pacakge is now installed and you can run the example programs.
mungkin agak berbeda lokasi di komputer pembaca, jadi sesuaikan dengan folder installasi delphinya.
sekian. semoga bermanfaat.
langsung aja ya, ternyata borland delphi sudah menyediakan demo / contoh quickreport di folder installasi di komputer saya berada di C:\Program Files\Borland\Delphi7\Demos\Quickrpt.
QReport_Readme.txt
The Quick Reports package is not installed in the IDE by default. To run
these demos you must first install dclqrt70.bpl.
To install, go to the IDE menu and select the "Component" menu item. From there,
select "Install Packages". In the dialog select the "Add" button and then browse
to the \bin directory of Delphi (default location is
c:\Program Files\Borland\Delphi7\bin). Select the file named dclqrt70.bpl.
The QuickReport pacakge is now installed and you can run the example programs.
mungkin agak berbeda lokasi di komputer pembaca, jadi sesuaikan dengan folder installasi delphinya.
sekian. semoga bermanfaat.
31 March, 2013
Coretan hari ini
Mempermudah pekerjaan. Contoh ? Linggis untung mencabut paku. Bayangkan jika gak ada linggis, apa yg akan tukang lakukan ? Mematahkan paku mungkin salah satunya. Tapi, itu akan menguras tenaga kan ? :D
Saat ini, kemajuan teknologi sudah berkembang dengan pesatnya. Dimulai dari personal computer : desktop, laptop, dan gadget genggam lainya. Semuanya mempermudah dan meringkas fungsi-fungsi extrim kalau dibandingkan penggunaan alat alat manual pada gadget tesebut. Contoh saja mobile phone (HP lah sebutan org org) minimal punya fungsi kalkulator, memo, alarm, phone book (buku telpon), dan game. Wah banyak bukan ? Bayangkan kalau orang dahulu membawa semua yg ada di hape itu, apa gak bikin ribet ya ?
Tapi pandangan orang-orang sekaran tidak sejauh orang orang dahulu. Bukan menjudge semua orang. dari lingkungan, moral, dan kepedulian sesama mahluk hidup saja sudah sangat memperihatin kan :D. Lebih memilih menebang pohon untuk mendirikan tenda acara yg cuma diadakan 1-2 hari. Ada yg aneh ? Jika anda jawab tidak, berarti anda salah satu dari manusia yg saya maksud hahaha.
Maaf kalau bingung membaca coretan saya. Karena ini hanya coretan.
Im not a perfect. Coz im human being.
-------
Sent using a Sony Ericsson mobile phone
Saat ini, kemajuan teknologi sudah berkembang dengan pesatnya. Dimulai dari personal computer : desktop, laptop, dan gadget genggam lainya. Semuanya mempermudah dan meringkas fungsi-fungsi extrim kalau dibandingkan penggunaan alat alat manual pada gadget tesebut. Contoh saja mobile phone (HP lah sebutan org org) minimal punya fungsi kalkulator, memo, alarm, phone book (buku telpon), dan game. Wah banyak bukan ? Bayangkan kalau orang dahulu membawa semua yg ada di hape itu, apa gak bikin ribet ya ?
Tapi pandangan orang-orang sekaran tidak sejauh orang orang dahulu. Bukan menjudge semua orang. dari lingkungan, moral, dan kepedulian sesama mahluk hidup saja sudah sangat memperihatin kan :D. Lebih memilih menebang pohon untuk mendirikan tenda acara yg cuma diadakan 1-2 hari. Ada yg aneh ? Jika anda jawab tidak, berarti anda salah satu dari manusia yg saya maksud hahaha.
Maaf kalau bingung membaca coretan saya. Karena ini hanya coretan.
Im not a perfect. Coz im human being.
-------
Sent using a Sony Ericsson mobile phone
30 March, 2013
Pencarian data pada tabel adotable atau adoquery delphi 7
Begin
If not ADOTable1.locate('nim',edit1.text,[]) then
Showmessage('nim tidak ditemukan');
Penjelasan 'nim' adalah area field yg ingin dicari.
Edit1.text adalah variabel yg ingin dicocokkan
Sedangkan [] adalah opsi tambahan (bisa dibaca pada bagian help).
Hasil dari locate, adalah pointer akan berhenti pada record yg cocok pertama. Jika hasil locate lebih dari 1 maka locate akan mengabaikan record lain.
Semoga bermanfaat.
--
Sent using a Sony Ericsson mobile phone
If not ADOTable1.locate('nim',edit1.text,[]) then
Showmessage('nim tidak ditemukan');
Penjelasan 'nim' adalah area field yg ingin dicari.
Edit1.text adalah variabel yg ingin dicocokkan
Sedangkan [] adalah opsi tambahan (bisa dibaca pada bagian help).
Hasil dari locate, adalah pointer akan berhenti pada record yg cocok pertama. Jika hasil locate lebih dari 1 maka locate akan mengabaikan record lain.
Semoga bermanfaat.
--
Sent using a Sony Ericsson mobile phone
Subscribe to:
Posts (Atom)
