Tampilkan postingan dengan label C#. Tampilkan semua postingan
Tampilkan postingan dengan label C#. Tampilkan semua postingan

Membuat Aplikasi Console C# dari Command Line

Rabu, November 05, 2008 | | Comments

Pertanyaan :
Bagaimana membuat aplikasi console dengan C# Compiler ?

Jawaban :
Pada salah satu kelas yang dibagun dibutuhkan method bertipe static dan dengan nama Main seperti salah satu dari berikut :

public static void Main();
public static void Main(string[] args);
public static int Main();
public static int Main(string[] args);


Cara mengcompilenya adalah dengan menjalankan command berikut :

csc /target:exe HaloCSharp.cs


Penjelasan:


csc adalah nama aplikasi Compiler untuk C#. file csc.exe ini terdapat pada direktori [WindowsDirektori]\Microsoft.NET\Framework\[Versi Framework]\csc.ece.


/target:exe adalah target dari aplikasi yang akan dibangun. Dimana hasil dari compile akan bertipe exe (Executable Files).


HaloCSharp.cs adalah source file yang dicompile.



Lebih lanjut: wcode.net



Technorati Tags: ,,,


Read More...

Berkenalan Dengan C# dan CLR

Kamis, Agustus 21, 2008 | | Comments

Pendahuluan

C# (dibaca “C Sharp”) merupakan bahasa pemrograman modern yang berorientasi objek.  Secara sintaks C# mirip dengan bahasa-bahasa keluarga C seperti C, C++, dan Java.  C# menggabungkan produktifitas dan kemudahan yang ada di Visual Basic dengan kemampuan dan fleksibilitas yang ada di C++, dan menambahkan hal-hal baru yang tidak ada di Java. Perancang utamanya adalah Anders Hejlsberg dari Microsoft, yang dulunya membuat Turbo Pascal dan berperan dalam pengembangan bahasa Delphi dan IDE Borland Delphi.

Bahasa ini telah diserahkan oleh Microsoft ke badan standar internasional ECMA.  Proses standarisasinya selesai pada Desember 2001 dengan nama standarnya ECMA-334.  Dengan standar tersebut, siapapun dapat dengan mudah dan bebas membuat implementasi bahasa C#.

Hello, World!!!

Mungkin cara yang paling baik untuk mengenal suatu bahasa adalah dengan melihat contoh programnya.  Inilah program “Hello World” yang dibuat dengan C#:

// Contoh001

class Halo
{
static void Main()
{
System.Console.WriteLine("Halo, dunia!!!");
}
}



Jika program tersebut dicompile dan dijalankan, maka akan keluar tulisan berikut di layar:




Halo, dunia!!!



Menganalisa “Hello World”



Cara mengcompile dan menjalankan program “Hello World” akan dibahas di akhir tutorial ini.  Sebelumnya, kita akan menganalisa program di atas sedikit demi sedikit.




// Contoh001



Baris tersebut merupakan comment satu baris.  Comment satu baris diawali dengan // dan berakhir di baris yang bersangkutan.  Comment tidak akan mempengaruhi jalannya program, walaupun begitu comment merupakan alat yang handal untuk dokumentasi dan penulisan catatan-catatan saat kita membuat program.



Lalu perhatikan baris berikut (baris sebelumnya sengaja dilompati):




static void Main()



Baris di atas mendeklarasikan suatu method yang bernama Main() (di beberapa bahasa pemrograman lain, method disebut fungsi atau subroutine). Setiap program C# harus memiliki method ini. Method Main() adalah pintu masuk program anda, yang berarti bahwa method ini akan dipanggil saat program dijalankan.  Isi atau tubuh method harus diawali dengan { (kurung kurawal buka) dan diakhiri dengan } (kurung kurawal tutup).



C# merupakan bahasa yang “case sensitive”, jadi method yang bernama Main() (m huruf besar) berbeda dengan method yang bernama main() (m huruf kecil).  Kita bisa melihat bahwa C# meninggalkan adat istiadat keluarga C yang menggunakan method main() (m huruf kecil) sebagai pintu masuk program.  Hal ini dilakukan agar C# konsisten dengan salah satu panduan penamaan modern yaitu mengawali nama method dengan huruf besar.  Untuk sementara, static dan void tidak akan dibahas.



