วันจันทร์ที่ 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 ตัวนะครับ ยังไงก็ลองเอาไปดัดแปลงใช้กันดูนะครับ

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

อัลกอริทึมกับการใช้เงื่อนไข โดยตัวอย่างภาษา PHP

     

     อัลกอริทึม (Algorithm) คือ กระบวนการแก้ปัญหาที่สามารถอธิบายออกมาเป็นขั้นตอนที่ชัดเจน เมื่อนำเข้าอะไร แล้วจะต้องได้ผลลัพธ์เช่นไร  กระบวนการนี้ประกอบด้วยจะประกอบด้วย วิธีการเป็นขั้นๆ และมีส่วนที่ต้องทำแบบวนซำอีก จนกระทั่งเสร็จสิ้นการทำงาน Algorithm ไม่ใช่คำตอบแต่เป็นชุดคำสั่งที่ทำให้ได้คำตอบ 

     ในการเขียนโปรแกรมในภาษาต่างๆนั้นส่วนใหญ่จะต่างกันที่ไวยากรณ์ของภาษา ดังนั้นถ้าหากเรามีวิธีคิดที่ดี มีขั้นตอนการแก้ไขปัญหาด้วยการใช้เงื่อนไขที่ดี เราก็สามารถที่จะศึกษาไวยากรณ์ของภาษาอะไรก็ได้ที่คุณสนใจและเขียนมันได้เช่นกัน ดังนั้นหากคุณคิดเป็นและเคยใช้โปรแกรมภาษาใดภาษาหนึ่งมาแล้ว ในการที่คุณจะศึกษาอีกภาษาหนึ่งก็จะไม่ยาก และในการใช้สอนวิธีคิดวันนี้ผมก็จะขอแนะนำด้วยภาษา PHP และขออธิบายเป็นภาษาไทยง่ายๆก็แล้วกันนะครับ

      เงื่อนไขที่จะใช้ก็คือ if หลักการทำงานของ if จะเป็นการทำงานแบบนี้ครับ
         

      if( "เงื่อนไข" ){ " จริง (True) ตามเงือนไข " }else{ " เท็จ False จากเงือนไข " }

      ตัวดำเนินการที่ใช้ในการเปรียบเทียบ กับเงือนไขในภาษา PHP (บางส่วน)  
  • == (เท่ากับ) ตัวอย่าง if($a == $b){ "สิ่งที่ต้องการให้เกิดขึ้นเมื่อตรงตามเงื่อนไข" }
  • != (ไม่เท่ากับ)  หรือ <> (ไม่เท่ากับ) ไม่เท่ากัน ไม่ใช่ ไม่เหมือน ตัวอย่าง if($a != $b) {"สิ่งที่ต้องการให้เกิดขึ้นเมื่อตรงตามเงื่อนไข" }
  • > (มากกว่า) มีค่ามากกว่า ตัวอย่าง if($a > $b){"สิ่งที่ต้องการให้เกิดขึ้นเมื่อตรงตามเงื่อนไข" }
  • < (น้อยกว่า) มีค่าน้อยกว่า ตัวอย่าง ($a < $b){"สิ่งที่ต้องการให้เกิดขึ้นเมื่อตรงตามเงื่อนไข" }
  • and หรือ && (และ) ตัวอย่าง if($a == $b and $a == $c){ "สิ่งที่ต้องการให้เกิดขึ้นเมื่อตรงตามเงื่อนไข"
  • or หรือ || (หรือ) ตัวอย่าง if($a == $b or $a == $c){ "สิ่งที่ต้องการให้เกิดขึ้นเมื่อตรงตามเงื่อนไข" }
     ในวันนี้ผมจะยกตัวอย่างเงื่อนไขเป็นด่านตรวจของตำรวจที่จะคอยตรวจสอบรถที่จะมีเงื่อนไขการจับกุมรถแล้วกันนะครับ เริ่มกันเลยตามโจทย์ดังต่อไปนี้
  1. ให้ทำการตั้งด่านจับกุมรถยนต์ที่มีตัวรถเป็นสีส้ม
    จากโจทย์เราก็จะมาเขียนเงื่อนไข IF ได้ 2 แบบดังต่อไปนี้
       1. if(รถ=="สีส้ม") { "จับกุม" } else { "ปล่อยให้ผ่านได้" }
       2. if(รถ != "สีส้ม") { "ปล่อยให้ผ่านได้" } else { "จับกุม" } หรือ if(รถ <> "สีส้ม") { "ปล่อยให้ผ่านได้" } else { "จับกุม" }
    ซึ่งจาก 2 วิธีการใช้ if นี้จะได้ผลลัพธ์เดียวกัน
  2. ให้ทำการตั้งด่านจับกุมรถยนต์ที่มีล้อรถมากกว่า 6 ล้อขึ้นไป
    จากโจทย์เราก็จะมาเขียนเงื่อนไข IF ได้ 2 แบบดังต่อไปนี้
       1. if(รถ > 6ล้อ) { "จับกุม" } else { "ปล่อยให้ผ่านได้" }
       2. if(รถ <= 6ล้อ) { "ปล่อยให้ผ่านได้" } else { "จับกุม" }
    ซึ่งจาก 2 วิธีการใช้ if นี้จะได้ผลลัพธ์เดียวกัน
  3. ให้ทำการตั้งด่านจับกุมรถยนต์ที่มีล้อตั้งแต่ 6 ล้อขึ้นไป
    จากโจทย์เราก็จะมาเขียนเงื่อนไข IF ได้ 2 แบบดังต่อไปนี้
       1. if(รถ >= 6ล้อ) { "จับกุม" } else { "ปล่อยให้ผ่านได้" } // สัญลักษณ์ >= นี้เรียกว่ามากกว่าเหรือเท่ากับ
       2. if(รถ < 6ล้อ) { "ปล่อยให้ผ่านได้" } else { "จับกุม" }
    ซึ่งจาก 2 วิธีการใช้ if นี้จะได้ผลลัพธ์เดียวกัน
  4. ให้ทำการตั้งด่านจับกุมรถยนต์ที่มีล้อรถตั้งแต่ 6 ล้อ จนถึงรถที่มี 10 ล้อ
    จากโจทย์เราก็จะมาเขียนเงื่อนไข IF ได้ดังต่อไปนี้
       1. if(รถ >= 6ล้อ and รถ <= 10ล้อ) { "จับกุม" } else { "ปล่อยให้ผ่านได้" } หรือ if(รถ >= 6ล้อ && รถ <= 10ล้อ) { "จับกุม" } else { "ปล่อยให้ผ่านได้" } 
  5. ให้ทำการตั้งด่านจับกุมรถยนต์ที่มีล้อรถ 4 ล้อ กับรถที่มีล้อรถ 10 ล้อ
    จากโจทย์เราก็จะมาเขียนเงื่อนไข IF ได้ดังต่อไปนี้
       1. if(รถ == 4ล้อ or รถ == 10ล้อ) { "จับกุม" } else { "ปล่อยให้ผ่านได้" } หรือ 
    if(รถ || 4ล้อ or รถ || 10ล้อ) { "จับกุม" } else { "ปล่อยให้ผ่านได้" } 
จากตัวอย่างข้างบนเป็นการอธิบายการใช้งานเงื่อไข if และการใช้ตัวดำเนินการต่างๆ เพื่อหวังให้ผู้ที่อ่านจะเข้าใจได้ง่ายขึ้น และก็หวังว่าน่าจะเป็นประโยชน์ไม่มากก็น้อยสำหรับผู้อ่าน


     

วันพุธที่ 11 มิถุนายน พ.ศ. 2557

Delphi กับวิธีการใช้ ZeosLib ในการ Connect MySQL

     การใช้งาน ZeosLib หลังจากที่คุณติดตั้ง Component ZeosLib เสร็จแล้ว ให้คุณทำการ uses เพิ่มตามนี้นี้ครับ ZAbstractRODataset, ZAbstractDataset, ZDataset, ZAbstractConnection, ZConnection, Vcl.StdCtrls;



     ผมจะเอา 2 วิธีของการใช้งานมาแบ่งปันละกันครับ คือ 

  1. แบบที่เราหยิบ Zconnection และ Zquery จาก Tool Palette มาวางใช้และไปกำหนด Properties ใช้งานได้เลยแบบภาพด้านล่างนี้ครับ

  2. แบบที่เราสืบทอด Class และทำการ Create ขึ้นมาใช้งานเองครับ ซึ่งเราสามารถทำได้ด้วยการ ประกาศตัวแปลที่จะนำมาสิบทอดใช้ Zconnection และ Zquery ดังขั้นตอนต่อไปนี้

    1) ประกาศตัวแปลดังนี้ var zconn :  TZConnection; และ var zqry : TZquery;

    2) ทำการ Create Conncetion และกำหนดค่า Properties  ด้วยวิธีนี้
          zconn := TZConnection.Create(nil);
          zconn.HostName := '192.168.10.1';
          zconn.Database := 'hos';
          zconn.User := 'sa';
          zconn.Password := 'watb2000';
          zconn.Protocol := 'mysql-5';
          zconn.ClientCodepage := 'utf8';

    3) ทำการ Create query เพื่อใช้งานดังนี้
         zqry := TZQuery.Create(nil);
         zqry.Connection := zconn;

         zqry.Close;
         zqry.SQL.Text := ' *SQL คำสั่ง* ';
         zqry.Open; // ตรงนี้หากเป็นคำสั่ง Update หรือ Inset เราก็ใช้เป็น zqry.ExecSQL;

     ก็จะมีประมาณนี้นะครับลองทำกันดูนะครับ
     

