请教:怎么把字符串读到数组里?procedure TForm1.Button3Click(Sender: TObject);
var
s1:string;
s2:string;
filename: string;
m1:TMemoryStream;
buffer:array of byte;begin
s1:='123';
s2:='456';
filename:=ExtractFilePath(paramstr(0))+'01.bmp';
m1:=m1.Create;
m1.LoadFromFile(filename);
//现在怎么把 字符串 '123' '456' 和 流读到 数组 buffer;
end;
procedure TForm1.ClientSocket1Read(Sender: TObject;
Socket: TCustomWinSocket);
var
len:longint;
buffer:array of byte;
m1:TMemoryStream;
begin
len:=Socket.ReceiveLength;
Socket.ReceiveBuf(buffer,len);
//现在怎么得到 字符串 '123' '456' 和 流 m1
end;谢谢!
var
s1:string;
s2:string;
filename: string;
m1:TMemoryStream;
buffer:array of byte;begin
s1:='123';
s2:='456';
filename:=ExtractFilePath(paramstr(0))+'01.bmp';
m1:=m1.Create;
m1.LoadFromFile(filename);
//现在怎么把 字符串 '123' '456' 和 流读到 数组 buffer;
end;
procedure TForm1.ClientSocket1Read(Sender: TObject;
Socket: TCustomWinSocket);
var
len:longint;
buffer:array of byte;
m1:TMemoryStream;
begin
len:=Socket.ReceiveLength;
Socket.ReceiveBuf(buffer,len);
//现在怎么得到 字符串 '123' '456' 和 流 m1
end;谢谢!
setlenght(buffer,m1.size); //根据m1的大小分配
然后直接读出就OK了
m1.read(buffer,sizeof(buffer));
procedure TForm1.Button3Click(Sender: TObject);
var
s1:string;
s2:string;
filename: string;
m1:TMemoryStream;
buffer:array of byte;begin
s1:='123';
s2:='456';
filename:=ExtractFilePath(paramstr(0))+'01.bmp';
m1:=m1.Create;
m1.LoadFromFile(filename);
//现在怎么把 字符串 '123' '456' 和 流读到 数组 buffer;
end;//现在怎么把 字符串 '123' '456' 和 流读到 数组 buffer;
希望通过 CopyMemory 来实现?谢谢!
var
s:string;
sbuf: array[0..2] of Byte;
begin
s:='123';
mov( s, sbuf,sizeof( sbuf ) );
ms.Position:=0;//写入buf的位置
ms.writebuffer( sbuf, sizeof( sbuf ) );
end;//---------读取
ms.Position:=0;//取buf的起始位置
ms.ReadBuffer( buf,sizeof( buf ) );
还有两个问题:
问题1:
sbuf: array[0..2] of Byte;假设我开始不知道数组的长度sbuf:array of byte;那么程序要怎么写呢?问题2:
提示 mov 没有定义?谢谢!
SetLength(sbuf,3);