procedure TForm1.Button2Click(Sender: TObject);
var
FileStream: TFileStream;
i: integer;
filesize: integer;
begin
screen.Cursor := crHourGlass;
filesize := 3;
//这里是DST文件,或是JPG什么的。。
FileStream:= TFileStream.Create('d:\RP533.DST',fmOpenRead);
MemoryStream := TmemoryStream.Create;
try
MemoryStream.LoadFromStream(FileStream);
finally
FileStream.Free;
end;
TempMemory := TmemoryStream.create;
i:=0;
try
MemoryStream.Position := 512;
//MemoryStream.SaveToFile('aaa.ini');
while MemoryStream.Position < MemoryStream.Size -1 do
begin
TempMemory.Position := 0 ;
TempMemory.Size := 0;
if MemoryStream.Size - MemoryStream.Position < FileSize then
FileSize := MemoryStream.Size - MemoryStream.Position;
TempMemory.CopyFrom(MemoryStream,FileSize);
TempMemory.Read(BufferARR,TempMemory.Size);
//这里按照我的理解BufferARR应该有三个byte吧!~现在我想把它以二进制的
//形式取出来,然后按位进行处理!小菜搞了二天一个晚上,555
//大侠帮帮忙,要不101又完了!!!!!
ReadMemory();
end;
finally
MemoryStream.Free;
TempMemory.Free;
end;
screen.Cursor := crDefault;
end;
var
FileStream: TFileStream;
i: integer;
filesize: integer;
begin
screen.Cursor := crHourGlass;
filesize := 3;
//这里是DST文件,或是JPG什么的。。
FileStream:= TFileStream.Create('d:\RP533.DST',fmOpenRead);
MemoryStream := TmemoryStream.Create;
try
MemoryStream.LoadFromStream(FileStream);
finally
FileStream.Free;
end;
TempMemory := TmemoryStream.create;
i:=0;
try
MemoryStream.Position := 512;
//MemoryStream.SaveToFile('aaa.ini');
while MemoryStream.Position < MemoryStream.Size -1 do
begin
TempMemory.Position := 0 ;
TempMemory.Size := 0;
if MemoryStream.Size - MemoryStream.Position < FileSize then
FileSize := MemoryStream.Size - MemoryStream.Position;
TempMemory.CopyFrom(MemoryStream,FileSize);
TempMemory.Read(BufferARR,TempMemory.Size);
//这里按照我的理解BufferARR应该有三个byte吧!~现在我想把它以二进制的
//形式取出来,然后按位进行处理!小菜搞了二天一个晚上,555
//大侠帮帮忙,要不101又完了!!!!!
ReadMemory();
end;
finally
MemoryStream.Free;
TempMemory.Free;
end;
screen.Cursor := crDefault;
end;
解决方案 »
- 为什么FastReport的条形码打印出错?
- 如果得到外部进程的(TListView)的图标组(TImageList)?
- 惭愧!还是要继续问关于注册热键的问题!
- mp3好象把有些音乐的信息包存在了mp3文件的头部??
- win2000下delphi的问题?
- 遍历目录+读MP3信息!
- 请问哪里有DELPHI的picshow控件下载?
- raize components 有for d2010没有?
- 如何对预览报表的纸张进行控制
- 谁有QQ2000的发送消息和接收消息的接口协议?125分
- 各位大哥,救命阿,今天早上active form不好用了!!!!!!只显示个叉???????????
- *.chm的帮助文档怎样创建?用什么工具创建?(在线)
你这样是把它写到TempMemory吧!
BufferARR:PcharTempMemory.Read(BufferARR,TempMemory.Size);
BufferARR好象没取到值!!1如果取到了(应该是三个BYTE),又怎么把它转换成二进制!如果你用ULEDIT打开个JPG或是GIF的话,就可以知道我在说什么了!
s[i] := char(byte(s[i]) XOR byte (s[i-1]));
每次创建实体时都要用try语句保护起来,
以防止创建失败不能及时释放资源。
这句写错了吧
相当于TempMemory.Read(BufferARR,0);
一样的我测试过了:
TempMemory.CopyFrom(MemoryStream,FileSize);这里TempMemory是能取到三个BYTE的!
有这样一说吗?
难道的我被误导了???
试过了吗?
var
TempMemory,MemoryStream : TmemoryStream ;
FileStream: TFileStream;
i: integer;
filesize: integer;
BufferARR:PChar;
begin
screen.Cursor := crHourGlass;
filesize := 3;
//这里是DST文件,或是JPG什么的。。
FileStream:= TFileStream.Create('C:\Documents and Settings\Administrator\桌面\1.txt',fmOpenRead);
MemoryStream := TmemoryStream.Create;
try
MemoryStream.LoadFromStream(FileStream);
finally
FileStream.Free;
end;
TempMemory := TmemoryStream.create;
i:=0;
try
MemoryStream.Position := 512;
//MemoryStream.SaveToFile('aaa.ini');
while MemoryStream.Position < MemoryStream.Size -1 do
begin
TempMemory.Position := 0 ;
TempMemory.Size := 0;
if MemoryStream.Size - MemoryStream.Position < FileSize then
FileSize := MemoryStream.Size - MemoryStream.Position;
TempMemory.CopyFrom(MemoryStream,FileSize);
TempMemory.Read(BufferARR,TempMemory.Size);
//这里按照我的理解BufferARR应该有三个byte吧!~现在我想把它以二进制的
//形式取出来,然后按位进行处理!小菜搞了二天一个晚上,555
//大侠帮帮忙,要不101又完了!!!!!
Label1.caption:=strpas(BufferArr);
end;
finally
MemoryStream.Free;
TempMemory.Free;
end;
screen.Cursor := crDefault;
end;
是对的