วันเสาร์ที่ 7 มิถุนายน พ.ศ. 2557

Class Connect PostgreSQL ของภาษา PHP และการใช้งาน

   ตามที่สัญญาไว้ Class สำหรับใช้ในงานที่ต้อง Connect ฐานข้อมูลที่เป็น PostgreSQL ผมเลยเอามาฝากกันครับ


<?php

 Class PqDatabase
{
/**** function connect to database ****/
function PqDatabase($strHost,$strDB,$strUser,$strPassword,$PqfontSet_win874)
{
$this->objConnect = pg_connect("host=$strHost dbname=$strDB user=$strUser password=$strPassword");
// $this->FN = pg_query($PqfontSet);
}

/**** function insert record ****/
function PqExcuse()
{
$strSQL = "$this->SqlText";
return pg_query($strSQL);
}

/*** end class auto disconnect ***/
function __destruct() {
return @pg_close($this->objConnect);
   }
}

 ?>


// การใช้งาน Class

$Pos_Host="192.168.10.*";
$Pos_Db="pis";
$Pos_User="pis";
$Pos_Passwd="";
$PqfontSet_U="SET NAMES utf8";

$Pos_CnDB = new PqDatabase($Pos_Host,$Pos_Db,$Pos_User,$Pos_Passwd,$PqfontSet_U);
$Pos_CnDB->SqlText = " คำสั่ง SQL  ";
$pg_sql_result = $Pos_CnDB->PqExcuse();
$pg_sql_record=pg_fetch_array($pg_sql_result);


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

