1.
Fungsi Tanggal dan Waktu di C#
misal
kita bikin fungsi ambil tanggal hari ini
private
void button1_Click(object sender, EventArgs e)
{
DateTime tgl = DateTime.Now;
label1.Text = tgl.ToString();
}
ketika
method tersebut dijalankan biasanya secara default akan menghasilkan
“bulan/tgl/tahun jam:menit:detik AM/PM”.
Ada
beberapa pilihan cara memparsing nilai dari variabel tgl tadi
-
ToLongDateString : Akan menghasilkan tanggal dalam format longdate (panjang)
-
ToShortDateString : Akan menghasilkan tanggal dalam format shortdate (pendek)
-
ToString(string format) : akan menghasilkan tanggal sesuai dengan format yang
kita inginkan.
Anggap
saja method yang pertama tadi menghasilkan nilai variabel tgl = 10/24/2008
2:48:19 PM. maka :
String
tglshort = tgl.ToShortDateString(); //akan menghasilkan "10/24/2008".
String
tgllong = tgl.ToLongDateString(); //akan menghasilkan "Friday, October 24,
2008".
String
tglformat = tgl.ToString("dd-MMM-yyyy"); //akan menghasilkan
"24-Oct-2008".
dimana
dd = tanggal, MMM = bulan dalam format 3 huruf, yyyy = tahun.
format
ini bisa dirubah2 misal “dd/MM/yyyy” atau “MM/dd/yyyy” atau “MMM dd, yyyy”, dll
Semua
cara parsing diatas akan memberikan nilai kembalian dengan tipe string.
2.
Fungsi string di C#
String
adalah suatu tipe data bentukan seperti halnya array, bahakan string bisa
disebut array of char, yaitu array dari tipe data char (karakter), sehingga
membentuk suatu tipe data baru yang bisa menyimpan susunan huruf atau karekter
lainnya.
view
plainprint?
1.
using System;
2.
namespace InputOutput
3.
{
4.
class Program
5.
{
6.
static void Main(string[]
args)
7.
{
8.
String nama
= Console.ReadLine();
9.
Console.WriteLine("Nama Anda : " + nama);
10.
}
11.
}
12.
}
Jika
kita compile program diatas akan meminta inputan dari user dan menampilkannya
di layar, output dari program diatas adalah :
view
plainprint?
1.
Nama Anda : Yohanda Mandala
Selain
itu kita juga bisa melakukan suatu rekayasa pada tipe data string dengan
menggunakan method methodnya, sebagai contoh adalah mencetak suatu string
secara terbalik seperti dalam contoh dibawah ini :
view
plainprint?
1.
using System;
2.
3.
namespace String
4.
{
5.
class Program
6.
{
7.
static void Main(string[]
args)
8.
{
9.
string kata
= "abcdefghi";
10.
char[] x =
kata.ToCharArray();
11.
for (int i =
kata.Length - 1; i >= 0; i--)
12.
Console.Write(x[i]);
13.
}
14.
}
15.
}
Maka
ketika kita compile yang keluar bukanlah string "abcdefghij" akan
tetapi justru sebaliknya yaitu "jihgfedcba".
kata.Length()
Adalah method yang digunakan untuk mendapatkan panjang dari string tersebut.
Didalam hal ini panjang dari string tersebut adalah 10, untuk penghitungannya
dimulai dari 0, sehingga karakter “a” pada stringg tersebut berada pada indeks
ke-0 dan karakter “j” berada pada indeks ke “9”.
kata.ToCharArray()
adalah method yang digunakan untuk merubah string menjadi array of char.
Untuk
melihat fungsi fungsi apa saja yang terdapat di string pada C# bisa dilihat di
dokumentasi dari C# di Visual Studio.
3.
Timer di C#
Tutorial
kali ini adalah tutorial untuk membuat suatu jam digital di C#, kita akan
menggunakan jam local atau jam yang ada pada system. untuk lebih jelasnya mari
kita mulai membuat projectnya.
seperti
biasa, siapkan project baru dengan cara klik file pilih new project, untuk
project name silahkan isi sesuai dengan keinginan, karena tidak ada batasan
dalam memberi nama pada suatu project kecuali menggunakan karakter karakter
yang memang dilarang digunakan dalam menamai sebuah file, sekarang mari kita
buat langsug projectnya
langkah
pertama : tambahkan 3 komponen label pada form yang telah disiapkan tadi, dan
juga tambahkan komponen timer ke dalam form. atur dan tata sedemikian rupa
sehingga tampilannya seperti pada gambar dibawah ini
Gambar
1. Preview desain aplikasi
jika
komponen timer ditambahkan kedalam form. tidak akan terjadi perubahan, akan
tetapi lihat pada bagian bawah. akan muncul icon jam. itulah yang dinamakan
dengan komponen timer
Langkha
kedua : pada komponen timer yang telah ditambahkan kedalam form, double klik
untuk membangkitkan event timerTIck. setelah itu tambahkan code berikut ini
pada event yang muncul
jamku = DateTime.Now;
label2.Text = jamku.Hour.ToString();
label1.Text = jamku.Minute.ToString();
label3.Text = jamku.Second.ToString();
langkah
ketiga : pada event onLoad tambahkan source code berikut ini.
jamku = DateTime.Now;
timer1.Enabled = true;
dan
jangan lupa untuk mendeklatasikan variable global DateTime jamku
langkah
keempat : Done. program selesai dibut, jika langkah langkah diatas dilakukan
dengan benar maka, saat program dirunning tampilannya akan seperti gambar
dibawah ini
Gambar
2. Hasil running program
Untuk
lebih memudahkan dalam memahami tutorial ini.
download
binary filenya disini,
dan
juga download full projectnya disini.
4.
Menampilkan Gambar di C#
Menampilkan
atau mengambil gambar dengan C# pada database yang support SqlClient yaitu SQL
Server :
private
void dataGridView1_CellClick(object sender, DataGridViewCellEventArgs e)
{
textIdPerabot.Text = dataGridView1.CurrentRow.Cells[0].Value.ToString();
comboModel.Text = dataGridView1.CurrentRow.Cells[1].Value.ToString();
comboKategori.Text = dataGridView1.CurrentRow.Cells[2].Value.ToString();
textNmaPerabot.Text = dataGridView1.CurrentRow.Cells[3].Value.ToString();
textHarga.Text = dataGridView1.CurrentRow.Cells[4].Value.ToString();
Byte[] byteBLOBData = new Byte[0];
byteBLOBData = (Byte[])(dataGridView1.CurrentRow.Cells[5].Value);
MemoryStream stmBLOBData = new MemoryStream(byteBLOBData);
pictureBox1.Image = Image.FromStream(stmBLOBData);
}
Menyimpan
gambar dengan VB.NET pada database yang support ODBC misal MySQL :
Private Sub BtnUpdatePic_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles BtnUpdatePic.Click
Dim tpic As Byte() = System.IO.File.ReadAllBytes(txtFile.Text)
Dim con As New OdbcConnection
con.ConnectionString = "driver={mysql odbc 3.51
driver};server=localhost;database=karyawan;uid=root;password= ;"
con.Open()
Dim cmd As New OdbcCommand
cmd.Connection = con
cmd.CommandType = CommandType.Text
'PARAMETER HARUS PAKAI TANDA TANYA ? KHUSUS UNTUK ODBC
cmd.CommandText = "UPDATE peserta SET gambar = ? WHERE idpeserta = '102'
" ',@total)"
cmd.ExecuteNonQuery()
cmd.Dispose()
con.Close()
End Sub
Menampilkan
atau mengambil gambar dengan VB.NET pada database yang support ODBC misal
MySQL :
Private Sub BtnViewPictMysql_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles BtnViewPictMysql.Click
Dim fstream As New
IO.FileStream(IO.Path.GetDirectoryName(Application.ExecutablePath) &
"\tmp.dat", IO.FileMode.Create)
'fstream.Write(bs.Item(bs.Position)(4), 0,
System.Buffer.ByteLength(bs.Item(bs.Position)(4)))
'fstream.Write(dgv1.Rows(0).Cells("gambar").Value, 0,
System.Buffer.ByteLength(dgv1.Rows(0).Cells("gambar").Value))
fstream.Write(dgv1.SelectedRows(0).Cells("gambar").Value, 0,
System.Buffer.ByteLength(dgv1.SelectedRows(0).Cells("gambar").Value))
PicFoto.Image = Image.FromStream(fstream)
'PicFoto.SizeMode = PictureBoxSizeMode.Zoom
fstream.Close()
End Sub
Cara
lain menyimpan gambar binary ke database dengan C#.NET :
con.open
string query = "update Jenis_Penyakit set gambar=@gambar where
NAMA_PENYAKIT = '" +
dgGambarPenyakit.Rows[dgGambarPenyakit.SelectedRows[0].Index].Cells[1].
Value.ToString()
+ "'";
if (myconn.State.ToString() != "Open")
myconn.Open();
SqlCommand cmd = new SqlCommand(query, myconn);
cmd.Parameters.Add("@gambar", SqlDbType.Image, 0 , "");
cmd.Parameters[0].Value = tpic;
cmd.ExecuteNonQuery();
Cara
lain mengambil/menampilkan gambar binary dari database dengan C#.NET :
private void dgGambarPenyakit_Click(object
sender, EventArgs e)
{
myconn = koneksi.CON;
SqlCommand cmdSelect = new SqlCommand("SELECT GAMBAR FROM JENIS_PENYAKIT
WHERE NAMA_PENYAKIT = '" +
dgGambarPenyakit.Rows[dgGambarPenyakit.SelectedRows[0].Index].Cells[1].
Value.ToString()
+ "'", this.myconn);
myconn.Open();
byte[] barrImg = (byte[])cmdSelect.ExecuteScalar();
if (barrImg != null)
{
string strfn = Convert.ToString(DateTime.Now.ToFileTime());
FileStream fs = new FileStream(strfn,
FileMode.CreateNew,
FileAccess.Write);
fs.Write(barrImg, 0, barrImg.Length);
fs.Flush();
fs.Close();
this.myconn.Close();
picPenyakit.Image = Image.FromFile(strfn);
}
else
{
picPenyakit.Image = null;
}
}
Cara
lain menyimpan gambar binary ke database dengan VB.NET :
tpic
= File.ReadAllBytes(oSketsa.FileName)
If (tpic.GetType.ToString() <> "System.Object") Then
da.UpdateCommand.Parameters("@Sketsa").Value = tpic
End If
'cm.Parameters.Add("@Sketsa", OdbcType.VarChar, 0,
"").Value = pathCAD
cm.ExecuteNonQuery()
cn.Close()
Cara
lain mengambil/menampilkan gambar binary dari database dengan VB.NET :
If
(bs.Item(bs.Position)(4).GetType.ToString() <> "System.DBNull")
Then
Dim fstream As New FileStream(Path.GetDirectoryName(Application.ExecutablePath)
& "\sket.dat", FileMode.Create)
fstream.Write(bs.Item(bs.Position)(4), 0,
System.Buffer.ByteLength(bs.Item(bs.Position)(4)))
pSketsa.Image = Image.FromStream(fstream)
pSketsa.SizeMode = PictureBoxSizeMode.Zoom
fstream.Close()
Else
pSketsa.Image = Nothing
End If
Menyimpan
Gambar di Database MySQL dengan MySQLOledb
Public
Function SiswaInsert(ByVal Siswa As Siswa) As MySqlDataReader
Try
Dim ms As MemoryStream = New MemoryStream()
Siswa.Foto.Save(ms, System.Drawing.Imaging.ImageFormat.Jpeg)
Dim Pic_arr(ms.Length) As Byte
ms.Position = 0
ms.Read(Pic_arr, 0, Pic_arr.Length)
Dim StrSQL As String = "INSERT INTO siswa" & _
"
(Nis,Kelas_ID,Tahun_ID,Nama,Kota_lahir,Tanggal_lahir,Gender,Agama,
Alamat,Telepon,Terima_dkelas,Tgl_terima,Id_ThnAjaran,Sekolah_asal,
Anak_ke,Status_anak,Nama_Ayah,Nama_Ibu,Pekerjaan_Ayah,
Pekerjaan_Ibu,Penghasilan_Ortu,Alamat_Ortu,Telp_Ortu,Foto_Siswa)
" & _
" VALUES
(@Nis,@Kelas_ID,@Tahun_ID,@Nama,@Kota_lahir,@Tanggal_lahir,
@Gender,@Agama,@Alamat,@Telepon,@Terima_dkelas,@Tgl_terima,
@Id_ThnAjaran,@Sekolah_asal,@Anak_ke,@Status_anak,@Nama_Ayah,
@Nama_Ibu,@Pekerjaan_Ayah,@Pekerjaan_Ibu,@Penghasilan_Ortu,
@Alamat_Ortu,@Telp_Ortu,@Foto_Siswa);"
Dim myCommand As MySqlCommand = New MySqlCommand(StrSQL, myconnection.open)
myCommand.CommandType = CommandType.Text
Dim parameterS_Nis As MySqlParameter = New MySqlParameter("@Nis",
MySqlDbType.VarChar, 4)
parameterS_Nis.Value = Siswa.Nis
Dim parameterS_Kelas As MySqlParameter = New
MySqlParameter("@Kelas_ID", MySqlDbType.Int16)
parameterS_Kelas.Value = Siswa.Kelas
Dim parameterS_Angkatan As MySqlParameter = New
MySqlParameter("@Tahun_ID", MySqlDbType.Int16)
parameterS_Angkatan.Value = Siswa.Angkatan
Dim parameterS_Nama As MySqlParameter = New MySqlParameter("@Nama",
MySqlDbType.VarChar, 50)
parameterS_Nama.Value = Siswa.Nama
Dim parameterS_KotaLahir As MySqlParameter = New
MySqlParameter("@Kota_lahir", MySqlDbType.VarChar, 30)
parameterS_KotaLahir.Value = Siswa.KotaLahir
Dim parameterS_TglLahir As MySqlParameter = New
MySqlParameter("@Tanggal_lahir", MySqlDbType.Date)
parameterS_TglLahir.Value = Siswa.TglLahir
Dim parameterS_Kelamin As MySqlParameter = New
MySqlParameter("@Gender", MySqlDbType.VarChar, 1)
parameterS_Kelamin.Value = Siswa.Kelamin
Dim parameterS_Agama As MySqlParameter = New
MySqlParameter("@Agama", MySqlDbType.VarChar, 10)
parameterS_Agama.Value = Siswa.Agama
Dim parameterS_Alamat As MySqlParameter = New
MySqlParameter("@Alamat", MySqlDbType.VarChar, 100)
parameterS_Alamat.Value = Siswa.Alamat
Dim parameterS_Telepon As MySqlParameter = New
MySqlParameter("@Telepon", MySqlDbType.VarChar, 15)
parameterS_Telepon.Value = Siswa.Telepon
Dim parameterS_TerimadKelas As MySqlParameter = New MySqlParameter("@Terima_dkelas",
MySqlDbType.VarChar, 30)
parameterS_TerimadKelas.Value = Siswa.TerimadKelas
Dim parameterS_TglTerima As MySqlParameter = New
MySqlParameter("@Tgl_terima", MySqlDbType.Date)
parameterS_TglTerima.Value = Siswa.TglTerima
Dim parameterS_ThnAjaran As MySqlParameter = New
MySqlParameter("@Id_ThnAjaran", MySqlDbType.Int16)
parameterS_ThnAjaran.Value = Siswa.ThnAjaran
Dim parameterS_AsalSekolah As MySqlParameter = New
MySqlParameter("@Sekolah_asal", MySqlDbType.VarChar, 30)
parameterS_AsalSekolah.Value = Siswa.AslSekolah
Dim parameterS_AnakKe As MySqlParameter = New
MySqlParameter("@Anak_ke", MySqlDbType.VarChar, 30)
parameterS_AnakKe.Value = Siswa.AnakKe
Dim parameterS_StatusAnak As MySqlParameter = New
MySqlParameter("@Status_anak", MySqlDbType.VarChar, 30)
parameterS_StatusAnak.Value = Siswa.StatusAnak
Dim parameterS_NamaAyah As MySqlParameter = New
MySqlParameter("@Nama_Ayah", MySqlDbType.VarChar, 50)
parameterS_NamaAyah.Value = Siswa.NamaAyah
Dim parameterS_NamaIbu As MySqlParameter = New MySqlParameter("@Nama_Ibu",
MySqlDbType.VarChar, 50)
parameterS_NamaIbu.Value = Siswa.NamaIbu
Dim parameterS_KerjaAyah As MySqlParameter = New
MySqlParameter("@Pekerjaan_Ayah", MySqlDbType.VarChar, 30)
parameterS_KerjaAyah.Value = Siswa.KerjaAyah
Dim parameterS_KerjaIbu As MySqlParameter = New
MySqlParameter("@Pekerjaan_Ibu", MySqlDbType.VarChar, 30)
parameterS_KerjaIbu.Value = Siswa.KerjaIbu
Dim parameterS_HasilOrtu As MySqlParameter = New
MySqlParameter("@Penghasilan_Ortu", MySqlDbType.VarChar, 100)
parameterS_HasilOrtu.Value = Siswa.PenghaslianOrtu
Dim parameterS_AlamatOrtu As MySqlParameter = New MySqlParameter("@Alamat_Ortu",
MySqlDbType.VarChar, 100)
parameterS_AlamatOrtu.Value = Siswa.AlamatOrtu
Dim parameterS_TelpOrtu As MySqlParameter = New
MySqlParameter("@Telp_Ortu", MySqlDbType.VarChar, 15)
parameterS_TelpOrtu.Value = Siswa.TelponOrtu
Dim parameterS_Foto As MySqlParameter = New
MySqlParameter("@Foto_Siswa", MySqlDbType.Blob)
parameterS_Foto.Value = Pic_arr
With myCommand.Parameters
.Add(parameterS_Nis)
.Add(parameterS_Kelas)
.Add(parameterS_Angkatan)
.Add(parameterS_Nama)
.Add(parameterS_KotaLahir)
.Add(parameterS_TglLahir)
.Add(parameterS_Kelamin)
.Add(parameterS_Agama)
.Add(parameterS_Alamat)
.Add(parameterS_Telepon)
.Add(parameterS_TerimadKelas)
.Add(parameterS_TglTerima)
.Add(parameterS_ThnAjaran)
.Add(parameterS_AsalSekolah)
.Add(parameterS_AnakKe)
.Add(parameterS_StatusAnak)
.Add(parameterS_NamaAyah)
.Add(parameterS_NamaIbu)
.Add(parameterS_KerjaAyah)
.Add(parameterS_KerjaIbu)
.Add(parameterS_HasilOrtu)
.Add(parameterS_AlamatOrtu)
.Add(parameterS_TelpOrtu)
.Add(parameterS_Foto)
End With
Dim result As MySqlDataReader =
myCommand.ExecuteReader(CommandBehavior.CloseConnection)
Return result
Catch SqlEx As MySqlException
Throw New Exception(SqlEx.Message.ToString())
End Try
End Function
Mengambil
Gambar dari MySQL dengan MySQLOledb
Dim
objDataTable As New DataTable
Private Sub btnOk_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles btnOk.Click
Try
Dim DataControl As New AccessData.DataControl
Dim myData As DataSet = DataControl.GetDataSet("Select * from siswa where
nis = '" & txtNis.Text & "'")
objDataTable = myData.Tables("data")
If objDataTable.Rows.Count > 0 Then
AddSiswa.Show()
AddSiswa.txtNis.Text = objDataTable.Rows(0)("nis").ToString
AddSiswa.txtNama.Text = objDataTable.Rows(0)("nama").ToString
Dim stmBLOBData As MemoryStream = New MemoryStream()
stmBLOBData.Write(objDataTable.Rows(0)("Foto_Siswa"), 0,
System.Buffer.ByteLength(objDataTable.Rows(0)("Foto_Siswa")))
AddSiswa.PictureBox1.Image = Image.FromStream(stmBLOBData)
Else
MsgBox("Data Tidak Ditemukan")
End If
Catch ex As Exception
MsgBox(ex.Message)
End Try
End Sub
5.
Membaca File Teks dan Menampilkan Isinya
Saya
akan mencoba menunjukkan kepada anda bagaimana mangambil informasi dari sebuah
file text (.txt) dan kemudian menggunakan ArrayList untuk menampilkan informasi
tersebut ke user. Berikut langkah-langkahnya:
1.
Buka Microsoft Visual Studio 2010.
2.
Buat project baru di Console Application in Visual C#.
3.
Tambahkan project references System.IO , System.Collections .
4.
Tambahkan code berikut didalam Main
static
void Main(string[] args)
{
//Membuka sebuah file test.txt di E
StreamReader objReader = new StreamReader("E:\\test.txt");
//buat sebuah variabel string karena nilainya akan dimasukkan ke dalam
ArrayList
string sLine = "";
ArrayList arrText = new ArrayList();
while (sLine != null)
{
sLine = objReader.ReadLine();
if (sLine != null)
arrText.Add(sLine);
}
objReader.Close();
//menampilkan isi ArrayList ke layar
foreach (string sOutput in arrText)
Console.WriteLine(sOutput);
Console.ReadLine();
}