|
Timer를 쓰면 안될까요? 원하시는게 그게 아니면..어흠...
StartBtn->Click();
혹은
TObject *a;
StartBtnClick(a);
해주시면 다른데서 해당 버튼 누른거랑 같은 동작이..
박보연 님이 쓰신 글 :
: 디지털 멀티미터가 같은 실행(전압 측정)을 여러번 반복하도록 하려면 명령어를 어떻게 보내줘야 하는지요..
:
: 아래 코드를 보시면 아시겠지만, 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;
: }
: //---------------------------------------------------------------------------
:
|