关于动态数组:如何实现数据从stream至数组的整体赋值?(100分)

  • 主题发起人 主题发起人 vai
  • 开始时间 开始时间
var
Stream:TxxxStream;
Data:array of xxxx;
begin
...
if Length(Data)>0 then
Stream.Read(Data[Low(Data)],Length(Data)*SizeOf(Data[Low(Data)])
...
end;
 
好大的眼睛!

<font color=red>我有被扒光了衣服的感觉</font>
 
蚯蚓: "被扒光了衣服的感觉"是什么感觉? 好难想象哦. :-P
 
好亏啊!前面有类似问题。
那就回答这个吧:

pp:^single;

如何将从pp开始指向的一个区域的数据整体赋值给一ARRAY。
 
毛主席教导我们说:
想知道被扒光了衣服的感觉,就一定要<B>试一试</B>
 
怎么能被扒光了衣服呢?
你既然有被扒光了衣服的感觉,那么你以前一定"试过"(毛主席教导你的),何不
谈谈你如何被扒光了衣服的过程呢?haha?!

 
先要创建“扒光"的类型,然后才能引用其实例。hehe
离题了喂,快回答问题吧,各位高手。
 
快请出手,等着救命啊!
 
arr: array of single;
p:^single;

setlength(arr, n)
// n=准备从p开始赋多少个
move(p^, arr[0], sizeof(single)*n);
 
vai:
你要干什么??
这种无类型的数据传送建议你还是不要用吧,
除非是流读写的时候,
否则用处不大
 
无类型传输用处很大的. 甚至可以用于类型转换.
比如取得single型的十六进制数.
var
a: single;
b: Integer;

move(b, a, sizeof(single));
showmessage(inttohex(b, 8));
 
如果
p:^single;
arr:array of double;

时怎么办?可能一次赋值吗?
 
>>move(b, a, sizeof(single));
>>showmessage(inttohex(b, 8));
有必要吗?
<font color=red>
var
S:Single;
P:^Integer;
begin
P:=@S;
ShowMessage(IntToHex(P^,8));
end;</font>
不就得了?
 
type
TSingleArray=array[0..1] of Single;
PSingleArray=^TSingleArray;

var
p:PSingleArray;
arr:Array of Single;

Move(arr[0], P^[0], Length(arr)*Sizeof(Single));//将arr一次赋给P^

for i:=0 to Length(arr)-1 do ShowMessage(FloatToStr(P^)+FloatToStr(arr[i+Low(arr)]));//显示
 
??
不是解决了吗?
蚯蚓:我们就不尝试了,还是您这位“被扒”先驱介绍经验吧:P

BTWCAKK:What's ':P'?
 
后退
顶部