วันพุธที่ 19 ธันวาคม พ.ศ. 2555

วิธีตั้งค่า Eclipse ให้มี Intellisense เหมือน Visual Studio

มีวิธีการทำดังนี้
1.เปิด Eclipse ขึ้นมา แล้วไปที่ Window => Preferences
2. ใส่ .(abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ  ที่ Auto activation triggers for java
และ กำหนด Auto activation deley = 0 และคลิกที่ OK เป็นอันเสร็จเรียบร้อย

วันพุธที่ 12 ธันวาคม พ.ศ. 2555

วิธีแก้ไขปัญหา Remot Desktop ช้า ของ Window 7 หรือ 8

วิธีแก้ไขมีดังนี้
1.เข้า Command Prompt Administrator ดังรูป
 

2.นำคำสั่ง netsh interface tcp set global autotuninglevel=disabled ไปวางแล้วกด Enter
เป็นอันเสร็จเรียบร้อย

วันจันทร์ที่ 10 ธันวาคม พ.ศ. 2555

การแก้ไขปัญหา Windows8 ให้ติดตั้ง .net framework 3.5

NET need Enable .NET Framework 3.5 On Windows 8
วิธีแก้ไขให้ทำขั้นตอนดังนี้
1.ใส่แผ่น windows8 แล้วหาโฟลเดอร์ที่ชื่อ sxs ให้ Copy ไปยัง C:\Temp 


2.เปิด Command Prompt as administrator  โดยไปที่ ค้นหา แล้วพิมพ Command คลิกขวาที่ Command Prompt และ คลิกที่ Run as administrator
3.นำคำสั่ง dism.exe /online /enable-feature /featurename:NetFX3 /All /Source:c:\temp\sxs /LimitAccess ไปวางแล้ว Enter

NETEnabled Enable .NET Framework 3.5 On Windows 8
4.รอคำสั่งจน 100% แล้ว Restart  เครื่อง เป็นอันเสร็จเรียบร้อย

ที่มา http://www.thewindowsclub.com/enable-net-framework-windows-8-consumer-preview

วันศุกร์ที่ 2 พฤศจิกายน พ.ศ. 2555

การแปลงข้อมูลจาก DataTable เป็น List<>


 public List<T> ConvertDataTableToEntity<T>(DataTable dt)
        {
            List<T> DataReturn = new List<T>();
            for (int i = 0; i <= dt.Rows.Count - 1; i++)
            {
                T item = (T)Activator.CreateInstance(typeof(T));
                for (int k = 0; k <= dt.Columns.Count - 1; k++)
                {
                    PropertyInfo[] pf = item.GetType().GetProperties();
                    for (int y = 0; y <= pf.Length - 1; y++)
                    {
                        if (pf[y].Name.ToLower() == dt.Columns[k].ColumnName.ToLower())
                        {
                            pf[y].SetValue(item, Convert.ChangeType(dt.Rows[i][k], Type.GetType((dt.Columns[k].DataType.ToString()))), null);
                        }
                    }
                }
                DataReturn.Add((T)item);
            }
            return DataReturn;
        }

วิธีเรียกใช้งาน
ตัวอย่าง
 ต้องมี Class ที่มี Property ที่เหมือนกับ DataTable ก่อน ในตัวอย่างนี้สร้าง Class A ขึ้นมา
public class A
    {
        public string A1 { get; set; }
        public int A2 { get; set; }
        public string A3 { get; set; }
        public string A4 { get; set; }
    }

กำหนดค่าใน DataTable โดยจะต้องมีชื่อคอลั่มน์ที่กรงกับชื่อ Property ของ Class ที่เราจะแปลง
 DataTable dt1 = new DataTable();
            dt1.Columns.Add("A1", Type.GetType("System.String"));
            dt1.Columns.Add("A2", Type.GetType("System.Int32"));
            dt1.Columns.Add("A3", Type.GetType("System.String"));
            dt1.Columns.Add("A4", Type.GetType("System.String"));
            DataRow dr = dt1.NewRow();
            dr["A1"] = "T1";
            dr["A2"] = 20;
            dr["A3"] = "T3";
            dr["A4"] = "T4";
            dt1.Rows.Add(dr);


สร้างตัวแปร List<A> เพื่อมารับข้อมูลที่มีการ Concevert
 List<A> data = new List<A>();
data = this.ConvertDataTableToEntity<A>(dt1);

วันอังคารที่ 30 ตุลาคม พ.ศ. 2555

การ Backup File ในเครื่องตามวันที่และเวลา

มีวิธีการดังนี้
1.เปิด Notepad ขึ้นมาแล้วนำโค้ดนี้ไปวาง
cd D:\Backup  ## ใส่ Part ที่เราต้องการสร้างไฟล์ Backup ##
set yymmddhhmmss=%date:~10,4%%date:~4,2%%date:~7,2%_%time:~0,2%%time:~3,2%
md D:\Backup\%yymmddhhmmss%  ## สร้างโฟลเดอร์นที่และเวลา ##
xcopy /E /Y E:\Data D:\Backup\%yymmddhhmmss%\  ##คัดลอกไฟล์ จาก E:\Data ไปยังโฟลเดอร์ที่สร้างขึ้นมาใหม่ ##
2.Save ตั้งชื่อตามต้องการ แต่ใส่นามสกุลเป็น bat เป็นอันเสร็จเรียบร้อย

วิธีการใช้งานเพียงแค่ดับเบิลคลิกไฟล์ Bat ที่เราสร้าง หรือจะนำไปใส่ Task ให้รันตามเวลาที่เราต้องการก็ได้นะครับ

*** โค้ดนี้ยังมีจุดบกพร่องของเวลาก่อน 10 โมงเช้า ที่ไม่สามารถสร้างโฟลเดอร์ได้ครับ