Q&A

  • 시리얼통신에서 데이타 날리는 부분에 대한질문임다.
환경 : Delphi6.0  CPort263  버전을 씁니다.

안녕하세요.
궁금한부분은여
데이타가 날라오면 잘받앗다는 응답메세지를 보내면 다음 데이타가 날라옵니다.
그런데 응답메세지로 날리는 메세지가 #OK. 이거든요.
ComPort.WriteStr('#OK.'); 하면 데이타가 제대로 접수되지않네요..
그런데요
따로따로 한글자씩 턴을 둬서 보내면 # 보내구 O 보내구 K 보내구 . 보내면 잘받앗다고 다음 메세지가 옵니다.
그래서 한함수네에서
ComPort.WriteStr('#');
ComPort.WriteStr('O');
ComPort.WriteStr('K');
ComPort.WriteStr('.');

이렇게 해도 제대로 전송이 안되여..^^;
왜그런지 설명좀해주세요...^^;
해결방법또한가르쳐주시면 정말 감사하겠습니다.^^
그럼 즐코
3  COMMENTS
  • Profile
    장명선 2002.06.10 01:53
    Write 를 쓰세요...

    이것은 길이만큼 보내는 명령입니다.

    프로퍼티를 참조하세요

    예) ComPort.Write('ABCD', 4);

    이런씩으로 사용할겁니다.
    즐코하세요
  • Profile
    나그네 2002.06.10 03:54
    고맙습니다. 답변해주셔서..
    근데요.
    ComPort.Write('ABCD', 4); 이거랑여
    ComPort.WriteStr('ABCD');
    이렇게 해서 보내는거 차이가 있나여?
    방법이 없을런지 꼭좀 부탁드립니다.

    왜 버튼 하나 올려서 클릭이벤트에서 한자씩 보내야전송이 되고...
    동시에 위처럼 써서 보내면 전송을 못받져?
    아님 사이에 무슨 특수 문자라도 삽입해야하나여? 꼭좀 갈켜주세요....
    그럼즐코  



  • Profile
    장명선 2002.06.10 05:35
    문자형 전송에서 Null값이 나오면 Null값에서 중단이 됩니다.
    그래서 특정 길이만큼을 전송하라고 명령을 주어야 제대로된 자료가 전송이 됩니다.

    chr(0)에 대한 자료를 보내보세여 아마 전송이 안될겁니다.

    그래서 Write 명령으로 하면 길이만큼을 무조건 보내니깐 전송되겠져~~

    허접 통신이라서 이해가실련지....^^*

    그럼 즐코하세요

    • 박송휘
    • 2002.06.10 18:46
    • 3 COMMENTS
    • /
    • 0 LIKES
    • 김수경
      2002.06.10 18:56
      OnClick Event와 연결된 Button1Click를 직접 불러 주시면 됩니다. 즐거운 하루 되세요!
    • 박송휘
      2002.06.11 05:23
      .......................
    • 최용일
      2002.06.12 12:36
      안녕하세요. 최용일입니다. 다른 프로그램도 가능합니다. 님이하신 코딩에서 Button13.Handle대신에 ...
    • 구현민
    • 2002.06.10 18:15
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 최석기
      2002.06.10 19:35
      퀵레포트 버그입니다.. 예전에 Usesnet 뒤지다가 그 버그 수정한 콤포넌트를 찾았었는데 이름이 기억이 ...
    • 김태훈
    • 2002.06.10 12:00
    • 7 COMMENTS
    • /
    • 0 LIKES
    • 김수경
      2002.06.10 19:02
      여러가지 방법이 있지만 제가 추천하는 방법은 Samples Tab에 있는 CSpinEdit1 Component를 사용하는 겁니...
    • 김태훈
      2002.06.11 11:12
      저는 이걸 함수로 만들려고 하거든요. 100이하만 입력할수 있고 아예 100이상은 사용자가 입력못하게요....
    • 성더기
      2002.06.11 19:49
      function MaxHund(Value : integer):boolean; begin   if (Value >= 1) and (Value <= 1...
    • 머슴
      2002.06.10 19:00
      먼저 에디트박스속성중에 MaxLength를 3으로 해주시고요.. KeyPress이벤트에서 숫자만 입력되도록 ...
    • 김태훈
      2002.06.11 11:08
      숫자만 입력되게는 했어요. 전 100이하의 숫자만 입력가능하게 하고 싶거든요. 100이상이면 메시지를 보...
    • 김도형
      2002.06.10 18:56
      숫자만 입력하게 했으믄 쉬운거 같은데염...   case strtoint(Edit2.text) of   ...
    • 김태훈
      2002.06.11 11:10
      100이상이면 메시지나 기타처리를 하는게 아니라 아예 100이상의 숫자를 사용자가 입력 못하게 하고 싶거...
    • 정경주
    • 2002.06.10 09:19
    • 1 COMMENTS
    • /
    • 0 LIKES
    • ☆영민★
      2002.06.10 10:19
      저도 아는게 별루 없지만.. 혹시.. chr(13) 으로 하면 되지 않을까요?? 엔터(Enter / Return)키 값이 1...
    • 머슴
      2002.06.10 23:20
      델파이 실행프로그램이 그리 크지가 않습니다..(제가 느끼기에는) 혹시 다른 원인이 있지 않을까 생...
    • 티모니
      2002.06.10 21:25
      Use CASE.. statments rather than IF..ELSE.. clauses.        &nb...
    • 티모니
      2002.06.10 21:12
      우선은 프로그램을 만드실때여.. 필요 없는건 uses 에서 빼주시구여... 프로그램을 기능들을 dll로 따로...
    • 나그네
    • 2002.06.09 20:51
    • 3 COMMENTS
    • /
    • 1 LIKES
    • 장명선
      2002.06.10 01:53
      Write 를 쓰세요... 이것은 길이만큼 보내는 명령입니다. 프로퍼티를 참조하세요 예) ComPort.Wri...
    • 나그네
      2002.06.10 03:54
      고맙습니다. 답변해주셔서.. 근데요. ComPort.Write('ABCD', 4); 이거랑여 ComPort.WriteStr('ABCD'); ...
    • 장명선
      2002.06.10 05:35
      문자형 전송에서 Null값이 나오면 Null값에서 중단이 됩니다. 그래서 특정 길이만큼을 전송하라고 명령을 ...
    • 이동준
    • 2002.06.09 11:45
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 장명선
      2002.06.10 01:51
      BDE->Configuration->Drivers->Native DLL32 -> SQLORA8.DLL VENDOR INIT -> OCI.DLL ...
    • 장명선
    • 2002.06.09 09:25
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 신석기
      2002.07.23 10:04
      버젼과 관계가 있습니다. 설치된 ocx보다 버젼이 높다면 해당 경로에서 다운 받아 설치합니다. 옵션에서 ...
    • 김장훈
    • 2002.06.09 07:49
    • 2 COMMENTS
    • /
    • 0 LIKES
    • 깨구락지
      2002.06.09 08:29
      myStr:=StringReplace(trim(tStr),' ','',[rfReplaceAll]) 공백은 무조건 제거합니다.
    • 김정용
      2008.07.31 00:51
      깨구락지 님 감사합니다.
    • 오현주
    • 2002.06.09 06:24
    • 2 COMMENTS
    • /
    • 0 LIKES
    • KDDG_zzang
      2002.06.09 08:12
      여기 가면 자세한 정보를 얻으실 수 있습니다. www.oracleclub.com 상단 메뉴에 보면 oracle > orac...
    • 오현주
      2002.06.09 23:54
      답변은 고맙습니다.. 그런데 저는 dataset의 query로 이용해서 데이터베이스에 접근을 해서 커서를 이동...
    • 이소진
    • 2002.06.09 04:17
    • 0 COMMENTS
    • /
    • 0 LIKES
    • 미소나눔
      2002.06.09 05:01
      직접 컴포넌트로 만드셔야 합니다. 아래처럼 새로운 Unit에 코딩하시구.. TNewEdit = class(TEdit) .... ...
    • 박종민
      2002.06.10 16:27
      델파이 잘 못하는 애들한테 왜 이런걸 내주는지 답변은 잘 봤는데 포기입니다... ㅡ.ㅡ
    • 깨구락지
      2002.06.11 20:30
      컴포넌트 만들기가 어려우시면 만드러진 컴포넌트를 사용하십시오. 자료실에 CurrencyEdit 컴포넌트를 이...
    • 이재식
      2002.06.09 04:20
      var    HexiDecimal : String ; -----------------------------------    &...
    • 이승근
    • 2002.06.09 01:24
    • 1 COMMENTS
    • /
    • 0 LIKES
    • KDDG_ZZOM
      2002.06.09 02:04
      정확한지는 모르지만... 파라독스에서 인라이뷰가 되는지 잘모르겠네요...
    • 권광일
      2002.06.15 02:01
      DirectX 의 기능중에 DES 기능이 있습니다. 그중에 TimeLine 이라는 것이 있는데, 그 조작을 XML 로도 ...
    • 이동현
    • 2002.06.09 00:23
    • 1 COMMENTS
    • /
    • 0 LIKES
    • KDDG_zzang
      2002.06.09 00:49
      1. DataSet.RecordCount 로 체크하시던가 2. SELECT COUNT(1) FROM 출석부 WHERE 이름 = '테스트' 여...
    • 송재진
    • 2002.06.09 00:17
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 이재식
      2002.06.09 04:26
      님께서 질문하신 내용은 그리 어렵지 않게 델파에서 주는 트리뷰 컴포넌트로 할수 있습니다. 특정 노드에...