C++Builder Programming Forum
C++Builder  |  Delphi  |  FireMonkey  |  C/C++  |  Free Pascal  |  Firebird
볼랜드포럼 BorlandForum
 경고! 게시물 작성자의 사전 허락없는 메일주소 추출행위 절대 금지
C++빌더 포럼
Q & A
FAQ
팁&트릭
강좌/문서
자료실
컴포넌트/라이브러리
메신저 프로젝트
볼랜드포럼 홈
헤드라인 뉴스
IT 뉴스
공지사항
자유게시판
해피 브레이크
공동 프로젝트
구인/구직
회원 장터
건의사항
운영진 게시판
회원 메뉴
북마크
볼랜드포럼 광고 모집

C++빌더 Q&A
C++Builder Programming Q&A
[39293] Re:Cport로 serial로 읽기, 쓰기를 하려고 합니다.
WARSHIP [warship] 2681 읽음    2005-02-26 09:44
kalmaeki 님이 쓰신 글 :
: 다른 분들은 쉽게 됐다고 하는데, 워낙 초짜라 이것도 어렵네요...머가먼지 -_-;;
:
: 일단 Cport를 인스톨하고 폼에 Comport1이랑 메모장, 그리고 버튼하나를 놓고
: 메모장에 쓴 내용을 serial로 송신하려고 합니다.
:
: void __fastcall TForm1::Button_SendClick(TObject *Sender)
: {
:         AnsiString Str;
:
:           Str = Edit1 ->Text;
:           ComPort1->WriteStr(Str);
:           ComLed1-> State = lsOn;
:           Edit1 -> Clear();
:
: }
:
: 문제는 버튼을 누르면 Write file function failed (win error code:6) 이라고 나오네요..
: 제가 뭘 잘못한건지...
:
: 고수님들의 답변을 부탁드립니다.

음 우선 Edit1->Text 라고 하신걸 보니 메모장이 아니라 에디트 컨트롤을 쓰신거 같군요.?

에러가 나는 원인중 하나는 시리얼 포트가 지정이 잘못되었거나
시리얼 포트가 열려있지(Connect)않은거 같습니다.
보내기 전에 "ComPort1->open();" :-)

그외에 약간 조언을 드리자면
1. Str 을 선언하기 보다는 ( 오버헤드가 있으므로 )
    ComPort1->WriteStr(Edit1->Text);
    이렇게 하는편이 더 낳을거 같구요.

2. TComLed 컴포넌트의 경우에는 (저렇게 멤버 변수를 토클시키면 불이 켜지는지는 모르겠습니다)
    Object Inspector 에 "LedSignal" 이라는 곳에서 원하는 것을 골라주고 (예 : 들어올때 깜박, 보낼때 깜박 등등)
    붉은색의 "ComPort" 에 현재 사용하고 있는 TComPort 컴포넌트를 지정해 주면 알아서 깜박거리게 됩니다.

3. 위와 같은 원리로 TComComboBox 컴포넌트의 경우에도 위와 같이 ComPort 를 선택해 주고
    "ComProperty" 속성에 콤보박스에 들어갈 원하는것 ( 포트번호,보드레이트,흐름제어,데이타비트,스톱비트등)
    을 골라주면 자동으로 (지원하는것들) 들어가게 됩니다. 게다가 "AutoApply" 를 true 로 설정해 주면
    자동으로 반영되지요.

그럼 좋은 주말 보내세요~ ^^

+ -

관련 글 리스트
39269 Cport로 serial로 읽기, 쓰기를 하려고 합니다. kalmaeki 1044 2005/02/25
39293     Re:Cport로 serial로 읽기, 쓰기를 하려고 합니다. WARSHIP 2681 2005/02/26
39305         답변 감사드립니다....(^-^) 냉무 양승현 1140 2005/02/27
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.