如何用TFileStream实现文件内16进制数查找?请大侠们给个代码,感激不尽。
解决方案 »
- thread中需要在implementation下定义全局变量,创建多个实例时冲突!详见帖子
- 哪位朋友有<Delphi6数据库系统开发实例导航>这本书的电子版?
- ???如何用机箱喇叭播放音乐???
- 帮忙解释如下的函数:功能为把ADOQUERY导出到EXCEL
- 关于excel表的问题。
- SQl 是否支持多个字段作为关键字求和? 如按 Feild1+Feild1 作为关键字求和?
- 一数与MEMO1中一列数对比.当两数相等,在MEMO2中写入"相等";当两数不相等,在MEMO2中写入"不相等";到底怎么写,我怎么会写出一列不相等,只要
- 怎樣將Delphi編寫的應用程序做成安裝文件﹖萬分著急﹗﹗謝﹗﹗﹗﹗﹗
- 大家都来说远控——经典delphi程序“灰鸽子”
- 公告栏
- 怎样快速在两个数据库之间更新数据?
- Intraweb也属于“事件驱动的WEB开发模型”吗?????????????????????
// s : TMemoryStream;
p : Pointer;
hFile, hMapping : Hwnd;
PP : Pointer;
h : HWND;
i : integer;
begin
//s := TMemoryStream.Create;
if OpenDialog1.Execute then
begin
hMapping := 0;
p := nil;
hFile := CreateFile(PChar(OpenDialog1.FileName),GENERIC_READ,FILE_SHARE_READ,nil,OPEN_EXISTING,FILE_ATTRIBUTE_NORMAL,0);
if hFile <> INVALID_HANDLE_VALUE then begin
hMapping := CreateFileMapping(hFile,nil,PAGE_READONLY,0,0,nil);
CloseHandle(hFile);
if hMapping <> NULL then begin
p := MapViewOfFile(hMapping,FILE_MAP_READ,0,0,0); // pMapping
end;
for i := 0 to 9 do
begin
ShowMessage(Format('%.8x',[LongWord(p^)]));
Inc(LongWord(P),4);
end;
UnmapViewOfFile(p);
end;end;
s : TFileStream;
b : array[0..3] of byte;
i : integer;
begin
if OpenDialog1.Execute then
begin
s := TFileStream.Create(OpenDialog1.FileName,fmOpenReadWrite);
s.Position := 0;
for i := 0 to 9 do
begin
s.ReadBuffer(b,4);
ShowMessage(Format('%.8x',[LongWord(b)]));
s.Position := s.Position + 4;
end;
s.Free;
end;
end;