Kita bisa lihat bahwa method Main() berada di dalam class yang bernama Halo, dengan deklarasi sebagai berikut:




class Halo



Class merupakan salah satu unit enkapsulasi di C#.  Maksudnya, class digunakan untuk mengelompokkan data-data dan method-method yang saling berhubungan.  Tubuh class dibatasi dengan { dan }.



Di dalam C#, method harus berada di dalam unit enkapsulasi, contohnya class.  Dalam Contoh001, method Main() berada di dalam class Halo.  Ini adalah aturan baru bagi programmer C dan C++, tetapi bukanlah hal yang asing bagi programmer Java.  Kita bebas menentukan nama class yang memuat method Main().



Aktivitas utama program kita terletak di baris berikut:




System.Console.WriteLine("Halo, dunia!!!");



Saat program dijalankan, baris tersebut menyebabkan keluarnya tulisan “Halo, dunia!!!” yang diikuti baris baru.  Hal tersebut dilaksanakan oleh method WriteLine().  Method WriteLine() tersebut berada di dalam class yang bernama Console (sebagaimana method Main() berada dalam suatu class). Class Console sendiri dikelompokkan ke dalam namespace yang bernama System. Namespace digunakan untuk mengelompokkan class-class dan beberapa elemen bahasa lainnya.  Jadi kita memanggil method WriteLine() dengan menuliskan mulai dari nama namespacenya, class yang memuatnya, sampai ke method itu sendiri. “Halo Dunia!” dikatakan sebagai argumen bagi method WriteLine().  Class Console merupakan bagian dari BCL (Base Class Library), jadi bisa dipastikan bahwa semua implementasi standar C# memilikinya.



Baris yang barus saja kita bahas biasa disebut dengan statement.  Statement di atas melakukan pemanggilan method, tetapi nanti kita akan melihat bahwa masih banyak jenis-jenis statement lainnya.  Setiap statement di C# harus diakhiri dengan ; (titik koma).



Terlalu Panjang?



Jika kita membuat program console, kita akan banyak memakai method WriteLine().  Pemanggilannya yang cukup panjang seperti pada Contoh001 tentunya akan merepotkan.  Ada cara yang dapat dilakukan untuk menyingkatnya, yaitu sebagai berikut:




// Contoh002

using System;

class HaloDanDadah
{
static void Main()
{
Console.WriteLine("Halo!");
Console.WriteLine("Dadah!");
}
}



Output programnya adalah sebagai berikut:




Halo!
Dadah!



Perhatikan statement berikut:




using System;



Statement tersebut memungkinkan kita untuk menggunakan semua class yang berada di dalam namespace System secara langsung.  Karenanya, pemanggilan terhadap method WriteLine() cukup diawali dengan nama classnya yaitu Console.



Di dalam Contoh002 juga jelas terlihat bahwa method WriteLine() mengganti baris setelah menuliskan argumennya.  Oleh karena itu, “Dadah!” tertulis di bawah “Halo!”.



Membuat, Mengcompile, dan Menjalankan Program



Di bagian ini akan dibahas dua cara, yaitu menggunakan Framework .NET di Windows dan menggunakan Mono di Linux.



Menggunakan Framework .NET di Windows



Yang pertama kali harus kita lakukan adalah mendownload Microsoft .NET Framework SDK (106 MB) atau Microsoft .NET Framework Redistributable (23 MB).  Ukuran versi SDK jauh lebih besar dari versi redistributablenya, sebab versi SDK memuat dokumentasi, contoh-contoh program, dan tools-tools tambahan yang berguna untuk pengembangan program.  Untuk mencoba program-program di tutorial ini anda dapat menggunakan versi redistributable.  Dokumentasi yang ada di SDK akan menjadi kebutuhan saat anda sudah memulai pemrograman serius menggunakan C#.  Versi SDK hanya akan dapat berjalan di Windows 2000, Windows XP, dan Windows Server 2003.



Setelah menginstall Framework .NET, di dalam folder Windows anda akan terdapat folder yang menyimpan compiler C#.  Contoh foldernya adalah sebagai berikut:




C:\WINDOWS\Microsoft.NET\Framework\v1.1.4322



Lokasi tepatnya bergantung pada lokasi folder Windows anda dan versi Framework .NET yang anda install.  Compiler C# yang terletak di folder tersebut bernama csc.exe.  Untuk dapat memanggil compiler C# dari folder manapun, pastikan untuk menulis perintah seperti berikut di command prompt (cek dulu lokasi foldernya):




