Wednesday, August 24, 2011

Những điểm mới của VS 2010

Chào các bạn gởi các bạn bài giới thiệu những điểm mới của VS 2010.

Download

Wednesday, August 17, 2011

Liệt kê các máy trong hệ thống mạng cục bộ - Local network list

Demo dò tìm và hiển thị tên các máy tính trong hệ thống mạng cục bộ.



Download source nguồn tại đây

Gọi Webservice bằng Java script - (Java script client for webservice)

Web service một giải pháp tích hợp các module phát triển bằng những công nghệ khác nhau. Trong những phần trước tôi từng giới thiệu với các bạn các tạo và sử dụng webservice với java. Hôm nay tôi giới thiệu với các bạn cách sử dụng java script để gọi một phương thức từ webservice.

1. Download thư việc "webservice.htc" của microsoft đây là thư viện được viết sẵn cho phép gọi webservice bằng ngôn ngữ java.
2. Tạo file html chứa đoạn code java script sau
var callID = 0;
function getWSDL()
{
myWebService.useService(
"http://www.webservicex.net/CurrencyConvertor.asmx?WSDL",
"CurrencyConvertor");
}
function getResult()
{
country.innerText = event.result.value + " VND";
}
function Lookup()
{
callID = myWebService.CurrencyConvertor.callService("ConversionRate", txtIP.value,"VND");
}

3. Chúng ta sử dụng dịch vụ qui đổi tiền tệ từ trang "http://www.webservicex.net/CurrencyConvertor.asmx?WSDL"

[caption id="attachment_382" align="aligncenter" width="300" caption="Demo gọi webservice bằng javascript"]Demo gọi webservice bằng javascript[/caption]

Cung cấp thông tin như hình và nhấn Convert
[caption id="attachment_383" align="aligncenter" width="300" caption="Kết quả"]Kết quả[/caption]

Chúc bạn thành công. Download ở đây.

Tuesday, August 9, 2011

Đa ngôn ngữ (giao diện) với asp.net - MultiLanguagePage

1. Trong bài này tôi sẽ demo tinh năng Globalization, Localization
và UserControl trong Asp.Net
2. Kết hợp với profile để mô ta Personalization webapplication

Chúng ta nhìn thấy rõ ràng nếu như viết trực tiếp chuỗi trên trang sẽ
không thể thể sử dụng tính năng cục bộ hóa.

1. Create login.aspx page: Drag Login control to page as


Change connection string session in web.config file




2. Create default.aspx page

- Drag RadioButtonList to page: create to Item



Viet Nam – vi-VN
English – en-US
- Drag in to page a DropDownList and create two Item


Blue sky theme with value Blue
Red theme with value Red


- Add two theme

Right click Blue -> Add New Item and choose Skin file, modified as below picture


Repeat this step for Red theme








Open Default.aspx page choose as figure



Modified as


Right click on Default.aspx.resx page -> Copy. Right click on App_LocalResources -> Paste, rename as Default.aspx.vi-VN.resx after that change it as


Right click on Default.aspx choose view code, add code as
string cul;
string theme;
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
if (theme != null)
DropDownList1.SelectedValue = Profile.Theme;
if (cul != null)
RadioButtonList1.SelectedValue = Profile.culure;
}
}

protected void Page_PreInit()
{
theme = Request.Form.Get("DropDownList1");
if (theme == null)
{
Page.Theme = Profile.Theme;
}
else
{
Profile.Theme = theme;
Page.Theme = theme;
}
}
protected override void InitializeCulture()
{
cul = Request.Form.Get("RadioButtonList1");

if (cul == null)
{
cul = Profile.culure;
}
else
{
Profile.culure = cul;
}

UICulture = cul;
Culture = cul;

System.Threading.Thread.CurrentThread.CurrentCulture = new System.Globalization.CultureInfo(cul);
System.Threading.Thread.CurrentThread.CurrentUICulture = new System.Globalization.CultureInfo(cul);

base.InitializeCulture();
}
3. Demo multi language page
Run default.aspx page


Chúc bạn thành công

Thursday, August 4, 2011

Hạn chế ký tự nhận được trong TextBox - Number TextBox with winform

Trong một số trường hợp chúng ta cần hạn chế loại ký tự được phép nhận của một TextBox, ví dụ như chúng ta sử dụng TextBox để yêu cầu người dùng nhập vào tuổi của họ, trong trường hợp này thì TextBox chí nhận vào số mà không thể nhận vào ký tự.
Vậy làm sao làm được yêu cầu bên trên ? Với winform mọi chuyện thật đơn giản và nhanh chóng.
Trong TextBox của .Net có định nghĩa sẵn sự kiện KeyPress sự kiện này sẽ phát sinh ngay khi có một phím được gởi đến TextBox nhưng chưa được chấp nhận trên TextBox, chúng ta sẽ dựa và sự kiện này để chặn lại các ký tự không phải là số. Đoạn code sao là để mô ta công việc trên

