Giấc Mơ Tuổi Teen
Chào mừng bạn đến với diễn đàn "Giấc mơ tuổi teen" cùng chia sẽ , giao lưu , thảo luận ...... Bạn hãy đăng nhập để tham gia diễn đàn ...
Giấc Mơ Tuổi Teen
Chào mừng bạn đến với diễn đàn "Giấc mơ tuổi teen" cùng chia sẽ , giao lưu , thảo luận ...... Bạn hãy đăng nhập để tham gia diễn đàn ...
Giấc Mơ Tuổi Teen
Bạn có muốn phản ứng với tin nhắn này? Vui lòng đăng ký diễn đàn trong một vài cú nhấp chuột hoặc đăng nhập để tiếp tục.

Giấc Mơ Tuổi Teen


 

 Kỹ thuật lập trình Gadget

Go down 
Tác giảThông điệp
huuphi2504
Super Moderator
Super Moderator
huuphi2504


Nam Tổng số bài gửi : 162
Ngày tham gia : 04/01/2010
Tuổi : 33
Công việc/Sở thích : an choi hoc kiem tien
Đến từ : DN
Vàng : 5709

Kỹ thuật lập trình Gadget Empty
Bài gửiTiêu đề: Kỹ thuật lập trình Gadget   Kỹ thuật lập trình Gadget Empty23/2/2010, 17:51

K thut lp trình
gadget cho Window Vista






Tên bài viết: Kỹ thuật
lập trình gadget cho Window Vista


Tác giả: Phạm Hải - caulacbovb.com

Cấp độ bài viết: Chưa đánh giá

Tóm tắt: Hướng dẫn lập trình gadget cho Window Vista

I.Dẫn nhập
Windows Vista cùng với vẻ hào nhoáng của nó đã làm say mê rất nhiều người và
một trong các đặc trưng ấn tượng nhất chính là Windows sidebar với các tiện ích
nhỏ như :lịch ,đồng hồ ,CPU ( gọi là gadget )... chiếm một phần trên desktop,
bạn có thể dễ dàng tùy chỉnh những công cụ này để phù hợp cũng như hiển thị ở
trên cùng, ở dạng cửa số lớn và cũng có thể đặt cứ chỗ nào trên màn hình bằng
các điều chỉnh trong Windows Sidebar properties..Điều tuyệt vời hơn nữa là lập
trình các gadget này cực kỳ dễ dàng ,trong giới hạn bài viết này tôi sẽ hướng
dẫn các bạn làm hai gadget tiện ích đầy sức mạnh chỉ trong vòng 15 phút với
chưa đến 20 dòng code bằng javascript , bạn đừng lo mình không thạo java vì tôi
cũng sẽ demo bằng cả ngôn ngữ kịch bản thông dụng nhất trên window hiện nay :-
Vbscript - .Những người có kinh nghiệm không nhiều về VB cũng sẽ nắm bắt dễ
dàng thôi !

Bạn sẽ học được những gì từ bài viết này:
- Bản chất của vista gadget hay kỹ thuật lập trình với html dùng Javascript và
Vbscript
- Kỹ thuật viết và cài đặt gadget bằng Visual studio 2008 –Visual studio 2005
step by step trong vòng 15 phút
- Kỹ thuật viết,debug html nhanh chóng với Microsoft FrontPage 2003

II.Giới thiệu Vista Gadget
Gadget là một tiện ích nhỏ gắn trên thanh sidebar ,thường có kích thước 139
pixel , cung cấp nhiều thông tin hữu ích như : CPU,ngày tháng ,nhật ký,thời
tiết… bạn có thể tìm thấy rất nhiều gadget tuyệt vời nữa tại địa chỉ này
[You must be registered and logged in to see this link.] với một thư viên đồ sộ
gần 2K gadget. Thực chất gadget không phải là một dạng file thực thi kiểu mới
trên Vista mà đơn giản chỉ là một hay nhiều trang HTML được host bới tiện ích
Window sidebar do vậy kỹ thuật lập trình chỉ đơn giản là xử lý HTML với các
đoạn script , đương nhiên nếu muốn làm các gadget cao cấp thì bạn cần tìm hiểu
thêm về gadget api của vista .Với các gadget cao cấp bạn có thể code bằng
Visual Studio 2K5 hay 2K8 dùng WPF rất dễ dàng ( xin lưu ý là gadget chỉ có
trên Vista mặc định đã có Net 3.0 ).



[You must be registered and logged in to see this link.]




