ตัวอย่างโปรแกรมของ C++ Server Pages
เราลองมาดูความแปลกตาออกไปของ Code โปรแกรมที่เขียนด้วย C++ Server Pages กันนะครับว่าจะแตกต่างกันอย่างไร อันดับแรกเพื่อเป็นการทดสอบโค้ดที่เขียนด้วย CSP ท่านจะต้องทำให้ Apache หรือ Web Server ของท่านรองรับกับ CSP ตัวนี้ก่อน ให้ Download ตัว CSP มาจากเว็บ http://www.micronovae.com/ ก่อน จากนั้นก็สั่งรัน Apache ที่ได้จากตัวติดตั้ง โดยใช้ apache_servicefix.bat ก็สามารถทดสอบโค้ดได้แล้วครับ
จุดหนึ่งที่ได้ทดลองแล้วพบว่า CSP อาจจะทำให้การเขียนโค้ดช้ากว่า ถ้าผู้ที่เขียน PHP เป็นแล้วมาจับโค้ดของ CSP ก็อาจจะ (แค่อาจจะนะครับ ไม่ทุกคน) อาจจะรู้สึกว่าเรื่องของการประกาศตัวแปรนี่ต่างจาก PHP ตรงที่ความง่าย คือ ใน PHP จะสร้างตัวแปรรับจาก Form ก็ง่ายขึ้น หรือสร้างตัวแปรมาเพื่อจัดการอะไรบางอย่าง แต่ใน CSP นี่จะต้องประกาศตัวแปรก่อน เอ้อ.... อันนี้อาจจะทำให้พฤติกรรมการพัฒนาเปลี่ยนแปลงไป เพราะถ้าท่านเขียน PHP ท่านจะประกาศตัวแปรแบบไหนก็ใช้ร่วมกันได้ จะเก็บข้อความ เก็บอะไรๆ ก็ใช้ร่วมกันได้เลย ไม่ต้องเปลี่ยนแป็น int, double หรืออะไร
และใน CSP มีตัวแปรที่เรียกว่า CSPString ด้วยนะครับ คือ คล้ายๆ กับ CString ใน MFC นั่นล่ะ แต่นี่จะใช้แทนชนิดข้อมูลแบบอาเรย์ char [] แบบนี้ได้ด้วย
ตัวอย่างการสร้าง Submit Form ใน CSP
มาดูตัวอย่างกันนะครับ อันนี้คือ ตัวอย่างของ Form.html
<form action=submit.csp method=post>
Name <input type=text name=name>
<input type=submit>
</form>
สำหรับโปรแกรมที่รับการ Submit มีดังนี้
Submit.csp
<b>Submit Value</b>
<p>
<%
Response.Flush();
Response.Write("Name is " + Request.Form("name") + <br>);
int i;
for (i=0;i<10;i++)
{
Response.Write("Hello<br>");
}
%>
อันนี้เมื่อรันโปรแกรมก็จะพบกับค่าที่ submit เข้าไปจากฟอร์มทันที
ตัวอย่างการสร้างฟังก์ชั่นในไฟล์โปรแกรม
<%!global:
#include <math.h>
double ABS( double dblNum )
{
return dblNum >= 0 ? dblNum : -dblNum;
}
int func( int x )
{
return ABS( sin( 0.03*x ) )*ABS( sin( 0.08*x ) ) * 100;
}
int Fibonacci( int nNum )
{
if( nNum <= 0) return -1;
if( nNum == 1 || nNum == 2 )return 1;
return ( Fibonacci( nNum - 1) + Fibonacci( nNum - 2 ) );
}
%>
เอาล่ะครับ แนะนำกันเท่านี้ก่อน เห็นอะไรแปลกๆ เดี๋ยวนำมาบอกกันอีกครับ