Rich Internet applications Web

Just another WordPress.com weblog

Làm nhạc karaoke bằng KaraFun Tháng Tư 20, 2009

Chuyên mục: Nhạc, Software — riasweb @ 3:01 chiều
Tags:

KaraFun giúp bạn tạo ra một bản nhạc có lời và hình ảnh để bạn có thể hát karaoke trên máy tính. Khi mở chương trình lên bạn chọn phần KaraFun Editor rồi thực hiện như sau:

- Chọn nhạc nền: Để chọn nhạc nền cho bản nhạc karaoke này (nhạc không lời), bạn nhấn vào nút Music Source trên thanh Toolbar để đưa vào.

- Chọn hình nền: Nhấp chuột vào thanh Background, khi đó sẽ hiện ra phần Properties of Background, tiếp theo bạn chọn hình nền để đưa vào bản nhạc karaoke.

- Đưa lời vào bản nhạc karaoke: Nhấp chuột phải vào thanh Vertical text (thanh màu vàng), tiếp theo chọn phần Synchronize the text. Khi đó chương trình bắt đầu chơi bản nhạc không lời này, bạn chỉ cần dùng phím Space bar để đánh dấu các chữ (ca từ) của bài hát đang chơi.

Lúc bản nhạc chơi xong, bạn nhấp chuột phải vào phần Vertical text một lần nữa và chọn Modify the text. Sau đó gõ lời nhạc vào khung trống hay chọn file Text (.txt) chứa lời nhạc để đưa vào khung.

Tiếp theo nhấn OK. Bây giờ trên chương trình, các ca từ trong bài hát sẽ được dán vào thanh màu vàng và ở vào các vị trí mà bạn đã đánh dấu.
Chương trình có dung lượng 2,54 MB, tương thích với mọi Windows, bạn có thể tải miễn phí tại: http://www.karafun.com/down/karafun_setup.exe

(Báo Tuổi trẻ)

 

Dynamic Themes and META Data using ASP.NET 2.0 Master Pages Tháng Tư 16, 2009

Chuyên mục: C# — riasweb @ 11:49 chiều

ASP.NET 2.0 introduced two pieces of functionality that Web application developers have been thirsting for since ASP.NET was first created: Themes and Master Pages. As with any new technology, there are a few caveats that make the default implementation of these new technologies slightly less than ideal. In this tutorial, I will explain a very straightforward way to implement Master Pages and Themes to allow the user to select a theme as well as how to place META data in the header of a Master Page without CodeBehind.

Download Solution: _05_2007_MasterPages.zip (16.0KB)

Part 1: Implementing a Dynamic Theme Mechanism

Allowing users to select their own theme for your Web application is a feature that is gaining large amounts of popularity amongst users. ASP.NET 2.0 offers many ways to accomplish a theme implementation for your website, such as specifying a theme name in the <%@ Page %> directive of a Web Form, specifying a Theme in the Web.config file for your application or setting the Theme property of the Page class. All of these options provide a great way for administrators to apply themes to their apps, but there are some significant drawbacks to each:

  • Specifying a theme name in the <%@ Page %> directive of each Web Form is a nightmare from a maintainability standpoint. In Web apps that may have hundreds of Pages, you would have to update the Theme attribute in every Web Form.
  • Storing the Theme in the <pages/> element of the Web.config file solves the issue of having to update each page individually, but it also comes with its own baggage. If you use the Publish Web Site option in Visual Studio 2005, VS will hard-code the theme name into the Theme attribute of the <%@ Page %> directive on all pages that have any CodeBehind specified. If you then later change the name of the Theme in the Web.config file, all ASPX content pages will reflect the change, but any pages with CodeBehind .dll files in the Bin directory of your app will still use the theme that was specified in the Web.config when you published the site. Also, changing the Theme in the Web.config will cause IIS to recycle the application. Again, this is less than ideal.
  • Finally, setting the Theme programmatically by setting the Theme property of the Page is a pretty appetizing solution. Unfortunately, a Theme is applied to an ASP.NET Web Form very early in execution, so you must do so before the Page initializes. This is typically handled in a PreInit event handler for a page. Furthermore, this requires you to create this event handler in every page of your application that uses your Theme.

I know what many of you are saying: Why can’t I just specify a PreInit event handler in the MasterPage that is used by all of my pages? Unfortunately this does not work because the MasterPage is first compiled, then applied to the Page. The Page class sets the Theme after the MasterPage has already been applied, thus we are once again stuck.

I have seen many posts on forums that show how to accomplish this through a rather lengthy process of using an HttpModule to set the theme. While this solution works fine, it’s a bit of an over complication. To solve this issue we need look no further than one of the most useful techniques in object oriented programming: Inheritance.

By deriving a class from the System.Web.UI.Page class, we are able to create the functionality necessary to give our users a theme rich experience with a simple event handler. In this example, I am using a class named AppCookie to store the theme name and AppPageBase is my Page derived class. The Theme property of the AppCookie class is read from a PreInit event handler that is subscribed to the PreInit event from the body of the AppPageBase constructor.

The event handler body is somewhat simple. A new instance of an AppCookie is created and tested to see if the Theme property is empty. If the property is not empty, the specified theme is applied to the page. If it is empty, the default theme which is defined in the <appSettings/> element of my Web.config file is applied instead.

