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.

Một số điểm nhỏ có thể cải thiện bài ChatTCP, thực hành chiều nay CN 8.11

5 posters

Go down

Một số điểm nhỏ có thể cải thiện bài ChatTCP, thực hành chiều nay CN 8.11 Empty Một số điểm nhỏ có thể cải thiện bài ChatTCP, thực hành chiều nay CN 8.11

Bài gửi  nchh 8/11/2009, 21:32

Chiều nay thực hành, Thầy cho làm bài ChatMulti dùng giao thức TCP. Mình đã làm thành công, có điều có hai điểm mình cần sự chia sẻ góp ý của các bạn:

1. Khi nhấn nút [ Kết nối ], ở client xuất hiện câu "Chào + tên client" để cho biết đã kết nối thành công với Server,
nhưng lúc nhấn nút [ Disconnect ], thì chương trình im ru, không có thông báo cho biết đã ngắt kết nối thành công,
nên theo mình thêm vào câu lệnh
txtReceive = "Goodbye " & txtClientName & " !"
để cải thiện thêm.

2. Vì khung gõ nội dung chat ở bên Client để gửi qua Server là TextBox, nên có thể hiện thị độ dài tùy ý, gõ nhiều dòng cũng được. Còn bên Server hiển thị theo kiểu ListBox (cũng có lý do và cái hay của nó);

Nên khi dòng quá dài, hoặc có nhiều dòng khác nhau, thì hiển thị bị lỗi! (Các bạn xem hình screenshot mình chụp lại). Có cách nào để cải thiện hay không?

Một số điểm nhỏ có thể cải thiện bài ChatTCP, thực hành chiều nay CN 8.11 ChatTCP

Một số điểm nhỏ có thể cải thiện bài ChatTCP, thực hành chiều nay CN 8.11 ChatTCP2

--------------------------

Đây là bài của thầy (phần Server, Client, với cả chương trình hỗ trợ tạo Caption có tiếng Việt có dấu Unicode), đặc biệt dành cho những bạn nào chiều nay bận không đi thực hành được! Razz

http://www.mediafire.com/download.php?zjoejycyinz

Bạn nào chạy không được thì tải tập tin của WinSock này MSWINSCK.OCX về, chép vào C:\WINDOWS\System32 là chạy được thôi.

http://www.mediafire.com/download.php?mtyzywjy0zd

hoặc http://www.ocxdump.com/download-ocx-files_new.php/ocxfiles/M/MSWINSCK.OCX/6.00.81694/download.html
nchh
nchh

Tổng số bài gửi : 90
Join date : 19/02/2009
Age : 40

Về Đầu Trang Go down

Một số điểm nhỏ có thể cải thiện bài ChatTCP, thực hành chiều nay CN 8.11 Empty Cảm ơn bạn vì phát hiện này

Bài gửi  lymotonew 9/11/2009, 09:37

Chắc chắn phát hiện này của bạn sẽ giúp ích rất nhiều cho mình và các bạn khác để cùng xây dựng ứng dụng hoàn thiện hơn.Thank !

lymotonew

Tổng số bài gửi : 15
Join date : 19/10/2009
Age : 38
Đến từ : Bình Thuận

Về Đầu Trang Go down

Một số điểm nhỏ có thể cải thiện bài ChatTCP, thực hành chiều nay CN 8.11 Empty Re: Một số điểm nhỏ có thể cải thiện bài ChatTCP, thực hành chiều nay CN 8.11

Bài gửi  DoTanLoc_I83C 10/11/2009, 16:20

Theo mình biết thì control Listbox của VB không cho phép item hiển thị trên nhiều dòng (không có thuộc tính wordwrap). Chỗ này mình có thể khắc phục bằng cách: nếu độ dài của chuỗi item lớn hơn chiều dài của Listbox thì cho phép Listbox hiển thị thanh cuộn ngang (horizontal bar) để người dùng có thể kéo qua xem phần item bị khuất.

Cách hiển thị thanh cuộn ngang trên Listbox:
//---------------
// Khai báo hàm API để sử dụng (khai báo toàn cục):
Private Declare Function SendMessageByNum Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, ByVal lParam As Long) As Long
Private Const LB_SETHORIZONTALEXTENT = &H194
//---------------
// Thêm vào trong hàm xử lý khi dữ liệu đến của winsock
// Giả sử Listbox có tên là lstMessages
// Chuỗi cần đưa vào Listbox có tên là strData
Static x As Long
lstMessages.AddItem strData
If x < TextWidth(strData & " ") Then
x = TextWidth(strData & " ")
If ScaleMode = vbTwips Then x = x / Screen.TwipsPerPixelX
SendMessageByNum lstMessages.hwnd, LB_SETHORIZONTALEXTENT, x, 0
End If

