|
안녕하세요? 보연님 ^^; 개박살입니다
방금전 분이 답변하셨다 싶이 이렇경우 가장 쉽고 간결한것이 타이머입니다.
Start 버튼 클릭하였을때 작업을 Timer의 OnTimer이벤트에 넣고
Start버튼 클릭했을때는 Timer를 시작하는거죠 Timer->Active = true; 이렇게요
그리고 맴버변수하나를 써서 Count를 하는거죠..
타이머 이벤트에서 Count++; 로
Count를 Col로 표에 표시하면 됩니다.
그럼 참고하세요~
박보연 님이 쓰신 글 :
: 디지털 멀티미터가 같은 실행(전압 측정)을 여러번 반복하도록 하려면 명령어를 어떻게 보내줘야 하는지요..
:
: 아래 코드를 보시면 아시겠지만, Start 버튼을 클릭했을 때.. 한 번 밖에는 실행이 안됩니다.
: 그리고, PringMsg()부분에서는 읽어온 전압을 표에 나타내야 하는데..
: 현재는 표의 (1,1)부분에만 나타납니다.
:
: 전압을 읽어와서 표에 (1,1)(1,2)(1,3)... 이렇게 나타내려면 어떻게 해야하는지요?
:
: 혹 너무 쉬운 문제인데 해결 못하는건 아닌지해서 어제 내내 고민하다가 이렇게 질문을 올립니다.
:
: 아시는 분들... 답변해 주시면 감사하겠습니다.
:
:
: //---------------------------------------------------------------------------
: void TForm1::PrintMsg(Byte*ch, long len)
: {
: int i;
: int j;
: char tmp[1000], tmp2[10];
: float f;
:
: tmp[0] = 0;
: f = atof(ch);
:
: for(j=0; j<len; j++){
: sprintf(tmp2, "%c", ch[j]);
:
: StringGrid1->Cells[1][1] = f;
: }
: }
: //---------------------------------------------------------------------------
:
: void __fastcall TForm1::Wincom1ondata(TObject *Sender, long port_number)
: {
: long ret, len;
: Byte rbuff[2048];
: TVariant va;
:
: va.vt = varByte;
: va.pcVal = rbuff;
:
: len = 0;
:
: ret = Wincom1->readcom(m_PortNumber, &va, &len);
:
: PrintMsg(rbuff, len);
: }
: //---------------------------------------------------------------------------
:
: void __fastcall TForm1::StartBtnClick(TObject *Sender)
: {
: long ret;
: int getlen;
: char *Volt = "MEASure:VOLTage:DC?\n";
:
: getlen = strlen(Volt);
:
: ret = Wincom1->writecom(m_PortNumber, WideString(Volt), getlen);
:
: StopBtn->Enabled = true;
: }
: //---------------------------------------------------------------------------
:
|