涅
涅磐的凤凰
Unregistered / Unconfirmed
GUEST, unregistred user!
下面这段代码是小弟从项目程序里面简化来的,在项目里面总是报错,有时候结果不是我要的。
.......一时抓不出错误,肯请各位高手帮忙修正 ResetPort 函数
[一]
我从INI文件里面读取一行字符存储到一个叫up的string类型里面
up: string;
.......
Inif := TIniFile.Create(path);
up := IniF.ReadString('PTZ-2 Key Code', 'UP', '');
.......
[二]
//----------------------------------
INI文件(ini.ini),内容如下
[PTZ-2 Key Code]
UP=FF 05 00 08 32 20 5F
//----------------------------------
现在我想动态改变 "05"
这个数字,比如改成01,03,11,19。。。。。
并且把改变后的字符串存放到另外一个叫 tmpUp 的 string 变量里面
tmpUp: string;
tmpUp := ResetPort(up);
[三]
代码如下:
//--------------------------------------------------------------------------
sel_port: array[0..1] of char
sel_port是一个事先定义好的共有变量,存储了2个数字字符(比如01,03,11,19.......)
up字符串里的第三位和第四位即(05)要改变为sel_port[0]和sel_port[1]
//--------------------------------------------------------------------------
function ResetPort(iString: String): String;
var
iHexString: array[0..255] of char;
begin
//将 up 字符串内的字符拷贝给一个char数组
lstrcpy(iHexString, PChar(iString))
//动态改变数组里的第三位和第四位
iHexString[3] := sel_port[0]
//sel_port: array[0..1] of char
iHexString[4] := sel_port[1];
//得到改变后的结果
Result := iHexString;
end;
.......一时抓不出错误,肯请各位高手帮忙修正 ResetPort 函数
[一]
我从INI文件里面读取一行字符存储到一个叫up的string类型里面
up: string;
.......
Inif := TIniFile.Create(path);
up := IniF.ReadString('PTZ-2 Key Code', 'UP', '');
.......
[二]
//----------------------------------
INI文件(ini.ini),内容如下
[PTZ-2 Key Code]
UP=FF 05 00 08 32 20 5F
//----------------------------------
现在我想动态改变 "05"
这个数字,比如改成01,03,11,19。。。。。
并且把改变后的字符串存放到另外一个叫 tmpUp 的 string 变量里面
tmpUp: string;
tmpUp := ResetPort(up);
[三]
代码如下:
//--------------------------------------------------------------------------
sel_port: array[0..1] of char
sel_port是一个事先定义好的共有变量,存储了2个数字字符(比如01,03,11,19.......)
up字符串里的第三位和第四位即(05)要改变为sel_port[0]和sel_port[1]
//--------------------------------------------------------------------------
function ResetPort(iString: String): String;
var
iHexString: array[0..255] of char;
begin
//将 up 字符串内的字符拷贝给一个char数组
lstrcpy(iHexString, PChar(iString))
//动态改变数组里的第三位和第四位
iHexString[3] := sel_port[0]
//sel_port: array[0..1] of char
iHexString[4] := sel_port[1];
//得到改变后的结果
Result := iHexString;
end;