Những ngôn ngữ lập trình web thông dụng hiện nay

Những ngôn ngữ lập trình web thông dụng hiện nay

Vì sao nên học lập trình web

Môi trường làm việc chuyên nghiệp

Một trong số những ngành nghề thu hút sự chú ý của nhiều người hiện nay, chính là nghề lập trình web, thiết kế website, lập trình phần mềm, lập trình ứng điện thoại,.. gọi chung lại là lập trình web app. Đó là một công việc cho phép bạn thỏa sức sáng tạo, làm việc trong một môi trường chuyên nghiệp, hiện đại. Nếu bạn ao ước sau khi học ra trường xong sẽ tìm được một công việc ngồi bàn giấy, làm việc văn phòng, có điều hòa, vừa làm vừa nhâm nhi cafe thì lập trình web chính là một công việc như thế. 

Nhu cầu tuyển dụng lập trình viên website rất nhiều, bạn có thể xin vào làm việc tại các công ty thiết kế web, nơi mà lúc nào cũng có nhiều đơn hàng của khách. Vì hiện đại nhu cầu làm website, xây dựng website kinh doanh, bán hàng, giới thiệu tăng mạnh, nên các công ty thiết kế website chính là địa chỉ an tâm của họ. Do đó mà khi làm việc tại các công ty thiết kế web bạn sẽ không phải lo sợ thiếu việc làm, chỉ sợ là bạn không có sức mà làm thôi.

Những ngôn ngữ lập trình web thông dụng hiện nay
Những ngôn ngữ lập trình web thông dụng hiện nay

Bạn không thích làm việc trong công ty thiết kế website thì làm việc như một quản trị viên trang web tại các công ty, doanh nghiệp bình thường. Thông thường mỗi công ty, doanh nghiệp sẽ có một trang web riêng cho mình, và công việc của bạn là viết bài, đăng bài, đăng hình ảnh, thay đổi banner, trả lời bình luận, phòng chống bị hacker tấn công… Tóm lại công việc của bạn là đảm bảo cho trang web vận hành trơn tru tốt nhất có thể.

Thu nhập cao từ nghề lập trình web

Thu nhập từ nghề lập trình hiện nay cũng khá cao, đối với những lập trình viên mới ra nghề, thì cũng có thể kiếm được mức lương 5 – 6 triệu / tháng. Còn đối với những lập trình viên lâu năm, nhiều kinh nghiệm thì có thể kiếm mức lương từ 10 đến 15 triệu, đó là chưa kể đến việc bạn có thể làm cho các công ty nước ngoài thì mức lương hai ba chục triệu là bình thường.

Vậy để bắt đầu học lập trình web thì nên học những gì? Dưới đây là những ngôn ngữ lập trình web thông dụng mà Visualcpp thống kê được, hy vọng bạn sẽ chọn lựa được một ngôn ngữ lập trình web phù hợp để bắt đầu học.

Những ngôn ngữ lập trình web thông dụng hiện nay

Ngôn ngữ lập trình web PHP

Ngôn ngữ lập trình web PHP
Ngôn ngữ lập trình web PHP

Trong số các ngôn ngữ lập trình web phổ biến hiện nay thì PHP là một ngôn ngữ lập trình có thể xem là huyền thoại. Có đến 75% máy chủ web sử dụng ngôn ngữ lập trình web PHP. Những trang web lừng danh như wordpress, wikipedia đều sử dụng php để thiết kế website của mình. Đến gả khổng lồ công nghệ như facebook cũng dùng ngôn ngữ lập trình PHP để thiết kế một phần ứng dụng của facebook. Ngôn ngữ PHP là một ngôn ngữ lập trình đa năng, nó là chuẩn mực của phần lớn các máy chủ hiện nay, những thuật ngữ trong công nghệ lập trình mà bạn thường nghe như MAMP/LAMP/WAMP thì chữ P là viết tằng của ngôn ngữ lập trình PHP. 

Điểm khác biệt của ngôn ngữ lập trình PHP với các ngôn ngữ lập trình web khác chính là nó chỉ chạy trên máy chủ, mã của PHP đã được xử lý trước khi xuất ra trình duyệt của người truy cập trang web, cho nên khi người dùng tương tác trực tiếp với website thì  chỉ nhận thấy được mã HTML, người ta thường kết hợp ngôn ngữ PHP với MySQL để truy xuất thông tin cơ sở dữ liệu.

Một lý do khác để bạn bắt đầu học ngôn ngữ lập trình PHP vì nó là mã nguồn mở linh hoạt và ổn định nên việc cài đặt khá đơn giản, giúp nhiều công ty thiết kế website tiết kiệm chi phí so với việc chạy các ngôn ngữ khác. Khả năng phản hồi và tương tác rất cao khi bạn xây dựng website hoặc xây dựng các ứng dụng web.

Xem thêm: những công cụ thiết kế web

Ngôn ngữ lập trình web JavaScript

Ngôn ngữ lập trình JavaScript là ngôn ngữ lập trình khá đơn giả và dễ tìm hiểu, dễ học. Nó là ngôn ngữ lập trình được sử dụng khá phổ biến hiện nay. Nó là ngôn ngữ clients-side, chạy trong trình duyệt web với tập hợp các câu lệnh đơn giản, không cần phải biên dịch mã lệnh. Các lập trình viên đánh giá ngôn ngữ lập trình JavaScript là bậc thấy về tương tác trên website. Với JavaScript, trang web có thể phản hồi lại các tương tác của người dùng khi truy cập vào trang web một cách thông minh. Chẳng hạn như click vào thanh điều hướng, click vào trang tiếp theo,… trang web sẽ trả về theo yêu cầu của bạn nhờ vào sự điều khiển của JavaScript.

Ngôn ngữ lập trình SQL

Ngôn ngữ lập trình SQL
Ngôn ngữ lập trình SQL

