This is default featured post 1 title

Go to Blogger edit html and find these sentences.Now replace these sentences with your own descriptions.

This is default featured post 2 title

Go to Blogger edit html and find these sentences.Now replace these sentences with your own descriptions.

This is default featured post 3 title

Go to Blogger edit html and find these sentences.Now replace these sentences with your own descriptions.

This is default featured post 4 title

Go to Blogger edit html and find these sentences.Now replace these sentences with your own descriptions.

This is default featured post 5 title

Go to Blogger edit html and find these sentences.Now replace these sentences with your own descriptions.

Thứ Sáu, 20 tháng 5, 2011

Lưu nội dung file ảnh vào CSDL MYSQL


Nhu cầu phát triển web của PHP là lưu nội dung của file ảnh vào trong một cơ sở dữ liệu (CSDL) và sau đó là đọc nội dung của file ảnh đã lưu trong CSDL ra và hiển thị ra trình duyệt. Nhu cầu này có một số đặc điểm sau:
TỔNG QUAN
Nhu cầu phát triển web của PHP là lưu nội dung của file ảnh vào trong một cơ sở dữ liệu (CSDL) và sau đó là đọc nội dung của file ảnh đã lưu trong CSDL ra và hiển thị ra trình duyệt. Nhu cầu này có một số đặc điểm sau:
● Lưu nội dung file ảnh vào CSDL thì sẽ không phụ thuộc vào đường dẫn đến thư mục chứa hình. Nếu bạn dùng theo cách hiển thị nội dung hình ảnh theo cách truyền thống thì đường đến file hình thật chính xác thì file hình mới hiển thị ra, chẳng may thư cấu trúc thư mục đó bị thay đổi thì chúng ta phải cập nhật lại rất nhiều đường dẫn trên website, hay file ảnh có thể bị xóa mất hay bạn restore hay backup bị thiếu....Chỉ thiếu một phần nhỏ là file hình không hiển thị được rồi. Để giảm được những rủi ro này bạn dùng cách như thế này là lưu nội dung file ảnh vào CSDL như vậy là không phụ thuộc vào đường dẫn hay cấu trúc thư mục... rất là lôi thôi. Chúng ta chỉ phụ thuộc vào nơi chứa nội dung chủa file hình.
● Lưu nội dung file ảnh vào CSDL thì rất thuận tiện cho việc backup và restore. Trong đó dùng cách truy cập trực tiếp đến hình thì khi backup hay restore thì chúng ta phải backup/restore rất nhiều file nhỏ rất là mệt. Trong khi đó dùng cách lưu nội dung file ảnh vào CSDL thì chúng ta chỉ cần backup/restore lại một file là đủ, thông thường là file SQL.
● Nếu chúng ta dùng cách truy cập trực đến file hình thì khi chúng ta upload hình lên server qua (form upload) thì một số host không cho ta quyền ghi vào thư mục (write) thì chúng ta không đưa hình lên trang web của mình được. Lưu file trong CSDL là một giải pháp khá thích hợp trong hoàn cảnh này.
● Không chỉ lưu giới hạn file ảnh vào CSDL mà chúng ta còn lưu rất nhiều file khác nhau vào CSDL. Để đơn giản chúng ta sẽ tìm hiểu cách lưu file ảnh vào CSDL MySQL và ngôn ngữ thực hiện là PHP.

THIẾT KẾ CSDL
Chúng ta chỉ cần một bảng để lưu nội dung của một fila ảnh và trong bảng này chúng ta sẽ thiết kế như sau:
● Cột nhận dạng (ID) của file ảnh, chúng ta dùng kiểu dữ liệu AUTO_INCREMENT để làm ID cho các file ảnh đã lưu trong CSDL.
● Cột lưu nội dung file ảnh, đây là cột quan trọng quyết định hình ảnh sẽ hiển thị lên trình duyệt. Nội dung của file ảnh cũa là một chuỗi nhưng dữ liệu nhị phân. Vì vậy chúng ta sẽ sử dụng kiểu dữ liệu mediumblob để lưu nội dung của file ảnh (kiểu dữ liệu blob cũng là chuỗi nhị phân, nhưng chiều dài tối đa chỉ có 65Kb, sẽ không đủ cho chúng ta muốn lưu một fila ảnh lớn).
● Và bảng chúng ta sẽ có cấu trúc như sau
CREATE TABLE imgData (
imgID int NOT NULL AUTO_INCREMENT,
imgContents mediumblob NOT NULL,
PRIMARY KEY (imgID)
);

LƯU NỘI DUNG FILE ẢNH VÀO CSDL
Chúng ta xem như đã có trên server. Và đoạn chương trình sau sẽ mở file ảnh thông qua tên file để đọc nội dung của file ảnh và lưu nội dung file ảnh vào trong CSDL.
//connect vào CSDL MySQL
//host = localhost
//username = root
//password = root
$conn = mysql_connect("localhost", "root", "root");

//chọn database làm việc
mysql_select_db("imgSave", $conn);

//tên file ảnh
$imgFilename = "imgData.jpg";

//mở file ảnh để đọc với chế độ đọc binary
$f = fopen($imgFilename, "rb");
$imgContents = fread($f, filesize($imgFilename));
fclose($f);

//chèn nội dung file ảnh vào table imgConetnts
$sql = "INSERT INTO imgData (imgContents) VALUES('" . mysql_real_escape_string($imgContents, $conn) . "')";
mysql_query($sql, $conn);
?>
ĐỌC NỘI DUNG FILE ẢNH TỪ CSDL
Để đọc nội dung của file ảnh từ CSDL, ta cần ID của file ảnh nếu chúng ta muốn hiển thị tấm hình nào. Đoạn mã sau sẽ minh hoạ chi tiết, nhưng ở đây ta chỉ lấy 1 tấm hình có chỉ số ID = 1.
//connect vào CSDL MySQL
//host = localhost
//username = root
//password = root
$conn = mysql_connect("localhost", "root", "root");

//chọn database làm việc
mysql_select_db("imgSave", $conn);

//ID của file ảnh
$imgID = 1;

//đọc nội dung file ảnh từ table tblImage
$sql = "SELECT * FROM imgData WHERE imgID=" . $imgID;
$result = mysql_query($sql, $conn);

while($row = mysql_fetch_array($result)){
$imgData = $row['imgContents'];
}
?>
Biến $imgData sẽ chứa nội dung của file ảnh. Bước tiếp theo, ta xuất nội dung của file ảnh ra browser. Quá trình xuất nội dung của file ảnh ra browser. Nhưng chúng ta phải báo cho Browser biết nội dung của chúng ta xuất ra là hình ảnh, đơn giản là chúng ta chỉ chèn vào một dòng
header("Content-type: image/jpeg"); là được. Và sau đây là quy trình xuất ra nội dung một file ảnh như sau.
header("Content-type: image/jpeg");
echo $imgData;
?>
Như bạn đã thấy rồi đó lưu file ảnh vào CSDL và đọc nội dung của một file ảnh từ CSDL để xuất ra Browser thật là không dễ chút nào. Nhưng chúng ta chỉ cần lưu ý các bước sau đây.
· Đọc nội dung file vào 1 biến, bạn nhớ phải mở file với chế độ đọc binary.
· Xử lý các ký tự đặc biệt trước khi lưu vào database (sử dụng hàm mysql_real_escape_string).
· Trước khi xuất nội dung file ra browser, bạn nhớ dùng hàm header để báo cho browser biết kiểu file mà chương trình của bạn chuẩn bị trả về là một file ảnh.

KẾT LUẬN
Chúng ta có thể dùng cách này để viết một chương trình quản lý download trên website của mình. Tuy nhiên chúng ta cũng cần có một vài điều chú ý như sau:
· Làm như vậy thì server sẽ xử lý nhiều công việc hơn cách download file trực tiếp.
· Tốc độ download sẽ chậm hơn rất nhiều so với download file trực tiếp.
· Nội dung file thì được lưu trữ trong CSDL mà CSDL cho số lượng người kết nối vào có hạn, trong khí đó với 1 file có dung lượng lớn thì chúng ta có thể mất rất nhiều thời gian để download

MỘT THÍ DỤ VỀ CHƯƠNG TRÌNH DOWNLOAD
Giả sử chúng ta có 1 file example.zip nằm trong cùng một thư mục với file download.php. Nhưng chỉ người viết mới biết là file này nằm ở đâu, người truy cập muốn lấy file example.zip về thì phải truy cập vào trang download.php và trang download.php sẽ có nội dung như sau:
//file download.php
$filename = "example.zip";
$f = fopen($filename, "rb");

header("Content-type: application/octet-stream");
header("Content-length: " . filesize($filename));

fpassthru($f);
fclose($f);
?>
Chúng ta chỉ cần bấy nhiêu là hoàn thành một trang download. Nhưng nếu muốn cho trang download chúng ta đẹp hơn, hoàn thiện hơn thì chúng ta phải cải tiến thêm.


Giải thích những câu lệnh trên
Đầu tiên, ta mở file example.zip để đọc ở chế độ nhị phân (binary):
$f = fopen($filename, "rb");

