วันพุธที่ 29 เมษายน พ.ศ. 2558

วิธีแก้ปัญหา Windows 10 คลิก start menu แล้วไม่แสดงหน้าจอ App ต่างๆ มีแต่ตัว Search the web and Windows ขึ้นมาเท่านั้น

      ใน Windows 10 ยังมี Bug อยู่นั้น คือ เมื่อคลิกปุ่ม Start Menu แล้วก็ควรจะแสดงหน้าจอ Manu หรือ App ตามภาพด้านล่างนี้ แต่กลับกลายเป็นว่าคลิกแล้วมันเหลือแต่ช่อง Search the web and Windows ให้เราแค่นั้น วันนี้ผมจึงเอาวิธีแก้ไขปัญหานีมาฝากกันสักหน่อย เพื่อที่ทุกท่านจะได้ไม่ต้องลง Windows ใหม่อีกครั้ง

หน้าจอเมือคลิก Statrt Menu ที่แสดงถูกต้อง
ขั้นตอนการแก้ไขปัญหามีดังนี้ 


     1. ให้เราไปที่ช่อง Search the web and Windows จาก Start Menu นั้นแหละครับ
   
     2. ให้เราทำการพิมพ์ค้นหาคำว่า Mail และให้ทำการ Unpin from Start ดังภาพด้านล่างนี้


     3. ให้เราทำเหมือนขั้นตอนที่ 2 กับ App ที่มีชื่อว่า People ดังภาพ


     4. ให้เราทำเหมือนขั้นตอนที่ 2 กับ App ที่มีชื่อว่า Calendar ดังภาพ


   ทำครบ 3 ตัวเท่านี้ก็จะทำให้เมื่อคุณคลิก Start Menu แล้วมันก็จะแสดงหน้าจอ Start Menu เป็นปกติอย่างเดิมสวยงามตามภาพด้านล่างเลยละครับ 





วันจันทร์ที่ 26 มกราคม พ.ศ. 2558

เล็กหรือใหญ่ใช่ว่าตัดสินได้ด้วยใจเราเอง -_- !


     มดกัดบางคนอาจคิดว่าเป็นเรื่องเล็ก แต่สำหรับบางคนก็อาจเป็นเรื่องใหญ่ -_- !

     มันขึ้นอยู่ที่ว่าเหตุการนั้นก่อให้เกิดความรุนแรงทางด้านจิตใจมากแค่ไหน ผู้ถูกกระทำรู้สึกว่ารุนแรงแค่ไหนสำหรับเขา

     ดังนั้นสิ่งที่พอจะทำได้ก็คือ การที่เรารับฟังปัญหาและทำตัวเป็นกลาง ไม่ว่าปัญหานั้นจะเล็กหรือใหญ่ย่อมมีเหตุผลต่อความรู้สึกของคนต่างๆกันไป


                                                                                          ข้าอยู่เพื่อปรับสมดุลโลก @_@

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

ความต่างของ Macbook และ Notebook ที่บางคนอาจจะยังไม่รู้

