1.Fungsi Tanggal dan Waktu di C#
Sebenernya mau nulis lanjutan validation control, cuman lagi males bikin screen capturenya hehehe…
Secara default type datetime pada c# akan memberikan kembalian berupa tanggal dan waktu.
kalau tidak percaya coba bikin fungsi yang mengambil tanggal saat ini, pasti akan diberi kembalian berupa tanggal dan jam/waktu.
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”.
Terus gimana kalau yang kita butuhin cuman tanggalnya? gak butuh jamnya.
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.
using System;
namespace InputOutput
{
class Program
{
static void Main(string[] args)
{
String nama = Console.ReadLine();
Console.WriteLine("Nama Anda : " + nama);
}
}
}
Jika kita compile program diatas akan meminta inputan dari user dan menampilkannya di layar, output dari program diatas adalah :
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 :
using System;
namespace String
{
class Program
{
static void Main(string[] args)
{
string kata = "abcdefghi";
char[] x = kata.ToCharArray();
for (int i = kata.Length - 1; i >= 0; i--)
Console.Write(x[i]);
}
}
}
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.
fore more information contact on informasi@csharp-indonesia.com
4.
Menampilkan Gambar di C#
Cara menyimpan gambar atau file binary pada database dengan VB.NET dan
C#.NET, serta menampilkan gambar atau file binary dari database dengan
VB.NET dan C#.NET dapat dilakukan dengan beberapa cara, menggunakan
SqlClient, Oledb, Odbc, FileStream, MemoryStream. Di bawah ini beberapa
contoh cara-caranya :
Menyimpan gambar dengan C# pada database yang support SqlClient yaitu SQL Server :
private void btnEditPerabotan_Click(object sender, EventArgs e)
{
SqlConnection cn = new SqlConnection(@"Data Source=.\sqlexpress;Initial Catalog=SPP_5922;Integrated Security=true");
MemoryStream ms = new MemoryStream();
pictureBox1.Image.Save(ms, System.Drawing.Imaging.ImageFormat.Jpeg);
byte[] Pic_arr = new byte[ms.Length];
ms.Position = 0;
ms.Read(Pic_arr, 0, Pic_arr.Length);
SqlCommand cmdb = new SqlCommand("Update Perabot set
Perabot_Id= @perabotid, Perabot_Name= @perabotname,Harga=@harga,
Kategori_Id= @kategoriid, Model_Id= @modelid, Gambar=@gambar where
Perabot_Id =@perabotid", cn);
cmdb.Parameters.AddWithValue("@perabotid", textIdPerabot.Text);
cmdb.Parameters.AddWithValue("@perabotname", textNmaPerabot.Text);
cmdb.Parameters.AddWithValue("@harga", textHarga.Text);
cmdb.Parameters.AddWithValue("@kategoriid", comboKategori.Text);
cmdb.Parameters.AddWithValue("@modelid", comboModel.Text);
cmdb.Parameters.AddWithValue("@gambar", Pic_arr);
cn.Open();
try
{
int res = cmdb.ExecuteNonQuery();
if (res > 0)
{
MessageBox.Show("data berhasil disimpan");
RefreshGridPerabot();
}
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
finally
{
cn.Close();
}
}
Menyimpan gambar dengan VB.NET pada database yang support Oledb yaitu MS Access :
If Not PicCover.Image Is Nothing Then
_buku.Cover = PicCover.Image
End If
Public Function addBuku(ByVal _buku As Buku) As Boolean
Dim con As OleDbConnection = Connection.CON
Try
Dim ms As MemoryStream = New MemoryStream()
_buku.Cover.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)
con.Open()
Dim sc As OleDbCommand = New OleDbCommand("INSERT INTO BUKU
VALUES('" + _buku.IdBuku + "','" + _buku.Judul + "','" + _buku.Ringkasan
+ "',#" + _buku.TglTerbit.ToShortDateString + "#," +
_buku.Harga.ToString + ", @cover)", con)
Console.WriteLine(sc.CommandText)
sc.Parameters.AddWithValue("@cover", Pic_arr)
sc.ExecuteNonQuery()
Return True
Catch e As System.Data.SqlClient.SqlException
Return False
Catch e2 As Exception
Return False
Finally
con.Close()
End Try
End Function
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();
}
0 komentar:
Posting Komentar