22.12.09
9.10.09
Độc ẩm
độc ẩm trong đêm
Vơi bình rượu,
đã đầy thêm bóng người
Nhìn trăng,
trăng lẻ bên trời
Dưới này,
ta lẻ,
một đời yêu em...
17.8.09
Dataset To XML và XML to Dataset, Object To XML và XML to Object
Khi cần chuyển dữ liệu qua webservice, do yêu cầu bảo mật dữ liệu, ta có thể mã hóa dữ liệu cho từng trường, nhưng như vậy cấu trúc dữ liệu vẫn có thể bị lộ. Giải pháp là chuyển dữ liệu về dạng XML (chuyển hẳn về dạng string) và sau đó convert lại. Sau đây là các hàm convert cực đơn giản để phục vụ việc này:
Dataset To XML và XML to Dataset
public static string DataSetToString(DataSet ds)
{
StringWriter stringWriter = new StringWriter();
ds.WriteXml(stringWriter);
return stringWriter.ToString();
}
public static DataSet StringToDataSet(string str)
{
DataSet ds = new DataSet();
try
{
XmlDocument doc = new XmlDocument();
doc.LoadXml(str);
ds.ReadXml(new XmlNodeReader(doc));
}
catch { }
return ds;
}
Object To XML và XML to Object
public static object Xml2Object(string xml, System.Type objType)
{
StringReader stream = null;
XmlTextReader reader = null;
try
{
// serialise to object
XmlSerializer serializer = new XmlSerializer(objType);
stream = new StringReader(xml); // read xml data
reader = new XmlTextReader(stream); // create reader
// covert reader to object
return serializer.Deserialize(reader);
}
catch
{
return null;
}
finally
{
if (stream != null) stream.Close();
if (reader != null) reader.Close();
}
}
public static string Object2Xml(object obj)
{
MemoryStream stream = null;
TextWriter writer = null;
try
{
stream = new MemoryStream(); // read xml in memory
writer = new StreamWriter(stream, Encoding.Unicode);
// get serialise object
XmlSerializer serializer = new XmlSerializer(obj.GetType());
serializer.Serialize(writer, obj); // read object
int count = (int)stream.Length; // saves object in memory stream
byte[] arr = new byte[count];
stream.Seek(0, SeekOrigin.Begin);
// copy stream contents in byte array
stream.Read(arr, 0, count);
UnicodeEncoding utf = new UnicodeEncoding(); // convert byte array to string
return utf.GetString(arr).Trim();
}
catch
{
return string.Empty;
}
finally
{
if (stream != null) stream.Close();
if (writer != null) writer.Close();
}
}
5.8.09
Cầu Mirabeau - Le pont Mirabeau
Người dịch: Phan Cẩm Thịnh
Dưới cầu Mirabeau êm đềm trôi dòng Seine
Trôi cả tình yêu của anh và em
Không biết anh có còn nên nhớ
Niềm vui sẽ đến theo sau nỗi ưu phiền
Giờ cứ điểm, đêm cứ đến gần
Tháng ngày trôi, đây vẫn còn anh
Mặt đối mặt và tay trong tay nhau
Vòng tay ta như cầu
Dưới cầu dòng nước chảy
Ánh mắt rã rời vì li biệt dài lâu
Giờ cứ điểm, đêm cứ đến gần
Tháng ngày trôi, đây vẫn còn anh
Tình ra đi như dòng nước trôi nhanh
Tình yêu của em và anh
Cuộc đời ơi, sao mà chậm rãi
Hy vọng sao mà dữ dội cuồng điên
Giờ cứ điểm, đêm cứ đến gần
Tháng ngày trôi, đây vẫn còn anh
Vẫn trôi đều ngày tuần, tháng năm
Quá khứ và tình yêu quay trở lại không còn
Chỉ một điều không bao giờ thay đổi
Dưới cầu Mirabeau êm đềm trôi dòng Seine
Giờ cứ điểm, đêm cứ đến gần
Tháng ngày trôi, đây vẫn còn anh
Binding DateTime with CultureInfo
Khi binding các trường có kiểu datatype là datetime thì thường báo lỗi không convert được kiểu string sang kiểu datetime. Cần convert theo CultureInfo tại sự kiện item updating
protected void DetailView1_ItemUpdating(object sender, DetailsViewUpdateEventArgs e)
{
e.NewValues["ExpireDate"] = DateTime.Parse
((string)e.NewValues["ExpireDate"]).ToString(CultureInfo.InvariantCulture);
}
3.8.09
Cannot start Microsoft Office Outlook. Cannot open the Outlook window
"Cannot start Microsoft Office Outlook. Cannot open the Outlook window"
Start->run chạy "Outlook.exe /resetnavpane"
24.7.09
regiis vistra cho asp.net
aspnet_regiis -iChi tiết các option cho command này xem http://msdn.microsoft.com/en-us/library/k6h9cz8h(VS.80).aspx
Trong trường hợp chạy trên Vistra, Windows 7
Khi regiis cho asp.net báo lỗi:
An error has occurred: 0x800702e4 The requested operation requires elevation
Khắc phục: Visual Studio Command Prompt chạy theo run as administrator