SQL không phải là ngôn ngữ lập trình mà nó là ngôn ngữ truy cấp mang tính cấu trúc, nó là database server mã nguồn mở miễn phí. Ngôn ngữ SQL là ngôn ngữ  dùng để lấy sửa, lấy dữ liệu từ hệ quản trị cơ sở dữ liệu. Ngôn ngữ SQL được xem là một thành phần không thể thiếu của các website hiện đại ngày nay. Trong mô hình khách và chủ thì toàn bộ cơ sở dữ liệu được tập trung lưu trữ trên máy server, và tại đây thì tất cả các thao tác xử lý dữ liệu đều được thực hiện bằng các lệnh SQL. Các lập trình viên thiết kế website thường dùng ngôn ngữ SQL để tạo các trang web động, SQL đóng vai trò cầu nối giữa cơ sở dữ liệu và website.

Xem thêm: các ngôn ngữ lập trình phổ biến 2017

Ngôn ngữ lập trình Java

Ngôn ngữ lập trình Java là ngôn ngữ lập trình hướng đối tượng được giới thiệu lần đầu vào thập niên 1990. Ngôn ngữ lập trình Java có nguồn gốc từ ngôn ngữ lập trình C và ngôn ngữ lập trình C++, tuy vậy nó lại có mô hình hướng đối tượng riêng biệt so với hai ngôn ngữ kể trên. Ngôn ngữ lập trình Java là ngôn ngữ rất quen thuộc vì được nhiều người sử dụng. Có đến 75% các doanh nghiệp sử dụng ngôn ngữ lập trình Java để phát triển ứng dụng web cũng như là các ứng dụng di động khác

Ngôn ngữ lập trình web ASP.NET

Ngôn ngữ lập trình web cuối cùng mà chúng tôi muốn giới thiệu đến bạn đọc đó chính là ngôn ngữ ASP.NET, đây là ngôn ngữ lập trình được phát triển bởi tập đoàn máy tính nổi tiếng Microsoft. Để có chạy website bằng ngôn ngữ lập trình ASP.NET thì bạn cần sử dụng hosting Windows, ngôn ngữ lập trình này được sử dụng phổ biến trong các tổ chức và doanh nghiệp.

Như vậy Visualcpp vừa cùng bạn tìm hiểu về các ngôn ngữ lập trình web phổ biến hiện nay, hy vọng là bạn sẽ tìm được ngôn ngữ phù hợp để học. Hiện tại bên cạnh các công ty thiết kế website thì các dich vụ marketing online cũng cần những lập trình viên có trình độ chuyên môn cao để làm việc. Có thể thấy cơ hội việc làm cho lập trình viên thiêt kế website là vô cùng sáng sủa. Nếu bạn cần tư vấn thêm về kiến thức lập trình hoặc các dịch vụ marketing online, quảng cáo website, thiết kế website thì hãy liên hệ với chúng tôi để nhận tự vấn miễn phí.

Read More

Công cụ thiết kế web Webydo

Những công cụ thiết kế web

Việc thiết kế website hiện nay đã trở nên rất phổ biến, phần nhiều vì kiến thức được cập nhật rộng rãi trên internet, bạn chỉ cần tạo tài khoản tại các trang web dạy học lập trình, thiết kế website là có thể tự thiết kế trang web cho mình được. Bên cạnh đó, bạn cũng có thể sử dụng những công cụ thiết kế web, đây là trợ thú đắc lực cho các lập trình viên website. Hôm nay Visualcpp xin giới thiệu đến bạn đọc những công cụ thiết kế web thông dụng, được tổng hợp từ công ty Mona Media, một trong những công ty thiết kế website có nhiều năm kinh nghiệm tại Sài Gòn.

Những công cụ thiết kế web thông dụng cho lập trình viên website

Công cụ thiết kế web Notepad++

Công cụ thiết kế web Notepad++
Công cụ thiết kế web Notepad++

Một trong những công cụ thiết kế web đầu tiên phải kể đến cho chính Notepad++, đây là công cụ miễn phí hoàn toàn, bạn có thể tải phần mềm tại trang chủ của Notepad++. Phần mềm Notepad++ có khả năng soạn thảo rất tốt, đồ tùy biến cao, vì là mã nguồn mở nên ai cũng có thể sử dụng nó một cách dễ dàng. Nếu bạn đang trong quá trình thử nghiệm thiết kế website thì có thể chạy bản portable mà không cần cài đặt. Notepad++ hỗ trợ các ngôn ngữ lập trình phổ biến như Java, PHP, ASP, C#,… Đây là những ngôn ngữ lập trình web được sử dụng nhiều hiện nay, hầu hết các đơn vị thiết kế web đẹp đều sử dụng chúng để thiết kế website cho khách hàng.

Công cụ thiết kế web Komodo Edit

Công cụ thiết kế web Komodo Edit
Công cụ thiết kế web Komodo Edit
Công cụ Komodo Edit được dùng để soạn thảo XML, công cụ này hỗ trợ cực tốt trong việc thiết kế website bằng ngôn ngữ lập trình html và css, hai ngôn ngữ rất thông dụng hiện nay. Nó là một công cụ thiết kế website miễn phí được nhiều người ưa thích sử dụng, nhất là các lập trình viên chuyên thiết kế web rẻ
Công cụ xây dựng trang web Bluefish
Công cụ xây dựng trang web Bluefish
Công cụ xây dựng trang web Bluefish
Một công cụ thiết kế website tiếp theo mà chúng tôi muốn giới thiệu đến bạn đọc đó là công cụ web Bluefish. Đây là công cụ thiết kế web được các dịch vụ freelancer Việt Nam ưa thích sử dụng. Nếu những ai ưa thích biên tập mã trên nền tảng Linux thì đây là một công cụ tuyệt vời. Ưu điểm của Bluefish chính là khả năng kiểm tra, fix lỗi các ngôn ngữ lập trình khác nhau chẳng hạn như ngôn ngữ lập trình javascript, php, html.
Công cụ làm trang web Eclipse
 Công cụ làm trang web Eclipse

Công cụ làm trang web Eclipse
Một công cụ xây dựng trang web không thể bỏ qua đó chính là Eclipse. Bạn cần tìm một môi trường để coding các ngôn ngữ khác nhau trên những tên khác nhau? Sự lựa chọn chính là Eclipse.  Các dịch vụ thiết kế trang web thích dùng Eclipse bởi vì nó có cấu trúc như một plugin, tức phần mềm mở rộng, khi bạn cần chỉnh sửa cái gì phức tạp, mà không thể code tay được thì chỉ việc cài plugin vào là xong. 

