Horas!!!

Sebuah artikel tentang bagaimana membangun sebuah diary pribadi dengan WPF.

Introduction Pengenalan

Some people like to write down any event that occurs like their birthday or parties. Beberapa orang suka menuliskan peristiwa yang terjadi seperti ulang tahun mereka atau pihak. They record the event from the recording device and save it everywhere so it can easily get lost. Mereka merekam acara dari perangkat rekaman dan simpan di mana-mana sehingga dapat dengan mudah tersesat. This little software just helps to organize the event and organize the video. Software ini kecil hanya membantu untuk mengorganisir acara tersebut dan mengatur video.

Background Latar belakang

Windows Presentation Foundation (WPF) is a new technology from Microsoft that allows the developer to manipulate the user interface more easily. Windows Presentation Foundation (WPF) adalah sebuah teknologi baru dari Microsoft yang memungkinkan pengembang untuk memanipulasi user interface yang lebih mudah. The developer can act as a designer to build a user interface in a more interactive manner. Para pengembang dapat bertindak sebagai desainer untuk membangun sebuah antarmuka pengguna dengan cara yang lebih interaktif.
Until today, WPF does not have a property or method that handles stream data like MediaElement . MediaElement uses property Source to grab the media or streaming media; it cannot grab from byte [] or Stream . Sampai hari ini, WPF tidak memiliki properti atau metode yang menangani data stream seperti MediaElement . MediaElement menggunakan properti Source untuk ambil media atau streaming media; itu tidak bisa ambil dari byte [] atau Stream . It is not nice since it can come from many difference sources. Ini tidak baik karena dapat berasal dari sumber banyak perbedaan.

Requirement Kebutuhan

  • Windows XP with SP2 or Window Vista Windows XP dengan SP2 atau Window Vista
  • Microsoft Visual C# 2008 and Visual Web Developer 2008 Express Edition Microsoft Visual C # 2008 dan Visual Web Developer 2008 Express Edition
  • SQL Express 2005 with SP2 SQL Express 2005 dengan SP2
  • XCeed Component: Datagrid for WPF. Komponen XCeed: datagrid untuk WPF. You can download XCeed Component: Datagrid for WPF. Anda dapat men-download XCeed Komponen: datagrid untuk WPF. You can download it for free here Anda dapat men-download secara gratis di sini
  • Some videos with *.wmv extension to try these samples. Beberapa video dengan ekstensi *. wmv untuk mencoba sampel tersebut. I already tried with video having a maximum length of 100 MB Saya sudah mencoba dengan video memiliki panjang maksimum 100 MB

Prepare Everything Siapkan Semuanya

There are three files that need to be downloaded: Ada tiga file yang perlu didownload:
  1. Source code of Personal Diary WPF Source code Diary Pribadi WPF
  2. Source code of ASP.NET Source code dari ASP.NET
  3. An SQL file Sebuah file SQL
The source code of Personal Diary WPF is the main application. Kode sumber Diary Pribadi WPF adalah aplikasi utama. It can be opened using Visual C# 2008 Express Edition. Hal ini dapat dibuka dengan menggunakan Visual C # 2008 Express Edition.
The source code of ASP.NET as video stream is the ASP.NET that can only produce the media streaming. Kode sumber ASP.NET sebagai aliran video adalah ASP.NET yang hanya dapat menghasilkan media streaming. For now I only produce Windows Video ( *.wmv ) and MPEG video ( *.mpg ). Untuk saat ini saya hanya memproduksi Windows Video (*. wmv) dan video MPEG (*. mpg). It can be opened using Visual Web Developer 2008 Express Edition. Hal ini dapat dibuka dengan menggunakan Visual Web Developer 2008 Express Edition.
An SQL file can be opened using SQL Server Management Studio Express. SQL File dapat dibuka menggunakan SQL Server Management Studio Express. My database name is persdiary . nama database saya persdiary. You can change it and don't forget to change the connection string in the app.config . Anda dapat mengubahnya dan jangan lupa untuk mengubah connection string di app.config tersebut. Run the SQL so that the tables are ready to use. Jalankan SQL sehingga tabel siap digunakan.
Open both projects - WPF project and Web site. Buka kedua proyek - proyek WPF dan situs Web. Since not all windows installation equips with IIS, I use a built-in web server that comes with the product. Karena tidak semua instalasi windows melengkapi dengan IIS, saya menggunakan built-in web server yang datang dengan produk tersebut. Run the website first to make sure the Web server up and running. Jalankan situs web pertama untuk memastikan server Web dan berjalan.
menjalankan proyek situs Web After the website runs and the browser shows the result, copy the address URL from the browser to the value in the appSetting and find the key of hostpath. Setelah menjalankan situs web dan browser menunjukkan hasilnya, salin alamat URL dari browser dengan nilai di appSetting dan menemukan kunci hostpath.

Code from Webstream Website Project Kode dari Webstream Website Proyek

Since MediaElement control with Source property from WPF cannot receive byte [] or Stream , we can manipulate it using ASP.NET as a video stream. Sejak kontrol MediaElement dengan Source properti dari WPF tidak dapat menerima byte [] atau Stream , kita dapat memanipulasi dengan menggunakan ASP.NET sebagai aliran video. First ASP.NET will load the data from the database. Pertama ASP.NET akan memuat data dari database. The video itself saves in the varbinary data types in the mstvideo table. Video itu sendiri menyimpan dalam varbinary tipe data dalam mstvideo tabel.

On the Page Load Method Pada Metode Load Halaman