PATH = %PATH%; C:\WINDOWS\Microsoft.NET\Framework\v1.1.4322



Setting tersebut hanya akan berlaku dan bertahan pada command prompt yang sedang anda gunakan.  Untuk membuatnya universal dan permanen, tambahkan perintah tersebut ke file autoexec.bat.  Cara lainnya, jika anda menggunakan Windows 2000 atau Windows XP, adalah dengan mengklik kanan “My Computer”, memilih “Properties”, masuk ke tab “Advanced”, dan memilih “Environment Variables”.  Di bagian “System Variables” terdapat variabel “Path”.  Tambahkan folder tempat Framework .NET terinstall ke variable “Path” tersebut.



Anda dapat menuliskan program-program C# dengan text editor seperti notepad.  Save source code anda dengan akhiran cs, misalnya contoh002.cs.  Untuk mengcompile program anda, masuklah ke command prompt dan gunakan csc.  Misalnya, untuk mengcompile contoh002.cs digunakan perintah berikut:




csc contoh002.cs



Hasil kompilasinya adalah contoh002.exe.  Anda dapat menjalankannya dengan mengetikkan nama filenya, misalnya:




contoh002



Menggunakan Mono di Linux



Mono merupakan salah satu proyek open source untuk membuat implementasi Framework .NET.  Cara-cara menginstallnya terdapat di website yang bersangkutan.  Setelah Mono terinstall, ketik source code dengan text editor favorit anda dan save dengan akhiran cs.  Untuk mengcompile program anda, gunakan perintah berikut:




mcs namaprogram.cs



Untuk menjalankannya, gunakan perintah berikut:




mono namaprogram.exe



Terdapat juga Mono untuk Windows.  Silahkan mencobanya jika anda tertarik.



Menggunakan IDE (Integrated Development Environment)





Selain menggunakan text editor dan command line compiler, kita bisa juga menggunakan beberapa IDE yang telah tersedia.  IDE gratis yang bisa diperoleh contohnya adalah SharpDevelop (lihat gambar di atas) dan MonoDevelop.  IDE komersial yang ada contohnya adalah Microsoft Visual Studio .NET 2003.



Berkenalan dengan CLR dan Konsep Program Managed



Program-program C# yang dihasilkan tidaklah terikat dengan hardware maupun operating system tertentu.  Untuk menjalankan suatu program C#, di komputer (atau alat elektronik lain) yang bersangkutan harus tersedia CLR (Common Language Runtime).  Jalannya sebuah program C# akan dikelola sepenuhnya oleh CLR, oleh karena itu program C# dikatakan sebagai program yang managed.  Program-program klasik yang langsung berinteraksi dengan operating system maupun hardware tertentu disebut program unmanaged.  Untuk lebih jelasnya, lihatlah diagram berikut:





Dengan perantara CLR tersebut, program-program C# menjadi portable.  Misalnya, program C# yang dicompile menggunakan Microsoft .NET Framework dapat langsung dijalankan di Linux asalkan terinstall Mono atau implementasi CLR lainnya.  Mungkin anda sudah bisa menebak bahwa Microsoft .NET Framework dan Mono merupakan beberapa implementasi CLR yang ada.  Beberapa implementasi CLR lainnya contohnya adalah Microsoft .NET Compact Framework (untuk Pocket PC dan handphone), dotGNU Portable .NET (untuk Linux), dan Rotor (untuk FreeBSD).



Konsep ini sekilas terdengar mirip dengan Java dan JVMnya, namun ada beberapa hal yang membedakan CLR dengan Java.



CLR merupakan bagian dari standar internasional yang disebut CLI (Common Language Infratructure).  CLI memuat CLR, CIL (Common Intermediate Language, analog dengan Java bytecode), dan BCL (Base Class Library).  Sifat CLR yang merupakan open standard memungkinkan siapa saja membuat implementasinya.  Hal ini berbeda dengan platform Java yang merupakan platform pribadi milik Sun.



