PsgLee's Blog

Never stop study, Never stop creativity !!!


Bình luận về bài viết này

Những điều cần biết khi sử dụng VMware Workstation

Chào các bạn, hôm nay mình có bài chia sẻ những điều cần biết khi sử dụng phần mềm VMware Workstation. Trong bài này mình sẽ nói về các nội dung sau:

  • VMware Workstation là gì ?
  • Cách tạo một máy ảo trên VMware
  • Chức năng cấp phát IP tự động (DHCP) trong VMware
  •  Chia sẻ dữ liệu giữa máy tính thật và máy tính ảo

Đầu tiên, VMware Workstation là gì ?  VMware Workstation là chương trình giả lập máy tính, nó cho phép người dùng tạo nhiều máy tính ảo trên một máy tính vật lý. Các máy tính ảo này có đầy đủ các thiết bị phần cứng ảo và có thể hoạt động giống như một máy tính thật sự. Sử dụng VMWare giúp cho việc thử nghiệm trở nên thuận tiện. Hiện tại VMware Workstation đã cập nhật lên version 11, bạn có thể download từ nhiều nguồn trên internet.

Bây giờ mình sẽ hướng dẫn cách tạo một máy ảo trên VMware Workstation (mình sử dụng VMware Workstation 10 nhé)

Bước 1: Chọn 1 trong 2 option sau để new 1 máy ảo.

new

hoặcnew2

 

Bước 2:  Nếu không cần thiết bị khác những thiết bị mặc định, chọn cấu hình mặc định cho máy ảo.

next

 

Bước 3: Có 2 lựa chọn cài đặt OS (Operating System) cho máy ảo: từ disc, từ disc image file (iso). Hoặc có thể cài đặt sau nhé (click chọn “I will install the operating system later”), nhưng thường thì ta sẽ browse file iso ngay bước này lun (cài bằng iso là thông dụng nhất).

nextxx

Bước 4: Chọn hệ điều hành sẽ được cài lên máy ảo, VMware hỗ trợ hầu hết các OS (và các version của OS tương ứng) thông dụng hiện nay rất tiện lợi cho việc kiểm thử (mình show ví dụ cho các bạn thấy các version của Microsoft Windows).

next4next5

 

Bước 5:  Đặt tên và chọn vị trí lưu các file cấu hình của VMWare, file ổ cứng ảo, file bộ nhớ ảo.

sadfBước 6:  Chọn dung lượng ổ cứng ảo (VMware sẽ đề nghị cho bạn dung lượng cần tương ứng với OS mà bạn cài đặt nhé, để mặc định hoặc thêm nhiều hơn).

qqwBước 7: Kiểm tra thông số lần cuối , chỉnh sửa nếu cần thiết, rồi click finish.

cvMáy ảo đã được tạo ra, bạn có thể chọn “Edit virtual machine setting” để chỉnh sửa máy ảo nhé.

fg

 

Bạn có thể chỉnh sửa mọi thứ tuy nhiên những chỉnh sửa đó phải phù hợp với OS mà bạn đang chọn máy ảo của mình nhé.

Capturecvcv

 

Một lưu ý quan trọng đó là việc chọn card mạng trên máy ảo, bây giờ mình sẽ nói rõ hơn. Khi cài đặt,  VMWare tạo ra ở máy thật 2 card mạng ảo:

  • VMWare Virtual Ethernet Adapter for VMnet1
  • VMWare Virtual Ethernet Adapter for Vmnet8

dffdffd

 

Hai card mạng này có thể được sử dụng để máy thật giao tiếp với các máy tính ảo. Khi “gắn” một card mạng vào một máy ảo, card mạng này có thể được chọn 1 trong 3 loại sau:

  • Bridge:
    • Card Bridge trên máy ảo chỉ có thể giao tiếp với card mạng thật trên máy thật.
    • Card mạng Bridge này có thể giao tiếp với mạng vật lý mà máy tính thật đang kết nối.
  • Host-only:
    • Card Host-only chỉ có thể giao tiếp với card mạng ảo VMnet1 trên máy thật.
    • Card Host-only chỉ có thể giao tiếp với các card Host-only trên các máy ảo khác.
    • Card Host-only không thể giao tiếp với mạng vật lý mà máy tính thật đang kết nối.
  • NAT:
    • Card NAT chỉ có thể giao tiếp với card mạng ảo VMnet8 trên máy thật.
    • Card NAT chỉ có thể giao tiếp với các card NAT trên các máy ảo khác.
    • Card NAT không thể giao tiếp với mạng vật lý mà máy tính thật đang kết nối. Tuy nhiên nhờ cơ chế NAT được tích hợp trong VMWare, máy tính ảo có thể gián tiếp liên lạc với mạng vật lý bên ngoài.

Như vậy tùy vào nhu cầu kiểm thử, bạn chọn loại card mạng để “gắn” vào máy ảo cho thích hợp. VMware có tính năng cấp IP động (DHCP), bạn có thể click vào Edit -> chọn Virtual Network Editor trên thanh tool bar để cấu hình. Trong một số trường hợp bạn phải tắt tính năng này để phù hợp với yêu cầu kiểm thử. (phần này các bạn tự mò nhé, mình cũng không biết nói gì)

fgghj

 

Phần cuối cùng trong bài này, sẽ là chia sẻ dữ liệu giữa máy thật và máy ảo. VMware cung cấp cho người dùng một công cụ dễ sử dụng và hiệu quả để chia sẻ dữ liệu giữa máy tính thật và máy tính ảo chạy trên nó.

