Jumat, 19 Oktober 2012

Bagaimana membina Jam Analog dan Jam Digital vb.net

Pernahkah Anda melihat jam analog dan jam digital.? Pernahkah Anda berpikir bagaimana mau membuat satu program yang bisa berfungsi seperti itu.? disini saya sertakan satu simple program untuk membuat jam analog dan jam digital dalam vb.net 2010.

Jam Analog


Imports System.Math
Public Class Form1
    Dim l As Label
    Const sete = 150
    Const panjangDetik = 100
    Const panjangMenit = 80
    Const panjangJam = 60
    Dim Pen As New Drawing.Pen(System.Drawing.Color.Red, 2)
    Dim detik, menit, jam As Integer
    Dim x1, y1, x2, y2 As Integer
    Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
        Refresh()
        detik = Microsoft.VisualBasic.DateAndTime.Second(Now)
        menit = Microsoft.VisualBasic.DateAndTime.Minute(Now)
        jam = Microsoft.VisualBasic.DateAndTime.Hour(Now)
        Pen = New Drawing.Pen(System.Drawing.Color.RoyalBlue, 6)
        x1 = Sin(((jam Mod 12) * 30 + menit / 2) * PI / 180 + PI) * panjangJam / 5 + sete 'Tail x
        y1 = Cos(((jam Mod 12) * 30 + menit / 2) * PI / 180) * panjangJam / 5 + sete 'Tail y
        x2 = Sin(((jam Mod 12) * 30 + menit / 2) * PI / 180) * panjangJam + sete 'Head x
        y2 = Cos(((jam Mod 12) * 30 + menit / 2) * PI / 180 + PI) * panjangJam + sete 'Head y
        Me.CreateGraphics.DrawLine(Pen, x1, y1, x2, y2)
        Pen = New Drawing.Pen(System.Drawing.Color.Purple, 4)
        x1 = Sin(menit * PI / 30 + detik * PI / 1800 + PI) * panjangMenit / 5 + sete
        y1 = Cos(menit * PI / 30 + detik * PI / 1800) * panjangMenit / 5 + sete
        x2 = Sin(menit * PI / 30 + detik * PI / 1800) * panjangMenit + sete
        y2 = Cos(menit * PI / 30 + detik * PI / 1800 + PI) * panjangMenit + sete
        Me.CreateGraphics.DrawLine(Pen, x1, y1, x2, y2)
        Pen = New Drawing.Pen(System.Drawing.Color.Orange, 2)
        x1 = Sin(detik * PI / 30 + PI) * panjangDetik / 5 + sete
        y1 = Cos(detik * PI / 30) * panjangDetik / 5 + sete
        x2 = Sin(detik * PI / 30) * panjangDetik + sete
        y2 = Cos(detik * PI / 30 + PI) * panjangDetik + sete
        Me.CreateGraphics.DrawLine(Pen, x1, y1, x2, y2)
    End Sub
    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        Dim Angle As Double
        Dim i As Integer
        Height = sete * 2.3
        Width = sete * 2
        For i = 0 To 11
            Angle = i * PI / 6
            x1 = Sin(Angle) * (panjangDetik + 20) + sete
            y1 = Cos(Angle + PI) * (panjangDetik + 20) + sete
            l = CallByName(Me, "lblDigit" & i, CallType.Get)
            l.Left = x1 - l.Width / 2
            l.Top = y1 - l.Height / 2
        Next
    End Sub
End Class
Jam Digital

Public Class Form1

    Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
        Dim jamku As Date
        jamku = DateTime.Now
        Label2.Text = jamku.Hour.ToString()
        Label1.Text = jamku.Minute.ToString()
        Label3.Text = jamku.Second.ToString()
    End Sub
    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        Timer1.Start()
    End Sub
End Class



Sabtu, 13 Oktober 2012

Cara membuat file XML di C #