Tidak seperti platform Java yang terkait dengan bahasa Java, CLR tidak terkait dengan bahasa pemrograman apapun. Contoh-contoh bahasa yang bisa dipakai untuk membuat program managed adalah C#, Managed Extension for C++, Visual Basic .NET, Jscript .NET, J#, Pascal .NET, Delphi .NET, Phyton .NET, Eiffel#, COBOL .NET, dan Perl .NET.  Program yang dibuat dengan bahasa berbeda dapat dengan mudah berinteraksi!



CLI dibuat oleh Microsoft bersamaan dengan implementasinya yaitu Framework .NET.  Microsoft menyerahkan CLI kepada ECMA untuk distandarisasi agar pengadopsiannya lebih cepat dan meluas.  Hasil standarisasi tersebut tidaklah sia-sia, sebab dengan standar-standar yang ada muncullah implementasi-implementasi open source seperti Mono dan dotGNU Portable .NET.  Standar CLI tersebut diberi nama ECMA-335.



Penutup



Tutorial pengenalan ini mungkin belum bisa memperlihatkan keunggulan C# terhadap bahasa-bahasa pemrograman lainnya, terutama terhadap C++ dan Java.  Programmer C++ nantinya akan melihat bahwa sintaks di C# lebih bersih, aturan-aturan bahasanya lebih sederhana, dan class librarynya yang berorientasi objek sangat intuitif untuk dipakai.  Programmer Java akan lebih cepat untuk beradaptasi dan akan menghargai elemen-elemen bahasa baru seperti property, indexer, delegate, dan event.  Dengan mempelajari C#, anda juga telah mulai menapakkan kaki anda ke dunia pemrograman managed yang modern, di mana perbedaan bahasa, operating system, dan hardware tidak lagi menjadi pembatas.  Semoga tutorial ini dapat menarik minat anda untuk mempelajari C# lebih lanjut.



source : ajidotnet.wordpress.com



Technorati Tags: ,,


Read More...

CLR Execution Model (Bagian 01) – Kompilasi Source Code Menjadi Managed Module

Minggu, Juni 22, 2008 | , , | Comments

CLR (Common Language Runtime), sebagaimana namanya, adalah sebuah runtime yang bisa digunakan oleh banyak bahasa pemrograman. Fitur-fitur yang dimiliki CLR akan tersedia di semua bahasa pemrograman yang berjalan di atasnya. Sebagai contoh, CLR menggunakan exception untuk melaporkan terjadinya kesalahan. Maka semua bahasa pemrograman yang berjalan di atas CLR juga akan menggunakan exception untuk pelaporan kesalahan. Contoh yang lain, CLR mengizinkan kita untuk membuat thread, maka semua bahasa yang berjalan di atas CLR juga bisa membuat thread.

Sebenarnya, saat sedang berjalan (runtime), CLR tidak akan mengetahui dengan bahasa apa aplikasi yang sedang berjalan dibuat. Hal ini berarti kita bebas memilih bahasa pemrograman selama bahasa pemrograman tersebut berjalan di atas CLR. Jadi pilihlah bahasa yang paling mudah untuk mengekspresikan keinginan kita.

Lalu jika seperti itu, apa keuntungan menggunakan bahasa yang satu dibandingkan dengan bahasa yang lain? Baiklah, kita anggap saja sebuah compiler sebagai alat untuk mengecek sintaks. Ia akan memeriksa source code yang kita tulis, memastikan semuanya benar, lalu ia akan mengkonversi kode program kita menjadi bahasa yang lebih rendah (IL). Masing-masing bahasa pemrograman menawarkan sintaks yang berbeda. Jangan menganggap remeh perbedaan sintaks ini. Untuk aplikasi matematis atau keuangan, menulisnya dalam APL akan sangat menghemat waktu development jika dibandingkan membuatnya dalam sintaks Perl misalnya.

Microsoft telah membuat beberapa bahasa pemrograman yang berjalan di atas CLR, yaitu C++/CLI, C#, Visual Basic, Jscript, J#, dan Intermediate Language (IL) Assembler. Selain itu, beberapa perusahaan lain serta akademisi juga telah membuat compiler yang mentarget CLR untuk bahasa-bahasa yang telah ada, misalnya Ada, APL, COBOL, Heskell, Python, dll