The last step of the process is to ensure that all pages in the application use our AppPageBase class as the base type for all ASP.NET pages. To do so, we change the inherited class on all CodeBehind class definitions to that of our custom class. We must also change the page base type for all pages in the application that may not use CodeBehind. To accomplish this, specify the pageBaseType attribute of the <pages/> element to be the name of our custom class. Finally, I then added a few <asp:LinkButton /> controls to a Web Form to allow the switching between themes to be done by the user.

This implementation allows the user to control the theme, but could very easily be modified to allow only administrators to control the theme. You could store the selected theme in a text or XML file, or use the Web Configuration API to change the value of the default theme in our app settings. If an admin only theme scenario is what you are facing, I would recommend using an external file to store the selected theme. This way IIS will not restart your app every time you make a theme change, as it would if this data was stored in the Web.config.

Code for Part 1: AppCookie, AppPageBase (A), Web.config

Part 2: META Data in Master Pages

Although META data in the <head/> of an HTML document does not carry as much weight with regard to search engines as it once did, it is still a valuable compliment to any Search Engine Optimization strategy. Unfortunately, when using a MasterPage in ASP.NET 2.0, we lose our declarative control over META data and must rely on programmatic alternatives. Adding a META tag to a Web Form that uses a MasterPage is accomplished by creating an instance of a System.Web.UI.HtmlControls.HtmlMeta object, assigning values to its properties and then adding it to the Controls collection of the Page.Header control. Obviously, this becomes troublesome when using a MasterPage on a Web Form that is only a content page and has no CodeBehind to perform this operation. Luckily, our AppPageBase can be extended to give us the ability to enter META data directly into the <%@ Page %> directive.

In our example we are creating two properties in our AppPageBase class; MetaDescription and MetaKeywords. These are simple string values that will be used to store description and keyword data. To output these values to the page, we will create and attach an event handler to the Init event of the Page in the same manner as before. The body of the event handler will create an instance of an HtmlMeta object and use the two properties defined earlier to add this to the <head/> of the resultant HTML output. Finally, we specify the values for the MetaDescription and the MetaKeywords as attributes of the <%@ Page %> directive for the Web Form.

If you view the pages, you will see that the theme is applied based on user selection. You’ll also note by viewing the source code for page NoCodeBehind.aspx that the META data was properly added to the <head/> of the document without any CodeBehind.

Code for Part 2: AppCookie, AppPageBase (B), Web.config

In closing, you can see where these two techniques can perform leaps and bounds in the maintenance of an ASP.NET 2.0 Web application. An important note: if you have an ASP.NET content page that you do not wish to be themed in your application, simply specify System.Web.UI.Page as the value of the Inherits attribute of the <%@ Page %> directive. This will override the base type from the Web.config. Also note that this article did not cover caching of user defined themed pages. If you wish to explore your caching options, read the ASP.NET Caching Overview on MSDN.

(ASP.NET)

 

Driver XP cho Dell inspiron 1318 Tháng Tư 7, 2009

Chuyên mục: Software — riasweb @ 11:21 chiều
Tags:

Vợ em có cái máy Dell Inspiron 1318, sau khi dùng Vista thì muốn chuyển sang cài  XP để chạy cho đỡ nặng. Hí hửng cầm máy của vợ để cài, sau khi cài xong XP, đút cái DVD Driver đi kèm máy vào. Thì Ối dời ơi !, Chỉ có vista 32 và Vista 64, còn XP thì không tìm thấy được driver option nào cả. Vừa cay, vừa cú tìm kiếm tại các forum, vất vả mấy ngày cuối cùng cũng tìm ra được mấy cái driver. Chia sẻ lên đây cho những ai cũng đang vất vả như em đã từng vất vả, đỡ phải tìm nhé :D .

//////////////////////////////////////////////////////////////

Dell Inspiron 1318 Notebook
Windows XP Professional SP3
Intel® Core™ 2 Duo T5800 (2.0GHz/800Mhz FSB/2MB cache)
2GB 667MHz DDR2 SDRAM.
Intel® 965PM / GM Express Chipset
Intel® Integrated Graphics Media Accelerator X3100
Intel High Definition Audio 2.0
250GB4 configured with a 5400 RPM SATA hard drive
8X Slot Load CD/DVD Writer (DVD+/-RW)
9-cell 85WHr Li-Ion Battery
Intel® Next-Gen Wireless-N Mini-card
Dell Wireless 355 Bluetooth Internal (2.0) mini-card

//////////////////////////////////////////////////////////////

Download Dell Inspiron 1318 Intel Chipset Utility For Windows XP

Description: Intel Mobile Chipset Utility for Win XP
Size: 2 MB
Download: R182522.exe

Download Dell Inspiron 1318 Sigmatel Audio Driver For Windows XP

Description: SIGMATEL STAC 92228  HD Audio Driver for Win XP
Size: 7.86 MB
Download: http://ftp.us.dell.com/audio/R153908.EXE

Download Dell Inspiron 1318 Card Reader Driver For Windows XP

Description: Ricoh R5C833 Driver for Win XP
Size: 2 MB
Download:R166188.EXE

Download Dell Inspiron 1318 Conexant Modem Driver For Windows XP

Description: Conexant D400 External USB Modem Driver For Win XP
Size: 5.8 MB
Download:R167368.exe

Download Dell Inspiron 1318 Creative Labs Webcam Driver For Windows XP

Description: Creative Labs Laptop Integrated Webcam Driver For Win XP
Size: 6.2 MB
Download:r173082.EXE

Download Dell Inspiron 1318 Dell Touchpad/Pointing Stick Driver For Windows XP

