我希望你能在这里帮助我,伙计们。我在过去 3 周内一直在做的是尝试显示 3 个变量的内容(1 个包含相应“-”或“+”号的 char 变量以及其他两个包含温度测量值的整数变量)我试图做 id 以在 TEdit 控件中显示这些变量的内容,例如:+ 26.3。就那么简单。
我尝试了几个功能都没有成功,让我告诉你:
(其中 temp_txtBox_Cond 是 TEdit 控件的名称)
temp_txtBox_Cond->Text=(L"%c %i. %i",temp_sign,temp_temp_int,temp_temp_dec,test_buf,n);
temp_txtBox_Cond->Text.printf(L"%c %i. %i",temp_sign,temp_temp_int,temp_temp_dec);
sprintf(test_buf,"%c %i.%i",temp_sign,temp_temp_int,temp_temp_dec);
temp_txtBox_Cond ->Text.sprintf(L"%c %i.%i",temp_sign,temp_temp_int,temp_temp_dec,test_buf);
temp_txtBox_Cond->Text=("%c %i. %i",temp_sign,temp_temp_int,temp_temp_dec);
temp_txtBox_Cond->Text = AnsiString(temp_sign,temp_temp_int,temp_temp_dec);
temp_txtBox_Cond->Text = (AnsiString(temp_sign)+AnsiString(temp_temp_int)+AnsiString (temp_temp_dec));
String s(temp_sign);
String d(temp_temp_dec);
String i(temp_temp_int);
temp_txtBox_Cond->Text = s+" "+i+"."+d;
没有成功。这非常令人沮丧。
请伙计们需要你的帮助。先谢谢了。
嗯,这有点奇怪,因为上面的大部分功能我得到的是一个0
,+0.0
或者hq3Pˆ15PPhå
(这听起来像内存问题)。我来给你展示 :
和 :
temp_txtBox_Cond->Text = (L"%c %i.%i",temp_sign,temp_temp_int,temp_temp_dec,test_buf);
我得到:hq3Pˆ15PPhå
和 :
temp_txtBox_Cond->Text.printf(L"%c %i. %i",temp_sign,temp_temp_int,temp_temp_dec);
我得到 Nada 文本框是空白的
和 :
sprintf(test_buf,"%d. %d",temp_temp_int,temp_temp_dec);
temp_txtBox_Cond->Text =(test_buf,"%c %d. %d",temp_sign,temp_temp_int,temp_temp_dec);`
我得到0。
和 :
temp_txtBox_Cond->Text =("%c %d. %d",temp_sign,temp_temp_int,temp_temp_dec);`
我也得到0。
与:
temp_txtBox_Cond->Text = AnsiString(temp_sign,temp_temp_int,temp_temp_dec): I got +0.0
这些是错误。
嗨,雷米,
好没问题。这是我用来获取 temp_sig、temp_temp_int 和 temp_temp_dec 的代码:
WINAPI _tWinMain(HINSTANCE, HINSTANCE, LPTSTR, int)
{
ikor_msg_id = ikor_id_bld (app_priority, zone, dest_UCP, 0x20, 0x03);
wait_for_msg(h, 0x5200, 500, data);
if (data[0] == 1)
{
temp_sign = '+';
}
else if (data[0] == 0)
{
temp_sign = '-';
}
else
{
temp_sign = '?';
}
temp_temp_int = data[1];
temp_temp_int <<= 8;
temp_temp_int += data[2];
temp_temp_dec = temp_temp_int;
temp_temp_int /= 10;
temp_temp_dec -= (temp_temp_int * 10);
}
在这里我试图显示数据:
void __fastcall TForm1::temp_txtBox_CondChange(TObject *Sender )
{
unsigned long ikor_msg_id = 0;
long ikor_id_bld( long p_temp, long z_temp, long d_temp, int m_temp, int s_temp);
int wait_for_msg(CANHANDLE handle,int id,int timeout,unsigned char *data);
CANHANDLE h;
unsigned char data [8];
/***Here is where i tried all the attempts that I posted ****/
}
我在标题中声明它们的变量:
#ifndef __Variables_Cond__
#define __Variables_Cond__
#ifdef __cplusplus
extern "C" {
#endif
unsigned int temp_temp_int;
unsigned int temp_temp_dec;
unsigned char temp_sign;
#ifdef __cplusplus
} #万一
#endif