Công cụ thiết kế trang web Webydo

Công cụ thiết kế trang web Webydo
Công cụ thiết kế trang web Webydo

Nếu bạn đang tìm cách thiết kế website nhưng không cần phải viết code tay thì hãy sử dụng Webydo. Đây là một trong số những phần mềm được nhiều lập trình viên website, công ty thiết kế website ưa thích sử dụng, vì nó giải quyết vấn đề nhanh gọn, đỡ tốn thời gian. Với Webydo, có thể thiết kế và phát triển trang web một cách dễ dàng, nó cung cấp nền tảng linh hoạt nhằm giúp người sử dụng dễ dàng thiết lập, tạo dựng các trang web cho khách hàng của mình. Điều mà Webydo cần đó là một bản thiết kế web hoàn thiện, mọi chuyện còn lại sẽ để Webydo lo liệu, nỗi ám ảnh viết code sẽ khôn còn hiện hữu trong đầu bạn nữa. Như vậy bạn sẽ có nhiều thời gian hơn để tập trung sáng tạo, xây dựng nhiều mẫu website đẹp mắt hơn nữa.

Công cụ CSS3 Generator

Một công cụ xây dựng trang web miễn phí được công ty Mona Media ưa thích sử dụng đó chính là công cụ CSS3 Generator. Với công cụ này bạn có thể dễ dàng thêm hiệu ứng hình ảnh cho website một cách dễ dàng, chẳng hạn như các hiệu ứng đổ bóng, hiệu ứng chuyển tiếp. Lập trình viên website có thể chọn lựa bất kỳ phong cách thiết kế website nào, sau đó cài đặt các thông số thích hợp, phần mềm sẽ tự động làm việc thay cho bạn, nó sẽ tự tạo ra các CSS cần thiết theo yêu cầu thiết kế trang web.

Với công cụ CSS3 Generator, bạn có thể thử nghiệm các hiệu ứng hình ảnh khác nhau, để kiểm tra trong những tình huống khác nhau thì website sẽ hiển thị như thế nào, từ đó đưa ra phương hướng thay đổi phù hợp, tốt nhất cho bản thiết kế website của mình. Khi cảm thấy ưng ý bạn có thể sao chép bản CSS của công cụ vào khung CSS của mình để tạo nét chấm phá cho trang web của bạn.

Công cụ Am I Responsive

Đây là một phần mềm quan trọng, các dịch vụ thiết kế website hiện đại ngày nay đều phải thiết kế website chuẩn responsive. Có nghĩa là trang web phải được tối ưu trên giao diện các thiết bị di động khác nhau như điện thoại thông minh, máy tính bảng, laptop,… Muốn đảm bảo bản thiết kế của bạn trở nên hoản hảo thì bạn phải có công cụ test, cũng như chụp ảnh demo cho khách hàng rằng trang web sẽ được hiển thị như thế này, như thế kia. Nhưng không phải lập trình viên nào cũng có tiền sắm đủ bộ các thiết bị di động để kiểm tra tính năng responsive của website được. 

Giải pháp đặt ra là bạn chỉ cần nhập địa chỉ website vào thanh công cụ Am I Responsive, sau đó nó sẽ hiển thị hình ảnh trang web của bạn trên những thiết bị di động khác nhau, khi đó bạn có thể chụp hình ảnh lại một cách dễ dàng, để làm bản demo cho khách hàng.

 

Read More

Freeware

Ở đây tôi giữ một số chương trình của tôi mà tôi đã viết. Cả hai đều không thương mại và đã được phát triển khi cần thiết. Không có mã nguồn được cung cấp.

Bộ chuyển đổi FW3 sang TXT

Đây là một công cụ chuyển đổi tôi đã viết một ngày (năm 1999) khi tôi được yêu cầu giúp chuyển đổi các tệp tin Framework * .fw3. Vào thời điểm đó tôi không biết định dạng là gì và được sử dụng cho, không có hướng dẫn sử dụng nào cả. Vì vậy, công cụ chuyển đổi không chỉ giúp bạn luôn luôn trong trường hợp khi văn bản thuần được tạo ra và lưu trữ ở định dạng này. Mặc dù không có sự đảm bảo nào trong trường hợp của bạn. Ứng dụng MSDOS.  Chuyển đổi FW3

… Đây là một sự tiếp nối của câu chuyện: gần 5 năm sau tôi đã được hỏi lý do tại sao tôi chuyển đổi không làm việc với các tập tin văn bản đơn giản fw3 với văn bản tiếng Ý. Tôi không biết tại sao. Vì vậy, tôi bắt đầu một cuộc điều tra. Kết quả là FW3 sang TXT Converter 2.0 đã được tạo ra từ đầu. Nó vẫn còn khá tầm thường tiện ích nhưng phiên bản này nhận ra tiêu đề tập tin fw3, chân trang và bộ lọc cơ thể của mình đối với một định dạng TXT đơn giản. Đó là ứng dụng giao diện điều khiển Win32 với hiệu suất được cải thiện. Đã thêm nhiều tính năng như hỗ trợ ký tự đại diện và một số tùy chọn lọc. Sử dụng /? để được giúp đỡ. (Được kiểm tra: Win XP PRO + SP1 / 2K + SP4 / NT4 + SP6). Đặc biệt cảm ơn Tommaso Merkel (Studio Tecnos) để thử nghiệm và sửa nó dưới Win9x.  Chuyển đổi FW3 2.02.

Có một công cụ tốt đẹp khác cho FW3 chuyển đổi từ R & L; Phần mềm. Nó tốt hơn nhiều nhưng không phải là miễn phí.

Lưu ý, định dạng FW3 (cũng như tất cả các phiên bản sau) khá phức tạp / mạnh mẽ. Đôi khi nó không thể chuyển đổi nội dung thành một thứ có thể đọc được vì nội dung không phải là một văn bản. Hỏi Framework.com để được trợ giúp thêm nếu bạn cần tất cả dữ liệu quan trọng của mình.