II Gadget có thể làm được những gì?
Nếu dựa trên tiêu chí là các công nghệ để cấu thành lên gadget thì có tất cả 3
loại gadget ;

-Mini web application: ứng dụng web nhỏ sử dụng HTML,CSS và các script (
Vbscript,Java,J..etc)
- Data application : ứng dụng có truy xuất dữ liệu sử dụng HTML ,DHTML, DOM
Ajax.Gadget loại này có thể kết nối đến các dịch vụ web để truy xuất dữ liệu và
hiển thị ra cho người dung cuối như : khai thác dịch vụ rss, chỉ số chứng
khoán,thông tin thời tiết các miền..etc
-Mini utilities :Có tác dụng như một tiện ích dùng :ActiveX object, gadget API
và DHTML…ví dụ như các gadget đo CPU,hiển thị đồng hồ số..hay thậm chí là các
tiện ích truy xuất tài nguyên hệ thống và rất nhiều công việc khác.



[You must be registered and logged in to see this link.]



IV.Dữ liệu mà gadget sử dụng
Gadget có thể truy xuất dữ liệu từ rất nhiều nguồn :

- RSS/XML
- Các trang web
- Các dịch vụ web
- Tài nguyên hệ thống : file,folder
Và đương nhiên truy xuất được vào các hệ quản trị dữ liệu nhờ ActiveX object…



[You must be registered and logged in to see this link.]






V.Cấu trúc một gadget

Ngoài các gadget chuẩn , các gadget mà chúng ta thêm vào sẽ nằm tại thư mục sau
:

C:\user\\app data\local\microsoft\windows side bar\gadgets
C:\ --> là ổ đĩa cài vista
--> là tên người dùng hiện thời ví dụ , ví dụ haipt.
Tất cả các file cấu thành lên Gadget thường được đặt trong thư mục này,



[You must be registered and logged in to see this link.]





Các file chính của một gadget gồm có

- gadget.xml : Đây là file rất quan trọng , nó lưu trữ các thông số cấu hình
của 1 gadget như là tên tác giả,phiên bản sản phẩm.. dưới dạng thức XML.Bạn
không cần biết nhiều về format này vẫn có thể sửa đổi dễ dàng ,trong đó có hai
dòng đặc biệt quan trọng



src="gadget.html" />
full






Dòng bôi đỏ đầu tiên cho biết file html được đưa lên sidebar là file
gadget.html ở cùng thư mục, dòng bôi đỏ thứ 2 xác định quyền han cho ,nếu chúng ta không đặt
Jgadget này là toàn quyền
truy xuất hệ thống là full thì các chức
năng truy xuất hệ thống của gadget có thể sẽ không dung được do bị lỗi cấm truy
nhập.

-File [Gadget_Name].html : đây là file được xác định thông qua tag : src trong
file XML chính, ở ví dụ này nó có tên gadget.html, file html này sẽ được đưa
lên sidebar khi gadget được cài đặt

-Các file .CSS : viết tắt của chữ cascades style sheet, các file này lưu cấu
hình của file html tương ứng ,rất quen thuộc với dân làm web, ví dụ dưới là nội
dụng 1 file CSS











body









1.
{



2.
width :129;



3.
height:70;



4.
font-family:Calibri;



5.
font-size:11px;



6.
margin: 0;



7.
padding: 0;



8.
text-align:center;



9.
}










Kích cỡ mặc định của 1 gadget thường là 129 pixel , dù ta có thể chỉnh to hơn
thành 250 nhưng theo tôi bạn lên để chế đó chuẩn và thiết kế 1 gadget theo kích
thước này .

V.Lập trình với Gadget bằng Visual Studio 2005 -2008

1.Cài đặt addin & gagget template project cho Visual Studio 2005 -2008
Ngoài cách tự dựng lấy các file cần thiết để làm một gadget, chúng ta còn có
thể xây dựng một gadget template và intstall nhanh chóng bằng Visual studio
2005 – 2008 .Dễ hiểu thôi, chúng ta cần một công cụ mạnh để soạn ,thiết kế
html, viết script có hỗ trợ gợi nhớ code…và nhiều thứ khác nữa.Dù notepade là
công cụ soạn thảo cũng khá mạnh đấy nhưng hãy quên nó đi .

