解决方案 »
- delphi与vb之间怎么进行通信? 比如把vb当中的某个变量值传到delphi里
- 关于“ 从内存中加载并启动一个exe” 无法调试过去的问题
- 如何把十六进制时间如"000326E5"转化为一般时间显示"YYYY-mm-dd hh:nn:ss: zzz"?
- 给所有编程人员获得一次进入SAP行业工作的机会
- MediaPlayer如何播放MP3和一首歌曲,太急!!!明天要交任务,谢谢!!!!!
- Richedit的内容如何保存到数据库中,又如何从数据库取出赋给RichEdit?(在线等待给分)
- 问大家一个很菜的问题,望能指明...!!
- 如何清楚TImage控件内的图像?
- zrong(zr) TommyTong(童童) GreenWaterBlueSky(我的家在碧水蓝天) 进来看一看可以吗?
- 如何实现的DDBGrid标题的主细标题形式?
- 除smtp方式是否还存在其他方式可以实现邮件发送。
- 请问朋友这样一个问题。关于U盘
i: integer;
a: array[0..1023] of Byte;
begin
for i := 0 to Length(Str)-1 do
a[i] := Ord(Str[i+1]);
end; 'A' = Char(65);
65 = Ord('A');
procedure TForm1.Button1Click(Sender: TObject);
var
Test1, Test3: string;
Test2: array[0..255] of Byte;
begin
SetLength(Test1, 255);
Test1 := 'test';
Move(Test1[1], Test2[0], SizeOf(Test2)); // 写 SetLength(Test3, 255);
Move(Test2[0], Test3[1], SizeOf(Test2)); // 读
Caption := test3;
end;
下面的方法速度比用循环快得多:var
a: array[0..1023] of char;
b: array[0..1023] of byte;
begin
//Char数组
Move (Str[1], a[0], Length(Str));
//Byte数组
Move (Str[1], b[0], Length(Str));
end;
s:='abc';
那么s[0]=3;表示s字符串的长度为3
s[1]='a'
s[2]='b'
s[3]='c'
如果你只想保存字符,不想保存字符串的长度,那么
move(s[1],byteArray,length(s));
这样做的坏处,你无法再从byteArray返回到string如果你想保存长度
move(s[0],byteArray,length(s)+1);另外如果s的长度大于255,那么保存长度的字节就不止一个了
var
i: integer;
a: array[0..1023] of Byte;
begin
for i := 0 to Length(Str)-1 do
a[i] := Ord(Str[i+1]);
end;
12楼方案CopyMemory(@a[0],@Str[1],Length(Str));