1.Delphi如何将TEdit中的股票字符串赋给字节型数组
Delphi如何将TEdit中的字符串赋给字节型数组
比较欣赏“股票2进制”的答复,但有错误和缺陷。源码源码
1、分析将Edit.Text强制类型转换为Pointer,股票锁头源码恐怕不行,源码源码需要中引入一个string变量来干这个转换
2、分析做题源码对于Delphi 以上,股票Length返回字符数,源码源码不是分析字节数,需要考虑兼容性
3、股票CopyMemory是源码源码windows API函数,调用代价较高,分析为优化起见,股票排队源码应用delphi内置的源码源码Move
4、SL命名不佳,分析像是选课 源码StringList,用abData得了
总结,改写如下:
var
L : Integer;
s : string;
abData : array of Byte;
begin
s := Edit1.Text;
// Delphi可用ByteLength,但其内部ByteLength就是nxopen源码Length*SizeOf(Char),为保证多版本兼容性,自行将其展开书写了
L := Length( s ) * SizeOf( Char );
SetLength( abData, L );
// 注意,Move的参数是先源后目标,与CopyMemory相反
Move( s[1], abData[0], L );
......
// 应该继续做点儿什么,否则end之际,动态数组自动销毁
end;