Các bước tiến hành như sau ..
– Cài đặt Visual studio 2008 hoặc 2008, ở đây tôi chọn bản 2008,
– Cài đặt phần addin : RunVistaGadgetAddInSetup, bạn có thể download phần mềm
miễn phí này tại địa chỉ :
[You must be registered and logged in to see this link.]
Sau khi cài đặt thì chương trình này sẽ tích hợp vào visual studio, hỗ trợ
chúng ta tạo template gadget và cung cấp luôn tiện ích “Run vista gadget” trên
menu tool.Nếu chưa thấy thì có thể nó chưa được load,bạn cần vào menu
Tools\Addin-Manager để lôi nó ra



[You must be registered and logged in to see this link.]


2. Gadget đầu tiên –
Light google
Dân IT thì 100% đều dung google vậy tại sao không để nó lên sidebar cho tiện
nhỉ ?? Gadget của chúng ta sẽ có giao diện như một google thu nhỏ,khi cần tìm
kiếm chỉ việc gõ từ khóa lên gadget rồi enter là xong ! để lập trình được một
gadget tiện dụng như vậy ta chỉ mất có 5 dòng ,dưới đây là chi tiết các bước.
Jcode


[You must be registered and logged in to see this image.]




2.1 Tạo gadget template project
- Trong cửa sô Visual studio 2008 , chọn menu File-->New-->Web site…
Nếu chúng ta cài đặt VistaGadgetAddIn thành công thì hộp thoại New Website sẽ
hiện ra như hình dưới.Template HelloWorldVistaGadget đã được dựng sẵn với các
file cần thiết như CSS, setting…..bạn nhắp tiếp vào template này và nhấn OK
.VS2k8 sẽ hiển thị tiếp hộp thoại yêu cầu upgrade lên Net 3.5,bạn có thể bỏ qua
hoặc chấp nhận nếu viết gadget bằng siverlight hoặc WPF .



[You must be registered and logged in to see this link.]




Cuối cùng cửa số solution explorer hiện ra như hình dưới.



[You must be registered and logged in to see this image.]




Trong các file, folder trên ,ngoài các file chính gadget.xml: lưu thông tin cấu
hình gadget, gadget.html :chính là trang web sẽ được đưa lên sidebar ,và file
css thì còn lại có thể xóa được,file gadget.js là file script được tạo sẵn để
chứa code javascript, tuy nhiên nếu bạn dùng vbscript thì có thể thay bằng file
gadget.vbs rồi thay đổi dòng sau trong file gadget.html











Nhp đúp chut vào file gadget.html , ta thy các đon
mã có sn như sau






· · Untitled Page · · · · ·
· Hello World! ·
· ·





OK ! bây gi bn
hãy ch
y th gadget helloworl này xem sao, ta chn menu tool\runVistagaget

Khi hộp thoại sercurity warning hiện ra,nhấn tiếp install để cài đặt gadget.



[You must be registered and logged in to see this link.]




Kết quả cuối cùng hiển thị trên sidebar có thể làm bạn hơi thất vọng [You must be registered and logged in to see this image.]



[You must be registered and logged in to see this image.]




Đương nhiên rồi vì nó chỉ có một lệnh là hiển thị chuỗi hello world thôi mà, để
làm được một gaget hữu dụng ta cần động tay chân một chút , bạn có thể dùng một
công cụ nào đó chuyên dụng để thiết kế 1 trang web có 1 textbox và 1 image của
chữ GOOGLE như Microsoft Fronpage 2003 chẳng hạn hoặc có thể tận dụng luôn chức
năng design webpage của VS2k8.

Sau 3 phút loay hoay, trang web light google của tôi như sau :
Tôi chọn chế độ split để xem cả code lần design, trông cũng không tệ lắm nhỉ



[You must be registered and logged in to see this link.]





Hình ảnh GOOGLE là tôi capture lại từ
[You must be registered and logged in to see this link.] rồi resize cho nhỏ lại,
vì chúng ta chỉ nên giới hạn trong 1 khung 129 x 60 pixel thôi ạ, bạn có thể
xóa hết nôi dung file gadget.html ở trên rồi paste đoạn mã sau vào thay thế











1.
"http://www.w3.org/1999/xhtml">



2.




3.
Untitled Page



4.
"css/gadget.css" type="text/css"
rel="Stylesheet"/>



5.
"scripts/gadget.js" type="text/javascript">



6.




7.
"document.body.focus();">



8.
"height:
19px"
dir="rtl">



9.
[You must be registered and logged in to see this image.]"" src="images/logo_plain.png"



10.
style="height: 35px; width: 97px; margin-right: 0px"
/>