Class Connect MySQL ของภาษา PHP และการใช้งาน

Class Connect MySQL ของภาษา PHP 




     นี้เป็น Class ที่ผมเขียนขึ้นมาสำหรับใช้ Connect MySQL เพื่อใช้ในงานเขียนเว็บต่างๆ เลยเอามาแบ่งปันกันครับ ด้วย Class นี้ทำให้โปรเจ็คหนึ่งข้องผมที่ต้อง Connect มากกว่า 2 Database ในโปรเจ็คเดียวทำงานได้สบายมาก ซึ่งโปรเจ็คที่ผมทำจะ Connect MySQL 2 Database และ Postgresql อีก 4 Database เดียววันหลังผมเอา Class Connect ของ Postgresql มาฝากกันบ้าง อิอิอิ

<?php
  
 Class MyDatabase
{
/**** function connect to database ****/
function MyDatabase($strHost,$strDB,$strUser,$strPassword,$fontSet)
{
$this->objConnect = mysql_connect($strHost,$strUser,$strPassword);
$this->DB = mysql_select_db($strDB);
$this->FN = mysql_query($fontSet);
}

/**** SqlText ****/
function MyExcuse()
{
$strSQL = "$this->SqlText";
return mysql_query($strSQL);
}

/*** end class auto disconnect ***/
function __destruct() {
return @mysql_close($this->objConnect);
    }
}

