Tin học
Bạn có muốn phản ứng với tin nhắn này? Vui lòng đăng ký diễn đàn trong một vài cú nhấp chuột hoặc đăng nhập để tiếp tục.

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 1, 2  Next

Go down

Giải thích Code trong đề thi giữa kỳ Empty Giải thích Code trong đề thi giữa kỳ

Bài gửi  nguyenvanchinh 2/11/2010, 01:13

/*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ó).

nguyenvanchinh

Tổng số bài gửi : 19
Join date : 12/10/2010
Age : 38
Đến từ : I92C

http://tobuy.vn

Về Đầu Trang Go down

Giải thích Code trong đề thi giữa kỳ Empty Re: Giải thích Code trong đề thi giữa kỳ

Bài gửi  khanhtram_I83C 3/11/2010, 20:54

Cảm ơn thầy và bạn đã giải thích. Bây giờ thì em đã hiểu
khanhtram_I83C
khanhtram_I83C

Tổng số bài gửi : 49
Join date : 10/10/2010

Về Đầu Trang Go down

Giải thích Code trong đề thi giữa kỳ Empty Re: Giải thích Code trong đề thi giữa kỳ

Bài gửi  nguyenvanchinh 4/11/2010, 01:28

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!

nguyenvanchinh

Tổng số bài gửi : 19
Join date : 12/10/2010
Age : 38
Đến từ : I92C

http://tobuy.vn

Về Đầu Trang Go down

Giải thích Code trong đề thi giữa kỳ Empty Giải thích code trong kỳ thi giữa kỳ

Bài gửi  vietphuong(I92C) 6/11/2010, 22:55

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

Về Đầu Trang Go down

Giải thích Code trong đề thi giữa kỳ Empty Re: Giải thích Code trong đề thi giữa kỳ

Bài gửi  lequocdat_I92C 8/11/2010, 11:40

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

Về Đầu Trang Go down

Giải thích Code trong đề thi giữa kỳ Empty Re: Giải thích Code trong đề thi giữa kỳ

Bài gửi  08H1012072_quy 8/11/2010, 22:36

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.

08H1012072_quy

Tổng số bài gửi : 51
Join date : 02/11/2010

Về Đầu Trang Go down

Giải thích Code trong đề thi giữa kỳ Empty Re: Giải thích Code trong đề thi giữa kỳ

Bài gửi  hung01h1012049 12/11/2010, 10:33

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ó).
Crying or Very sad

hung01h1012049

Tổng số bài gửi : 7
Join date : 11/11/2010

Về Đầu Trang Go down

Giải thích Code trong đề thi giữa kỳ Empty Re: Giải thích Code trong đề thi giữa kỳ

Bài gửi  PhamVanNam(I92C) 14/11/2010, 18:49

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

Về Đầu Trang Go down

Giải thích Code trong đề thi giữa kỳ Empty Re: Giải thích Code trong đề thi giữa kỳ

Bài gửi  DaoThiHoa(I92C) 14/11/2010, 18:53

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

Về Đầu Trang Go down

Giải thích Code trong đề thi giữa kỳ Empty Re: Giải thích Code trong đề thi giữa kỳ

Bài gửi  NGUYENPHUONGTHAO[I92C] 14/11/2010, 21:56

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 Very Happy
NGUYENPHUONGTHAO[I92C]
NGUYENPHUONGTHAO[I92C]

Tổng số bài gửi : 43
Join date : 14/09/2010

Về Đầu Trang Go down

Giải thích Code trong đề thi giữa kỳ Empty Re: Giải thích Code trong đề thi giữa kỳ

Bài gửi  tranquochoan_i92c 15/11/2010, 10:54

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

Về Đầu Trang Go down

Giải thích Code trong đề thi giữa kỳ Empty Re: Giải thích Code trong đề thi giữa kỳ

Bài gửi  nguyenthingoan_i92c 17/11/2010, 13:16

Thanks thầy và bạn nhé Smile

nguyenthingoan_i92c

Tổng số bài gửi : 43
Join date : 12/11/2010

Về Đầu Trang Go down

Giải thích Code trong đề thi giữa kỳ Empty Re: Giải thích Code trong đề thi giữa kỳ

Bài gửi  trantai_i92c 17/11/2010, 14:15

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ó).
Crying or Very sad

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?

trantai_i92c

Tổng số bài gửi : 9
Join date : 10/11/2010
Đến từ : Nghe An

http://dgc.com.vn

Về Đầu Trang Go down

Giải thích Code trong đề thi giữa kỳ Empty Re: Giải thích Code trong đề thi giữa kỳ

Bài gửi  HaLinh(I92C) 18/11/2010, 10:29

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

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ó).
Crying or Very sad

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

Về Đầu Trang Go down

Giải thích Code trong đề thi giữa kỳ Empty Re: Giải thích Code trong đề thi giữa kỳ

Bài gửi  trantai_i92c 19/11/2010, 11:27

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!

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

trantai_i92c

Tổng số bài gửi : 9
Join date : 10/11/2010
Đến từ : Nghe An

http://dgc.com.vn

Về Đầu Trang Go down

Giải thích Code trong đề thi giữa kỳ Empty Re: Giải thích Code trong đề thi giữa kỳ

Bài gửi  nguyenthingoan_i92c 19/11/2010, 11:34

Cái này hơi khó hiểu..

nguyenthingoan_i92c

Tổng số bài gửi : 43
Join date : 12/11/2010

Về Đầu Trang Go down

Giải thích Code trong đề thi giữa kỳ Empty Re: Giải thích Code trong đề thi giữa kỳ

Bài gửi  tranthephuong(i92c) 23/11/2010, 14:44

đ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

Về Đầu Trang Go down

Giải thích Code trong đề thi giữa kỳ Empty Re: Giải thích Code trong đề thi giữa kỳ

Bài gửi  lexuanbinh(i92c) 24/11/2010, 23:19

Mình cũng đang cố gắng để hiểu cái này đây. Laughing

lexuanbinh(i92c)

Tổng số bài gửi : 24
Join date : 14/09/2010

Về Đầu Trang Go down

Giải thích Code trong đề thi giữa kỳ Empty Re: Giải thích Code trong đề thi giữa kỳ

Bài gửi  PhanThanhTung_i92c 25/11/2010, 00:42

Nghiên cứu mấy ngày, cuối cùng mình cũng chỉ hiểu chút chút ........confused

PhanThanhTung_i92c

Tổng số bài gửi : 27
Join date : 22/09/2010
Đến từ : HCMC

Về Đầu Trang Go down

Giải thích Code trong đề thi giữa kỳ Empty Re: Giải thích Code trong đề thi giữa kỳ

Bài gửi  HoTaHuy(I92C) 29/11/2010, 10:22

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,
HoTaHuy(I92C)
HoTaHuy(I92C)

Tổng số bài gửi : 43
Join date : 14/09/2010
Đến từ : HCMC

Về Đầu Trang Go down

Giải thích Code trong đề thi giữa kỳ Empty Re: Giải thích Code trong đề thi giữa kỳ

Bài gửi  hongthanh 29/11/2010, 10:28

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

Về Đầu Trang Go down

Giải thích Code trong đề thi giữa kỳ Empty Re: Giải thích Code trong đề thi giữa kỳ

Bài gửi  KimThao_I83C_08H1012087 29/11/2010, 10:42

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

Về Đầu Trang Go down

Giải thích Code trong đề thi giữa kỳ Empty Re: Giải thích Code trong đề thi giữa kỳ

Bài gửi  vohongquan 29/11/2010, 15:23

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 !

vohongquan

Tổng số bài gửi : 9
Join date : 18/10/2010

Về Đầu Trang Go down

Giải thích Code trong đề thi giữa kỳ Empty Re: Giải thích Code trong đề thi giữa kỳ

Bài gửi  quocviet_i92c 29/11/2010, 15:54

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

Về Đầu Trang Go down

Giải thích Code trong đề thi giữa kỳ Empty Re: Giải thích Code trong đề thi giữa kỳ

Bài gửi  tranviet_i92c 1/12/2010, 17:51

- 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!

tranviet_i92c

Tổng số bài gửi : 10
Join date : 25/09/2010

Về Đầu Trang Go down

Giải thích Code trong đề thi giữa kỳ Empty Re: Giải thích Code trong đề thi giữa kỳ

Bài gửi  Sponsored content


Sponsored content


Về Đầu Trang Go down

Trang 1 trong tổng số 2 trang 1, 2  Next

Về Đầu Trang

- Similar topics

 
Permissions in this forum:
Bạn không có quyền trả lời bài viết