XML adalah bahasa platform independen, sehingga informasi yang diformat dalam XML dapat digunakan dalam platform lain (Sistem Operasi). Setelah kita membuat file XML dalam satu platform yang dapat digunakan dalam platform lain juga.
Dalam rangka untuk membuat file XML baru di C #, kita menggunakan Kelas XmlTextWriter. Kelas mengambil FileName dan Encoding sebagai argumen. Juga kita di sini melewati detail format. Kode C berikut # source membuat file XML product.xml dan menambahkan empat baris dalam file


using System;
using System.Data;
using System.Windows.Forms;
using System.Xml;
namespace WindowsApplication1
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
XmlTextWriter writer = new XmlTextWriter("product.xml", System.Text.Encoding.UTF8);
writer.WriteStartDocument(true);
writer.Formatting = Formatting.Indented;
writer.Indentation = 2;
writer.WriteStartElement("Table");
createNode("1", "Product 1", "1000", writer);
createNode("2", "Product 2", "2000", writer);
createNode("3", "Product 3", "3000", writer);
createNode("4", "Product 4", "4000", writer);
writer.WriteEndElement();
writer.WriteEndDocument();
writer.Close();
MessageBox.Show("XML File created ! ");
}
private void createNode(string pID, string pName, string pPrice, XmlTextWriter writer)
{
writer.WriteStartElement("Product");
writer.WriteStartElement("Product_id");
writer.WriteString(pID);
writer.WriteEndElement();
writer.WriteStartElement("Product_name");
writer.WriteString(pName);
writer.WriteEndElement();
writer.WriteStartElement("Product_price");
writer.WriteString(pPrice);
writer.WriteEndElement();
writer.WriteEndElement();
}
}
}

Output Contoh

<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<Table>
  <Product>
    <Product_id>1</Product_id>
    <Product_name>Product 1</Product_name>
    <Product_price>1000</Product_price>
  </Product>
  <Product>
    <Product_id>2</Product_id>
    <Product_name>Product 2</Product_name>
    <Product_price>2000</Product_price>
  </Product>
  <Product>
    <Product_id>3</Product_id>
    <Product_name>Product 3</Product_name>
    <Product_price>3000</Product_price>
  </Product>
  <Product>
    <Product_id>4</Product_id>
    <Product_name>Product 4</Product_name>
    <Product_price>4000</Product_price>
  </Product>
</Table> 

Jumat, 05 Oktober 2012

Hash Password di C # dan Visual Basic Menggunakan SHA-512

Kami baru-baru ini dibahas cara mudah untuk password hash menggunakan SHA-1 di NET baik menggunakan Visual Basic atau C #.. Dalam kebanyakan kasus, SHA-1 enkripsi adalah "cukup aman", namun ada beberapa kelemahan matematika. . NET platform Microsoft (khusus kelas System.Security) memungkinkan Anda untuk mengenkripsi password dengan sejumlah algoritma differnet tanpa harus mengetahui matematika di belakang mereka.
Hari ini, kita akan mengenkripsi string dengan SHA-2, khususnya SHA-512 derivasi dari SHA-2, yang secara hipotetis harus lebih aman daripada SHA-1 karena memiliki pesan yang lebih panjang dibanding mencerna SHA-1. Contoh kode saya akan memamerkan hari juga menggunakan "garam", sedangkan fungsi sebelumnya saya memamerkan tidak. Ini akan membuat Anda immume hashed password-lebih untuk attacts kamus karena tidak hanya akan hacker harus mengembangkan hash untuk setiap password yang umum dikenal, tetapi juga sebagai setiap password yang biasa dikenal dikalikan dengan jumlah hampir tak terbatas dari garam mungkin.

 
Berikut fungsi


Public Shared Function CreateSHAHash(Password As String, Salt As String) As String
    Dim HashTool As New System.Security.Cryptography.SHA512Managed()
    Dim PasswordAsByte As [Byte]() = System.Text.Encoding.UTF8.GetBytes(String.Concat(Password, Salt))
    Dim EncryptedBytes As [Byte]() = HashTool.ComputeHash(PasswordAsByte)
    HashTool.Clear()
    Return Convert.ToBase64String(EncryptedBytes)
End Function

Cara kerjanya: 