11.
"txtKeyWord" id="txtKeyWord"
type ="text" value="SEX"
maxlength ="25" onkeyup="onKeyUpEventhandler()"



12.
style="width: 119px" />



13.




14.










Đây ch là nhng
dòng mã HTML khá đ
ơn gin, nó to
ra 1 trang html g
m 1 image : ch Google ( được
load t
đường dn
images/logo_plain.png tính t

th
ư mc hin
th
i) và 1 textbox đ người
dung gõ t
khóa tìm kiếm, nếu
b
n chưa rành thì cũng không vn đ
gì vì b
n ch cn
v
c Front page trong b office 2k3 tm
10-15 phút là hi
u thôi , chú ý 2 dòng
quan tr
ng











1.
"scripts/gadget.js"
type="text/javascript">









Dòng trênkhai báo file script sử dụng là file gadget.js ,nằm trong thư mục
script ở thư mục hiện hành và là java script











1.
"txtKeyWord" id="txtKeyWord"
type ="text" value="SEX"
maxlength ="25" onkeyup="onKeyUpEventhandler(event);"









Dòng này tạo một textbox và dung function onKeyUpEventhandler để handle
sự kiện nhả phím của textbox này
Function sử lý sự kiện này tôi đặt trong file gadget.js chỉ vỏn vẹn có
vài dòng lệnh khai thác google











1.
function onKeyUpEventhandler(){



2.
if ( window.event.keyCode == 13 ){ // Enter key ??



3.
var
strKeyWordToSearch = document.getElementById("txtKeyWord").value ;




4.
if (strKeyWordToSearch.length ==0) return ;



5.
var strUrl ="http://www.google.com.vn/search?hl=vi&q="
+strKeyWordToSearch + "&meta="
;




6.
window.open(strUrl) ;



7.
}



8.
}









Vậy là xong. Chúng ta vừa tạo xong 1 gadget light google nhỏ gọn trong , bạn thử gõ từ
Jkhoảng 7 phút, bây giờ
thử chạy và xem kết quả nhé khóa tìm
kiếm vào xem..rất tuyệt đấy !



[You must be registered and logged in to see this image.]


Đây là đoạn mã Vbscript
tương đương dành cho các fan VB, bạn xóa dòng









  1. "scripts/gadget.js" type="text/javascript">








Trong file html, và paste đoạn mã sau vào thay thế









  1. "text/vbscript">
  2. function
    onKeyUpEventhandler()

  3. dim
    strKeyWordToSearch

  4. if ( window.event.keyCode = 13 ) then ' Enter key
    ??

  5. strKeyWordToSearch=
    document.getElementById("txtKeyWord").value

  6. if
    strKeyWordToSearch<>"" then

  7. window.open("http://www.google.com.vn/search?hl=vi&q="
    & strKeyWordToSearch & "&meta=" )

  8. end if

  9. end if
  10. end
    function










File gadget.js là thừa vì tôi đã nhúng luôn script vào thẳng file html

3.– Active Run gadget
Lần này, tôi sẽ demo kỹ thuật lập trình với các active object để tăng cường sức
mạnh cho các gadget, chúng ta sẽ thiết kế 1 gadget thay cho chức năng start\run
của window.

3.1 Như project trước, chúng ta tạo một web site với project template là
: HelloWord vista gadget

3.2.Bạn có thể soản sửa lại thông tin gadget cho phù hợp và thiết kế một
trang html nhỏ gọn dung fronpage hoạc 1 html editor
như VS2k5 –VS2k8 IDE,
vì chúng ta chỉ cần 1 textbox để user nhập lệnh ví dụ :MSCONFIG và 1 inage hay
label thể hiện chữ RUN, nếu lười thì bạn paste luôn đoạn code sau vào file html











1.
"http://www.w3.org/1999/xhtml">



2.




3.
Untitled Page



4.
"css/gadget.css" type="text/css"
rel="Stylesheet"/>



5.
language="vbscript" >



6.
sub
onKeyupEventhandler()




7.
dim strCommand



8.
on error Resume Next



9.
if
window.event.keyCode=13 then




10.
strCommand=
document.getElementById("txtCMD").value




11.
Dim
objShell




12.
Set
objShell = CreateObject("Wscript.Shell")




13.
objShell.Run( strCommand)



14.
set
objShell= nothing




15.
document.getElementById("txtCMD").value =""



16.
end if



17.
exit sub



18.
end sub



19.




20.




21.
"document.body.focus()">



22.
"height: 19px" dir="rtl">