หลายคนคงรู้จักดีกับ Macbook และ Notebook ซึ่งมีให้เห็นกันอยู่ทั่วไป โดยความต่างของ 2 ตัวนี้ก็คือ


  • Macbook เป็นเครื่องคอมพิวเตอร์โน้ตบุ๊ก ตระกูลแมคอินทอชจากบริษัทแอปเปิล และมี OS เป็น Mac OS 
  • Notebook เป็นคอมพิวเตอร์ที่มีขนาดเล็กกว่าไมโครคอมพิวเตอร์ ถูกออกแบบไว้เพื่อนำติดตัวไปใช้ตามที่ต่างๆ มีขนาดเล็ก และน้ำหนักเบา และมี OS เป็น Windows , Linux หรือ อื่นๆ ที่ไม่ใช่เครื่องจากบริษัทแอปเปิล
     แล้วทำไมใครๆก็บอกว่า Macbook ดีและเร็วกว่า Notebook ทั้งที่ CPU , Ram , Harddisk , Size (ขนาด) , การ์ดจอ ฯลฯ บางที่ Notebook อาจจะดูตัวเลขมากกว่าซะด้วยซ้ำ แต่ทำไมใช้ Notebook แล้วมันรู้สึกช้าจังเลยไม่ทันใจ แล้วบางคนทำไมถึงซื้อ Macbbok แต่กลับมาลง OS Windows เพื่อใช้งานกัน ทำไมจึงเป็นเช่นนั้นก็เพราะว่า Macbook ที่มี OS เป็น Mac OS ไม่เหมาะกับการเล่นเกมส์ แล้ว Sofware ส่วนใหญ่ก็พัฒนามาใช้งานได้บน Windows เป็นส่วนใหญ่ครับ Macbook ที่เห็นๆกันส่วนใหญ่จะเป็นการใช้งานด้าน Graphic Design , งาน 3D , Sound engineer 


     แล้วถ้าเราตัดเรื่อง OS ออกไปแล้วลง OS เดียวกันทำไม Macbook ถึงยังเร็วกว่า Notebook ละ จากการเทียบดูอุปกรณ์ขางในต่างๆนอกเหนือจากตัว Body มันแล้ว ที่ทำให้ Macbook เร็วกว่า มีราคาสูงกว่า ก็น่าจะเป็นเจ้าตัว SSD นี้เองละนะครับ และ Notebook ก็สามารถซื้อมาใส่ได้เช่นกันนะครับ แต่ก็ราคาก็แพงหน่อยนะครับตามขนาดพื้นที่จัดเก็บข้อมูล แค่ SSD ตัวนี้จะทำให้เร็วขึ้นจริงเหรอ แล้ว SSD ที่ว่านี้มันคืออะไรกันละ 


     SSD คืออะไร มันก็คือ Solid state drive (โซลิดสเตตไดรฟ์) อุปกรณ์จัดเก็บข้อมูลชนิดหนึ่ง ซึ่งใช้ชิปวงจรรวมที่ประกอบรวมเป็น หน่วยความจำ เพื่อจัดเก็บข้อมูลแบบถาวรเหมือนฮาร์ดดิสก์ เทคโนโลยีของโซลิดสเตตไดรฟ์ถูกสร้างมาเพื่อทดแทนฮาร์ดดิสก์จึงทำให้มีอินเทอร์เฟส อินพุต/เอ้าพุต เหมือนกันและสามารถใช้งานแทนกันได้ และเนื่องจากโซลิดสเตตไดรฟ์ถูกสร้างด้วยวงจรอิเล็กทรอนิกส์จึงไม่มีชิ้นส่วนจักรกลใดๆที่มีการเคลื่อนที่ (หลักการของ ฮาร์ดดิสก์ และ ฟรอปปี้ดิสก์ คือใช้จานแม่เหล็กหมุน) ส่งผลให้ความเสียหายจากแรงกระแทกของโซลิดสเตตไดรฟ์นั้นน้อยกว่าฮาร์ดดิสก์ (หรือทนต่อการแรงสั่นสะเทือนได้ดี) โดยการเปรียบเทียบจากการที่โซลิดสเตตไดรฟ์ไม่ต้องหมุนจานแม่เหล็กในการอ่านข้อมูลทำให้อุปกรณ์กินไฟน้อยกว่า และใช้เวลาในการเข้าถึงข้อมูล (access time) และเวลาในการหน่วงข้อมูล(latency) น้อยกว่าเนื่องจากสามารถเข้าถึงข้อมูลในตำแหน่งต่างๆ ได้รวดเร็วและทันทีโดยไม่ต้องรอการหมุนจานแม่เหล็กให้ถึงตำแหน่งของข้อมูล (ขอบคุณขอมูลเรื่อง SSD จาก wikipedia.org)   

วันอังคารที่ 16 ธันวาคม พ.ศ. 2557

Delphi กับการทำ Form Search (ค้นหา) แบบเจ๋งๆ

Delphi กับการทำ Form Search (ค้นหา) แบบเจ๋งๆ


