display code html การแสดงโค้ด html บนหน้าเว็บ
ลำบากเหลือหลายเมื่อต้องการแสดงตัวอย่างโค้ด ให้สหายผู้เป็นที่รักได้เห็น ผ่านทางหน้าเว็บ เพราะเมื่อเราป้อนโค้ดเข้าไป เวลาแสดงผล มันดันทะลึ่งประมวลผล ทำให้ออกมาเป็นอะไร ที่ไม่ได้ตั้งใจให้มันเป็น
มีวิธีง่ายๆ สำหรับงานนี้ด้วย find and replace ผมจะใช้ dreamweaver ช่วยละกัน แล้วอะไรล่ะที่เราต้องค้นหาและแทนที่มัน
1. เครื่องหมาย <
2. เครื่องหมาย >
3. ขึ้นบรรทัดใหม่
4. แท็บ
สองอย่างหลังนี่ เพื่อความสวยงามของผลลัพธ์
การเปิด find and replace ของ Dreamweaver ให้กดปุ่ม Ctrl+F
เครื่องหมาย < แทนที่ด้วย <
เครื่องหมาย > แทนที่ด้วย >
ขึ้นบรรทัดใหม่ ในช่อง Find ให้กดปุ่ม Ctrl ค้างไว้ แล้วกด Enter จะเป็นการหา ขึ้นบรรทัดใหม่ แทนที่ด้วย
แท็บ ในช่อง Find ให้กดปุ่ม Ctrl ค้างไว้ แล้วกดแท็บ จะเป็นการหา แท็บ แทนที่ด้วย สัก 4 ตัว
ก้อปปี้สิ่งที่ได้ ไปใช้ตามต้องการ
เครดิตจาก http://www.select2web.com/other/display-code-html.html
วันอาทิตย์ที่ 31 กรกฎาคม พ.ศ. 2554
datediff javascript
datediff นำมาใช้ใน salary web ใบสลิิปเงินเดือน ให้ output เป็น จำนวนปี เดือน วัน เมื่อนำ 2 วันที่มาหาผลต่าง
้เช่น 7/4/2004 ถึง 7/30/2011 (รูปแแบบ ด/ว/ปี คศ.) ให้ผลเป็น 7 ปี 0 เดือน 26 วัน
<%
'find agejob
set rs1=Server.CreateObject("ADODB.recordset")
sql="SELECT emp_begindate FROM tblemployee "
sql=sql & "WHERE empid='" & id &"';"
rs1.Open sql, conn
%>
<script language=JavaScript>
var startDate="<%=rs1.fields("emp_begindate")%>"
function getTimeBetween(from, until) {
var past = from== " " ? new Date() : new Date(from) ;
var future = until == " " ? new Date() : new Date(until);
if(past>= future) {
var tmp = past ;
past = future ;
future = tmp ;
}
var between = [ future.getFullYear() - past.getFullYear(),
future.getMonth() - past.getMonth(),
future.getDate() - past.getDate()]
if (between[2] < 0){
between[1] -- ;
var ynum = future.getFullYear();
var mlengths =[31, (ynum %4 == 0 && ynum%100 != 0 || ynum%400 ==0) ? 29 : 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31] ;
var mnum = future.getMonth() - 1;
if(mnum < 0) { mnum += 12; }
between[2] += mlengths[mnum] ;
}
if (between[1] < 0){
between[0]--;
between[1] += 12;
}
return between ;
}
var curDate=new Date();
var myDate=new Date();
var endDate=new Date();
sp=startDate.split("/");
var dd=Number(sp[2]);
//alert(dd);
if (dd > 2500) //แก้ไขเมือปี 2600 อีกที
{
sp[2]=sp[2]-543;
}
startDate=sp[1]+"-"+sp[0]+"-"+sp[2];
endDate=(myDate.getMonth()+1)+"-"+myDate.getDate()+"-"+myDate.getFullYear();
//alert(startDate+" " + endDate);
var until = getTimeBetween(startDate, endDate) ; //เปลี่ยนวันที่ตรงนี้ m/d/year
//alert(until[0] + " years " + until[1] + " months "+ until[2] + " days " + until[3]+" hours " + until[4] + " minutes " + until[5] + " seconds");
document.getElementById("agejob").innerHTML=until[0]+" ปี "+until[1]+" เดือน "+ until[2]+" วัน";
<%rs1.close%>
</script>
ด้านล่างให้เครดิตแก่ http://www.thaicreate.com/php/forum/029180.html
้เช่น 7/4/2004 ถึง 7/30/2011 (รูปแแบบ ด/ว/ปี คศ.) ให้ผลเป็น 7 ปี 0 เดือน 26 วัน
<%
'find agejob
set rs1=Server.CreateObject("ADODB.recordset")
sql="SELECT emp_begindate FROM tblemployee "
sql=sql & "WHERE empid='" & id &"';"
rs1.Open sql, conn
%>
<script language=JavaScript>
var startDate="<%=rs1.fields("emp_begindate")%>"
function getTimeBetween(from, until) {
var past = from== " " ? new Date() : new Date(from) ;
var future = until == " " ? new Date() : new Date(until);
if(past>= future) {
var tmp = past ;
past = future ;
future = tmp ;
}
var between = [ future.getFullYear() - past.getFullYear(),
future.getMonth() - past.getMonth(),
future.getDate() - past.getDate()]
if (between[2] < 0){
between[1] -- ;
var ynum = future.getFullYear();
var mlengths =[31, (ynum %4 == 0 && ynum%100 != 0 || ynum%400 ==0) ? 29 : 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31] ;
var mnum = future.getMonth() - 1;
if(mnum < 0) { mnum += 12; }
between[2] += mlengths[mnum] ;
}
if (between[1] < 0){
between[0]--;
between[1] += 12;
}
return between ;
}
var curDate=new Date();
var myDate=new Date();
var endDate=new Date();
sp=startDate.split("/");
var dd=Number(sp[2]);
//alert(dd);
if (dd > 2500) //แก้ไขเมือปี 2600 อีกที
{
sp[2]=sp[2]-543;
}
startDate=sp[1]+"-"+sp[0]+"-"+sp[2];
endDate=(myDate.getMonth()+1)+"-"+myDate.getDate()+"-"+myDate.getFullYear();
//alert(startDate+" " + endDate);
var until = getTimeBetween(startDate, endDate) ; //เปลี่ยนวันที่ตรงนี้ m/d/year
//alert(until[0] + " years " + until[1] + " months "+ until[2] + " days " + until[3]+" hours " + until[4] + " minutes " + until[5] + " seconds");
document.getElementById("agejob").innerHTML=until[0]+" ปี "+until[1]+" เดือน "+ until[2]+" วัน";
<%rs1.close%>
</script>
ด้านล่างให้เครดิตแก่ http://www.thaicreate.com/php/forum/029180.html
function getTimeBetween(from, until) {
var past = from== " " ? new Date() : new Date(from) ;
var future = until == " " ? new Date() : new Date(until);
if(past>= future) {
var tmp = past ;
past = future ;
future = tmp ;
}
var between = [ future.getFullYear() - past.getFullYear(),
future.getMonth() - past.getMonth(),
future.getDate() - past.getDate(),
future.getHours() - past.getHours(),
future.getMinutes() - past.getMinutes(),
future.getSeconds() - past.getSeconds()];
if (between[2] < 0){
between[1] -- ;
var ynum = future.getFullYear();
var mlengths =[31, (ynum %4 == 0 && ynum%100 != 0 || ynum%400 ==0) ? 29 : 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31] ;
var mnum = future.getMonth() - 1;
if(mnum < 0) { mnum += 12; }
between[2] += mlengths[mnum] ;
}
if (between[1] < 0){
between[0]--;
between[1] += 12;
}
if (between[5]< 0){
between[4]--;
between[5] += 60;
}
if (between[4]< 0){
between[3]--;
between[4] += 60;
}
if (between[3]< 0){
between[2]--;
between[3] += 24;
}
return between ;
}
var until = getTimeBetween("13 Jul, 2009", "sep 02, 2009") ; //เปลี่ยนวันที่ตรงนี้
alert(until[0] + " years " + until[1] + " months "+ until[2] + " days " + until[3]+" hours " + until[4] + " minutes " + until[5] + " seconds");
วันเสาร์ที่ 30 กรกฎาคม พ.ศ. 2554
asp
เคยเป็นไหม แก้ไขโค็ดใน asp ด้วย editplus แล้ว สั่งเซฟ แต่ ie7 ก็ยังไม่ไปใช้สคริปที่แก้ไขใหม่ ทั้งที่เคลี่ยร์ แคชแล้ว
วิธีิแก้ รีบูตเครื่องใหม่อะคับ หายเลยอาการนี้ (ผมอาจจะสงสัยไปได้อีกว่า แคชที่เคลี่ยร์ไปไม่ได้เคลี่ยร์ไปจริงๆ)
วิธีิแก้ รีบูตเครื่องใหม่อะคับ หายเลยอาการนี้ (ผมอาจจะสงสัยไปได้อีกว่า แคชที่เคลี่ยร์ไปไม่ได้เคลี่ยร์ไปจริงๆ)
gps+agps
GPS และ AGPS แตกต่างกันอย่างไร?
« เมื่อ: ศุกร์ 25 เมษายน 2008,12:26:00 »
ลองมารู้จักกับ GPS และ AGPS กันหน่อยครับเทคโนโลยีนี้เห็นได้ในมือถือหลายๆรุ่น.... รวมทั้ง C702 ที่จะออกเดือน มิย.นี้ด้วย
GPS มีการทำงานและข้อจำกัดอย่างไร
การทำงาน : ดาวเทียมทุกดวงที่โคจรอยู่บนท้องฟ้าจะมีการส่งสัญญาณ GPS มาที่พื้นดินเพื่อที่จะเป็นการบอกพิกัดของตัวเองต่อสถานีควบคุม ข้อจำกัดคือดาวเทียมไม่สามารถใช้พลังงานได้สูงมากนักเนื่องจากพลังงานทั้ง หมดได้จากพลังงานแสงอาทิตย์ ดังนั้น กำลังส่งของสัญญาณ GPS จึงมีขนาดเล็กมาก นี้คือสาเหตุที่สำคัญที่ทำให้
1. เครื่องรับ GPS ต้องมีความไวสูงมากๆ เพื่อให้สามารถที่จะรับสัญญาณ GPS จากดาวเทียม ซึ่งโคจรอยู่ระยะประมาณ 40,000 km จากพื้นดินและสัญญาณที่ภาคพื้นดินมีขนาดเล็กมากๆ
2. ผลจากข้อที่ 1 ทำให้เครื่องรับ GPS จำเป็นต้องใช้พลังงานไฟฟ้า ในส่วน ภาครับเป็นจำนวนมากโดยส่วนนี้จะทำหน้าที่ทั้งกรองสัญญาณที่รบกวนออกจาก สัญญาณ GPS แล้วทำการขยายสัญญาณ แล้วนำไปถอดรหัสในส่วน Digital ดังนั้นโดยทั่วไปเครื่องรับจึงมีอุปกรณ์จำนวนมาก เราจึงเรียกมันว่า Chipset
3. จากข้อที่ 2 ภาคทีเป็นระบบ Digital จะมี MCU เป็นพระเอกในการ คำนวณและถอดรหัสต่างๆ โดยปกติจะเป็น MCU ที่มีความสามารถใน การคำนวณอย่างมาก ดังนั้นจึงนิยมใช้ MCU แบบ 32 บิต (ข้อ 1-3 ทำให้กินไฟประมาณ 80-200 mA.)
4. หากสัญญาณ GPS ที่เครื่องรับและเครื่องส่งไม่ตรงกัน(Synchronize)งาน นี้เราจะไม่สามารถถอดรหัสได้เลย ดังนั้น GPS หากต้องการบอกพิกัดได้ จึงไม่สามารถปิดเครื่องได้ จำเป็นต้องเปิดตลอดเวลา
5. เนื่องจากสัญญาณ GPS ที่ตกกระทบภาคพื้นดินมีขนาดเล็กมาก ดังนั้นมัน จึงง่ายต่อการถูกรบกวน การที่จะให้ได้สัญญาณ ที่แรงและดีสุดคืออย่าให้มีสิ่งกีดขวาง เครื่องรับ GPS ส่วนใหญ่จึงมีเสาอากาศแบบ ภายนอก และติดตั้งในที่โล่งแจ้ง จนเป็นที่มาไม่เห็นท้องฟ้าก็จะรับสัญญาณ GPS ไม่ได้
จากข้อ 1-5 จึงทำให้เป็นที่ถกเถียงกันในหมู่นักวิจัยว่าเราจะแก้ปัญหาหรือพัฒนา GPS ให้ดีขึ้นกว่าเดิมได้อย่างไร จึงเกิดการถกเถียง ตามมา
1. การเพิ่มกำลังส่งที่เครื่องส่ง GPS ที่ดาวเทียม ข้อนี้ ลืมได้เลย เพราะเรื่องพลังงานไฟฟ้าที่ดาวเทียมยังเป็นข้อจำกัดอยู่ การปรับเรื่องนี้คงอีกหลายสิบปี
2. ออกแบบภาครับให้มีความไวสูงขึ้นโดยอุปกรณ์ที่มีสัญญาณรบกวนต่ำ อันนี้มีการทำแล้วโดยพบใน GPS รุ่นปัจจุบัน รวมทั้ง A-GPS
3. การลดจำนวนอุปกรณ์ในเครื่องรับลงเพื่อให้มีขนาดเล็กลงและกิน ไฟฟ้าน้อยลง อันนี้มีการดำเนินการได้ โดยการใช้ MCU เฉพาะที่ออกแบบในการคำนวณและกินไฟต่ำ ซึ่งเป็น Chipset ที่ปรากฏใน GPS รุ่นปัจจุบัน
4. ปิดเครื่องเมื่อไม่ใช้แล้วเปิดเครื่องเมื่อต้องการใช้ เรื่องนี้เป็นที่ถกเถียงกันอย่างมาก หากทำเช่นนั้น สัญญาณ GPS ก็จะไม่เกิดการ Synchronize เราก็จะรับสัญญาณไม่ได้ ประกอบกับ วงโคจรของดาวเทียมจะเปลี่ยนไปตลอดเวลา การ Synchronize จึงทำได้ยากมากขึ้น จึงมีการคิดค้นว่าหากเราสามารถส่งวงโคจรของดาวเทียมที่เปลี่ยนไปให้ Chipset ได้รับรู้โดยไม่จำเป็นต้องรับสัญญาณจาก GPS โดยตรงจะทำได้หรือไม่ ผลคือทำได้ โดยการออกแบบให้ Chipset สามารถรับสัญญาณตำแหน่งดาวเทียมในรูปแบบสัญญาณ Digital ปกติ โดยไม่ต้องถอดรหัส โดยสัญญาณที่ได้จะถูกส่งมาจาก Base Station (เครื่อง GPS ที่รับสัญญาณตลอดเวลา และมีระบบส่งต่อสัญญาณไปยัง เครื่อง GPS อื่นๆ เมื่อมีการร้องขอ) เราเรียกระบบนี้ว่า Net Assisted ปัจจุบันนิยมใช้ผ่านเครือข่ายอินเตอร์เน็ต
5. หากเครื่อง GPS มีการปิดเครื่องแล้วไปเปิดอีกที เครื่องจะต้องทำการ Sync กับดาวเทียม ก่อนการ Sync จะเกิดได้อย่างรวดเร็วก็ต่อเมื่อตำแหน่งสุดท้ายหรือตำแหน่งที่เราปิดเครื่อง ไม่ห่างจากตำแหน่งที่เราเปิดเครื่องอีกครั้ง ดังนั้น GPS ทุกรุ่นจึงมีการจดจำตำแน่งเดิมก่อนปิดเครื่อง อย่างไรก็ตามปัญหาก็จะเกิดเมื่อ ตำแหน่งที่เราปิดเครื่องและเปิดอีกครั้งอย่างห่างกัน เช่นปิดเครื่องที่สนามบินดอนเมือง เปิดอีกที่ ที่สนามบินเชียงใหม่ GPS จะทำงานได้ช้ามาก และยิ่งไม่มีการรับหรือ update ตำแหน่งดาวเทียม งานนี้นานอย่าบอกใคร ดังนั้น จึงมีคำถามว่าอย่างนั้นเราจะบอกตำแหน่งคราวๆ ของ เครื่อง GPS ได้ไหม เพื่อ เป็นการง่ายในการที่จะ Sync และ คำนวณพิกัด หรือ บอกตำแหน่งได้อย่างรวดเร็ว ระบบ GPS ที่รับตำแหน่ง เข้าไป เราเรื่องระบบการช่วยเหลือแบบนี้ว่า Last Know Location Aiding. เอ้า .....แล้วเราจะรู้ตำแหน่งของเครื่องเราเมื่อเปิดได้อย่างไร และจะขอ Location Aiding ได้อย่างไร ? หากลำพัง GPS อย่างเดียวเราไม่สามารถทำได้ครับ เราเลยต้องมีการเชื่อมต่อ สัญญาณเข้ามาที่เครือข่าย โชคดีที่ GPS ส่วนใหญ่เคลื่อนที่ ดังนั้นการเชื่อมต่อเข้าเครือข่ายจึงเป็นไปได้ทางเดียวคือผ่านเครื่องมือถือ ดังนั้นระบบช่วยเหลือ จึงสามารถบอกตำแหน่งคราวๆ ของเครื่อง GPS ที่ร้องขอความช่วยเหลือมาได้ โดยการส่งตำแหน่ง Cell ID Location (Cell ID Location Aiding)ไปให้ จึงทำให้คนทั่วไปสับสนว่า A-GPS อ้างพิกัดตำแหน่งโดย Cell ID จึงมีความผิดพลาดสูง นี้เป็นความเข้าใจผิดอย่างแรง
6. หลังจาก ที่ A-GPS ได้รับ Net Assist , Location Aiding แล้ว GPS จะได้ Time Aiding จาก Server อีก ดังนั้น สิ่งเดียวที่เหลือคือการ รับสัญญาณ โดยตรงจากดาวเทียม ซึ่ง A-GPS ส่วนใหญ่แล้วจะมีภาครับที่มีความไวสูงกว่า GPS(อุปกรณ์ดีกว่าและใช้เทคโนโลยีใหม่กว่า) ปกติ 5-10 เท่า ดังนั้น เครื่อง A-GPS จึงสามารถทำงานหรือเปิดเครื่องในที่อับสัญญาณได้ หากใช้บริการ ความช่วยเหลือ จาก Server และ Base Station ดังนั้น หากใช้ A-GPS แบบเต็มระบบ การเปิดปิดเครื่อง GPS จึงไม่เป็นอุปสรรค ผลก็คือ ทำให้เราสามารถประหยัดพลังงานแบตเตอรีได้ ดังนั้น แนวโน้ม 1-2 ปี ผมคิดว่า A-GPS จะเข้ามาแทนที่ GPS ทั้งหมด ด้วยเหตุผลที่กล่าวมา