Description: Dell Touchpad / Pointing Stick Driver for Win XP
Size: 3.72 MB
Download:R180045.exe

Download Dell Inspiron 1318 Dell Wireless WLAN Driver For Windows XP

Description: Wifi WLAN Driver For Win XP
Size: 96.8 MB
Download: http://ftp.us.dell.com/network/R205204.EXE

Download Dell Inspiron 1318 Bluetooth Driver For Windows XP

Description: Dell Wireless 355 Bluetooth Module (Bluetooth 2.0 + EDR) Driver For Win XP
Size: 96 MB
Download:R161378.exe

Download Dell Inspiron 1318 Broadcom Lan Card Driver For Windows XP

Description: Broadcom 59XX 10/100 Ethernet Controller Lan Card Driver for XP
Size: 5.19 MB
Download: R182083.exe

Download Dell Inspiron 1318 Intel Graphics Display Driver For Windows XP

Description: Intel GM965 VGA Graphics Display Driver For XP
Size: 17 MB
Download:R180043.exe

Download Dell Inspiron 1318 Nvidia Graphics Display Driver For Windows XP

Description: Nvidia Geforce 8400M VGA Graphics Display Driver For XP
Size: 56 MB
Download: Nvidia.zip

 

Mindjet MindManager 8.0.217 Tháng Tư 7, 2009

Chuyên mục: Software — riasweb @ 11:08 chiều
Tags:

Capture,   organize,  and   share  all  of your  thoughts  and  related
information  on  an   intuitive  visual   canvas   with   MindManager 8
mind-mapping software.

Do you harness the  wealth  of data,  Web pages,  and other  input that
comes your way every day? Is there a way to use it more  effectively to
formulate new  ideas,  sharpen your  focus, and  ultimately drive  your
success? New MindManager 8 for Windows is the answer.

Unlike  the  usual  linear-based approach  of most  productivity tools,
MindManager  8  uses  mind-mapping  technology  to  let  you   capture,
organize, and communicate information using an intuitive visual canvas.
You’ll be able to  work smarter  and transform your  ideas into  action
more quickly.

Link download:

http://rapidshare.com/files/175712397/cyg-mjmm80217.rar
or
http://www.megaupload.com/?d=XD1Y3YXB

password: theseekersoasis.org

 

Flash Analog Clock Tháng Tư 6, 2009

Chuyên mục: Adobe Flash — riasweb @ 5:59 chiều
Tags:

Flash Analog Clock

Tutorial Goal

Create a customizable analog clock in Adobe Flash. The time displayed depends on the viewers computer time. This tutorial will create the functionality of the Flash object below:

Step 1 : Document Setup

Open Adobe Flash and Modify the Document Properties.
Modify > Document
Size: 300 x 300

Step 2 : Create the Clock Face MovieClip

Select the Oval Tool, Oval Tool, and draw a circle of any size on the Stage.

Change the width and height of the circle to 190 using the Info Pane.
Window > Info

With the circle selected use the Align Pane to center it on Stage. Make sure the “To Stage” button is down, then click the two align options circled below:
Window > Align

Align Pane

Convert the circle on Stage to a MovieClip.
Modify > Convert to Symbol
Name: clock_mc
Registration point: centered

Convert to Symbol

Step 3 : Prepare Clock MovieClip for its Hands

Double click the clock_mc on Stage.

In the Timeline Pane, rename ‘layer 1′ to ‘Clock Face’.
Create 3 new layers by clicking Insert Layer, Insert Layer, 3 times.
Rename each layer as below and Lock the ‘Clock Face’ layer by clicking the black dot in the Lock column. See below:

Prepare for clock hands

Step 4 : Create clock’s second, minute and hour hands

Select the ‘Second Hand’ layer.
Select the Rectangle Tool, Rectangle Tool, and draw a second hand for your clock. You can easily customize the look later, for now a simple shape will do.

Second Hand Shape

With the shape selected use the Align Pane to center it on Stage. Make sure the “To Stage” button is down, then click the two align options circled below:
Window > Align

Align Pane

Convert the shape on Stage to a MovieClip.
Modify > Convert to Symbol
Name: second_hand
Registration point: bottom

Convert to Symbol

With the second_hand MovieClip selected, give it the instance name ’second_hand’ in its properties panel. (below the stage)

Rename Instance

Lock and Hide the ‘Second Hand’ layer and select the ‘Minute Hand’ layer.

Lock and Hide
Repeat Step

Then repeat Step 3 twice to create the minute_hand MovieClip and the hour_hand MovieClip. Typically the minute hand is thicker than the second hand and the hour hand is shorter than both. Remember you can always go into the Library to modify the look of your clock and it’s hands later.

Step 5 : Bring the clock to life with Actionscript

Create a new layer above the ‘Second Hand’ layer, name it ‘Actionscript’.

Lock and Hide

Select Frame 1 on the Timeline and open the ActionScript Window.
Window > Actions

Enter the following code: (Explained in comments and below)

Actionscript Code 0

Line 1: Attaches the onEnterFrame function to the clock. The code will execute once per frame.
Line 3 – 6: Gets the current time and stores the hour, minutes and seconds into variables.
Line 8: hour is 0 to 23, this line converts it to the 12 hour clock.
Line 10 – 12: Converts time into an angle.
Line 14 – 16: Rotates each of our MovieClips to the appropriate angle. This is why we named the MovieClip instances: hour_hand, minute_hand, second_hand

Save and Test your progress. You should see a working clock similar to the one below:
Control > Test Movie