Normal.dot

Một khi tôi đã viết rất nhiều bài báo khoa học cho cùng chủ đề, thuật ngữ chung đã được sử dụng và nhiều thuật ngữ đã được lặp lại. Tôi đã mệt mỏi với việc in một từ rất dài từ và viết một macro cho MS Word để lưu trữ và nhanh chóng nhớ lại tất cả những từ này kết hợp. Tôi cũng đã điều chỉnh thanh công cụ để truy cập nhanh vào chữ Hy Lạp và định dạng đoạn văn. Kể từ khi tôi giữ bình thường này.dot mẫu sang một bên. Như bạn biết, nó lưu tất cả các thiết lập người dùng thích cho bộ xử lý văn bản của Word. Ở đây bạn có thể tải về normal.dot và tệp tin AVI để xem một cách an toàn hoạt động như thế nào. MS Word 97/2000 tương thích. Chỉ cần thay thế cái cũ hoặc nhập các thiết lập và vĩ mô   normal.zip

Công việc của phòng thí nghiệm colormetric

Một lần nữa tôi được yêu cầu “sáng chế” cái gì đó để cho học sinh biết màu sắc là gì và cách chúng tồn tại. Công việc phòng thí nghiệm này là kết quả. Có màu cơ bản được xem xét, màu sắc hỗn hợp, bão hòa, độ sáng và độ tương phản được giải thích. Đường cong của tầm nhìn, vị trí màu sắc và các vấn đề khác được trình bày. Hệ điều hành: MS-DOS, ngôn ngữ giao diện: tiếng Nga. Để bắt đầu chạy start.bat để bật các trang mã đúng   colorlab.zip

SerialConfig

Một trong những dự án của tôi đã được xử lý chặt chẽ với PC giao tiếp nối tiếp. Vì vậy, tôi đã cố gắng để làm cho một tiện ích để giúp tôi một chút. Tôi đã thực hiện một, nhưng vì thiếu thời gian gửi dữ liệu đã không được thực hiện. Nó cho phép để mở COM1 / COM2, thiết lập / nhận cài đặt cổng, giám sát dữ liệu gửi đến cho opend cổng. Nó không hoàn hảo thực sự. Một trong những hoàn hảo nhất mà tôi đang phát triển trong thời gian rảnh rỗi của tôi và hy vọng nó sẽ, cuối cùng, “làm cho ước mơ của tôi trở thành sự thật” những gì các tiện ích giao tiếp nối tiếp máy tính nên được.  SerialConfig.zip

Wave In Sensor

Dự án khoa học của tôi đã được xử lý tổng hợp và xử lý tín hiệu. Điều thú vị là chúng ta làm thế nào để có thể sử dụng các khả năng PC để xử lý các tín hiệu băng thông âm thanh và tôi đã viết điều này. Chương trình này là một máy phân tích hình oscilloscope / spectra rất đơn giản, nó cho thấy tất cả đầu vào của card âm thanh trong miền thời gian hoặc tần số. Thực hiện quy mô V / H. FFT được sử dụng cho các bản vẽ phổ. Hệ điều hành được thử nghiệm: Win98. Ngôn ngữ giao diện: Tiếng Nga   WaveInSensor.zip

List Extractor

Tôi gọi nó theo cách này bởi vì nó trích ra các địa chỉ đăng ký yêu cầu từ đầu vào * .lst file bởi các tên reg được chỉ định trong một tập tin đầu vào. Vấn đề nêu ra cho Microchip microcontrollers lập trình ASM. Trong trường hợp của tôi địa chỉ đăng ký đã được chỉ định bởi incrementing với một.  lst_extr.zip

Khởi động lại, đăng xuất tiện ích

Một khi tôi đã viết một tiện ích trợ giúp đơn giản cho Windows để thực hiện tất cả những hành động này từ dòng lệnh hoặc tập tin thực thi. Đây là đầu ra của nó. Với các tham số dòng lệnh rỗng không có gì nhưng hiển thị một trợ giúp:

Cách sử dụng: khởi động lại [-option1] [-option2]
Lựa chọn 1:
        đăng xuất
        tắt nguồn
        khởi động lại
        tắt
Lựa chọn 2:
        lực lượng
Mặc định: reboot
Expample: khởi động lại - khởi động lại

Có một cái gì đó tương tự trong mạng và MS Resource Kit, nhưng tôi thích của tôi.  reboot.zip

Tính toán Bitrate Phim Mã hóa

Tiện ích mã nguồn mở HTML, Cười, được thực hiện như một người trợ giúp nhỏ để tính toán bitrate mã hóa cho video gia đình. Đối với bộ phim lengh (phút), kích thước tập tin mong muốn mong muốn hoặc dung lượng đĩa CD (Mb) và tốc độ bit âm thanh yêu cầu (kbit / s), nó sẽ tính toán tốc độ bit mã hóa video cần thiết (kbit / s) và cho giá trị cho các tệp video và âm thanh kết quả nếu không được sáp nhập. Yêu cầu bật JScript. IE 6.0 và NS 7.0 đã chứng minh.

Read More

Tạo các điều khiển ActiveX của riêng bạn

1. Giới thiệu

yếu tố kiểm soát ActveX – một tập tin với phần mở rộng OCX (ví dụ, MyButton.OCX), mà bạn có thể sử dụng trong ứng dụng của bạn Visual C ++. Visual C ++ và ngôn ngữ lập trình trực quan khác cho phép bạn kích hoạt các điều khiển ActiveX trong chương trình và sử dụng nó trong cùng một cách như kiểm soát ++ Visual C chuẩn. Bạn đặt điều khiển ActiveX trong hộp thoại, thiết lập thuộc tính của nó và liên kết mã với các sự kiện của nó. Sau khi bạn đã tạo điều khiển ActiveX của riêng mình, bạn có thể chuyển nó cho các lập trình viên khác có thể nhập nó vào các chương trình của họ.