Gambar 01 menunjukkan proses kompilasi source code. Sebagaimana terlihat, kita bisa menulis source code dengan bahasa apapun yang mendukung CLR. Lalu kita gunakan compiler dari bahasa yang bersangkutan untuk mengecek sintaks dan menganalisis source code. Apapun compiler yang kita gunakan, hasilnya akan berupa sebuah managed module. Managed module ialah sebuah standar Windows 32 bit untuk file portable executable (PE32) atau Windows 64 bit portable executable (PE32+) yang membutuhkan CLR untuk menjalankannya.

Gambar 01. Mengcompile source code menjadi managed module.

Managed module terdiri dari beberapa bagian sbb:

  1. PE32 atau PE32+ header: Berisi standar file header Windows PE. Di dalam header ini juga menyebutkan tentang tipe file: GUI, CUI, atau DLL, dan juga berisi informasi timestamp kapan file tersebut dibuat.
  2. CLR header: Berisi informasi yang akan dibaca oleh CLR. Informasi ini meliputi versi CLR yang dibutuhkan, beberapa flag, lokasi serta ukuran dari metadata, resource, strong name, dll.
  3. Metadata: setiap managed module berisi tabel metadata. Ada dua macam tabel ini, yaitu tabel yang mendeskripsikan tipe data dan member yang didefinisikan di dalam source code dan tabel yang mendeskripsikan tipe data dan member lain yang dijadikan referensi oleh source code.
  4. Kode Intermediate Language (IL): kode yang dibuat oleh compiler sebagai hasil proses kompilasi source code. Saat runtime, CLR akan meng-compile IL menjadi native CPU instruction.

Native compiler (seperti C dan C++) akan menghasilkan kode yang khusus untuk sebuah arsitektur CPU, seperti x86, x64, atau IA64. Namun, semua compiler yang mendukung CLR akan menghasilkan kode Intermediate Language (IL). Kita akan membahas tentang IL lebih dalam pada artikel berikutnya. Kode IL sering disebut sebagai managed code karena CLR-lah yang mengelola eksekusinya.

Selain menghasilkan IL, semua compiler yang mendukung CLR akan menuliskan metadata ke dalam setiap managaed module yang dibuatnya. Metadata merupakan superset dari teknologi yang lebih lama seperti Type Libraries dan Interface Definition Language (IDL). Hal penting yang perlu kita ketahui ialah bahwa metadada CLR lebih lengkap. Selain itu, tidak seperti Type Libraries dan IDL, metadata selalu diasosiasikan dengan file yang berisi kode IL. Pada kenyataannya, metadata selalu ditempatkan di dalam file EXE atau DLL yang dibuat oleh compiler sehingga tidak mungkin memisahkan antara kode IL dan metadata-nya. Karena compiler membuat metadata dan kode IL pada saat yang sama dan menggabungkan keduanya menjadi sebuah managed module, maka kode IL dan metadata-nya akan selalu sinkron.

Metadata mempunyai banyak kegunaan. Berikut ini beberapa diantaranya:

  1. Metadata membuat kita tidak memerlukan lagi header
    file ketika melakukan proses kompilasi karena semua informasi tentang tipe data yang dirujuk telah ada di dalam managed module bersama dengan kode IL. Compiler bisa langsung membaca metadata ini untuk mendapatkan informasi yang dibutuhkan.
  2. Microsoft Visual Studio menggunakan metadata ini untuk membantu kita dalam penulisan source code. Fitur IntelliSense akan membaca metadata ini untuk memberitahukan kepada kita tentang method, property, event, dan field apa saja yang dimiliki oleh sebuah tipe data, serta jika berkaitan dengan method, parameter apa saja yang dimiliki oleh method tersebut.
  3. Proses verifikasi kode yang dilakukan oleh CLR akan menggunakan metadata ini untuk memastikan bahwa kode yang kita tulis hanya boleh melakukan safe operation.
  4. Metadata memungkinkan kita melakukan serialisasi sebuah field milik sebuah obyek lalu mengirimkannya ke komputer lain, lalu melakukan deserialisasi, membuat kembali obyek dengan state yang sama di remote machine.
  5. Metadata memungkinkan garbage collector untuk menentukan masa hidup sebuah obyek. Garbage collector bisa menentukan tipe data sebuah obyek, dan melalui metadata, ia bisa mengetahui field apa saja dari obyek tersebut yang menunjuk ke obyek yang lain.