Collapse
if (Request.QueryString.Count > 0 ) if (Request.QueryString.Count> 0)
{ (
   string videoid = Request.QueryString[ " vid" ]; string videoid = Request.QueryString ["vid"];
   if (!string.IsNullOrEmpty(videoid)) if (! string.IsNullOrEmpty (videoid))
   { (
       bool loadFull = false ; bool loadFull = false;
       string loadFullStr = Request.QueryString[ " loadfull" ]; string loadFullStr = Request.QueryString ["loadfull"];
       if (!string.IsNullOrEmpty(loadFullStr)) loadFull = Convert.ToBoolean(loadFullStr); if (! string.IsNullOrEmpty (loadFullStr)) loadFull = Convert.ToBoolean (loadFullStr);
       else lain
       { (
           Response.Write( " 

Full Load or not?

"
);
Response.Write ("Load Kendali

atau tidak? "); } ) byte [] result = ReadVideo(videoid, loadFull); ] Hasil [byte = ReadVideo (videoid, loadFull); WriteVideoToPage(result); WriteVideoToPage (hasil); } ) else lain { ( Response.Write( "

Need Video ID

"
);
Response.Write ("Video

Perlu ID "); } ) } ) else lain { ( Response.Write( "

Need Video ID

"
); Response.Write ("Video

Perlu ID "); } )

This code will detect the query string and call the method to query data from the database and write the result to this page. Kode ini akan mendeteksi string kueri dan pemanggilan metode untuk query data dari database dan menulis hasil ke halaman ini. There are only two query strings: vid and loadfull . Hanya ada dua string query: vid dan loadfull . Query string vid is a video id that is useful to load video data by video id from the table. Query string vid adalah id video yang berguna untuk mengambil data video dengan video id dari meja. Query string loadfull is a flag not to load the video fully; in this case I will load 1/8th of total bytes received from the table. Query string loadfull adalah sebuah bendera tidak untuk memuat video sepenuhnya; dalam hal ini saya akan memuat 1/8th total byte yang diterima dari meja.

On the ReadVideo Method Pada Metode ReadVideo

Collapse
using (SqlConnection connection = new SqlConnection(ConnectionString)) menggunakan (koneksi SqlConnection SqlConnection baru = (ConnectionString))
{ (
    connection. Open (); koneksi). Terbuka (;
    SqlCommand command = connection.CreateCommand(); SqlCommand command = connection.CreateCommand ();
    command.CommandType = CommandType.Text; command.CommandType = CommandType.Text;
    StringBuilder sb = new StringBuilder(); StringBuilder sb = StringBuilder baru ();
    sb.Append( " SELECT " ); sb.Append ("SELECT");
    sb.Append( " DATALENGTH(vdcontent) AS vdcontent_length, " ); sb.Append ("DATALENGTH vdcontent () AS vdcontent_length,");
    sb.Append( " vdcontent,vdformat " ); sb.Append ("vdcontent, vdformat");
    sb.Append( " FROM mstvideo " ); sb.Append ("DARI mstvideo");
        sb.Append( " WHERE vdid=@vdid " ); sb.Append ("WHERE vdid = @ vdid");
    command.CommandText = sb.ToString(); command.CommandText = sb.ToString ();
    command.Parameters. Add ( " @vdid" , SqlDbType. Char ).Value = videoid; command.Parameters. Add ("@" vdid, SqlDbType. Char) =. Nilai videoid;
    using (SqlDataReader reader = command.ExecuteReader()) menggunakan (SqlDataReader reader = command.ExecuteReader ())
        int startIdx = 0; startIdx int = 0;
        long retval = 0; panjang retval = 0;
        if (!reader.HasRows) if (! reader.HasRows)
         { (
             Response.Write( " 

Don't have rows !

"
);
Response.Write ("

Jangan baris>! } ) while (reader. Read ()) sementara (reader. Baca ()) { ( if (string.Compare(reader.GetString(reader.GetOrdinal if (string.Compare (reader.GetString (reader.GetOrdinal ( " vdformat" )), " .wmv" ,true)==0) ("Vdformat")), ". Rar", true) == 0) Response.ContentType = " video/x-ms-wmv" ; Response.ContentType = "video / x-ms-wmv"; else if (string.Compare(reader.GetString lain jika (string.Compare (reader.GetString (reader.GetOrdinal( " vdformat" )), " .mpg" ,true)==0) (Reader.GetOrdinal ("vdformat")), "). Mpg", benar == 0) Response.ContentType = " video/mpeg" ; Response.ContentType = "video / mpeg"; int buffersize = reader.GetInt32(reader.GetOrdinal( " vdcontent_length" )); buffersize int = reader.GetInt32 (reader.GetOrdinal ("vdcontent_length")); if (!loadFull) if (! loadFull) buffersize /= 8; buffersize / = 8; movieContainer = new byte[buffersize]; movieContainer = baru [byte buffersize]; retval =reader.GetBytes(reader.GetOrdinal( " vdcontent" ), startIdx, retval = reader.GetBytes (reader.GetOrdinal ("vdcontent"), startIdx, movieContainer, 0 , buffersize); movieContainer, 0, buffersize); } ) } ) } )

The code above queries the video from the table. Kode di atas permintaan video dari meja. The select statement DATALENGTH(vdcontent) measures the length of data that is stored in vdcontent . Pernyataan pilih DATALENGTH(vdcontent) mengukur panjang data yang disimpan di vdcontent . I use command.ExecuteReader() to execute the query. Saya menggunakan command.ExecuteReader() untuk mengeksekusi query. The result is the length of the video, the video itself and the video format. Hasilnya adalah panjang video, video itu sendiri dan format video. The video format is useful to choose the MIME type of the ASP.NET. Format video yang berguna untuk memilih tipe MIME dari ASP.NET itu. For now, I only support WMV and MPG. Untuk saat ini, saya hanya mendukung WMV dan MPG. Again if loadfull is false , then I set the buffersize smaller; in this case I only divide the size by 8. Sekali lagi jika loadfull adalah false , maka saya mengatur buffersize lebih kecil, dalam hal ini saya hanya membagi ukuran dengan 8.

On the WriteVideoToPage Method Pada Metode WriteVideoToPage

Response.BufferOutput = true ; Response.BufferOutput = true;
 // Response.BinaryWrite(movieContents); / / Response.BinaryWrite (movieContents);
 BinaryWriter binWriter = new BinaryWriter(Response.OutputStream); BinaryWriter binWriter = BinaryWriter baru (Response.OutputStream);
 binWriter.Write(videoData); binWriter.Write (videoData);
 binWriter.Flush(); binWriter.Flush (); 
ASP.NET will render the video by writing the contents using System.IO.BinaryWriter . ASP.NET akan membuat video dengan menulis isinya menggunakan System.IO.BinaryWriter . The ASPX file itself is empty. The ASPX file itu sendiri adalah kosong.
 RegistryKey regKey = Registry.CurrentUser; RegistryKey regKey = Registry.CurrentUser;
 regKey = regKey.OpenSubKey( " Software" ); regKey = regKey.OpenSubKey ("Perangkat Lunak");
 regKey = regKey.OpenSubKey( " Nicko" ); regKey = regKey.OpenSubKey ("Nicko");
 if (regKey != null ) if (regKey! = null)
 { (
     result = regKey.GetValue( " ConnectionString" ).ToString(); Hasil = regKey.GetValue ("ConnectionString")). ToString (;
 } ) 
I use the registry key to get the connection string. Saya menggunakan kunci registri untuk mendapatkan string koneksi. So you can change the connection string once in the WPF app.config . Sehingga Anda dapat mengubah koneksi string sekali dalam app.config WPF.

Code from Personal Diary WPF Project Kode dari Personal Diary WPF Proyek

This is the main application that is written in WPF. Ini adalah aplikasi utama yang tertulis dalam WPF. The application can add a diary event and the video. Aplikasi ini dapat menambahkan acara buku harian dan video. You can click the video in the list below to enlarge the video to the center. Anda dapat mengklik video dalam daftar di bawah ini untuk memperbesar video ke pusat. Don't forget to add a reference to XCeed datagrid for WPF to make this work. Jangan lupa untuk menambahkan referensi ke XCeed datagrid untuk WPF untuk membuat karya ini.
First I add two new namespaces in MainWindow.xaml - The XCeed datagrid and local namespace: Pertama saya menambahkan dua ruang nama baru di MainWindow.xaml - The datagrid XCeed dan ruang nama lokal:
xmlns:local="clr-namespace:Diary.WPF" xmlns: lokal = "clr-namespace: Diary.WPF"
xmlns:xceed="clr-namespace:Xceed.Wpf.DataGrid;assembly=Xceed.Wpf.DataGrid" xmlns: xceed = "clr-namespace: Xceed.Wpf.DataGrid; perakitan = Xceed.Wpf.DataGrid" 
I add the Xceed datagrid to the grid layout: Aku menambahkan datagrid Xceed untuk layout grid:
< xceed:DataGridControl HorizontalAlignment =" Left" Margin =" 10,10,0,0"  DataGridControl HorizontalAlignment = "Waktu" Margin = "10,10,0,0"
 x:Name =" dgvEvents" VerticalAlignment =" Top" Width =" 380" x: Name = "dgvEvents" VerticalAlignment = "Top" Lebar = "380"
 MaxHeight =" 180" Height =" 180" SelectionMode =" Single" AutoCreateColumns =" False" MaxHeight = "180" Height = "180" SelectionMode = "Single" AutoCreateColumns = "Salah"
 NavigationBehavior =" RowOnly" TabIndex =" 0" ReadOnly =" True" NavigationBehavior = "RowOnly" TabIndex = "0" Readonly = "Benar"
 Mouse.MouseUp =" Datagrid_MouseUp" Keyboard.KeyUp =" DataGrid_KeyUp" > Mouse.MouseUp = "Datagrid_MouseUp" Keyboard.KeyUp = "DataGrid_KeyUp">
 < xceed:DataGridControl.Columns > 
 < xceed:Column FieldName =" EvDate" VisiblePosition =" 0" Title =" Date " Width =" 80" / >  Kolom FieldName = "EvDate" VisiblePosition = "0" Judul = "Tanggal" Lebar = "80" />
 < xceed:Column FieldName =" EvName" VisiblePosition =" 1" Title =" Name" Width =" 80"  Kolom FieldName = "EvName" = VisiblePosition "1" Judul = "Nama" Lebar = "80"
    TextWrapping =" Wrap" / > Teks rata = "Bungkus" />
 < xceed:Column FieldName =" EvStories" VisiblePosition =" 2" Title =" Stories"  Kolom FieldName = "EvStories" VisiblePosition = "2" Judul = "Stories"
    TextWrapping =" Wrap" Width =" 190" / > Teks rata = "Bungkus" Lebar = "190" />
 < / xceed:DataGridControl.Columns >  Xceed: DataGridControl.Columns>
 < / xceed:DataGridControl >  Xceed: DataGridControl> 
The grid will change the selected item when the mouse is clicked and keyboard is pressed up and down. grid akan mengubah item yang dipilih saat mouse diklik dan keyboard ditekan atas dan ke bawah. It will trigger to refresh the video content. Ini akan memicu untuk me-refresh konten video.
private void Datagrid_MouseUp( object sender, MouseButtonEventArgs e) swasta void Datagrid_MouseUp (pengirim objek, MouseButtonEventArgs e)
 { (
     RefreshContents(); RefreshContents ();
 } )
.... ....

private void DataGrid_KeyUp( object sender, KeyEventArgs e) swasta void DataGrid_KeyUp (pengirim objek, KeyEventArgs e)
{ (
       if (e.Key == Key.Up || e.Key == Key.Down) if (e.Key Key.Up == | | == e.Key Key.Down)
       { (
           RefreshContents(); RefreshContents ();
       } )
} ) 
I add the buttons that have a function to add event and add video. Aku menambahkan tombol yang memiliki fungsi untuk menambahkan event dan menambahkan video.
... ...
< Button Height =" 23" x:Name =" btnAddEvent" Width =" 30"  Tinggi = "23" x: Name = "btnAddEvent" Lebar = "30"
        Click =" btnAddEvent_Click" > Add < / Button > Klik = "btnAddEvent_Click" Tambah> Button>
... ...
< Button x:Name =" btnAddNewVideo" Click =" btnAddNewVideo_Click" > Add new < / Button >  x: Name = "btnAddNewVideo" Klik = "btnAddNewVideo_Click"> Tambah Tombol> 
The button will trigger an event to open a dialog window. Tombol akan memicu suatu peristiwa untuk membuka jendela dialog.
private void btnAddEvent_Click( object sender, RoutedEventArgs e) btnAddEvent_Click swasta void (pengirim objek, RoutedEventArgs e)
{ (
 ... ...
 bool ? bool? result = dlgInsert.ShowDialog(); Hasil = dlgInsert.ShowDialog ();
 ... ...
} )
} ) 
The method will open the new event dialog window: Metode yang akan membuka jendela dialog acara baru:


private void btnAddNewVideo_Click( object sender, RoutedEventArgs e) btnAddNewVideo_Click swasta void (pengirim objek, RoutedEventArgs e)
 { (
 ... ...
 bool ? bool? result = dlgVideo.ShowDialog(); Hasil = dlgVideo.ShowDialog ();
 ... ...
 } ) 
The method will open the new video dialog window: Metode yang akan membuka jendela dialog video baru:
When I click one of the videos below, the video will enlarge in the middle and play the video in full. Ketika saya klik salah satu video di bawah ini, video akan memperbesar di tengah dan memutar video secara penuh. When I click that large video, it will go back to the list below: Ketika saya klik yang video besar, itu akan kembali ke daftar di bawah ini:
private void me_MouseUp( object sender, MouseButtonEventArgs e) me_MouseUp swasta void (pengirim objek, MouseButtonEventArgs e)
 MediaElement me = sender as MediaElement; MediaElement saya = pengirim sebagai MediaElement;
 if (stkpanVideo.Children.IndexOf(me) >= 0 ) if (stkpanVideo.Children.IndexOf (aku)> = 0)
 { (
 // Quick and Dirty / / Cepat dan Dirty
  ... ...
 me.Height *= 4 ; me.Height *= 4;
 me.Width *= 4 ; me.Width *= 4;
  ... ...
 } )
 else lain
 { (
 // Quick and Dirty / / Cepat dan Dirty
 ... ...
 me.Height /= 4 ; me.Height / = 4;
 me.Width /= 4 ; me.Width / = 4;
 ... ...
 } )
} ) 
I create an XAML to act as a window dialog to add events to the table. Aku membuat XAML untuk bertindak sebagai jendela dialog untuk menambahkan event ke meja. It is Insert InsertEventDialog.xaml . Hal ini InsertEventDialog.xaml Sisipkan. I use a grid layout to create a table-like layout with textblocks and textboxes as input controls. Saya menggunakan layout grid untuk membuat tata letak meja seperti dengan textblocks dan textboxes sebagai kontrol input. I use a Windows Form DateTimePicker to choose event date. Saya menggunakan Windows Formulir DateTimePicker untuk memilih event date. I create InsertNewVideo.xaml to add a video for the selected diary event. Cara membuat InsertNewVideo.xaml untuk menambahkan video untuk acara buku harian yang dipilih.
... ...
    ... ...
< TextBlock ... / >  ... />
< TextBox ... / >  ... />
... ...
< WindowsFormsHost Name =" wpfHost" >  Nama = "wpfHost">
    < windowsform:DateTimePicker ...  WindowsFormsHost >  DateTimePicker ... WindowsFormsHost> 

Points of Interest Poin Kepentingan

I learnt how to bind data to the WPF control using the ObservableCollection < of T > , not only Dataset or Datatable . Saya belajar cara mengikat data ke kontrol WPF menggunakan ObservableCollection < of T > , tidak hanya Dataset atau Datatable . I just write the property name to the binding source in the control property and automatically bind. Aku hanya menulis nama properti ke sumber yang mengikat dalam properti kontrol dan secara otomatis mengikat.
ASP.NET can be used as a streaming video source, so I can use it as a dynamic source for MediaElement . ASP.NET dapat digunakan sebagai sumber video streaming, sehingga saya dapat menggunakannya sebagai sumber yang dinamis untuk MediaElement .

History Sejarah

  • Version 1.0: 28 December 2007 - Application released Versi 1.0: 28 Desember 2007 - Aplikasi dirilis

License Lisensi

This article, along with any associated source code and files, is licensed under The Code Project Open License (CPOL) Artikel ini, bersama dengan kode sumber yang terkait dan file apapun, dilisensikan di bawah Kode Proyek Open License (CPOL)
Read More …

Pada Kesempatan kali ini saya akan memberikan tips bagaimana membuat koneksi database dari sql server 2005 ke visual basic 2005 (VB 2005).
Kenapa VB 2005, karena saat ini saya sedang belajar pemrograman vb 2005 ditambah sudah semakin berumurnya vb 6, membuat saya ingin beralih. Ok langsung kita mulai saja.
Sebelumnya, jika Anda blm punya SQL server 2005 Express disini
dan SQL Server Management Studio Express disini


Buat dahulu database di SQL server dengan menggunakan SQL Server Management Studio Express.
Buka SQL Server Management Studio Express di Start Menu ->All programs -> Microsoft SQL Server 2005 -> SQL Server Management Studio Express.
Setelah itu akan muncul tampilan seperti di bawah ini :
SQL Server Management

Pastikan nama servernya benar, setelah itu pada klik kanan pada database -> New database. Dalam contoh ini saya akan membuat database dengan nama Ihsan
SQL Server Management.jpg (2)
Setelah selesai, buka visual basic 2005. Tambahkan sebuah objek di form, yaitu button. Lalu ganti tulisan button dengan tulisan “Connect to database” dengan cara mengganti properti text pada button.
Setelah itu kita masuk pada tahap coding, double click pada button yang telah ditambahkan tadi.
Masukan code dibawah ini ke dalam form coding tersebut :
Public Class Form1
Inherits System.Windows.Forms.Form
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim sqlconn As New SqlClient.SqlConnection
‘membuat koneksi dengan database
‘RAIN-57C3A9A4CD\SQLEXPRESS adalah nama server di komputer, ini bisa diganti
sqlconn.ConnectionString = “server = RAIN-57C3A9A4CD\SQLEXPRESS;Database = Ihsan;integrated security=true”
Try
sqlconn.Open()
Catch ex As Exception
MessageBox.Show(ex.Message, “Connection Failed”, MessageBoxButtons.OK, MessageBoxIcon.Error)
End Try
If sqlconn.State = 1 Then
Me.Text = “Koneksi Berhasil”
Me.BackColor = Color.Aqua
End If
End Sub
End Class
Perancangan form
Perancangan form
Koneksi berhasil
Koneksi berhasil

Penjelasan :
1. Inherits System.Windows.Forms.Form : Class Form1 sebagai turunan
(inherits)dari System.Windows.Forms.Form. Ini karena setiap objek
yang kita buat pada vb 2005 terdiri dari class. 2. sqlconn.ConnectionString = “server =
RAIN-57C3A9A4CD\SQLEXPRESS;Database = Ihsan;integrated
security=true”
: Sintaks ini sebagai pembuat koneksi
database antara vb 2005 dengan sql server 2005, dengan nama
server “RAIN-57C3A9A4CD\SQLEXPRESS” adalah nama komputer
saya, sedangkan nama databasenya adalah Ihsan sesuai dengan
yang tadi telah kita buat. Nama server dan database sebaiknya
diganti sesuai nama server pada laptop atau komputer anda.
3. Perintah try sampai dengan end try adalah sintaks yang berfungsi
untuk mengalihkan jika terjadi error. Jika dalam instruksi dalam Try
terdapat kesalahan maka yang akan dijalankan adalah instruksi
dibawah catch. Dalam contoh di atas apabila, tidak ada kesalahan
pada Try koneksi akan berjalan, sedangkan jika tidak akan keluar
pesan eror.
4. Sedangkan pada percabangan if, jika koneksi berhasil akan merubah background form dan properti text pada form.
Semoga bermanfaat !
Read More …

Sebenarnya gwga mau ngasitau cara ini, cz bisa bisa software yang gw gunakan untuk Cheat point blank bisa terdeteksi oleh hackshield yang ada di point blank,namun karena ini untuk kemajuan blogianz ya terpaksa ian posting juga Cheat Point blank ini…

Yang dibutuhkan adalah
• MHS : untuk Cheat Point blank
• Hide Tools : menyembunyikan software yang sedang digunakan

Yang harus dipersiapkan :
• Rokok untuk perokok, kopi untuk yang suks minum kopi, bokep untuk bokep'ers. upz yang terakhir jangan dulu, ntar ga jadi maen malah jadi.....hmmmm....tau lah, wkwkwkwk
• berdoa. itu penting biar kita selamat sampe tujuan. lho???wakakaka

 
langsung aj ya !!! banyak basi basa, kebalik.
Sebelum mau menggunakan software yang diatas carilah cadangan software supaya jika ini tidak bisa dapat
menggunakan software cadangan misal MHS sudah terdeteksi carilah lagi software yang mirip Mhs cara kerjanya dan jika Hide tools sudah terdeteksi carilah software yang cara kerjanya mirip ngerti kan ??
Akhirnya kita langsung ke inti permasalahan yaitu cheat point blank langsung kita ke cara !!

Cheat Point blank darah tidak terbatas
• Pertama sembunyikan Mhs dengan Hide Tools lalu jalankan Mhs

• Lalu setalah Pb launcher selesai cepatlah Attach Point blank.exe sebelum Hack Shield aktif (Attach = Open Procees lalu pilih PointBlank.exe lalu OK ) Ini untuk Mhs

• Setelah itu buatlah Room dimana saja jadi sobat jadi Room Master

• Darah kita masih 120 atau 100 lalu scan lah di MHs dengan Cara CTRL + Shift + S
Setelah itu masukan angka 100 atau 120 ke kotak Value to Find….
Date Type pilih yang Long
Evaluation Type pilih Exact Value lalu OK

• Pasti terdapat banyak sekali value 100 maka dari itu cobalah merubahnya angka 100 dengan cara boom diri sendiri tapi jangan sampai mati (intinya mengurangi darah )

• Jika darah sobat sekarang 40 lalu scan lah di MHs dengan Cara CTRL + Shift + D
Setelah itu masukan angka 40 ke kotak Value to Find….
Date Type pilih yang Long
Evaluation Type pilih Exact Value lalu OK

• Maka akan ada satu value 40 lalu klik value tersebut danganti angkanya jadi 250 lalu klik kanan Lock selected

• Mainlah seperti biasa tapi lebih baik pertama tama sobat mati dulu 5 kali karena jika tidak mati mati akan membuat musuh tahu bahwa anda sekrang sedang Cheat Point Blank….

• Selesai dech Cara Cheat Pint blank darah tidak terbatas

Note : untuk orang yang tidak bisa main Pb tapi mau main wkwkwkw

Cheat Point blank Cash

• Pertama sembunyikan Mhs dengan Hide Tools lalu jalankan Mhs

• Lalu setalah Pb launcher selesai cepatlah Attach Point blank.exe sebelum Hack Shield aktif (Attach = Open Procees lalu pilih PointBlank.exe lalu OK ) Ini untuk Mhs

• Misal cash kita ada 1000 lalu scan lah di MHs dengan Cara CTRL + Shift + S
Setelah itu masukan angka 1000 ke kotak Value to Find….
Date Type pilih yang Long
Evaluation Type pilih Exact Value lalu OK

• Pasti terdapat banyak sekali value 1000 maka dari itu cobalah merubahnya angka 100 dengan cara membeli barang yang murah

• Maka setelah member barang yang murah pastinya cash anda berkurang misal 600
Setelah CTRL +Shift + D lalu masukan angka 600 ke kotak Value to Find….
Date Type pilih yang Long
Evaluation Type pilih Exact Value lalu OK

• Maka akan ada satu value 600 lalu klik value tersebut dan ganti angkanya jadi 9999 lalu klik kanan Lock selected

• Selesai dech Cara Cheat Point Blank Cash dengan Mhs

Note : untuk orang yang tidak punya duit untuk Beli cash seperti ian

Cheat Point blank Peluru tidak terbatas

• Pertama sembunyikan Mhs dengan Hide Tools lalu jalankan Mhs

• Lalu setalah Pb launcher selesai cepatlah Attach Point blank.exe sebelum Hack Shield aktif (Attach = Open Procees lalu pilih PointBlank.exe lalu OK ) Ini untuk Mhs

• Setelah itu buatlah Room dimana saja jadi sobat jadi Room Master

• Peluru kita masih 30 lalu scan lah di MHs dengan Cara CTRL + Shift + S
Setelah itu masukan angka 30 ke kotak Value to Find….
Date Type pilih yang Long
Evaluation Type pilih Exact Value lalu OK

• Pasti terdapat banyak sekali value 100 maka dari itu cobalah merubahnya angka 100 dengan cara tembak tembak gak jelas (intinya berkurang)

• Jika peluru sobat sekarang 20 lalu scan lah di MHs dengan Cara CTRL + Shift + D
Setelah itu masukan angka 20 ke kotak Value to Find….
Date Type pilih yang Long
Evaluation Type pilih Exact Value lalu OK

• Maka akan ada satu value 20 lalu klik value tersebut dan ganti angkanya jadi 250 lalu klik kanan Lock selected

• Mainlah seperti biasa

• Selesai dech Cara Cheat Pint blank Peluru tidak terbatas

Note : Cara ini sangat ampuh untuk main Destroy wkwkwk Ancur Ancur tuh Helikopter dengan peluru tidak terbatas wkwkwk

Kesimpulan dari Cheat Point Blank :
Caranya sama saja tidak terlalu berbeda tetapi yang jadi masalahahnya ialah software di detect oleh Hack shield maka dari itu carilah software yang belum terdetek oleh hack Shield.
Read More …

Bagi gw Cheat Engine itu adalah salah satu Hack Tools kesukaan yang paling gw sukai,Mengapa ? Karena hampir semua game dan software bisa di hack oleh software satu ini tetapi bukan hanya itu saja karena jika ingin belajar cheat engine harus mempunyai niat yang
kuat dan rasa ingin tahu yang tinggi pula.Langsung saja ian kasih tahu caranya !!

1. Pertama yang dibutuhkan adalah sebuah computer lengkap dengan perangkatnya
2. Uang untuk main di warnetnya, beuakakaka
3. Download lah Cheat Engine versi yang terbaru,Kalau yang sekarang yang versi 5.5
4. Setelah itu jalankan software tersebut lalu klik yang mirip gambar computer..Letaknya di bawah TAB file
5. Kalau sudah di klik pilih Client008.exe (kalau gak bisa di open dan kata cheat enginenya error sobat harus disabled Deep Freenze ) Klo gak tau Deep Freenze berarti jarang ke warnet ya ??? Itu lohh yang gambarnya beruang putih,,,, Tau kan ???
6. Setelah tahap kelima yang melelhakan selesai sobat pilih Scan Typenya yang UKNOWN INITIAL VALUE ( yang bereati kita tidak tahu valuenya )
7. Setelah itu First Scan dan tunggu beberapa saat, Klo dah matang angkat wkwkwkwkwk Bercanda
8. Lalu scan typenya ganti dengan Increased Value ( yang artinya mencari Value yang bertambah ) Value itu angka Menurut Ian )
9. Nahh pada saat ini pasti banyak Addres
10. Pada saat ini kita belum bisa menemukan Valuenya karena masih banyak sekali address, MAKA dari itu kita Scan lagi dengan yang Increased Value by (Isilah dengan angka satu ) Karena waktu di billing pasti nambahnya satu terus…. Ngerti gak ??? Contoh sekarang sobat dah main selama 10.20 lalu bertambah lagi 10.21 lalu bertambah lagi 10.22 dan seterusnya kan ??? MAKA dari itu angkanya harus di pilih satu
11. Kalau sudah tahap ini sobat sudah dapat mencarinya dengan mata tanpa perlu di scan lagi. Dengan cara mencari angka yang sama dengan waktu billing
12. Contoh : | 01.00 = 60 | 10.00 = 600 | 50.00 = 3000 | yang warna biru itu sama aja detik
13. Kalau dah ketemu yang mirip dengan angka di billing sobat…Lalu sobat…Lalu klik angkanya dan kurangi angkanya sedikit saja misal yang tadinya 2398 jadi 2388
14. Kalau sudah di tahap ini, jangan buka website bokep (sok suci,waka waka e e)
15. Uang yang dipersiapkan tadi jangan lupa untuk disisihkan ke yang tidak mampu, ya seperti saya ini. ga banyak koq cuma 50ribu. hahahaha

Ohh ya kalau anda seorang yang gemar gunain cheat engine pastinya tidak perlu tutorial ini karena sudah hafal kuncinya dan tinggal otak atik dikit hihihihihihi……Mau tau gak sekarang ian lagi mau Hack point blank supaya point ian banyak hahahahaha tapi ian harus penelitian dulu
Read More …

Melanjutkan artikel kemarin, sebelum kita lanjutkan pembuatan aplikasi ini, ada baiknya kita berkenalan sedikit dengan LINQ.
Apa itu LINQ?
LINQ (Language Integrated Query), merupakan suatu bahasa yang digunakan untuk melakukan query terhadap suatu sumber data (-sederhananya-). LINQ terdiri dari beberapa pernyataan (statement) yang bisa diterapkan ke dalam program kita untuk memilih item dari beberapa koleksi (collection) berdasarkan kriteria yang berbeda.

Contoh struktur LINQ dan aturannya dalam aplikasi. Coba kita lihat daftar array di bawah ini:
  1. Dim data() As Int16 = {3, 2, 5, 4, 6, 4, 12, 43, 45, 42, 65}  



Untuk menentukan elemen dari array tersebut, kita akan menggunakan looping For..Next, mengeksekusi tiap elemen array, dan nantinya bisa menyimpannya ke dalam array baru atau menghapusnya. Untuk memilih elemen dengan nilai yang lebih kecil dari 10, kita gunakan kode di bawah ini:



  1. Dim nilaiKecil(data.Length-1) As Integer   
  2. Dim itm As Integer = 0   
  3. For i As Integer = 0 To data.Length   
  4.     If data(i) < 10 Then   
  5.         nilaiKecil(itm) = data(i)   
  6.         itm += 1   
  7.     End If   
  8. Next   
  9. ReDim nilaiKecil(itm)  



Akan lebih mudah menyimpan elemen-elemen yang telah terpilih ke dalam suatu ArrayList menggunakan looping seperti di bawah ini:



  1. Dim nilaiKecil As New ArrayList   
  2. Dim itm As Integer   
  3. For Each itm In data   
  4.     If itm < 10 Then   
  5.         nilaiKecil.Add(itm)   
  6.     End If   
  7. Next  



Bila kita menggunakan LINQ,



  1. Dim nilaiKecil = From n In data _   
  2.     Where n < 10 _   
  3.     Select n  



Penggunaan bahasa dalam LINQ hampir sama dengan bahasa yang digunakan dalam SQL. Jika kita telah terbiasa dengan bahasa yang digunakan dalam SQL, kita akan menemukan beberapa kemiripan.



Contoh pernyataan SQL:





SELECT *


FROM data




WHERE data.n < 10



(Contoh di atas mengasumsikan dalam database kita terdapat tabel data yang memiliki kolom bernama n). Bila menggunakan LINQ, kode kita menjadi:





Dim = From n In data


Where n < 10



Ok, cukup teorinya... kita langsung saja ke praktek pembuatan program ;)



Pada tutorial kemarin kita telah membuat database barang dan kategori menggunakan SQL Express 2005, nah sekarang kita akan membuat tiap-tiap form untuk form barang dan untuk form kategori. Ikuti langkah-langkah berikut:







1. Menambah Form Barang




Tambahkan satu form dan beri nama frmBarang, dengan cara memilih menu Project > Add Windows Form atau dengan mengklik kanan nama proyek kita di solution explorer dan memilih Add > Windows Form. Akan muncul window Add New Item, masukkan nama frmBarang dan klik add.










Akan muncul form baru dengan nama frmBarang. Atur besar form sesuai keinginan.







2. Property Form Barang




(Skip jika ingin melewati bagian ini.)



Buka jendela property dari form barang (frmBarang) atau dengan cara menekan tombol F4. Atur property frmBarang sebagai berikut:





  • Text : Data barang



  • FormBorderStyle : FixedToolWindow




Ini hanya sekedar contoh dari property suatu form yang sering saya buat, silahkan di ubah sesuai keinginan.










3. Menambah DataGridView




Tampilkan jendela Toolbox (default: bagian kiri) dengan memilih menu View > Toolbox atau dengan menekan kombinasi tombol CTRL+ALT+X.



Geser control DataGridView ke dalam frmBarang:






Nama DataGridView1 akan secara otomatis diberikan untuk control DataGridView tadi.







4. Menampilkan data ke dalam DataGridView




Sekarang kita akan mencoba menampilkan data ke dalam control DataGridView1, data yang akan ditampilkan diambil dari tabel 'barang' dan tabel 'kategori.



Double klik tampilan frmBarang, maka kita akan masuk ke dalam tampilan Code View.



Ketikkan perintah berikut di bagian Private Sub frmBarang_Load



  1. Dim db As New DataClasses1DataContext   
  2.         Dim qBarang = From barang In db.barangs _   
  3.                       Join kategori In db.kategoris _   
  4.                       On kategori.KDKategori Equals barang.KDKategori _   
  5.                       Select barang   
  6.   
  7.         Me.DataGridView1.DataSource = qBarang  



Pada kode di atas (Hampir sama dengan pernyataan SQL) kita memulai dengan mendeklarasikan db sebagai object dari Class DataClasses1DataContext, kemudian membuat suatu variable baru dengan nama qBarang dan menuliskan query LINQ yang berfungsi untuk mengambil data dari 2 tabel (barang dan kategori, yang memiliki relasi pada kolom KDKategori) dari database. Hasil dari query LINQ tersebut akan ditampilkan dalam control DataGridView1 dengan menggunakan object DataSource dari property DataGridView1.



Kode lengkapnya seperti ini:



  1. Private Sub frmBarang_Load(ByVal sender As System.ObjectByVal e As System.EventArgs) Handles MyBase.Load   
  2.         Dim db As New DataClasses1DataContext   
  3.         Dim qBarang = From barang In db.barangs _   
  4.                       Join kategori In db.kategoris _   
  5.                       On kategori.KDKategori Equals barang.KDKategori _   
  6.                       Select barang   
  7.   
  8.         Me.DataGridView1.DataSource = qBarang   
  9.   
  10.     End Sub  



Sebelum kita mencoba menjalankan program ini, pastikan frmBarang merupakan Startup Form dengan cara memilih menu Project  > CTHAplikasi1 Properties. Pada tab Application bagian Startup form, pilih frmBarang sebagai form yang akan di load saat pertama kali aplikasi dijalankan. Jalankan aplikasi dengan menekan tombol F5.



Tampilan form setelah dijalankan (masih kosong karena belum ada data yang dimasukkan.. ) :










5. Menambah kontrol tombol, teks dan label.




Aplikasi kita sudah bisa dijalankan, tetapi kita masih perlu menambahkan tombol dan teks serta label ke dalam frmBarang agar memudahkan dalam interaksi dari user terhadap aplikasi.



Kembali ke Designer View (Klik kanan di area kosong di bagian kode dan pilih View Designer atau dengan menekan kombinasi tombol Shift+F7) dan tambahkan 1 label, dengan cara menggeser control Label dari Toolbox ke dalam frmBarang. Pada bagian property untuk Label1, untuk text masukkan 'Kode Barang:' dan untuk name masukkan 'lblKode'.














Tambahkan Control TextBox ke dalam frmBarang, dengan property, name: txtKodeBarang dan pada bagian text dikosongkan.










Lakukan hal yang sama untuk 4 Label, 1 ComboBox dan 3 TextBox selanjutnya dengan property sebagai berikut:





Control ComboBox: name = cmbKategori




Control TextBox: name = txtNamaBarang, text = dikosongkan




Control TextBox: name = txtJumlah, text = '0'




Control TextBox: name = txtHargaJual, text = '0'




Control Label: name = lblKategori, text = 'Kategori'




Control Label: name = lblNamaBarang, text = Nama Barang'




Control Label: name = lblJumlah, text = 'Jumlah'




Control Label: name = lblHargaJual, text = 'Harga Jual'



Sehingga hasilnya menjadi :










Setelah penambahan TextBox, Label serta ComboBox di atas selesai, kita lanjutkan dengan menambahkan Tombol-tombol (Button).



Klik dan geser 5 buah Control Button dari Toolbox ke dalam frmBarang dengan nilai property masing-masing:



Tombol 1: name = cmdEdit, Text = 'Edit'



Tombol 2: name = cmdBaru, Text = 'Baru'



Tombol 3: name = cmdSimpan, Text = 'Simpan'



Tombol 4: name = cmdHapus, Text = 'Hapus'



Tombol 5: name = cmdKeluar, Text = 'Keluar'







 







Sehingga tampilan akhir dari frmBarang akan menjadi :










6. Bersambung....




Yups, sekian dulu untuk tutorial bagian ke-2 ini. Nantinya kita akan mencoba menuliskan kode ke dalam frmBarang untuk mengeksekusi perintah saat ke lima tombol di atas diklik.







Tambahan (Upgrade dari VB 2005 ke VB 2008)




Mungkin masih banyak yang belum mengetahui bagaimana mengaktifkan LINQ dalam suatu project yang telah di upgrade dari VB 2005 ke VB 2008. (LINQ cuman ada di VB 2008).



Sekedar tambahan bagi yang menggunakan VB 2005 yang ingin bermigrasi ke VB 2008 dan ingin bereksperimen dengan LINQ:





  1. Konversi project ke VB 2008, setelah proses konversi berakhir,



  2. Buka Project Property



  3. Masuk ke tab Compile



  4. Pada Option Infer, pilih On.



  5. Masuk ke tab Reference



  6. Tambahkan reference System.Linq



  7. Tutup dan buka kembali project-nya..
Read More …