MỤC LỤC
SqlConnection con; //đối tượng kết nối Bạn cần bổ sung thêm khai báo namespace System.Data.SqlClient ở đầu chương trình để kích hoạt lớp SqlConnection.Bên trong constructor của lớp Form1, bạn cần khởi tạo kết nối và mở cơ sở dữ liệu. Điểm tiện lợi trong việc sử dụng các tham số hình thức đó là khi cần thay đổi giá trị của một hay tất cả các trường ta không cần phải viết lại toàn bộ câu truy vấn mà chỉ cần dựa trên các tham số hình thức tương ứng vớ đó mà cập nhật lại dữ liệu. Tiếp theo, ta gọi phương thức Read() để kiểm tra xem có tồn tại bản ghi (record) nào trong bảng ‘bookinfo’ không. Nếu có, chúng ta lấy các thông tin về tên sách, tên tác giả hiển thị trong các hộp textbox tương ứng. Bây giờ, chúng ta cần phải hiển thị hình trang bìa của sách. Đầu tiên chúng ta dùng 1 mảng b kiểu byte để lưu trữ hình cần hiển thị. Do không thể hiển thị nội dung của mảng b trong hộp Picture Box vì nó không có định dạng là. ình) nên ta cần chuyển nội dung mảng b sang định dạng củ Để làm điều này,chúng ta tạo 1 đối tượng st của lớp MemoryStream.
Đối với những hình ảnh lớn thì phương pháp này trở nên không hiệu quả, bạn cần tìm hiểu những cách thức khác để lưu trữ; chẳng hạn như thay vì lưu nội dung hình ảnh, chúng ta sẽ lưu trữ đường dẫn tương đối của nó.
Chào các bạn, tôi nghĩ chắc các bạn đã từng nghe nói đến các hàm API (Application Programming Interface – Giao diện lập trình ứng dụng). Khi sử dụng các hàm này, chúng ta có khả năng can thiệp hệ thống ở cấp cao hơn so với môi trường lập trình đang có, hoặc mở rộng khả năng một số chức năng của hệ thống. “user32” AliAs “MessageBoxA” (ByVal hwnd As Long, ByVal lpText As String, ByVal lpCaption As String, ByVal wType As Long) As Long.
Phần lựa chọn cho các button bạn đặt tên cho các Option là optBtn, tất cả 6 button đều cùng tên và bạn sẽ được một mảng đối tựợng, dĩ nhiên thuộc tính Index sẽ chỉ số thứ tự phần tử bắt đầu từ 0.
Trong các ngôn ngữ lập trình thủ tục thông thường như C++, Java hay Pascal, một chương trình là sự đặc tả của một chuỗi liên tiếp các lệnh, các chỉ dẫn, sau đó các lệnh này được thực thi bởi trình biên dịch, để giải quyết một vấn đề nào đó. Và hệ thống hiểu là: giai thừa của một số nguyên là một số nguyên khác… Với cách khai báo này hệ thống sẽ có khả năng trả lời cho câu hỏi thuận (giai thừa của một số bằng bao nhiêu), câu hỏi nghịch (số nào có giai thừa bằng số này), câu truy vấn (có phải giai thừa của số này bằng số kia hay không). Khi gọi goal count ([1,2,3,4], X), đáp số sẽ là X=4 Tiếp theo chúng ta xác định giải thuật hợp với tinh thần Prolog, do không dùng được vòng lặp, chúng ta phải có một giải thuật đệ quy, bao gồm điều kiện dừng và gọi đệ quy.
Trong bài toán giai thừa ở trên, chúng ta cố gắng tránh việc giải quyết bài toán bằng cách nhân dồn, điều này dẫn đến một điểm yếu của Prolog: không cung cấp các cấu trúc điều khiển cần thiết, dẫn đến khó khăn khi thực hiện phép lặp.
Nhiều nhà sản xuất đã nghiên cứu phát triển các sản phẩm lập trình được như: Field Programmable Gate Arrays ( FPGAs ), Complex Programmable Logic Devices ( CPLDs ), vi mạch Hard Wire, Serial PROMs. •Vi mạch FPGAs gồm một ma trận các đơn vị logic: Những liên kết kim loại giữa các khối logic có thể được nối một cách tuỳ ý bằng các chuyển mạch có thể lập trình được để tạo thành một mạch như yêu cầu. •Vi mạch CPLDs chứa nhiều khối chức năng và khối vào ra, liên kết với nhau thông qua ma trận chuyển mạch.
Các cổng của Hard Wire tương tự như FPGAs nhưng các phần tử logic được liên kết bằng kim loại cố định nên kích thước nhỏ và giá thành thấp.
FPGAs chứa một số lượng lớn các cổng logic, các thanh ghi, các mạch vào ra tốc độ cao. •Vi mạch Hard Wire lập trình bằng mặt nạ của SRAM – dựa trên nền tảng của FPGAs. •Serial PROMs là vi mạch nhớ có thể lập trình một lần được sử dụng để nạp dữ liệu cho SRAM FPGAs.
Can thiệp tham số SQL hay SQL INJECTION là một kỹ thuật thay thế các tham số SQL trên địa chỉ URL của trang web bằng các tham số có chủ ý của người tấn công. Nếu truyền vào đó một chữ cái thì script đó sẽ từ chối thực hiện và kèm theo sau đó là một hay một loạt các thông báo lỗi xuất hiện, để lộ ra các thông tin nhạy cảm. Ví dụ, bạn có thể kiểm tra script có cơ chế truyền giá trị tham số kiểu như trên bằng cách gửi đi một URL với giá trị không hợp lệ được truyền cho tham số HTTP://www.yoursite.com/index.
Hầu hết các lập trình viên đều định nghĩa các khai báo mẫu này trong cá ưng dù vậy thì một tính năng không có giá trị mà bạn không bao giờ sử dụng có thể sẽ vẫn ám ảnh bạn.
Thay vào đó, nó lại là một khai báo mẫu (prototype) cho một hàm b không có thông số và có kiểu trả về là string. Việc định nghĩa khai báo một hàm cục bộ là không có giá trị trong C vì nó không thể hiện tầm vực thực sự của hàm. Các constructor với một đối số sẽ có hai chức năng khi chuyển đổi kiểu.
Trong cuộc cạnh tranh khốc liệt với Netscape, Internet Explorer đã cố gắng thu hút người dùng bằng rất nhiều chức năng thú vị, tiện dụng. Nếu như bạn đã dùng IE, hẳn bản phải biết mỗi khi chúng ta nhấp chuột phải vào một Picture thì sẽ có một Menu xuất hiện cho phép sử dụng Picture đó làm Wallpaper, làm sao chương trình biết được chính xác bạn đã chọn hình nào?. Hay như các chương trình hỗ trợ việc Download (NetAnts ..), mỗi khi bạn nhấp chuột phải vào một link, thì sẽ xuất hiện một menu con của chương trình giúp bạn Download link đã chọn, làm sao chương trình đó nhúng menu của nó vào menu của IE và làm sao chương trình đó biết được bạn đã chọn Link nào?.
Ví dụ bạn muốn tạo một Menu có tên là My Cool Menu, mỗi khi click vào Menu này thì sẽ chạy chương trình Notepad (Nói trước để bạn khỏi phải bực mình, nó sẽ không hoạt động như ta mong muốn), thì bạn sẽ tạo một khóa như trong hình minh họa.
Bạn đã có thể thêm menu của bạn vào Menu của IE nhưng đó chỉ mới nửa vấn đề, vấn đề còn lại là làm sao để biết người dùng đã chọn Link nào và làm sao để gọi chương trình của bạn. Chúng ta sẽ sử dụng đối tượng (Object) external, một cô nàng dễ thương mà IE đã dành cho các lập trình viên. Cả đoạn Code trên chỉ làm mỗi một việc là trả về URL của đối tượng bạn đã chọn.
Vào một ngày đẹp trời nào đó bạn đang tắm và bỗng thốt lên “à ra thế”, ngoài đường đông người lắm, đừng có như thế mà chạy ra đường há.
Vậy là bạn đã bị dồn vào chân tường và bạn không còn lựa chọn nào khác: một hàm không thành viên với khả năng truy xuất đến các thành phần không công cộng phải là một hàm friend của lớp đó. Sự ra đời của giao diện đồ họa (Graphical User Interface) và lập trình hướng đối tượng (Object Oriented Programming) cho phép lập trình viên làm việc với những thành phần đồ họa như những đối tượng đồ họa có thuộc tính và phương thức riêng của nó. Như vậy nếu theo đúng kiến trúc MVC thì tất cả những xử lý liên quan đến lưu trữ dữ liệu của chương trình phải được đặt ở CXXXDoc, còn những xử lý liên quan đến việc thể hiện phải được đặt ở CXXXView.
Hồi đó mỗi lần làm chương trình VC++, tôi đặt tất cả xử lý ở CXXXView, xong rồi ở CXXXDoc hay CMainFrame cần gọi cái gì đó của CXXXView thì cứ việc khai báo một con trỏ pView trỏ đến CXXXView.
Vào năm 1988, Bertrand Meyer, cha đẻ của ngôn ngữ lập trình hướng đối tượng Eiffel, trong quyển Object Oriented Sofware Construction của mình, đã phát biểu một câu mà bây giờ trở thành nguyên lý.
Nhắc đến Yahoo Messeger (YM) thì có lẽ những người hay chat điều biết đến, đó có lẽ là một chương trình chat tuyệt nhất hiện nay. Các thủ thuật sử dụng trong YM rất phong phú, chẳng hạn: chat tiếng Việt trong YM, chèn hình ảnh vào cửa sổ chat, nhân cách hóa nick, tạo nick ảo… Tuy nhiên có lẽ những thủ thuật này đã không còn mới mẻ gì đối với các bạn, vì vậy hôm nay tôi xin giới thiệu một thủ thuật tương đối mới do tôi vô tình tìm được trong quá trình lập trình. Đó là thủ thuật giúp bạn có thể Change status của mình một cách tự động ngay cả khi bạn không ngồi trên máy.
Ngoài việc lưu các status ở đây, YM còn lưu tất cả nick ảo của một người vào registry nữa, phần này tôi sẽ để các bạn tự khám phá.