Q&A

  • RS232에서 들어오는 값 체크방법 ?
RS232의 ComPort 콤포넌트를 사용해서 통신 연결을 했습니다.
처음 하는 것이라 개념이 없어서 문제가 많이 발생하고 있습니다.
이해가 안되는 것은 ComPort로 연결시 상대의 Serial Port를
체크해야 하는데 들어오는 값은 RxChar 이벤트로 모두 처리되는
것 같은데 연결순서가

1. 상대방  Port Check
2. 연결시도 연결되었는가 Check
3. 통신으로 약 500개의 Record 를 보내야 하는데 (Loop 사용)
   1개의 Record를 보낼때마다 제대로 보냈는지를 상대컴퓨터가
   Check 하여 Return 값('0' 또는 '1')를 보내주면 그 값을 체크하여
   '1' 이 들어오면 다음 Record, '0' 이면 다시 보내야함

이런 순서로 작업이 진행되는데 RxChar 이벤트에서 이것들을
어떤 방법으로 순서적으로 체크할 수 있나요 ?

그리고 RxChar 이벤트에서 연결시도를 체크한 후 재 연결할 때(약 100번 Loop 사용) 이벤트내에서 ComPort.WriteStr('연결시도') 를 반복적으로
보내도 문제가 없나요 ?