AGPS (Assistance GPS)
เป็นระบบช่วยเหลือการทำงานของ GPS ให้มีการเริ่มทำงานได้อย่างรวดเร็ว และมีความแม่นยำสูงยิ่งขึ้นโดยมีการรับข้อมูลที่จำเป็นในการเริ่มต้นการทำงานของ GPS Receiver รวบรวมไว้ในServer ที่ทำการเชื่อมต่อกับจานรับสัญญาณดาวเทียมตลอดเวลาเมื่อ GPS Receiver เริ่มทำงานจะติดต่อกับServer ผ่านทาง Network ข้อมูลเบื้องต้นในการคำนวณต่างๆ จะถูกส่งผ่านNetwork เพื่อเป็นค่าเริ่มต้นในการทำงานทำให้ลดเวลาในการเริ่มต้นให้ลดลงเหลือเพียงไม่ถึง 3 วินาทีในสภาวะสัญญาณอ่อนการทำงาน (ปกติจะอยู่ที่ 15-30 วินาที ในที่ระดับสัญญาณปกติ และ 1 นาทีขึ้นไปในระดับสัญญาณอ่อน)สามารถใช้งาน GPS ได้เมื่ออยู่ในที่อับสัญญาณแต่เนื่องจากต้องติดต่อกับเครื่อข่ายมือถือจึงเสียค่าบริการ Gprs/edge ในการใช้งานครับ
http://www.bloggang.com/viewblog.php?id=bwon&date=07-02-2008&group=2&gblog=8
http://www.thaimtb.com/cgi-bin/viewkatoo.pl?id=153927
http://www.thaitelecom.com/pub2004/news.php?ID=00011755&Keyword=
« เมื่อ: ศุกร์ 25 เมษายน 2008,12:26:00 »
ลองมารู้จักกับ GPS และ AGPS กันหน่อยครับเทคโนโลยีนี้เห็นได้ในมือถือหลายๆรุ่น.... รวมทั้ง C702 ที่จะออกเดือน มิย.นี้ด้วย
GPS มีการทำงานและข้อจำกัดอย่างไร
การทำงาน : ดาวเทียมทุกดวงที่โคจรอยู่บนท้องฟ้าจะมีการส่งสัญญาณ GPS มาที่พื้นดินเพื่อที่จะเป็นการบอกพิกัดของตัวเองต่อสถานีควบคุม ข้อจำกัดคือดาวเทียมไม่สามารถใช้พลังงานได้สูงมากนักเนื่องจากพลังงานทั้ง หมดได้จากพลังงานแสงอาทิตย์ ดังนั้น กำลังส่งของสัญญาณ GPS จึงมีขนาดเล็กมาก นี้คือสาเหตุที่สำคัญที่ทำให้
1. เครื่องรับ GPS ต้องมีความไวสูงมากๆ เพื่อให้สามารถที่จะรับสัญญาณ GPS จากดาวเทียม ซึ่งโคจรอยู่ระยะประมาณ 40,000 km จากพื้นดินและสัญญาณที่ภาคพื้นดินมีขนาดเล็กมากๆ
2. ผลจากข้อที่ 1 ทำให้เครื่องรับ GPS จำเป็นต้องใช้พลังงานไฟฟ้า ในส่วน ภาครับเป็นจำนวนมากโดยส่วนนี้จะทำหน้าที่ทั้งกรองสัญญาณที่รบกวนออกจาก สัญญาณ GPS แล้วทำการขยายสัญญาณ แล้วนำไปถอดรหัสในส่วน Digital ดังนั้นโดยทั่วไปเครื่องรับจึงมีอุปกรณ์จำนวนมาก เราจึงเรียกมันว่า Chipset
3. จากข้อที่ 2 ภาคทีเป็นระบบ Digital จะมี MCU เป็นพระเอกในการ คำนวณและถอดรหัสต่างๆ โดยปกติจะเป็น MCU ที่มีความสามารถใน การคำนวณอย่างมาก ดังนั้นจึงนิยมใช้ MCU แบบ 32 บิต (ข้อ 1-3 ทำให้กินไฟประมาณ 80-200 mA.)
4. หากสัญญาณ GPS ที่เครื่องรับและเครื่องส่งไม่ตรงกัน(Synchronize)งาน นี้เราจะไม่สามารถถอดรหัสได้เลย ดังนั้น GPS หากต้องการบอกพิกัดได้ จึงไม่สามารถปิดเครื่องได้ จำเป็นต้องเปิดตลอดเวลา
5. เนื่องจากสัญญาณ GPS ที่ตกกระทบภาคพื้นดินมีขนาดเล็กมาก ดังนั้นมัน จึงง่ายต่อการถูกรบกวน การที่จะให้ได้สัญญาณ ที่แรงและดีสุดคืออย่าให้มีสิ่งกีดขวาง เครื่องรับ GPS ส่วนใหญ่จึงมีเสาอากาศแบบ ภายนอก และติดตั้งในที่โล่งแจ้ง จนเป็นที่มาไม่เห็นท้องฟ้าก็จะรับสัญญาณ GPS ไม่ได้
จากข้อ 1-5 จึงทำให้เป็นที่ถกเถียงกันในหมู่นักวิจัยว่าเราจะแก้ปัญหาหรือพัฒนา GPS ให้ดีขึ้นกว่าเดิมได้อย่างไร จึงเกิดการถกเถียง ตามมา
1. การเพิ่มกำลังส่งที่เครื่องส่ง GPS ที่ดาวเทียม ข้อนี้ ลืมได้เลย เพราะเรื่องพลังงานไฟฟ้าที่ดาวเทียมยังเป็นข้อจำกัดอยู่ การปรับเรื่องนี้คงอีกหลายสิบปี
2. ออกแบบภาครับให้มีความไวสูงขึ้นโดยอุปกรณ์ที่มีสัญญาณรบกวนต่ำ อันนี้มีการทำแล้วโดยพบใน GPS รุ่นปัจจุบัน รวมทั้ง A-GPS
3. การลดจำนวนอุปกรณ์ในเครื่องรับลงเพื่อให้มีขนาดเล็กลงและกิน ไฟฟ้าน้อยลง อันนี้มีการดำเนินการได้ โดยการใช้ MCU เฉพาะที่ออกแบบในการคำนวณและกินไฟต่ำ ซึ่งเป็น Chipset ที่ปรากฏใน GPS รุ่นปัจจุบัน
4. ปิดเครื่องเมื่อไม่ใช้แล้วเปิดเครื่องเมื่อต้องการใช้ เรื่องนี้เป็นที่ถกเถียงกันอย่างมาก หากทำเช่นนั้น สัญญาณ GPS ก็จะไม่เกิดการ Synchronize เราก็จะรับสัญญาณไม่ได้ ประกอบกับ วงโคจรของดาวเทียมจะเปลี่ยนไปตลอดเวลา การ Synchronize จึงทำได้ยากมากขึ้น จึงมีการคิดค้นว่าหากเราสามารถส่งวงโคจรของดาวเทียมที่เปลี่ยนไปให้ Chipset ได้รับรู้โดยไม่จำเป็นต้องรับสัญญาณจาก GPS โดยตรงจะทำได้หรือไม่ ผลคือทำได้ โดยการออกแบบให้ Chipset สามารถรับสัญญาณตำแหน่งดาวเทียมในรูปแบบสัญญาณ Digital ปกติ โดยไม่ต้องถอดรหัส โดยสัญญาณที่ได้จะถูกส่งมาจาก Base Station (เครื่อง GPS ที่รับสัญญาณตลอดเวลา และมีระบบส่งต่อสัญญาณไปยัง เครื่อง GPS อื่นๆ เมื่อมีการร้องขอ) เราเรียกระบบนี้ว่า Net Assisted ปัจจุบันนิยมใช้ผ่านเครือข่ายอินเตอร์เน็ต
5. หากเครื่อง GPS มีการปิดเครื่องแล้วไปเปิดอีกที เครื่องจะต้องทำการ Sync กับดาวเทียม ก่อนการ Sync จะเกิดได้อย่างรวดเร็วก็ต่อเมื่อตำแหน่งสุดท้ายหรือตำแหน่งที่เราปิดเครื่อง ไม่ห่างจากตำแหน่งที่เราเปิดเครื่องอีกครั้ง ดังนั้น GPS ทุกรุ่นจึงมีการจดจำตำแน่งเดิมก่อนปิดเครื่อง อย่างไรก็ตามปัญหาก็จะเกิดเมื่อ ตำแหน่งที่เราปิดเครื่องและเปิดอีกครั้งอย่างห่างกัน เช่นปิดเครื่องที่สนามบินดอนเมือง เปิดอีกที่ ที่สนามบินเชียงใหม่ GPS จะทำงานได้ช้ามาก และยิ่งไม่มีการรับหรือ update ตำแหน่งดาวเทียม งานนี้นานอย่าบอกใคร ดังนั้น จึงมีคำถามว่าอย่างนั้นเราจะบอกตำแหน่งคราวๆ ของ เครื่อง GPS ได้ไหม เพื่อ เป็นการง่ายในการที่จะ Sync และ คำนวณพิกัด หรือ บอกตำแหน่งได้อย่างรวดเร็ว ระบบ GPS ที่รับตำแหน่ง เข้าไป เราเรื่องระบบการช่วยเหลือแบบนี้ว่า Last Know Location Aiding. เอ้า .....แล้วเราจะรู้ตำแหน่งของเครื่องเราเมื่อเปิดได้อย่างไร และจะขอ Location Aiding ได้อย่างไร ? หากลำพัง GPS อย่างเดียวเราไม่สามารถทำได้ครับ เราเลยต้องมีการเชื่อมต่อ สัญญาณเข้ามาที่เครือข่าย โชคดีที่ GPS ส่วนใหญ่เคลื่อนที่ ดังนั้นการเชื่อมต่อเข้าเครือข่ายจึงเป็นไปได้ทางเดียวคือผ่านเครื่องมือถือ ดังนั้นระบบช่วยเหลือ จึงสามารถบอกตำแหน่งคราวๆ ของเครื่อง GPS ที่ร้องขอความช่วยเหลือมาได้ โดยการส่งตำแหน่ง Cell ID Location (Cell ID Location Aiding)ไปให้ จึงทำให้คนทั่วไปสับสนว่า A-GPS อ้างพิกัดตำแหน่งโดย Cell ID จึงมีความผิดพลาดสูง นี้เป็นความเข้าใจผิดอย่างแรง
6. หลังจาก ที่ A-GPS ได้รับ Net Assist , Location Aiding แล้ว GPS จะได้ Time Aiding จาก Server อีก ดังนั้น สิ่งเดียวที่เหลือคือการ รับสัญญาณ โดยตรงจากดาวเทียม ซึ่ง A-GPS ส่วนใหญ่แล้วจะมีภาครับที่มีความไวสูงกว่า GPS(อุปกรณ์ดีกว่าและใช้เทคโนโลยีใหม่กว่า) ปกติ 5-10 เท่า ดังนั้น เครื่อง A-GPS จึงสามารถทำงานหรือเปิดเครื่องในที่อับสัญญาณได้ หากใช้บริการ ความช่วยเหลือ จาก Server และ Base Station ดังนั้น หากใช้ A-GPS แบบเต็มระบบ การเปิดปิดเครื่อง GPS จึงไม่เป็นอุปสรรค ผลก็คือ ทำให้เราสามารถประหยัดพลังงานแบตเตอรีได้ ดังนั้น แนวโน้ม 1-2 ปี ผมคิดว่า A-GPS จะเข้ามาแทนที่ GPS ทั้งหมด ด้วยเหตุผลที่กล่าวมา

