|
안녕 하세요.
도움이 될지는 모르겠습니다만, 제가 아는 지식안에서 설명을 드리도록 하겠습니다.
일단 질문에서 어떤것을 물어 보시는지는 잘 모르겠습니다만, 제 생각으로는 command을
만드는 부분을 모르시는 것 같아 몇자 적어 봅니다.
status = viVQueryf(vi, ":MMEM:DATA? 'C:PICTURE.GIF'" + Chr$(10), _
: "%#y", ArrayPtr(0))
Chr$(10) + "%#y" => 이놈은 계측기와 통신하실때 사용 하는 종결자라고 생각이 듭니다. (문장의 끝을 표현 하는 것).
viQueryf : 계측기에서 제공 하는 함수 일 것 같구요. (제 개인적인 생각임.)
vi : 장비에 핸들이 이닐까 생각이 듭니다.
ArrayPtr(0) => 포인트 주소를 넘기고 있는것 같구요.
AnsiString an_Temp;
an_Temp.sprintf(":MMEM:DATA? 'C:PICTURE.GIF%c%%#y'",10);
이런식으로 만들면 되지 않을까요?
unitas 님이 쓰신 글 :
: visual basic 소소인데 c++ builder로 바꾸는데 모르는 부분이 있어 도움 부탁드립니다.
: visual basic에서는 정상적으로 작동합니다. [계측기 연결되어 있는 상태에서]
: 소소는 계측기와 연결해서 화면 캡쳐를 해서 계측기에 저장하고 저장되어 있는 파일[화면캡쳐한것]을
: 내 pc로 가져오고 계측기의 파일을 삭제하는 내용입니다.
: [:MMEM:DATA? , viVQueryf 등은 계측기 명령어 입니다.]
:
: 모르는 부분은 [계측기의 파일을 내 pc로 가져오는 부분과 그 파일 처리하는 부분입니다.]
: 소스 전문은 첨부파일로 넣었습니다.
: 모르는 부분만 따로 기재하면 아래와 같습니다.
:
: 계측기의 파일을 내 pc로 가져오는 명령어중 이부분을 모르겠습니다.
: ( "%#y" 는 c++에서는 어떤 type으로 바꾸는지요? )
: 'Grab the screen image file from the instrument
: status = viVQueryf(vi, ":MMEM:DATA? 'C:PICTURE.GIF'" + Chr$(10), _
: "%#y", ArrayPtr(0))
:
: 내 pc로 가져온 후 파일처리하는 부분
: 'Store the results in a text file
: fnum = FreeFile() 'Get the next free file number
: Open "picture.gif" For Binary As #fnum
: isOpen = True
: headerlength = 2 + (Chr$(ResultsArray(1)))
: For x = headerlength To length - 2
: Put #fnum, , ResultsArray(x)
: Next x
:
: 나름대로 책보고 다른 부분은 어떻게 했는데 위의 2가지 부분은 잘 모르겠습니다.
: 부탁드리겠습니다.
|