Tiếp theo ta báo cho browser biết data trả về từ server là dữ liệu nhị phân chứ không phải là văn bản HTML như thông thường:
header("Content-type: application/octet-stream");
Đồng thời ta cũng báo cho browser biết dung lượng của file sẽ được tải xuống:
header("Content-length: " . filesize($filename));
Và cuối cùng là đọc nội dung file và echo lại cho browser download:
fpassthru($f);.
Lệnh fpassthru($f); tương đương với 2 lệnh:
$content = fread($f, filesize($filename));
echo $content;
Và như thế chúng ta có thể thí dụ chạy trên nhiều kiểu file khác nhau như (word, excel, PDF...) và bạn sẽ thấy có một vài chỗ thật khó chịu vì browser mặc định sẽ lưu file của bạn lên đĩa với tên là download.php bạn phải đổi tên lại cho đúng và trước khi mở file đó ra đọc.
Để giải quyết vấn đề trên ta chỉ cần thêm một lệnh header() nữa là được.
header('Content-disposition: attachment; filename="'.$filename.'"');
Tham số "attachment" của header "Content-disposition" sẽ báo cho browser biết là nên download và save file thay vì open. Tham số "filename=" sẽ báo cho browser biết tên của file đang được download.

Tới đây chúng ta có thể nâng cấp trang web của mình lên cho người dùng chọn file để download. Có nghĩa là chúng ta hiển thị ra 1 list các tập tin cho người dùng download và liên kết các file download đều đến file download.php?filename=”Tên file cần download”. Trong file download.php chỉ cần $_GET['filename'] là chúng ta có thể download về được.

Và file download.php sẽ có nội dung như sau:
$filename = isset($_GET['file'])?$_GET['file']:'';
$upload_dir = "../upload/";


//Mở file với chế độ nhị phân
$fp = fopen($upload_dir.$filename, "rb");
//gởi header đến cho browser
header('Content-type: application/octet-stream');
header('Content-disposition: attachment; filename="'.$filename.'"');
header('Content-length: ' . filesize($upload_dir.$filename));
//đọc file và trả dữ liệu về cho browser
fpassthru($fp);
fclose($fp);

Chuyển chuỗi string sang mảng(Convert string into array).


Nhiều khi bạn có 1 chuỗi string và muốn chuyển từng ký tự string đó vào 1 mảng.Ví dụ:bạn có chuỗi:$str=123789456 và bây giờ bạn muốn chuyển các số trong chuỗi trên vào mảng với mục đích để sắp xếp thành: 123456789 chẳng hạn.Vậy thì Hàm dưới đây sẽ giúp bạn làm được điều đó trong giây lát.
function strsplit($thetext,$num)
{
if (!
$num)
$num=1;
$arr=array(); $x=floor(strlen($thetext)/$num);
while (
$i<=$x)
$y=substr($thetext,$j,$num);
if (
$y)
array_push($arr,$y);
$i++; $j=$j+$num;
}
return 
$arr;
?>

ví dụ:
$str1="25431";$str2="thegioiwebsite.net";
$arr1=
strsplit($str1,1);
$arr2=
strsplit($str2,5);
?>

Kết quả sẽ có dạng:
$arr1[0]=>2
$arr1[1]=>5
$arr1[2]=>4$arr1[3]=>3$arr1[4]=>1

------------------
$arr2[0]=>thegi$arr2[1]=>oiweb$arr2[2]=>site.$arr2[3]=>net
Đối với PHP5 trở đi bạn có thể sử dụng hàm có sẵn:
 str_split trong PHP để cắt chuỗi string rồi cho nó vào mảng

Nguyễn Đức Mạnh(ducmanh@thegioiwebsite.net)

Tạo ảnh ngẫu nhiên.


1. Đầu tiên bạn tạo một file mới là random.php với nội dung:
<?php 

$random = "images.txt";

$fp = file($random);
srand((double)microtime()*1000000);
$rl = $fp[array_rand($fp)];
echo $rl;
?>


2. Tạo một file images.txt với nội dung:
<a href="URL"><img src="IMAGE-URL" border="0"></a>


Sau đó bạn include vào trang web muốn đặt random image.

Phát biểu lệnh của JavaScript


Một số phất biểu của JavaScript hay được dùng đến nhất:
break
Comment
continue
do...while
for
for...in
function
if...else
return
switch
this
var
while

-----------------------------------------------------------------
break
    Ngưng vòng lặp switch,whileforfor...in, hoặc do...while.
Ví dụ:
function BreakTest(breakpoint)
{
   var i = 0;
   while (i < 100)
   {
   if (i == breakpoint)
     break;
     i++;
   }
   return(i);
}
---------------------------------------------------------------------
Comment 

Làm cho các ghi chú sẽ được bỏ qua trong quá trình biên dịch và chạy.
Cú pháp 1:

Chú thích 1 dòng:
// chú thích
Cú pháp 2

Chú thích nhiều dòng:
/*
chú thích
*/
Ví dụ:

function myfunction(arg1, arg2)
{
  /* This is a multiline comment that
     can span as many lines as necessary. */
  var r;
  // This is a single line comment.
  r = arg1 + arg2; // Sum the two arguments.
  return(r);
}
----------------------------------------------------------------
continue

Dừng lặp hiện tại và bắt đầu lặp mới. Dùng continue trong while,do...whilefor, hoặc for...in
Ví dụ:

function skip5()
{
  var s = "", i=0;
  while (i < 10)
  {
    i++;
    // Skip 5
    if (i==5)
    {
      continue;
    }
   s += i;
  }
  return(s);
}
------------------------------------------------------------
do...while

Thực hiện 1 nhóm lệnh lặp đi lặp lại cho đến trong khi điều kiện true.
Cú pháp

do
   statement
while (expression) ;

Phần

Diễn giải

statement

Nhóm lệnh được chạy khi điều kiện expressionlà đúng (true).

expression

Là biểu thức Boolean true hoặc false. Nếuexpression=  true, thì lặp lại lần nữa. Nếuexpression = false, thì vòng lặp dừng.
Ví dụ:
function GetDriveList()
{
  var fso, s, n, e, x;
  fso = new ActiveXObject("Scripting.FileSystemObject");
  e = new Enumerator(fso.Drives);
  s = "";
  do
  {
    x = e.item();
    s = s + x.DriveLetter;
    s += " - ";
    if (x.DriveType == 3)
      n = x.ShareName;
    else if (x.IsReady)
      n = x.VolumeName;
    else
      n = "[Drive not ready]";
    s +=  n + "
";
    e.moveNext();
  }
  while (!e.atEnd());
  return(s);
}
--------------------------------------
for

Thực hiện 1 khối lệnh trong khi điều kiện kiểm tra còn đúng(=true).
Cú pháp

for (initializationtestincrement)
    statement

Phần

Diễn giải

initialization

Là 1 biểu thức. Biểu thức này chỉ chạy 1 lần trước khi vòng lặp được thực hiện.

test

Là biểu thức Boolean. Nếu testtrue,statement được thực hiện. Nếu testfalse, vòng lặp sẽ dừng.

increment

Là biểu thức. Biểu thức increment được thực hiện ở cuối mỗi vòng lặp.

statement

Ðoạn lệnhđược thực hiện khi test = true.
Ví dụ:
/* i is set to 0 at start, and is incremented by 1 at the end
of each iteration. Loop terminates when i is not less
than 10 before a loop iteration. */
var myarray = new Array();
for (i = 0; i < 10; i++)
{                       
  myarray[i] = i;               
}
----------------------------------------
for..in

Thực hiện 1 hoặc nhiều câu lệnh cho với từng thuộc tính của 1 object, hoặc từng thành phần của 1 mảng.
Cú pháp

for (variable in [object | array])
    statement

Phần

Diễn giải

variable

Là 1 biến có thể là thuộc tính của object hoặc thành phần của mảng.

object, array

Một object hoặc array qua mỗi lần lặp.

statement

Nhóm lệnh sẽ được thực hiện với từng thành phần của đối tượng hoặc mảng.
Ví dụ:
function ForInDemo()
{
  // Create some variables.
  var a, key, s = "";
  // Initialize object.
  a = {"a" : "Athens" , "b" : "Belgrade", "c" : "Cairo"}
  // Iterate the properties.
  for (key in a)
  {
     s += a[key] + "
";
  }
  return(s);
}
------------------------------------
function

Khai báo 1 function mới.
Cú pháp

function functionname([argument1 [, argument2 [, ...argumentn]]])
{
   statements
}

Phần

Diễn giải

functionname

Tên function

argument1...argumentn

Danh sách đối số của hàm

statements

1 hoặc nhiều lệnh JScript.
Ví dụ:

function myfunction(arg1, arg2)
{
  var r;
  r = arg1 * arg2;
  return(r);
}
------------------------------------
if...else

Thực hiện 1 nhóm lệnh có điều kiện, phục thuộc vào giá trị của 1 biểu thức.
Cú pháp

if (condition)
     statement1
[else
     statement2]

Phần

Diễn giải

condition

Là biểu thức boolean. Nếu condition  là null hoặc undefined , condition được gán là false.

statement1

Nhóm lệnh được thực hiện nếu condition =true

statement2

Nhóm lệnh được thực hiện nếu condition =false.
Ví dụ:

if (x == 5)
  if (y == 6)
     z = 17;
else
  z = 20;
Ví dụ:

if (x == 5)
  {
  if (y == 6)
     z = 17;
  }
else
  z = 20;
Ví dụ:

if (x == 5)
  z = 7;
  q = 42;
else
  z = 19;
--------------------------------------------------------------
return

Thoát khỏi function hiện tại và trả về 1 giá trị từ  function đó.
Cú pháp

return [expression];
Ðối số expression  là 1 giá trị trả về từ function. Nếu bỏ qua thì hàm không trả về giá trị.
Ví dụ:

function myfunction(arg1, arg2)
{
  var r;
  r = arg1 * arg2;
  return(r);
}
------------------------------------------------------------
switch