AGPS (Assistance GPS)
เป็นระบบช่วยเหลือการทำงานของ GPS ให้มีการเริ่มทำงานได้อย่างรวดเร็ว และมีความแม่นยำสูงยิ่งขึ้นโดยมีการรับข้อมูลที่จำเป็นในการเริ่มต้นการทำงานของ GPS Receiver รวบรวมไว้ในServer ที่ทำการเชื่อมต่อกับจานรับสัญญาณดาวเทียมตลอดเวลาเมื่อ GPS Receiver เริ่มทำงานจะติดต่อกับServer ผ่านทาง Network ข้อมูลเบื้องต้นในการคำนวณต่างๆ จะถูกส่งผ่านNetwork เพื่อเป็นค่าเริ่มต้นในการทำงานทำให้ลดเวลาในการเริ่มต้นให้ลดลงเหลือเพียงไม่ถึง 3 วินาทีในสภาวะสัญญาณอ่อนการทำงาน (ปกติจะอยู่ที่ 15-30 วินาที ในที่ระดับสัญญาณปกติ และ 1 นาทีขึ้นไปในระดับสัญญาณอ่อน)สามารถใช้งาน GPS ได้เมื่ออยู่ในที่อับสัญญาณแต่เนื่องจากต้องติดต่อกับเครื่อข่ายมือถือจึงเสียค่าบริการ Gprs/edge ในการใช้งานครับ
http://www.bloggang.com/viewblog.php?id=bwon&date=07-02-2008&group=2&gblog=8
http://www.thaimtb.com/cgi-bin/viewkatoo.pl?id=153927
http://www.thaitelecom.com/pub2004/news.php?ID=00011755&Keyword=
วันพฤหัสบดีที่ 28 กรกฎาคม พ.ศ. 2554
งานรอทำครับ
1.ปรับ dnsใหม่ ที่ร้านเกมส์ maxnet 110.164.252.222 110.164.252.223
2.ทำเรื่อง ads บน thailand yellowpages ปีละ 12000
3.สาย adapter notebook เสีย รอซื้อ
4.ซื้อ android ทำ ระบบ gps
5.สิ้นเดือน 7/54 ส่งโปรแกรม Central SVR
2.ทำเรื่อง ads บน thailand yellowpages ปีละ 12000
3.สาย adapter notebook เสีย รอซื้อ
4.ซื้อ android ทำ ระบบ gps
5.สิ้นเดือน 7/54 ส่งโปรแกรม Central SVR
วันจันทร์ที่ 25 กรกฎาคม พ.ศ. 2554
โปรแกรมเข้าออกงานของพนักงาน GrandAttendance
โปรแกรมเข้าออกงานของพนักงาน GrandAttendanceใช้คู่กับ เครื่องแสกนนิ้วมือ ผมทำ การ Coding ให้รับเฉพาะ นิ้วโป้งมือซ้าย และขวา(แต่จริงๆแล้วจะใช้นิ้วใหนก็ได้ กรณีลายนิ้วมือหาย)
พัฒนาและใช้งานมาตั้งแต่ปี 26/10/2550
ภาพเครื่องสแกนนิ้วมือ
ภาพด้านล่างเมื่อแสกนนิ้วจะปรากฎภาพพนักงาน ชื่อ เวลาเข้า หรือออกเืมื่อสแกนออก ประวัติขาดลามาสาย วันเริ่มเข้าทำงานวันแรก
อายุงาน
ภาพด้านล่าง การจัดการงานเกี่ยวกับ ขาดลาดมาสาย ระบุเหตุหยุดงาน โอที อื่นๆ
ภาพด้านล่าง คือ ส่งออกรายงานไปยัง Excel เพื่อแก้ไขจัดการทำรายงานต่อไป ซึ่่งจะบอก รายละเอียดสถิติ ขาดลามาสาย โอที โอทีสะสม
ในข้อมูลส่วนนี้ จะมีการเชื่อมไปยังโปรแกรมเงินเดือน ซึ่งเป็น web app ทำงานผ่าน browser ie7 เพื่อส่งต่อให้ ผู้บริหารจัดการงานเงินเดือนได้
จากที่บ้าน และพิมพ์สลิปเงินเดือนได้
mshflexgrid
***เทคนิค : ปรับความสูงของเซล ใน mshflexgrid อัตโนมัติ เพื่อให้แสดงข้อความในเซลได้หมด
***เป็น โค๊ดในส่วนหนึ่งของโปรแกรม FindEndPromise
***เป็น โค๊ดในส่วนหนึ่งของโปรแกรม FindEndPromise
Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long
Const EM_GETLINECOUNT = &HBA
Public Sub AutoRowHeight()
Dim ColLoop As Long
Dim RowLoop As Long
'Turn off redrawing to avoid flickering
MSHFlexGrid1.Redraw = False
With Me.MSHFlexGrid1
.RowHeight(1) = Me.TextHeight("d") * 1
.RowHeight(2) = Me.TextHeight("d") * 1
.RowHeight(3) = Me.TextHeight("d") * 1
.RowHeight(4) = Me.TextHeight("d") * 1
.RowHeight(5) = Me.TextHeight("d") * 1
End With
'MSHFlexGrid1.ColWidth(ColLoop) = 2500
'ColLoop = 4
For RowLoop = 1 To MSHFlexGrid1.Rows - 1
For ColLoop = 2 To 5
ReSizeCellHeight RowLoop, ColLoop
Next ColLoop
Next RowLoop
'Turn redrawing back on
MSHFlexGrid1.Redraw = True
End Sub
Public Sub ReSizeCellHeight(MyRow As Long, MyCol As Long)
Dim LinesOfText As Long
Dim HeightOfLine As Long
'Set MSFlexGrid to appropriate Cell
MSHFlexGrid1.Row = MyRow
MSHFlexGrid1.Col = MyCol
'Set textbox width to match current width of selected cell
Text1.Width = MSHFlexGrid1.ColWidth(MyCol)
'Set font info of textbox to match FlexGrid control
Text1.Font.Name = MSHFlexGrid1.Font.Name
Text1.Font.Size = MSHFlexGrid1.Font.Size
Text1.Font.Bold = MSHFlexGrid1.Font.Bold
Text1.Font.Italic = MSHFlexGrid1.Font.Italic
Text1.Font.Strikethrough = MSHFlexGrid1.Font.Strikethrough
Text1.Font.Underline = MSHFlexGrid1.Font.Underline
'Set font info of form to match FlexGrid control
Me.Font.Name = MSHFlexGrid1.Font.Name
Me.Font.Size = MSHFlexGrid1.Font.Size
Me.Font.Bold = MSHFlexGrid1.Font.Bold
Me.Font.Italic = MSHFlexGrid1.Font.Italic
Me.Font.Strikethrough = MSHFlexGrid1.Font.Strikethrough
Me.Font.Underline = MSHFlexGrid1.Font.Underline
'Put the text from the selected cell into the textbox
Text1.Text = Trim(MSHFlexGrid1.Text)
'Get the height of the text in the textbox
HeightOfLine = Me.TextHeight(Text1.Text)
'Call API to determine how many lines of text are in text box
LinesOfText = SendMessage(Text1.hwnd, EM_GETLINECOUNT, 0&, 0&)
'Check to see if row is not tall enough
If MSHFlexGrid1.RowHeight(MyRow) < (LinesOfText * HeightOfLine) Then
'Adjust the RowHeight based on the number of lines in textbox
MSHFlexGrid1.RowHeight(MyRow) = LinesOfText * HeightOfLine
End If
End Sub
สมัครสมาชิก:
บทความ (Atom)