Mình đã test thử thành công nếu lstMessages là Listbox chuẩn của VB6, tuy nhiên, trong trường hợp bài thực hành của chúng ta, Listbox chúng ta sử dụng thuộc Microsoft Forms 2.0 Object Library, nó không hỗ trợ lấy window handle (đoạn màu đỏ ở trên) pale

Trường hợp chuỗi strData có nhiều dòng, mình giải quyết bằng cách thay thế ký tự xuống dòng (vbcrlf) bằng 1 ký tự khác trước khi đưa vào Listbox bằng hàm replace, ví dụ mình thay bằng khoảng trắng như sau: replace(strData,vbcrlf," ")

Bạn nào có cách giải quyết khác hơn hoặc có thể lấy được window handle của Listbox 2.0 để khắc phục lỗi trên của mình không?
DoTanLoc_I83C
DoTanLoc_I83C

Tổng số bài gửi : 24
Join date : 29/10/2009
Age : 38
Đến từ : HCTH083C

Về Đầu Trang Go down

Một số điểm nhỏ có thể cải thiện bài ChatTCP, thực hành chiều nay CN 8.11 Empty Re: Một số điểm nhỏ có thể cải thiện bài ChatTCP, thực hành chiều nay CN 8.11

Bài gửi  nchh 11/11/2009, 16:28

lymotonew đã viết:Chắc chắn phát hiện này của bạn sẽ giúp ích rất nhiều cho mình và các bạn khác để cùng xây dựng ứng dụng hoàn thiện hơn.Thank !
Rất vui khi nghe bạn nói vậy!

Chúc vui!

Thân ái!
nchh
nchh

Tổng số bài gửi : 90
Join date : 19/02/2009
Age : 40

Về Đầu Trang Go down

Một số điểm nhỏ có thể cải thiện bài ChatTCP, thực hành chiều nay CN 8.11 Empty Re: Một số điểm nhỏ có thể cải thiện bài ChatTCP, thực hành chiều nay CN 8.11

Bài gửi  hoangthuy_i83c 4/12/2009, 15:38

Thanks ban hen. Minh chay ung dung cung thay tinh trang nay. Bai viet cua ban rat chi tiet.

hoangthuy_i83c

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

Về Đầu Trang Go down

Một số điểm nhỏ có thể cải thiện bài ChatTCP, thực hành chiều nay CN 8.11 Empty Re: Một số điểm nhỏ có thể cải thiện bài ChatTCP, thực hành chiều nay CN 8.11

Bài gửi  kennytai 4/12/2009, 23:33

những điểm mà các bạn nêu lên thì......có khi mình gặp, có khi mình thấy bình thường. Ko biết nguyên nhân sâu xa là sao. ví dụ, mình chạy trên máy ở trường thì bi lỗi, máy ở nhà cũng bị lỗi tương tự nhưng máy ở cty thì ko. Mình ko biet vấn đề cốt lõi là gì?! ko biết bạn nào có cao kiến giải bày phần này giúp mình!

mình cám ơn moi nguoi.

kennytai

Tổng số bài gửi : 32
Join date : 29/09/2009

Về Đầu Trang Go down

Một số điểm nhỏ có thể cải thiện bài ChatTCP, thực hành chiều nay CN 8.11 Empty Re: Một số điểm nhỏ có thể cải thiện bài ChatTCP, thực hành chiều nay CN 8.11

Bài gửi  nchh 5/12/2009, 08:52

kennytai đã viết:những điểm mà các bạn nêu lên thì......có khi mình gặp, có khi mình thấy bình thường. Ko biết nguyên nhân sâu xa là sao. ví dụ, mình chạy trên máy ở trường thì bi lỗi, máy ở nhà cũng bị lỗi tương tự nhưng máy ở cty thì ko. Mình ko biet vấn đề cốt lõi là gì?! ko biết bạn nào có cao kiến giải bày phần này giúp mình!

mình cám ơn moi nguoi.
Ý bạn là lỗi tiếng Việt và lỗi chữ dài hay sao?! Nếu là những lỗi đó thì đúng ra máy nào cũng bị chứ nhỉ, vì đó là lỗi cơ bản mà!
nchh
nchh

Tổng số bài gửi : 90
Join date : 19/02/2009
Age : 40

Về Đầu Trang Go down

Một số điểm nhỏ có thể cải thiện bài ChatTCP, thực hành chiều nay CN 8.11 Empty Re: Một số điểm nhỏ có thể cải thiện bài ChatTCP, thực hành chiều nay CN 8.11

Bài gửi  Sponsored content


Sponsored content


Về Đầu Trang Go down

Về Đầu Trang

- Similar topics

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