23.

"center" style="height:
20px"
>



24.
"4">RUN





25.




26.
"txtCMD"
id="txtCMD" type ="text"
maxlength ="25" onkeyup="onKeyupEventhandler()"



27.
style="width: 119px" />



28.




29.









Các dòng mã đều hết sức quen thuộc,vì nó ko khác gì nhiều mới light google
gadget

Tâm điểm của đoạn mã là các dòng











1.
33 Dim objShell



2.
34
Set objShell = CreateObject("Wscript.Shell")




3.
35
objShell.Run(
strCommand)




4.
36








Tạo một ActiveX object và thực thi method run của object này, Wscript.Shell là
một đối tượng vô cùng mạnh mẽ trong window cho phép bạn thao tác được với các
tài nguyên hệ thống như file ,disk, can thiệp registry, đọc cpu usage..etc, để
biết thêm chi tiết về Wscript.Shell và các
JactiveX
objext khác xin tham khảo tài liệu SDK hoặc đơ giản là google ,Ngoài ra chúng ta còn có thể tạo đối tượng
ActiveX object khác như ADODB.Connection để kết nối tới CSDL, hay Excel
workbook để xử lý các bảng tính.., etc..

Cuối cùng đừng quên chạy thử, rồi gõ vô textbox : msconfig… woa ! it works…..,
chịu khó chăm chút lại giao diện chút nữa thì 2 gadget bạn vừa tạo sẽ không
thua gì các gadget trên gallery của bác bill đâu đấy nhé.

VI. Kết luận
Gadget là style lập trình tuy không mới nhưng rất thú vị theo đúng phong cách
của vista , bài viết trên chỉ demo gadget ở mức độ cơ bản, bạn nên tìm hiểu
thêm các tài liệu ở phần phụ lục để có thể vận dụng được hết sức mạnh của
gadget .Ví dụ:

- Lập trình 1 gadget để đọc truyện online bằng cách khai thác trang web lưu trữ
truyện tranh trực tuyến comic.vuilen.com
J- Làm một từ điển trực
tuyến với hơn 30 ngôn ngữ ( nếu code cái này mất khoảng 30 dòng
- Tạo một gadget báo thư mới của google sử dụng gmail api
- V.v .v.v.

VII. Phụ lục
1.Các video hướng dẫn lập trình gadget của anh Trịnh Minh Cường và source
code bạn có thể download từ hai địa chỉ sau :

+ Link Video AVI trên mediafire.com : 800M rất rõ và sắc nét dành cho các bạn
có đường truyền tốt
[You must be registered and logged in to see this link.]
73ed7778
+ linh video FLV : khoảng 160M ,chất lượng tạm ổn và source code
[You must be registered and logged in to see this link.]
Tôi đã demo cho các bạn gadget loại 1 và 3,và trong video tut trên, A Cường-
Chuyên gia công nghệ của Microsoft đã trình diễn kỹ thuật sử dụng gadget để
truy xuất 1 JSON Webservice viết bằng WCF ( gadget loại 2) , cùng với rất nhiều
kiến thức khác [You must be registered and logged in to see this image.]

2.Các tài liệu khác
+ DHTML & Javascript căn bản: Javascript and DHTML Cookbook.chm
+ vbscript:VBscript UNLEASHED.rar
+ Sử dụng Frongage:Frontpage.pdf
+Lập trình vista gadget: Sams.Creating.Vista.Gadgets.May.2008.chm
+ Source code của hai Gadget Light Google và Active run
Tất cả đều có trong địa chỉ này : tầm 18M
[You must be registered and logged in to see this link.]


-
Tổng hợp
Tech24.vn -
Về Đầu Trang Go down
https://facebook.com/huuphi
 
Kỹ thuật lập trình Gadget
Về Đầu Trang 
Trang 1 trong tổng số 1 trang
 Similar topics
-
» Chương trình biểu diễn hài hước ... Tinh hoa võ thuật là thế !
» Vô hiệu hóa các gadget cho desktop trong Windows 7
» VẤN ĐỀ VỀ LẬP TRÌNH
» GÁI HÀ NỘI RAO BAN TRINH 300 CHAI ( Đọc đi rồi thấm ) !!!!
» Ngày Em Đi - Trịnh Thăng Bình

Permissions in this forum:Bạn không có quyền trả lời bài viết
Giấc Mơ Tuổi Teen :: Công Nghệ Thông Tin :: Computer :: Ebooks-
Chuyển đến