Bước 1:  Trong hộp thoại hiệu chỉnh cấu hình máy ảo, chọn tab Options -> chọn mục Shared Folders -> chọn nút  -> Add để tạo một chia sẻ một thư mục trên máy tính thật cho máy ảo. (nhớ enable nó lên trước nhé)

aaaaaaaaaaa

 

Bước 2:  Chọn tên cho shared folder và chọn thư mục muốn share.

bbbbbbbbbb

 

 

Bước 3:  Chọn Enable this share để từ máy ảo có thể truy cập ngay vào thư mục share trên máy thật. Chọn Read-only để không cho phép máy ảo sửa đổi dữ liệu trong thư mục share.

cccccccccccccc

 

Như vậy mình đã giới thiệu đôi nét về VMware Workstation cũng như một số thao tác trên nó mong giúp ích cho các bạn trong quá trình sử dụng. Một điều lưu ý cho các bạn Dev mà đang sử dụng Hyper-V, thì cần tắt nó trước khi sử dụng VMware nhé. Chào các bạn !

 

 

 

 


2 bình luận

Bài 2: Làm quen với SQL Server Management Studio

Xin chào các bạn, hôm nay mình sẽ tiếp tục với bài thứ 2 trong series sử dụng và quản trị cơ sở dữ liệu trong SQL Server 2014. Trong bài này mình sẽ giới thiệu các nội dung sau:

  • SQL Server Management Studio
  • Thao tác trên Object Explorer
  • Database Objects
  • Backup & Restore

Ở bài trước mình đã hướng dẫn cài đặt SQL Server 2014, để làm việc các bạn mở trình quản lý cơ sở dữ liệu SQL Server Management Studio.

open

 

Trước hết ta cần hiểu đôi nét về SQL Server Management Studio. SQL Server Management Studio là một công cụ trực quan để quản lý SQL Server. Với SQL Server Management Studio chúng ta có thể thực hiện các tương tác với database trên giao diện người dùng hoặc bằng câu lệnh. SQL Server Management Studio được thiết kế thân thiện và dễ sử dụng, tuy nhiên bạn cũng cần phải có thời gian nhất định để làm quen với nó.

Khi mở SQL Server Management Studio, đầu tiên bạn sẽ phải đăng nhập.

login

Như ở bài trước mình có nói, khi cài đặt ở phần chọn quyền login, ta chọn Mixed Mode tức là cho phép login bằng cả 2 quyền: Windows và SQL Server. Bạn chọn server type như hình, nhập tên server của mình (thường nó sẽ tự động có) sau đó chọn quyền login (nếu chọn quyền SQL Server bạn nhập User name và Password vào nhé), click Connect.

object

 

Phía trên là cửa sổ Object Explorer, cửa sổ chính ta thao tác hầu hết trên đây nếu tương tác với database với hình thức giao diện. Dưới đây là một số đối tượng trong Database Object, chúng ta sẽ lần lượt tìm hiểu qua các bài sau:

  • The database itself
  • The transaction log
  • Tables
  • Indexes
  • File groups
  • Diagrams
  • Views
  • Stored procedures
  • User-defined functions
  • Sequences
  • Users
  • Roles
  • Assemblies
  • Reports
  • Full-text catalogs
  • User-defined data types

Bây giờ ta sẽ đi sâu hơn về Database Object, đây là nơi lưu trữ database của SQL cũng như của user. Với database của SQL (System  Database), mặc định sẽ có các database sau:

  • master
  • model
  • msdb
  • Tempdb

Hoặc có thêm các tùy chọn cài đặt:

  • ReportServer
  • ReportServerTempDB
  • AdventureWorks
  • AdventureWorksDW

Các database này như là những templates mẫu được Microsoft xây dựng sẵn để làm cơ sở tham khảo cho người dùng. Các bạn có thể mở từng mục của một database mẫu bất kì để tiến hành xem cấu trúc chuẩn mà Microsoft đã xây dựng hoặc khi gặp thắc mắc về các vấn đề trong quá trình tương tác với database các bạn có thể vào xem các dạng tương tự của nó để giải quyết vấn đề của mình.

Tiếp theo mình sẽ nói về The transaction log. Transaction log file trong SQL Server dùng để ghi lại các thay đổi xảy ra trong database. Quá trình này diễn ra như sau: đầu tiên khi có một sự thay đổi data như Insert, Update, Delete được yêu cầu từ các ứng dụng, SQL Server sẽ tải (load) data page tương ứng lên memory (vùng bộ nhớ này gọi là data cache), sau đó data trong data cache được thay đổi (những trang bị thay đổi còn gọi là dirty-page). Tiếp theo mọi sự thay đổi đều được ghi vào transaction log file cho nên người ta gọi là write-ahead log. Cuối cùng thì một quá trình gọi là Check Point Process sẽ kiểm tra và viết tất cả những transaction đã được commited (hoàn tất) vào đĩa cứng (flushing the page).

Một đối tượng nữa trong Database Object là Filegroup. Filegroup là 1 nhóm logic (không phải nhóm vật lý) các data file, tạo ra để quản lý data file dễ dàng hơn, thuận lợi và nhanh chóng cho việc bảo trì hệ thống và sao lưu hoặc phục hồi dữ liệu. Có 2 loại Filegroups: Primary và User-defined.

Primary filegroup chứa primary data file, các secondary data không nằm trong các filegroup khác và chứa tất cả các system table. User-defined filegroup chứa các secondary files và database objects. Lưu ý 1 cơ sở dữ liệu chứa tối đa 32,766 user-defined filegroups.