Metode ini memanfaatkan kelas System.Security.Cryptography. Ini menggabungkan password dan garam yang Anda berikan dan mengubahnya menjadi array byte-. Ini berjalan mereka byte melalui fungsi perhitungan telah disediakan oleh kelas dan mengembalikan sebuah string 88-bit dari message-digest/hash yang dibuat.

Rabu, 03 Oktober 2012

C #: Stub kode untuk menulis komponen ActiveX

Berikut adalah kode dasar untuk menulis komponen ActiveX, ini perlu diikuti dengan instruksi untuk dll setup seperti didokumentasikan di sini


mengkonversi c # untuk Vb.Net. di sini

 
***********************
Class: ActiveXDotNet.cs
***********************

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

//Selain itu ditambahkan untuk ActiveX
using System.Runtime.InteropServices;
using System.ComponentModel;
using System.Windows.Forms;

namespace NSActiveXDotNet
{
[Guid("E86A9038-368D-4e8f-B389-FDEF38935B2F"), InterfaceType(ComInterfaceType.InterfaceIsDual), ComVisible(true)]
public interface IActiveXDotNet
{
[DispId(1)]
void ShowDialog(string message);
};

[Guid("B769DA4B-FDDD-41BD-BDD2-7101D08E8E0C"), ClassInterface(ClassInterfaceType.None),
ComDefaultInterface(typeof(IActiveXDotNet)), ComVisible(true), ProgId("ActiveXDotNet.CActiveXDotNet")]
public class CActiveXDotNet : IObjectSafetyImpl, IActiveXDotNet
{

#region IActiveXDotNet Members

public void ShowDialog(string message)
{
MessageBox.Show(message, "Message From ActiveX", MessageBoxButtons.OK, MessageBoxIcon.Information);
}

#endregion
}
}


***********************
Class: IObjectSafety.cs
***********************

using System;
using System.Collections.Generic;
using System.Runtime.InteropServices;
using System.ComponentModel;
using System.Text;

namespace NSActiveXDotNet
{
[
Serializable,
ComVisible(true)
]
public enum ObjectSafetyOptions
{
INTERFACESAFE_FOR_UNTRUSTED_CALLER = 0x00000001,
INTERFACESAFE_FOR_UNTRUSTED_DATA = 0x00000002,
INTERFACE_USES_DISPEX = 0x00000004,
INTERFACE_USES_SECURITY_MANAGER = 0x00000008
};

//
// MS IObjectSafety Antarmuka definisi
//
[
ComImport(),
Guid("CB5BDC81-93C1-11CF-8F20-00805F2CD064"),
InterfaceType(ComInterfaceType.InterfaceIsIUnknown)
]
public interface IObjectSafety
{
[PreserveSig]
long GetInterfaceSafetyOptions(ref Guid iid, out int pdwSupportedOptions, out int pdwEnabledOptions);

[PreserveSig]
long SetInterfaceSafetyOptions(ref Guid iid, int dwOptionSetMask, int dwEnabledOptions);
};

//
// Menyediakan Pelaksanaan default untuk scripting yang aman.
// Ini pada dasarnya berarti IE tidak akan mengeluh tentang objek ActiveX tidak menjadi aman

//
public class IObjectSafetyImpl : IObjectSafety
{
private ObjectSafetyOptions m_options =
ObjectSafetyOptions.INTERFACESAFE_FOR_UNTRUSTED_CALLER |
ObjectSafetyOptions.INTERFACESAFE_FOR_UNTRUSTED_DATA;

#region [IObjectSafety implementation]
public long GetInterfaceSafetyOptions(ref Guid iid, out int pdwSupportedOptions, out int pdwEnabledOptions)
{
pdwSupportedOptions = (int)m_options;
pdwEnabledOptions = (int)m_options;
return 0;
}

public long SetInterfaceSafetyOptions(ref Guid iid, int dwOptionSetMask, int dwEnabledOptions)
{
return 0;
}
#endregion
};
}
Recommended Post Slide Out For Blogger
Related Posts Plugin for WordPress, Blogger...