Exemplo n.º 1
0
void __fastcall TframTag::tmrUpdaterTimer(TObject *Sender)
{
	pmc_value_t value;
	AnsiString txtValue;
	char buf[64];
	FILETIME ft;
	SYSTEMTIME st;

	proxy_read_tags(1, &m_TagName, &value, 0);
	if(value.Flags & TF_Valid){
    	pmc_value_t strVal;
        set_value_type(strVal.Flags, dt_string);
        pmc_type_cast(&value, &strVal);
        txtValue = strVal.Value.str;
        pmc_clear(&strVal);
	}else{
		txtValue = "N.A.";
	}
	edtValue->Text = txtValue;

	RTK_TAG * p = query_tag_f(&m_TagName);
	if(p){
		AnsiString s;
		FILETIME   lft;
		SYSTEMTIME st;
		FileTimeToLocalFileTime((LPFILETIME)&p->d.CachedTime, &lft);
		FileTimeToSystemTime(&lft, &st);
		s = "";
		s.cat_printf(
			"%d年%d月%d日  %02d:%02d:%02d",
			st.wYear, st.wMonth, st.wDay, st.wHour, st.wMinute, st.wSecond
			);
		lblStatus->Caption = s;
	}else{
		lblStatus->Caption ="";
	}
}