Một phần cuối trong bài này đó là  Backup & Restore.

  •  Backup
    •  R_Click trên DB cần backup -> Tasks -> Backup
    • Thực hiện theo hướng dẫn wizard
  • Restore
    • R_Click trên Object database -> chọn Restore -> chọn tập tin đã backup cần restore
    • Thực hiện theo hướng dẫn wizard
  •  Detach & Attach
    • Detach: gỡ DB (Tập tin .mdf và .ldf ) ra khỏi Management Studio
    • Attach: đưa tập tin .mdf và .ldf vào Management Studio

Vậy là mình đã xong bài 2, ở bài tiếp theo mình sẽ demo cho các bạn cách xây dựng một cơ sở dữ liệu trên SQL Server Management Studio.

 


Bình luận về bài viết này

Bài 1: Hướng dẫn cài đặt SQL Server 2014 và kiểm tra kết nối với Visual Studio 2013 Ultimate

Hi all,

Trong thời gian sắp tới mình sẽ có một series về việc sử dụng và quản trị cơ sở dữ liệu trên SQL Server 2014. Hôm nay mình sẽ hướng dẫn cài đặt SQL Server 2014, sau đó sẽ kiểm tra kết nối với Visual Studio 2013 Ultimate để thuận tiện cho việc lập trình kết nối dữ liệu sau này.

1. Gỡ bỏ version cũ (nếu có)

Đầu tiên các bạn vào Control Panel -> Uninstall a program -> Xóa hết các mục liên quan đến Version cũ. Các bạn chú ý có thể để lại 2 mục sau để khỏi mất thời gian cài đặt lại:

  • Microsoft SQL Server 2012 Management Objects
  • Microsoft SQL Server 2012 Management Objects (x64)

pic2

 

Tiếp đến bạn phải chuẩn bị file cài đặt, các bạn có thể download tại:

https://www.dropbox.com/s/tehh5bh3p8quh2t/SQL%20SERVER%202014%20DEVELOPER%20EDITION%20×64.iso?dl=0

Link ở trên là bản SQL Server Developer Edition x64 2014.

2. Cài version mới

– Từ file ISO vừa download về trong ổ cứng, click phải vào nó chọn Mount để ra ổ DVD.

– Mở ổ DVD vừa tạo chạy file SETUP.exe (file đã giải nén).

– Tiếp theo các bạn chọn như hướng dẫn trong các hình dưới đây:

pic3

 

pic5

 

– Tick vào ô đồng ý, rồi nhấn Next.

 

 

 

pic6

 

– Nhấn Next.

 

 

pic7

 

pic8

 

pic9

 

– Chọn Role đầu tiên, nhấn Next.

 

pic10

 

pic11

 

pic12

 

pic13

 

– Các bạn lưu ý ở bước này, để dễ dàng cho việc lập trình sau này, các bạn nên chọn Mixed Mode, để đăng nhập trình quản lý với cả 2 quyền (quyền Account Windows và quyền Account SQL Server). Các bạn nhớ nhập password và add user vào, nhấn Next.

pic14

 

 

– Chọn Mode ở trên, rồi Add User vào, nhấn Next.

pic15

 

– Chọn Install Only, nhấn Next.

 

 

pic16

 

 

– Add User, nhấn Next.pic17

 

– Các bạn có thể bỏ trống ô Name, nhấn Next.

pic18

 

– Kiểm tra lại trước khi install, nên để đường dẫn mặc định, nhấn Install.

 

 

pic19

 

– Chờ cho nó tiến hành cài đặt.

 

pic20

 

pic21

 

 

– Cài đặt thành công.pic22

Như vậy việc cài đặt đã hoàn thành, sẽ chuyển qua việc kiểm tra xem SQL đã connect được với Visual Studio chưa ?(đương nhiên bạn phải cài Visual Studio, ở đây mình dùng Visual Studio 2013 Ultimate).

3. Test connect

– Mở Microsoft SQL Server Management Studio, đăng nhập vào.

pic23

 

– Tạo một Database đơn giản.

pic24

 

– Tạo một Table và nhập vài dòng dữ liệu cho nó.

pic25

 

pic26

 

– Mở Visual Studio, chọn View mở cửa sổ Server Explorer.

pic27

 

– Click vào biểu tượng connect.

pic28

 

– Chọn Microsoft SQL Server, nhấn Continue.pic29

– Nhập thông tin Account, chọn đúng Server và Database muốn Test.

pic30– Click Test Connection, nếu hiện lên cửa sổ sau là connect thành công.

test 31– Như đã đề cập ở đầu bài viết, nếu như bạn đã có version cũ sẽ có gói sau: Microsoft SQL Server 2012 Management Objects, còn đối với cài mới hoàn toàn sẽ không có gói này dẫn đến khi bạn Test Connection sẽ bị lỗi.

pic32  pic33

– Để khắc phục bạn chỉ cần cài vào là xong, file cài đặt tải ở đây:

Sau khi cài xong gói trên, tiến hành kiểm tra lại lần nữa. Vậy là mình đã hướng dẫn các bạn cài đặt, test xong, ở bài tiếp theo của series này, mình sẽ hướng dẫn các bạn làm quen với MS SQL Server Management Studio, tạo database, table, …. Chúc các bạn thành công !

 

 

 


Bình luận về bài viết này

Hướng dẫn tham gia học công nghệ online và lấy chứng chỉ MVA Lite của Microsoft

Hi all,

