Giải thích Code trong đề thi giữa kỳ
+21
quocviet_i92c
vohongquan
KimThao_I83C_08H1012087
hongthanh
HoTaHuy(I92C)
PhanThanhTung_i92c
lexuanbinh(i92c)
tranthephuong(i92c)
HaLinh(I92C)
trantai_i92c
nguyenthingoan_i92c
tranquochoan_i92c
NGUYENPHUONGTHAO[I92C]
DaoThiHoa(I92C)
PhamVanNam(I92C)
hung01h1012049
08H1012072_quy
lequocdat_I92C
vietphuong(I92C)
khanhtram_I83C
nguyenvanchinh
25 posters
Trang 1 trong tổng số 2 trang
Trang 1 trong tổng số 2 trang • 1, 2
Giải thích Code trong đề thi giữa kỳ
/*Viết hàm gửi đoạn văn bản strTCVN3 vào VnVoice để đọc.*/
private void PronounceByVnVoice(string strTCVN3)
{
IntPtr hApp = FindWindow(null, "Speaking VN");
/*tìm xem trong những chương trình đang chạy có chương trình nào có tên "Speaking VN" hay không? Nếu có thì trả về giá trị ID của nó cho biến hApp còn không thì trả về NULL*/
IntPtr hFrame = FindWindowEx(hApp, IntPtr.Zero,"AfxFrameOrView42s", "");
/* với chương trình vừa tìm được thì tiếp tục lại tìm (tìm kiếm mở rộng) trong chương trình đó có frame nào tên là “AfxFrameOrView42s” hay không? Nếu có thì trả ID của nó về cho biến hFrame còn nếu không thì trả về NULL */
IntPtr hRichEditBox = FindWindowEx(hFrame, IntPtr.Zero, "RICHEDIT", "");
//với frame vừa tìm được thì tiếp tục lại tìm (tìm kiếm mở rộng) trong đó có đối tượng nào tên là “RICHEDIT” hay không? Nếu có thì trả ID của nó về cho biến hFrame còn nếu không thì trả về NULL
Clipboard.Clear();
/*Xoá sạch clipboard để chứa đoạn văn bản được giữ ở biến strTCVN3 .*/
SendMessageW(hRichEditBox, WM_SETTEXT, 0, (int)Marshal.StringToHGlobalUni(strTCVN3));
/*Gửi đoạn văn bản chứa bởi strTCVN3 tới đối tượng RICHEDIT của chương trình "Speaking VN" */
SendMessage(hApp, WM_COMMAND, 104, 0);
/*sau khi gửi đoạn văn bản tới RICHEDIT của tiến trình "Speaking VN" thì tiếp tục gọi lệnh gửi thông điệp thực hiện tới đối tượng có ID=104 (là button đọc của chương trình VnVoice)*/
}
Theo mình thì bài số 5 được giải thích code như vậy. trong bài còn nhiều từ ngữ dùng chưa được chuẩn cho lắm, mong được sự góp ý của các bạn và sự chỉ bảo của Thầy!
Admin
- Trình bày được như trên là sự cố gắng rất lớn. Thật tốt. Về cơ bản là chính xác.
- Mấy sai sót sau:
+ Các hàm FindWindow và FindWindowEx trả về giá trị là Mục quản (Handle) của cửa sổ tìm được. ID (Mã định danh) là khái niệm khác.
+ Chuỗi "Speaking VN" là tên (tiêu đề) của cửa sổ cần tìm, trong khi "AfxFrameOrView42s" và "RICHEDIT" là các tên lớp (Class Name) tức tên loại cửa sổ cần tìm (các tiêu đề đều là chuỗi rỗng nghĩa là không có).
private void PronounceByVnVoice(string strTCVN3)
{
IntPtr hApp = FindWindow(null, "Speaking VN");
/*tìm xem trong những chương trình đang chạy có chương trình nào có tên "Speaking VN" hay không? Nếu có thì trả về giá trị ID của nó cho biến hApp còn không thì trả về NULL*/
IntPtr hFrame = FindWindowEx(hApp, IntPtr.Zero,"AfxFrameOrView42s", "");
/* với chương trình vừa tìm được thì tiếp tục lại tìm (tìm kiếm mở rộng) trong chương trình đó có frame nào tên là “AfxFrameOrView42s” hay không? Nếu có thì trả ID của nó về cho biến hFrame còn nếu không thì trả về NULL */
IntPtr hRichEditBox = FindWindowEx(hFrame, IntPtr.Zero, "RICHEDIT", "");
//với frame vừa tìm được thì tiếp tục lại tìm (tìm kiếm mở rộng) trong đó có đối tượng nào tên là “RICHEDIT” hay không? Nếu có thì trả ID của nó về cho biến hFrame còn nếu không thì trả về NULL
Clipboard.Clear();
/*Xoá sạch clipboard để chứa đoạn văn bản được giữ ở biến strTCVN3 .*/
SendMessageW(hRichEditBox, WM_SETTEXT, 0, (int)Marshal.StringToHGlobalUni(strTCVN3));
/*Gửi đoạn văn bản chứa bởi strTCVN3 tới đối tượng RICHEDIT của chương trình "Speaking VN" */
SendMessage(hApp, WM_COMMAND, 104, 0);
/*sau khi gửi đoạn văn bản tới RICHEDIT của tiến trình "Speaking VN" thì tiếp tục gọi lệnh gửi thông điệp thực hiện tới đối tượng có ID=104 (là button đọc của chương trình VnVoice)*/
}
Theo mình thì bài số 5 được giải thích code như vậy. trong bài còn nhiều từ ngữ dùng chưa được chuẩn cho lắm, mong được sự góp ý của các bạn và sự chỉ bảo của Thầy!
Admin
- Trình bày được như trên là sự cố gắng rất lớn. Thật tốt. Về cơ bản là chính xác.
- Mấy sai sót sau:
+ Các hàm FindWindow và FindWindowEx trả về giá trị là Mục quản (Handle) của cửa sổ tìm được. ID (Mã định danh) là khái niệm khác.
+ Chuỗi "Speaking VN" là tên (tiêu đề) của cửa sổ cần tìm, trong khi "AfxFrameOrView42s" và "RICHEDIT" là các tên lớp (Class Name) tức tên loại cửa sổ cần tìm (các tiêu đề đều là chuỗi rỗng nghĩa là không có).
Re: Giải thích Code trong đề thi giữa kỳ
Cảm ơn thầy và bạn đã giải thích. Bây giờ thì em đã hiểu
khanhtram_I83C- Tổng số bài gửi : 49
Join date : 10/10/2010
Re: Giải thích Code trong đề thi giữa kỳ
Em cám ơn thầy đã chỉ những chố sai sót. khi trình bày bài này em cũng không thật chắc chắn về những thuật ngữ này đó nhưng em mạnh dạn đưa lên nhờ thầy sửa sai. em cảm ơn thầy, rất cảm ơn thầy!
Giải thích code trong kỳ thi giữa kỳ
Cám ơn thầy và bạn, bây giờ mình đã hiểu được. Cảm ơn rất nhiều.
vietphuong(I92C)- Tổng số bài gửi : 18
Join date : 20/09/2010
Re: Giải thích Code trong đề thi giữa kỳ
Thì ra là vậy, cảm ơn các bạn và thầy rất nhiều.
lequocdat_I92C- Tổng số bài gửi : 5
Join date : 08/11/2010
Đến từ : I92C
Re: Giải thích Code trong đề thi giữa kỳ
Câu hỏi giải thích code này coi bộ khó ăn quá, cái này phải hiểu thật kỹ thì mới giải thích được đúng ý nghãi của nó.
Dẫu sao cũng cảm ơn bạn đã chia sẽ. Thanks !
Admin
Có vẻ "choáng váng" thôi, thực ra rất bình thường, nhưng trên Mạng biết bao người ước ao biết cách làm như vậy đấy.
Dẫu sao cũng cảm ơn bạn đã chia sẽ. Thanks !
Admin
Có vẻ "choáng váng" thôi, thực ra rất bình thường, nhưng trên Mạng biết bao người ước ao biết cách làm như vậy đấy.
08H1012072_quy- Tổng số bài gửi : 51
Join date : 02/11/2010
Re: Giải thích Code trong đề thi giữa kỳ
nguyenvanchinh đã viết:/*Viết hàm gửi đoạn văn bản strTCVN3 vào VnVoice để đọc.*/
private void PronounceByVnVoice(string strTCVN3)
{
IntPtr hApp = FindWindow(null, "Speaking VN");
/*tìm xem trong những chương trình đang chạy có chương trình nào có tên "Speaking VN" hay không? Nếu có thì trả về giá trị ID của nó cho biến hApp còn không thì trả về NULL*/
IntPtr hFrame = FindWindowEx(hApp, IntPtr.Zero,"AfxFrameOrView42s", "");
/* với chương trình vừa tìm được thì tiếp tục lại tìm (tìm kiếm mở rộng) trong chương trình đó có frame nào tên là “AfxFrameOrView42s” hay không? Nếu có thì trả ID của nó về cho biến hFrame còn nếu không thì trả về NULL */
IntPtr hRichEditBox = FindWindowEx(hFrame, IntPtr.Zero, "RICHEDIT", "");
//với frame vừa tìm được thì tiếp tục lại tìm (tìm kiếm mở rộng) trong đó có đối tượng nào tên là “RICHEDIT” hay không? Nếu có thì trả ID của nó về cho biến hFrame còn nếu không thì trả về NULL
Clipboard.Clear();
/*Xoá sạch clipboard để chứa đoạn văn bản được giữ ở biến strTCVN3 .*/
SendMessageW(hRichEditBox, WM_SETTEXT, 0, (int)Marshal.StringToHGlobalUni(strTCVN3));
/*Gửi đoạn văn bản chứa bởi strTCVN3 tới đối tượng RICHEDIT của chương trình "Speaking VN" */
SendMessage(hApp, WM_COMMAND, 104, 0);
/*sau khi gửi đoạn văn bản tới RICHEDIT của tiến trình "Speaking VN" thì tiếp tục gọi lệnh gửi thông điệp thực hiện tới đối tượng có ID=104 (là button đọc của chương trình VnVoice)*/
}
Theo mình thì bài số 5 được giải thích code như vậy. trong bài còn nhiều từ ngữ dùng chưa được chuẩn cho lắm, mong được sự góp ý của các bạn và sự chỉ bảo của Thầy!
Admin
- Trình bày được như trên là sự cố gắng rất lớn. Thật tốt. Về cơ bản là chính xác.
- Mấy sai sót sau:
+ Các hàm FindWindow và FindWindowEx trả về giá trị là Mục quản (Handle) của cửa sổ tìm được. ID (Mã định danh) là khái niệm khác.
+ Chuỗi "Speaking VN" là tên (tiêu đề) của cửa sổ cần tìm, trong khi "AfxFrameOrView42s" và "RICHEDIT" là các tên lớp (Class Name) tức tên loại cửa sổ cần tìm (các tiêu đề đều là chuỗi rỗng nghĩa là không có).
hung01h1012049- Tổng số bài gửi : 7
Join date : 11/11/2010
Re: Giải thích Code trong đề thi giữa kỳ
E cảm ơn thầy và các bạn nhiều. Bài này là 1 ví dụ đã giúp e hiểu và có thể học tiếp để giái thik các đoạn code khác.
PhamVanNam(I92C)- Tổng số bài gửi : 35
Join date : 13/09/2010
Đến từ : Ho Chi Minh
Re: Giải thích Code trong đề thi giữa kỳ
E cũng mới hiểu được chút về nguyên lý làm việc của đoạn code này. Cảm ơn thầy và các bạn nhé!
DaoThiHoa(I92C)- Tổng số bài gửi : 11
Join date : 27/10/2010
Re: Giải thích Code trong đề thi giữa kỳ
bạn votrungthanh cũng đã từng giải thích đoạn code này ... cảm ơn 2 bạn nha ... mai kiểm tra rồi , cố lên các bạn ơi
NGUYENPHUONGTHAO[I92C]- Tổng số bài gửi : 43
Join date : 14/09/2010
Re: Giải thích Code trong đề thi giữa kỳ
Nhờ có forum này mà 1 số vấn đề khúc mắc trong quá trình học đã được tháo gỡ, xin cảm ơn thầy và các bạn.
tranquochoan_i92c- Tổng số bài gửi : 24
Join date : 25/10/2010
Re: Giải thích Code trong đề thi giữa kỳ
Thanks thầy và bạn nhé
nguyenthingoan_i92c- Tổng số bài gửi : 43
Join date : 12/11/2010
Re: Giải thích Code trong đề thi giữa kỳ
hung01h1012049 đã viết:nguyenvanchinh đã viết:/*Viết hàm gửi đoạn văn bản strTCVN3 vào VnVoice để đọc.*/
private void PronounceByVnVoice(string strTCVN3)
{
IntPtr hApp = FindWindow(null, "Speaking VN");
/*tìm xem trong những chương trình đang chạy có chương trình nào có tên "Speaking VN" hay không? Nếu có thì trả về giá trị ID của nó cho biến hApp còn không thì trả về NULL*/
IntPtr hFrame = FindWindowEx(hApp, IntPtr.Zero,"AfxFrameOrView42s", "");
/* với chương trình vừa tìm được thì tiếp tục lại tìm (tìm kiếm mở rộng) trong chương trình đó có frame nào tên là “AfxFrameOrView42s” hay không? Nếu có thì trả ID của nó về cho biến hFrame còn nếu không thì trả về NULL */
IntPtr hRichEditBox = FindWindowEx(hFrame, IntPtr.Zero, "RICHEDIT", "");
//với frame vừa tìm được thì tiếp tục lại tìm (tìm kiếm mở rộng) trong đó có đối tượng nào tên là “RICHEDIT” hay không? Nếu có thì trả ID của nó về cho biến hFrame còn nếu không thì trả về NULL
Clipboard.Clear();
/*Xoá sạch clipboard để chứa đoạn văn bản được giữ ở biến strTCVN3 .*/
SendMessageW(hRichEditBox, WM_SETTEXT, 0, (int)Marshal.StringToHGlobalUni(strTCVN3));
/*Gửi đoạn văn bản chứa bởi strTCVN3 tới đối tượng RICHEDIT của chương trình "Speaking VN" */
SendMessage(hApp, WM_COMMAND, 104, 0);
/*sau khi gửi đoạn văn bản tới RICHEDIT của tiến trình "Speaking VN" thì tiếp tục gọi lệnh gửi thông điệp thực hiện tới đối tượng có ID=104 (là button đọc của chương trình VnVoice)*/
}
Theo mình thì bài số 5 được giải thích code như vậy. trong bài còn nhiều từ ngữ dùng chưa được chuẩn cho lắm, mong được sự góp ý của các bạn và sự chỉ bảo của Thầy!
Admin
- Trình bày được như trên là sự cố gắng rất lớn. Thật tốt. Về cơ bản là chính xác.
- Mấy sai sót sau:
+ Các hàm FindWindow và FindWindowEx trả về giá trị là Mục quản (Handle) của cửa sổ tìm được. ID (Mã định danh) là khái niệm khác.
+ Chuỗi "Speaking VN" là tên (tiêu đề) của cửa sổ cần tìm, trong khi "AfxFrameOrView42s" và "RICHEDIT" là các tên lớp (Class Name) tức tên loại cửa sổ cần tìm (các tiêu đề đều là chuỗi rỗng nghĩa là không có).
sao tớ chép về test thử trên vs2005 lỗi sửa hok được nà, có phải còn thiếu phương thức nào hok ta?
hepl me?
Re: Giải thích Code trong đề thi giữa kỳ
Hi bạn,
Đoạn code trên đây chỉ có hàm PronounceByVnVoice được dùng bởi nút Phát âm để đọc một đoạn văn bản gửi vào chương trình.
Để chạy được hàm này bạn cần phải import một số thư viện Win32 API thì mới dùng được.
Thân.
Linh
Đoạn code trên đây chỉ có hàm PronounceByVnVoice được dùng bởi nút Phát âm để đọc một đoạn văn bản gửi vào chương trình.
Để chạy được hàm này bạn cần phải import một số thư viện Win32 API thì mới dùng được.
Thân.
Linh
trantai_i92c đã viết:hung01h1012049 đã viết:nguyenvanchinh đã viết:/*Viết hàm gửi đoạn văn bản strTCVN3 vào VnVoice để đọc.*/
private void PronounceByVnVoice(string strTCVN3)
{
IntPtr hApp = FindWindow(null, "Speaking VN");
/*tìm xem trong những chương trình đang chạy có chương trình nào có tên "Speaking VN" hay không? Nếu có thì trả về giá trị ID của nó cho biến hApp còn không thì trả về NULL*/
IntPtr hFrame = FindWindowEx(hApp, IntPtr.Zero,"AfxFrameOrView42s", "");
/* với chương trình vừa tìm được thì tiếp tục lại tìm (tìm kiếm mở rộng) trong chương trình đó có frame nào tên là “AfxFrameOrView42s” hay không? Nếu có thì trả ID của nó về cho biến hFrame còn nếu không thì trả về NULL */
IntPtr hRichEditBox = FindWindowEx(hFrame, IntPtr.Zero, "RICHEDIT", "");
//với frame vừa tìm được thì tiếp tục lại tìm (tìm kiếm mở rộng) trong đó có đối tượng nào tên là “RICHEDIT” hay không? Nếu có thì trả ID của nó về cho biến hFrame còn nếu không thì trả về NULL
Clipboard.Clear();
/*Xoá sạch clipboard để chứa đoạn văn bản được giữ ở biến strTCVN3 .*/
SendMessageW(hRichEditBox, WM_SETTEXT, 0, (int)Marshal.StringToHGlobalUni(strTCVN3));
/*Gửi đoạn văn bản chứa bởi strTCVN3 tới đối tượng RICHEDIT của chương trình "Speaking VN" */
SendMessage(hApp, WM_COMMAND, 104, 0);
/*sau khi gửi đoạn văn bản tới RICHEDIT của tiến trình "Speaking VN" thì tiếp tục gọi lệnh gửi thông điệp thực hiện tới đối tượng có ID=104 (là button đọc của chương trình VnVoice)*/
}
Theo mình thì bài số 5 được giải thích code như vậy. trong bài còn nhiều từ ngữ dùng chưa được chuẩn cho lắm, mong được sự góp ý của các bạn và sự chỉ bảo của Thầy!
Admin
- Trình bày được như trên là sự cố gắng rất lớn. Thật tốt. Về cơ bản là chính xác.
- Mấy sai sót sau:
+ Các hàm FindWindow và FindWindowEx trả về giá trị là Mục quản (Handle) của cửa sổ tìm được. ID (Mã định danh) là khái niệm khác.
+ Chuỗi "Speaking VN" là tên (tiêu đề) của cửa sổ cần tìm, trong khi "AfxFrameOrView42s" và "RICHEDIT" là các tên lớp (Class Name) tức tên loại cửa sổ cần tìm (các tiêu đề đều là chuỗi rỗng nghĩa là không có).
sao tớ chép về test thử trên vs2005 lỗi sửa hok được nà, có phải còn thiếu phương thức nào hok ta?
hepl me?
HaLinh(I92C)- Tổng số bài gửi : 24
Join date : 14/09/2010
Re: Giải thích Code trong đề thi giữa kỳ
Hi!
to co chep duoc sourcecode phan VnVoice cua Thay roi, minh dang hoc C# nen chua biet ve include, class, method, function cua C# lam .
thanks HaLinh!
to co chep duoc sourcecode phan VnVoice cua Thay roi, minh dang hoc C# nen chua biet ve include, class, method, function cua C# lam .
thanks HaLinh!
HaLinh(I92C) đã viết:Hi bạn,
Đoạn code trên đây chỉ có hàm PronounceByVnVoice được dùng bởi nút Phát âm để đọc một đoạn văn bản gửi vào chương trình.
Để chạy được hàm này bạn cần phải import một số thư viện Win32 API thì mới dùng được.
Thân.
Linh
Re: Giải thích Code trong đề thi giữa kỳ
Cái này hơi khó hiểu..
nguyenthingoan_i92c- Tổng số bài gửi : 43
Join date : 12/11/2010
Re: Giải thích Code trong đề thi giữa kỳ
đang chép về in ra học, hy vọng tuần sau thầy ra bài này, hihi
tranthephuong(i92c)- Tổng số bài gửi : 30
Join date : 15/09/2010
Re: Giải thích Code trong đề thi giữa kỳ
Mình cũng đang cố gắng để hiểu cái này đây.
lexuanbinh(i92c)- Tổng số bài gửi : 24
Join date : 14/09/2010
Re: Giải thích Code trong đề thi giữa kỳ
Nghiên cứu mấy ngày, cuối cùng mình cũng chỉ hiểu chút chút ........
PhanThanhTung_i92c- Tổng số bài gửi : 27
Join date : 22/09/2010
Đến từ : HCMC
Re: Giải thích Code trong đề thi giữa kỳ
cám ơn thầy và các bạn rất nhiều! Hy vọng những bài tương tự em sẽ làm được!!
Sincerely,
Sincerely,
HoTaHuy(I92C)- Tổng số bài gửi : 43
Join date : 14/09/2010
Đến từ : HCMC
Re: Giải thích Code trong đề thi giữa kỳ
Tối nay thi giữa kỳ rùi,chúc cả lớp mình thi tốt
hongthanh- Tổng số bài gửi : 37
Join date : 18/10/2010
Re: Giải thích Code trong đề thi giữa kỳ
Chúc mọi người thi tốt. Tối nay thi rồi, điểm giữa kỳ nhưng hết sức quan trọng đó nha. Coi chừng rớt ah nha. Phần giải thích code này khó quá...
KimThao_I83C_08H1012087- Tổng số bài gửi : 49
Join date : 14/09/2009
Age : 39
Đến từ : TP.Hồ Chí Minh
Re: Giải thích Code trong đề thi giữa kỳ
giũa kỳ thầy đâu có cho làm bài tập đâu! mình nghe nói thế^^
Admin
Giải thích code không là Bài tập !
Admin
Giải thích code không là Bài tập !
vohongquan- Tổng số bài gửi : 9
Join date : 18/10/2010
Re: Giải thích Code trong đề thi giữa kỳ
Cám ơn Thầy và các bạn, mình đang mệt mỏi với cái vụ giải thích code này đây.
quocviet_i92c- Tổng số bài gửi : 40
Join date : 09/11/2010
Re: Giải thích Code trong đề thi giữa kỳ
- Cảm ơn các bạn và thầy rất nhiều.
- Dù mình làm không được hoàn chỉnh câu này, nhưng giờ thì mình đã hiểu hơn!
- Dù mình làm không được hoàn chỉnh câu này, nhưng giờ thì mình đã hiểu hơn!
tranviet_i92c- Tổng số bài gửi : 10
Join date : 25/09/2010
Trang 1 trong tổng số 2 trang • 1, 2
Similar topics
» Thảo luận Bài 5
» Giải thích code của các thuật giải
» Thảo luận Bài 2
» Cùng nhau tìm hiểu lại code bài học hôm nay nhé các bạn
» Ôn tập để Kiểm tra giữa kỳ và Thi lý thuyết
» Giải thích code của các thuật giải
» Thảo luận Bài 2
» Cùng nhau tìm hiểu lại code bài học hôm nay nhé các bạn
» Ôn tập để Kiểm tra giữa kỳ và Thi lý thuyết
Trang 1 trong tổng số 2 trang
Permissions in this forum:
Bạn không có quyền trả lời bài viết