?>



// การเรียกใช้ Class

$hos_Host = "127.0.0.1";
$hos_DB = "";
$hos_User = "";
$hos_Password = "";
$fontSet_U = "SET NAMES utf8";

$sql = new MyDatabase($hos_Host,$hos_DB,$hos_User,$hos_Password,$fontSet_U);
$sql->SqlText =" select * from table  ";
$result=$sql->MyExcuse();
$num=mysql_num_rows($result);
$record=mysql_fetch_array($result);



วันพุธที่ 4 มิถุนายน พ.ศ. 2557

ความสุขมันอยู่ที่ไหน ?


นักจิตวิทยาชื่อ  วีนโฮเฟ่น (1997)  ให้นิยาม " ความสุข " ว่าหมายถึงการประเมินของแต่ละคนว่า  ชื่นชอบชีวิตโดยรวมของตนเองมากแค่ไหน  การที่เราบอกว่าเรามีความสุข  จึงหมายถึงเรารู้สึกชอบหรือพึงพอใจกับชีวิตเรานั่นเอง  คนที่มีความสุขนั้น  เป็นคนที่แทบจะไม่รู้สึกวิตกกังวลกับชีวิตตนเอง  ชอบสนุกสนานอยู่กับเพื่อนฝูง  และชอบประสบการณ์ใหม่ ๆ  มีอารมณ์มั่นคงไม่เปลี่ยนแปลงขึ้นลงง่าย  และมักจะหวังว่าตนจะพบเจอสิ่งดีๆ ในอนาคต

คุณ - ผม ใครกันแน่ที่บ้า

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


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

ความสุขของคนเรานั้นต่างกัน ต่างมุมที่จะมอง

แล้วคุณละ....เจอความสุขของตัวเองแล้วหรือยัง -_- !

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

โปรแกรมดีๆที่คุณควรมีติดเครื่อง PC เพื่อป้องกันไวรัส AutoRun ต่างๆ

     ในการป้องกันไวรัสพวก AutoRun จาก Flash Drive / Thumb Drive / External harddisk หรือแม้แต่ CD ผมขอแนะนำโปรแกรมหนึ่งนั้นคือ CPE17 Autorun Killer ซึ่งผมใช้มา 3 ปีได้ ตั้งแต่ cpe17antiautorun Build 1405 จนปัจจุบันนี้ผมใช้ cpe17antiautorun Build 1670 มันช่วยป้องกันเครื่องผมได้ดีมากจากการถูกเพื่อนๆเอาอะไรต่อมิอะไรมาเสียบ ตอนนี้ผมใช้มันกับ Windows 8 ก็ไม่มีปัญหานะครับ อีกอย่างคือมันเป็น โปรแกรมฟรี ( Free )

   การติดตั้งก็ง่ายครับ Dowload มาเป็น .exe เอาไปวางไว้ที่ Drive ไหนก็ได้แล้วก็ Run ใช้งานได้เลยครับ


เวอร์ชั่นเมนูภาษาไทยก็มีนะครับ อย่างที่ผมใช้นี้ไงละครับ