Secara default, Microsoft C++ compiler akan membuat modul EXE/DLL yang berisi unmanaged code. Modul ini tidak membutuhkan CLR untuk eksekusinya. Namung dengan menambahkan command-line switch /CLR, compiler C++ akan menghasilkan modul yang berisi managed code, dan tentu saja CLR harus diinstal untuk menjalankan modul ini. Compiler C++ sangat unik karena ia satu-satunya compiler yang mengizikan developer menulis managed code serta unmanaged code yang kemudian akan di-compile ke dalam modul yang sama. Ia juga mengizinkan developer untuk mendefinisikan managed data type serta unmanaged data type dalam source code yang sama.

source : firstyuyu.wordpress.com

 

Technorati Tags: ,,


Read More...

ASP.NET C# : Step by Step Akses Database dan menampilkan dalam grid

Selasa, Maret 18, 2008 | , | Comments

Pada artikel ini saya meringkas cara pengaksesan data ke sebuah database SQL dengan ADO.NET, menggunakan C#. Secara singkat mengakses data yang dicontohkan di sini ialah membuka koneksi ke database, mengakses tabelnya, dan menampilkan dalam sebuah datagrid.

1. Membuka Koneksi Database

Untuk mengakses data, kita menggunakan namespace berikut:

using System;


using System.Data;


using System.Data.OleDb;





Di sini kita menggunakan OleDb untuk mengakses data sql server. Sebetulnya kita bisa juga menggunakan namespace SqlClient, seperti berikut ini:






using System.Data.SqlClient;





Pada OleDb ini, kita menggunakan dua buah Class OleDbConnection dan OleDbCommand.



Contoh selengkapnya seperti tampak pada kode berikut ini. Query kita eksekusi dengan menggunakan OleDbCommand yang kemudian dimasukkan dalam OleDbDataAdapter, dan disajikan dalam DataSet.






namespace WebApplication1 {


public class apClsConnectData {


public apClsConnectData() {


}


public DataSet DataConnect(string sSQL) {


string strCon = "Provider=SQLOLEDB.1; Data Source = 192.168.88.108; InitialCatalog= apDocumentation;" + " User ID =sa; Password=widya";


 


OleDbConnection cn = new OleDbConnection(strCon);


 


cn.Open() ;


 


OleDbCommand cm = new OleDbCommand(sSQL,cn);


 


OleDbDataAdapter da = new OleDbDataAdapter();


 


da.SelectCommand = cm;


 


DataSet ds = new DataSet();


 


da.Fill(ds);


 


return ds;


        }


    }


}





2. Menampilkan data



Untuk menampilkan data, pertama kita bisa menggunakan class yang kita buat di atas, dan kemudian kita masukkan hasilnya – yaitu return value berupa DataSet ke sebuah datagrid.



Berikut kode untuk menggunakan Class di atas:






string sQuery ="Select * from apApplication_DocMain" + " where apID='" + Application["ApID"].ToString() + "'" ;


 


apClsConnectData cs = new apClsConnectData();


DataSet dsDoc = new DataSet();


dsDoc = cs.DataConnect(sQuery);





Setelah itu, kita sebetulnya bisa langsung memasukkan ke dalam sebuah datagrid dengan kode berikut ini,



DataGrid1.DataSource= dsDoc;

DataGrid1.DataBind();





dengan tidak lupa mencentang Create Columns Automatically at Runtime, pada Property Builder yang kita akses dengan mengklik kanan Datagrid yang kita tempatkan dalam sebuah web form.



Apabila kita ingin membuat kolomnya secara koding, maka tanda centang di atas kita hilangkan, dan setiap kolom yang ingin ditampilkan di datagrid kita kodekan.






//Column 1


 


undColumn bl1 = new BoundColumn();


1.HeaderText = "Description";


1.DataField= "Description";


 


Column 2


 


perLinkColumn hl = new HyperLinkColumn();


.HeaderText = "Title";


.DataTextField = "Title";


.DataNavigateUrlField ="Location" ;


.DataNavigateUrlFormatString ="{0}";


 


taGrid1.Columns.Add(hl);


taGrid1.Columns.Add(bl1);


 


da contoh kode di atas kita membuat kolom BoundColumn dan Hyperlink Column.





source: widyanahar.blogspot.com






Read More...

