Thành viên
 
 
 
Làm việc với các file Tài Nguyên Resource.
  Trung bình: 3.4 (Đã có 14 lượt đánh giá)
   08/08/2008 11:00 PM

Trong một ứng dụng, có rất nhiều tài nguyên như: các file hình ảnh, âm nhạc, văn bản... Vậy bạn có biết Làm thế nào để lưu tất cả những tài nguyên đó vào cùng một file không? Và sẽ làm như thế nào? Bài viết này, mình sẽ giới thiệu cho các bạn cách làm việc với các file tài nguyên Resource: lưu trữ và đọc các thông tin đó. 

Chúng ta sẽ xây dựng một ứng dụng cho phép nhập thông tin về một người bao gồm:

   - Tên

   - Tuổi

   - Địa Chỉ

   - Điện Thoại

   - Ảnh

và lưu trữ tất cả thông tin này vào file tài nguyên có tên là PersonInfo.Resources.

Giao Diện Chính

Đầu tiên, chúng ta sẽ viết sự kiện để lấy hình ảnh và hiển thị hình ảnh đó

private void btnGetImage_Click(object sender, System.EventArgs e)
{
openFileDialog1.ShowDialog();
txtImage.Text = openFileDialog1.FileName.ToString();
Bitmap bm = new Bitmap(openFileDialog1.FileName.ToString());

pictureBox1.Image = bm;
}

Bây giờ, ta sẽ viết sự kiện cho nút Add để lưu tất cả thông tin trên vào một file Resource:

private void btnAdd_Click(object sender, System.EventArgs e)
{
ResourceWriter resW = new ResourceWriter("PersonInfo.resources");

   using(Image img = pictureBox1.Image)
   {
        resW.AddResource("Name", txtName.Text);
        resW.AddResource("Age", txtAge.Text);
        resW.AddResource("Address", txtAddress.Text);
        resW.AddResource("Phone", txtPhone.Text);
        resW.AddResource("Image", img);
        resW.Close();
   }

   MessageBox.Show("Successful Act!");
}

Vậy là xong bước thứ nhất

Tiếp theo, ta sẽ tạo một ứng dụng khác để đọc các thông tin từ file tài nguyên đó:

Đọc Thông Tin từ File Tài Nguyên Resource

Chúng ta viết sự kiện cho nút Get Infor:

private void btnAdd_Click(object sender, System.EventArgs e)
   {
        Assembly as1 = Assembly.GetExecutingAssembly();

        ResourceManager rm = new ResourceManager("ReadingResource.PersonInfo", as1);

        txtName.Text = rm.GetString("Name").ToString();
        txtAge.Text = rm.GetString("Age").ToString();
        txtAddress.Text = rm.GetString("Address").ToString();
        txtPhone.Text = rm.GetString("Phone").ToString();
        pictureBox1.Image = (Image) rm.GetObject("Image");
   }

Ở đây, ta cần phải chú ý khi đọc file tài nguyên:

ResourceManager rm = new ResourceManager("ReadingResource.PersonInfo", as1);

Phải có Namespace ReadingResource rồi mới gọi đến tên của file tài nguyên đó là PersonInfo

Vậy ta đã xây dựng xong ứng dụng, bạn có thể download mã nguồn của chương trình tại đây. Ứng Dụng này được viết bằng Visual Studio 2003.

 


Gửi bởi: ngocdv
Lượt xem: 5185

 
nguyen ngoc the 15/08/08 03:10 PM
hay that. Chuong trinh rat hay day

duchung 31/08/08 09:46 PM
Bài viết rất tốt đấy bạn. Cố gắng phát huy nhé.

monday 23/10/08 02:32 PM
Bài viết rất hay,  many thanks ngocdv

Quoc 21/11/08 06:09 PM
Bài này hay quá. Cám ơn bạn nhiều.

by khen 14/05/10 03:18 PM
cám ơn bạn  , bài viết của bạn đã giúp mình rất nhiều đấy.bạn hướng dẫn liên kết giữa  các from được không, hay viết thêm bài làm web bằng viusal ây.... mình thank trước.

Quảng cáo Hải Phòng
Quảng cáo Hải Phòng
NHẬN XÉT CỦA BẠN
Trung bình: 3.4   
Kiểu gõ: Off Telex VNI VIQR Tổng hợp (Telex, Vni, Viqr)
Họ Tên:
Hòm thư:
Nội Dung:
Số ký tự còn lại: 3500