Thực hiện 1 hoặc nhiều lệnh khi giá trị biểu thức chỉ định trùng với 1 nhãn.
Cú pháp

switch (expression) {
   case label :
      statementlist
   case label :
      statementlist
   ...
   default :
      statementlist
}

Phần

Diễn giải

expression

Biểu thức được tính toán so sánh với các nhãn.

label

Là định danh trùng với expression. Nếu label=== expression, thì thực hiện statementlist  sau dấu : , và tiếp tục đến khi gặp lệnhbreak( lệnh break có hay không là tùy ý) hoặc cuối lệnh switch.

statementlist

1 hoặc nhiều lệnh.

Dùng default để chỉ ra rằng nếu expression không trùng với bất kỳ label nào đã chỉ định thì chạy đoạn lệnh statementlist trong default.
Ví dụ:

function MyObject() {
...}
switch (object.constructor){
case Date:
...
case Number:
...
case String:
...
case MyObject:
...
default: 
...
}
--------------------------------------------------------------
this

Tham khảo đến object hiện tại.
Cú pháp

this.property
Ví dụ:

function Car(color, make, model)
{
  this.color = color;
  this.make = make;
  this.model = model;
}
--------------------------------------
var

Khai báo biến.
Cú pháp

var variable [ = value ] [, variable2 [ = value2], ...]

Phần

Diễn giải

variable, variable2

Tên các biến được khai báo.

value, value2

Các giá trị gán cho biến.
Ví dụ:

var index;
var name = "Thomas Jefferson";
var answer = 42, counter, numpages = 10
-----------------------------
while

Thực hiện đoạn lệnh lặp lại cho đến trong khi điều kiện chỉ định = false.
Cú pháp

while (expression)
   statement

Phần

Diễn giải

expression

Biểu thức Boolean kiểm tra trước mỗi khi thực hiện đoạn lệnh. Nếu expression = true, vòng lặp được thực hiện. Nếu expression = false, vòng lặp dừng.
 

statement

Nhó m lệnh được thực hiện nếu expression =true.
Ví dụ:

function BreakTest(breakpoint)
{
   var i = 0;
   while (i < 100)
   {
   if (i == breakpoint)
     break;
     i++;
   }
   return(i);
}

Các phương thức JavaScript(Methods)


Tổng hợp các phương thức sử dụng trong JavaScript:
abs
bảng toán tử 
charAt
dimensions
eval
getDate
getDay
getItem
getTime
item
join 
lbound
match 
max
min
moveFirst
moveNext
isNaN
replace
reverse
sort
split
substr
substring
test
toArray
toLowerCase
toUpperCase
ubound
------------------------------------------------------------------
Bảng toán tử:

Toán tử

Ký hiệu

Cộng

 +

Gán giá trị

 =

AND

&

NOT

~

OR

 |

XOR

^

Chia

 /

So sánh bằng

 ==

S/s lớn hơn

 >

S/s lớn hơn hoặc bằng

>=

Giảm 1 đơn vị

 --

Tăng 1 đơn vị

 ++

So sánh không bằng

!=

S/s nhỏ hơn

<

S/s nhỏ hơn hoặc bằng

<=

AND

&&

NOT

!

OR

 ||

Chia lấy phần dư

%

Nhân

*

Tạo object mới

new

Trừ

-
Lưu ý: Giá trị logic trả về:

Ðúng

true

Sai

false
---------------------------------------------------------------
substr
stringvar.substr(start [, length ]): trả về 1 chuỗi con từ chuỗi stringvar gồm length ký tự bắt đầu từ vị trí start
Ví dụ
function SubstrDemo()
{
  var s, ss;
  var s = "The quick brown fox jumped over the lazy yellow dog.";
  ss = s.substr(16, 3);
  // Trả về "fox".
  return(ss);
}
-----------------------------------------------------------
abs
Math.abs(number): trả về trị tuyệt đối của number
Ví dụ:
function ComparePosNegVal(n)
{
  var s;
  var v1 = Math.abs(n)
  var v2 = Math.abs(-n);
  if (v1 = v2)
    s = "The absolute values of " + n + " and "
    s += -n + " are identical.";
  return(s);
}
--------------------------------------------
atEnd
myEnum.atEnd( ): trả về giá trị true nếu thành phần của tập hợp myEnum là cuối cùng hoặc rỗng, ngược lại cho giá trị false
Ví dụ:

