DURIAN - SERVER 2.0 Free version
Advance Pascal Script (DWS Extanded)
Read In English
APS : ภาษาสคริปส์สำหรับพัฒนาโปรแกรมบน Web
APS is a powerful thai server-side HTML embedded scripting language.
ทำงานได้เหมือน PHP แต่เป็นภาษา Delphi Pascal
ไม่ใช่ Pascal 100% เพราะมีบางคำสั่งเหมือน PHP
APS Features
Cover Delphi Web Script Standard
Standard type : integer,float,datetime,string,variant,tcolor
Complex type : OOP(Class,Method,Property),Record,Array,COM
Looping : for, while, repeat until
Condition : if, case แต่พิเศษที่ case สามารถใช้กับตัวแปรแบบ string ตัวอย่าง
case x of
'apple' : send('แอปเปิล์');
'banana' : send('กล้วย');
end;
Function/Procedure สามารถประกาศได้เหมือนภาษา pascal ทั้วไป และไม่มีปัญหาในการเขียน recusive
Include file : สามารถ include ไฟล์ได้ โดยใช้คำสั่ง {$A filename} สำหรับไฟล์ที่แทรกใน html และ ใช้ {$I filename} สำหรับไฟล์ที่เป็น pascal ล้วนๆ
Advance Pascal Script (Extend)
echo command : สามารถใช้คำสั่ง echo ได้เหมือนกับใน php แทนที่จะใช้คำสั่ง
send/sendln ช่วยให้เขียนง่ายขึ้น
คำสั่งสำหรับการแสดงผลใช้ได้หลายคำสั่ง send, sendln, echo, write, writeln
(+) การรวมข้ามชนิดข้อมูล : สามารถใช้เครื่องหมาย + ในการรวมค่าของตัวแปรต่างชนิดได้ เช่น echo 'Answer = ' + (10+5); จะได้ผลเป็น Answer = 15
การใช้เครื่องหมาย " และ ' ในการแทนข้อมูล string
สามารถใช้ " หรือ ' ใน สร้าง string ได้ หรือ ใช้ร่วมกันได้ เช่น
echo "Hello world"; หรือ echo 'Hello world';
echo " Hello 'world' "; จะได้ Hello 'world'
echo ' Hello "world" '; จะได้ Hello "world"
Multiline String
สามารถสร้าง String แบบหลายบรรทัดได้ เช่น
echo "line1
line2
line3
line4";
Expression functional Variable.
ทำให้สามารถประกาศตัวแปรในรูปแบบของนิพนธ์ คล้ายกับเป็นการสร้าง function
เหมือนที่พบในการใช้งาน Excel ซึ่งจะทำให้ง่ายในการคำนวณ สิ่งที่ซับซ้อนได้ดี
ใน APS จะใช้ keyword def ในการสร้างตัวแปรแบบ expression variable
ตัวอย่าง code:
var y :integer;
def fy = (y+10); เป็นการประกาศให้ fy เป็น expression variable
หลังจากนั้น fy จะมีค่าขึ้นอยู่กับ y โดยอัตโนมัติ
เช่น
y := 10;
echo y,fy; จะแสดง 10,20
y := 20;
echo y,fy; จะแสดง 20,30
Automatic Variable
ในการใช้งานตัวแปรใน APS มี 2 แบบคือ 1. การประกาศตัวแปรก่อนการใช้งาน 2. ใช้ตัวแปรโดยไม่ต้องประกาศ
Typed Variable : คือตัวแปรที่ต้องประกาศชนิดก่อนการใช้งาน โดยใช้คำสั่ง var เช่น
var i :integer; จะได้ตัวแปร i เป็นชนิดข้อมูลแบบ integer ตัวแปรแบบนี้จะเก็บได้เฉพาะ ค่า integer ไม่สามารถเก็บข้อมูลประเภทอื่นได้ ซึ่งเหมือนกับตัวแปรปกติในภาษา pascal
Automatic Variable : คือตัวแปรที่ไม่เคยมีการประกาศชนิดก่อนการใช้งาน ตัวแปรประเภทนี้
จะมีชนิดข้อมูลตามข้อมูลที่มันเก็บอยู่ และ ตัวแปรนี้สามารถเก็บข้อมูลประเภทอะไรก็ได้ คล้ายกับการใช้ตัวแปรใน
java script หรือ ในภาษา basic
Web ความสามารถที่เกี่ยวกับการพัฒนา web
APS จะจัดการการเชื่อมต่อการทำงานกับ WebServer ให้โดยอัตโนมัติทำให้การพัฒนา
Web มีความสะดวกมากขึ้น
CGI การรับข้อมูลจาก form/query/cookie ด้วย class Request ตัวอย่างเช่น
request["name"] หมายถึงตัวแปรจาก form,query,cookies หรือ session APS จะเลือกให้อัตโนมัติ
request["form.name"] หมายถึงตัวแปรงชื่อ name จากข้อมูล form
request["query.name"] หมายถึงตัวแปรงชื่อ name จากข้อมูล form
request["sys.remoteaddr"] หมายถึงตัวแปรงชื่อ remoteaddr ในที่นี้บอก ipaddress ของ client
นอกจากนี้ เพื่อให้สะดวกในการใช้งาน คุณสามารถใช้ค่าตัวแปรต่างๆ จาก CGI ได้โดยใช้ชื่อตัวแปรโดยตรงเช่น ถ้าต้องการให้แสดงค่าของตัวแปร "name" สามารถเลือกได้ทั้ง 2 แบบคือ send(request["name"]) ; หรือ send(name);
และใช้คำสั่ง request.isset( varname) ในการทดสอบว่า มีตัวแปรหรือไม่ เช่น
if not request.isset('name') then name := 'NO NAME';
send('Your name is '+name);
Session Manager
File Uploading
Create Image on the fly : สามารถสร้างภาพ JPG,GIF (animation),PNG ได้
Durian Server
ใช้งานร่วมกับ Web Server ได้หลายแบบ ไม่ว่าจะเป็น Apache,IIS,PWS,Netscape และ อื่นๆ สามารถติดตั้งได้โดยไม่ต้อง restart webserver
สามารถปรับปรุง version ของ Durian Server ได้โดยไม่ต้องปิด webserver
ถ้าโปรแกรมมีปัญหาสามารถ restart Durian ใหม่ได้โดยไม่กระทบกับ webserver.
มีระบบ program caching โดยจะเก็บ script ที่ compile ไว้ใน cache เมื่อมีการ request
ก็จะสามารถรัน script ได้ทันทีโดยไม่ต้อง compile ใหม่ ทำให้การทำงานเร็วขึ้น
Class function Library
มี function จำนวนมากโดยดึงมาจาก standard library ของ delphi เช่น math (abs,cos,sin,random...), string (trim,pad,uppercase,strcompare,....), datetime, COM. ส่วน BDE และ ADO จะไม่มีใน version freeware.
Copyright (C) 2002 Wachirawut Thamviset, Thailand. All Rights Reserved.
wachi@sci.kku.ac.th
http://www.thaidevzone.com