Step 6 : Customizing your Clock

Now that you have a functional clock, it is time to have fun customizing it.

Click on the layer you wish to customize, unlock it and make sure it is not hidden.

Then double click the MovieClip on Stage and use the Flash drawing tools to change its color and shape. Have fun!

Test your Movie periodically to see your modifications.

Custom Clock : Concluding Statements

After writing this tutorial, I thought it might be fun to see everyone’s custom clocks. So, if I receive at least 10 custom clocks, I’ll create a special page for them and continue to add them as they come in.

(source: http://www.pixelhivedesign.com/tutorials/Customizable+Analog+Clock/)

 

Bắt tay với định hướng lập trình viên web php Tháng Mười Hai 2, 2008

Chuyên mục: PHP — riasweb @ 10:34 chiều
Tags:

Tiêu đề bài viên đã nói lên mục đích của bài viết này. Lập trình viên web đang là một nghề được nhiều người lựa chọn, công việc tưởng chừng có vể dễ dàng, song nó lại bao gồm cần chuẩn bị nhiều thứ lổm ngổm ở trong đó. Nhưng làm lập trình viên phần mềm dù là desktop hay web thì rút cuộc cũng chỉ xoay quanh mấy việc là:

  • Nhập dữ liệu
  • Xử lý dữ liệu
  • Lưu trữ dữ liệu
  • Và hiển thị dữ liệu

Như vậy công việc xoay quanh cũng chỉ là làm việc với dữ liệu và tìm cách lưu trữ nó, hiển thị nó.

Công việc lập trình web cũng vậy, nhưng có nhiều định hướng cho người mới bắt đầu lựa chọn con đường này. Có thể chọn cho mình một chuyên môn mà phù hợp với khả năng của mình: Coder, Graphics Designer, System Designer. Sau đó là lựa chọn một ngôn ngữ đang thịnh hành bây giờ để bắt tay vào nghiên cứu: .NET, Java, PHP, Python, Perl… Như vậy sau khi xác định được xong các mục tiêu thì giờ chỉ còn là công việc bắt đầu nghiên cứu và thực hiện một dự án nho nhỏ để thực hành những cái mình đã học được.

Để làm một website cái đầu tiên cần có một ý tưởng tốt, một ý tưởng mà sẽ đem lại cho bạn lượng truy cập khổng lồ, đem lại các hợp đồng quảng cáo dài hạn và những dịch vụ gia tăng ở trên đó. Có thể tôi hơi nói lạc đề ở đây, vì đã là nghề lập trình viên thì chắc cũng gắn bó với công việc đi làm thuê ở các công ty để tích lũy cho mình kinh nghiệm thực tế, rồi sau đó ra ngoài thực hiện các hoài bão của riêng mình. Vậy ta hãy trở lại với vấn đề những điều khởi điểm khi bắt tay làm một lập trình viên web tốt. Tôi lấy ví dụ với một lập trình viên PHP.

I. Kiến thức cơ bản

- HTML, DHTML, XHTML

- Javascript

- CSS

- Một chút khiếu thẩm mỹ về màu mè, photoshop, Firework, illustrator, flash…

- Một số am hiểu về Database, thiết kế và phân tích.

II. Chọn một ngôn ngữ web thịnh

- Ví dụ của tôi là tôi chọn PHP (đơn giản dễ hiểu nhanh chóng, và bị chê là ko bảo mật)

- Chọn một hệ quản trị CSDL đi kèm, ví dụ MySQL.

III. Các kiến thức về Framework

- Bạn cần nắm bắt sơ qua một số kiến thức về các Framework hỗ trợ PHP, ví dụ như Zend studio, Adodb, Pear…

- Một mô hình chuẩn kiến trúc thiết kế phần mềm, ví dụ như MVC – Model view controller

- Một ít về UML để đọc các thiết kế hệ thống.

IV. Tìm kiếm các công cụ hỗ trợ lập trình

- HTML thì dễ dùng nhất là Dreamwaever, Front page. Khi bạn làm ngon rồi thì dùng notepad ++ hoặc các tools highlight code khác đễ dễ xem code là ổn.

- CSS thì có RapidCSS và một số phần mềm khác tương đối ổn cho việc thiết kế CSS

- Với PHP tôi chọn Eclipse cùng một số gói Plugin, một tools mạnh mẽ cho việc lập trình PHP mà lại hoàn toàn free.

- Sử dụng bộ Wamp hoặc Xampp để Deploy một hệ thống webserver cùng Database hỗ trợ php5 nhanh chóng và dễ config. Không cần phải cài mấy thứ bùng nhùng như Apache, PHP và MySQL.

- Chọn một tools quản trị Database MySQL như phpmyadmin (giao diện web) hay MySQL Front (desktop) hoặc SQLyog.

- Một Tools cho việc thiết kế hệ thống như Start uml, cho thiết kế database như MySQL Workbench. Các phần mềm này hoàn toàn miễn phí.

V. Tìm kiếm Opensource

- Sau khi bạn đã khá thành thục thì cũng là lúc nên tìm cho mình một Opensource hay để phát  triển, các công ty đều có chiến lược phát triển một dòng sản phẩm nào đó từ một OpenSource, vì lý do chúng có những thiết kế tốt, khả năng mở rộng cao, mềm dẻo và cộng đồng phát triển lớn, như: Joomla, drupal, WordPress, Nuke PHP hay Zend Cart…

OK giờ hãy thực hành một dự án nho nhỏ với một trang tin tức, bán hàng nhỏ để bạn luyện dần các kỹ năng làm việc. Với người lập trình web trên PHP thì công việc sẽ khá nhanh vì PHP là một ngôn ngữ dễ đọc và dễ làm. Nhưng nó đỏi hỏi bạn phải code nhiều và có những thiết kế tốt. Các ngôn ngữ khác như .NET hoặc Java thì độ khó chắc chắn là hơn PHP rồi, nhưng bù lại là sự hỗ trợ từ công cụ và các tài liệu phong phú trên mạng. Với PHP bạn cũng hoàn toàn được hỗ trỡ từ cộng đồng đông đảo, một trang khá hay bạn nên biết đó là trang www.phpclasses.org/.

 

Học Perl trong 24 giờ – Giờ 2 Tháng Chín 3, 2008

Chuyên mục: Basic — riasweb @ 10:26 chiều
Tags:

Hour 2: Perl’s Building Blocks: Numbers and Strings

2.1) Những khái niệm cơ bản đầu tiên:

  • Scalars – Mỗi một ngôn ngữ lập trình – và mỗi một ngôn ngữ con người đều có bắt đầu giống nhau. Bạn có thể nhận được một vài tứ nói về điều đó. Trong Perl, những số và chuỗi là những thành phần cơ bản nhất của quá trình chuyển đổi, và những thành phần đó được gọi là scalars.
  • Values constants hoặc literals – Một số scalars trong Perl có thể thể hiện thông tin không thay đổi trong cả vòng đời của chương trình. Một số ngôn ngữ gọi là values constants hoặc literals.
  • Scalar variables – Những loại khác của scalars trong Perl chúng được thay đổi, được gọi là scalars variables. Những biến lưu trữ dữ liệu khi bạn thao tác chúng. Bạn có thể thay đổi nội dung của những biến bởi vì chúng chỉ đơn thuần hành động như xử lý cho dự liệu mà chúng miêu tả.