function ShowDriveList()
{
  var fso, s, n, e, x;
  fso = new ActiveXObject("Scripting.FileSystemObject");
  e = new Enumerator(fso.Drives);
  s = "";
  for (; !e.atEnd(); e.moveNext())
  {
    x = e.item();
    s = s + x.DriveLetter;
    s += " - ";
    if (x.DriveType == 3)
      n = x.ShareName;
    else if (x.IsReady)
      n = x.VolumeName;
    else
      n = "[Drive not ready]";
    s +=  n + "<br>";
  }
  return(s);
}
---------------------------------------
charAt
strVariable.charAt(index): trả về ký tự vị trí thứ index trong biến chuỗi strVariable. Ký tự đầu tiên của chuỗi có thứ tự là 0, ký tự thứ hai là 1...
Ví dụ:
function charAtTest(n)
{
  var str = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
  var s;
  s = str.charAt(n - 1);
  return(s);
}
------------------------------------
dimensions
array.dimensions(): trả về số chiều của mảng trong VBScript
Ví dụ:
<HEAD>
<SCRIPT LANGUAGE="VBScript">
<!--
Function CreateVBArray()
  Dim i, j, k
  Dim a(2, 2)
  k = 1
  For i = 0 To 2
    For j = 0 To 2
      a(j, i) = k
      k = k + 1
    Next
  Next
  CreateVBArray = a
End Function
-->
</SCRIPT>
<SCRIPT LANGUAGE="JScript"> 
<!-- function VBArrayTest(vba) 
{ var i, s; 
var a = new VBArray(vba); 
for (i = 1; i <= a.dimensions(); i++) 
{ s = "The upper bound of dimension ";
 s += i + " is "; 
s += a.ubound(i)+ ".<BR>"; } return(s); 
} --> 
</SCRIPT> 
</HEAD>
<BODY> <SCRIPT language="jscript"> document.write(VBArrayTest(CreateVBArray())); </SCRIPT> </BODY>
------------------------------------
eval
eval(codestring): thực hiện lệnh codestring, codestring viết ở dạng chuỗi
Ví dụ:
eval("var mydate = new Date();");
//cho kết quả mydate là 1 ngày
--------------------------------------------------------------------getDate
objDate.getDate(): trả về ngày trong tháng. Ngày lấy từ ngày hiện tại củahệ thống.
Ví dụ:
function DateDemo()
{
  var d, s = "Today's date is: ";
  d = new Date();
  s += (d.getMonth() + 1) + "/";
  s += d.getDate() + "/";
  s += d.getYear();
  return(s);
}
--------------------------------------------------------------------getItem
safeArray.getItem(dimension1[, dimension2, ...], dimensionn): trả về giá trị trong mảng được chỉ định bởi thứ tự chiều của phần tử.
Ví dụ:
<HEAD>
<SCRIPT LANGUAGE="VBScript">
<!--
Function CreateVBArray()
  Dim i, j, k
  Dim a(2, 2)
  k = 1
  For i = 0 To 2
    For j = 0 To 2
      a(i, j) = k
      document.writeln(k)
      k = k + 1
    Next
    document.writeln("<BR>")
  Next
  CreateVBArray = a
End Function
-->
</SCRIPT>
<SCRIPT LANGUAGE="JScript">
<!--
function GetItemTest(vbarray)
{
  var i, j;
  var a = new VBArray(vbarray);
  for (i = 0; i <= 2; i++)
  {
    for (j =0; j <= 2; j++)
    {
      document.writeln(a.getItem(i, j));
    }
  }
}-->
</SCRIPT>
</HEAD>
<BODY>
<SCRIPT LANGUAGE="JScript">
<!--
  GetItemTest(CreateVBArray());
-->
</SCRIPT>
</BODY>
--------------------------------------------
getTime
objDate.getTime(): trả về giờ hệ thống.
Ví dụ:
function GetTimeTest()
{
  var d, s, t;
  var MinMilli = 1000 * 60;
  var HrMilli = MinMilli * 60;
  var DyMilli = HrMilli * 24;
  d = new Date();
  t = d.getTime();
  s = "It's been "
  s += Math.round(t / DyMilli) + " days since 1/1/70";
  return(s);
}
---------------------------------------------------
getDay
objDate.getDay(): Trả về thứ trong tuần với:

0 = Sunday
1 = Monday
2 = Tuesday
3 = Wednesday
4 = Thursday
5 = Friday
6 = Saturday
Ví dụ:
function DateDemo()
{
  var d, day, x, s = "Today is: ";
  var x = new Array("Sunday", "Monday", "Tuesday");
  var x = x.concat("Wednesday","Thursday", "Friday");
  var x = x.concat("Saturday");
  d = new Date();
  day = d.getDay();
  return(s += x[day]);
}
-----------------------------------------------------
join
arrayobj.join(separator): trả về 1 chuỗi gồm các giá trị trong mảng  arrayobj cách nhau bằng  separator.
Ví dụ:
function JoinDemo()
{
  var a, b;
  a = new Array(0,1,2,3,4);
  b = a.join("-");
  return(b);
}
----------------------------------------------------
lbound
safeArray.lbound(dimension): trả về giá trị thứ tự nhỏ nhất của mảng safeArray với chiều dimension chỉ định.
Ví dụ:
<HEAD>
<SCRIPT LANGUAGE="VBScript">
<!--
Function CreateVBArray()
  Dim i, j, k
  Dim a(2, 2)
  k = 1
  For i = 0 To 2
    For j = 0 To 2
      a(j, i) = k
      k = k + 1
    Next
  Next
  CreateVBArray = a