Hôm nay mình sẽ share cho các bạn về một CONTENT trong chương trình WE SPEAK CODE của Microsoft đó là MVA Lite. Đối với không những sinh viên mà còn đối với giới yêu công nghệ có lẽ đã quen thuộc với trang học tập trực tuyến miễn phí Microsoft Virtual Academy do các chuyên gia hàng đầu của Microsoft xây dựng. Trong chương trình WE SPEAK CODE năm nay (2015), Microsoft mang đến cho chúng ta cơ hội học tập công nghệ và nhận chứng chỉ do Microsoft cấp. Các bước cụ thể như sau:

  • Đầu tiên, bạn cần tạo một account với định dạng [tencuaban][.][mva]@….com (VD:
    letuananh.mva@hotmail.com) tại website: http://www.microsoftvirtualacademy.com/ (trang chủ MVA).

Capture

 

  • Tiếp đến, bạn phải hoàn thành hai khóa học sau (hoàn thành 100%):

1.  Windows Store App Development Essentials with C# Refresh:  http://bit.ly/1xZRdMc .

2.  Windows 10 Technical Preview Fundamentals for IT Pros:  http://bit.ly/1GDQYjb .

Các bạn lưu ý, hình ảnh khóa học hoàn thành, bạn nhìn góc phải của khóa học:

Capture

  • Sau khi hoàn thành, bạn chụp hình màn hình của 2 khóa học lại và upload lên cloud (One Drive, Google Drive, …), bạn get link của 2 hình vừa up và điền đầy đủ thông tin vào form sau: http://1drv.ms/1G2qyYc .

Vừa rồi mình đã hướng dẫn các bạn các bước cụ thể để tham gia học và lấy chứng chỉ, bây giờ mình sẽ giới thiệu một ứng dụng giúp học tập trên trang MVA một cách tiện dụng hơn trên smartphone của chính các bạn. Ứng dụng mình muốn nhắc đến đó là MVA Lite do các bạn MSPs Việt Nam build, một số hình ảnh:

1234

5678

 

Link: MVA Lite for Windows Phone . Ứng dụng hiện chỉ có trên nền tảng Windows Phone, hứa hẹn trong tương lai sẽ có mặt trên các nền tảng di động khác.

Một số lưu ý cho các bạn:

– Sau khi hoàn thành 2 khóa học các bạn nhớ điền đầy đủ thông tin vào form để Microsoft tiến hành tổng hợp và gửi giấy chứng nhận về trường mà bạn đã đăng kí.

– Thời gian: đến hết ngày 8/05/2015.

– Bạn có thể học ở MVA Website hoặc bằng ứng dụng MVA Lite trên smartphone của mình nhé.

Các bạn có thể học nhiều hơn tại trang MVA, tất cả là miễn phí, mà kiến thức thì vô cùng nhiều. Chào các bạn, chúc các bạn thành công !

“Technology now is everywhere, all over the world. Each thing in life is connected to technology. Technology is started from coding. Learning how to code would put a huge effect on learning how to think, act and create a new whole creative different world. That’s why We Speak Code Campaign is designed to inspire youth to learn coding.” (#WeSpeakCode)


Bình luận về bài viết này

Hướng dẫn chạy ứng dụng Android trên bất cứ máy tính nào bằng Google ARC Welder chính chủ

Chào các bạn, hôm nay mình có một bài share nho nhỏ cho các bạn. Hiện tại mình đang dùng smartphone chạy Windows Phone, dù rất muốn trải nghiệm các hệ điều hành khác như Android, iOS, . . . nhưng gặp vấn đề kinh tế nên khá khó khăn. Đối với nhiều sinh viên đang theo Dev cũng sẽ gặp khó khăn trong vấn đề này.

Trong thời buổi công nghệ hiện nay khi ta phát triển một ứng dụng, một game, . . . việc nó hỗ trợ nhiều nền tảng sẽ giúp sản phẩm của chúng ta phổ biến trên thị trường hơn. Vì vậy việc trải nghiệm các nền tảng và tiếp cận từ từ với nền tảng đó là một điều cần thiết cho dân Dev.

Như các bạn cũng biết, hiện nay Android đang chiếm thị phần khá lớn so với các nền tảng còn lại, hôm nay mình sẽ hướng dẫn các bạn chạy ứng dụng Android trên PC, Laptop, . . . mà không cần sử dụng một công cụ ảo hóa nào. Điều các bạn cần có ở đây là một máy tính chạy trình duyệt Chrome và cài đặt extension ARC Welder do chính Google hỗ trợ.

Một số lưu ý:

– Có thể chạy trên tất cả các máy (bất kể chạy Mac , Linux hay Windows).

– Yêu cầu: cài đặt Chrome 4.0 trở lên.

– Vì đây chỉ mới trong quá trình thử nghiệm nên một số ứng dụng chạy chưa thật sự tốt, và chỉ có thể chạy đơn ứng dụng nghĩa là chỉ có thể chạy một ứng dụng một lúc mà thôi.

– ARC Welder chưa hỗ trợ Google Play Services (do mới chỉ là thử nghiệm), nhiều ứng dụng yêu cầu dịch vụ này sẽ không hoạt động, kể cả ứng dụng của Google.

Bây giờ mình sẽ hướng dẫn cho các bạn các bước cụ thể:

– Đầu tiên bạn phải cài đặt extension ARC Welder, bạn vào cửa hàng Chrome trực tuyến tải extension này. (Link: https://chrome.google.com/webstore/detail/arc-welder/emfinbmielocnlhgmfkkmkngdoccbadn). Bạn có thể chạy trực tiếp hoặc tải về cài đặt thủ công: chạy Chrome và gõ vào thanh địa chỉ chrome://extensions/, bạn tick vào checkbox chế độ dành cho nhà phát triển, click vào Tải tiện ích đã bung… (mình sử dụng ngôn ngữ Tiếng Việt)

setupextension

– Bây giờ bạn chạy ARC Welder lên và bắt đầu test. Ở đây mình sẽ demo cài đặt Facebook nhé. Các bạn chuẩn bị file .apk của ứng dụng Facebook trên Android (Link: http://www60.zippyshare.com/v/UlgJRVcQ/file.html ) các bạn có thể lấy từ nguồn khác nhé.

Đây là giao diện của ARC Welder:

arcwelder

Các bạn chọn Add your APK, chọn đến file apk của ứng dụng Facebook đã tải ở trên, click open và thiết lập một số thông số trước khi Launch App:

arcwelder2

Bạn có thể thiết lập chế độ chạy của app, ví dụ như phone, tablet, hướng xoay app (ngang, dọc)… cuối cùng là Launch App và trải nghiệm thôi. Với các ứng dụng khác bạn tải file apk và làm tương tự.

facebook2facebook

Chúc các bạn thành công !

 


Bình luận về bài viết này

Các Controls cơ bản trong Windows Phone (Phần 2)

Xin chào các bạn, trong bài hôm nay mình sẽ tiếp tục với với phần 2 của loạt bài tìm hiểu các Control cơ bản trong Windows Phone. Trong bài trước ta đã làm quen với các loại Layout Controls đó là Gird Layout, Stack Panel và Canvas. Trong Windows Phone, ngoài những Layout Controls còn có các loại Controls khác: Text Controls, Selection Controls, Button Controls và Image Controls.

1. Text Controls

  • TextBlock

Nếu bạn nào đã từng lập trình trên Windows Form thì sẽ biết đến Label, trên Windows Phone nó được gọi là TextBlock. Label hay TextBlock là những Controls hiện thị chuỗi chỉ cho phép đọc (Read Only) không cho phép chỉnh sửa. Tuy nhiên TextBlock trên Windows Phone nó cao thủ hơn, có những thuộc tính mà Label không có. Để sử dụng TextBlock bạn khai báo như sau (Code XAML):

<TextBlock Text=”Lee xin chào các bạn”/>   (Các bạn dùng thuộc tính Text để set chuỗi muốn hiển thị)

textblock

Tiếp theo mình muốn giới thiệu đến các bạn một thành phần khá hay của TextBlock đó là <Run/>. Trong trường hợp các bạn muốn hiển thị một đoạn Text nhưng đoạn Text đó nhiều định dạng khác nhau, bạn không muốn khai báo dài dòng mất thời gian (khi báo nhiều TextBlock khác nhau), <Run/> trong TextBlock sẽ giúp bạn làm điều đó. Đoạn Code sau sẽ demo nhé:

<TextBlock Margin=”10,66,34,486″ TextWrapping=”Wrap”>
<Run FontSize=”40″ FontFamily=”Time New Roman”>
3 hệ điều hành mobile phổ biến:
</Run>
<LineBreak/>
<Run FontSize=”30″ FontFamily=”Courier New” Foreground=”Red”>
– Android
</Run>
<LineBreak/>
<Run FontSize=”30″ FontFamily=”Verdana” Foreground=”Blue”>
– iOS
</Run>
<LineBreak/>
<Run FontSize=”30″ FontFamily=”Arial” Foreground=”Yellow”>
– Windows Phone
</Run>
</TextBlock>

Ta nhận được kết quả sau:

textblock2

Mình đã cố tình làm màu mè để cố gắn giới thiệu với các bạn các thuộc tính trong TextBlock. Giải thích một số thuộc tính:

– Margin: canh chỉ vị trí của Control này với Control khác (các Controls khác cũng có thuộc tính này) .

– TextWrapping: thuộc tính này có 2 giá trị là Wrap (tự động xuống dòng khi chiều rộng Control hết chỗ chứa – > co giãn đẹp hơn) và NoWrap (ngược lại nó sẽ hiển thị trên một dòng khi chuỗi quá dài nó sẽ bị mất phần phía sau không hiển thị).

– FontFamily: set Font chữ cho chuỗi.

– FontSize: set kích thước cho chuỗi.

– Foreground: set màu cho chuỗi.

Trên đây chỉ là một số thuộc tính hay dùng, các bạn có thể tìm hiểu thêm nhé.

  • TextBox

Control thứ 2 của Text Controls là TextBox, dùng để hiển thị và nhận dữ liệu input từ người dùng. Để sử dụng các bạn tiến hành khai báo như sau:

<TextBox Height=”72″ Text=”TextBox”/>

textbox

Ở Control này mình không nói rõ nữa vì các thuộc tính nó cũng tương tự nhau, mình chỉ giới thiệu cho các bạn một thuộc tính quan trọng của Control này nó focus đến người dùng. Đó là thuộc tính InputScope, nó đơn giản chỉ là hiện thị đúng loại bàn phím với nhu cầu nhập liệu giúp người dùng thao tác nhanh và dễ dàng hơn, ngoài ra còn giúp lập trình viên kiểm soát một số lỗi đơn giản. Mình sẽ lấy ví dụ đơn giản như sau: TextBox đang yêu cầu nhập số điện thoại, ta chọn InputScope là number (chỉ hiện số), nếu ta show ra bàn phím có chứa cả kí tự nữa thì ta sẽ phải có thêm dòng lệnh kiểm tra dữ liệu, còn nếu chỉ show ra bàn phím số ta chỉ cần lấy lấy dữ liệu không cần phải kiểm tra nữa vì đã đảm bảo tính chính xác của dữ liệu.

Các loại InputScope phổ biến:

– InputScope = “Url”

input1

– InputScope = “Number”

input2

– InputScope = “Text”

input3

  • PasswordBox

Một Control tiếp theo của Text Controls đó là PasswordBox, nó cũng giống như TextBox nhưng các kí tự khi người dùng nhập vào sẽ bị dấu đi. Bạn khai báo như bình thường, để get hoặc set kí tự cho PasswordBox bạn dùng thuộc tính Password:

<PasswordBox Height=”72″ Password=”123″ Width=”310″/>

password

 

 

2. Selection controls

  • CheckBox

CheckBox là Control dùng để thể hiện sự lựa chọn mang 2 giá trị true hoặc false.

Ex:

<CheckBox Height=”72″ IsChecked=”true”

Content=”Do you like WP ?”/>

checkbox

  • RadioButton

RadioButton là Control dùng để chọn một trong nhiều lựa chọn thuộc cùng nhóm với nhau. Để sử dụng các bạn khai báo như sau:

Ex:

<RadioButton Name=”radioButton1″ Content=”Nam” GroupName=”GioiTinh”/> <RadioButton Name=”radioButton2″ Content=”Nữ” GroupName=”GioiTinh”/>

radiobutton

  • Slider

Slider là Control cho phép thay đổi giá trị trong một khoảng nào đó.

Ex:

<Slider Name=”slider1″ VerticalAlignment=”Top” Width=”450″/>

slider

3. Button control

Button là Control rất hay được sử dụng, hầu như ứng dụng nào cũng có cả, nó dùng để tương tác với người dùng làm một công việc nào đó.

Ex:

<Button Content=”Button” Height=”72″ HorizontalAlignment=”Left”

Name=”button1″ VerticalAlignment=”Top” Width=”160″ />

button

4. Image control

Control này đơn giản là để hiển thị một bức ảnh lên giao diện.

<Image Source=”logoWindowsPhone.jpg” Width=”200″

Stretch=”Fill” Height=”200″ />

image

Mình vừa giới thiệu với các bạn các Control cơ bản còn lại trong Windows Phone, mình chỉ giới thiệu những cái chính thôi, còn các thuộc tính còn lại các bạn tự nghiên cứu trong quá trình lập trình nhé. Về cách thiết lập sự kiện cho các Control mình sẽ nói ở các bài sau. Trong bài tiếp theo chúng ta sẽ tiếp tục với các Control nâng cao trong Windows Phone. Chào các bạn !

 


Bình luận về bài viết này

Chương trình “Chúng ta cùng lập trình” năm 2015

Để những  khoảnh khắc chia sẽ kiến thức lập trình trở nên thú vị, hãy tham gia #WeSpeakCode. Cuộc thi #WeSpeakCode năm nay cũng sẽ được Microsoft Châu Á Thái Bình Dương tổ chức và dự kiến chuỗi sự kiện chính sẽ diễn ra từ 23 đến 29/3/2015.

Để dành giải thưởng của cuộc thi, thành viên tham dự chỉ đơn giản là chụp một bức ảnh thật sáng tạo, thú vị hoặc vui nhộn về những khoảnh khắc mà họ đang hướng dẫn bạn bè, gia đình, đồng nghiệp hoặc bất kỳ ai quen biết cách lập trình và chia sẻ bức hình này trên Instagram (http://instagram.com/WeSpeakCode) hoặc Facebook (https://www.facebook.com/WeSpeakCode?fref=photo)! Những bức hình này, người tham dự cần phải có cụm chữ #YouthSpark và #WeSpeakCode và đánh dấu (tag) @WeSpeakCode lên bức hình.

10411855_714341082012476_8672718838579985670_n

Chi tiết về cuộc thi, điều kiện và giải thưởng, vui lòng tham khảo tại http://www.wespeakcode.net/contestdetails-en.aspx .


Bình luận về bài viết này

“Thách thức để thay đổi” -“YouthSpark Challenge for Change”

Microsoft, 3/3/2015 – Microsoft vừa phát động cuộc thi mang tên “Thách thức để thay đổi” -“YouthSpark Challenge for Change”. Đây là cuộc thi dành cho thanh thiếu niên toàn cầu, lứa tuổi từ 13 đến 25.

Kêu gọi và khuyến khích thanh thiếu niên toàn cầu cùng tham dự cuộc thi “Thách thức để thay đổi” nhằm xử lý các thách thức để chuyển đổi thế giới theo xu hướng tích cực hơn.

header_top

 

Thông tin chi tiết: news.microsoft.com

Chi tiết về cuộc thi, điều kiện và giải thưởng, vui lòng tham khảo tại: microsoft.com


Bình luận về bài viết này

Các Controls cơ bản trong Windows Phone (Phần 1)

Xin chào các bạn, trong bài này sẽ giới thiệu cho các bạn các loại Layout Controls trong Windows Phone. Như các bạn đã biết hầu hết các ngôn ngữ lập trình đều hỗ trợ các loại Layout Controls để lập trình viên có thể dễ dàng trong việc quản lý các Controls khác. Trong Windows Phone, Layout Controls là những Controls kế thừa từ Panel, dùng để chứa và sắp xếp các đối tượng con nằm trong đó. Có 3 loại Layout Controls chính đó là: Gird Layout, Stack Panel và Canvas. Ngoài ra còn có 2 Controls không hẳn là Layout Controls là: Border và Scrollviewer.

  • Grid

Đầu tiên ta sẽ làm quen với Gird, hiểu nôm na đó là một cái lưới, nó sẽ định ra các dòng và cột, từ đó vị trí của các Controls bên trong Gird sẽ được xác định rõ nằm ở ô nào. Đối với Gird, các Controls trong nó sẽ được sắp xếp cân đối về cả chiều ngang và chiều dọc. Đoạn code dưới đây sẽ mô tả việc khai báo dòng và cột cho Gird layout:

<Grid x:Name=”LayoutRoot” >

<Grid.RowDefinitions>

<RowDefinition Height=”150″/>

<RowDefinition Height=”100″/>

<RowDefinition Height=”200″/>

</Grid.RowDefinitions>

<Grid.ColumnDefinitions>

<ColumnDefinition Width=”150″/>

<ColumnDefinition Width=”170″/>

<ColumnDefinition Width=”160″/>

</Grid.ColumnDefinitions>

</Grid>

Và đây sẽ là kết quả của khai báo trên (khai báo trong code XAML, file .xaml):

GirdLayout

Như mình đã nói ở trên, Gird Layout có thể chèn các Controls vào đúng chính xác vào từng ô:

<Button Width=”130″ Height=”100″ Content=”Button1″/>
<Button Grid.Column=”1″ Grid.Row=”1″ Width=”130″ Height=”100″ Content=”Button2″/>
<Button Grid.Column=”2″ Grid.Row=”2″ Width=”130″ Height=”100″ Content=”Button3″/>
<Button Grid.Column=”2″ Grid.Row=”1″ Width=”130″ Height=”100″ Content=”Button4″/>
<Button Grid.Column=”1″ Grid.Row=”2″ Width=”130″ Height=”100″ Content=”Button5″/>

Các bạn quan sát ta được kết quả sau, giải thích một chút: ví dụ như Button2 ta muốn chèn vào ô ở vị trí dòng 1 cột 1 ta sẽ khai báo Grid.Column=”1″ Grid.Row=”1″. Tương tự với các button cũng như các Controls còn lại ta cũng làm tương tự. Như vậy là ta đã xong Layout Controls đầu tiên, đó chỉ là cái cơ bản nhất của Controls này, bạn có thể tìm hiểu thêm các thuộc của nó sẽ rất có ích trong quá trình lập trình (click vào Controls trong cửa sổ properties, thay đổi các thuộc tính và quan sát).

  • Stack Panel

Tiếp theo ta sẽ làm quen với Stack Panel. Stack Panel đơn giản là một panel mà các Controls nằm trong đó sẽ được sắp xếp trên một hàng dọc hoặc một hàng ngang. Để thiết lập ngang hay dọc ta sẽ dùng thuộc tính  Orientation, giá trị mặc định của thuộc tính là Vertical (chiều dọc). Đoạn code sau sẽ biểu diễn 2 loại của Stack Panel:

<Grid>
<StackPanel Margin=”20″ x:Name=”stack1″>
<Rectangle Fill=”Red” Width=”50″ Height=”50″ Margin=”5″ />
<Rectangle Fill=”Blue” Width=”50″ Height=”50″ Margin=”5″ />
<Rectangle Fill=”Green” Width=”50″ Height=”50″ Margin=”5″ />
<Rectangle Fill=”Purple” Width=”50″ Height=”50″ Margin=”5″ />
</StackPanel>
<StackPanel Margin=”20″ x:Name=”stack2″ Orientation=”Horizontal”>
<Rectangle Fill=”Red” Width=”50″ Height=”50″ Margin=”5″ />
<Rectangle Fill=”Blue” Width=”50″ Height=”50″ Margin=”5″ />
<Rectangle Fill=”Green” Width=”50″ Height=”50″ Margin=”5″ />
<Rectangle Fill=”Purple” Width=”50″ Height=”50″ Margin=”5″ />
</StackPanel>
</Grid>

GirdLayout3

Các bạn thấy rằng ở stack1 mình không thiết lập thuộc tính Orientation, Stack sẽ mặc định lấy chiều dọc, còn ở stack2 mình thiết lập là Orientation=”Horizontal”, Stack sẽ quay sang chiều ngang.

  • Canvas

Bây giờ ta sẽ tiếp tục với Layout Controls thứ 3. Canvas sẽ xác định một khu vực mà các Controls nằm trong nó sẽ được xác định vị trí bằng cách xác định khoảng cách của Controls đến lề trái và lề trên của Canvas. Các bạn lưu ý, ta thường sử dụng Canvas trong trường hợp cần tạo ra những Controls mà không muốn thay đổi vị trí của nó. Đoạn code sau sẽ mô tả việc tạo ra một hình chữ nhật có khoảng cách lề trái là 30px, lề trên là 200px:

<Canvas Background=”Transparent”>

<Rectangle Canvas.Left=”30″ Canvas.Top=”200″

Fill=”red” Width=”200″ Height=”200″ />

</Canvas>

Kết quả ta được như sau:

GridLayout4

Như vậy chúng ta đã rõ 3 Layout Controls chính trong Windows Phone. Tiếp theo mình sẽ giới thiệu 2 Layout còn lại, mặc dù không thật sự là 2 Layout Controls thật sự nhưng nó rất hay được sử dụng.

  • Border

Border là Controls dùng để tạo khung cho Gird hoặc Stack Panel. Nó cũng có thể làm khung cho các Controls khác tùy mục đích sử dụng.

Ex:

<Border BorderThickness=”8,4,2,1″  Width=”300″ Height=”300″>

<Border.BorderBrush>

<LinearGradientBrush EndPoint=”0.5,1″

StartPoint=”0.5,0″>

<GradientStop Color=”Red” Offset=”0″/>

<GradientStop Color=”Blue” Offset=”1″/>

</LinearGradientBrush>

</Border.BorderBrush>

<Grid x:Name=”ContentPanel” >

</Grid>

</Border>

Border

  • ScrollViewer

Khi bạn cần hiển thị một nội dung dài, bạn có thể dùng ScrollViewer để chứa nội dung đó. ScrollViewer cung cấp khả năng cuộn văn bản khi nó vượt quá kích thước quy định. Để sử dụng ScrollViewer bạn khai báo như sau:

<ScrollViewer Height=”350″>

<TextBlock TextWrapping=”Wrap”>

[nội dung hiển thị]

</TextBlock>

</ScrollViewer>

Qua bài này bạn đã có những kiến thức cơ bản về các Layout Controls trong Windows Phone, mình đã có 1 Project Demo các Layout Controls vừa tìm hiểu các bạn tải ở đây : http://1drv.ms/1BzgJN7 . Ở phần 2 của loạt bài Các Controls cơ bản  trong Windows Phone, mình sẽ tiếp tục giới thiệu với các bạn Text Controls, Selection Controls, Button Controls và Image Controls.

 

 


Bình luận về bài viết này

Tìm hiểu ngôn ngữ XAML

Chào các bạn, trong bài viết hôm nay mình sẽ giới thiệu với các bạn tổng quan về ngôn ngữ XAML. XAML là gì ? Cú pháp ngôn ngữ XAML ra sao?

Đầu tiên, XAML là gì ? XAML là một ngôn ngữ đánh dấu khai báo như XML, nó được sử dụng trong các mẫu lập trình của .NET để đơn giản hóa việc tạo ra giao diện người dùng. Đối với XAML bạn có thể tạo giao diện người dùng cho ứng dụng, sau đó tách riêng phần logic runtime trong file .CS, để tham gia vào các khai báo XAML thông qua partial class .XAML đại diện cho tập hợp các đối tượng được định nghĩa đặc biệt từ assembly.

XAML có tính tiện lợi rất cao mà ít ngôn ngữ đánh dấu nào có được bởi sự tách biệt giữa phần thiết kế giao diện và lập trình logic thông qua tool hỗ trợ.

Khi được hiển thị ở định dạng text, file XAML là các file XML có đuôi mở rộng là .xaml , các tập tin xaml này có thể được mã hóa giống xml ví dụ như mã hóa UTF-8 là điển hình.

Tóm tắt các cú pháp của ngôn ngữ XAML.

  • Object Element & Property Syntax

Một Object Element thường khai báo là phiên bản (instantce) của 1 kiểu (1 class). Kiểu này được định nghĩa trong assembly để cung cấp 1 kiểu (1 class) tương đương với các Object Element trong XAML.

<[Tên Object Element] [Tên Thuộc tính = “Giá trị”] />

Ex:

<Stackpanel Orientation=”Horizontal”

<Button Content=”XAML” Height=”23″ HorizontalAlign=”Left”

Margin=”6″ Name=”btnNew” VerticalAlign=”Top”

Width=”75″ Height=”38″ Click=”btnNew_Click” />

</Stackpanel>

  • Property Element Syntax

Đối với vài thuộc tính của Object Element , khai báo cú pháp Property Syntax là không thể bởi vì giá trị của thuộc tính không nằm trong phạm vi “chuỗi giá trị” thay vào đó ta phải khai báo Property Element Syntax.

Ex:

<Label Content=”Title” Margin=”6″>

<Label.Backgound>

<SolidColorBrush Color=”Olive” />

</Label.Background>

</Label>

  • Collection Syntax

XAML là ngôn ngữ tối ưu hóa khả năng đánh dấu để các nhà phát triển dễ đọc hơn. Một trong các điểm tối ưu hóa là nếu 1 thuộc tính đặc biệt có kiểu là Collection. Trong đó các Item của Collection bạn có thể đánh dấu như child element vào trong giá trị của thuộc tính đặc biệt và trở thành 1 phần của collection.

Ex:

<Label Content=”Title” Margin=”6″>

<Label.Backgound>

<LinearGradientBrush>

<LinearGradientBrush.GradientStop>

<GradientStop Offset=”0.1″ Color=”Blue” />

<GradientStop Offset=”1.1″ Color=”Red”/>

</LinearGradientBrush.GradientStop>

</LinearGradientBrush>

</Label.Background>

</Label>

  • Attached Property Syntax

Đối với một số thuộc tính của element cha có thể được gắn đính kèm vào element con.

Ex:

<Grid>

<Button Grid.Row=”1″/>

</Grid>

Vậy là mình trình bày một cách tổng quan về ngôn ngữ XAML, các bạn lưu ý đối với từng trường hợp thì các bạn sử dụng cú pháp cho phù hợp.  Các bạn đừng lo lắng quá về việc mình sẽ sử dụng cú pháp nào, cứ dùng từ từ rồi sẽ quen thôi. Ở bài tiếp theo mình sẽ hướng dẫn các bạn làm quen với một số control cơ bản trên Windows Phone.