Tambah dan Hapus item pada listview (C# - Windows application)

Senin, Maret 17, 2008 | | Comments

Intro
============

Beberapa hari terakhir ini, gw lagi buat project yang berhubungan dengan operasi dasar pada listview. Sebenernya sih simple aja, seperti penambahan item pada listview, penghapusan item pada listview, mendapatkan jumlah item pada listview. Emang sih awal nya gw sedikit kesulitan, karena gw juga masih belajar ma yg nama nya C#. sekarang gw mao coba kasih sedikit source code untuk operasi seputar listview yang pernah gw buat.

Project
==============

Ok, langsung aja kita mulai. Lo create project dulu yak. Terserah mo lo kasih nama paan tuh project. Pada Form yang lo buat, masukin sebuah Listview. Kemudian ubah properti listview tersebut sesuai ma yang gw buat.

Properti Value
BorderStyle FixedSingle
FullRowSelect True
GridLines True
MultiSelect False
View Details

Tambahkan 2 buah TextBox dan 2 buah button. Sehingga tampilan menjadi seperti ini :

Tambahkan code pad form_load

private void Form1_Load(object sender, EventArgs e)


 


{


 


    listView1.Columns.Add(“Kode”);


 


    listView1.Columns.Add(“Nama”);


 


 


 


}




Saat form tersebut di load atau tampil, maka aka menciptakan 2 buah kolom pada listview. Kolom pertama dengan header “Kode” dan yang kedua dengan header “Nama”.



Double klik pada button1, dan masukkan code berikut ini:





private void button1_Click(object sender, EventArgs e)


 


{


 


    if (listView1.Items.Count == 0)


 


    {


 


        listView1.Items.Add(textBox1.Text);


 


        listView1.Items[0].SubItems.Add(textBox2.Text);


 


    }


 


    else


 


    {


 


        int i = listView1.Items.Count;


 


        listView1.Items.Add(textBox1.Text);


 


        listView1.Items[i].SubItems.Add(textBox2.Text);


 


    }


 


    textBox1.Text = “”;


 


    textBox2.Text = “”;


 


    textBox1.Focus();


 


 }




Code diatas akan memasukkan nilai pada Textbox1 dan Textbox2 pada item listview.



Untuk menghapus item listview dengan cara kita memilih item yang ingin di hapus, masukkan code berikut (saat run projet  double klik pada salah satu item di list view yang ada untuk memilih item yang akan dihapus dari listview)





private void listView1_DoubleClick(object sender, EventArgs e)


 


{


 


    listView1.FocusedItem.Remove();


 


}




Untuk menghapus seluruh item pada listview, double click pada button2, dan masukkan code berikut:





private void button2_Click(object sender, EventArgs e)


 


{


 


    listView1.Items.Clear();


 


}






Gambar diatas adalah gambar hasil ru project punya gw. Semoga sedikit ngebantu buat lo yang punya kasus seperti ini. makasih.



source : nugroz.wordpress.com




Technorati Tags: ,,


Read More...

[Archieve] Menyimpan & Membaca Gambar Dari Database Menggunakan C#.NET

Senin, Maret 17, 2008 | | Comments

Use : Microsoft SqlServer2000 & C#.NET VS2003

Tanggal 22 Juni - 22 Agustus 2006 aku Kerja Praktek disebuah perusahaan Developer Perumahan. Salah satu project software yang aku kerjain disana adalah membuat aplikasi Manajemen Data Karyawan. Salah satu komponen yang penting adalah foto karyawan yang disimpan ke database SQL Server.

Setelah buka ‘Kitab Suci’ MSDN seharian akhirnya aku menemukan jawabannya. Cukup simple sih caranya, intinya SQL Server sudah membuat sebuah tipe data untuk menyimpan gambar, datatypenya image dgn length default 16. Sayangnya SQL Server tidak menyediakan interface/antarmuka user untuk memasukkan data image ini. Jadi isinya sebenernya adalah data biner yang panjang banget dari sebuah image, padahal format image yg biasanya kita kenal misalnya gambar.jpg atau gambar.gif. Disinilah tugas C#.Net untuk membuat antarmuka viewer gambar untuk menampilkan atau menyimpan sebuah gambar.Teori ud kepanjangan, sekarang langsung praktek…

Tampilkan data foto dari database Simpan gambar ke database

Pertama-tama kita buat sebuah database baru di SQL Server. Boleh pakai Enterprise Manager, boleh juga pake Query Analyzer. Btw ini scriptnya untuk QA :

 


use pubs


create table PICTURE_DB


(


   pictureId int IDENTITY(1,1) NOT NULL,


   picture Image NOT NULL,


   CONSTRAINT [PK_Picture] PRIMARY KEY CLUSTERED (pictureId)


)





Aku pake “pubs” database bawaan SQL Server.Kalo mau bikin database sendiri juga boleh.Trus pictureId kubuat identity sehingga tidak perlu diisikan valuenya setiap kali insert data baru. Yang berlu kita insert hanyalah imagenya saja.



Database beres sekarang bikin aplikasi dengan C#.Net. Buat project dengan tipe Windows Application, save diharddisk.

Komponen yang pertama aku buat adalah TabControl,karena aku akan membagi fungsi program menjadi 2, yaitu menyimpan gambar ke Database dan menampilkan gambar dari database.Nama tabnya ‘Simpan’ dan ‘Tampil’.


Pada tab Simpan komponen yang dibuat :




Label;lblFilePath;set properties Textnya kosong : “”


PictureBox;pBoxSimpan


Button;btnSimpan;”Simpan”


Button;btnCari;”Cari”


Pada tab Tampil komponen yang dibuat :


PictureBox;pBoxTampil


ListBox;listBoxGambar


Button;btnTampil;”Tampil”


Button;btnRefresh;”Refresh List”




Untuk memilih gambar dari komputer kita gunakan objek


OpenFileDialog;dialogCari


keterangan format : Nama Komponen;Nama Objek;Text (untuk button)


Tampilan sudah oke, sekarang mulai mengcoding…(dari tampilan ‘View Code’)



Pertama-tama tambahkan 2 directive : using System.Data.SqlClient dan using System.IO.

Lalu kita buat juga sebuah objek lokal pada form yang nanti dipakai bersama. Objek tersebut adalah SqlConnection scon. Deklarasinya sbb :






 


SqlConnection scon=new SqlConnection("server=localhost;uid=sa;initial catalog=pubs");





konstruktornya kita isi dengan conn string dari database yang akan kita gunakan. Disini kita memakai server localhost, dengan userid : sa tanpa password,lalu databasenya : pubs, sesuai pembuatan tabel kita tadi.

Kode pertama untuk button btnCari :






 


private void btnCari_Click(object sender, System.EventArgs e)


{


      dialogCari.InitialDirectory = "C:\";


      dialogCari.Filter = "All Files|*.*|Bitmaps|*.bmp|GIFs|*.gif|JPEGs|*.jpg";


      dialogCari.FilterIndex = 2;


      if (dialogCari.ShowDialog() == DialogResult.OK )


      {


          pBoxSimpan.Image = Image.FromFile(dialogCari.FileName);


          pBoxSimpan.SizeMode = PictureBoxSizeMode.StretchImage;


          pBoxSimpan.BorderStyle = BorderStyle.Fixed3D;


          lblFilePath.Text = dialogCari.FileName;


      }


}





Penjelasan kode diatas adalah kita menggunakan objek OpenFileDialog dialogCari untuk mencari gambar dari harddisk komputer kita untuk kemudian ditampilkan ke PictureBox pBoxSimpan.Awal pencarian (InitialDirectory) mulai dari C:. Filter yang digunakan default adalah *.bmp. Dari hasil gambar yang dipilih kemudian ditampilkan ke pBoxSimpan. Lokasi Path dan nama file yang kita buka juga ditampilkan pada lblFilePath.



Untuk penjelasan Fungsi yang lain dan code selengkapnya silahkan download pada link dibawah. Kalo masih bingung silahkan kirim email ke antodoroki@gmail.com. Trus jangan lupa bikin dulu Tabelnya krn aku ga bikin error handling klo tabelnya ga di temukan.Error handling disini memang sangat minim karena ini hanya ditujukan untuk tutorial, jadi untuk alasan agar mudah dipahami maka kubuat sesimple mungkin.

Nanti bisa dikembangin sendiri..oche



Thanks to ‘Kitab Suci’ Digital MSDN



Download code pada link dibawah ini…Jangan lupa ganti ekstensinya dari .odt menjadi .zip kemudian silahkan di extract isinya.



Contoh Code dalam .NET2003 dan .NET2005..



source : antodoroki.wordpress.com




Technorati Tags: ,,


Read More...