End Function
-->
</SCRIPT>
<SCRIPT LANGUAGE="JScript">
<!--
function VBArrayTest(vba)
{
  var i, s;
  var a = new VBArray(vba);
  for (i = 1; i <= a.dimensions(); i++)
  {
    s = "The lower bound of dimension ";
    s += i + " is ";
    s += a.lbound(i)+ ".<BR>";
    return(s);
  }
}
-->
</SCRIPT>
</HEAD>
<BODY>
<SCRIPT language="jscript">
  document.write(VBArrayTest(CreateVBArray()));
</SCRIPT>
</BODY>
---------------------------------------------------------------------match
stringObj.match(rgExp): trả về 1 mảng kết quả tìm kiếm rgExp trong stringObj.
Ví dụ:
function MatchDemo()
{
  var r, re;
  var s = "The quick brown fox jumped over the lazy yellow dog.";
  re = /fox/i;
  r = s.match(re);
  return(r);
}
-----------------------------------------------------------
max
retVal Math.max(number1number2): trả về số lớn nhất trong 2 số number1 vànumber2
Ví dụ:
function MaxNum(n1,n2)
{
  var nmax = Math.max(n1,n2)
  return(nmax);
}
-------------------------------------------------------------------min
retVal Math.min(number1number2): trả về số bé nhất trong 2 số number1 vànumber2
Ví dụ:
function MinNum(n1,n2)
{
  var nmin = Math.min(n1,n2)
  return(nmin);
}
--------------------------------------------------------------------moveFirst
myEnum.moveFirst( ): Thiết lập thành phần hiện tại trong tập hợp là phần tử đầu tiên.
Ví dụ:
function ShowFirstAvailableDrive()
{
  var fso, s, e, x;
  fso = new ActiveXObject("Scripting.FileSystemObject");
  e = new Enumerator(fso.Drives);
  e.moveFirst();
  s = "";
  do
  {
     x = e.item();
     if (x.IsReady)
     {
       s = x.DriveLetter + ":";
       break;
     }
     else
       if (e.atEnd())
       {
         s = "No drives are available";
         break;
       }
     e.moveNext();
  }
  while (!e.atEnd());
  return(s);
}
--------------------------------------------------------------------moveNext
myEnum.moveNext( ): Dời thành phần hiện tại trong tập hợp sang phần tử kế tiếp.
Ví dụ:
function ShowDriveList()
{
  var fso, s, n, e, x;
  fso = new ActiveXObject("Scripting.FileSystemObject");
  e = new Enumerator(fso.Drives);
  s = "";
  for (; !e.atEnd(); e.moveNext())
  {
    x = e.item();
    s = s + x.DriveLetter;
    s += " - ";
    if (x.DriveType == 3)
      n = x.ShareName;
    else if (x.IsReady)
      n = x.VolumeName;
    else
      n = "[Drive not ready]";
    s +=  n + "<br>";
  }
  return(s);
}
---------------------------------------------------------------
replace
stringObj.replace(rgExpreplaceText): Trả về 1 chuỗi từ chuỗi stringObj sau khi thay thế chuỗi replaceText vào vị trí xuất hiện chuỗi rgExp.
Ví dụ:
function ReplaceDemo()
{
  var r, re;
  var s = "The quick brown fox jumped over the lazy yellow dog.";
  re = /fox/i;
  r = s.replace(re, "pig");
  return(r);
}
---------------------------------------------------------------
reverse
arrayobj.reverse( ): trả về mảng đảo ngược thứ tự của mảng arrayobj
Ví dụ:
function ReverseDemo()
{
  var a, l;
  a = new Array(0,1,2,3,4);
  l = a.reverse();
  return(l);
}
-------------------------------------------------------------------sort
arrayobj.sort(sortfunction): trả về 1 mảng từ mảng arrayobj sau khi đã sắp xếp giá trị theo hàm sortfunction chỉ định. Nếu không chỉ định hàm thì sắp theo thứ tự tăng dần.
Ví dụ:
function SortDemo()
{
  var a, l;
  a = new Array("X" ,"y" ,"d", "Z", "v","m","r");
  l = a.sort();
  return(l);
}
-------------------------------------------------------------
split
stringObj.split(str): Trả về 1 mảng chứa các đoạn ký tự trong chuỗi stringObj  phân cách bởi chuỗi phân cáchstr chỉ định.
Ví dụ:
function SplitDemo()
{
  var s, ss;
  var s = "The quick brown fox jumped over the lazy yellow dog.";
  // Split at each space character.
  ss = s.split(" ");
  return(ss);
}
-------------------------------------------------------------------
substring
strVariable.substring(startend): trả về 1 chuỗi con cắt ra từ chuỗi mẹ strVariablebắt đầu từ ký tự có vị trí start và kết thúc ở ký tự có vị trí là end.
Ví dụ:
function SubstringDemo()
{
  var s, ss;
  var s = "The quick brown fox jumped over the lazy yellow dog.";
  ss = s.substring(16, 19);
  return(ss);
}
------------------------------------------------------------------
test
rgexp.test(str): trả về giá trị true nếu str chứa trong rgexp và flase nếu không có.
Ví dụ:
function TestDemo(re, s)
{
  var s1;
  // Test string for existence of regular expression.
  if (re.test(s))
    s1 = " contains ";
  else
    s1 = " does not contain ";
  // Get text of the regular expression itself.
  return(s + s1 + re.source);
}
------------------------------------------------------------
toArray
safeArray.toArray( ): Trả về mảng 1 chiều JavaScript  từ mảng safeArray của VBScript.
Ví dụ:
<HEAD>
<SCRIPT LANGUAGE="VBScript">
<!--
Function CreateVBArray()
  Dim i, j, k
  Dim a(2, 2)
  k = 1
  For i = 0 To 2
    For j = 0 To 2
      a(j, i) = k
      document.writeln(k)
      k = k + 1
    Next
    document.writeln("<BR>")
  Next
  CreateVBArray = a
