请教版主及bcb高手关于利用mscomm控件进行串口通信的问题

feichangkele 2002-07-14 04:15:30
我现在遇到这样的问题:
1.通过output属性我发送一个0x20,能在input属性上收到,但把它赋值给一个RichEdit的Text属性就不能显示!
2.我想到达这样的目的,发送一个数据后,例如发送0x20,如果收到对方机器的应答0x20,那么继续发送下面的数据,如果没有收到则再循环发送0x20,直到收到0x20。我现在是能收到回应,但好像不能把自定义的全局布尔变量传递到发送函数中去。

具体环境是这样:短接com1,使得从com1发送的数据也能在com1接收。
先定义私有变量bool FOK;
在一按钮单击事件中添加如下代码:
FOK=false;
do{
MSComm1->Output=WideString(0x20);

while(!FOK);
在MSComm的OnComm事件中添加如下主要代码:(recestr为从Output属性中接收的字符串。
OleVariant str;
Ansistring recestr;
if(MSComm1->CommEvent==2)

str=MSComm1->Input;
recestr+=WideString(str);
if(recestr==0x20) FOK=true;

这个方法在哪有问题?谢谢。
抱歉,本人只有七○分了。
...全文
2625 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
feichangkele 2002-07-14
  • 打赏
  • 举报
回复
非常感谢:)
但是项目已经启动,不太可能改用其他控件了。
如果你能解决我的 问题,不胜感激!
后来发现如果我用一标签的标题代替这个布尔变量,那么要按二次按钮才能在第二次按钮事件中得到标签的标题。这好像是多线程访问的问题。
但在delphi中好像可以。不知道在BCB中怎么做才能在第一次按钮事件中捕获该变量?
我看一个delphi 程序中是这样作的:
hEvent :TEvent为全局变量
if hEvent = nil then
hEvent := TEvent.Create(PSecurityAttributes(nil), false, false, 'CommEvent');

FOK := false;
Bt := $20;
Comm1.WriteCommData(@Bt, sizeof(Bt));
while not FOK do
begin
ReturnW := WaitForSingleObject(hEvent.Handle, 0);
case ReturnW of
WAIT_FAILED:
begin
Application.MessageBox('握手失败,停止通讯!', '错误', MB_OK);
Exit;
end;
WAIT_OBJECT_0:
FOK := true;
end;
Application.ProcessMessages;

end;
在bcb中好像不能TEvent hEvent,请指教,为什么?谢谢!
  • 打赏
  • 举报
回复
begin 644 yb_comm.part02.rar
hIa3m6Fc5+3diQl2-1E++++++++0SmbEVU1E+XEU++Dxo+++0Kv+kUvmYvGkR
hBFE+U++++3Z0LoBDHIpQKI71PqphAn6iMr-keQ2tqYQdH8ha+ZCGb83f9skX
hdgmL4g+K3Tk4l0-NikLu0aOXqeWvH2l+LsB9jWYStYLwo-dvXRKrP9K74hWv
hSe694sn4AFD4ZlREiDPLaTlIMoIp-fxAs5XJCBR0k3LhRTM4Klu7Ho0Rzsgp
hOztvIcCOXlkrEXov1r3xatNM7BLeQKtbl5L1jGuCqTxbmj0aBOCZHs5kGAa+
h1ikibc9KckzjDz+tnt-01+rX93ScMQPR-Mysn3YmdyPco-P9yE3qqED8oI93
h-V2ZWdFIRXs5MD8IZ2PV7FsdmHMQcpxMWNPyk2-fnC1HwSHGL1d4YAhhWzLy
hY6YRGwFLkmMWnfCNYdGau0kg0HR96lnvYOGFjA4aihsBXuXjzkbizWvxpS2r
h1e1h01Wrx7+5-lST1hRZmcuvfecVpoG8y7WvmMfwgkuPKCSJIJG+zIzyxrVJ
ho1erwHT6AhRC9JuuOXNdEQ+dM8QYfcFa5WesNv9xZBYSBpFmQ3mfTuqKWwtG
hhqqQmSPZ+albXodlPDMAGkk1Y7Nv7n85Lii7eswOgxItoe4Lw5J4iyre8hp5
hxGqhQWGkJiq8w8V4-mm0Eh0wcN0nBNuhdmpyihBNYiFAXV5yItiwCPBAtf2k
hnTzrEFxu5AaFwpoHINsFO523zf4r26bbxdPcBWSsiddC9F6fBq1fWahAFItc
hVtDJqDzyofAU4RYGA0+KwgFHLRoxukva9SVaarvhrbT+gCtQ8sDn8C3HBQKv
hAlISK8kNcXhfd96mRA0+RmiLMtoeaVJSwC3Hopm57wiCB9x-flwIfPeOjC0p
hmHTzPO8JhHXxd4Czw6ZjAQW7YXT4AAJhbh6qLPysQoPiCqXuCc9YZpKKsSet
hQHvTI1rM8kDd4-h8ulmW8HcDh7mqzTdtEydUtH+Ah8yS4mScj43ITacFnnaa
hVf4HeYV4ibnNpO9PwvWCjbZcVvmFFsRv5QIql+Bqu6snDeQrMI7wwue8jlbG
h1z9PZ9Nc-5GFQ0P0GWN2qUxGp6Mi22uJhlsXgvontxXLEu+ctM5gztTKdznc
hdUGa9Ls7KDxmDNf+S6oZZVnSuE0t9lH+7kabX4erxBTXTitzVHgvLZ4cRsSi
hxZP1VbbRaPnIQN5ing8lzfUinxPEJdQzOf6yergEw83GJJbU6vdfJpw8jfIT
hfd6Z8MKZTSWdyqufOt0VilBzkDhdb1Kw7yxmQQNGwR8a3x6CFAmw1MigeWly
hHc7-AmQAx3TcVDkLSNm1KRDE98Iz6bc7tfvZ9Mb1eGoucytWFHm2y9MlFb3m
hvzMZ0JMdB9cIdpOjlh4W2TIWN0oHqT28YCTNPKPOzk6+YVmlRCwi1wCd11fS
hqe6YXPBwuDE+sd-Tbotd5r3ABKKvPQQLLM6h9EG5KZxQQnUacuUee8w0wmSQ
h-GyAxzsgNry8YDwoUHruh0xMdUieKVKRO4AM9Hgbc1xackBmW0oqol3aYJvT
hSfqy-5a1Yai6Vl9g3xfkxFvQCt5KMH7ghq0QLop1VxrKf2JGFs+KPw3Iz1gj
hLF8CWD5x5lsdGF19h6A176dlOI0I7NfGQ4LVu6JbrRlzOD5eLNeqH7HVoL5+
hAqAPkqoK8BGji72vB452keIy0Ea5EX2DPHnurykpO3wYTF0TF7hHjYKCpjPd
hUFGNP+QajpIwTdBT78T-EhDLO4xj-rhwMcZ6R3te7ryw5uN08XK-QfaEHl8+
hyS8yTKInAvTWqt-aMsoh64ioyn5vfBlGAzG5rubmQPiDS2nSC+-aMrj4BC45
hSRsVIqJ4L5ox44NO8Y0fTAd9oB4eNrz9lXhr4vjX1q+oI+YcuTN2z3mcbxoP
hDlG3lXriGKbwgxEjdS8Lp5N+dV81PcctTTysXI1HVNmxTe02SGoOOSwLd+HQ
h9wVqCwhhEYsDpxfIryoxDYlvskcZ0To9NYhCuAU65cCOFUyTDZy1+HCvzaNv
h5aMYAU4Qn4I67T6oHMsPVgxDrebtEIkiGGZHyjWo7HviJtqwn0M4IPdjUy7h
hTsE7-f9IgUATgvWRi3Nqjy9FgAMbdoEFpfYbaVQ9uTJWWJXczq5Dz-YLHYPX
hD-3qktKSM2vJRu4MWTzlSamq56JgIJx9N0pRlUu+asAuTmUs8-VeTC1yKAQ0
h7zn9QKgcBOrFP5OkuHBefrF-tsGg-ouMHtXAIRr+V2W3+fR0yxObCKuyS8kr
hQvYLbYqpn-G3ued7Km0Tjcu5D25J9hIGQhismjzD9MoYIQk85tbwKFCwVUe8
hLrz4xbM2Iiq5LQ1Ad9EJgyMqb100HVq+4bCvx6hGgRh13dYFi9+F-0viJ4jD
hR0Ab2js7oAX9vi8MarA26tSviQPZ1xHW2gT-8Txx-5sBmTmhyan5YSdNC9TJ
hJcZapGZEXypv43Lpdw5RIMaPl4SMUtvb4u2n3pBOO15hIr2yJud3XDanFJov
hyJA7QV1RgdgHtpHmjYCdFkONQo8Ffsqo8inSKclv1Tm5f6Ph0XWal--J5fQf
h6DFixm-dvWhRNoJyuNPC1YyopKFKg3hje6vGCHoznjBCfxG4DYcpXSlU2f43
hCbxOHZPQh6p-yabrFY80uvhTqSJfRTOyM8XIzPHZzhCKsrqY+XeIHqH3VbSO
hg4W61RZ6G6-xtjS0S5n3A7xcKz4k1w+8ySgnFj32pvqj9oLFK4pwjIjyJGsK
h-Oy+jJFu6zuX7T+t0+kju2twMhWxzzU04rvS-Zy4PMaRkzNvwG3EGEOGwYzf
hajfQ5DJi2I9H0fTh3uhAAglULsQ4a32IJOpnD3s34GVrqpMIgSjlOrc5IVRe
hUu8ZveYIUozI-nTaNU7BqntMS7KP1Y1IgmRWtpWulOGaNE8SUcMtN7BbEH7O
hJLudeJBVg3ozjwFZoDL7QRnUR1A6MsDGJowFN0Un60IakkihZGeR5+oHZNiV
hzBg++9y6NzOdzxFJ75EUU16+m+Y++Boe+++0jIIkrxOYvGkRBF6+U++++3Z0
hLoBDHIpQKI71PqphAn6iO8QM9k7CjbichmwVFMJW99FgKOMNGyQKRwrQUThA
hMqWViReMgJJfTn1zBhaQccNcWndJth95j45sSsDrCHcWs8n4bfh34ucto87Z
hHzd2Dpim4ekIh+PYMscojZIxVS88tH7lX0AxaDEpAxkWFqj1wbi5qk+Z9MkX
h-jbEceqP1XFrWCHbLCSRN3KvU+BUgE6dQnihG5TBhfP3rJPLJS3YDpA3qpTH
hBIYLdGgz9YIVE9DCBew5OWe-EEq41ZHzLSLMKKzJxNEF7yFiVdXf7jGagt+F
hktoXzQKPFZLw7qO46O-xa4Zucg3V8XSlstfFnoUjc5R4USDGLp94ZAqpzyFX
huc-8JjSDj7OBXQd5ntKDhUFW76apAnxTDqlC2iIWXf1wp2wVxHge1esk2iVx
hBdHCa5tt49y33c8Z+UeXzAqiKrjU9YqL7qAOBEBnCaaMY5WjkWGeZHUVA+nu
hsBIkFZNM7+SRtBURE7wfAUpJFVF9Yae9iYJYWGNfcHkqZb9pC9530XAof6Ek
h4LI+m6BmvtNr1z8Dbbgs7pnTTKoc7+BhnPktoSnzWoo1lsPUTu6ukiGDdltf
hDjQkjlz9WSaAAaskkKd0Bnu7kXXqz-mtTprD6MHWUo9H7RjkRcY052pA+W-6
hWV+vvRyROOGlPyAYhg6DpNvdcL96PGOJlFh3B-j3eiE38JWRR6sHblh2+uZs
hjmes1J9zvAHdiyNQw65vMNqFYpk9oyc28vL6H73qLoMySdeXWaJjBcFimV0K
hW2Y9eA2LrpTOKkkCA2uLjNXg1qIkGzz2pGVnx0VugB9VgzbWHpa52A0bBeM5
h4gKryBnqgUncO09eE3au2-f84rN5K3c46x7JpmBW3mnay+uC1Ml9ysLKEuT8
hj-Zrg7Ou+DF-x9PPSAsqrJz8QPumsKwTE0zhylGBPCf5LGvOWlrrf4FPuHVT
hGWUmej1XcZCDQs5sPHpBuwI0TIgMu-XnMzJic36aNfTqBxP48B1GHNOAnMiH
hC3ze2WP7GYIpnLU8W62R+6VDQms2+tah2BAtiMEgRHr4iu5O3t0HQ0Jxhwr6
ht7vvNp3r0eC+zs1C5EJiUTbEalzrn4CVyqD1PYLDnh9iF2iqhtO+xa-quUm0
h4BIVjAnaR0-oZhjcLwOGMGERES3TKj-xwB+9fNHwfmF7rvCF9zJE2ajF00mp
hl8embAwNOT65LhMaK9zbH8XPUWZUOydh-QcreQEHhL5HhMGzP+tEgqOxT4Dd
hDnIFpNMuygzia-TNpWQm1UHK9dj-bEtbr47urc1lvfCDhxsyilk2L+7boG6U
h01XYVxVK5oja+eOerZKFDAwrBou7FAlbmDUuhU0nJKiUVNjPEgOr-5UVfLiv
hKA5eeaeAuWhtyQCpmUBipkMNMlWloR8ELeeTzj4H87cygbiMRCB4+Fs9-yux
hCx9BqJ5lFaPQhF-nw04qzjZ9R2r+bkdXkDM8CrRMEqsCyC5cPM8olh5+yN6V
hokRhGVOUyEk-GZpdkn96Lf9hkhuSOwKCgUK5ErPZqzvvQVO1gEKICqNScizb
hgNnjdjazup0YJI-DQ3Q8rJajw0f5uD634z8YvrVNsibbxifvAJqEekE7-LCG
hCbWLd4qnNdBnn46RwQdI7OspIlt5m8JuOh11HUDvxRDWPoEdpRnqE9qXzIE9
hAeTVf0DJLAzAmaajNwXjRr16dR4W+yanLtrw6tUaXcmiDLaNTFnxgp5EdCVj
hUVZpDbnLnvK17B0uTd9l0i1WGIWIpFwvnEaoNNKFfjSRv7BNSecBri-j5vmg
hyUU6qefDFHmbcudZa90+IHR-x5Q9oBOl21CcuP+Il9ojw4jR7+z8oi0h4P31
hMhtd6F7hvQOW7Uk8-Mf3v-HluZIYw0ci0Z-cZnK8SmeGVHttYxq0kTxCTtsz
h3LpjkRvmG28vxTIGLodP4njj+b3phv0REOyJaa3N1eqLNulhsoCXi6fVL7fZ
heKabuyGvae+ofaDdKEs-0tX7rvFcE1OM76phiSbhi8LEsV2c5gy3ynNOm0Uz
hAJ5gt5bfxKeNnXwULfNMZi5ZSe7w7fimb+kOLWvvAvwlgBzXUno0Sx-ywUJE
hB3Rad95ZRmfm7sOZ9etwKVIgp24Nk9Ue9ztGByi--CxtbXP31QoKKmNG+W6L
hne2gqDHhDCG9wuVA5pq11ShFGtgkBHtFWJ9su6LRHj8sIhG1jqjnwbf2xhR2
hqXovvfKz8szMaSneXGMQ5yP3PodvioW1KKy0-mkJRDeTKKwpn-Web9nGXrme
hPy5TqpO-yZLJuL4vlGv+rtcp9gUnVLfpqiizs51I-B-rGMJqK2tEt2s-52H3
hlTpilarwfy2LemSfTdhfAXmXHwJyr+KlHSdLpx96pf5VahXAZdxhdC8Yg2xV
hgACCLjFg9fl3-zwrVzDAxL274t64VxI2+n2XXL+3uY66CO+1Bqcs0uljeV+B
h0JrU3PAxUEHjUeHgaE1V6s8X85RMvkRLvQw8ZiNxhtdh2rCEj8vRlRlIHYCa
hugmBjPY572GT6rKh54QRTaumukfmRm57DKDSySFEvKxIcY53+ZrNB6aT-Fw0
hLSbZHdMs5NBCQ67dpDwVblG9gNa++xS2z1aogGzQsOvrF6MYQe1L8sajsAeP
ht95cVaQRO4nwJD1P-rVWyB00SFFlqajHzLu6QRSEsJlcmIq4LgpuzVQTHguq
hPs4RNSsXIWFXlRZ3qLg+U8mrgTleP2ZAzP64bwcy58xR0e3wGaSb7Tb5VeMz
hoT2mFEgjErBk3hKkvRX62iGikt5KCC505owLlMPLAx6+C3zP8+qp84RQO5m-
h76pPXEL9DPcEovXVYzTiApBEeRQ1z1iTXeJY5JZVb4alWzn1XO7NDLNiUf1b
hP9IDaYK+ABejEUcWUUIXqfYSM+UnIQLP1yVGKGrECLnD6fIc4rBHxf5emeCL
hXKjTKA-qTiEUXeoFsmvGpVqpmQFVb15PNv2Xj2CpktKrXrrurpLwDirLKAe8
hZs3FKdm0C+CGrMWHzlOUVIOKf36FsH5KwKN1XPntvmhwkDXIh4Qm2ghbSA7e
hEL3gCUDgdnEJ9rpBIvHIowj9nEjoMRfmstQtteO0HlgjXrj1Ih7tl9agdA+M
hR8+AUVjcIcTNR5JGXyMhxAYyRoPxiYeH54tubLgR+pEEdOaKKOrPmTbXbdFM
h9XNohHagAceHktGqNwDQX3z6ICTwjxN7hVfFQXollwC4RKRY6v-QFo+xw1t4
hYl2Z-F6y4ST-uXWCyULPNaD3qoAlkJ4Kwe3-aLY2aJ9fSwd0sD2eLV-NaWq9
hZWo10-BjfcGB5oYk5cGgM4gEX-cC9vTjPHftr8PKjXqnrveM++0zW4TqeTzI
hFapo66+q+0Y++++V+++++fgHiLCHcyog5HIK+6++++-NEZx1HopBL5ZWLqBj
hPKpTQaJn9b7XdlVI-qwR9n065t7PTuJcSKXKxDmztTKpFdZCpe0-UU+++9y6
hNzOdzxGfzLEUU1E+dE+++7M-+++0CGzP928YvGkRBFE+U++++3Z0LoBDHIpQ
hKI71PqphAn6iMapkdlV01TdR10l5l6-pLpUwlQ4ehg-jZjtjGqjXX86Kv2-C
h9AP+gmqcJYslOVw+AycP1I6yZPIp5H-aMXHWlo0rblCHc2zXp8139T0QQ3--
hxW6Jo5aQqo91Lyn8kOOgqW6UOLPLXP6QqTGPr7hvga9zlZxVPXJrduCsVkb+
h87VNr2AR74qbKzZJw0Kjc4BJK5Vljfjt0Z3hdPfXBgRj++0zW4TqeTzIEwxo
h66+r+9s+++1M+E+++YmgTYB6dCog5HIL+6++++-NEZx1HopBL5ZWLqBjPKpT
hQaJn9b7ZQuQM++DTewSYtoGNtTe4jUmg9LVhb8yzBbEeRMMm92OdU2ke-GfS
hd0FLgabMLILb6bOsNsyaWEwpbp3xEypj8l29QExHwfHKOcunIoCBq63KjtJf
hLPyBKT-9H2Z6KliWD9RZA1SgpXhYtc66qlHdcFKW+ZbfPfbyH4fcVq3oWInP
h7fRBEdqGvdxL4OJwPZF+z9g50DDMdjwJ76Cjj65kMQcs6jGslxfIiZ8izBf2
MJhRtEqGRji6++9y6NzOdzxH2DLg+E+Q+
+
end
sum -r/size 39782/5379

  • 打赏
  • 举报
回复
begin 644 yb_comm.part01.rar
hIa3m6Fc5+3diQl2-1E+++++++++9dbHUU0Q++++++++++++0+++++BmSvGkI
hA+Q+2++++3Z0LoBDHIqWa5EUU1A+0+I++BQC+++07Aw1FxqYvGkRBFA+U+++
h+3Z0LoBDHIpQSK7TMqxhPGtWQ4ib41k48hPx855h0N0lMiTPpUs5CNtLkljA
huudjA6XkmILVlp5XWrBoHsNJkMRAnWq+mV0wD3qUq3NxsFH3xgSsN4VOlZ92
hLZdn8GkmBAq+zJpG9NZNsxFoWDAtfVrusT-ZX3Iex0yuCMBNUMLEzXgZ49fS
hQpI0e5o+b--TVl17y-3WIecHb4gOiuZTimSepZi1qcfeUPWc+xy7Y3nQUmkp
hc6d9LpmIlFlR89CIH2jan0t+1vifhEM3lRVoZG1SvATo68T2+M2MO-6OPm8+
hNvV+YYLi608arElBa3BmBFJqItHUU1yeO68KTxG37VrPTFOXltd3K5S8f1nc
hI5Mi+-KoLyGFh1BNiwCNLEzbiUh6BkY0SV2qcbMOZ-Mqwz+Z58UduQEvbpgL
hzoDniaeqIPdGx-B+r61c8gvkq7R3dTNLrmmnhykzQpDyQwbINCiukMa5yTVG
h-bJx-qJK91LHO+MRqvDR0Bfz9azaY98KrEccKaLDmdsKb10WA+O0c-7tWG5q
hQv-wcqXb2Lb0tJ4x0J+AO6p9NtO85leQFn7rsQsogVLbRCsEMOqIhR3mKYvr
hmqGb6V0cIl79Z-wbeB3mK2Gf+i8GwQbPayaipXR++5xGJSQWp00tYvJwWzb5
h2+5VK+jB81ag-z7mVAxne1ESwyXJoaHIKsEhRzkMk2dEg8C7w3UNzvV6F-oF
hR9R6TZRkYIMKSlbL-Wc-hVK-WuNQfcZ9LDYtLhRANktTO4IPPKcvAgTVht6i
h3EQGzILWHu6JbHm9xIDzmWnFKfB2b5MlEJg-PZRtOAJBhgwK728mCYWO-9S+
htGEfUXzylHNbuV4bR+iOVT56ro1MnudGTiEDRg6LRJ4kybf8-bTvuTw4f7iF
hVBOPx4I2+Ru1bsLm19gVZCiSTV7EQVz9lqXWCQZBx6lO-skpNP+M5DbsSMeO
hk9ipq0e0qs+23hJMBm7Yjym5dRmRrZAAIId71Y7jHRAlizA-RIUnh3opXsQr
hOnQTBkzqgks6Hvff2DUo2LXGLz9tX4UCesrSkwshpCw80qTBt4oPLDuHqluj
hI8srJLJh9SjQ9gNljGMovq58DQAkr57BTt8AOhCP+M3DI2C1hhcBg42nDKjE
hkVE9mfUznFkB+g-iVJdfelB6VQj5piSzZiHFt32h84c7TQbciL-ICXrceabE
hgboQyMLgq8a6YQ+XIw9UECZWeyS5KIVoYsfqRP4vsomHjHnvkKzpr8ZXOjyH
h0YaTPW7mrXXcDnFjrgYNIQOpFQt5yvrbs7Yd2CzcmylDYWISy7dgnnOnmNKV
hfocsPk-uKMqJQa+yUsFnLSSn2ydjaxP7xO3UOagxJyEvDlowJM1ENiJw0c-c
hbH3-UsrwNlgDvhqFAWaq-p0Kfp7zFvdIQ0dNWaKL9F2gM8z3rpGJchAjAJty
hzn5w+8VSs2TXYUBmoGWowrWM0yh3R4Jcww85YSktbrY9ZkpIlFA5+qPPhF5t
hjuQ4N6BPHdrwl4D+Q6zwKYHjdSRKzDkOYFosr3LmTjafscjl8jJ+Nr25F1pl
h3-6oecz0axRNKQ0kGz0MQWbSfGSCEKs9QXYwwipGnASevwP+W1IoVP4FVvrY
hh-zDaqrs99Hz4aZhQPJuMyrBJEV4MPP1TQk9NMcF-KPeXwYi1sxQbk7QFiVb
h2GKI1UZgmLlakQrHGZDP-3iSEWhjNrsz249ujfFdRK9G+iKtePe4++0zW4Tq
heTzIA9Zo66+n+3Q0++0I-U+++U7Gstvqciog5HIH+6++++-NEZx1HopBL5ZW
hLqBjPKoiQaJndlU++xyfluHbF7bZyjc39RB5YMYX10eIvwwuJoFWb2pBb1vi
hQp8lg3eaMGoTIr5Ec4q1dWI8XY2Xj+RB-1X96mvA-0oYui4XK63-ln3YYIo6
hMw35aolcRWAFFgRGm+g3nq-nD+TOkf0tsS8qGokDZEyOfMX3nFPOGfVC9JDf
hAx5ZA6SFo7jeIq-oyA+hV6x3tZM9UtSIicW8gMIezbGGEf7nCFqlhV+LPdDg
hrVKgC4LgxWKfC0wHpbMM5IPx8zJ7N2Zo71I8Lp9WoqXKZax7t9-gWFRnU6fj
h0LvCCG4zoeag2FyG4rnpd0BcFX3SmqBdv1cqOZWrxx7n-fIA76mHA6OEpJ+G
hMmXtnyzam3ZmaCCNGzR00YjGSXW0JiUNq3Psr14TYr5O7cvjv47F-QWbZEvz
hFRMDTn2X34Der-Op68VALEdQxpSCd96me9DPFJYyfDfuf3rjd2B6uDU53TN2
h3drhmIgmUwWsr2R7ON8X5yMnP8Iac8DFRn3HXuroso-XLqQcc4-KmXKUP3zP
hyWdjpw3OIfFMcX6e6qPCF-mJHPJWX4OaQyOnNUyfLVUKXZTcVPA6-HlDPreH
hXoUD5FdPaOkOWvYdz99mgWz6+VoysOgS1Gk0I6Awck4F9hmzEqSx2RcqbLyJ
hauQkbvQk0Kg75XQdCzu-JnuGjrR0yLRj3Ux9+nJU25KP06YrzgbA8g1NOtih
hR7HYcIMZcV1LQQ0JzJVn1IZTdKW1ymMZoLTJB7A87Q1b1xLKqRP7JWdlJqBd
h3b8MAscjYtCk1nj+j2ga+9y6NzOdzxGpoLEUU1A+eE++++k0+++086MJux4S
hvGkRBFA+U++++3Z0LoBDHIpQSK7TMqxhPGtXQ50b40w0Hftve9Qj6IK3Mf7N
hJiPwCokbZVVxRpjnch5NfUWlOERQnAbug0gPbY4veA9DP7gBfhEKw3ByjIRG
hBurKJEO5bQ4nNRnpki+yYEP8ohFP-F5EfC8H4kTPQNJa4XeeacsU3hQNMSOF
hVZGhTs8tI06ODfeBM4muOHXWtBqEeXME4Ki6j3KpmVay5ZuSjXKbB6KbRTU3
hyUh2fbQP+gA1q+0zW4TqeTzIm3lo6c+o+4IA++1zR++++jpafbCwdCog5HII
h+6++++-NEZx1HopBL3Z0EqxhPHAm9aBkQ8QM9k7CjbichmwVFMJWgZZKtjkv
hH0SK45prKzCWoRai+Snu-KxSk3V8zX4rSZnwMawKufEEcHlw4dRIX5kKHcR3
hCxQuTTLEgnPf7abhNUqRGpZKBMJwqQmxBBo8-w38hsJsAx96gWVn1Tnoo8eI
hIiZguIxhkc86M+X3K1ROF7GHZJg2+O8Y4DJKMbBW0tpDkYwm1ORIIkIW0CuX
hIRp9eS7L20xAsQUO9NQaBsbJ3cDqhqddhHSmHK5vzyfHr5rYIG3zH2acKZhf
hnnPIac63tySO4fVQ9nT5Kh7cRSx1GVE4h3XJhh6fDDl5-7JMsKZtY-JjjYF4
h1DGOaPvxVo21PTBYozVJKIuv1tRgSXiHZRxRhmNIR1wN8uLVLIPyqPzb1SXZ
h2a4AH9ow4LTuQPatAw5kejOcr9ODwxuxfclwepY3LQA5xykn18HOJ2ZgePxj
h4e3l270Z9iRICtdbC6EPWE89Sa2TztuYIEH4CxoZRyu9L4B8iRHtEyB5iROl
hFIEKmhUfMp4+SGH7Pf7gclNTRCv1KO-i-Br5KjYh-aThk8DhN3T6I7xPIFvf
hv7JYjbeX0iCQZz9e5rZN91KWzn00l40UybtW3SF8UW7P3foDolueHYrf+0XH
hpCVjladdSX7xddGyNzOk3L3wDYmAgbCJfKf6VqGQ1svr3foheCEzadE+VoX2
hcOpcCffCH9e-dSKOAeULYPOet1i9+7elo7sdY5kSe6KyaktdplV+xN++Rf9+
h5OmBMz4baoXXwn1ylzxP0gQN0i-3bjaTCXi6Rd9fml8bDTTXL2WaVmlvdA+b
hbfsGs3QhMW8L7WE5GffZF5+UrKS-ayHJ3o8qia17D3fAnRgMkOpKsQ+0D7J7
hus7TurOI0pvbN+WhbdUGsKlSEiqMVV3XeVEmfhZpdu4pvJI6w61Oh1NqWNpn
hzjAavXbLP9noiKulHYw8YoUbsPzHZtZPS5nVa1gpNnEo9u8EVM0xJqDfwkuf
hCH7FWfaA-ldrkac8JCvaHPKcMB4wawiCgR2Q2-UF6npPQl6jyVWBzc32A5vt
h2Wc1bxjcZ7+LuSLOb65nleRJTQfVgWDY2ErcX+VkqlTjmutOQqCAhmCX-yWX
hcA1dHszz2NX+WePV5MRAsZuTMGnLSNFQkaSTbw49YJhu7K6sV7wmkj7DZLOc
ha+Y83ej97fPWhn98uXvuH9Bw5mGM4EJj4ITDdnT1ebJGihuj5y0FdueGtM+X
hpE9vXjiM0adgXR8FLTCG+3OqaC8pCD87YeEPRMU+tNd4v4-htPtwuf2KZX2y
hTV6uZaETaLjYVizroqDdUftZGkXyvGkPvgZ6dXTl7YjjC6lsljhbyhRKeowX
hoeljsbCJHVmLwjRY7uavayUHrY8HDcOjsU6-6JoH0R49D3zQpRfNz6kqht8r
hWH106pGZJipAIhJSS7S3S9yzU3hsYAahkvaJn51dQf8QlhoQ9kek9ASIXxBS
h-zx1o1Tin3veY3IxOo7fUHBi3dgquiRojV4Z7oGYyWjLlWCWLj7Lnti7miBj
hmP4ED1j5FDjVn4LCnmUylI48ODnyzBj5Bynb2KBf36K4nP6s0owfWGs92rOp
hvxG5jjm3alMCdQuT5ssx93OcfexIGVd3dQ9lKfnvEIwTakqAK1gfReHkkSUG
hFOO1Xjb5xjDvz-+r3NlEAEFrkYapAU6TCIF2nOJ9Fc9uMZqBrpYdSMA9g4By
hUiUBi3lbGFjDLwiMcs7BW2Ie-YPAG2g19V0uMgkoqC792HgtUGV6dcu5b2SS
hzL0k6KtKFoy-iZVHrFreYtPc69IDMk3A4lBUhprQzez2u3P44BjXPNz4nD6x
hXXs28MqqdksBk57zdK4PVZ+xwpttB8qSb+GjRxug9r+gjdJXC1FTHq9u2Vle
h1T4HnZZV0j2W20QyM+8bpoIGvPyqSp7IgJFrbJ9o4komZVtc+UC3SH36vhBn
h77niN0dHd5GMCBJY+3+CnqhzA3pULeovOfvyit-umsotNwQ8poA+UR90H7qF
hU5BAYwzmFdTIBUjaupnX89PVgEaqV2slmB-xhV7gXIw4tI0JygcNZ+yU248h
hlnsGm861bD5JDr3LSqINzVQr3jI3+oBbptmThjX1rrGkcvSLPZpsdzkt5hIu
hGK8HklmRzG4yfcvqTyJBYM7Q2Fjb8Cn7W-2dQT2Mog+Kq8z+mvpTAtBJkRjw
hG7L8aaehQUhIIC10KaedcLutJnNm5GYU1qeqVkvduZJS9qqe9UMLrCT5s8Oy
hfW5B5i7ZI9YySZ4NcacXZWfN-LGZ9Vh5QYBBCsRz+98LhlWQLj75XznAgYsS
h2so5JuI9rhNU7sfhk9FMLvpJ1Rz2IpwPlOEuq0PT0-bvGhIHgBtI-wTSUK66
hXmpbp6xEgQbWPiZU-7aVuaXqK9nNMa6vPH87WtEuvn+221ckct3ioMqomcXR
hOtkVlXMjDaLLl8BPNeZzchjTo9wl4-wvyJaiIhMGHPaoNFAxYuYG3Tq+38ag
hEJxZZ29WHNuscbSQG7lG0lGIKY6vtmtysD2z0GzQJWH-B8NX4ArIqyye+az8
hRLDSeKxA9rm81jb+SkHgWLH7iwNESMjjVTAFGuCNwazCpIto-HeKwaTlj-MQ
h+MNE5c-MaXWj9h59NFKixnQrF1zHaj6wGOsEdGLDtoLeEK+b7ee8h6xyhtpL
hhpVX2dx71p4VyVUTtkdURP+VA730KzzRHQ8AqFnGEYOxqdzBZ4xSDFJJ+hXv
huqRzM7khIvFHk+tbKxOmRfMPR4s6FqWWfr9jwl9dBajpV51J6Uu-rmgLndU4
hUp008BMAf-r3GiGBgqisR89wT9BpCg18rbv7rijTzgVHJbecufk+z+biN8DY
hEca7RSI8WopVXg88BiV-zZQ9wrzXyT47TU1bxLqjlDyrR+UAUsW+cYlEJavi
heVCTsfjVYTARiFR+oN87f4q97+QGw0DKtPY0bP2UuuTM4s7JewfbeNUlVAUx
huxKBRKL-jmeA2ptdsH8Ix9W4TBPhehdSK1sli027Rz2yLGN36HAfT5p5d+md
h152ySjNVw5-rUTa9QNkvuGxwymjmLl+vWxBixL1T5PiS54rSsnBqxhdZXufO
hiEZBsja3B1X75Li2csZMDnho-gpL4h0SyeJ4GHEEYtT+G+183y52v7Cc+vKu
h08fsQj8641vcjIXFHIIo8NxkTL+-qRdSN6AoOC0bjItQwr1SN4o+oKbbpdt3
hXtmFeieVXSbklQu-hDSnBBI2yAe2rNXpTXCx0PFCIkHj0EY5chCVBHDJgerp
h0I3pXPzbjAjQMZ2UxNfkPS6IJFELUSqqwRwzMiywfPgYbMhVG+QdQgdGrZDl
hI7TJz6t1jDsg0kRGIzhYrwZ9MyXqsTIKnuIAgaV5z9EO0a9V4rZAw-E6okFm
hVVE4Empz12mRAy66dxe9hmLvZljLt-ARsx174S8lptjMkSVfYfDADVa628bl
hOZCehaTi33BI-VI-MN6UIpFLvyiRLUw9c0tqO-BGb-y5An9p4QMUDfcEI9E0
hhecKuCMytuIeVqfUqXjiGIMQv6lk9AERthUAOPpfc5lgCvQEFrQCTSGuMVxU
hvrjHkSWc-S7vzkORK4953PlRpQJ6mdwiBxFuUtsnvDZG5gfL03DUZAqiSs7I
hoo7yVTo6XFvmSahhWvhoX2+x8AHpSJLXXCEiV57BNMJXmaQXKbd2REDr7b7o
hyjePGlrUH4Hkgq9r9EvY--4x5Mm09kF9zNFv4cNQn1DKnLPHxZjB8d3bJEC7
hirVLqwwAKn5Mp8wtzOOYuDSpD8pyFBJXuIKsCFhhqdu9qXzoI2Lg7qjN7TGV
hBbYEYgW7YSPcmSY-T8Le1yi0cHzY4n-3OUYPxMK3tihjXNt32FCh0Qgv5yTG
h2QCcUa0b+cviPaTt1eI6IUAx70+nzO28HadVmD6dLlunfUqIhag4GlkRIzlF
h0IygOB89kLjm3LmsU3Z+bZNJIUr2tsPTYa9Q7nb2Sb57uJxTrO13FrcZX5m5
hrjCRF9X8S8kuFG8BLwnMXLNTBX15ca-ezwXDRZKkx+jR6X7jyzDPZ6HQ9FGj
hwJCsNmWKFbve1PhbT+fKszgs0y9aDWZVrRz5cGvevunB1aHMYTlpThfRD264
hK4f1ni4xM8+B2NXjb0-+MftUwoO2jAc-+05T4YCdPucTe6MzLsSVlrNsEVNs
hv63F5Abb7zsQZJi-nDTUEmT21sYoOkk9fz0HgJg8avaGG-SNvUdMhGOM8JdO
8Cw3GcJdv+I+5++++
+
end
sum -r/size 25553/5500

  • 打赏
  • 举报
回复
MSComm的问题很多,不如自己编控件
看看我编的控件,你可以直接用我的控件

以下是控件的用法和控件全部的源代码,整个控件是用 C++ 编的
把下面的两个帖子分别保存到两个文本文件,扩展名为 .xxe
用 WinRAR 3.0 把他们进行解码、解压缩,得到控件的源程序
用 BCB6.0 打开 yb_comm.bpk 编译安装,安装到控件版面上

有什么问题再一起探讨
如果你对控件有所改进或修改,请给我一个 EMail 或其他任何方法让我知道

可以这样打开串口
//---------------------------------------------------------------------------
try
{
YBComm321->PortNo = 2; //COM2
YBComm321->Active = true;
}
catch(Exception &e)
{
Application->MessageBox(e.Message.c_str(),"错误信息",MB_OK|MB_ICONSTOP);
Application->Terminate();
}

在串口事件接收数据
//---------------------------------------------------------------------------
void __fastcall TForm1::YBComm321CommNotify(TObject *Sender, int NotifyType)
{
if(NotifyType & EV_RXCHAR) //接收到数据
{
char Buffer[128];
int n = YBComm321->Read(Buffer,120); //读到 n 个字节,n <= 120
while(n) //如果缓存的数据比 120 多,需要一直读到没有为止
{
Buffer[n]=0;
Memo1->Text = Memo1->Text + Buffer;
n = YBComm321->Read(Buffer,120); //读到 n 个字节,n <= 120
}
}
}

也可以查询数据
//---------------------------------------------------------------------------
void __fastcall TForm1::Timer1Timer(TObject *Sender)
{
char Buffer[128];
int n = YBComm321->Read(Buffer,120); //读到 n 个字节,n <= 120
while(n) //如果缓存的数据比 120 多,需要一直读到没有为止
{
Buffer[n]=0;
Memo1->Text = Memo1->Text + Buffer;
n = YBComm321->Read(Buffer,120); //读到 n 个字节,n <= 120
}
}
//---------------------------------------------------------------------------

发送数据
void __fastcall TForm1::Button1Click(TObject *Sender)
{
YBComm321->Write(Memo2->Text.c_str(), Memo2->Text.Length());
}
//---------------------------------------------------------------------------

/*
控件说明:

Active: 打开、关闭串口,也得到当前串口是否打开了
true = 打开
false = 关闭

PortNo: 整数值
1 代表 COM1
2 代表 COM2
...
n 代表 COMn

Baud 的值: 根据需要修改
CBR_110 CBR_19200
CBR_300 CBR_38400
CBR_600 CBR_56000
CBR_1200 CBR_57600
CBR_2400 CBR_115200
CBR_4800 CBR_128000
CBR_9600 CBR_256000
CBR_14400

Parity (奇偶校验)的值: 一般用默认值
EVENPARITY 偶
MARKPARITY Mark
NOPARITY 无奇偶校验 (默认值)
ODDPARITY 奇

StopBits (停止位)的值: 一般用默认值
ONESTOPBIT 1 位 (默认值)
ONE5STOPBITS 1.5 位
TWOSTOPBITS 2 位

FlowControl (数据流控):
一般无 MODEM 用默认的 fcNone
有 MODEM 不能选择 fcNone
fcNone = 0, (默认值)
fcRtsCts = 3,
fcXonXoff = 4,
fcTranXonXoff = 5,
fcRtsCtsXonXoff = 6,

AutoAnswer (自动应答):
使用 MODEM 硬件本身的自动应答功能
取值范围 0 - 255
0 不自动应答
1 - 255 表示电话响铃 AutoAnswer 次数后应答

InitModem() 初始化 MODEM
如果有 MODEM 需要在 AfterOpen 事件 (每次 Active 之后) 调用这个方法


这个控件的发送、接收函数的参数都是 void* 类型的,可以用任何变量的地址

long __fastcall Read(void far *s, long n);
读串口数据到地址 s,最多读 n 个字节
返回值为实际读到的字节数

long __fastcall Write(const void far *s, long n);
把地址 s 的数据写到串口发送出去,发送 n 个字节
返回值为实际发送出去的字节数

void __fastcall PurgeRead(bool bAbort=false);
清除读缓存,如果 bAbort 为 true,会强制中断当前正在进行的读操作

void __fastcall PurgeWrite(bool bAbort=false);
清除写缓存,如果 bAbort 为 true,会强制中断当前正在进行的写操作

抛出的异常为 EComm32Error, 由 Exception 继承
EComm32Error 有 ErrorCode 属性,可以判断错误类型,详见 .h 文件

*/
shiyediyi 2002-07-14
  • 打赏
  • 举报
回复
请问pazee:
我想到达这样的目的,发送一个数据后,例如发送0x20,如果收到对方机器的应答0x20,那么继续发送下面的数据,如果没有收到则再循环发送0x20,直到收到0x20。我现在是能收到回应,但好像不能把自定义的全局布尔变量传递到发送函数中去。
我现在的做法是:在窗体定义一个私有变量bool FOK;想通过FOK的改变来控制发送步骤。
当我按发送按钮时,
FOK=false;
do{MSComm1->Output=WideString(0x20);}
while(!FOK);
在oncomm事件中这样写:
if(recestr=0x20) FOK=true;
结果程序能运行,但是动不了。不知道为什么?请帮忙解决下。非常感谢。高分相送
耙子 2002-07-14
  • 打赏
  • 举报
回复
if(MSComm1->CommEvent==2)

str=MSComm1->Input;
recestr+=WideString(str);
if(recestr==0x20) FOK=true;


if(recestr==0x20)
这个比较有问题吧!
recestr是个AnsiString类型,他怎么能和0x20直接比较呢?

是否应该写成 recestr[0] == 0x20

另外,bcb可以相应TEvent的,我以前写过。

13,825

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder相关内容讨论区
社区管理员
  • 基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