1.
Embed
OLE pada Delphi
Penggunaan OLE dapat digunakan untuk menampilkan
hasil input berkaitan dengan program aplikasi selain Delphi. Sebagai pengantar
dapat diterapkan dengan bantuan tombol seperti pada gambar 11.1
Gambar 11.1
Program Mencoba OLE
Penggunaan
komponen yang diperlukan ditampilkan pada tabel 11.1
Komponen
|
Property
|
Value
|
Form1
|
Name
|
Form1
|
Caption
|
Bekerja Dengan
OLE
|
WindowsState
|
wsMaximized
|
OLEContainer1
|
Name
|
OLEContainer1
|
Align
|
alClient
|
Panel1
|
Caption
|
Kosong
|
Align
|
alBottom
|
Color
|
clSkyBlue
|
Button1
|
Caption
|
Mengedit
Objek OLE
|
Name
|
Button1
|
Button2
|
Caption
|
Mengedit
Objek OLE
|
Name
|
Button2
|
Selanjutnya
tambah code berikut ini pada event :
procedure
TForm1.Button1Click(Sender: TObject);
begin
OleContainer1.InsertObjectDialog;
end;
procedure
TForm1.Button2Click(Sender: TObject);
begin
if
OleContainer1.State = osEmpty then
begin
messageDlg('Objek
OLE belum ditentukan', mtInformation, [mbOk],0);
Exit;
end;
if button2.Caption = 'Mengedit
Objek OLE' then
begin
Button2.Caption
:= 'Menutup Objek OLE';
OleContainer1.DoVerb(ovPrimary);
end
else
begin
Button2.Caption:='Mengedit
Objek OLE';
OleContainer1.Close;
end;
end;
2.
Penggunaan
OLE untuk menu download
Dalam hal ini akan diberikan contoh penggunaan
aplikasi excel sebagai data output suatu database. Perhatikan program pada
gambar 11.2 berikut ini:
Gambar 11.2 Data
Mahasiswa
Pada
program yang telah dibuat tambah komponen button (Cetak). Kemudian
1. Tambahkan unit yang dibutuhkan ke uses
Uses
………,
comobj;
2.
Tambahkan juga di unit
private
{
Private declarations }
XlApp,
XlBook, XlSheet, Range : Variant; Public
3.
Klik dua kali pada button untuk pergi ke procedur. Isi script dibawah
ini
var
i,x,y,l:integer;
sfile:string;
const
xlHairline
= $00000001;
xlMedium
= $FFFFEFD6;
xlThick
= $00000004;
xlThin
= $00000002;
begin
// buka
excel
XlApp :=
CreateOleObject('Excel.Application');
// tambahkan
workbook
XlBook
:= XlApp.WorkBooks.Add;
// tambahkan
worksheet
XlSheet := XlBook.worksheets.add;
//cetak header
field dari dbgrid
for
i:=0 to dbgrid1.FieldCount-1 do
begin
XlSheet.cells[1,2].value:='DATA MAHASISWA';
XlSheet.range['a3:f3'].HorizontalAlignment:=$FFFFEFF4; XlSheet.cells[3,i+2].value:=dbgrid1.columns[i].Title.Caption;
XlSheet.cells[3,1].value:='No';
XlSheet.Cells[3,1].ColumnWidth :=4; XlSheet.Cells[3,2].ColumnWidth :=10;
XlSheet.Cells[3,3].ColumnWidth :=25;
XlSheet.Cells[3,4].ColumnWidth :=25; XlSheet.Cells[3,5].ColumnWidth :=15;
XlSheet.Cells[3,6].ColumnWidth :=10;
end;
for l:=1 to adoquery1.RecordCount do begin
Range:=XlSheet.Range['A3:F'+inttostr(l+3)];//To
assign range
XlSheet.range['a3:a'+inttostr(l+3)].horizontalAlignment:=
$FFFFEFF4; //mengatur
center end;
Range.Borders.Weight := xlHairline; // xlHairline, xlThin, xlMedium , xlThick
Range.Borders.ColorIndex := 1;
// transfer data ke excel adoquery1.First;
x:=1;
while not adoquery1.Eof do begin
for i:=0 to dbgrid1.FieldCount-1 do begin XlSheet.cells[3+x,i+2].value:=dbgrid1.Fields[i].Text;
end;
adoquery1.Next;
inc(x);
//membuat nomer adoquery1.Active:=true;
for y:=1 to adoquery1.RecordCount do begin
XlSheet.cells[y+3,1].value:=y;
end;
end;
//membuat komentar
if MessageDlg('Apakah hasil export ditampilkan..?', mtConfirmation, [mbYes,
mbNo], 0) = mrYes then begin
MessageDlg('Hasil Ditampilkan',
mtInformation,[mbOk], 0); XlApp.visible:=true;
end
else
//menyimpan ke file begin
Sfile:=InputBox('Nama File','hasil
export','c:\hasil.xls'); XlApp.ActiveWorkbook.SaveAs(sfile);
XlApp.visible:=true;
end
end;
Mengelola File & Ole (Object Lingking Embedding) yang digunakan
menglink program-program software seperti Microsaot Word, Excel, power point,
Paint dan seterusnya. Dan juga dapat membuka sebuah file yang sudah terbentuk
dari software tersebut diatas, bahkan dapat juga membuat file baru yang kosong
untuk nantinya diisi dengan data lewat interface Visual basic (form/lembarkerja
pada VB) MENGELOLA FILE Kita dapat melakukan pengelolaan file yeng tersipan
dalam folder yang terdapat atau terhubung/tersambung ke system computer kita
pada UI (User interface Visual Basic, lewat objects file
3. Tugas
Buatlah program yang menghasilkan file excel
untuk laporan rincian data berdasarkan nomor pendaftaran dan jenis kelamin