Bởi vì phần mở rộng tệp điều khiển ActiveX là .OSX, đôi khi điều khiển ActiveX được gọi là các phần tử OSX. Trong chương này, bạn sẽ phát triển kiểm soát của bạn riêng ActiveX – MyClock.OSKH, thực hiện nhiệm vụ của màn hình hiển thị thời gian hiện tại. Khi các lập trình viên đặt các điều khiển MyClock.OXX trong các hình thức hoặc trong hộp thoại, MyClock. OCX sẽ liên tục hiển thị thời gian hiện tại.

 

2. Tạo một dự án

Để tạo một dự án điều khiển MyClock.OCX:

1) Chọn Mới từ trình đơn Tệp. Đáp lại, Visual C ++ hiển thị hộp thoại Mới. 2) Chọn tab Dự án của hộp thoại Mới. 3) Chọn MFC ActiveX ControlWizard từ danh sách các loại dự án 4) Kiểu MyClock trong cửa sổ Tên Dự án. 5) Nhấp vào nút nằm ở phía bên phải của cửa sổ Vị trí và chọn thư mục cho dự án. 6) Nhấp vào nút OK. Để đáp ứng, Visual C ++ sẽ hiển thị cửa sổ MFC ActiveX ControlWizard Bước 1 trong 2 Trong cửa sổ ActiveX ControlWizard Bước 1, để tất cả các thiết lập ở trạng thái mặc định và nhấp vào nút Tiếp theo. Trong ActiveX ControlWizard Bước 2, để tất cả các thiết lập ở trạng thái mặc định và nhấp vào nút Finish. Đáp lại, Visual C ++ hiển thị hộp thoại New Project Information. Nhấn OK trong hộp thoại New Project Information và chọn Set Active Configuration từ thực đơn Build. Đáp lại, Visual C ++ hiển thị hộp thoại Set Active Project Configuration. Chọn MyClock – Win32 Release trong hộp thoại Set Active Project Configuration và kích OK. Đó là tất cả! Bạn đã hoàn thành việc tạo ra các dự án tập tin và các wireframes của MyClock ActiveX kiểm soát các tập tin.

 

3. Thiết lập biểu tượng công cụ MyClock

Biểu tượng công cụ MyClock hiển thị các ký tự OCX. Bạn cần phải cấu hình kiểm soát MyClock để biểu tượng công cụ của nó là một đồ họa đồng hồ. Để cấu hình biểu tượng công cụ MyClock, bạn phải chỉnh sửa bitmap IDB_MYCLOCK. Hình ảnh này được tạo ra bởi Visual C ++. Để hiển thị bitmap IDB_MYCLOCK trong chế độ thiết kế, hãy thực hiện theo các bước sau:

1) Chọn thẻ ResourceView trong cửa sổ Workspace Workspace, mở rộng tài nguyên MyClock, mở rộng mục Bitmap, và nhấp đúp vào IDB_MYCLOCK. Đáp lại, Visual C ++ sẽ hiển thị bitmap IDB_MYCLOCK trong chế độ thiết kế. 2) Sử dụng các công cụ trực quan của Visual C ++, thay thế hình ảnh raster IDB_MYCLOCK của các chữ cái OCX với bản vẽ của đồng hồ đơn giản nhất (vòng tròn và hai dòng như các mũi tên).

 

 

4. Vẽ trong kiểm soát MyClock

Trong khi điều khiển MyClock hiển thị một hình elip. Bạn cần MyClock để hiển thị thời gian hiện tại, vì vậy bạn cần phải viết mã thích hợp: Mở tập tin MyClockCtl.cpp. Tệp MyClockCtl.cpp là tệp thực hiện cho kiểm soát MuClock mà bạn đã tạo cho Visual C ++; Trong tệp này, bạn sẽ viết mã của bạn để cấu hình MyClock. Tìm hàm OnDraw () trong MyClockCtl.cpp và viết đoạn mã sau:

VOID CMYCLOCKCTRL :: ONDRAW (CDC * PDC, CONST CRECT & RCBOUNDS, CONST CRECT & RCINVALID) { // TODO: THAY THẾ MÃ SAU BẰNG BẢN VẼ CỦA RIÊNG BẠN // CODE. / / ĐỔ ĐIỀU KHIỂN BẰNG MÀU ĐÃ CHỌN. PDC-> FILLRECT (RCBOUNDS, CBRUSH :: FROMHANDLE ((HBRUSH) GETSTOCKOBJECT (WHITE_BRUSH)))); CHAR CURRENTTIME [30]; STRUCT TM * NEWTIME; DÀI LTIME; // LẤY THỜI GIAN HIỆN TẠI THỜI GIAN (& LTIME); NEWTIME = LOCALTIME (& LTIME); // CHUYỂN ĐỔI THỜI GIAN THÀNH MỘT CHUỖI. STRCPY (CURRENTTIME, ASCTIME (NEWTIME)); / / HOÀN THÀNH DÒNG VỚI MỘT KÝ TỰ KHÔNG GIAN. CURRENTTIME [24] = ”; // THÊM MỘT CHUỖI HẠN CHẾ KÝ TỰ. CURRENTTIME [25] = 0; // IN THỜI GIAN HIỆN TẠI PDC-> EXTTEXTOUT (RCBOUNDS.LEFT, RCBOUNDS.TOP, ETO_CLIPPED, RCBOUNDS, CURRENTTIME, STRLEN (CURRENTTIME), NULL); }
 

 

5. Hiển thị thời gian hiện tại ở chế độ liên tục

Để hiển thị thời gian liên tục, bạn cần phải thực hiện theo các bước sau: 1) Viết mã lệnh đặt một bộ đếm thời gian với khoảng thời gian 1000 millisecond cho điều khiển MyClock. 2) Liên kết mã với sự kiện WM_TIMER của điều khiển MyClock. Sau khi thiết lập bộ định thời mỗi 1000 mili giây (mỗi giây), Windows sẽ gửi một thông báo WM_TIMER đến bộ điều khiển MyClock, để đáp ứng mã mà bạn liên kết với sự kiện điều khiển này sẽ được thực hiện. Mã này sẽ đơn giản xuất ra thời gian hiện tại, vì vậy giá trị thời gian sẽ được cập nhật liên tục. Bộ đếm thời gian phải được cài đặt ngay sau khi tạo điều khiển, vì vậy bạn cần kết hợp mã để đặt thời gian cho sự kiện WM_CREATE của điều khiển: Hiển thị hộp thoại ClassWizard bằng cách chọn ClassWizard từ trình đơn View. Trên trang Bản đồ Thư, hãy chọn sự kiện sau:

Tên Lớp: CMyClockCtrl Tổ Chức ID: CMyClockCtrl Thư: WM_CREATE

Nhấp vào nút Thêm chức năng. Đáp lại, Visual C ++ sẽ thêm hàm OpCreate () vào lớp CMyClockCtrl. Nhấp vào nút Chỉnh sửa mã trong ClassWizard. Đáp lại, Visual C ++ sẽ mở tệp MyClockCtrl.cpp với chức năng OnCreate () trong chế độ chỉnh sửa. Viết mã sau trong hàm OnCreate ():

INT CMYCLOCKCTRL :: ONCREATE (LPCREATESTRUCT LPCREATESTRUCT) { NẾU (COLECONTROL :: ONCREATE (LPCREATESTRUCT) == -1) RETURN -1; // TODO: THÊM MÃ TẠO ĐẶC BIỆT CỦA BẠN Ở ĐÂY // ĐẶT HẸN GIỜ. SETTIMER (1, 1000, NULL); TRỞ LẠI 0; }
 

bạn nhập mã bao gồm một nhà điều hành duy nhất, mà làm cho SetTimer () để thiết lập bộ đếm thời gian đến 1000 thời gian ms:

SetTiltier (1, 1000, NULL);

Từ bây giờ, mỗi 1000 mili giây Windows sẽ gửi một thông báo WM_TIMER tới bộ điều khiển. Bây giờ bạn cần liên kết mã với sự kiện WM_TIMER: Chọn ClassWizard từ trình đơn View. Trên trang Bản đồ Thư, hãy chọn sự kiện sau:

Tên Lớp: CMyClockCtrl ID đối tượng: CMyClockCtrl Message: WM_TIMER

Nhấp vào nút Thêm chức năng. Đáp lại, Visual C ++ sẽ thêm chức năng OnTimer () vào lớp CMyClockCtrl. Nhấp vào nút Chỉnh sửa mã trong ClassWizard. Đáp lại, Visual C ++ sẽ mở tệp MyClockCtrl.cpp với chức năng OnTimer () trong chế độ chỉnh sửa. Viết mã sau trong hàm OnTimerO:

VOID CMYCLOCKCTRL :: ONTIMER (UINT NIDEVENT) { // TODO: THÊM MÃ TRÌNH XỬ LÝ THƯ CỦA BẠN Ở ĐÂY VÀ / HOẶC GỌI / / MẶC ĐỊNH // CHUYỂN CUỘC GỌI ĐẾN CHỨC NĂNG ONDRAW (). INVALIDATECONTROL (); COLECONTROL :: ONTIMER (NIDEVENT); }
 

 

 

6. Cho phép các thuộc tính cơ bản trong ActiveX MyClock

Các thuộc tính cơ bản (Thuộc tính cổ phiếu) được xác định trước. Dưới đây là danh sách các thuộc tính cơ bản:

Dáng vẻ bên ngoài – Xuất hiện (3 chiều hoặc bằng phẳng) BackColor – Màu nền BorderStyle – Khung Kiểu Chú thích – Tiêu đề Enabled – Tình trạng có sẵn / không có sẵn Font – Font ForeColor – màu Foreground hWnd – Marker cửa sổ readyState – Ready Status chữ – Text

Để thực hành, chúng tôi bao gồm hai thuộc tính cơ bản trong ActiveX MyClock: BackColor và ForeColor. Làm như sau:

View -> ClassWizard -> Tự động hóa (proverte đến lớp CMyClockCtrl cài đặt trong tên lớp cửa sổ) Nhấn vào nút Thêm tài sản Chọn BackColor từ danh sách và nhấn OK Ngoài ra thêm và tài sản ForeColor.

Bộ điều khiển MyClock bây giờ có thuộc tính BackColor và ForeColor, nhưng chưa sử dụng các giá trị được lưu trữ trong các thuộc tính này. Bạn cần viết mã trong hàm OnDraw (), thực hiện công việc này:

VOID CMYCLOCKCTRL :: ONDRAW (CDC * PDC, CONST CRECT & RCBOUNDS, CONST CRECT & RCINVALID) { // TODO: THAY THẾ MÃ SAU BẰNG BẢN VẼ CỦA RIÊNG BẠN // CODE. / / ĐẶT MÀU NỀN TRƯỚC (MÀU CHỮ) PDC-> SETTEXTCOLOR (DỊCHCOLOR (GETFORECOLOR ())); // ĐẶT CHẾ ĐỘ NỀN TRONG SUỐT PDC-> SETBKMODE (TRANSPARENT); // TẠO MỘT BÀN CHẢI DỰA TRÊN GIÁ TRỊ BACKCOLOR CBRUSH BKBRUSH (DỊCHCOLOR (GETBACKCOLOR ())); // SƠN NỀN PDC-> FILLRECT (RCBOUNDS, & BKBRUSH); CHAR CURRENTTIME [30]; STRUCT TM * NEWTIME; DÀI LTIME; // LẤY THỜI GIAN HIỆN TẠI THỜI GIAN (& LTIME); NEWTIME = LOCALTIME (& LTIME); // CHUYỂN ĐỔI THỜI GIAN THÀNH MỘT CHUỖI. STRCPY (CURRENTTIME, ASCTIME (NEWTIME)); / / HOÀN THÀNH DÒNG VỚI MỘT KÝ TỰ KHÔNG GIAN. CURRENTTIME [24] = ”; // THÊM MỘT CHUỖI HẠN CHẾ KÝ TỰ. CURRENTTIME [25] = 0; // IN THỜI GIAN HIỆN TẠI PDC-> EXTTEXTOUT (RCBOUNDS.LEFT, RCBOUNDS.TOP, ETO_CLIPPED, RCBOUNDS, CURRENTTIME, STRLEN (CURRENTTIME), NULL); }
 

Vâng đó là tất cả, bây giờ kiểm soát MyClock có các thuộc tính của BackColor và ForeColor.

 

7. Cho phép một thuộc tính đặc biệt trong ActiveX MyClock

Trong nhiều trường hợp, bạn sẽ cần đưa vào thuộc tính kiểm soát của mình mà không có trong danh sách chuẩn. Những đặc tính này được gọi là đặc biệt. Ví dụ, hãy bao gồm thuộc tính UpdateInterval đặc biệt trong MyClock – thời gian cập nhật:

View -> ClassWizard -> Tự động hóa (proverte tên cửa sổ lớp học được đặt lớp CMyClockCtrl) Click vào nút tài sản Thêm trong cửa sổ bên ngoài tên loại UpdateInterval Trong các Loại hộp, chọn Dài Trong Tên biến phải m_updateinterval Cửa sổ chức năng thông báo đưa OnUpdateIntervalChanged Kiểm tra xem Đảm bảo rằng nút Thành viên được chọn trong quá trình triển khai thực hiện và nhấp vào OK

Do đó, chúng tôi đã xác định rằng với tài sản UpdateInterval được liên kết m_updateinterval biến và bất cứ khi nào giá trị tài sản UpdateInterval imenyatsya sẽ tự động thực hiện chức năng OnUpdateIntervalChanged. Bây giờ bạn cần phải khởi tạo thuộc tính UpdateInterval:

Mở tập tin MyClockCtl.cpp Tìm () chức năng và napishiet DoPropExchange trong nó như sau: // Khởi tạo thuộc tính UpdateInterval đến 1000 PX_Long (PPX, _T ( «UpdateInterval »), m_updateinterval, 1000);

Bây giờ chúng ta cần phải cập nhật các chức năng OnUpdateIntervalChanged:

// kiểm tra otrizatelnost if (m_updateinterval <0) { MessageBox ( «tài sản này có thể không phải là BE tiêu cực !!!»); m_updateinterval = 1000; } // Thiết lập bộ đếm thời gian SetTimer (1, (UINT) m_updateinterval, NULL) ;

và OnCreate:

/ / Thiết lập bộ đếm thời gian SetTimer (1, (UINT) m_updateinterval, NULL);

Read More

Làm thế nào để tải tập tin qua ftp?

Một khi tôi thiết kế tiện ích đơn giản để được sử dụng như ftp downloader để lấy cập nhật phần mềm từ máy chủ từ xa. Xem dự án làm việc cho MSVS6 để biết chi tiết. Ở đó bạn có thể tìm thấy:

  • làm thế nào để tạo ra phiên Internet
  • làm thế nào để thiết lập kết nối ftp
  • làm thế nào để sử dụng OnStatusCallbackchức năng
  • làm thế nào để liệt kê và duyệt danh sách các tập tin máy chủ ftp
  • làm thế nào để hiển thị biểu tượng liên kết cho mở rộng tập tin trong CListCtrl
  • làm thế nào để hiển thị tiến bộ trong khi tải tập tin
  • làm thế nào để tạo ra chủ đề cho các tập tin tải về và gián đoạn tải
  • cách duyệt đĩa cục bộ
  • làm thế nào để xử lý ngoại lệ
  • làm thế nào để sử dụng con trỏ động
Read More

Làm thế nào tôi có thể chờ đợi để chấm dứt thread?

Giả sử từ chủ đề chính chúng tôi tạo ra một chủ đề khác. Đó là suppoused để làm một số công việc và kết thúc. Đôi khi chủ đề chính muốn biết khi nào thread đã thoát. Thông thường họ đề nghị sử dụng một cái gì đó như thế này:

Xử lý hThread;
/ *
Tạo chủ đề,
thread làm một số công việc ...
Nó có thể thoát ra khỏi chính nó hoặc chúng tôi gửi tin nhắn đến thread để thoát.
* /
chuyển đổi (WaitForSingleObject (hThread, nTimeOut_IfAny)) {
	trường hợp WAIT_OBJECT_0:
		/ / Chủ đề đã đi, phản ứng bằng cách nào đó:
		fThreadFinished = true;
		phá vỡ;
	trường hợp WAIT_TIMEOUT:
		// Hết thời gian chờ, chủ đề vẫn đang chạy
		fThreadFinished = sai;
		phá vỡ;
	mặc định :
		// Có gì đó không đúng...
};

Lưu ý rằng việc chờ đợi này được thực hiện trong chủ đề chính, có thể có một số thông báo xuất hiện và từ chủ đề con quá. Nhưng chúng tôi không bơm thông báo này – điều đó rất tồi tệ. Điều này làm cho ứng dụng bị đông lạnh (không có phản hồi bằng bàn phím, không có bản cập nhật GUI). Nếu timeout quá dài và thread con sử dụng SendMessage()chức năng để gửi tin nhắn đến thread chính – bế tắc xảy ra. Để tránh điều này chúng ta cần phải chờ đợi cho thread và vẫn xử lý hàng đợi tin nhắn. Một khi tôi giải quyết nó theo cách này:

trong khi (true) {
 MSG msg;
 trong khi (PeekMessage (& msg ;, NULL, 0, 0, PM_REMOVE))
   DispatchMessage (& msg;);
   Kết quả DWORD = MsgWaitForMultipleObjects (1, & hThread ;, FALSE, nTimeOut, QS_ALLINPUT);
   if (result! = (WAIT_OBJECT_0 + 1))
      phá vỡ; / / Chủ đề là đã thoát
}

Điều này đã giúp. Sau đó tôi đã được khuyên để xem cách ATL chức năng AtlWaitWithMessageLoop()được thực hiện. Tôi thấy phương pháp của tôi gần đúng. Đây là một đoạn mã của hàm đó (ATLBASE.h):

BOOL AtlWaitWithMessageLoop (HANDLE hEvent)
{
  DWORD dwRet;
  MSG msg;

  trong khi (1)
  {
    dwRet = MsgWaitForMultipleObjects (1, & hEvent ;, FALSE, INFINITE, QS_ALLINPUT);

    if (dwRet == WAIT_OBJECT_0)
       trả về TRUE; // Sự kiện được báo hiệu

    if (dwRet! = WAIT_OBJECT_0 + 1)
       phá vỡ; // Có chuyện gì khác đã xảy ra

    // Có một hoặc nhiều thông báo cửa sổ khả dụng. Gửi chúng
    trong khi (PeekMessage (& msg, NULL, NULL, NULL, PM_REMOVE))
    {
      TranslateMessage (& msg;);
      DispatchMessage (& msg;);
      if (WaitForSingleObject (hEvent, 0) == WAIT_OBJECT_0)
         trả về TRUE; // Sự kiện hiện báo hiệu.
    }
  }
  trả về FALSE;
}

nơi đầu vào hEventlà xử lý chủ đề. Chức năng này sẽ không trở lại cho đến khi sợi còn sống nhưng hàng đợi tin nhắn của thread gọi (thường là một chính) sẽ được bơm.

Là một tác dụng phụ tôi đã sửa đổi các chức năng để sử dụng nó thay vì Sleep()chức năng dummy API . Bạn có thể chờ đợi cho chủ đề bây giờ có hoặc không có thời gian chờ hoặc chỉ cần chờ đợi một thời gian nhất định mà không khóa hàng đợi tin nhắn. Cuộc gọi: waitWithMessageLoop(0, 2000)waitWithMessageLoop(hThread),waitWithMessageLoop(hThread, 5000)

BOOL waitWithMessageLoop (HANDLE hEvent = 0, DWORD dwTimeout = INFINITE);

BOOL chờ đợiMessageLoop (HANDLE hEvent, DWORD dwTimeout)
{
  DWORD dwRet;
  MSG msg;
  hEvent = hEvent? hEvent: CreateEvent (NULL, FALSE, FALSE, NULL);
  
  trong khi (đúng)
  {
    dwRet = MsgWaitForMultipleObjects (1, & hEvent ;, FALSE, dwTimeout, QS_ALLINPUT);
    if (dwRet == WAIT_OBJECT_0)
       trả về TRUE;
    if (dwRet! = WAIT_OBJECT_0 + 1)
       phá vỡ;
    trong khi (PeekMessage (& msg, NULL, NULL, NULL, PM_REMOVE))
    {
      TranslateMessage (& msg;);
      DispatchMessage (& msg;);
      if (WaitForSingleObject (hEvent, 0) == WAIT_OBJECT_0)
         trả về TRUE;
    }
  }
  trả về FALSE;
}

Read More

Làm thế nào để chương trình cổng nối tiếp trong Windows?

Làm thế nào để chương trình cổng nối tiếp trong Windows?

Đối với truyền thông nối tiếp theo Windows cách tiếp cận phổ biến là sử dụng các chức năng API hoặc lớp bên thứ ba mà bao bọc chúng. Không có nhiều truy cập trực tiếp vào cổng đăng ký, nếu bạn không phát triển trình điều khiển thiết bị, của cource (đối với Win9x bạn vẫn có thể sử dụng như kỹ thuật-DOS-như lập trình, nhưng trong Win NT / 2K quên nó!).

Trước tiên, hãy xem những gì MSDN nói ở đây hoặc ở đây cho điều này. Nếu bạn vẫn không hài lòng truy cập vào CodeProject để tìm lớp wrapper cổng COM thích hợp . Cuối cùng, cũng có một điều khiển Microsoft ActiveX có tên MSComm cho mục đích này, nhưng hãy cẩn thận …

Read More

Tại sao tôi cần một destructor ảo?

Destructor ảo là một thực thể thiết yếu nếu bạn sử dụng thừa kế. Destructor ảo được khai báo trong một lớp cơ sở. Nó đảm bảo rằng đối với tất cả các lớp có nguồn gốc từ lớp cơ sở tất cả các destructors: 1) sẽ được gọi và 2) sẽ được gọi theo thứ tự đúng. Nó tạo ra một hành vi đa hình. Hãy xem đoạn trích dưới đây:

#include "stdio.h"

lớp BaseClass
{
	int id;
công cộng:
	BaseClass () {printf ("BaseClass () \ n"); }
	ảo ~ BaseClass () {printf ("~ BaseClass () \ n"); } // !!!
};

lớp Class1: public BaseClass
{
	int id;
công cộng:
	Class1 () {printf ("Class1 () \ n"); }
	~ Class1 () {printf ("~ Class1 () \ n"); }
};

lớp Class2: public Class1
{
	int id;
công cộng:
	Class2 () {printf ("Class2 () \ n"); }
	~ Class2 () {printf ("~ Class2 () \ n"); }
};


int main (int argc, char * argv [])
{
	BaseClass * p = new Class2;
	xóa p;

	trở lại 0;
}

Đầu ra trong trường hợp không có destructor ảo là:

BaseClass ()
Class1 ()
Lớp 2 ()
~ BaseClass ()

Nhưng đầu ra trong trường hợp với destructor ảo khác:

BaseClass ()
Class1 ()
Lớp 2 ()
~ Lớp 2 ()
~ Lớp 1 ()
~ BaseClass ()

Bây giờ bạn thấy những gì sẽ xảy ra nếu destructor nên gọi delete()cho một số đối tượng / mảng được sử dụng trong lớp học? Tiếp tục: sử dụng destructor ảo để đảm bảo thanh toán bù trừ bộ nhớ chính xác trong trường hợp sử dụng thừa kế.

Read More

Bài test

Học lập trình C cơ bản và nâng cao] Ngôn ngữ C là ngôn ngữ chương trình máy tính theo câu lệnh, thủ tục và theo mục đích chung được phát triển năm 1972 bởi Dennis M. Ritchie ở Bell Telephone lab để phát triển Hệ điều hành UNIX.

Ngôn ngữ C là ngôn ngữ máy tính được sử dụng rộng rãi nhất, nó cùng với ngôn ngữ Java là những ngôn ngữ lập trình phổ biến hàng đầu, được sử dụng rất rộng rãi trong giới lập trình viên hiện đại.

Dưới đây là danh sách các bài hướng dẫn học C cơ bản và nâng cao:

Read More