2.2) Literals

Perl có hai kiểu khác nhau của scalar constants được gọi là literals: numeric literals và string literals.

Numbers

Numeric literals là những số, và Perl chấp nhận một số cách khác nhau cho việc viết những số.

Number Type of Literal
6 Một số nguyên
12.5 Một số con trỏ động
15. Một số con trỏ động khác
.7320508 Và đây nữa, một số con trỏ động khác
1e10 Số viết kiểu khoa học
6.67E – 33 Số kiểu khoa học (e hoặc E đều chấp nhận)
4_294_296 Một số lớn cùng với những thể hiện gạch chân của dấu phẩy

Strings

String literals trong Perl là những tập hợp ký tự, như Hello, World. Chúng có thể chứa như data như bạn muốn; Chuỗi thực tế không có giới hạn trên kích thước cho phép của tổng số dung dượng của bộ nhớ ảo trên máy tính của bạn. Chuỗi cũng có có thể chứa mọi loại dữ liệu – Simple ASCII text, ASCII cùng với những bit lớn, thậm chí cả dữ liệu nhị phân, Chuỗi thậm chí có thể là rỗng.

Sử dụng dấu ‘ ’ và “ ” để định nghĩa một chuỗi. Ký tự backslash (\) được sử dụng để quy định cho những ký tự đặc biệt.

Ví dụ những tập hợp String Escape

Sequence Represents
\n Dòng mới
\r Trở về đầu dòng
\t Tab
\b Khoảng trắng
\u Chuyển ký tự tiếp theo thành chữ hoa
\l Chuyển ký tự tiếp theo thành chữ thường
\\ Hiện một ký tự backslash (\)
\’ Hiện một ký tự dấu nháy đơn ‘
\” Hiện một ký tự dấu nháy kép “

Perl cung cấp một kỹ thuật khác chú thích: Các toán tử qqqq. Để sử dụng qq, bạn cần quanh chuỗi bởi qq() thay cho dấu ngoặc kép:

Ví dụ:

q(I said, “Go then,” and he said “I’m gone”) hay qq(I said, “Go then,” and he said “I’m gone”)

Cũng giống như: “I said, \”Go then,\” and he said \”I’m gone\””

Như vậy vể bản chất hai câu lệnh sau là như nhau:

print qq(I said, “Go then,” and he said “I’m gone”);

print “I said, \”Go then,\” and he said \”I’m gone\””;

Chú ý: print là hàm dùng để in ra màn hình một chuỗi bất kỳ, sẽ học sau.

2.3) Biến số:

Biến số trong perl được đặc trưng bởi tiền tố $ đứng trước. Ví dụ:

$name, $tuổi.

Perl phân biệt chữ hoa và chữ thường, thế nên các biến sau là khác nhau:

$value

$VALUE

$Value

$valuE

Biến số đặc biệt: $_

Perl có một biến số đặc biệt, $_,  mà giá trị được sử dụng như là một “hiện thời” bởi nhiều toán tử và hàm số. Cho ví dụ, nếu bạn đơn giản in  trạng thái bởi nó – không chỉ định scalar variable của chuỗi string literal để in ra màn hình – Perl sẽ in giá trị hiện thời của $_.

$_=”Dark Side of the Moon”;

print;    # In ra giá trị của $_, “Dark side…”

2.4) Biểu thức và toán tử

Toán tử gán: =, ví dụ:

$a=$b=$c=42;

Các toán tử khác: ++, –, nếu biến là chuỗi chứa số thì sẽ tăng thêm một đơn vị, nếu chứa cả số và chữ thì sẽ tăng số lên một đơn vị, nếu chứa chữ không thì tăng chữ đó lên một mã trong bảng ASCII. Ví dụ như sau:

$a=”999″;

$a++;

print $a;           # prints 1000, as you’d expect

$a=”c9″;

$a++;

print $a;           # prints d0.  9+1=10, carry 1 to the c.

$a=”zzz”;

$a++;

print $a;         # prints “aaaa”.

2.5) Angle Operator (<>)

Angle operator (<>), thi thoảng được gọi là diamond operator, chủ yếu được sử dụng cho đọc và viết các file; nó sẽ được giới thiệu đầy đủ ở Hourr 5, “Working with Files.” Mặc dù, bây giờ giới thiệu tóm tắt sẽ tạo một vài bài tập chú ý, và khi bạn bắt đầu Hour 5, toán tử sẽ có một chút quen thuộc đối với bạn.

Cho đến khi, bạn có thể dử dụng angle operator trong dạng rất đơn giản: < STDIN >. Dạng này chỉ ra cho Perl dòng này cần được nhập vào từ thiết bị nhập – thông thường là bàn phím. Công thức <STDIN> trả về dòng nhập từ bàn phím. Ví dụ:

print “What size is your shoe? “;

$size=<STDIN>;

print “Your shoe size is $size. Thank you!”;

Đoạn code trên, khi thực hiện (cho bạn kiểu 9.5 như kích cỡ dày của bạn), sẽ in ra màn hình dòng sau:

What is size is your shoe?  9.5

Your shoe size is 9.5

. Thank you!

Bạn sẽ thấy chữ .Thank you bị xuống dòng, bởi vì mặc định giá trị nhận về từ <STDIN> có một ký tự xuống dòng ở cuối, để xóa ký tự này bạn sử dụng hàm chomp. Đoạn code trên sẽ được viết lại như sau:

print “What size is your shoe?”;

$size=<STDIN>;

chomp $size;

print “Your shoe size is $size. Thank you!\n”;

Một số cách viết khác.

$a=$a+3; hoặc $a+=3;

$line.=”, at the end”;          # “, at the end” is appended to $line

$y*=$x                          # same as $y=$y*$x

$r%=67;                         # Divide by 67, put remainder in $r

2.6) A Few Words on Strings and Numbers

Cho hầu hết các phần, Perl cho phép bạn được sử dụng những số và chuỗi có thể hoán đổi cho nhau; Đại diện đó là sử dụng quyết định rằng Perl tìm kiếm vị trí:

Nếu một số thứ tìm là số, Perl có thể sử dụng nó như là một số khi nó cần là một số:

$a=42;         # A number

print $a+18;   # displays 60.

$b=”50″;

print $b-10;   # Displays 40.

Nếu một số thứ tìm là một số, khi Perl cần là một chuỗi, nó sử dụng chuỗi đại diện của số:

$a=42/3;

$a=$a . “Hello”;  # Using a number like a string.

print $a          # displays “14Hello”

Nếu một số thứ không tìm được như là một số, nhưng bạn sử dụng nó như là một số, Perl đơn giản sử dụng giá trị 0 vào vị trí đó:

$a=”Hello, World!”;

print $a+6;     # displays the number 6

2.7) Bài tập: Hãy tính tiền lãi(accrued) theo công thức:

Trong đó:

Accrued – Lãi suất

Monthly interest – Lãi suất hàng năm

Number of deposits – Số tháng gửi tiền

Payment – Tổng số tiền gửi hàng tháng

Bài làm:

#!C:/xampp/perl/bin/perl.exe

print ‘Tong so tien gui ?\n’;

$pmt=<STDIN>;

chomp $pmt;

# Lai suat nam, vi du 15% thi nhap la .15

print ‘Lai suat nam ?\n’;

$interest=<STDIN>;

chomp $interest;

print ‘Tong so thang gui ?\n’;

$months=<STDIN>;

chomp $months;

$accrued=$pmt*(((1+$interest)**$months-1)/$interest);

print ‘Lai suat la: ‘.$accrued.’\n’;

(Jun – Theo Perl in 24 Hour)

 

Học Perl trong 24 giờ – Giờ 1 Tháng Chín 3, 2008

Chuyên mục: Basic — riasweb @ 10:00 chiều
Tags:

Trước khi bắt đầu tôi có một chú ý vô cùng quan trọng: Do vốn tiếng anh có hạn, tôi muốn tự dịch để luyện tập cho vốn tiếng anh và kinh nghiệm dịch của mình được tăng lên. Nên nhiều chỗ dịch rất chuối, ai phát hiện và đưa ra câu dịch hay thì comment cho tôi nhé, xin cảm ơn !.

Để chuẩn bị cho giờ đầu tiên này thì bạn cần chuẩn bị một số những điều cần thiết sau:

  • Môi trường thực hành (tôi chọn chạy trên hệ điều hành Windows, nếu bạn dùng Linux thì bỏ qua những chú ý này.)
  • Cài đặt Perl: Sử dụng ActivePerl hoặc Xammp và add-on Perl cho Xammp, có thể download miễn phí tại:

http://www.activestate.com/Products/activeperl/index.mhtml

http://www.apachefriends.org/en/xampp.html

  • Phần mềm phát triển Perl: Bạn có thể sử dụng Notepad hoặc EnginSite Perl Editor một IDE khá hay, có thể download tại:

http://www.enginsite.com/Perl.htm

Phần hướng dẫn cài đặt môi trường tôi sẽ nói sau, trong mục Hour 1.

