혹시 델 2009 이상을 사용하시나요?
그렇다면 Edit1.Text 가 WideString 이라서 그렇습니다.
오델로 님이 쓰신 글 :
: 신호 수신부는 구현이 됐는데요
:
: 신호를 장비한테 보내는 부분이 아직 안되서요...
:
: 장비는 16진수 헥사값을 이용합니다..10바이트를 사용하구요
:
: 제가 사용할려고하는 방법은 텍스트박스에 16진수(02 30 30 49 30 30 30 32 6d 03) 를 입력하면
:
: 그값을 그대로 장비한테 보내주는 그런 구현을 하고싶은데요 사용한 코딩은.
:
: var
: Str: String;
: begin
: Str := Edit1.Text;
:
: Str := #13 + str + #10;
: Com1.WriteStr(Str);<----이부분에서 데이터형이 일치하지않다고 그러네요 출력하게되면 데이터 값이 아닌 일반
: end; string형으로 입력됩니다..
:
: com1.write(str,count)를 쓰면 edit1에서 입력되는 값이랑 데이터형식이 다르다고나오고요
: write(a<-자료형식이 pchar이라고나옵니다),count)
: 또 edit에서 입력받은 str을 pchar로 바꾸면( pchar(str) 로 바꾸려고하면
:
: [Pascal Error] xc1000Unit1.pas(189): E2014 Statement expected, but expression of type 'PAnsiChar' found
: 이 오류가 뜨고요..........
:
: 알아보고 해본방법만 10가지정도되는데요 제가 기초가 매우 약하다보니까 머가 잘못된건지.......전부 오류가뜨거나 그냥 단순히 텍스트값만 입력이 되네요........
: 이리저리 검색해서 배열도 써보고 다른분이 해놓신 코드도 따보고 했는데요 어디서 머가 잘못된건지 의도대로 안되서 이렇게 글남깁니다...
:
: 요약하자면 텍스트박스에 02 30 30 49 30 30 30 32 6d 03 이값을 입력하면 각byte당 한값씩 16진수로 전달되게끔 할려고 합니다...
:
: 다른코딩방식도 좋습니다.....제가 생각되는대로 코딩한거라 방식이 다를수도있구요......배열방식이 맞는거같은데...역시 형변환부분에서 문제가 생기고요....ㅜㅡㅜ
:
: 아시는분 있으면 답변좀......부탁드립니다..제발...
|