Announcement

Collapse
No announcement yet.

Lập trình C trên windows

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • Lập trình C trên windows

    Em đang tìm hiểu về lập trình C trên windows bằng API. Em đang định làm một cái cửa sổ gồm một cái edittext và một button. Nhập vào một số n vào textbox. Nhấp button đề thực hiện việc xuất số nguyên tố thứ n lên một messagebox.

    câu hỏi: Làm thế nào để lấy dữ liệu đã cho từ edittext(kiều LPWSTR) cho vào Hàm MessageBox()(kiểu LPCWSTR)

    -Làm sao để chuyển từ LPWSTR ra int và chuyển từ int ra LPCWSTR?
    Cảm ơn các các anh chị!

  • #2
    Originally posted by 12520248 View Post
    Em đang tìm hiểu về lập trình C trên windows bằng API. Em đang định làm một cái cửa sổ gồm một cái edittext và một button. Nhập vào một số n vào textbox. Nhấp button đề thực hiện việc xuất số nguyên tố thứ n lên một messagebox.

    câu hỏi: Làm thế nào để lấy dữ liệu đã cho từ edittext(kiều LPWSTR) cho vào Hàm MessageBox()(kiểu LPCWSTR)

    -Làm sao để chuyển từ LPWSTR ra int và chuyển từ int ra LPCWSTR?
    Cảm ơn các các anh chị!
    Bạn k7 đúng không....Sao chưa gì đã học Lập trình win rồi...Phải học lần lượt theo thứ tự thì mới hiểu được vấn đề....Hk1 học Tin học đại cương...sang kì 2 học Cấu trúc dữ liệu và giải thuật(cũng có thể học Lập trình hướng đối tượng)..còn lập trình win là của kì 4...bạn phải nắm rõ 3 môn kia thì mới học lập trình win được...

    Comment


    • #3
      Originally posted by 12520248 View Post
      Em đang tìm hiểu về lập trình C trên windows bằng API. Em đang định làm một cái cửa sổ gồm một cái edittext và một button. Nhập vào một số n vào textbox. Nhấp button đề thực hiện việc xuất số nguyên tố thứ n lên một messagebox.

      câu hỏi: Làm thế nào để lấy dữ liệu đã cho từ edittext(kiều LPWSTR) cho vào Hàm MessageBox()(kiểu LPCWSTR)

      -Làm sao để chuyển từ LPWSTR ra int và chuyển từ int ra LPCWSTR?
      Cảm ơn các các anh chị!
      chào em!
      Có thể thấy em là 1 người ham học hỏi. Nếu em muốn tìm hiểu lập trình trên Windows, thì không nên theo hướng sử dụng ngôn ngữ C. tìm hiểu là tốt nhưng thực tế giờ ai xài cái đó nữa? tìm hiểu lập trình Windows bằng WPF sử dụng ngôn ngữ C# là 1 hướng tốt nha em. khuyến khích em đi theo hướng này, tại vì nếu em nắm tốt WPF thì e sẽ dễ dàng tiếp cận và học tập viết app cho windows 8, windows phone...
      Thân!

      Comment


      • #4
        Em thấy nó cũng không khó lắm(nếu lập trình bằng API) nên cũng thử sức thôi ạ

        Comment


        • #5
          Đầu tiên thì bạn cần hiểu một chút về LPWSTR và LPCWSTR

          LPWSTR = Long pointer to wide string ( con trỏ đến chuỗi mở rộng ( mở rộng ở đây có nghĩa là mở rộng bảng mã ascii )) <=> char *s // nôm na là thế
          LPCWSTR = Long pointer to constant wide string ( con trỏ đến hằng chuỗi mở rộng ) <=> const char *s // nôm na là thế

          Tóm lại chuỗi với chuỗi hằng chỉ khác nhau ở chỗ 1 cái ko sửa được , một cái sửa được thôi. Còn bản chất của 2 cái trên là con trỏ chỉ đến một dãy ký tự trên vùng nhớ.
          Bạn cứ tưởng tượng như đang làm việc với char s[10] // nôm na là thế.

          Nếu bạn nhận một đối số kiểu LPWSTR và muốn chuyển thành kiểu số để xử lý và cuối cùng chuyển lại về LPCWSTR thì cần qua các bước

          LPWSTR input

          wchar_t *s=input

          Ở đây kiểu wchar_t bạn cứ hiểu như kiểu char ( chỉ có khác là lượng ký tự nó mở rộng thôi )

          int a=_wtoi(s); //chuyển s thành integer a

          //xử lý a gì gì đó

          _itow_s(a, s, 10); //chuyển a thành wchar_t lại

          LPCWSTR kq=s; // cuối cùng gán s cho LPCWSTR

          Mình ko chắc lắm nhưng hy vọng nó cũng giúp bạn chút kiến thức ^^.

          Comment


          • #6
            Originally posted by 12520478 View Post
            Đầu tiên thì bạn cần hiểu một chút về LPWSTR và LPCWSTR

            LPWSTR = Long pointer to wide string ( con trỏ đến chuỗi mở rộng ( mở rộng ở đây có nghĩa là mở rộng bảng mã ascii )) <=> char *s // nôm na là thế
            LPCWSTR = Long pointer to constant wide string ( con trỏ đến hằng chuỗi mở rộng ) <=> const char *s // nôm na là thế

            Tóm lại chuỗi với chuỗi hằng chỉ khác nhau ở chỗ 1 cái ko sửa được , một cái sửa được thôi. Còn bản chất của 2 cái trên là con trỏ chỉ đến một dãy ký tự trên vùng nhớ.
            Bạn cứ tưởng tượng như đang làm việc với char s[10] // nôm na là thế.

            Nếu bạn nhận một đối số kiểu LPWSTR và muốn chuyển thành kiểu số để xử lý và cuối cùng chuyển lại về LPCWSTR thì cần qua các bước

            LPWSTR input

            wchar_t *s=input

            Ở đây kiểu wchar_t bạn cứ hiểu như kiểu char ( chỉ có khác là lượng ký tự nó mở rộng thôi )

            int a=_wtoi(s); //chuyển s thành integer a

            //xử lý a gì gì đó

            _itow_s(a, s, 10); //chuyển a thành wchar_t lại

            LPCWSTR kq=s; // cuối cùng gán s cho LPCWSTR

            Mình ko chắc lắm nhưng hy vọng nó cũng giúp bạn chút kiến thức ^^.
            Cảm ơn bạn. Nhưng mà lệnh gán không được bạn ơi. Hình như không thể gán hai chuổi cho nhau.
            LPCWSTR kq=s; // cuối cùng gán s cho LPCWSTR

            Comment

            LHQC

            Collapse
            Working...
            X