先说明一下情况:
比如要传送memo里的文本,长度大于255,
于是用一个数组来存放:array [0..1000] of char
那么如何将memo.text存入array [0..1000] of char呢?自己是这样想的:先将memo.text存入memorystream,再由memorystream存入array [0..1000] of char,
但是怎样将memorystream存入array [0..1000] of char呢?自己又不懂了。晕,好笨啊,又要高手指点了,感觉不尽。
比如要传送memo里的文本,长度大于255,
于是用一个数组来存放:array [0..1000] of char
那么如何将memo.text存入array [0..1000] of char呢?自己是这样想的:先将memo.text存入memorystream,再由memorystream存入array [0..1000] of char,
但是怎样将memorystream存入array [0..1000] of char呢?自己又不懂了。晕,好笨啊,又要高手指点了,感觉不尽。
解决方案 »
- C++dll delphi静态调用 单独一个unsigned?
- 这个错误提示是什么意思?怎么解决?
- 3个简单的问题,关于fastreport和多表查询结果更新
- 写了一个成功完成多层应用程序大量用户数据并发提交的控件
- 各位高手请问。。。。quickreport的问题?
- 请教:TreeView的发生Expanding时(用鼠标展开),怎么才能不触发click事件?
- 新開群一個,歡迎大家加入:群號 907119
- Delphi中10的n次幂的函数是什么?
- 求注册版的Fastreport 3
- 登陆时怎么记录登陆次数?
- delphi中如何将chart图表的结果添加到quickreport打印报表中?
- CXGRID动态显示隐藏列
TStream对象有Read/ReadBuffer两个用于读数据的过程,直接读不就完了
var
Buffer : array of Pansichar;
fs : TfileStream;fs := Tfilestream.create('c:\1.dat',fsOpenReadWRITE);
fs.position := 0;
getMem(buffer,fs.size);
fs.Writebuffer(buffer,buffer.size); 小文件这样
var
ac:array[0..1000] of char;
begin
//将Memo1里的文本存入字符串数组
Move(PChar(Memo1.Text)^,ac,1000);
end;
或
MoveMemory(...
procedure TForm1.Button1Click(Sender: TObject);
var
MS:TMemoryStream;
ac:array[0..1000] of char;
iCount:Integer;
begin
MS:=TMemoryStream.Create;
try
Memo1.Lines.SaveToStream(MS);
FillChar(ac,1000,#0);
iCount:=1000;
if MS.Size<1000 then
iCount:=MS.Size;
Move(PChar(MS.Memory)^,ac,iCount);
Memo2.Text:=ac;
finally
MS.Free;
end;
end;