คุณสมบัติโปรแกรม

  1. โปรแกรมนี้สร้างขึ้นเพื่อแก้ไขปัญหาต่างๆ ที่เกิดขึ้นจากการกระทำของไวรัสที่ใช้ Flash หรือ Thumb drive หรือ เป็นหลัก ซึ่งต้องใช้ควบคู่กับ antivirus software 
  2. ป้องกันปัญหาที่ต้นเหตุ โดยบล็อกการทำงานของ autorun จากทุกทาง ทั้ง ไดรฟ์ถอดเปลี่ยนได้ทุกแบบ ไดรฟ์ CD/DVD หรือ เน็ตเวิร์กไดรฟ์ก็ตาม
  3. โปรแกรมเขียนขึ้นด้วยภาษา C++ แท้ มีขนาดเล็ก ~0.1MB ทำงานรวดเร็ว
  4. ไม่กินทรัพยากรมากนัก สามารถใช้ได้แม้แต่เครื่องที่ความเร็วช้าก็ตาม
  5. ดับเบิ้ลคลิกเพียงครั้งเดียว โปรแกรมก็พร้อมจะทำงานทันที ไม่ต้องติดตั้งให้เสียเวลา
  6. สามารถเปลี่ยนแปลง option ได้โดย เลือกให้ลบอัตโนมัติ หรือถามก่อนทุกครั้ง, มีเสียงเตือนหรือไม่, แสดงหน้าจอผลลัพธ์หรือไม่, จะตรวจ CD/DVD หรือไม่
  7. โปรแกรมสามารถแก้ไขปัญหาต่างๆ ที่ถูกไวรัสปิดทิ้งไป ทั้ง regedit, taskmanager, folder option,cmd,find และการกระทำต่างๆ รวมทั้ง title bar ของ ie 
  8. สามารถป้องกันการรัน exe และการประมวลผล autorun file เฉพาะ windows xp ขึ้นไป
  9. สามารถสร้างภูมิคุ้มกันให้กับไดร์ฟ flash ได้
  10. แก้ hacked by ... ได้ด้วย 
  11. ปิด auto run แบบ ถาวร อัตโนมัติ เพื่อไม่ให้เกิดปัญหาขึ้นอีก 
  12. ป้องกันแบบถาวร ไม่ต้องอัพเดตฐานข้อมูลไวรัสบ่อยๆ 
  13. เพิ่มการทำงานพิเศษ สำหรับเครื่องที่ติดไวรัสไปแล้ว โดยมีฟังก์ชันพยายามฆ่าไวรัส โดยอัตโนมัติ
  14. สามารถตั้งให้ตรวจสอบ และลบไฟล์ที่เป็นรูปแบบของไวรัส เช่น ชื่อเดียวกับโฟลเดอร์ หรือไวรัสที่ copy ตัวเองซ้ำ โดยอัตโนมัติได้
  15. เพิ่มคุณสมบัติพิเศษ kill process ไวรัสในเครื่องได้เอง ผ่านเมนู kill process in memory
  16. ใช้เป็นตัวเปิด/ปิด ถาด CD/DVD ได้ด้วย
  17. ใช้ได้กับ Windows 95/98/ME/NT/2000/XP/Vista/Windows 7/Windows 8 (สำหรับ vista ขึ้นไป กรุณารันด้วยสิทธิ administrator ถ้าต้องการเช็ก HDD)
เขียวแบบนี้ก็ปลอด AutoRun นะสิ อิอิอิ
ใครสนใจก็เข้าไปโหลดได้ที่เว็บไซต์ www.cpe17.com ของพี่เขาได้โดยตรงเลยนะครับ




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

ยามเย็น ณ ศาลากลางจังหวัดสมุทรปราการ

  ใครอยู่ปากน้ำสมุทรปราการ ในช่วงเย็นถ้าคุณไม่รู้จะไปเที่ยวที่ไหนผมขอแนะนำ ศาลากลางจังหวัดครับ ซึ่งด้านในจะติดกับแม่น้ำมีลมพัด มีที่ออกกำลังกาย มีของกินขาย มีเต้นแอโรบิค ฯลฯ เหมาะสำรับคนที่ไม่รู้จะไปไหนในตอนเย็นๆ นั่งอยู่บ้านก็เหงาๆแถมร้อนมากอีกซะด้วย