เริ่มกันที่การติดต่อฐานขอมูลอันนี้ผมขอใช้ Component Zeosdbo และฐานข้อมูล MySQl ในการทำตัวอย่างนี้นะครับ โดยส่วนต่อฐานข้อมูลผมจะวางเอาไว้ที่ Data Module ตามภาพด้านล่าง ซึ่งประกอบด้วย Zconnection , ZQuery , DataSetProvider ทั้งหมด 3 ตัว ซึ่งในส่วนของการเซ็ตค่า Properties การเชื่อต่อฐานข้อมูลผมไม่ขอพูดถึงแล้วกันนะครับเพราะสามารถหาดูได้ทั่วไป

ภาพ Data Module


มาต่อกันนะครับ ให้เราสร้าง VCL Form ขึ้นมา 1 อันครับ ซึ่งใน Form เราเราหยิบ Component ดังต่อไปนี้มาวางนะครับ Edit , DBGride , ClientDataSet , DataSource วางเสร็จก็จะมีตามภาพด้านล่างนี้นะครับ



         เมื่อทำการสร้าง Form และวาง Component เสร็จ เราก็มาเริ่มที่ Edit โดยเราจะใส่ Code การค้นหาใน Event OnKeyUp ของตัว Edit1 โดยผมจะเขียนดังนี้นะครับ