Hour 1: Bắt đầu với Perl


Những nội dung chính sẽ nói trong mục này:

  • Khái quát về Perl
  • Cài đặt Perl
  • Tiếp cận tài liệu bên trong Perl
  • Viết script đầu tiên với Perl

1.1) Khái quát về Perl
Perl là một ngôn ngữ lập trình đa năng. Nó có thể được sử dụng cho bất cứ việc gì mà mọi ngôn ngữ khác có thể sử dụng. Nó được sử dụng trong mọi nghành công nghiệp có thể hình dung được gần như cho những vấn đề bạn có thể nghĩ. Nó được sử dụng trên thị trường chứng khoán; trong sản xuất chế tạo, thiết kế, kỹ thuật thông tin, hỗ trợ khách hàng, quản lý chất lượng, lập trình hệ thống, bảng lương và kiểm kê đánh giá và dĩ nhiên là trên web.
Perl được sử dụng ở nhiều nơi bởi vì Perl là ngôn ngữ Glue. Ngôn ngữ Glue được sử dụng với kết nối mọi thứ liên tục. Bạn hầu như chắc chắn sẽ không muốn viết một từ xử lý trong Perl – mặc dù vậy bạn sẽ – bởi vì từ xử lý sẵn sàng thực thi. Viết một database, bảng tính, hệ điều hành, hoặc tất cả những đặc điểm Web server trong Perl sẽ làm choáng váng – nhưng lại, có thể xảy ra.
Perl tốt ở điểm ràng buộc các thành phần liên tục. Perl có thể lấy database của bạn, chuyển đổi nó vào một bảng tính, và xử lý, sửa dữ liệu nếu bạn muốn. Perl cũng có thể nhận những tài liệu từ xử lý của bạn và chuyển đối chúng sang HTML để hiển thị trên web.

As a side effect of being a language designed to glue elements together, Perl is very adaptable. It runs under, at last count, about two dozen operating systems-and probably more. Perl’s programming style is very flexible, so you can do the same things in many ways. Your Perl programs may look nothing like mine, but if they both work, that’s okay. Perl can be a strict language when it needs to be, but it can also be forgiving to new sprogrammers if you want. It’s all up to you.

Let me just clear up a few points. The name of the programming language is Perl. The name of the program that runs your programs, the interpreter, is perl. The distinction usually isn’t very important to you-except when you’re trying to start your programs; then it’s always perl. Sometimes-but not here-you will see Perl written as PERL, probably because one explanation of Perl’s name is as an acronym for Practical Extraction and Report Language. Nobody ever really called it PERL; it’s too pretentious. It’s just Perl to its friends.

1.2) Cài đặt Perl

Bạn cài đặt ActivePerl, hoặc nhanh chóng là sử dụng gói Xammp. Ở đây tôi sẽ hướng dẫn sử dụng Xammp, vì phần 2 bạn sẽ cần sử dụng đến nó. Download phiên bản zip cho windows, gồm: Xammp và Add-ons Perl cho Xammp, giải nén toàn bộ vào ổ C. Sau đó bấm chuột phải vào My Computer > Properties. Chọn tab Advanced > Environment Variables. Thêm vào một biến môi trường PATH với giá trị như sau: C:\xampp\perl\bin;C:\xampp\perl\site\bin
Ok như vậy là bạn đã cài đặt xong Perl cho Windows.

1.3) Ứng dụng Perl đầu tiên
Dùng notepad soạn thảo một file hello.pl với nội dung như sau, rồi lưu vào ổ C:

#!C:/xampp/perl/bin/perl.exe -w
print “Hello, World!\n”;

Chạy chương trình: Vào Run > gõ cmd. Từ dấu nhắc lệnh gõ: C:\perl hello.pl bạn sẽ nhận được kết quả như hình:

Chúc mừng bạn vì đã chạy thành công với một ứng dụng Perl đầu tiên.Giải thích:
The first line of the hello program is

#!C:/xampp/perl/bin/perl.exe -w

Với Perl, mội dòng có có # coi như là dòng chú thích. Và Perl sẽ lờ đi mọi thứ nếu nó là chú thích. #! Là dòn đầu tiên của chương trình nó khác với những trường hợp khác. Đường dẫn như – C:/xampp/perl/bin/perl.exe là đường dẫn của trình biên dịch. Nếu một file Unix với #! theo sau bởi một đường dẫn của trình biên dịch và trình thực thi. Unix hiểu rằng đó là chương trình (đúng hơn là một shell script) và như thế để biên dịch nó.
Một vài Web server có thể thực thi những chương trình Perl – Apache, cho ví dụ – như chú ý đến dòng #! Và có thể gọi những chương trình mà không sử dụng lệnh rõ ràng perl.

Perl được gọi là một ngô ngữ lập trinh tự do. Điều đó có nghĩa là những dòng lệnh Perl không quá cầu kỳ về cách viết chúng. Bạn có thể chèn khoảng trắng, tabs và ký tự về đầu dòng – được gọi là whitespace – gần mọi điểm trong câu lệnh Perl, và điều đó không quan trọng. Với vụ dụ hello.pl trên ta có thể viết lại như sau:

#!C:/xampp/perl/bin/perl.exe -w

print

“Hello, World!\n”

;

Chạy vẫn vô tư :)

(Jun – Theo Perl in 24 Hour)

 

Học Perl Tháng Chín 3, 2008

Chuyên mục: Perl/ CGI — riasweb @ 9:11 chiều
Tags:

Những bài sắp tới đây viết về Perl, tôi muốn giới thiệu các bạn từng bước nắm cơ bản về Perl. Những khái niệm và cách phát triển những ứng dụng trên Perl một cách cơ bản nhất. Mục đích của web blog này là nói về những công nghệ Web, tôi là người đi theo trường phái những ngôn ngữ lập trình mã nguồn mở (Opensource) nên tôi rất chú trọng vào những ngô ngữ thuộc loại này. Nhìn vào danh mục Categories của tôi bạn có thể thấy điều đó, tại sao tôi lại chọn Perl là một mục trong những list danh mục đó. Bởi vì Perl là một mã nguồn mở, nó giúp phát triển một website khá đơn giản và nhanh, ngôn ngữ Perl còn được sử dụng rộng rãi ở nhiều nơi trên thế giới và trong rất nhiều những lĩnh vực nó vẫn còn được áp dụng. Trong Unix hay Linux thì Perl còn là một thành phần mặc định được cài đặt sẵn và được sử dụng khá nhiều. Chính vì lẽ đó tôi quyết định chọn Perl để viết về nó, chia sẻ những kinh nghiệm mà tôi tích lũy được.

Để trình bày về Perl tôi sẽ trình bày theo những mục chính như sau:

  • Những kiến thức cơ bản để tiếp cận với ngôn ngữ Perl – Tôi sẽ viết dựa theo cuốn SAMS – Teach Yourself Programming with PERL in 24 Hours.
  • Sử dụng lập trình CGI cho Web với Perl – Tôi viết dựa theo cuốn Beginning Perl Web Development
  • Những bài viết hướng dẫn, sưu tầm được từ Internet về những đoạn Script Perl hay.

 

Giới thiệu về Perl Tháng Chín 3, 2008

Chuyên mục: Perl/ CGI — riasweb @ 8:53 chiều
Tags:

Perl (viết tắt của Practical Extraction and Report Language – ngôn ngữ kết xuất và báo cáo thực dụng) được Larry Wall xây dựng từ năm 1987, với mục đích chính là tạo ra một ngôn ngữ lập trình có khả năng chắt lọc một lượng lớn dữ liệu và cho phép xử lí dữ liệu nhằm thu được kết quả cần tìm.

Perl là ngôn ngữ thông dụng trong lĩnh vực quản trị hệ thống và xử lí các trang Web do có các ưu điểm sau:

  • Có các thao tác quản lí tập tin, xử lí thông tin thuận tiện
  • Thao tác với chuỗi kí tự rất tốt
  • Đã có một thư viện mã lệnh lớn do cộng đồng sử dụng Perl đóng góp (CPAN).

Cú pháp lệnh của Perl khá giống với C, từ các kí hiệu đến tên các hàm, do đó, nhiều người (đã có kinh nghiệm với C) thấy Perl dễ học. Perl khá linh hoạt và cho phép người sử dụng giải quyết với cùng một vấn đề được đặt ra theo nhiều cách khác nhau.

Lịch sử

Wall bắt đầu thiết kế Perl vào năm 1987 lúc đang làm lập trình viên cho Unisys và cho ra đời phiên bản 1.0 trên comp.sources.misc vào ngày 18 tháng 12 năm 1987. Ngôn ngữ được mở rộng một cách nhanh chóng vài năm sau đó. Phiên bản 2 của Perl, được công bố năm 1988, có tính năng tốt hơn cho biểu thức chính qui. Phiên bản 3, công bố năm 1989, với hỗ trợ cho các dữ liệu dạng nhị phân.

Cho đến năm 1991, trang man là tài liệu duy nhất của Perl. Năm 1991, cuốn sách Programming Perl đã được xuất bản và trở thành cuốn cẩm nang tra cứu của ngôn ngữ Perl. Cùng lúc đó, phiên bản 4 ra đời, đánh dấu sự thay đổi quan trọng của ngôn ngữ, và là phiên bản đầu tiên được viết trong sách.

Tên gọi

Ban đầu, ngôn ngữ này có tên là “Pearl” (ngọc trai), được đặt tên theo “Parable of the Pearl” trong sách phúc âm. Larry đã bỏ nhiều công sức tìm kiếm tên cho ngôn ngữ mới. Ông đã thử xem xét (và bỏ qua) tất cả các từ 3,4 ký tự trong tự điển. Cuối cùng, ông đã đặt tên Pearl. Nhưng trước ngày phiên bản chính thức đầu tiên của Perl ra đời, Larry phát hiện ra đã có một ngôn ngữ cũng có tên là PEARL, nên ông quyết định đổi tên ngôn ngữ mình thành Perl.

Ngày nay, Perl trở thành tên chính thức của một trong những ngôn ngữ thông dịch mạnh mẽ được nhiều người sử dụng trên thế giới.

Biểu tượng

Programming Perl, xuất bản bởi O’Reilly Media, đã đưa ra nơi trang bìa bức ảnh 1 con lạc đà. Từ đó, lạc đà trở thành biểu tượng của ngôn ngữ Perl, cũng như quyển sách đó còn được biết đến dưới cái tên The Camel Book.

Khái quát

Ban đầu, Perl được tạo ra cho mục đích xử lý chuỗi. Nhưng dần dần, tính năng của ngôn ngữ được mở rộng ra cho nhiều mục đích khác nhau bao gồm: quản trị hệ thống, thiết kế web, lập trình mạng, phát triển ứng dụng GUI,…

(vi.wikipedia.org)