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
[58644] Re:Re:Re:[질문]vb소스 -> c++ builder로 바꾸는데 모르는 부분이 있어요.
김동현 [cx196dh] 1479 읽음    2009-09-25 14:58
죄송 합니다.
첨부 파일이 있었군요.
첨부 파일에 있는 내용을 보았습니다.

    status  = viPrintf ( m_vi, "MMEM:DATA? 'C:PICTURE.GIF'\n" );
    status  = viReadSTB (m_vi, &stb);
    sprintf(ResultsArray,"%s","%%#y");  // 타입이 맞다면 이렇게 해보면 될 것 같습니다만.
    status  = viScanf ( m_vi, "%t", &ResultsArray );

일단 확인을 해 보셔야 할 것이 VB 소스는 구동이 된다면 이 type 부분이 어떻게 찍히는지
알아 봐야 할 것 같습니다. debug.print로요 ... 이 부분이 값이 이야기 하신 %#y 인지 확인 먼저

하나 더 확인해 보셔야 할것이 viScanf 인자가 어떻게 되는가 입니다.
Agilent 에서 제공 하는 함수이니 함수에 대한 설명이 있을 것입니다.
그 문서를 먼저 확인 하시는 것이 좋을 것 같습니다.
함수에 인자에 대한 설명이 있을 것이라 생각이 됩니다.
감사 합니다.
도움이 되었는지 모르겠습니다만, 혹시 도움이 필요 하시면 또 연락 주십시오.
그럼 즐프 하세요.

unitas 님이 쓰신 글 :
: 답변 감사합니다.
:
: vi로 시작하는 함수는 Agilent에서 제공하는 Library 함수입니다. (계측기와 통신할 때 사용합니다.)
: viPrintf
: viReadSTB
: viScanf 등
: MMEM으로 시작하는 함수는 해당 계측기의 그림에 관한 명령어 입니다.
:
: Chr$(10) 는 C++로 바꾸면 '\n' (Line Feed) 에 해당합니다. (인터넷 찾아봤습니다.)
: 바꾸면
: status = viVQueryf(vi, "MMEM:DATA? 'C:PICTURE.GIF'\n", "%c%%#y", ArrayPtr(0) );
: 이렇게 되는데 실행하면 Error가 납니다.
: (SICL32.dll : Library 관련된 dll 같습니다.)
:
: 말씀하신대로
: AnsiString an_Temp;
: an_Temp.sprintf(":MMEM:DATA? 'C:PICTURE.GIF%c%%#y'",10);
: 하면 계측기에서 불러올 수가 없습니다.
:
: 계측기에서 파일을 불러올때 아래 함수를 사용해야만 합니다.
: viVQueryf : 송신과 수신에 해당
: viPrintf     : 송신에 해당
: viScanf    : 수신에 해당
:
: 제가 알고싶은것은
: "%#y" 이것을 C++로 어떻게 바꾸어야 하는지?
: 그리고
: 파일변환에 관해서는
:     '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
:
: 위 문장에서
:  FreeFile() -> C++ 에 해당하는 함수는?
:  Open "picture.gif" For Binary As #fnum -> C++로 어떻게 바꾸어야 하는지?
:  Put #fnum, , ResultsArray(x) -> 이 문장도 잘 모르겠습니다.
:
: 억지로 하면 파일을 불러오는데 그림은 볼수 없고.
: (메모장으로 열면 이상한 글자들이 표시되는것으로 봐서는 불러올때 TYPE만 맞춰주면 될것 같습니다.)
:
: 제가 변환한 파일 같이 첨부파일에 올립니다.
:
: 몇 주일째 진전이 없습니다.
: 예전에 VB 한 친구도  "%#y" 이런 Type은 처음 본다고 하는데.
: 다시 한번 부탁드리겠습니다.
:
:
:
: 김동현 님이 쓰신 글 :
: : 안녕 하세요.
: : 도움이 될지는 모르겠습니다만, 제가 아는 지식안에서 설명을 드리도록 하겠습니다.
: : 일단 질문에서 어떤것을 물어 보시는지는 잘 모르겠습니다만, 제 생각으로는 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);
: : 이런식으로 만들면 되지 않을까요?

+ -

관련 글 리스트
58628 [질문]vb소스 -> c++ builder로 바꾸는데 모르는 부분이 있어요. unitas 1237 2009/09/24
58647     Re:[질문]파일 추가로 첨부합니다. unitas 1100 2009/09/25
58641     Re:[질문]vb소스 -> c++ builder로 바꾸는데 모르는 부분이 있어요. 김동현 1700 2009/09/25
58642         Re:Re:[질문]vb소스 -> c++ builder로 바꾸는데 모르는 부분이 있어요. unitas 1326 2009/09/25
58644             Re:Re:Re:[질문]vb소스 -> c++ builder로 바꾸는데 모르는 부분이 있어요. 김동현 1479 2009/09/25
58643             ㄴRe:Re:Re:[질문]vb소스 -> c++ builder로 바꾸는데 모르는 부분이 있어요. 김동현 1560 2009/09/25
58646                 Re:ㄴRe:Re:Re:[질문]vb소스 -> c++ builder로 바꾸는데 모르는 부분이 있어요. unitas 1440 2009/09/25
58652                     Re:Re:ㄴRe:Re:Re:[질문]vb소스 -> c++ builder로 바꾸는데 모르는 부분이 있어요. 김동현 1502 2009/09/25
58650                     Re:Re:ㄴRe:Re:Re:[감사]감사합니다. 성공했습니다. unitas 1184 2009/09/25
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.