procedure TSearchDataF.Edit1KeyUp(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
    if (VarToStr(Key) <> '38') and (VarToStr(Key) <> '40') and (VarToStr(Key) <> '13') then
    begin
      DataModule1.ZQuery1.Close;
      DataModule1.ZQuery1.SQL.Text := ' select  code, name  '+
      ' from “????Table????” '+
      ' where name like "%'+Edit1.Text+'%" limit 100 ';
      DataModule1. ZQuery1.Open;

      ClientDataSet1.Close;
      ClientDataSet1.SetProvider(ClassDMU.DataSetProvider1);
      ClientDataSet1.Open;
    end;
end;

         ซึ่งจะมีการตรวจเช็คค่าการกดคีย์บอร์ดต้องไม่ใช่ปุ่ม Enter , Up , และ Down ก็จะทำในส่วนของการค้นหาขอมูลในฐานข้อมูลแบบ Like เพื่อที่เราจะเอาการกดคีย์บอร์ด Enter , Up , และ Down ไปใช้อย่างอื่น ซึ่งคีย์ Up และ Down เราจะเอาไปใช้ในการเลื่อนตัวเลือก Row ใน DBGrid นั้นเองนะครับ ส่วน Enter เราใช้เมื่อเราเลือกรายการแล้ว
         ต่อมาเขียน Event OnKeyDown ของตัว Edit1 ซึ่งจะเป็นส่วนของการเลื่อน Select Row ของ DBGrid จากการที่เราเลื่อนค่าของ ClientDataSet1 ซึ่งจะไม่ทำให้การ Focus ย้ายออกจาก Edit1 เพื่อให้เราสามารถพิมพ์คำค้นหาเพิ่มต่อได้เลยโดยไม่ต้องใช้เมาส์เลื่อนไปคลิกเลือกสลับไปมาระหว่าง Edit1 และ DBgrid

procedure TSearchDataF.Edit1KeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
  var Message: TCMDialogKey;
begin
                if (VarToStr(Key) = '38') or (VarToStr(Key) = '40') then
                begin     
                                if VarToStr(Key) = '38' then ClientDataSet1.Prior;
                                if VarToStr(Key) = '40' then ClientDataSet1.Next;
                                Key := 0;   
                end;
end;



เท่านี้คุณก็จะได้ Form สำหรับ Search (ค้นหา) ที่ง่ายๆแต่เจ๋งๆไปใช้กัน สามารถค้นหาจากบางคำในประโยคนั้นได้ และสามารถทำงานด้วยคีย์บอร์ดยางเดียวโดยไม่ต้องใช้เมาส์คลิกไปมาให้เสียอารมณ์ ที่เหลือก็แค่เอาไปดัดแปลงใช้กันนะครับ ไม่ยากครับติดส่วนไหนก็ถามได้นะครับ




วันพฤหัสบดีที่ 17 กรกฎาคม พ.ศ. 2557

PHP javascript get all input form : function ของ javascript ใช้ในการ get ค่า Input ทั้งหมดจาก form

    วันนี้ผมเอา Function javascript อันหนึ่งมาแบ่งปัน ซื่ง Function getdata_input_form ซึ่งจะทำหน้าที่ในการ get ค่าของ input ทั้งหมดที่อยู่ใน Form และ return ค่ากลับมาเป็น data URL ค่าที่ Return ก็จะออกมาแบบนี้นะครับ &user_id=1234&password=pass&fname=test_name


// Function getdata_input_form 

<script type="text/javascript">

function getdata_input_form(hh){var hh_value='';try{if(hh!=''){var data_id='';var text=0;var ck_point=0;var ck_point_name='';var form=document.getElementById(hh);var inputs=form.getElementsByTagName('input');for(var i=0;i<inputs.length;i++){try{data_id=inputs.item(i).name;if(ck_point_name!=data_id){ck_point=0;ck_point_name=data_id;}else{ck_point=(ck_point+1);}
if(i==0){if((document.getElementsByName(data_id).item(ck_point).type=="checkbox"||document.getElementsByName(data_id).item(ck_point).type=="radio")){if(document.getElementsByName(data_id).item(ck_point).checked==true){hh_value='&'+inputs.item(i).name+'='+escape(document.getElementsByName(data_id).item(ck_point).value);}}else{hh_value='&'+inputs.item(i).name+'='+escape(document.getElementsByName(data_id).item(ck_point).value);}}else{if((document.getElementsByName(data_id).item(ck_point).type=="checkbox"||document.getElementsByName(data_id).item(ck_point).type=="radio")){if(document.getElementsByName(data_id).item(ck_point).checked==true){hh_value=hh_value+'&'+inputs.item(i).name+'='+escape(document.getElementsByName(data_id).item(ck_point).value);}}else{hh_value=hh_value+'&'+inputs.item(i).name+'='+escape(document.getElementsByName(data_id).item(ck_point).value);}}}catch(err){}}}}catch(err){return'';}
return hh_value;}

</script>

// Function getdata_input_form 

การใช้งาน Function getdata_input_form 

   การใช้ Function ให้เราใส่ชื่อ Form ลงใน Function เช่น

   <form id="form_register1" name="form_register1" method="post" action="" >
      <input type="text" id="user_id" name="user_id" placeholder="ชื่อเข้าใช้งาน">
      <input type="text" id="user_passwd" name="user_passwd" placeholder="ชื่อเข้าใช้งาน">
   </form>  

// การใช้งาน ผมจะทำการ alert ค่า input ใน Form ให้ดูเฉยๆนะครับ ส่วนจะเอาไปพลิกแพลงใช้ยังไงต่อก็ตามสบายนะครับ

<script type="text/javascript">
   alert(getdata_input_form('form_register1'));
</script>

// ค่าที่ได้จะออกมาแบบนี้ครับ &user_id=?????&user_passwd=??????

* ลองเอาไปใช้กันดูนะครับ ได้ไม่ได้ยังไงก็สอบถามมาได้นะครับ


วันศุกร์ที่ 27 มิถุนายน พ.ศ. 2557

C#.Net กับการใช้ MySQL Connector ติดต่อฐานข้อมูล MySql

     ผมจะมาขอแนะนำตัวอย่างวิธีการในการ Connect MySQL ของภาษา C#.Net ในที่นี้ผมใช้ MySQL Connector ในการใช้ Connect ฐานข้อมูล MySQL


     ในการติดตั้งแหละใช้งานของภาษา C#.Net มีขั้นตอนดังนี้

  1. Download MySQL Connector สามารถไป Download ได้จาก http://www.mysql.com/products/connector/ และ Download ตัวที่เป็น ADO.NET Driver for MySQL (Connector/NET) มาติดตั้งลงที่เครื่องเราก่อน

  2. ให้เราเปิด Project แล้วไปที่เมนู PROJECT --> Add Reference --> Assemblies แล้วเลือกหมวด Extension แล้วให้ทำการติกถูกที่ MySql.Data แต่ตามรูปของผมมีหลาย Version ก็แล้วแต่จะเลือกเอา


  3. ในหน้า Designer ให้นำ DataGridView และ Button มาวางอย่างละหนึ่งอันตามตัวอย่างนะครับ

  4. ให้ using MySql.Data.MySqlClient; ตาภาพด้านล่าง

  5. ให้เขียนคำสั่งใน button_click เพื่อดึงข้อมูลจากฐานข้อมูล MySql มาแสดงผลใน Data Grid ตามคำสั่งนี้นะครับ

                string server = "127.0.0.1";
                string database = "perjerdb";
                string uid = "root";
                string password = "sa";
                string connectionString;

                connectionString = "SERVER=" + server + ";" + "DATABASE=" +
                database + ";" + "UID=" + uid + ";" + "PASSWORD=" + password + ";";

                MySqlConnection connection = new MySqlConnection(connectionString);
                MySqlCommand command = connection.CreateCommand();
                MySqlDataReader Reader;
                command.CommandText = " select * from tb_user ";
                connection.Open();
                Reader = command.ExecuteReader();

                DataTable dataTable = new DataTable();
                dataTable.Load(Reader);

                dataGridView1.AutoGenerateColumns = true;
                dataGridView1.DataSource = dataTable;
                dataGridView1.Refresh();

                connection.Close();


    * นี้เป็นเพียงตัวอย่างการใช้ MySql Connector ของภาษา C# เท่านั้นท่านสามารถนำไปประยุกต์ใช้ต่อได้

วันอาทิตย์ที่ 22 มิถุนายน พ.ศ. 2557

PHP Function Random ( ฟังก์ชั่นในการสุ่มตัวเลขและตัวอักษรของภาษา PHP )


วันนี้ผมเอา function random ทั้ง String และ Number มาฝากกันครับ

  1. Function Random Number จะเป็นฟังก์ชั่นที่ใช้สุ่มตัวเลข 0 - 9 นะครับจะเอากี่หลักก็แล้วแต่เรากำหนดตัวแปลที่ส่งเข้าไปใน function ครับ

    <?php
    function random_num($len)
    {   
            srand((double)microtime()*10000000);
       
            $chars = "0123456789";
       
            $ret_str = "";
       
            $num = strlen($chars);
       
            for($i = 0; $i < $len; $i++)
        {       
                 $ret_str.= $chars[rand()%$num];
           
                 $ret_str.=""; 
       
            }
           
             return $ret_str; 

    }
    ?>

    การใช้งานก็ง่ายๆแบบนี้ครับ andom_num(2); ผลที่ได้ก็คือเราจะได้ตัวเลขจากการ Random ออกมา 2 หลักครับ
  2. Function Random String จะเป็นฟังก์ชั่นที่ใช้สุ่มตัวเลข a - z และ A-Z นะครับจะเอากี่หลักก็แล้วแต่เรากำหนดตัวแปลที่ส่งเข้าไปใน function เหมือนกันครับ ส่วนจะเอาตัวพิมพ์เล็กหรือใหญ่ก็ไปกำหนดในค่าของ $chars ได้เลยนะครับ แต่ในที่นี้ผมจะให้สุ่มทั้งตัวพิมพ์เล็กและใหญ่ครับ

    <?php
    function random_st($len){   
               srand((double)microtime()*10000000);
       
               $chars = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz";
       
               $ret_str = "";
       
               $num = strlen($chars);
     
               for($i = 0; $i < $len; $i++)
        {       
                   $ret_str.= $chars[rand()%$num];
           
                   $ret_str.=""; 
                   }      
                return $ret_str; 

    }
    ?>

    ในการใช้งานก็เหมือนเดิมครับ random_st(4); แค่นี้ก็จะได้ตัวอักษรอังกฤษที่จะถูกสุ่มออกมา 4 ตัวนะครับ ยังไงก็ลองเอาไปดัดแปลงใช้กันดูนะครับ