End Function
-->
</SCRIPT>
<SCRIPT LANGUAGE="JScript">
<!--
function VBArrayTest(vbarray)
{
  var a = new VBArray(vbarray);
  var b = a.toArray();
  var i;
  for (i = 0; i < 9; i++)
  {
    document.writeln(b[i]);
  }
}
-->
</SCRIPT>
</HEAD>
<BODY>
<SCRIPT LANGUAGE="JScript">
<!--
  VBArrayTest(CreateVBArray());
-->
</SCRIPT>
</BODY>
--------------------------------------------------
toLowerCase 
strVariable.toLowerCase( ): Trả về chuỗi thường từ chuỗi strVariable.
Ví dụ:
var strVariable = "This is a STRING object";
strVariable = strVariable.toLowerCase( );
--------------------------------------------------
toUpperCase 
strVariable.toUpperCase( ): Trả về chuỗi thường từ chuỗi strVariable.
Ví dụ:
var strVariable = "This is a STRING object";
strVariable = strVariable.toUpperCase( );
-------------------------------------------------
ubound
safeArray.ubound(dimension): trả về giá trị thứ tự lớn nhất của mảng safeArray với chiều dimension chỉ định.
Ví dụ:
<HEAD>
<SCRIPT LANGUAGE="VBScript">
<!--
Function CreateVBArray()
  Dim i, j, k
  Dim a(2, 2)
  k = 1
  For i = 0 To 2
    For j = 0 To 2
      a(j, i) = k
      k = k + 1
    Next
  Next
  CreateVBArray = a
End Function
-->
</SCRIPT>
<SCRIPT LANGUAGE="JScript">
<!--
function VBArrayTest(vba)
{
  var i, s;
  var a = new VBArray(vba);
  for (i = 1; i <= a.dimensions(); i++)
  {
    s = "The upper bound of dimension ";
    s += i + " is ";
    s += a.ubound(i)+ ".<BR>";
    return(s);
  }
}
-->
</SCRIPT>
</HEAD>
<BODY>
<SCRIPT language="jscript">
  document.write(VBArrayTest(CreateVBArray()));
</SCRIPT>
</BODY>
---------------------------------------------------------------
item
myEnum.item( ): Trả về giá trị thành phần hiện tại của tập hợp myEnum.
Ví dụ:
function ShowDriveList()
{
  var fso, s, n, e, x;
  fso = new ActiveXObject("Scripting.FileSystemObject");
  e = new Enumerator(fso.Drives);
  s = "";
  for (; !e.atEnd(); e.moveNext())
  {
    x = e.item();
    s = s + x.DriveLetter;
    s += " - ";
    if (x.DriveType == 3)
      n = x.ShareName;
    else if (x.IsReady)
      n = x.VolumeName;
    else
      n = "[Drive not ready]";
    s +=  n + "<br>";
  }
  return(s);
}
--------------------------------------------------------------
isNaN

Trả về 1 trị Boolean xác định 1 giá trị có phải là số hay không.
Cú pháp

isNaN(numvalue)
Trong đó numvalue là giá trị cần kiểm tra. Hàm isNaN trả về giá trị truenếu numvalue không phải là số, và false nếu là số.
Ví dụ:
        function checkinput(value)
    {
        if (isNaN(value)==true)
        {
            alert("Làm ơn nhập vào kiểu số");
            document.forms[0].o_so.focus();
            return;
        }
            document.forms[0].submit();
      }

Share

Twitter Delicious Facebook Digg Stumbleupon Favorites More