개념없는 질문 읽어주셔서 감사합니다. 답변 부탁드립니다.
1  COMMENTS
  • Profile
    최종민 2003.06.05 09:48
    좀 더 자세히 적어주시면 좋으련만...
    이해한 만큼만 적어볼께요...
    RxChar는 데이터가 들어오는 경우에 발생하는 이벤트니까요...
    1,2번은 필요가 없을 거 같네요...
    인자 중 하나인 Count가 0이 아니면...
    값이 들어오는 거니깐...
    연결이 된거겠죠...
    그리고 RxChar안에서...WriteStr함수를 부르는 건...해보지는 않았지만...
    가능할 거 같아요...
    별로 답변은 되지 않은 거 같지만...
    글구 이거 ComPort 컴포넌트 좋은데...
    7버전으로는 업글이 안되서리...아쉬비...

    • 曦昇
    • 2003.06.04 03:47
    • 3 COMMENTS
    • /
    • 0 LIKES
    • nilriri™
      2003.12.05 19:39
      이미 지난 답변이지만.. Screen.Height - screen.WorkAreaHeight  로 구해도 되네요..^^ ...
    • KDDG_ZZOM
      2003.06.04 04:04
      procedure TForm1.Button1Click(Sender: TObject); var   Rect : TRect; begin   ...
    • 曦昇
      2003.06.04 04:12
      .
    • 장경임
    • 2003.06.04 02:44
    • 0 COMMENTS
    • /
    • 0 LIKES
    • 최은하
    • 2003.06.04 02:02
    • 3 COMMENTS
    • /
    • 0 LIKES
    • LuckyBoy
      2003.06.04 19:23
      일단은 어떠한 데이터 베이스라도 님이 생각하시는대로 원샷에 데이터를 만들수 없습니다.. 왜 그렇게 ...
    • KDDG_ZZOM
      2003.06.04 02:16
      머리가 나뻐서 인지... 이해가 잘안되는데... 테이블에 아래그림처럼 데이타가 들어갔는데... 832 오...
    • ㉯㉰감자
      2003.06.04 19:49
      Union하신거라면 쿼리에서 해결이 가능할것 같습니다 Union이 아니더라도... 어느정도는 해결이 가능할 ...
    • 이경수
    • 2003.06.04 01:45
    • 2 COMMENTS
    • /
    • 0 LIKES
    • 이재현
      2003.06.04 02:03
      간단히 Ctrl+F2 를 눌러 보시고 안되면 Delphi 메뉴에서 Run -> Program Reset 을 누르시면 됩니다. ^...
    • 이경수
      2003.06.04 20:13
      아 그렇군여........감사합니다.........^^ 앞으로 많이 물어볼거 같음......ㅎㅎ
    • 휴초보
    • 2003.06.04 01:33
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 최종민
      2003.06.05 09:48
      좀 더 자세히 적어주시면 좋으련만... 이해한 만큼만 적어볼께요... RxChar는 데이터가 들어오는 경우에 ...
    • 김주성
      2003.06.04 01:47
      uses 에서 ShareMem을 빼니까 되네요 uses 절에서 맨 먼저 참조하게 하지 않아서 그런가요? 왜 그런지...
    • 김주성
      2003.06.09 16:22
      ShareMem은 uses 절에서 맨 먼저 쓰라고 돼 있네요... ㅡ.ㅡ;;
    • 이재현
    • 2003.06.04 00:52
    • 0 COMMENTS
    • /
    • 0 LIKES
    • KDDG_ZZOM
      2003.06.04 04:40
      퀵자체로는 힘들것같네요... TPrinter로 코딩으로 구현해보세요... 예전에 자료실에 올린적있었는데... ...
    • 곽재근
    • 2003.06.04 00:37
    • 3 COMMENTS
    • /
    • 0 LIKES
    • 오선배
      2003.06.04 03:30
      글쎄요 제가 그쪽 상황를 자세이 모르니 저도 답답하네요 왜 StrUtils.pas 를 변경했는지 혹시 자체적으...
    • yosule
      2003.06.04 03:12
      StdActns, Action유닛을 사용하신것 같군요. StrUtils버전이 틀린것으로 컴파일 할려니 발생하는 에러입...
    • 곽재근
      2003.06.11 02:40
      건들인것은 없거든요... 그냥 rx 컴퍼넌트를 설치 한거 밖에 없는데...
    • 정영봉
    • 2003.06.04 00:21
    • 4 COMMENTS
    • /
    • 0 LIKES
    • 미친코딩
      2003.06.04 01:27
      따로 설치 하시려면 여기 자료실에 JetSetup.exe이라는 파일 올려놓은거 있습니다. 그거 받아 설치하셈.....
    • nilriri™
      2003.06.04 00:41
      샬롬~ msdn에서..mdac다운 받으신 다음에.. 해당 인스톨버젼...mdactypeko.exe (아마..이 비슷할 겁...
    • 정영봉
      2003.06.04 01:31
      닐리리님,미친코딩님 답변감사한데요....두개다  깔아도 안되네요..
    • 정영봉
      2003.06.04 04:14
      해결하고 나니까 정말 간단하고,신기하네요.. 담에 이런 질문 올리시는 분 있으면 제가 화면 캡쳐해서 올...
    • KDDG_ZZOM
      2003.06.04 00:31
      조건이 어떤식으로 변한다는건가요? select *   from 테이블명 where 비교할필드 in ('1',2'...
    • 남궁혁
      2003.06.04 01:29
      답변 감솨함돠.. 소스가 아래와 같은데..    aaa :=  ValueListEditor1.Value...
    • KDDG_Hoya
      2003.06.04 01:56
      파라미터를 잘못 쓰셨군여..   두개이상 쓰실려면, 파라미터를 두개를 만들어 사용해야 합...
    • 남궁혁
      2003.06.04 02:36
      제가 제대루 설명을 못했네여.. 죄송^^ 다시  설명을 하자면..   aaa :=&...
    • KDDG_ZZOM
      2003.06.04 02:42
      procedure TForm1.Button1Click(Sender: TObject); var   Code : String; begin   ...
    • 이경돈
    • 2003.06.03 23:06
    • 1 COMMENTS
    • /
    • 0 LIKES
    • yosule
      2003.06.04 03:16
      ^^
    • ㉯㉰감자
      2003.06.03 21:49
      -- 레지스트리 등록 ----- procedure .... var   reg : TRegistry; begin   reg ...
    • 돈키호테
      2003.06.03 23:20
      답변 감사합니다.^^ 한가지만 더요 -- 레지스트리 등록 ----- procedure .... var   ...
    • ㉯㉰감자
      2003.06.04 19:20
      앗...답변이 늦어서 죄송합니다... $112233은... 16진수 표현입니다..(물론 숫자이구요) regedit로 ...
    • 돈키호테
      2003.06.04 20:23
      냉무 라니깐요 ^^
    • 바보
      2003.06.03 22:40
      전역변수라면 Data segment에 할당이 되고 지역변수라면 프로세스의 Stack에 변수가 할당이 됩니다. GetM...
    • 이종택
    • 2003.06.03 21:20
    • 1 COMMENTS
    • /
    • 0 LIKES
    • yosule
      2003.06.04 03:20
      일단 필드의 값을 임시변수에 저장해서 그 임시변수를 사용해보십시요. 잘 나옵니까? 그러면 필드의 값...
    • 박정순
    • 2003.06.03 21:08
    • 2 COMMENTS
    • /
    • 0 LIKES
    • nilriri™
      2003.06.04 00:37
      샬롬~~~ 얼마전에 님 질문 간단히 답해 드렸던거 같은데.. 아직 해결하지 못하신건가여??...도움이 ...
    • 박정순
      2003.06.04 02:30
      정말 감사합니다. 님의 대답으로 인해 한시름 덜었습니다. 수고하세요.