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ị!
[QUOTE=12520248;203004]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ị![/QUOTE]
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…
[QUOTE=12520248;203004]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ị![/QUOTE]
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!
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 ạ
Đầ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 ^^.
[QUOTE=12520478;203056]Đầ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 ^^.[/QUOTE]
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