// Kiểm tra nếu phím mới gõ từ bàn phím không phải là phím số và các phím chức năng thì không nhận
if (!Char.IsDigit(e.KeyChar) && !Char.IsControl(e.KeyChar))
{
MessageBox.Show("Input number only !");
e.Handled = true;
}

Nhúng đoạn code trên vào sự kiện KeyPress của TextBox mà bạn muốn hạn chế chỉ nhận số vậy là xong.

Chúc bạn thành công .

Tuesday, July 19, 2011

Kiểm tra license phần mềm của mình

Chào các bạn vấn đề bản quyền phần mềm là một vấn đề rất nhạy cảm ở Việt Nam
1. Rất khó có một cách thức bảo đảm phần mềm được sử dụng hợp pháp (vì gần như đều bị crack cả microsoft còn bị nữa huống chi mình :D )
2. Ý thức của người VN (cái này nói nhỏ thôi) thương thích sử dụng miễn phí

Nhưng đối với một số phần mêm mặc dù biết không an toàn nhưng cũng muốn tạo ra một cơ chế để ràng buộc người dùng phần mềm. Hiện theo tôi thì có 2 nhóm cở bản đề kiểm tra license phần mềm.
1. Kiểm tra thông qua internet với server của tác giả phần mềm.
2. Nhà cũng cấp sẽ gửi cho người dùng thông tin để active phần mềm trên máy của họ.

Mỗi phương pháp đều có cái lợi và hại của nó. Trong bài viết này tôi xin trình bài một có dụ nhỏ cho cách thứ 2 bên trên.
Cách công việc thực hiện
1. Xây dựng phần mềm (:D cái này tất nhiên rồi)
2. Xác định cách cung cấp license
- Cung cấp dưới dạng tập tin nhúng vào phần mềm
3. Cách thực hiện
- Khi chạy phần mềm lần đâu chúng ta kiểm tra xem có tập tin license của mình cung cấp trên máy người dung chưa
-> Nếu chưa có thì hiển thị form thông tin để yêu cầu họ cung cấp thông tin (email để gửi file license cho họ -> :D thực chất thì form này sẽ kết nối với internet để gửi thông tin về email của minh trong đó có ID của CPU máy người dùng)
-> Nếu có file license thì kiểm tra xem có dung với file của mình cung cấp không phần này các bạn tự suy nghỉ xem làm sao nhé (:D - gợi ý tí - dùng digital signature thử xem)

Đoạn code gửi mail các bạn xem trên blog này có hướng dẫn nhé.
Đoạn code lấy ID của CPU
----------------------------------------
string cpuInfo = string.Empty;
ManagementClass mc = new ManagementClass("win32_processor");
ManagementObjectCollection moc = mc.GetInstances();
foreach (ManagementObject mo in moc)
{
if (cpuInfo == "")
{
// Lấy về mã số Processor.
cpuInfo = mo.Properties["processorID"].Value.ToString();
break;
}
}
-----------------------------------------------------------------------------

Chúc các bạn thành công.

Thursday, July 14, 2011

Gửi mail (thư) trong C# - với tài khoản Gmail

[sourcecode language="csharp"]
using System.Net.Mail;
using System.Net;
private void button1_Click(object sender, EventArgs e)
{
string Sendto = "ngotuongdan01@gmail.com"; //Email Address to reciever
// tai khoan này các bạn sử đừng sử dụng để gửi tùm lum dùm tui nhe
string UserName = "ngotuongdan04"; //Ur Gmail address
string PassWord = "ngotuongdan"; //Gmail password
NetworkCredential loginInfo = new NetworkCredential(UserName, PassWord);
MailMessage msg = new MailMessage();
msg.From = new MailAddress(UserName);
msg.To.Add(new MailAddress(to.ToString()));
msg.Subject = "Testing Mail";
msg.Body = textBox1.Text.ToString();
msg.IsBodyHtml = true;
SmtpClient client = new SmtpClient("smtp.gmail.com");
client.EnableSsl = true;
client.UseDefaultCredentials = false;
client.Credentials = loginInfo;
client.Send(msg);
MessageBox.Show("mail sent");
}
[/sourcecode]

Chúc các bạn thành công

Translate