text:
- Vui lòng đọc nội qui diễn đàn để tránh bị xóa bài viết
- Tìm kiếm trước khi đặt câu hỏi
Căn bản đến nâng cao Visual Basic.NET
Điều hành viên: tungcan5diop, QUANITGROBEST
- onlysoft
- Thành viên tâm huyết
- Bài viết: 330
- Ngày tham gia: T.Tư 26/03/2008 6:32 pm
- Đến từ: ONLYSOFT
- Been thanked: 8 time
Căn bản đến nâng cao Visual Basic.NET
Tác giả: gatoi_it và onlysoft
Cấp độ bài viết: Căn bản đến Nâng cao
Tóm tắt: gatoi_it sẻ hướng dẫn phần căn bản còn nly sẻ hướng dẫn phẩn nâng cao
Yêu cầu :
- Các bạn sẻ không reply ở topic này vì để cho nó được trình bày đẹp
- Nếu có gì thắc mắc hay góp ý cho topic này thì hãy nhắn tin cho hai chúng tôi
Bây giờ hãy bắt đầu với bài hướng dẫn của gatoi_it
Tôi yêu tin học, Tin học lập trình, Để lập trình tôi dùng VB, Tôi là nly
-
- Thành viên trung thành
- Bài viết: 207
- Ngày tham gia: T.Tư 26/03/2008 6:10 pm
- Đến từ: Quê cha đất tổ
- Been thanked: 4 time
- Liên hệ:
Re: Căn bản đến nâng cao Visual Basic.NET
Tác giả: gatoi_it
Cấp độ bài viết: Dễ
Tóm tắt: Giới thiệu những đặc điểm cơ bản của Visual Basic .NET
1 - Nguồn gốc
Visual Basic.NET (VB.NET) là ngôn ngữ lập trình khuynh hướng đối tượng (Object Oriented Programming Language) do Microsoft thiết kế lại từ con số không. Visual Basic.NET (VB.NET) không kế thừa VB6 hay bổ sung, phát triển từ VB6 mà là một ngôn ngữ lập trình hoàn toàn mới trên nền Microsoft 's .NET Framework. Do đó, nó cũng không phải là VB phiên bản 7. Thật sự, đây là ngôn ngữ lập trình mới và rất lợi hại, không những lập nền tảng vững chắc theo kiểu mẫu đối tượng như các ngôn ngữ lập trình hùng mạnh khác đã vang danh C++, Java mà còn dễ học, dễ phát triển và còn tạo mọi cơ hội hoàn hảo để giúp ta giải đáp những vấn đề khúc mắc khi lập trình. Hơn nữa, dù không khó khăn gì khi cần tham khảo, học hỏi hay đào sâu những gì xảy ra bên trong ... hậu trường OS, Visual Basic.NET (VB.NET) giúp ta đối phó với các phức tạp khi lập trình trên nền Windows và do đó, ta chỉ tập trung công sức vào các vấn đề liên quan đến dự án, công việc hay doanh nghiệp mà thôi.
2 - Download Visual Basic .NET
Nếu như bạn không có Visual Basic .NET thì bạn có thể đi mua đĩa về cài. Hoặc bạn có thể tải về ở địa chỉ: http://www.microsoft.com/express/vb/ (Bản trial thôi )
3 - Khởi động Visual Basic .NET
Bạn hãy khởi động Visual Basic .NET hoặc Visual Studio .NET. Khi khởi động, nó sẽ như sau:
Không có gì cả ở trang start page. Ở phía dưới màn hình có 2 nút: "New Project" and "Open Project".
Bây giờ chúng ta sẽ tạo ra một dự án(project) mới bằng cách nhấn vào "New Project". Khi đó, một hộp thoại sẽ hiện lên:
Khi mới học, bạn hãy lựa chọn "Windows Application" trong "Visual Basic Projects" folder. Đây là môi trường để phát triển chương trình chạy trên hệ điều hành Microsoft Windows.
Ở khung phía dưới bạn sẽ thấy được đặt sẵn là "WindowsApplication1". Đây là tên mặc định cho project của bạn. Nếu bạn không muốn lấy tên này thì hãy nhấn vào khung đó và đổi tên thành:
Phần Location cũng được đặt mặc định. Nó được đặt ở "My Documents" trong folder "Visual Studio Projects". Một folder mới được tạo ra giống với tên project của bạn. Tất cả các files của project sẽ được lưu vào folder này. Nhấn nút OK, môi trường phát triển của Visual Basic NET được mở ra sẽ như sau:
Bạn sẽ cảm thấy rất lạ với nó Đừng lo, chúng ta sẽ được học trong các bài sau
-
- Thành viên trung thành
- Bài viết: 207
- Ngày tham gia: T.Tư 26/03/2008 6:10 pm
- Đến từ: Quê cha đất tổ
- Been thanked: 4 time
- Liên hệ:
Re: Căn bản đến nâng cao Visual Basic.NET
Tác giả: gatoi_it
Cấp độ bài viết: Dễ
Tóm tắt: Tìm hiểu các đặc điểm cơ bản của Form trong Visual Basic .NET
1 - Giới thiệu Form
Trong môi trường phát triển Visual Basic .NET, bạn thấy có một khung mà có những cái chấm nhỏ trên đó . Đó chính là form:
Những chấm nhỏ trên form đó giúp bạn canh chỉnh những control trên đó một cách chính xác hơn. Chúng ta sẽ không thấy gì trên form này khi chạy đúng không? Bạn xem nhé :
- Trên khung menu, nhấn nút Debug
- Từ menu hiện ra, nhấn vào Start
- Cách khác: nhấn F5 trên bàn phím
- Chương trính sẽ được chạy
Nếu thành công thì chương trình sẽ hiện ra:
Như bạn thấy, các chấm nhỏ đã mất.
Nhấn nút X màu đỏ để kết thúc chương trình.
Bạn đã thấy 2 môi trường khác nhau của form: Design và Debug. Design là khi bạn thiết kế form đó(như thêm các control, chỉnh kích thước....), Debug là khi bạn chạy thử chương trình mà bạn đã thiết kế.
2 - Control và cách sử dụng
Những thứ như button, textbox hay label được gọi là control. Chúng được đưa vào Toolbox để dễ sử dụng
Có 5 tiêu đề của control là Data, Components, Windows Forms, Clipboard Ring, và General. Bạn sẽ sử dụng toolbox Windows Forms.
Trong phần đầu tiên này, chúng ta sẽ sử dụng các control: Button, TextBox và Label
Hãy thêm một textbox vào form bằng các bước sau:
- Đưa chuột vào Textbox trên khung Windows Forms
- Nhấn kép chuột lên đó
- Một textbox đã được đưa lên form
Chú ý những chấm nhỏ xung quanh textbox. Nó giúp bạn điều chỉnh kích thước của textbox. Bạn hãy đưa con trỏ chuột vào nút nhỏ đó, giữ chuột trái và di chuyển chuột, bạn có thể thấy textbox đã được thay đổi kích thước.
Để di chuyển textbox đó hãy nhấn vào nó và nhấn chuột trái đưa vào giữa form.
- Tiếp tục thêm 2 textbox bằng cách nhấn kép chuột lên toolbar(hoặc nhấn chuột phải vào textbox chọn copy và nhấn chuột phải lên form chọn Paste)
- Chỉnh kích thước như textbox đầu tiên
- Di chuyển nó thẳng vào nhau
Bây giờ nó sẽ như sau:
Tiếp tục thêm các label lên form
- Đưa con trỏ chuột vào label control trên toolbox
- Nhấn kép vào nó
- Thêm 3 label vào form
- Canh chỉnh như hình vẽ
Khi hoàn thành sẽ như sau:
Hãy Debug nó bằng cách nhấn menu Debug - Start hoặc nhấn F5 trên bàn phím
Để kết thúc Debug bằng 1 trong 3 cách:
- Nhấn nút X ở góc form
- Nhấn Debug > Stop Debugging từ menu
- Nhấn Shift + F5 trên bàn phím
3 - Property
Bên phải của môi trường phát triển có khung Properties:
Bạn có thể thấy có rất nhiều thuộc tính(properties) khác nhau của form như:Name, , BackColor, Font, Image, Text, ... Bên phải là giá trị(value) của chúng. Những value này có thể được thay đổi.
Bây giờ chúng ta hãy thay đổi thuộc tính Text
Để tiện sử dụng hãy nhấn vào nút Alphabetic phía trên:
Nó giúp bạn dễ tìm các thuộc tính hơn.
Để thay đổi thuộc tính text của form:
- Chọn form
- Hãy tìm đến thuộc tính Text của form
- Nhấn vào khung bên cạnh dòng Text, xóa dòng chữ Form1 đi bằng cách nhấn nút backspace trên bàn phím
- Khi form1 được xóa, gõ dòng chữ "My First Form"
- Nhấn Enter
Tương tự như thế thay đổi các properties rất dễ . Bây giờ chúng ta sẽ thay đổi các thuộc tính của Label và Textbox trên form.
Nhấn vào Label1 trên form. Property của Label sẽ như sau:
Bạn có thể thấy Label có rất nhiếu properties khác nhau. Thay đổi thuộc tính Text của label:
- Với Label1 đã được chọn, nhấn khung chữ bên cạnh ô "Text", xóa chữ "Label1" bằng cách nhấn nút backspace trên bàn phím
- Gõ vào chữ "First Name"
- Nhấn vào phần trống trên form, hoặc nhấn Enter
- Label1 có thuộc tính text chuyển thành "First Name"
- Nếu bạn gõ sai, hãy gõ lại
Tiếp tục thay đổi thuộc tính text của 2 label còn lại:
Label2: Last Name
Label3: Telephone Number
Khi xong việc nó sẽ như sau:
Bạn hãy thay đổi thuộc tính Text của các textbox:
Textbox1: Enter your First Name
Textbox2: Enter your surname
Textbox3: Enter your Phone Number
Bây giờ bạn có thể thấy form thiết kế này không được đẹp lắm . Hãy thêm một chút màu mè cho nó.
Để thay đổi màu nền của form1 tìm BackColor trong Property Box. Tiếp theo, nhấn mũi tên bên phải của nó, một khung sẽ xuất hiện:
Chọn các tab Custom, Web và System trong khung đó, bạn hãy chọn màu mà bạn ưa thích.
Để thay đổi màu nền của Label hay Textbox bạn cũng làm tương tự như trên. Nếu bạn muốn thay đổi màu của cả 3 label cũng lúc nhấn 1 label giữ "Ctrl" và nhấn tiếp 2 label còn lại. Sau đó chọn màu BackColor. Cả 3 label sẽ được đổi màu nền.
Nếu như bạn muốn đổi Font của Labels và Textbox, chọn control đó. Bắt đầu với Label1:
- Nhấn vào Label1
- Tìm Font trong Property Box
- Nhấn vào Font để đánh dấu nó
- MS Sans Serif là Font mặc định
Nhấn vào dấu + bên trái chữ Font để xem chi tiết hơn:
Hãy thay đổi thuộc tính của cả 3 label thành:
Font: Arial
Font Style: Bold
Font Size: 10
Thay đổi Font của cả 3 Textbox như Label.
Khi bạn đã làm xong, hãy save(ghi) lại. Chúng ta sẽ học trong bài sau
-
- Thành viên trung thành
- Bài viết: 207
- Ngày tham gia: T.Tư 26/03/2008 6:10 pm
- Đến từ: Quê cha đất tổ
- Been thanked: 4 time
- Liên hệ:
Re: Căn bản đến nâng cao Visual Basic.NET
Tác giả: gatoi_it
Cấp độ bài viết: Dễ
Tóm tắt: Tìm hiểu cách ghi và mở project trong Visual Basic .NET
1 - Các file của project
Ở phía trên bên phải của Môi trường Design, bạn có thể thấy một khung là Solution Explorer (nếu như bạn không thấy, vào View > Solution Explorer)
Solution Explorer hiển thị cho bạn thấy tất cả các file trong project của bạn(chú ý rằng tên project nằm ở phải trên cùng - "My First Project"). Khi bạn ghi lại project, rất nhiều file sẽ được tạo ra . Nếu bạn mở ra bằng Windows Explorer, bạn có thể thấy rất nhiều files.
Nếu như bạn muốn mở project từ đây, bạn hãy nhấn kép chuột vào file có đuôi là .vbproj (trong hình trên là "First Form.vbproj")
Trong Visual Basic .NET có rất nhiều file được tạo ra cho project khác với Visual Basic 6. Đây chính là đặc điểm hướng đối tượng của .NET
2 - Ghi lại project
Để ghi lại project hãy làm theo một trong các bước sau:
- Nhấn File > Save All từ menu
- Nhấn Ctrl + Shift + S từ bàn phím
- Nhấn nút hình cái đĩa trên toolbar
Nếu bạn không ghi lại thường xuyên thì bạn có thể hỏng việc vì các sự cố có thể xảy ra với máy tính
3 - Tên Form
Để tiếp tục bạn hãy tạo một project mới.
Nếu như VB NET đang được mở sẵn, hãy thoát project đang được mở bằng cách nhấn File từ menu và chọn Close Solution. Bạn sẽ trở về Start Page. Nhấn vào nút "New Project". Khi hộp thoại hiện ra chọn Windows Application ở trên. Sau đó đổi tên của project thành Variables. Bạn có thể để location mặc định.
Khi bạn nhấn vào nút OK một form mới sẽ xuất hiện
Nếu bạn nhìn vào Solution Explorer phía trên, bạn có thể thấy tên project đã được đổi như bạn đã đặt.
Tên của Project bây giờ là Variables- Tên của folder cũng được tạo để chứa các file cho project của bạn.
Nhấn chuột lên form để chọn nó. Sau đó thay đổi thuộc tính Name thành frmVariables. Nhấn Enter để tên được đổi hoặc nhấn lại vào form:
Bây giờ nhấn F5 để chạy project, hoặc nhấn Debug > Start từ menu.
Lúc chương trình chạy , bạn sẽ gặp hộp thoại sau:
Nhấn nút No để trở lại môi trường phát triển. Bạn có thể thấy khung Task List hiển thị lên màn hình.
Lỗi này xảy ra là do VB chạy một form là Form1. Khi bạn thay đổi tên nó, nó vẫn chạy form đó. Nhưng bạn thấy không có form nào tên là Form1, vì vậy VB hiện lên một hộp thoại error
Để giải quyết vấn đề này hãy làm như sau:
Trong cửa sổ Solution Explorer, nhấn chuột phải lên tên project của bạn(Variables). Một menu hiện ra, chọn Properties:
Chú ý rằng bạn nhấn lên "Variables", không phải là "Solution Variables". Khi bạn nhấn Properties, bạn thấy một hộp thoại hiện ra:
Trong Startup Object, như bạn thấy, được chọn là Form1. Nhấn vào mũi tên nhỏ và chọn như sau:
Tên form mà bạn đưa có trong danh sách. Chọn frmVariables và nhấn nút OK. Bây giờ hãy chạy chương trính. Bạn thấy không có hộp thoại error , và form được hiện lên.
Bài tiếp theo chúng ta sẽ tìm hiểu về Variables(biến).
-
- Thành viên trung thành
- Bài viết: 207
- Ngày tham gia: T.Tư 26/03/2008 6:10 pm
- Đến từ: Quê cha đất tổ
- Been thanked: 4 time
- Liên hệ:
Re: Căn bản đến nâng cao Visual Basic.NET
Tác giả: gatoi_it
Cấp độ bài viết: Bình thường
Tóm tắt: Học những dòng code cơ bản đầu tiên của Visual Basic .NET
1 - Variables(Biến)
Variable(Biến) là gì?Với Visual Basic, và hầu hết các ngôn ngữ lập trình khác, bạn muốn chứa điều gì đó vào bộ nhớ của máy tính, và thao tác với chúng. Giả sử bạn đưa vào 2 số và cần "nói" cho VB thực hiện việc đó. Bạn sẽ dùng biến để làm việc này.
Các biến được lưu trữ trong bộ nhớ của máy tính. Cứ tưởng tượng như: một biến là một chiếc hộp giấy. Bây giờ bạn ở trong một phòng lớn, và trong phòng này có rất nhiều hộp giấy. Để đưa 2 số vào, viết số vào trong mẩu giấy và cất nó vào trong hộp giấy, viết số thứ hai và lại cất nó vào trong hộp giấy khác.
Bạn lại có hơn 1000 hộp giấy chứa các mẩu giấy có các con số . Để tiện ghi nhớ chúng, hãy dán các nhãn lên các hộp giấy đó. Dán nhãn "number1" vào hộp 1, "number2" vào hộp 2.
Chúng ta có 2 bộ nhớ (căn phòng và hộp giấy), và đưa cho chúng những con số (2 biến). Ta cũng thêm những tên biến (mẩu giấy dán) vì vậy ta có thể nhớ chúng ở đâu.
Hãy khảo sát đoạn mã:
Mã: Chọn hết
- Dim number1 As Integer
- Dim number 2 As Integer
-
- number1 = 3
- number2 = 5
-
-
Đoạn mã trên là ở trong VB NET. Đây là cách để VB cài đặt(hoặc khai báo) biến.
Hãy tìm hiểu cách khai báo một biến
Dim
Viết tắt của Dimension. Nó là một dạng của biến. Bạn khai báo(hay "nói" với VB) cài đặt một biến bằng từ khóa này. Chúng ta sẽ học các dạng khác của biến sau. Nhưng hãy nhớ khai báo một biến bằng từ khóa Dim
number1
Giống như cái hộp giấy và giấy dán. Đây là tên một biến. Sau từ khóa Dim, VB xem tên của biến là gì. Bạn có thể đặt các tên biến mà bạn muốn, nhưng sẽ bị giới hạn bởi các ký tự. Hãy tập đưa các tên biến khác nhau để thật dễ hiểu.
As Integer
Chúng ta nói với VB rằng biến này là một con số(nguyên). Ta sẽ gặp lại Integer sau.
Number1 = 3
Dấu = không phải để so sánh bằng. Dấu bằng để gán giá trị. Nói cách khác, đây là đưa dữ liệu vào biến. Ta nói với VB nhận giá trị 3 cho biến number1. Bạn hãy hình dung như lúc trước là đưa mẩu giấy vào hộp giấy đó.
2 - Đưa code vào form
Để dễ hiểu hơn, hãy thực hiện như sau:
- Tạo một project mới, đặt tên tùy ý bạn.
- Thêm 1 Button lên form bằng cách nhấn công cụ Button trên Toolbox sau đó rê chuột lên form và vẽ button.
Bằng cách trên bạn cũng có thể thực hiện với các control khác
- Thay đổi thuộc tính Text của Button trên thành "Add two numbers"
Tiếp tục thêm một Textbox nữa lên form. Bố trí sao cho form sẽ như sau:
Thay đổi thuộc tính Font của Button thành font chữ mà bạn thích, hãy làm việc này với cả Textbox nhé!
Để mở cửa sổ viết code, hãy nhấn kép chuột vào Button trên form, cửa sổ code sẽ xuất hiện như sau:
Chúng ta hãy khảo sát đoạn mã:
Mã: Chọn hết
- Private Sub Button1_Click(ByVal sender As System.Object, _
- ByVal e As System.EventArgs) _
- Handles Button1.Click
-
- End Sub
-
-
Hãy chú ý tới kí tự gạch dưới (_), nó được sử dụng để xuống dòng khi một dòng code quá dài. Bạn cũng có thể sử dụng nó để xuống dòng nếu dòng code bạn viết quá dài hoặc để cho dễ nhìn.
Private
Private là từ khóa giúp chỉ chương trình của bạn chỉ thấy code của button này.
Sub
Viết tắt của Subroutine. Từ khóa "Sub" nói với VB rằng có code bên dưới, và nó cần phải được biên dịch
Button1
Đây là tên button của chúng ta. Bạn sẽ nghĩ rằng chúng ta đã xóa "Button1" khi thay đổi thuộc tính Text, thế nhưng tại sao VB vẫn gọi được Button1? Đây là thuộc tính quan trọng nhất của Control gọi là Name. Nếu như bạn thay đổi thuộc tính Name, VB sẽ đổi tên button này cho bạn.
_Click ( )
Đây được gọi là một Event(sự kiện). Nói cách khác, khi button được click, sự kiện Click được xảy ra, và đoạn code mà bạn viết sẽ được thi hành.
End Sub
Phần kết thúc ở đây. Nó đánh dấu đoạn code được kết thúc.
Đừng lo nếu bạn không hiểu hết những phần trên. Tiếp tục học bạn sẽ hiểu ra thôi.
Quay trở lại project mà ta đang làm. Hãy nhấn con trỏ vào khoảng trống bên dưới dòng Private Sub Button1_Click(....)
Hãy gõ đoạn mã sau vào:
Mã: Chọn hết
- Dim number1 As Integer
- Dim number 2 As Integer
- Dim answer As Integer
-
- number1 = 3
- number2 = 5
-
- answer = number1 + number2
-
- MsgBox answer
-
-
Sau khi gõ xong, cửa sổ code sẽ như sau:
Hãy ghi project lại và vào Debug > Start hoặc nhấn F5 để chạy thử. Chương trình được chạy. Nhấn vào button, và bạn thấy như sau:
Dừng chương trình lại. Nếu bạn không thấy cửa sổ code đâu cả thì hãy nhấn vào tab Form1.vb phía trên:
Nhấn vào tab "Form1.vb [Design]" để xem form.
Hãy xem lại đoạn code:
- Đầu tiên, chúng ta khai báo từ khóa Dim để nói với VB khai báo biến.
- Tiếp theo chúng ta đưa tên biến(number1)
- Tiếp đến là nói với VB rằng biến là một số nguyên (As Integer)
- Hai biến cũng được làm tương tự là number2 và answer
Sau khi đã khai báo biến, chúng ta lại làm công việc sau:
- Nói với VB biến đầu tiên nhận giá trị 3, và biến thứ hai nhận giá trị 5. Để đưa giá trị vào biến, ta dùng dấu bằng(=). Nhưng đây không phải là so sánh bằng mà là đưa giá trị 3 vào biến number1.
Mã: Chọn hết
- number1 = 3
- number2 = 5
-
-
- Tiếp theo, với toán tử cộng(+) chúng ta cộng 2 biến number1+number2 và đưa kết quả này vào biến answer:
Mã: Chọn hết
- answer = number1 + number2
-
- Cuối cùng chúng ta dùng Msgbox để hiển thị kết quả của biến answer.
Msgbox giúp bạn có thể hiện lên những câu thông báo tới người dùng, chúng ta sẽ học kĩ hơn trong các bài sau.
Bây giờ hãy thực hành tiếp. Xóa dòng "MsgBox answer" đi. Gõ vào Textbox1 và gõ dấu chấm(.) vào. Bạn có thể thấy một danh sách hiện ra. Đây là danh sách của các thuộc tính và phương thức mà Textbox sử dụng.
Cuộn xuống để tìm trong danh sách từ "Text". Nháy kép chuột lên thuộc tính "Text" đó, danh sách bị biến mất Ngoài cách này ra bạn có thể gõ luôn từ Text đằng sau Textbox1 như thế sẽ nhanh hơn.
Để nhận một giá trị cho thuộc tính Text hãy gõ dấu = vào. Ở đây ta muốn hiện kết quả của biến answer lên Textbox. Vì thế ta viết:
Mã: Chọn hết
- Textbox1.Text = answer
Chạy thử chương trình, nhấn Button ở trên Form, bạn sẽ thấy số 8 được hiện lên trong Textbox.
3 - Biến kiểu String(chuỗi)
Chúng ta đã được học về biến kiểu Integer(số nguyên) trong phần trên. Bây giờ chúng ta hãy tìm hiểu về biến String(chuỗi)
String là gì? Nó là một dòng chữ. Để tạo ra một biến kiểu String, hãy thêm As String sau tên biến. Ví dụ muốn tạo ra 2 biến FirstName và LastName kiểu String ta có thể viết như sau:
Mã: Chọn hết
- Dim FirstName As String
- Dim LastName As String
Để gán cho chúng các giá trị ta cũng sử dụng dấu bằng(=). VD:
Mã: Chọn hết
- FirstName = "Only"
- LastName = "Nguyen"
-
Để dễ hiểu hơn hãy quay trở lại project vừa rồi. Thêm một Button nữa vào Form và đặt thuộc tính Text là "String Test". Bố trí để form như sau:
Nháy kép chuột vào button mới đó và thêm đoạn code sau vào:
Mã: Chọn hết
- Dim FirstName As String
- Dim LastName As String
- Dim FullName As String
-
- FirstName = "Only"
- LastName = "Nguyen"
-
- FullName = FirstName & LastName
-
- Textbox1.Text = FullName
-
Hãy tìm hiểu dòng code này:
Mã: Chọn hết
- FullName = FirstName & LastName
Nó giúp bạn kết hợp 2 biến String lại với nhau. Chúng ta dùng ký tự & để kết hợp chúng lại. Hãy nhớ dùng ký tự & để kết hợp các biến String lại với nhau. Biến chứa sự kết hợp này là biến FullName.
Hãy thử chạy chương trình, Khi bạn nhấn vào Button "String Test" thì Textbox sẽ hiện chữ "OnlyNguyen". Chúng lại được đặt sát nhau mà không có khoảng cách. Để giải quyết vấn đề này hãy sửa dòng FullName = FirstName & LastName thành:
Mã: Chọn hết
- FullName = FirstName & " " & LastName
4 - Gán giá trị của Textbox vào biến
Bạn có thể lấy giá trị mà người dùng nhập vào Textbox để gán cho biến. Để dễ hiểu hơn hãy mở lại project vừa rồi và làm như sau:
- Thêm 1 Textbox mới vào form
- Bố trí lại sao cho hợp lí
- Tìm thuộc tính Name trong bảng Properties và thay đổi như sau:
+ Textbox1 thành txtFirstName
+ Textbox2 thành txtLastName
Hãy chuyển sang tab Form1.vb hoặc nhấn F7, bạn sẽ thấy dòng mã sau bị gạch chân:
Lỗi này xảy ra là do VB không tìm thấy Textbox1 đâu cả. Hãy sửa dòng mã đó thành:
Mã: Chọn hết
- txtFirstName.Text = FullName
Chạy chương trình, bạn sẽ không thấy lỗi.
Tiếp tục, tìm đến dòng mã:
Mã: Chọn hết
- FirstName = "Bill"
- LastName = "Gates"
-
Sửa thành:
Mã: Chọn hết
- FirstName = txtFirstName.Text
- LastName = txtLastName.Text
-
Hãy nhớ dấu bằng(=) thực hiện công việc sau: Phần ở bên trái dấu bằng được gán giá trị mà ở bên phải có. Tạo thêm một biến WholeName và gán cho nó với giá trị FirstName & " " & LastName, dùng Msgbox để hiển thị biến WholeName lên. Đoạn code sẽ như sau:
Mã: Chọn hết
- Dim FirstName As String
- Dim LastName As String
- Dim WholeName As String
-
- FirstName = txtFirstName.Text
- LastName = txtLastName.Text
-
- WholeName = FirstName & " " & LastName
-
- MsgBox(WholeName)
-
-
Chạy chương trình, nhập chữ "Bill" vào textbox thứ nhất, "Gates" vào textbox thứ hai bạn sẽ có kết quả sau:
5 - Các kiểu biến khác
Giới hạn của các kiểu biến khác như sau:
Số nguyên
Byte
0 tới 255
Short
-32,768 tới 32,768
Integer
-2,147,483,648 tới 2,147,483,647
Long
-9,223,372,036,854,775,808 tới 9,223,372,036,854,775,808
Số thực
Single
Cho số âm: -3.402823 x 10-38 tới -1.401298 x 10-45.
Cho số dương: 1.401298 x 10-45 tới 3.402823 x 1038
Double
Cho số âm: -1.79769313486231 x 10308 tới -4.94065645841247 x 10-324.
Cho số dương: 4.94065645841247 x 10-324 tới 1.79769313486231 x 10308.
Chữ và hàng chữ (hay câu)
Char
Dùng lưu trữ từng chữ một.
String
Dùng lưu trữ một hàng chữ hay cả nguyên một cuốn sách.
Các loại đơn giản khác
Boolean
True hoặc False
Date
Từ ngày 1 tháng Giêng năm 100 tới ngày 31 tháng Chạp năm 9999
Loại dữ kiện có khả năng tính toán năm nhuần. Nếu ta cộng 1 ngày vào biến số lưu trữ ngày 28/02/2000, ta sẽ có 29/02/2000 nhưng nếu cộng cho ngày 28/02/2001, ta lại có 01/03/2001.
Bạn nên nhớ hãy sử dụng các kiểu biến cho phù hợp vì các kiểu có giới hạn lớn thường tồn bộ nhớ rất nhiều.
-
- Thành viên trung thành
- Bài viết: 207
- Ngày tham gia: T.Tư 26/03/2008 6:10 pm
- Đến từ: Quê cha đất tổ
- Been thanked: 4 time
- Liên hệ:
Re: Căn bản đến nâng cao Visual Basic.NET
Tác giả: gatoi_it
Cấp độ bài viết: Bình thường
Tóm tắt: Củng cố và ôn lại các bài đã học trong phần trên
[Bài 1
Hãy viết chương trình hiện lên kết quả của phép tính 958787+222686 bằng cách dùng 2 biến
[Bài 2
Làm chương trình có 1 textbox, 1 Label và 1 button
Yêu cầu:
Khi người dùng nhập tên vào textbox và nhấn nút thì sẽ hiện lên trong Label chữ "Hello" và tên đã nhập trong textbox đó.
Hãy thiết kế thật đẹp vào nhé
[Bài 3
Hãy thử sử dụng các toán tử +,-,*,/ trong VB để tạo ra một chương trình giúp tính toán đơn giản từ 2 con số nhập từ textbox.
Gợi ý:
- Tạo 2 textbox để nhập số
- Tạo 4 button với 4 phép tính
- Viết code tạo ra các biến để lấy các số từ 2 textbox. Dùng hàm Val để lấy con số. VD: Val(Textbox1.Text) sẽ trả về giá trị số của Textbox1
- Viết lần lượt 4 button để lấy số rồi tính, hiện kết quả bằng hàm Msgbox()
-
- Thành viên trung thành
- Bài viết: 207
- Ngày tham gia: T.Tư 26/03/2008 6:10 pm
- Đến từ: Quê cha đất tổ
- Been thanked: 4 time
- Liên hệ:
Re: Căn bản đến nâng cao Visual Basic.NET
Tác giả: gatoi_it
Cấp độ bài viết: Bình thường
Tóm tắt: Học kiểm soát code trong Visual Basic .NET nhờ các phát biểu điều kiện.
1 - Phát biểu If
If tiếng việt có nghĩa là Nếu. Giả sử bạn đặt ra tình huống sau:
If I play game Then I have a headache
Có nghĩa là:
Nếu tôi chơi game thì tôi sẽ nhức đầu
Để diễn giải các trường hợp khác nữa ta dùng từ khóa Else
If I play game Then
I have a headache
Else
I sore eyes
Những ví dụ trên cũng được áp dụng vào việc code. Trong Visual Basic các từ khóa để thực hiện những việc giống như trên là If, Then, Else
Chúng ta hãy xem nhé:
Tạo một project mới lấy tên tùy ý bạn, thêm 1 Button vào Form, nháy kép chuột lên Button đó để thêm đoạn mã dưới đây vào:
Mã: Chọn hết
- Private Sub Button1_Click(ByVal sender As System.Object, _
- ByVal e As System.EventArgs) _
- Handles Button1.Click
-
- Dim firstname As String
-
- firstname = "Only"
- If firstname = "Only" Then MsgBox("firstname is Only")
-
- End Sub
-
Chạy chương trình này. Khi bạn nhấn vào Button đó thì có một hộp thoại hiện lên với từ "firstname is Only".
Hãy xem xét đoạn mã:
Mã: Chọn hết
- If firstname = "Only" Then MsgBox("firstname is Only")
Bạn có thể hiểu dòng mã này như sau:
Nếu(If)biến firstname mang giá trị(=) là "Only" thì hãy hiện lên hộp thoại có thông điệp "firstname is Only" MsgBox("firstname is Only")
Bạn có thể thấy nếu chúng ta viết một đoạn mã khá dài như trên sẽ rất khó nhìn. Để dễ nhìn hãy viết như sau:
Mã: Chọn hết
- If firstname = "Only" Then
- MsgBox("firstname is Only")
- End If
-
Đoạn mã trên được giải thích như sau:
1. Xem biến firstname có giá trị là "Only" không
2. Hiện hộp thoại thông báo nếu đúng
3. Kết thúc phát biểu bằng End If
Bây giờ hãy thử xóa hai dấu ngoặc kép(" ") ở chữ "Only" trong dòng đầu xem sao:
Mã: Chọn hết
- Dim firstname as String
-
- firstname = "Only"
-
- If firstname = Only Then
- MsgBox "firstname is Only"
- End If
-
VB.NET sẽ gạch chân chữ Only. Nếu bạn chạy thử đoạn code này, bạn sẽ gặp thông báo lỗi.
Lý do có lỗi ở đây là do VB sử dụng dấu ngoặc kép(" ") để chứa một dòng chữ. Không có dấu ngoặc kép thì VB sẽ hiểu đây không phải là chuỗi những dòng chữ(có thể là 1 biến).
Hãy sửa đoạn code lại thành:
Mã: Chọn hết
- firstname = "gatoi"
-
- If firstname = "Only" Then
- MsgBox "firstname is Only"
- Else
- MsgBox "firstname is not Only"
- End If
-
Chạy chương trình, bạn sẽ thấy hộp thông báo với dòng chữ: "firstname is not Only". Đoạn mã này chứa từ khóa Else giúp cho việc thực hiện các trường hợp khác của điều kiện được đặt ra của If....Then bị sai
Sửa đoạn code thành:
Mã: Chọn hết
- firstname = "gatoi"
-
- If firstname = "Only" Then
- MsgBox("firstname is Only")
- ElseIf firstname = "gatoi" Then
- MsgBox("firstname is gatoi")
- Else
- Msgbox("unknow firstname")
- End If
-
Từ khóa ElseIf giúp bạn có thể tiếp tục so sánh điều kiện khác được đặt ra nếu điều kiện ban đầu bị sai.
Hãy nhớ công thức của If....Then
Mã: Chọn hết
- If [điều kiện] Then
- Code nếu đúng
- ElseIf [điều kiện khác] Then
- Code nếu khác
- Else
- Code nếu không đúng cả 2 điều kiện trên
- End If
2 - Phát biểu Select Case
Phát biểu Select Case là một cách khác để kiểm tra các điều kiện được đặt. Giả sử bạn có thể so sánh biến firstname ở bên trên dùng If....Then....ElseIf.... thế nhưng lại có rất nhiều firstname khác nhau. Trong trường hợp này hãy sử dụng phát biểu Select Case
Hãy tạo một project mới và tạo một Button trên form, một Textbox trên form. Bố trí sao cho phù hợp. Nhấn kép lên Button và thêm đoạn code sau vào:
Mã: Chọn hết
- Dim name As String
- Dim DietState As String
- name = TextBox1.Text
-
- Select Case name
-
- Case "Only"
- DietState = "This is my friend"
- Case "gatoi"
- DietState = "It's me"
- Case Else
- DietState = "Who is this?"
-
- End Select
-
- MsgBox DietState
-
-
Chạy chương trình này. Nháy chuột lên Textbox và gõ Only và nhấn lên Button. Bạn thấy sẽ hiện lên hộp thoại: "This is my friend" Tương tự hãy gõ gatoi và các tên khác xem thử.
Vậy Select Case làm việc thế nào?
Trong đoạn code ở trên đây, đầu tiên ta khai báo 2 biến là name và DietState. Tiếp theo ta đưa giá trị của Textbox1 vào biến name. Select Case được sử dụng ở dòng kế tiếp:
Mã: Chọn hết
- Select Case name
Biến name được sử dụng trong phát biểu Select Case này có nghĩa là: "Dùng phát biểu Select Case để kiểm tra xem những giá trị trong biến name"
Trong những dòng tiếp theo ta xét xem các giá trị được đưa vào có đùng hay không, nếu đúng ở kết quả nào ta sẽ dừng lại ở kết quả đó và thực hiện tiếp đoạn code phía dưới.
Trong dòng Case Else để nhận những giá trị khác của biến name nếu các giá trị trên không đúng.
Cuối cùng End Select để kết thúc phát biểu Select Case
Phát biểu Select Case cũng được sử dụng cho kiểu biến số, và tiện dụng hơn nếu dùng từ khóa To. Nó giúp bạn có thể kiểm tra số từ một số nào đến số nào đó mà không cần nhiều từ Case. Xem ví dụ sau:
Mã: Chọn hết
- Select Case age
- Case 16 To 21
- MsgBox “Thanh niên”
- Case 50 To 64
- MsgBox “Già”
- End Select
-
Ở đây, biến age được kiểm tra. Giá trị của age được kiểm tra trong một khoảng nào đó nhờ To
Hãy nhớ công thức của Select Case:
Mã: Chọn hết
- Select Case [đối tượng]
- Case [giá trị 1]
- Code ở đây cho 1
- Case [giá trị 2]
- Code ở đây cho 2
- Case [giá trị x]
- Code ở đây cho x
- Case Else
- Các code khác
-
3 - Các toán tử
>
Ý nghĩa: Lớn hơn
Ví dụ:
Mã: Chọn hết
- If number > 10 Then
- MsgBox "The Number was Greater Than 10"
- End If
<
Ý nghĩa: Nhỏ hơn
Ví dụ:
Mã: Chọn hết
- If number <10 Then
- MsgBox "The Number was Less Than 10"
- End If
>=
Ý nghĩa: Lớn hơn hoặc bằng
Ví dụ:
Mã: Chọn hết
- If number >= 10 Then
- MsgBox "The Number was 10 or Greater"
- End If
<=
Ý nghĩa: Nhỏ hơn hoặc bằng
Ví dụ:
Mã: Chọn hết
- If number <= 10 Then
- MsgBox "The Number was 10 or Less"
- End If
And
Ý nghĩa: Nối 2 phép điều kiện bằng And
Ví dụ:
Mã: Chọn hết
- If number > 5 And number < 15 Then
- MsgBox "Greater than 5 And Less than 15"
- End If
Or
Ý nghĩa: Nối 2 phép điều kiện bằng Or
Ví dụ:
Mã: Chọn hết
- If number > 5 Or number < 15 Then
- MsgBox "Greater than 5 Or Less than 15"
- End If
<>
Ý nghĩa: Không bằng, khác
Ví dụ:
Mã: Chọn hết
- If number1 <> number2 Then
- MsgBox "number1 is not equal to number2"
- End If
- onlysoft
- Thành viên tâm huyết
- Bài viết: 330
- Ngày tham gia: T.Tư 26/03/2008 6:32 pm
- Đến từ: ONLYSOFT
- Been thanked: 8 time
Thứ tự ưu tiên toán hạn
Trong vb thực hiện các phép toán theo một trình tự thứ tự trước sau nhất định, và hầu hết đều giống với toán học:
1. Dấu ngoặc đơn được thực hiện trước nhất ( nghĩa là có quyền ưu tiên cao nhất) và được thực hiện từ các dấu trong cùng tới các dấu bên ngoài.
2. Kế đến là lũy thừa, và được thực hiện từ trái sang phải nếu trong cùng một lệnh có nhiều phép lũy thừa.
3. Rồi đến dấu âm dương (-,+) được thực hiện và thực hiện từ trái sang với quyền ưu tiên như nhau.
4. Tiếp tục đến dấu nhân * và phép chia thập phân /, thực hiện từ trái sang phải với quyền ưu tiên như nhau.
5. Phép chia lấy phần nguyên \ được thực hiện tiếp theo và cũng cùng quy luật từ trái sang nếu có nhiều phép chia này trong cùng một lệnh.
6. Tiếp theo là phép chia lấy phần dư (mod), nếu có nhiều phép chia cùng loại thì cũng được thực hiện từ trái sang.
7. Các phép cộng và trừ cũng được thực hiện từ trái sang phải, và đây là hai phép tính có độ ưu tiên thấp nhất, thực hiện sau cùng.
Tôi yêu tin học, Tin học lập trình, Để lập trình tôi dùng VB, Tôi là nly
- thuocthoigian
- Thành viên danh dự
- Bài viết: 167
- Ngày tham gia: T.Hai 31/07/2006 2:07 pm
- Đến từ: Minh Lộ - Thanh Hóa
- Liên hệ:
Re: Căn bản đến nâng cao Visual Basic.NET
Toán tử gán:
= Gán toán hạng thứ hai cho toán hạng thứ nhất
+= Cộng hoặc nối chuỗi toán hạng sau vào toán hạng đầu và gán kết quả cho toán hạng
đầu
-= Trừ toán hạng sau khỏi toán hạng đầu và gán hiệu cho toán hạng đầu
*= Nhân hai toán hạng với nhau và gán tích cho toán hạng đầu
/= Chia toán hạng đầu cho toán hạng sau và gán thương cho toán hạng đầu
\= Thực hiện phép toán \ giưã toán hạng đầu và toán hạng sau và gán kết quả cho toán hạng đầu
^= Tính lũy thưà toán hạng đầu với số mũ là toán hạng sau và gán kết quả cho toán hạng đầu
&= Nối chuỗi toán hạng sau vào toán hạng đầu và gán kết quả cho toán hạng đầu
Toán tử so sánh
TypeOf … Is… :So sánh kiểu của biến kiểu tham chiếu thứ nhất có trùng kiểu trên toán hạng thứ hai, nếu trùng trả về True, ngược lại False
Is Toán tử dành cho toán hạng kiểu tham chiếu, trả về True nếu hai toán hạng cùng
tham chiếu đến một đối tượng, ngược lại là False)
Like Toán tử dành cho toán hạng kiểu String, trả về True nếu toán hạng thứ nhất trùng
với mẫu (pattern) của toán hạng thứ hai, ngược lại là False.
Toán tử luận lý và Bitwise
Not Trả về giá trị ngược lại của toán hạng
And Trả về True (1) khi và chỉ khi hai toán hạng cùng là True (1)
AndAlso Trả về giá trị như And nhưng khi toán hạng thứ nhất là False (0) sẽ không kiểm tra
toán hạng thứ hai và trả về False
Or Trả về False (0) khi và chỉ khi hai toán hạng cùng là False (0)
OrElse Trả về giá trị như Or nhưng khi toán hạng thứ nhất là True (1) sẽ không kiểm tra toán hạng thứ hai và trả về True (1)
Xor Trả về True (1) khi và chỉ khi có 1 toán hạng là True (1)
-
- Thành viên trung thành
- Bài viết: 207
- Ngày tham gia: T.Tư 26/03/2008 6:10 pm
- Đến từ: Quê cha đất tổ
- Been thanked: 4 time
- Liên hệ:
Re: Căn bản đến nâng cao Visual Basic.NET
Tác giả: gatoi_it
Cấp độ bài viết: Bình thường
Tóm tắt: Tìm hiểu về mảng trong Visual Basic .NET
1 - Mảng(Array) là gì?
Trong những bài học trên bạn đã tìm hiểu khá nhiều về biến . Bạn đã có thể đưa giá trị các con số hay các dòng chữ vào biến rồi.
Bạn có thể thấy mỗi biến chỉ chứa được một thông tin mà thôi. Một mảng cũng là một biến nhưng nó giúp bạn chứa nhiều giá trị vào nó.
2 - Cách khai báo mảng
Hãy xem ví dụ sau đây:
Mã: Chọn hết
- Dim MyNumbers(4) As Integer
- MyNumbers(0) = 1
- MyNumbers(1) = 2
- MyNumbers(2) = 3
- MyNumbers(3) = 4
- MyNumbers(4) = 5
Để khai báo một mảng bạn cũng khai báo giống biến nhưng đằng sau tên của mảng hãy đóng mở ngoặc ( ) và ở giữa dấu ngoặc là số giá trị của mảng này.
Trong ví dụ trên bạn có thể thấy mảng MyNumbers được khai báo với 4. Bạn hãy nhớ rằng một mảng luôn được bắt đầu bằng giá trị 0, và vị trí đầu tiên của mảng cũng là 0.
Chúng ta hãy vào việc thực hành luôn để tìm hiểu về mảng:
- Tạo một project mới.
- Thêm một Button lên form
- Thay đổi giá trị Text của Button thành "Integer Array"
- Nhấn kép chuột lên Button và gõ đoạn code sau vào:
Mã: Chọn hết
- Dim MyNumbers(4) As Integer
-
- MyNumbers(0) = 1
- MyNumbers(1) = 2
- MyNumbers(2) = 3
- MyNumbers(3) = 4
- MyNumbers(4) = 5
-
- MsgBox("First Number is: " & MyNumbers(0))
- MsgBox("Second Number is: " & MyNumbers(1))
- MsgBox("Third Number is: " & MyNumbers(2))
- MsgBox("Fourth Number is: " & MyNumbers(3))
- MsgBox("Fifth Number is: " & MyNumbers(4))
Chạy thử chương trình. Khi nhấn vào Button bạn sẽ thấy những hộp thoại hiện lên.
Khảo sát đoạn code:
- Đầu tiên ta khai báo là một mảng Integer với 5 giá trị.
- Tiếp đến gán các giá trị cho mảng
- Cuối cùng dùng hàm MsgBox để hiện lên các kết quả.
3 - Khai báo lại mảng
Giả sử khi bạn viết code bạn muốn khai báo lại mảng vào một lúc nào đó và nhập các giá trị mới cho nó.
Hãy tìm hiểu việc này qua ví dụ sau:
- Vì không biết số giá trị của mảng nên ta hãy khai báo tên mảng và hai dấu ngoặc thôi:
Mã: Chọn hết
- Dim numbers() As Integer
Tiếp đến để khai báo lại mảng ta sẽ dùng hàm ReDim:
Mã: Chọn hết
- ReDim numbers(count)
Trong đó count là số giá trị của mảng mà bạn cần.
Chẳng hạn ta cần có 4 giá trị trong mảng numbers ta khai báo như sau:
Mã: Chọn hết
- ReDim numbers(3)
Hãy khảo sát đoạn code này:
Mã: Chọn hết
- Dim numbers() As Integer 'Khai báo mảng numbers
- ReDim numbers(3) 'Khai báo lại mảng với 4 giá trị
- 'Gán các giá trị cho mảng
- numbers(0) = 1
- numbers(1) = 2
- numbers(2) = 3
- numbers(3) = 4
Bạn có thể thấy sau các dấu ngoặc đơn ' là các dòng chú chú thích. Khi bạn viết chú thích cho mã trong VB thì hãy viết dấu ' và viết các chú thích phía sau dấu '. Lúc biên dịch VB sẽ bỏ qua những chú thích này
Tương tự như khai báo các mảng Integer các mảng String bạn cũng có thể gán các dòng chữ cho các mảng.
Nhưng bạn muốn gán rất nhiều các giá trị cho mảng bởi các số liền nhau hay xuất các giá trị của mảng ra ngoài form một cách nhanh nhất thì phải làm thế nào? Chúng ta sẽ học trong bài tiếp theo: Vòng lặp(Loop)
-
- Thành viên trung thành
- Bài viết: 207
- Ngày tham gia: T.Tư 26/03/2008 6:10 pm
- Đến từ: Quê cha đất tổ
- Been thanked: 4 time
- Liên hệ:
Re: Căn bản đến nâng cao Visual Basic.NET
Tác giả: gatoi_it
Cấp độ bài viết: Bình thường
Tóm tắt: Học về các vòng lặp trong Visual Basic .NET để thực hiện viết code.
1 - Giới thiệu về vòng lặp
Vòng lặp là cái mà cứ lặp đi và lặp lại một việc gì đó. Nó rất tiện trong việc lập trình . Hãy xem ví dụ sau đây:
Giả sử bạn muốn tính kết quả của các số từ 1 đến 4. Bạn có thể làm như sau:
Mã: Chọn hết
- Dim answer As Integer
-
- answer = 1 + 2 + 3 + 4
-
- MsgBox answer
Đoạn code trên rất đơn giản và cũng không dài lắm. Nhưng bạn thử nghĩ nếu chúng ta muốn cộng một nghìn số liên tiếp thì sao? Nó là công việc rất vất vả nếu cứ gõ từng số(:| . Nhưng công việc này sẽ được đơn giản đi nhờ vòng lặp(Loop).
Bạn hãy nhớ là vòng lặp sẽ được lặp lại cho đến khi nào nó được ngừng chứ sẽ không diễn ra liên tục.
Bây giờ chúng ta hãy tìm hiểu vòng lặp For Loop.
2 - For Loop
Dạng đầu tiên của vòng lặp mà chúng ta tìm hiểu gọi là For Loop. Nó là một dạng cơ bản của vòng lặp mà bạn sẽ sử dụng trong lập trình. Hãy bắt đầu nghiên cứu nó nào
Tạo một project mới lấy tên tùy ý bạn. Thêm một Button lên Form. Nhấn kép chuột lên button đó và gõ đoạn mã sau vào:
Mã: Chọn hết
- Dim answer As Integer
- Dim startNumber As Integer
-
- answer = 0
-
- For startNumber = 1 To 4
-
- answer = answer + startNumber
-
- Next startNumber
-
- MsgBox answer
-
Chạy chương trình, nhấn lên button. Số 10 được hiển thị lên một hộp thông báo.
Chúng ta hãy khảo sát đoạn code trên:
Đầu tiên khai báo 2 biến và gán biến answer thành 0. Tiếp theo ta viết code cho vòng lặp:
Mã: Chọn hết
- For startNumber = 1 To 4
-
- answer = answer + startNumber
-
- Next startNumber
Chúng ta bắt đầu vòng lặp bằng cách nói với VB dạng vòng lặp mà ta muốn sử dụng. Trên đây là vòng lặp For:
Tiếp theo ta cần nói với VB số mà ta muốn vòng lặp bắt đầu:
Ở đây là ta nói: "Vòng lặp sẽ bắt đầu từ số 1". Biến startNumber có thể sử dụng vào việc mà bạn thích. Một tên biến rất phổ biến để bắt đầu một vòng lặp là kí tự i (i=1).
Tiếp đến, ta nói với VB số mà vòng lặp kết thúc:
Từ To đứng trước một số hoặc một biến để nói với VB số lần mà bạn muốn vòng lặp thực hiện. Ở đây ta nói với VB lặp cho đến khi startNumber bằng 4.
Dòng lệnh để nói với VB tiếp tục thực hiện vòng lặp là:
Khi VB thực hiện dòng lệnh này, nó kiểm tra biến startNumber và cộng thêm cho nó 1. Nói cách khác, lấy số tiếp theo của nó sau khi đã biến đã được kiểm tra.
Sau việc làm trên VB sẽ lại quay trở lại For. Việc này là một vòng lặp. Để dừng vòng lặp lại, nó kiểm tra biến startNumber, và xem nó có bằng số kết thúc không. Trong trường hợp này thì số kết thúc là 4. Bởi vì Next startNumber cộng 1 vào startNumber, sau đó startNumber mang giá trị 2.
Nếu startNumber mang giá trị 2, VB có thể dừng vòng lặp lại được chưa? Chưa thể bởi vì vòng lặp sẽ kết thúc cho đến khi nhận giá trị 4. Vòng lặp được tiếp tục. Khi startNumber lớn hơn số kết thúc, VB thoát khỏi vòng lặp và thực hiện tiếp các đoạn code đằng sau.
Hãy nhớ rằng tại sao chúng ta lại sử dụng vòng lặp: nó giúp cho việc biên dịch code lặp đi lặp lại.
Để kiểm chứng điều này, hãy sửa đoạn code thành:
Mã: Chọn hết
- Dim startNumber As Integer
-
- For startNumber = 1 To 4
-
- MsgBox("Start Number = " & startNumber)
-
- Next startNumber
-
Chạy chương trình, và nhấn vào button. Có chuyện gì xảy ra? Bạn sẽ thấy có những hộp thoại lần lượt hiện ra với những dòng chữ sau:
Start Number = 1
Start Number = 2
Start Number = 3
Start Number = 4
Mỗi lần thực vòng lặp, một hộp thông báo được thi hành. Bạn sẽ nhấn OK 4 lần - startNumber = 1 to 4
Tóm tắt:
Tổng kết lại ta có:
1. Một vòng lặp For cần một số để bắt đầu và một số kết thúc.
2. Một vòng lặp For cũng cần một lệnh để lấy số tiếp theo trong vòng lặp.
3. Một vòng lặp có đoạn code như sau:
Mã: Chọn hết
- For i = startNumber To endNumber
-
- Next i
Ở đoạn code trên ta sử dụng 2 biến dùng để bắt đầu và để kết thúc vòng lặp. Vòng lặp được bắt đầu với biến i. Khi VB thực hiện lặp, nó sẽ cộng thêm một vào biến i. Bạn có thể hình dung như sau:
Mã: Chọn hết
- Dim startNumber As Integer
- Dim endNumber As Integer
- Dim i As Integer
-
- startNumber = 1
- endNumber = 4
-
- For i = startNumber To endNumber
- Msgbox i
- Next i
Đưa code cho button của bạn và thử chạy nó. Học đoạn code trên bạn sẽ hiểu nó hoạt động thế nào.
Bây giờ việc cộng hơn 1000 số liên tiếp với nhau sẽ không còn là quá khó nữa đúng không
3 - For Each Loop
Vòng lặp For Each giúp bạn có thể liệt kê các giá trị trong một mảng một cách nhanh nhất mà không cần phải viết code nhiều.
Ví dụ:
- Tạo một project mới
- Thêm 1 button lên form
- Thêm 1 Listbox lên form
- Nháy kép chuột lên button gõ đoạn code sau vào:
Mã: Chọn hết
- Dim chuoi(4) As String
- Dim hien as String
- chuoi(0) = "Only Nguyen"
- chuoi(1) = "is"
- chuoi(2) = "my"
- chuoi(3) = "best"
- chuoi(4) = "friend"
- For Each hien in chuoi
- ListBox1.Items.Add(hien)
- Next hien
-
Khảo sát đoạn code trên:
- Đầu tiên ta khai báo mảng chuoi và biến hien.
- Tiếp đến gán các giá trị cho chuoi
- Dùng vòng lặp For Each để gán lần lượt từng giá trị của chuoi vào hien
- Ở giữa vòng lặp là câu lệnh giúp bạn có thể thêm các thành phần vào ListBox1
- Cuối cùng dùng Next để thực hiện tiếp vòng lặp
Dùng For Each bạn sẽ không khó khăn khi liệt kê các giá trị trong mảng nữa đúng không
4 - Do Loop
Cũng giống như vòng lặp For, vòng lặp Do cũng dùng để thực hiện lặp đi lặp lại một đoạn code. Tuy nhiên vòng lặp Do có những đặc tính thuận lợi giúp bạn viết code dễ dàng hơn. Trong vòng lặp Do bạn có thể sử dụng các từ khóa While và Until
Để tìm hiểu kĩ hơn về vòng lặp Do, chúng ta hãy thực hành luôn
Tạo một project mới, thêm 1 button lên form. Nhấn kép chuột lên button và thêm đoạn code sau vào:
Mã: Chọn hết
- Dim number as Integer
-
- number = 1
-
- Do While number < 5
- MsgBox number
- number = number + 1
- Loop
Chạy thử chương trình. Nhấn chuột lên button, bạn sẽ thấy các hộp thoại hiển thị từ 1 tới 4 lần lượt hiện lên.
Hãy xem xét đoạn code trên. Đầu tiên ta khai báo biến number và gán cho number bằng 1. Tiếp đến khai báo vòng lặp Do While number < 5. Hàm MsgBox giúp bạn hiện lên các câu thông báo. Sau đó biến number sẽ được cộng thêm 1 vào. Khi gặp Loop nó lại quay lại Do và kiểm tra điều kiện. Nếu thấy điều kiện đúng là number < 5, vòng lặp sẽ được thực hiện tiếp. Ngược lại nếu điều kiện sai(number = 5 hoặc number > 5) thì vòng lặp sẽ được dừng lại.
Bạn cũng có thể thêm "While ...." xuống phía dưới đằng sau từ "Loop" như sau:
Mã: Chọn hết
- Do
-
- number = number + 1
-
- Loop While number < 5
Đoạn code này khác với đoạn code ở phía trên. Đầu tiên nó biên dịch đoạn code ở sau từ "Do" trước. Tiếp đến kiểm tra điều kiện ở phía dưới. Nếu điều kiện đúng thì tiếp tục lặp, nếu sai thì vòng lặp sẽ dừng lại.
Do ... Until
Một dạng khác của vòng lặp Do - Do .... Until
Hãy sửa đoạn code trên của bạn thành:
Mã: Chọn hết
- Do Until number >= 5
-
- MsgBox number
- number = number + 1
-
- Loop
Đoạn code dùng vòng lặp Do Until sẽ thực hiện như sau:
- Đầu tiên nó kiểm tra điều kiện, nếu thấy điều kiện sai thì bắt đầu thực hiện code phía dưới.
- Lặp lại ban đầu và kiểm tra điều kiện lại
- Sai tiếp tục thực hiện cho đến khi điều kiện đúng thì thôi.
Vòng lặp Do .... Until trái ngược với Do ....While đúng không.
Từ khóa Until cũng có thể cho xuống phía dưới như sau:
Mã: Chọn hết
- Do
-
- MsgBox number
- number = number + 1
-
- Loop Until number >= 5
Đoạn mã ở giữa sẽ được biên dịch trước rồi mới kiểm tra điều kiện bên dưới, nếu điều kiện thì tiếp tục biên dịch lại cho đến khi điều kiện đúng thì ngừng lại.
-
- Thành viên trung thành
- Bài viết: 207
- Ngày tham gia: T.Tư 26/03/2008 6:10 pm
- Đến từ: Quê cha đất tổ
- Been thanked: 4 time
- Liên hệ:
Re: Căn bản đến nâng cao Visual Basic.NET
Tác giả: gatoi_it
Cấp độ bài viết: Bình thường
Tóm tắt: Học về cách debug code trong Visual Basic .NET
1 - Các loại Error
Nếu như bạn viết code mà không được hoàn hảo lắm thì thường xảy ra các error. Trong phần này chúng ta sẽ tìm hiểu các cách để sử lý error trong VB.NET
Trong lập trình có 3 dạng error là: Design-Time, Runtime và Logic error
Một lỗi Design-Time thì cũng như giống lỗi cú pháp. Những lỗi này thường xảy ra khi môi trường phát triển không thể hiểu được code của bạn. Chúng rất dễ xử lí trong VB.NET, bởi vì bạn sẽ thấy những gạch màu xanh vào những chỗ lỗi. Nếu như bạn thử chạy chương trình vào lúc này, bạn sẽ gặp một hội thoại nói với bạn về Build error.
Runtime error khá khó để xử lí. Những lỗi dạng này thường xảy ra khi chương trình được chạy. Chúng cũng xảy ra khi bạn thử chương trình mà nó không hoạt động. Runtime error thường xảy ra nhiều nhất khi lập trình. Để xử lí lỗi này bạn cần phải bẫy lỗi
Logic errors cũng xảy ra khi chương trình chạy. Dạng lỗi này là khi code không thực hiện đúng ý định mà bạn muốn. Một lỗi kinh điểm của dạng này là vòng lặp dạng "Do While x > 10". Nhưng nếu x lại luôn lớn hơn 10 thì vòng lặp sẽ lặp mãi mà không có cách để thoát ra. Logic error thường gây ra chương trình bị sụp đổ.
Các bài tiếp theo bạn sẽ được tìm hiểu cách xử lí các lỗi này
2 - Design Time Error
Hãy nhớ Design Time Error là những lỗi cú pháp. Đó là khi mà VB.NET không thể hiểu những gì mà bạn viết. Nếu bạn không hiểu thì chúng ta hãy xem qua ví dụ sau đây:
- Tạo một Windows project mới
- Thêm một button và một textbox lên form
- Nhấn kép lên button và gõ đoạn code sau vào:
Mã: Chọn hết
- Textbox2.Text = "Debug"
Khi bạn gõ xong đoạn code trên, VB.NET sẽ hiện ra một dấu gạch chân dưới Textbox2:
Nếu bạn đưa chuột qua chữ Textbox2, bạn sẽ thấy một dòng tip màu vàng hiện lên như sau:
Lỗi này xảy ra bởi vì bạn không có một textbox nào gọi là Textbox2. Bạn cũng thấy lỗi: "Not declared" nếu bạn thử gán giá trị cho một biến mà không khai báo biến đó. Ví dụ sửa đoạn code thành:
Mã: Chọn hết
- strText = "Debug"
- TextBox1.Text = strText
Ở đây chúng ta sẽ gặp lỗi ở biến strText. Sau đó ta đưa giá trị của biến vào thuộc tính Text của Textbox1. Tuy nhiên VB.NET không thể tìm thấy biến strText nên sẽ gạch dưới biến strText:
Đưa chuột đến biến strText và bạn sẽ lại thấy chữ "not declared":
Vấn đề này là do bạn chưa khai báo biến strText. Sửa đoạn code thành:
Mã: Chọn hết
- Dim strText As String
-
- strText = "Debug"
- TextBox1.Text = strText
Bây giờ dấu gạch chân sẽ mất đi. Nhưng nếu chúng ta khai báo biến mà sai chỗ, dấu gạch chân lại xuất hiện. Hãy sửa đoạn code thành:
Mã: Chọn hết
- strText = "Debug"
- TextBox1.Text = strText
-
- Dim strText As String
Những dấu gạch chân sẽ lại xuất hiện. Đó là bởi vì việc khai báo ở dòng thứ 3. Khi VB.NET gặp hai dòng đầu, nó sẽ không thấy biến strText ở đâu.
Nếu bạn thấy cửa sổ Task List được mở, bạn sẽ thấy một báo cáo về error của bạn(nếu không thấy cửa sổ Task List, từ menu bar bạn vào View > Other Windows > Task List hoặc nhấn tổ hợp phím Ctrl+Alt+K)
Mô tả của error là:"Local variable 'strText' cannot be referred to before it is declared". Nếu như bạn nháy kép chuột vào vào biểu tượng bên trái, VB.NET sẽ đánh dấu sáng các error trên code của bạn.
Di chuyển tới dòng "Dim … " và giữ chuột kéo nó lên trên, Task List sẽ trống.
3 - Runtime error
Runtime error khó sửa lỗi hơn rất nhiều Design Time Error . Các lỗi dạng này thường xảy ra khi chương trình đang được chạy. Runtime Error là một lí do làm cho chương trình của bạn bị sụp đổ. Một lỗi đơn giản nhất là chia cho 0. Sửa code cho button và chạy thử nó:
Mã: Chọn hết
- Dim Num1 As Integer
- Dim Num2 As Integer
-
- Num1 = 10
- Num2 = 0
-
- TextBox1.Text = CInt(Num1 / Num2)
Hàm CInt giúp bạn chuyển thành một số nguyên. Khi chạy chương trình, nhấn vào button bạn gặp một hội thoại error
Nhấn vào nút Break, chương trình của bạn sẽ ngừng lại.
Khi bạn chia cho 0, VB.NET sẽ đưa thông báo lỗi Overflow - không thể nào chia giá trị một số cho 0 vào biến dạng Integer. Nếu bạn chuyển dạng của biến thành Single hay Double, bạn cũng gặp hộp thoại error như trên.
Một ví dụ khác của dạng lỗi này sẽ được thể hiện qua ví dụ sau:
Từ control toolbox, thêm một RichTextBox lên form. Thay đổi thuộc tính Name của RichTextBox1 thành rt1. Một RichTextBox cũng giống một Textbox bình thường nhưng nó nhiều tính năng hơn. Một trong những đặc điểm nổi bật của nó là có thể load một file. Sửa đoạn code trên button thành:
Mã: Chọn hết
- rt1.LoadFile("C:\test10.txt", RichTextBoxStreamType.PlainText)
Dòng trên sẽ Load một file Text tên là "test10.txt" vào trong RichTextBox và dạng file này là PlainText.
Chạy chương trình, nhấn vào button. Nếu như không có file nào tên là "test10.txt" trong ổ C, bạn sẽ gặp hộp thoại báo lỗi:
Thông tin của hộp thoại báo lỗi rất có ích vào lúc này. Nó nói rằng file "C:\test10.txt" không tồn tại. Nếu lỗi này xảy ra trong một chương trình bình thường, chương trình sẽ bị tắt . Bạn không muốn chương trình của mình lại như thế phải không? Chúng ta hãy tiếp tục học về cách xử lí lỗi.
4 - Try … Catch
VB.NET có một class dựng sẵn để xử lí error. Class này gọi là Exception. Khi có một exception error, một Exception object được tạo ra. Cấu trúc của code Exception mà VB.NET sử dụng gọi là cấu trúc Try....Catch
Trong phần code cho button, gõ từ Try và nhấn Enter. VB.NET sẽ giúp bạn hoàn thành cấu trúc cho bạn:
Mã: Chọn hết
- Try
-
- Catch ex As Exception
-
- End Try
Từ khóa Try có nghĩa là "Thử thi hành đoạn code này". Từ Catch có nghĩa là: "Bắt các lỗi ở đây". ex là một biến, và dạng của biến này là Exception object.
Hãy đưa dòng code của bạn vào trong phần Try:
Mã: Chọn hết
- Try
-
- rt1.LoadFile("C:\test10.txt", RichTextBoxStreamType.PlainText)
-
- Catch ex As Exception
-
- End Try
Khi bạn chạy chương trình, VB sẽ Thử thi hành đoạn code trong phần Try. Nếu không có vấn đề gì, nó sẽ bỏ qua phần Catch. Tuy nhiên nếu có lỗi xảy ra, VB.NET sẽ nhảy đến phần Catch. Thêm dòng sau vào phần Catch:
Mã: Chọn hết
- MsgBox(ex.Message)
Code của bạn bây giờ sẽ như sau:
Bởi vì ex là một biến object, bây giờ nó có những thuộc tính và phương thức. Một trong số đó là thuộc tính Message. Chạy chương trình và thử nhấn vào button. Bạn sẽ thấy hộp thoại hiện lên:
Nếu như bạn cần biết dạng của error mà chương trình gặp phải, bạn có thể lấy lấy dạng của nó từ hộp thoại Error. VD:
Dòng đầu tiên nói cho chúng ta Type của Exception:
Ở phần trước, bạn có thể bắt mọi lỗi bằng câu lệnh:
Mã: Chọn hết
- Catch ex As Exception
Nhưng nếu bạn biết một lỗi "file not found" ở đâu, bạn có thể thêm vào phần Catch, thay cho Exception:
Mã: Chọn hết
- Catch ex As System.IO.FileNotFoundException
Bạn có thể có nhiều lệnh để bắt lỗi. Đây là đoạn code bắt các lỗi có thể xảy ra:
Mã: Chọn hết
- Try
-
- rt1.LoadFile("C:\test10.txt", RichTextBoxStreamType.PlainText)
-
- Catch ex As System.IO.FileNotFoundException
-
- MsgBox(ex.Message)
-
- Catch ex As Exception
-
- MsgBox(ex.Message)
-
- End Try
Phần cuối của phương thức Try...Catch mà VB.NET không thêm cho bạn: Finally
Mã: Chọn hết
- Try
-
- Catch ex As Exception
-
- Finally
-
- End Try
Phần Finally luôn được biên dịch, cho dù một lỗi có xảy ra hay không. Ví dụ, bạn có thể mở một file ở đằng trước phát biểu Try...Catch. Nếu có một lỗi xảy ra, file vẫn được mở. Nếu có lỗi xảy ra hay không thì vẫn cần phải đóng file đó lại. Bạn có thể sử dụng trong phần Finally
5 - Logic Error
Phần thứ 3 của các dạng error là Logic error. Rất phức tạp để xử lí lỗi dạng này. Khi gặp lỗi dạng này hãy nhớ: "Sao không thế này mà lại là thế kia! "
Hãy thêm một button lên form, và đưa đoạn code sau vào:
Mã: Chọn hết
- Dim x As Integer
- Dim y As Integer
- Dim answer As Integer
-
- x = 10.5
- y = 3
- answer = x * y
- TextBox1.Text = answer
Chạy thử chương trình, nhấn chuột lên button. Câu trả lời là thế nào:
Bạn có thể nghĩ 10.5 * 3 = 31.5 nhưng khi thấy chương trình sẽ hiện lên kết quá là 30
Đây là một logic error: khi bạn thấy kết quả không như mình muốn. Vấn đề ở đây, nếu bạn để ý dạng của biến, thì kết quả có phần thập phân nên biến dạng integer sẽ không thể chứa số dạng này.
Để giải quyết lỗi này hãy thay dạng của các biến thành Single hoặc Double, như vậy kết quá sẽ đúng.
6 - Công cụ Breakpoints và Debugging
Breakpoints
Một breakpoint là một phần chú thích để cho VB.NET dừng chương trình lại ở chỗ đã đánh dấu đó. Bạn thêm một breakpoint vào dòng code bằng cách nhấn vào khung bên trái. Một hình tròn màu nâu sẽ xuất hiện, dòng đó sẽ được ngắt. Xem 2 hình sau để biết rõ hơn:
Khi bạn nhấn vào khung bên trái, một hình tròn màu nâu sẽ xuất hiện:
Khi bạn chạy chương trình, lúc thi hành đoạn code được đánh dấu thì VB sẽ quay trở lại cửa sổ code và đánh dầu màu vàng dòng code đang được thực hiện:
Để tiếp tục kiểm tra code, nhấn F10 .
Dòng code tiếp theo sẽ được đánh dấu:
Khi bạn đưa chuột vào dòng code lúc chương trình được thi hành, một dòng tip sẽ xuất hiện cho biết các thông số của nó:
Khi chương trình đang ở chế độ Debug, nhấn Debug > Windows > Locals từ menu. Bạn sẽ thấy khung bên trái của màn hình:
Đây là các thông số của các biến và các phần khác khi chương trình được chạy giúp bạn chữa lỗi dễ dàng hơn
-
- Thành viên trung thành
- Bài viết: 207
- Ngày tham gia: T.Tư 26/03/2008 6:10 pm
- Đến từ: Quê cha đất tổ
- Been thanked: 4 time
- Liên hệ:
Re: Căn bản đến nâng cao Visual Basic.NET
Tác giả: gatoi_it
Cấp độ bài viết: Bình thường
Tóm tắt: Tìm hiểu về các thao tác với string trong Visual Basic .NET
1 - Phương thức Upper
Chúng ta hãy tạo một project mới. Thêm 2 textbox và 1 button lên form.
Chuyển thuộc tính Text của Textbox1 thành “string variables”.
Nhấn kép chuột lên Button để mớ cửa sổ code và gõ đoạn code sau cho button
Mã: Chọn hết
- Dim strUpper As String
-
- strUpper = TextBox1.Text
- TextBox2.Text = strUpper.ToUpper( )
Chạy chương trình và nhấn chuột vào Button. Bạn sẽ thấy chữ bên trong Textbox1 được chuyển thành chữ hoa vào Textbox2
Lý do nó được chuyển đổi bởi vì ta đã sử dụng phương thức ToUpper cho biến String. Khi bạn gõ xong tên của biến dạng string bạn sẽ thấy một danh sách hiện ra. Đó là danh sách các phương thức để xử lí cho String. Bạn hãy nhấn kép vào phương thức mà bạn muốn. Trong danh sách này có các tên phương thức rất dễ đoán nếu bạn biết Tiếng anh(như ToLower), nhưng có những phương thức rất khó hiểu(như Substring).
Chúng ta sẽ tiếp tục học tiếp các phương thức trong phần tiếp theo.
2 - Phương thức Trim
Phương thức Trim sẽ giúp bạn cắt bỏ các khoảng trống ở bên trái và bên phải của giá trị trong biến String. Giả sử có string là " gatoi " thì sau khi dùng phương thức Trim sẽ trả về là "gatoi"
Hãy mở lại project trong phần trên. Thay đổi thuộc tính Text của Textbox1 thành " gatoi " và sửa đoạn code của button thành như sau:
Mã: Chọn hết
- Dim strTrim As String
-
- strTrim = TextBox1.Text
- TextBox2.Text = strTrim.Trim( )
Khi bạn chạy chương trình, nhấn vào button thì bạn sẽ được trả về giá trị của strTrim được cắt bỏ khoảng trống trên TextBox2
3 - Char và Chars
Char
Char là một kiểu biến. Nó có thể chứa được một kí tự vào một lần. Bạn có thể khai báo nó như sau:
Mã: Chọn hết
- Dim OneCharacter As Char
Đưa giá trị cho nó như sau:
Mã: Chọn hết
- OneCharacter = "A"
Hoặc như sau:
Mã: Chọn hết
- Dim OneCharacter As Char = "a"
Khi bạn đưa cả một dãy kí tự vào biến Char thì nó sẽ nhận kí tự đầu tiên của chuỗi vào biến. VD:
Mã: Chọn hết
- Dim OneCharacter As Char = "apple"
Khai báo như vậy thì OneCharacter sẽ chỉ nhận kí tự a cho biến
Chars
Chars là một phương thức của String giúp bạn có thể lấy 1 kí tự trong string. Nó khác với Char, vì Char là một kiểu biến, còn Chars là một phương thức bạn có thể dùng với String.
Chars làm việc như sau:
OneCharacter = FirstName.Chars(i)
Ở trong giữa 2 dấu ngoặc đơn, bạn cần một số. Con số này sẽ chỉ vị trí của kí tự trong string mà bạn muốn lấy. Ví dụ:
Mã: Chọn hết
- Dim SomeString As String
- Dim OneCharacter As Char
-
- SomeString = "gatoi"
- OneCharacter = SomeString.Chars(2)
Biến OneCharacter sẽ nhận giá trị là kí tự thứ 3 của SomeString - "t"
Chú ý là VB.NET luôn bắt đầu bằng kí tự 0 lên khi khai báo là 2 thì sẽ là 3
4 - Phương thức InStr()
Phương thức InStr( ) của biến String giúp bạn tìm kiếm một chuỗi bên trong một chuỗi . Ví dụ nếu ta có string là "gatoi.it@gmail.com" và bạn muốn biết xem nó có chứa kí tự @ hay không, bạn có thể sử dụng phương thức InStr(). Đoạn code như sau:
Mã: Chọn hết
- FirstString = "gatoi.it@gmail.com"
- SecondString = "@"
-
- position = InStr(FirstString, SecondString)
Biến FirstString là biến mà ta muốn tìm kiếm, SecondString là chuỗi mà ta cần tìm. Bạn cũng có thể thêm kí tự bắt đầu để tìm kiếm. Nếu bạn không thêm thì mặc định sẽ là từ đầu tiên:
Mã: Chọn hết
- position = InStr(1, FirstString, SecondString)
Trong đoạn mã trên sẽ bắt đầu tìm tự kí tự số 1.
(Chú ý: Phương thức InStr() bắt đầu từ 1, không phải từ 0 giống Chars() )
Nếu như chuỗi mà bạn tìm kiếm không có, giá trị trả về sẽ được chứa bên trong một biến integer (trong vd thì position là biến integer) là 0. Đoạn code sẽ như sau:
Mã: Chọn hết
- If position = 0 Then
-
- MsgBox "Not a Valid email address: There was No @ Sign"
-
- End If
Ngược lại nếu có chứa chuỗi đó thì sẽ trả về giá trị lớn hơn 0
5 - Phương thức Substring()
Một phương thức tiện dụng khác là Substring. Nó sẽ giúp bạn tách một chuỗi con trong một string.(ví dụ nếu ta muốn tách phần ".com" từ địa chỉ email "gatoi.it@gmail.com"
Trong khoảng giữa 2 dấu ngoặc của Substring( ), bạn cần điền vị trí bắt đầu và số kí tự mà bạn muốn tách. VD:
Mã: Chọn hết
- Dim Email as String
- Dim DotCom as String
-
- Email = "gatoi.it@gmail.com"
- DotCom = Email.Substring(14, 4)
-
- MsgBox(DotCom)
Một hộp thoại sẽ hiện ra để hiển thị chuỗi đã tách từ string. Trong trường hợp này là ".com" ở đoạn cuối ( bắt đầu ở kí tự 14 và chứa 4 kí tự)
6 - Phương thức Length()
Phương thức Length() sẽ giúp bạn xác định số kí tự chứa trong một string. Ví dụ:
Mã: Chọn hết
- Dim Email As String
- Dim length As Integer
- Email = "gatoi.it@gmail.com"
- length = Email.Length
-
- MsgBox(length)
Đoạn code trên sẽ hiện lên với giá trị là 18(vì email gồm 18 kí tự)
Qua phương thức Substring() đã tìm hiểu ở phần trên ta phải tự tìm kí tự bắt đầu để tách phần ".com". Ta có thể áp dụng phương thức Length() để đơn giản hóa công việc như sau:
Mã: Chọn hết
- Dim Email As String
- Dim DotCom As String
-
- Email = "gatoi.it@gmail.com"
- DotCom = Email.Substring(Email.Length - 4, 4)
Bạn thấy không cần đếm số ký tự mà ta cũng tách được phần ".com" đơn giản hơn không
7 - Phương thức Equals()
Để so sánh kí tự có bằng với kí tự nào đó hay không bạn có thể viết code như sau:
Mã: Chọn hết
- If DotCom = ".com" Then
- MsgBox("Ends in Dot Com")
- Else
- MsgBox("Doesn't End in Dot Com")
- End If
Ngoài ra bạn cũng có thể sử dụng phương thức Equals() để so sánh kí tự như sau:
Mã: Chọn hết
- If DotCom.Equals(".com") Then
Nếu bằng thì DotCom.Equals(".com") trả về True còn không trả về False.
8 - Phương thức Replace()
Bạn có thể thay thế một chữ nào đó bằng chữ khác bằng phương thức này. Hãy xem ví dụ qua đoạn code sau:
Mã: Chọn hết
- Dim OldText As String
- Dim NewText As String
-
- OldText = "This is some test"
- NewText = OldText.Replace("test", "text")
-
- MsgBox(OldText)
- MsgBox(NewText)
Khi bạn thi hành đoạn code trên thì đầu tiên sẽ hiện lên dòng chữ "This is some test" tiếp đến sẽ hiện lên "This is some text"
Hàm Replace đã giúp bạn thay đổi chuỗi "test" thành "text"
Hãy nhớ rằng thông số đầu tiên là kí tự cần thay, thông số thứ hai là kí tự sẽ thay thế
9 - Phương thức Insert()
Bạn cũng có thể chèn thêm một chuỗi vào chuỗi hiện tại. Hãy thử đoạn code sau:
Mã: Chọn hết
- Dim SomeText As String
- Dim NewText As String
-
- SomeText = "This some text"
- NewText = SomeText.Insert(5, "is ")
-
- MsgBox(SomeText)
- MsgBox(NewText)
Số 5 ở bên trong dấu ngoặc ở phương thức Insert có nghĩa là sẽ chèn vào vị trí thứ 5 (nhớ rằng bắt đầu từ 0) và sau đó là chuỗi muốn chèn vào.
10 - Phương thức Split()
Giả sử bạn có một string như sau:
Vấn đề ở đây là ta muốn tách từng phần của chuỗi này ra một mảng. Ta có thể sử dụng hàm Split().
Đoạn code ví dụ:
Mã: Chọn hết
- Dim LineOfText As String
- Dim i As Integer
- Dim aryTextFile() As String
-
- LineOfText = "UserName1, Password1, UserName2, Password2"
-
- aryTextFile = LineOfText.Split(",")
-
- For i = 0 To UBound(aryTextFile)
- MsgBox(aryTextFile(i))
- Next i
Ở đoạn code này, mảng aryTextFile() được khai báo sẽ giúp bạn chứa các phần của chuỗi LineOfText. Bến trong thông số Split là kí tự để xác định phần cần tách. Sau hàm này thì aryTextFile() sẽ được lưu giữ từng phần lần lượt vào aryTextFile(0) = "UserName1" ; aryTextFile(1) = "Password1" ....
Phần cuối ta dùng vòng lặp For để hiện từng kết quá. Hàm UBound() sẽ giúp bạn xác định số cuối cùng của mảng.
11 - Phương thức Join()
Phương thức Join() sẽ giúp bạn kết nối các giá trị của mảng thành một string duy nhất. Đoạn code sau sẽ giúp bạn hiểu hơn:
Mã: Chọn hết
- Dim LineOfText As String
- Dim i As Integer
- Dim aryTextFile(3) As String
-
- aryTextFile(0) = "UserName1"
- aryTextFile(1) = "Password1"
- aryTextFile(2) = "UserName2"
- aryTextFile(3) = "Password2"
-
- LineOfText = LineOfText.Join("-", aryTextFile)
-
- MsgBox(LineOfText)
Hãy chú ý đến dòng mã:
Mã: Chọn hết
- LineOfText = LineOfText.Join("-", aryTextFile)
Thông số đầu tiên ở bên trong dấu ngoặc là kí tự mà bạn muốn kết nối chúng lại với nhau. Tiếp đến là mảng mà ta muốn kết nối. Khi bạn thi hành, Biến LineOfText sẽ chứa giá trị sau:
Khi các mảng được nối lại, bạn có thể ghi nó ra 1 file text. Chúng ta sẽ tìm hiểu trong bài sau
-
- Thành viên trung thành
- Bài viết: 207
- Ngày tham gia: T.Tư 26/03/2008 6:10 pm
- Đến từ: Quê cha đất tổ
- Been thanked: 4 time
- Liên hệ:
Re: Căn bản đến nâng cao Visual Basic.NET
Tác giả: gatoi_it
Cấp độ bài viết: Bình thường
Tóm tắt: Tìm hiểu về các thao tác với file và xuất nhập file trong Visual Basic .NET
1 - Text file
Các file trong máy tính thường được kết thúc bởi 3 kí tự ở cuối. VD như file của Word sẽ có phần 3 kí tự đuổi khác với file của Excel.
Có một object rất tiện dụng trong VB.NET là System.IO (IO là viết tắt của Input và Output). Bạn có thể sử dụng object này để thực hiện việc đọc và ghi file text.
Phần mở rộng được sử dụng để nhận biết dạng file. Text file có phần mở rộng là .txt. Hệ điều hành Windows có sẵn một phần mềm giúp soạn Text file rất tốt - Notepad. Notepad sẽ giúp bạn soạn các file Text và ghi nó có phần mở rộng là .txt. Bạn có thể mở Notepad bằng cách vào start > All Programs > Accessories > Notepad hoặc vào start > Run gõ notepad và nhấn Enter
2 - Open Text file
Để mở một file text, bạn cần tạo một thứ gọi là "StreamReader". Đúng như tên gọi của nó là để đọc file. StreamReader là một object trong System.IO.
Để bắt đầu thực hành hãy mở Notepad. Soạn một file text có nội dung như sau:
This
is
a
text file
Save nó vào C:\test.txt
Mở VB.NET và tạo một project mới. Thêm một textbox và một button lên form, đặt thuộc tính Multiline = True
Tiếp đến viết code cho button như sau:
Mã: Chọn hết
- Dim FILE_NAME As String = "C:\test.txt"
-
- Dim objReader As New System.IO.StreamReader(FILE_NAME)
- TextBox1.Text = objReader.ReadToEnd
-
- objReader.Close()
Ở dòng đầu tiên chúng ta khai báo biến FILE_NAME để chứa tên của file text mà chúng ta sẽ đọc. Ở đây là "C:\test.txt"
Tiếp theo ta tạo một object mới cho biến objReader. Từ New sẽ giúp bạn "Tạo một object mới". Dạng của object này là StreamReader :
Mã: Chọn hết
- System.IO.StreamReader
System là object chính. IO là một object bên trong System. Và StreamReader là một object chứa bên trong IO
StreamReader cần một tên file để Read. Nó được chứa bên trong 2 dấu ngoặc. Ở đây là biến FILE_NAME
Dòng lệnh tiếp theo là sẽ giúp bạn đọc hết file text. Bây giờ thì objReader là một biến object. Nó đã chứa các thuộc tính mà phương thức để sử dụng
Phương thức ReadToEnd sẽ giúp bạn đọc đến hết file. Cả câu lệnh này là đọc file và ghi và Textbox1.
Dòng lệnh cuối cùng là đóng StreamReader lại. Chúng ta cần đóng nó lại sau khi đã sử dụng xong nó, nếu không rất có thể sẽ gặp lỗi.
3 - File có tồn tại hay không
Bạn có thể kiểm tra xem file có tồn tại hay không. Nếu có ta có thể mở nó ra còn nếu không thì ta sẽ cho hiện lên một hộp thoại error. Code sẽ như sau:
Mã: Chọn hết
- Dim FILE_NAME As String = "C:\test.txt"
-
- If System.IO.File.Exists(FILE_NAME) = True Then
- Dim objReader As New System.IO.StreamReader(FILE_NAME)
- TextBox1.Text = objReader.ReadToEnd
- objReader.Close()
- Else
- MsgBox("File Does Not Exist")
- End If
Trong dòng đầu của phát biểu If ... Then là System.IO.File.Exists(FILE_NAME) = True . Nó bắt đầu với System.IO và tiếp tục với một object là File. Trong đó có phương thức Exits. Nó giúp bạn kiểm tra tính tồn tại của file. Trong dấu ngoặc của Exits là tên file để kiểm tra việc tồn tại. Nếu có tồn tại nó sẽ trả về True còn không thì trả về False.
4 - Đọc file Text từng dòng
Trong phần trên chúng ta đã được học về cách đọc cả file text. Nhưng bạn muốn đọc lần lượt từng dòng một trong file text. Bạn có thể sử dụng phương thức ReadLine()
Đúng như tên gọi của nó phương thức ReadLine() sẽ đọc từng dòng một trong mỗi lần gọi phương thức này ra. Vì vậy nếu dụng phương thức này mà ta cần đọc hết cả file text ta cần dùng một vòng lặp. Mỗi lần lặp là một dòng cho đến khi nào shết file text thì thôi. Code ví dụ như sau:
Mã: Chọn hết
- Dim TextLine As String
-
- Do While objReader.Peek() <> -1
- TextLine = TextLine & objReader.ReadLine() & vbNewLine
- Loop
Trong đoạn code trên điều kiện để vòng lặp thực hiện là objReader.Peek() <> -1. Phương thức Peek sẽ xem xét từng dòng. Nếu nó không thể tìm thấy bất kì các kí tự nào ở trong các dòng tiếp theo thì nó sẽ trả về giá trị là -1 . Đến lúc này file text đã hết và sẽ ngừng vòng lặp
Trong vòng lặp có câu lệnh để gán vào biến TextLine nội dung của file text. Phương thức ReadLine() để đọc từng dòng một. Sau mỗi dòng chúng ta sẽ xuống dòng bằng hằng vbNewLine.
Sau đây là đoạn code hoàn chỉnh. Hãy đưa nó vào một button:
Mã: Chọn hết
- Dim FILE_NAME As String = "C:\test.txt"
- Dim TextLine As String
-
- If System.IO.File.Exists(FILE_NAME) = True Then
-
- Dim objReader As New System.IO.StreamReader(FILE_NAME)
-
- Do While objReader.Peek() <> -1
- TextLine = TextLine & objReader.ReadLine() & vbNewLine
- Loop
-
- Textbox1.Text = TextLine
-
- Else
-
- MsgBox("File Does Not Exist")
-
- End If
Sau khi đã gán cả file text vào biến TextLine ta đưa nội dung của biến vào Textbox1.
5 - Ghi file Text
Ghi nội dung vào file text cũng tương tự như cách đọc file text. Chúng ta vẫn sẽ dùng System.IO nhưng lúc này là StreamWriter. StreamWriter được sử dụng để ghi file text.
Thêm một Button lên form, thay đổi thuộc tính Text thành "Write to File". Nhấn kép chuột lên button đó và viết code như sau:
Mã: Chọn hết
- Dim FILE_NAME As String = "C:\test.txt"
-
- If System.IO.File.Exists(FILE_NAME) = True Then
- Dim objWriter As New System.IO.StreamWriter(FILE_NAME)
- objWriter.Write(TextBox1.Text)
- objWriter.Close()
- MsgBox("Text written to file")
- Else
- MsgBox("File Does Not Exist")
- End If
Chạy chương trình, gõ một số kí tự vào Textbox và nhấn chuột lên button. Bạn sẽ thấy một hộp thoại có dòng chữ "Text written to file" hiện ra.
Khảo sát đoạn mã trên:
- Đấu tiên ta kiểm tra sự tồn tại của file
- Nếu đúng ta sẽ khởi tạo biến objWriter:
Mã: Chọn hết
- Dim objWriter As New System.IO.StreamWriter(FILE_NAME)
Trong dòng mã trên biến objWriter được sử dụng với object StreamWriter.
- Để viết nội dung vào file text, ta viết:
Mã: Chọn hết
- objWriter.Write(TextBox1.Text)
Sau tên biến (objWriter) ta dùng phương thức Write để ghi nội dung. Trong 2 dấu ngoặc của phương thức Write là nội dung mà ta muốn ghi. Bạn cũng có thể thay nội dung của Textbox1 thành các nội dung khác. VD:
Mã: Chọn hết
- objWriter.Write("I'm gatoi_it")
Nhưng bạn không muốn ghi toàn bộ nội dung vào file text như trên . Bạn cũng có thể ghi từng dòng một. Trong trường hợp này ta sẽ sử dụng phương thức WriteLine . Ví dụ sau sẽ giúp bạn hiểu rõ hơn về phương thức WriteLine:
Mã: Chọn hết
- Dim FILE_NAME As String = "C:\test.txt"
- Dim i As Integer
- Dim aryText(4) As String
- Dim text As String
- aryText(0) = "This"
- aryText(1) = "is"
- aryText(2) = "a"
- aryText(3) = "text"
- aryText(4) = "file"
-
- Dim objWriter As New System.IO.StreamWriter(FILE_NAME)
-
- For Each text In aryText
- objWriter.WriteLine(text)
- Next
-
- objWriter.Close()
Chúng ta sử dụng vòng lặp để ghi các mảng vào file text bằng phương thức WriteLine. Tuy nhiên bạn lại muốn nối tiếp nội dung của file cũ bằng nội dung của các mảng trên Chúng ta sẽ học ở phần tiếp theo.
6 - Append Text
Lúc này chúng ta không ghi đè lên nội dung file mà chúng ta sẽ nối nội dung vào file. Trong trường hợp này ta sẽ sử dụng phương thức Append.
Nếu chúng ta muốn nối tiếp(append) text vào file, bạn gõ dấu phẩy đằng sau tên file và gõ True:
Mã: Chọn hết
- Dim objWriter As New System.IO.StreamWriter(FILE_NAME, True)
Đoạn code hoàn chỉnh như sau:
Mã: Chọn hết
- Dim FILE_NAME As String = "C:\test.txt"
- Dim i As Integer
- Dim aryText(4) As String
- Dim text As String
- aryText(0) = "This"
- aryText(1) = "is"
- aryText(2) = "a"
- aryText(3) = "text"
- aryText(4) = "file"
-
- Dim objWriter As New System.IO.StreamWriter(FILE_NAME,True)
-
- For Each text In aryText
- objWriter.WriteLine(text)
- Next
-
- objWriter.Close()
- MsgBox("Text Appended to the File")
Khi bạn thi hành đoạn code trên, nội dung sẽ được nối tiếp chứ không bị ghi đè.
7 - Tạo file Text mới
Nếu bạn muốn tạo một file text trong trường hợp mà nó không tồn tại, quá trình tạo ra cũng rất đơn giản:
Mã: Chọn hết
- Dim objWriter As New System.IO.StreamWriter(FILE_NAME, False)
Ở đây ta thêm False đằng sau FILE_NAME. Một file text mới sẽ được tạo ra
8 - Copy File
Bạn cũng có thể thực hiện việc copy một file. Lúc này ta dùng đến lớp System.IO mà sẽ dùng File:
File có những thuộc tính và phương thức mà ta có thể sử dụng. Trong số đó có Copy. Đây là đoạn code giúp thực hiện việc copy một file:
Mã: Chọn hết
File mà ta muốn copy là "C:\test.txt". Ta đưa nó vào trong biến FileToCopy. Tên file mà ta muốn tạo ra và vị trí của nó được lưu vào biến NewCopy.
Tiếp đến ta kiểm tra xem file cần copy có tồn tại hay không. Nếu có ta sẽ thực hiện lệnh copy:
Chúng ta sử dụng phương thức Copy thuộc lớp System.IO. Trong 2 dấu ngoặc đơn, đầu tiên ta viết tên file muốn copy và đằng sau dấu phẩy là vị trí và tên file đích.
9 - Move File
Bạn muốn di chuyển một file sang vị trí khác Ta sẽ sử dụng phương thức Move của System.IO.File. Code như sau:
Mã: Chọn hết
Dòng thứ 2 yêu cầu bạn cần có một folder "TestFolder" trong ổ C:
Mã: Chọn hết
- MoveLocation = "C:\TestFolder\test.txt"
File test.txt sẽ được di chuyển vào vị trí mới. Bạn có thể đặt tên mới cho file nếu muốn. Trong trường hợp này ta sẽ đổi tên file khi di chuyển nó như sau:
Mã: Chọn hết
- MoveLocation = "C:\TestFolder\NewName.txt"
Hãy nhớ bên trong dấu ngoặc của phương thức Move đầu tiên là file nguồn, sau đó là file đích:
10 - Delete File
Để xóa một file cũng rất đơn giản - nhưng nguy hiểm . Hãy cẩn thận khi thử code. Hãy tạo ra những file khác để thử delete vì nếu xóa sẽ không thể phục hồi từ recycle bin
Để xóa một file trong máy tính, ta sử dụng phương thức Delete của System.IO. Hãy tạo file "testDelete.txt" trong ổ C bằng notepad và gõ đoạn code sau:
Mã: Chọn hết
Đấu tiên ta khai bào biến tên là FileToDelete để chứa tên file cần xoá: "C:\testDelete.txt".
Tiếp đến kiểm tra xem file có tồn tại không. Trong phát biểu IF ta có:
Sau phương thức Delete bạn gõ tên file muốn xóa trong 2 dấu ngoặc.
Trên đây là tất cả những việc để xóa một file khỏi máy tính. Hãy thật cẩn thận khi thử đoạn code này
-
- Bài viết: 1
- Ngày tham gia: CN 11/05/2008 2:41 am
Re: Căn bản đến nâng cao Visual Basic.NET
Re: Căn bản đến nâng cao Visual Basic.NET
-
- Thành viên trung thành
- Bài viết: 207
- Ngày tham gia: T.Tư 26/03/2008 6:10 pm
- Đến từ: Quê cha đất tổ
- Been thanked: 4 time
- Liên hệ:
Re: Căn bản đến nâng cao Visual Basic.NET
nth4 đã viết:bạn cho mình hiểu về withevents đi, mình ko hiểu về cái này
WithEvents là thuộc phần lập trình các Events cho Object.
Để hiểu nó hãy xem vd sau:
Tạo 1 project mới, thêm 1 class và viết code cho nó:
Mã: Chọn hết
- Public Class Class1
- Public Event TheEvent()
-
- Public Sub Work()
- RaiseEvent TheEvent()
- End Sub
- End Class
Thêm 1 button lên form và viết code cho form:
Mã: Chọn hết
-
- Public Class Form1
- Dim WithEvents obj As New Class1
-
- Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
- obj.Work()
- End Sub
-
- Private Sub obj_TheEvent() Handles obj.TheEvent
- MsgBox("Xu li event tu class")
- End Sub
- End Class
Đầu tiên ta khai báo đối tượng obj bằng WithEvents để nó kế thừa các Event từ trong Class 1.
Sub obj_TheEvent để xử lí cho Event từ class. Ở đây là xử lí TheEvent.
Re: Căn bản đến nâng cao Visual Basic.NET
Re: Căn bản đến nâng cao Visual Basic.NET
thanks
- anhtuyenbk
- Guru
- Bài viết: 1311
- Ngày tham gia: T.Năm 22/09/2005 4:12 pm
- Đến từ: Một nơi chừa từng biết, chưa từng nghe, chưa từng thấy
- Been thanked: 38 time
Re: Căn bản đến nâng cao Visual Basic.NET
bạn có thể tham khảo 2 link sau
viewtopic.php?f=15&t=2104
viewtopic.php?f=15&t=2078
https://www.facebook.com/pinduphongpisenchinhhang
Quay về “[.NET] Bài viết hướng dẫn”
Đang trực tuyến
Đang xem chuyên mục này: Không có thành viên nào trực tuyến. và 1 khách

markdown:
**Tên bài viết:**Căn bản đến nâng cao Visual Basic.NET **Tác giả:** [gatoi_it và onlysoft](memberlist.php?mode=viewprofile&un=gatoi_it và onlysoft) **Cấp độ bài viết:**Căn bản đến Nâng cao **Tóm tắt:**gatoi_it sẻ hướng dẫn phần căn bản còn ![Worried :-S](./images/smilies/017.gif)
Yêu cầu :
- Các bạn sẻ không reply ở topic này vì để cho nó được trình bày đẹp
![Crying :((](./images/smilies/020.gif)
- Nếu có gì thắc mắc hay góp ý cho topic này thì hãy nhắn tin cho hai chúng tôi
![Cười nhăn răng :D](./images/smilies/004.gif)
Bây giờ hãy bắt đầu với bài hướng dẫn của gatoi_it
![hee hee ;))](./images/smilies/071.gif)

Cache-Control: private, no-cache="set-cookie"

Set-Cookie: vbclub_sid=55fddf1a8dd007b9c93b7be976d546f2; expires=Wed, 25-Jul-2018 10:57:38 GMT; path=/; domain=caulacbovb.com; HttpOnly


text:
éo mẹ lâu rồi ko nghe mà thấy hay thía
Trang 1 trong tổng số 1 trang • Share •
éo mẹ lâu rồi ko nghe mà thấy hay thía
gặp phải tâm trạng mà nghe bài này thì thôi đừng hỏi, ra ngay lập tức ý chứ
LUXIPHE
- Gà Mới Lớn
- Tổng số bài gửi : 55
Join date : 28/12/2009
-
Similar topics
» Đồ nghề cho dân chơi chảo.
» Kênh VOVTV trên vinasat1
» Luận văn tốt nghiệp về truyền hình SDTV, HDTV, 3DTV tuyệt hay đây.
» vệ tinh asiasat 3s (105.5*e)
» Triển khai truyền hình 3D trên công nghệ DVB-T2
» Kênh VOVTV trên vinasat1
» Luận văn tốt nghiệp về truyền hình SDTV, HDTV, 3DTV tuyệt hay đây.
» vệ tinh asiasat 3s (105.5*e)
» Triển khai truyền hình 3D trên công nghệ DVB-T2
Trang 1 trong tổng số 1 trang
Permissions in this forum:Bạn không có quyền trả lời bài viết
Thu Aug 04, 2011 3:29 pm by Khách viếng thăm
» Is this new to you?
Tue Aug 02, 2011 6:49 pm by Khách viếng thăm
» x-Hack hack you
Fri Jul 29, 2011 12:54 pm by Khách viếng thăm
» Microsoft SQL Server 2005
Wed Sep 01, 2010 7:41 pm by Big Sky
» Kho phim HD Full 1080p/HD Phần 2
Tue Aug 24, 2010 2:28 pm by quanho.
» Diễn đàn sinh viên khoa CNTT - Đại học Thái Nguyên
Sun Aug 22, 2010 4:02 pm by svictu.com
» THÔNG BAO MỚI........
Sat Aug 21, 2010 5:44 pm by xuantocdo
» mọi người cùng chơi zing farm nào !!!
Sun Aug 15, 2010 3:15 pm by thanhskit
» Lịch thi lại học kỳ III
Tue Aug 10, 2010 12:34 pm by ☺♥peakunict♥☺

markdown:
[éo mẹ lâu rồi ko nghe mà thấy hay thía](/t391-topic)
Trang
**1**trong tổng số **1**trang • [Share](#)•
[éo mẹ lâu rồi ko nghe mà thấy hay thía](/t391-topic#1076) ![ ](/users/2611/13/35/11/smiles/976358.gif)
[LUXIPHE](/u33)
- Gà Mới Lớn
- Tổng số bài gửi : 55
Join date : 28/12/2009
[Similar topics](javascript:ShowHideLayer('ptrafic_open','ptrafic_close');) ![ -](https://illiweb.com/fa/empty.gif)
![ -](https://illiweb.com/fa/empty.gif)
»
»
»
»
»
[Đồ nghề cho dân chơi chảo.](http://diendanvetinh.forumotion.net/viewtopic?t=836&topic_name)
»
[Kênh VOVTV trên vinasat1](http://diendanvetinh.forumotion.net/viewtopic?t=1081&topic_name)
»
[Luận văn tốt nghiệp về truyền hình SDTV, HDTV, 3DTV tuyệt hay đây.](http://diendanvetinh.forumotion.net/viewtopic?t=995&topic_name)
»
[vệ tinh asiasat 3s (105.5*e)](http://diendanvetinh.forumotion.net/viewtopic?t=3&topic_name)
»
[Triển khai truyền hình 3D trên công nghệ DVB-T2](http://diendanvetinh.forumotion.net/viewtopic?t=1789&topic_name)
Trang
**1**trong tổng số **1**trang
Bạn
**Permissions in this forum:** **không có quyền**trả lời bài viết
» Is this new to you?
» x-Hack hack you
» Microsoft SQL Server 2005
Big Sky
» Kho phim HD Full 1080p/HD Phần 2
» Diễn đàn sinh viên khoa CNTT - Đại học Thái Nguyên
» THÔNG BAO MỚI........
» mọi người cùng chơi zing farm nào !!!
» Lịch thi lại học kỳ III
☺♥peakunict♥☺

WARC-Type: response

Content-Type: application/http; msgtype=response

WARC-Identified-Payload-Type: application/xhtml+xml

X-Content-Type-Options: nosniff

Connection: close

Pragma: no-cache

P3P: CP="IDC DSP COR ADM DEVi TAIi PSA PSD IVAi IVDi CONi HIS OUR IND CNT"

Cache-Control: no-cache

Vary: User-Agent

X-XSS-Protection: 1; mode=block

Content-Type: text/html; charset=utf-8


text:
Tag Archive for ‘thời gian’
Biên chế năm học 2014-2015
Kế hoạch thời gian năm học 2014-2015 của giáo dục mầm non, phổ thông và giáo dục thường thuyên (theo Kế hoạch số 3471/KH-UBND ngày 28/7/2014 của UBND tỉnh) 1.Mầm non Ngày tựu trường 11/8/2014 Bắt đầu học kỳ 1 25/8/2014 Kết thúc học kỳ 1 31/12/2014 Sơ kết học kỳ 1 31/12/2014 Nghỉ […]

markdown:
# Tag Archive for ‘thời gian’
[Biên chế năm học 2014-2015](http://cdgdbentre.edu.vn/2014/08/bien-che-nam-hoc-2014-2015/)
Kế hoạch thời gian năm học 2014-2015 của giáo dục mầm non, phổ thông và giáo dục thường thuyên (theo Kế hoạch số 3471/KH-UBND ngày 28/7/2014 của UBND tỉnh) 1.Mầm non Ngày tựu trường 11/8/2014 Bắt đầu học kỳ 1 25/8/2014 Kết thúc học kỳ 1 31/12/2014 Sơ kết học kỳ 1 31/12/2014 Nghỉ […]

X-Cache: HIT from Backend

Vary: Accept-Encoding

Content-Type: text/html; charset=UTF-8


text:
If this is your first visit, please click the Sign Up now button to begin the process of creating your account so you can begin posting on our forums! The Sign Up
process will only take up about a minute of two of your time.
Nơi đăng tin rao vặt quần áo nữ, váy công sở, đồ ngủ, nội y, thời trang nữ sành điệu, thời trang nữ giá tốt nhất, quần áo công sở...
Use this control to limit the display of threads to those newer than the specified time frame.
Cho phép bạn chọn dữ liệu mà danh sách chủ đề sẽ được sắp xếp.
Hiện chủ đề theo...
Chú ý: khi sắp xếp bởi ngày, 'thứ tự giảm dần' sẽ hiển thị kết quả mới nhất trên cùng.
Nội quy - Quy định
Trong các hoạt động khai trương thì khai trương showroom là việc tương đối đặc biệt. Showroom là nơi để khách hàng đến, tham quan và tìm hiểu về sản phẩm. Nếu hoạt động khai trương showroom được tổ...
Nhật Bản được nghe đến với văn hóa trà đạo mang đậm nét truyền thống Đất nước mặt trời mọc và ít ai biết rằng Đất nước mặt trời mọc còn có một nền đồ ăn vô cùng đặc sắc, nếu du khách làm visa nghĩ...
Thị trường ô tô năm 2018 chưa bao giờ sôi động đến thế khi đồng loại các hãng đều giảm nhiệt những dòng xe được coi như là bán chạy nhất. Thời cơ để tậu ngay cho mình xế mà bạn luôn ao ước bấy lâu...
có rất nhiều đơn vị chuyên cung ứng dịch vụ sửa chữa cửa kính thủy lực tại quận Thanh Xuân. Trong số đó, Việt Phong là cái tên danh tiếng và khá nổi bật trong ngành. đến tới chúng tôi bạn sẽ nhận...
I. KHÁI NIỆM MÁI KÍNH LẤY SÁNG CƯỜNG LỰC ĐẸP, RẺ
– Mái kính cường lực nói chung hay mái kính lấy sáng cường lực là dạng mái che dùng kính cường lực, kính cường lực an toàn (Có thể là kính dán an...
Trong các hoạt động khai trương thì khai trương showroom là việc tương đối đặc biệt. Showroom là nơi để khách hàng đến, tham quan và tìm hiểu về sản phẩm. Nếu hoạt động khai trương showroom được tổ...
Một số chú ý quan trọng để tổ chức event khai trương showroom hoàn hảo

markdown:
If this is your first visit, please click the Sign Up now button to begin the process of creating your account so you can begin posting on our forums! The Sign Up
process will only take up about a minute of two of your time.
Nơi đăng tin rao vặt quần áo nữ, váy công sở, đồ ngủ, nội y, thời trang nữ sành điệu, thời trang nữ giá tốt nhất, quần áo công sở...
Use this control to limit the display of threads to those newer than the specified time frame.
Cho phép bạn chọn dữ liệu mà danh sách chủ đề sẽ được sắp xếp.
Hiện chủ đề theo...
Chú ý: khi sắp xếp bởi ngày, 'thứ tự giảm dần' sẽ hiển thị kết quả mới nhất trên cùng.
Nội quy - Quy định
Trong các hoạt động khai trương thì khai trương showroom là việc tương đối đặc biệt. Showroom là nơi để khách hàng đến, tham quan và tìm hiểu về sản phẩm. Nếu hoạt động khai trương showroom được tổ...
Nhật Bản được nghe đến với văn hóa trà đạo mang đậm nét truyền thống Đất nước mặt trời mọc và ít ai biết rằng Đất nước mặt trời mọc còn có một nền đồ ăn vô cùng đặc sắc, nếu du khách làm visa nghĩ...
Thị trường ô tô năm 2018 chưa bao giờ sôi động đến thế khi đồng loại các hãng đều giảm nhiệt những dòng xe được coi như là bán chạy nhất. Thời cơ để tậu ngay cho mình xế mà bạn luôn ao ước bấy lâu...
có rất nhiều đơn vị chuyên cung ứng dịch vụ sửa chữa cửa kính thủy lực tại quận Thanh Xuân. Trong số đó, Việt Phong là cái tên danh tiếng và khá nổi bật trong ngành. đến tới chúng tôi bạn sẽ nhận...
I. KHÁI NIỆM MÁI KÍNH LẤY SÁNG CƯỜNG LỰC ĐẸP, RẺ
– Mái kính cường lực nói chung hay mái kính lấy sáng cường lực là dạng mái che dùng kính cường lực, kính cường lực an toàn (Có thể là kính dán an...
Trong các hoạt động khai trương thì khai trương showroom là việc tương đối đặc biệt. Showroom là nơi để khách hàng đến, tham quan và tìm hiểu về sản phẩm. Nếu hoạt động khai trương showroom được tổ...
## Một số chú ý quan trọng để tổ chức event khai trương showroom hoàn hảo

Server: Apache/2.2.15 (CentOS)

Pragma: private

Cache-Control: private, must-revalidate


text:
Từ ngày 14/09/2017, Môi Trường Á Châu chính thức cho ra mắt hệ thống tính giá tự động dịch vụ xử lý chất thải, tạo điều kiện thuận lợi cho tất cả các cơ sở kinh doanh, doanh nghiệp,… có thể dự toán chi phí nhanh chóng, minh bạch. Với hệ thống tính giá tự động này, để tra cứu giá dịch vụ chất thải, Quý Khách hàng bắt buộc phải cung cấp một số thông tin cơ bản. Vì sao lại như vậy?
Có thể nói hệ thống tính giá tự động dịch vụ xử lý chất thải trên website www.chatthainguyhai.com là một bước ngoặt quan trọng trong quá trình nâng cao chất lượng dịch vụ của Môi Trường Á Châu nhanh chóng – đơn giản – công khai. Quý Khách hàng có thể tra cứu giá dịch vụ xử lý chất thải chỉ trong vòng 30s.
Để nhận được báo giá, quý Khách hàng cần cung cấp các thông tin cơ bản như vị trí, khối lượng và thành phần chất thải… của cơ sở phát sinh chất thải.
Vì sao lại phải cung cấp các thông tin trên?
Tại Môi Trường Á Châu, chúng tôi luôn đặt quyền lợi của khách hàng lên hàng đầu. Giá dịch vụ chất thải sẽ được điều chỉnh theo vị trí, khối lượng và thành phần chất thải… của từng Khách hàng để đảm bảo mỗi Khách hàng sẽ nhận được giá cả phù hợp nhất.
Đối với các thông tin này, chúng tôi hoàn toàn không biết rõ về Doanh nghiệp của bạn.
Một điều đáng lưu ý là Môi Trường Á Châu có thể thay đổi giá trên hệ thống tính giá tự động mà không cần báo trước. Vì vậy để nhận được quyền lợi “giữ giá tròng vòng 30 ngày” trong trường hợp có thay đổi giá, Quý Khách hàng phải lưu lại báo giá bằng cách click vào “GỬI BÁO GIÁ CHO TÔI” và cung cấp thêm tên, số điện thoại, email cá chân. Nhờ những thông tin này, Môi Trường Á Châu có thể đảm bảo gửi báo giá đến đúng Khách hàng có nhu cầu.
Môi Trường Á Châu cam kết chỉ sử dụng tất cả các thông tin của Quý Khách hàng cho mục đích tính giá dịch vụ và hỗ trợ tư vấn miễn phí cho Khách hàng có quan tâm.
Quý khách hàng hoàn toàn có thể yên tâm khi cung cấp thông tin và trải nghiệm những tiện ích trên http://chatthainguyhai.com/ . Trong trường hợp gặp sự cố hoặc cần hỗ trợ Quý Khách hàng vui lòng gọi 1900 54 54 50 để gặp nhân viên tư vấn của Môi Trường Á Châu!

markdown:
**Từ ngày 14/09/2017, Môi Trường Á Châu chính thức cho ra mắt hệ thống tính giá tự động dịch vụ xử lý chất thải** **, tạo điều kiện thuận lợi cho tất cả các cơ sở kinh doanh, doanh nghiệp,… có thể dự toán chi phí nhanh chóng, minh bạch. Với hệ thống tính giá tự động này, để tra cứu giá dịch vụ chất thải, Quý Khách hàng bắt buộc phải cung cấp một số thông tin cơ bản. Vì sao lại như vậy?**
Có thể nói hệ thống tính giá tự động dịch vụ xử lý chất thải trên website
[www.chatthainguyhai.com](http://www.chatthainguyhai.com) là một bước ngoặt quan trọng trong quá trình nâng cao chất lượng dịch vụ của Môi Trường Á Châu nhanh chóng – đơn giản – công khai. Quý Khách hàng có thể tra cứu giá dịch vụ xử lý chất thải *. chỉ trong vòng 30s*
Để nhận được báo giá, quý Khách hàng cần cung cấp các thông tin cơ bản như vị trí, khối lượng và thành phần chất thải… của cơ sở phát sinh chất thải.
**Vì sao lại phải cung cấp các thông tin trên? **
Tại Môi Trường Á Châu, chúng tôi luôn đặt quyền lợi của khách hàng lên hàng đầu. Giá dịch vụ chất thải sẽ được điều chỉnh theo vị trí, khối lượng và thành phần chất thải… của từng Khách hàng để đảm bảo mỗi Khách hàng sẽ nhận được giá cả phù hợp nhất.
Đối với các thông tin này, chúng tôi hoàn toàn không biết rõ về Doanh nghiệp của bạn.
Một điều đáng lưu ý là Môi Trường Á Châu có thể thay đổi giá trên hệ thống tính giá tự động mà không cần báo trước. Vì vậy để nhận được quyền lợi “giữ giá tròng vòng 30 ngày” trong trường hợp có thay đổi giá, Quý Khách hàng phải lưu lại báo giá bằng cách click vào “GỬI BÁO GIÁ CHO TÔI” và cung cấp thêm tên, số điện thoại, email cá chân. Nhờ những thông tin này, Môi Trường Á Châu có thể đảm bảo gửi báo giá đến đúng Khách hàng có nhu cầu.
Môi Trường Á Châu cam kết chỉ sử dụng tất cả các thông tin của Quý Khách hàng cho mục đích tính giá dịch vụ và hỗ trợ tư vấn miễn phí cho Khách hàng có quan tâm.
Quý khách hàng hoàn toàn có thể yên tâm khi cung cấp thông tin và trải nghiệm những tiện ích trên
[http://chatthainguyhai.com/](http://chatthainguyhai.com/) . Trong trường hợp gặp sự cố hoặc cần hỗ trợ Quý Khách hàng vui lòng gọi **1900 54 54 50** để gặp nhân viên tư vấn của Môi Trường Á Châu!

WARC-Identified-Payload-Type: text/html

Server: Apache

Vary: Accept-Encoding,User-Agent

Link: <http://chatthainguyhai.com/wp-json/>; rel="https://api.w.org/", <http://chatthainguyhai.com/?p=2637>; rel=shortlink


text:
Lưu video
Bạn phải đăng nhập để sử dụng chức năng này. Xin vui lòng Đăng nhập tại đây!
Lựa chọn các vi phạm
Link hỏng
Video không đúng nội dung, spam, gây hiểu nhầm
Video phản cảm, đồi trụy, kích động bạo lực
Bản quyền video
Khác

X-Cache: MISS

Server: nginx

Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0

Content-Type: text/html


markdown:
Lưu video
Bạn phải đăng nhập để sử dụng chức năng này. Xin vui lòng Đăng nhập tại đây!
Lựa chọn các vi phạm
Link hỏng
Video không đúng nội dung, spam, gây hiểu nhầm
Video phản cảm, đồi trụy, kích động bạo lực
Bản quyền video
Khác


text:
Tải ứng dụng hát karaoke online miễn phí - Hatkara Phiên bản mới nhất
Hát karaoke online hát karaoke
Truyện ma Phiên bản mới nhất
Truyện ma

X-Frame-Options: SAMEORIGIN

Cache-Control: max-age=0, private, must-revalidate


text:
TÔNG-CHI TINHLUAT TEMPLE
TÔNG - CHỈ BUDDHIST RETREAT FOUNDATION OF TEXAS, INC. TỊNH LUẬT TEMPLE Chùa Tịnh Luật là một Hội bất vụ lợi, không trực thuộc vào bất cứ Giáo-hội nào, cũng không lệ thuộc bất cứ phe nhóm, đảng phái nào. Chùa hoàn toàn...

markdown:
[TÔNG-CHI TINHLUAT TEMPLE](/vi/about/TONG-CHI-TINHLUAT-TEMPLE/)
TÔNG - CHỈ BUDDHIST RETREAT FOUNDATION OF TEXAS, INC. TỊNH LUẬT TEMPLE Chùa Tịnh Luật là một Hội bất vụ lợi, không trực thuộc vào bất cứ Giáo-hội nào, cũng không lệ thuộc bất cứ phe nhóm, đảng phái nào. Chùa hoàn toàn...

Cache-Control: no-cache, pre-check=0, post-check=0

Set-Cookie: nv3c_Xpiav_nvvithemever=mw%2C%2C; expires=Thu, 18-Jul-2019 10:40:18 GMT; path=/; domain=.chuatinhluat.com; httponly

Content-Language: vi


text:
Bản Hướng Dẫn Về Chùa Tịnh Luật Mới
BẢN HƯỚNG DẪN VỀ CHÙA TỊNH LUẬT MỚI 8703 Fairbanks N. Houston Rd., Houston, TX 77064 Tel: (713) 856-7802 -(281) 564 - 1881 &(281) 564-1839 Fax:(713) 856-7846 TỪ NORTHWEST HOUSTON (chợ Hồng Kông 3): Từ chợ Hồng Kông 3 quẹo phải Bammel North Houston (3miles). Quẹo phải Beltway 8...

markdown:
[Bản Hướng Dẫn Về Chùa Tịnh Luật Mới](/vi/about/Ban-Huong-Dan-Ve-Chua-Tinh-Luat-Moi/)
BẢN HƯỚNG DẪN VỀ CHÙA TỊNH LUẬT MỚI 8703 Fairbanks N. Houston Rd., Houston, TX 77064 Tel: (713) 856-7802 -(281) 564 - 1881 &(281) 564-1839 Fax:(713) 856-7846 TỪ NORTHWEST HOUSTON (chợ Hồng Kông 3): Từ chợ Hồng Kông 3 quẹo phải Bammel North Houston (3miles). Quẹo phải Beltway 8...

Set-Cookie: nv3c_Xpiav_nvvithemever=mw%2C%2C; expires=Thu, 18-Jul-2019 10:50:54 GMT; path=/; domain=.chuatinhluat.com; httponly


text: Hà Giang - Thiên đường của hoa Tam giác mạch 25/08/2016 - 16:59 (Cinet) - Vào tháng 10, 11 hàng năm, từ Quản Bạ, Yên Minh cho đến Mèo Vạc, Đồng Văn và khắp các đường đèo uốn khúc quanh co của Hà Giang chỗ nào cũng được phủ một màu hồng của hoa Tam giác mạch. Nhiều năm qua, tam giác mạch đã trở thành nguồn cảm hứng thu hút du khách mọi miền đất nước đến Hà Giang tham quan. Chính vì thế, năm nay hoa được đầu tư trồng nhiều hơn, nhằm phát triển du lịch địa phương. Tam giác mạch là loài hoa bền bỉ, chịu rét và thiếu nước giỏi nên dễ dàng mọc ở cao nguyên đá Đồng Văn. Hoa đẹp nhất khi độ sắp tàn, chuyển màu từ trắng sang phớt hồng rồi đỏ thẫm. Hạt mạch có hình tam giác và hiện nay đã được thu hoạch dùng làm bánh và rượu. Những sản vật này đang được hi vọng sẽ giúp đẩy mạnh phát triển du lịch cho vùng Cao nguyên đá. Vẻ đẹp của hoa Tam giác mạch. Ảnh: Vnexpress Nhằm tôn vinh những giá trị văn hóa đặc sắc của vùng cao nguyên đá Đồng Văn, tạo thương hiệu cho du lịch Hà Giang thông qua hình ảnh cây hoa tam giác mạch, năm 2015, tỉnh Hà Giang đã tổ chức Lễ hội hoa Tam giác mạch. Năm nay, Lễ hội sẽ được tổ chức trong thời gian 02 ngày, từ 14/10 đến 16/10/2016, tại huyện Đồng Văn và các huyện Quản Bạ, Yên Minh, Mèo Vạc. Lễ hội hoa Tam giác mạch Hà Giang lần đầu tiên được tổ chức vào năm 2015. Ảnh: nongthonviet Nhiều hoạt động được tổ chức trong khuôn khổ lễ hội như: Chương trình khai mạc; hội trại du lịch; các hoạt động trải nghiệm (ẩm thực dân tộc, giao lưu trình diễn văn nghệ, trò chơi dân gian, canh tác gieo trông tam giác mạch, cưỡi ngựa, mặc trang phục dân tộc chụp ảnh trên đồng hoa Tam giác mạch...). Ngoài ra, du khách còn được trải nghiệm các sản phẩm từ hoa tam giác mạch: Trình diễn giới thiệu quy trình sản xuất rượu và bánh làm từ Tam giác mạch; trưng bày giới thiệu và thưởng thức các sản phẩm từ hoa Tam giác mạch kết hợp giao lưu trình diễn văn-nghệ dân gian với chủ đề “Tâm hồn của đá”; triển lãm ảnh với chủ đề “Đá nở Hoa” (điểm nhấn là ảnh đẹp về hoa Tam giác mạch). Bên cạnh đó, tại lễ hội còn tổ chức trưng bày các sản phẩm văn hóa, nông nghiệp, du lịch các huyện, thành phố trong tỉnh. Đặc biệt, Lễ hội đường phố trình diễn âm nhạc dân gian và sắc màu trang phục các dân tộc Hà Giang với chủ đề “Huyền thoại hoa Tam giác mạch”, như: Diễu hành các mô hình xe, các khối trình diễn văn hóa dân tộc; trình diễn hòa tấu âm nhạc dân gian các dân tộc Hà Giang của các nghệ nhân; giao lưu với du khách; trình diễn và giới thiệu một số bộ trang phục đặc sắc các dân tộc Hà Giang; trình diễn rối cạn, xiếc, hình nộm vui nhộn, hoạt náo… hy vọng sẽ để lại nhiều ấn tượng trong lòng du khách. Khắp các nẻo đường vùng cao này chỗ nào cũng ngập tràn hoa Tam giác mạch. Ảnh: dulich24 Lễ hội hoa Tam giác mạch được tổ chức hàng năm, nhằm xây dựng thương hiệu Lễ hội "hoa trên đá" với nét văn hóa, nghệ thuật đặc sắc, độc đáo riêng có của Hà Giang. Đồng thời, thể hiện, phản ánh những nét độc đáo của cao nguyên đá "hồn của đá" và những nét văn hóa, tín ngưỡng truyền thống đặc sắc của nhân dân các dân tộc trong tỉnh; tăng cường công tác quảng bá giới thiệu tiềm năng, lợi thế giá trị văn hóa và du lịch của Hà Giang, thu hút khách tham quan trong nước và quốc tế đến tìm cơ hội đầu tư, giao lưu, hợp tác phát triển và hội nhập; xây dựng Cao nguyên đá Đồng Văn - Hà Giang thành khu du lịch trọng điểm quốc gia. Qua đó, tôn vinh các giá trị văn hóa nhân văn các dân tộc trên địa bàn tỉnh, gắn với giá trị cảnh quan từ hoa tam giác mạch tạo ra điểm nhấn, sản phẩm du lịch trải nghiệm hấp dẫn, xây dựng hoa tam giác mạch trở thành thương hiệu đặc thù trong khai thác du lịch; định hướng trong công tác chỉ đạo, quy hoạch vùng trồng Tam giác mạch, chuyển đổi cơ cấu cây trồng theo hướng giá trị, khuyến khích việc gieo trồng và sản xuất các sản phẩm từ Tam giác mạch bên cạnh việc tăng mức hưởng lợi từ hoạt động tham quan du lịch cho người dân. Đến Hà Giang vào tháng 10 này, hẳn bạn sẽ có một chuyến du lịch đáng nhớ. Ảnh: dulich24 Bỏ lại sau lưng phố thị, lên cao nguyên Đồng Văn để đứng giữa núi đá, đồi hoa, bạn sẽ được thỏa sức hít thở khí trời trong lành, thưởng ngoạn cảnh sắc hùng vĩ vùng cao và những món ăn ẩm thực độc đáo của đồng bào dân tộc nơi đây... Lan Phạm Từ khóa: Bình luận * Vui lòng nhập bình luận tiếng Việt có dấu Nhập lại Gửi

X-Cache: MISS from xCache19

Cache-Control: private

Set-Cookie: .ASPXANONYMOUS=0FUZ_nYOkfA4vqQ3dxldsmHE5YQyaHsX3eZuaggD2yKFrWg3_P8CsB-sGOQUypDiydJARISs5wrSppRT5WsrIoplfttxq7xhtTGIMqaeqeEzcILWNXYCC7Xx9I1ZUu5H1Li7sJEUWCBhIaTHNbWHMw2; domain=toquoc.vn; expires=Tue, 25-Sep-2018 21:40:01 GMT; path=/; HttpOnly


text:
Diễn Đàn
Tìm kiếm
Display results as :
Số bài
Chủ đề
Advanced Search
Bài gửi sau cùng
Bài gửi
Người gửi
English for US Visa 3
Eaglet
Phỏng Vấn du học 2
Eaglet
Phần mềm điện thoại Mỹ, Canada miễn phí, gọi quốc tế giá rẻ – magicjack , nettalk
kiskty
Hành hương Mẹ La Vang dịp 15.8.2016: Huế - La Vang - Huế 2N1Đ
Phero Đình Dũng
MỤC LỤC KINH THÁNH 100 TUẦN
Alpha
Xin lỗi, vì ba mẹ quá nghèo!
PeterLuong
CHÚA NHẬT XIV THƯỜNG NIÊN B
PeterLuong
Đôi Khi - Thông Vi Vu
Eaglet
KHÚC CẢM TẠ
MaiNguyenVu
CHUYỆN TÌNH EMMANUEL
MaiNguyenVu
Lởi Chúa CN XXX
Dân Chài
Kết thúc Cuộc họp vòng V của Nhóm công tác hỗn hợp Việt Nam–Toà Thánh
ThangPham
Similar topics
»
CHÚC MỪNG SINH NHẬT BÁC NGHIỆPDƯ
»
CHÚC MỪNG SINH NHẬT BÁC ĐÔRÊMI
»
Chúc mừng sinh nhật bác CanVTV !
»
CHÚC MỪNG SINH NHẬT ACILEFU (KU KHOA )
»
Chúc Mừng sinh nhật bác Sang.
»
CHÚC MỪNG SINH NHẬT POYDONGTHAP93 (KU TIẾN )
»
Chúc mừng Sinh nhật lần thứ 52 Super Moderators chú Quang Tứ!
»
CHÚC MỪNG SINH NHẬT MITNGAN.
»
Chúc mừng Sinh nhật anh thanhmeo57 (Nguyễn Văn Thành)!
»
Chúc mừng sinh nhật Smod quang_tu
Diễn Đàn
::
°·♥ †HỌC HỎI† ♥·°
::
LINH THIÊNG VÀO ĐỜI
MUNG CHUA PHUC SINH
Tác giả
Thông điệp
ThangPham
Cấp bậc
Giới tính
:
Tổng số bài gửi
:
210
Điểm NHIỆT TÌNH
:
723
Ngày tham gia
:
17/03/2010
Đến từ
:
Kien Giang
Job/hobbies
:
Etudiant
Tâm trang
:
Comme ci Comme ca
Tiêu đề: MUNG CHUA PHUC SINH
Sun Apr 04, 2010 9:11 am
Trong tam tinh MUNG CHUA PHUC SINH. xin gui loi chuc den toan the ACE luon vui khoe hanh phuc va an binh trong Chua phuc sinh va chuc dien dan chung ta luon phat trien manh me.
Best regards
ThangPham
Eaglet
FOUNDER
Tổng số bài gửi
:
614
Điểm NHIỆT TÌNH
:
1275
Ngày tham gia
:
11/08/2009
Tiêu đề: Re: MUNG CHUA PHUC SINH
Sun Apr 04, 2010 9:13 am
Xin cảm ơn, Chúc Khách viếng thăm và các bạn hưởng trọn vẹn niềm vui chúa Phục sinh.
Eaglet
Hãy sống tốt khi còn bên nhau
bởi có thể đó là lần gặp gỡ cuối.
MUNG CHUA PHUC SINH
Trang
1
trong tổng số
1
trang
* Viết tiếng Việt có dấu, là tôn trọng người đọc.
* Chia sẻ bài sưu tầm có ghi rõ nguồn, là tôn trọng người viết.
* Thực hiện những điều trên, là tôn trọng chính mình.
- Nếu chèn smiles có vấn đề thì bấm a/A trên phải khung viết bài
Permissions in this forum:
Bạn
không có quyền
trả lời bài viết
Diễn Đàn
::
°·♥ †HỌC HỎI† ♥·°
::
LINH THIÊNG VÀO ĐỜI
Diễn Đàn
::
°·♥ †HỌC HỎI† ♥·°
::
LINH THIÊNG VÀO ĐỜI
CASINO.COM ERFAHRUNGEN
Free forum
|
©
phpBB
|
Free forum support
|
Liên hệ
|
Report an abuse
|
Free blog


text:
Nhắc đến laptop sinh viên, một trong những cái tên được nhiều người nghĩ đến đầu tiên chính là Acer. Thương hiệu laptop Đài Loan từ nhiều năm qua rất được lòng giới sinh viên Việt nhờ thiết kế đẹp mắt, hiệu năng tốt và quan trọng nhất là mức giá rất dễ tiếp cận. Đây cũng chính là những yếu tố luôn được các bạn sinh viên cân nhắc hàng đầu khi lựa chọn một chiếc laptop đồng hành cho năm học mới.
Nổi bật trong danh sách các dòng laptop dành cho sinh viên của Acer năm nay có thể kể đến A3, A5 và E5. Đây là 3 dòng laptop được thương hiệu Đài Loan phát triển từ chính nhu cầu của các bạn sinh viên Việt Nam, tối ưu từ hiệu năng thiết kế và mức giá đề xuất cực kỳ hấp dẫn.
Acer A3 với tuỳ chọn bộ xử lý Celeron là sự lựa chọn tiết kiệm cho các bạn sinh viên, mà vẫn đáp ứng tốt nhu cầu học tập và giải trí cơ bản. Dù mức giá rất dễ chịu, Aspire A3 vẫn sở hữu thiết kế rất phong cách đồng thời vẫn được trang bị tính năng cao cấp với chuẩn mạng không dây Wifi AC nhanh nhất hiện nay.
Trong khi đó Acer E5 được truyền tai trong giới học sinh - sinh viên với tư cách là chiếc laptop duy nhất dưới 10 triệu đồng mà vẫn sở hữu màn hình FullHD sắc nét. Acer cũng đã ưu ái nâng cấp thế hệ E5 2018 với bộ xử lý Core i thế hệ thứ 8 mạnh mẽ, giúp hiệu năng của máy tăng gần 50%.
Và cuối cùng là dòng Acer A5, đằng sau thiết kế mỏng nhẹ tinh tế của chiếc máy này là một cấu hình mạnh mẽ, với tuỳ chọn bộ xử lý Core i của Intel và card đồ hoạ rời GeForce MX đem lại trải nghiệm mượt mà trong giải trí cũng như học tập. Màn hình FullHD 15,6 inch được bổ sung công nghệ Acer BluelightShield sẽ mang lại sự dễ chịu đối với các bạn phải làm việc thời gian dài trước máy tính.
Không chỉ gây ấn tượng về mẫu mã, Acer còn ghi điểm trong mắt các bạn học sinh - sinh viên nhờ các chương trình khuyến mãi hấp dẫn và thiết thực. Từ nay đến hết 30/6 (hoặc đến khi hết quà), Acer triển khai chương trình “Hello Summer” tặng ngay bình giữ nhiệt Lock & Lock cao cấp trị giá 400.000 đồng áp dụng 3 dòng laptop Acer A3, A5 và E5.
Nguồn tin: http://dantri.com.vn
Ý kiến bạn đọc
Những tin mới hơn
Những tin cũ hơn

markdown:
Nhắc đến laptop sinh viên, một trong những cái tên được nhiều người nghĩ đến đầu tiên chính là Acer. Thương hiệu laptop Đài Loan từ nhiều năm qua rất được lòng giới sinh viên Việt nhờ thiết kế đẹp mắt, hiệu năng tốt và quan trọng nhất là mức giá rất dễ tiếp cận. Đây cũng chính là những yếu tố luôn được các bạn sinh viên cân nhắc hàng đầu khi lựa chọn một chiếc laptop đồng hành cho năm học mới.
Nổi bật trong danh sách các dòng laptop dành cho sinh viên của Acer năm nay có thể kể đến A3, A5 và E5. Đây là 3 dòng laptop được thương hiệu Đài Loan phát triển từ chính nhu cầu của các bạn sinh viên Việt Nam, tối ưu từ hiệu năng thiết kế và mức giá đề xuất cực kỳ hấp dẫn.
Acer A3 với tuỳ chọn bộ xử lý Celeron là sự lựa chọn tiết kiệm cho các bạn sinh viên, mà vẫn đáp ứng tốt nhu cầu học tập và giải trí cơ bản. Dù mức giá rất dễ chịu, Aspire A3 vẫn sở hữu thiết kế rất phong cách đồng thời vẫn được trang bị tính năng cao cấp với chuẩn mạng không dây Wifi AC nhanh nhất hiện nay.
Trong khi đó Acer E5 được truyền tai trong giới học sinh - sinh viên với tư cách là chiếc laptop duy nhất dưới 10 triệu đồng mà vẫn sở hữu màn hình FullHD sắc nét. Acer cũng đã ưu ái nâng cấp thế hệ E5 2018 với bộ xử lý Core i thế hệ thứ 8 mạnh mẽ, giúp hiệu năng của máy tăng gần 50%.
Và cuối cùng là dòng Acer A5, đằng sau thiết kế mỏng nhẹ tinh tế của chiếc máy này là một cấu hình mạnh mẽ, với tuỳ chọn bộ xử lý Core i của Intel và card đồ hoạ rời GeForce MX đem lại trải nghiệm mượt mà trong giải trí cũng như học tập. Màn hình FullHD 15,6 inch được bổ sung công nghệ Acer BluelightShield sẽ mang lại sự dễ chịu đối với các bạn phải làm việc thời gian dài trước máy tính.
Không chỉ gây ấn tượng về mẫu mã, Acer còn ghi điểm trong mắt các bạn học sinh - sinh viên nhờ các chương trình khuyến mãi hấp dẫn và thiết thực. Từ nay đến hết 30/6 (hoặc đến khi hết quà), Acer triển khai chương trình “Hello Summer” tặng ngay bình giữ nhiệt Lock & Lock cao cấp trị giá 400.000 đồng áp dụng 3 dòng laptop Acer A3, A5 và E5.
**Nguồn tin: **http://dantri.com.vn
**Những tin mới hơn** **Những tin cũ hơn**

Set-Cookie: nv4c_x8lo4_nvvithemever=deleted; expires=Thu, 01-Jan-1970 00:00:01 GMT; Max-Age=0; path=/; domain=.conganbackan.vn; httponly