View Single Post
Old 01-01-2010, 08:53 PM   #4
namqn
Trưởng lão PIC bang
 
Tham gia ngày: Feb 2006
Nơi Cư Ngụ: Tp. HCM, Việt Nam
Bài gửi: 3,025
:
Send a message via Yahoo to namqn
Trích:
Nguyên văn bởi tuongdtd View Post
anh cho em hỏi thêm, khi đó trên máy tính ta sẽ nhận được mã ASCII của ký tự, sau đó ta lại chuyển mã ASCII thành ký tự tương ướng phai ko ah?
khi đó em dùng VB viết chương trình nhận trên máy tính:

dim x,y as string
Private Sub MSComm1_OnComm()
If (MSComm1.CommEvent = comEvReceive) Then
x = MSComm1.Input 'doc du lieu cong com

khi đó x là mã ASCII của 5 ký tự nhận từ VDK phải ko ah?
sau đó em tách lấy ký tự thứ nhất bằng lệnh
y= mid(x,1,1)
vậy thì "y" của em sẽ nhận được mã ASCII của ký tự thứ nhất phai ko ah?
nhưng "y" nhận được các chữ cái khác không phải các ký tự "0123456789ABCDEF"
anh chỉ cho em thuật toán nhân trên máy tính nhé!
Xin lỗi là tôi không nhận ra bạn hỏi thêm một câu nữa.

Tôi cho là trên máy tính bạn muốn có lại giá trị số đã được gửi. Việc chuyển thành mã ASCII là để cho mục đích hiển thị, nếu bạn muốn có giá trị gốc thì không cần chuyển sang ASCII rồi sau đó chuyển ngược lại làm gì (chỉ gửi 2 byte của giá trị 16-bit rồi ở trên máy tính nối các byte này lại theo đúng thứ tự thôi).

Hơn 10 năm rồi tôi không dùng VB, nên tôi không chắc về phần trả lời sau đây. Nhưng tôi nghĩ đoạn code của bạn sẽ không cho kết quả x là chuỗi ký tự ASCII đã gửi đâu, mà mỗi ký tự nhận được tại máy tính sẽ tạo ra một CommEvent.

Thân,
__________________
Biển học mênh mông, sức người có hạn.

Đang gặp vấn đề cần được giúp đỡ? Hãy dành ra vài phút đọc luồng sau:
http://www.picvietnam.com/forum/showthread.php?t=1263
namqn vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn