Delphi判断一个文件是不是JPG图片文件

function IsJpegFile(FileName: string): Boolean;
const
RightBuf : array[0..3] of Byte = ($FF,$D8,$FF,$D9);
var
Buf: array[0..3] of Byte;
begin
FillChar(Buf, 4, 0);
with TFileStream.Create(FileName, 0) do begin
    Position := 0;
    ReadBuffer(Buf[0], 2);
    Position := Size-2;
    ReadBuffer(Buf[2], 2);
    Free;
end;
Result := CompareMem(@RightBuf[0], @Buf[0], 4);
end;

procedure TForm1.Button1Click(Sender: TObject);//测试
begin
if Self.OpenDialog1.Execute then
    if IsJpegFile(Self.OpenDialog1.FileName) then
      Showmessage('Is Jpg File');
end;

Delphi判断一个文件是不是JPG图片相关推荐

  1. python怎样判断一个文件是否存在_python如何判断一个文件是否存在

    python如何判断一个文件是否存在 发布时间:2020-09-23 11:38:42 来源:亿速云 阅读:82 作者:Leah python如何判断一个文件是否存在?针对这个问题,这篇文章详细介绍了 ...

  2. Python判断两个文件夹中互相不同的文件有哪些、判断一个文件夹相对于另外一个文件夹缺少了哪些文件

    Python判断两个文件夹中互相不同的文件有哪些.判断一个文件夹相对于另外一个文件夹缺少了哪些文件 目录 Python判断两个文件夹中互相不同的文件有哪些.判断一个文件夹相对于另外一个文件夹缺少了哪些 ...

  3. python怎么判断一个文件是否存在-利用Python如何判断一个文件是否存在

    通常在读写文件之前,需要判断文件或目录是否存在,不然某些处理方法可能会使程序出错.所以最好在做任何操作之前,先判断文件是否存在. 这里将介绍三种判断文件或文件夹是否存在的方法,分别使用os模块.Try ...

  4. 使用程序判断一个文件是否是有效的PE文件

    判断一个文件是否为有效的PE文件,判断2个字段: DOS头的e_magic字段是否为0x5A4D: NT头的Signature字段是否为0x00004550: 若都是的话则是一个有效的PE文件: VC ...

  5. 【C++】35.判断一个文件是否存在、 查找字符串中的子串

    1.判断一个文件是否存在,IsFileExists() bool IsFileExists(const std::string &file_name) {std::ifstream fin(f ...

  6. 如何使用 C# 判断一个文件是否为程序集

    程序集是经由编译器编译得到的,供 CLR 进一步编译执行的那个中间产物.它一般表现为 .dll 或者是 .exe 的格式,但是要注意,它们跟普通意义上的 WIN32 可执行程序是完全不同的东西,程序集 ...

  7. 如何快速判断一个文件是否为病毒

    如何快速判断一个文件是否为病毒 这篇文章主要是快速辨别正常文件与病毒,我自己也不是专业人员,方法是我自己总结出来的,很业余,不过我觉得还是有些用处的.如果你有更好的办法,欢迎跟帖提出.下面正文开始. ...

  8. 如何判断一个文件是否为PE文件

    PE文件,Portable Executable file format简称. 那么如何判断一个文件是否为PE格式的文件? 1.首先检验文件头部第一个字的值是否等于 IMAGE_DOS_SIGNATU ...

  9. linux判断没有文件夹建一个,2,shell 脚本, 判断一个文件是否存在, 不存在就创建, 存在就显示其路径...

    2,shell 脚本, 判断一个文件是否存在, 不存在就创建, 存在就显示其路径 关于 shell 脚本: 1, 用 Shell 编程, 判断一文件是不是存在, 如果存在将其拷贝到 /dev 目录下. ...

最新文章

  1. UIViewController 小结
  2. android 系统ui修改器,分享两个效果 - Android 系统 UI 管理
  3. ftp服务器如何配置多个文件夹,ftp服务器如何配置多个文件夹
  4. 8000字干货扫除你的焦虑!3点钟无眠区块链群聊最全精华
  5. 狼奔代码生成器使用说明
  6. 三大主流软件负载均衡器对比(LVS VS Nginx VS Haproxy)
  7. PLSQL导出表结构和数据
  8. android ui设计灵感,26款高品质 APP UI原型设计灵感
  9. mysql年龄最大_使用MySQL子查询选择年龄最大的所有用户?
  10. 1月1号开始租房一年期到几号_先承认我迷糊。现在请帮忙,租房合同中从7月1日起到次年的几月几日是一年日期?是6月31日还是7月31日...
  11. google sdk speech-to-text(谷歌语音转文本、谷歌语音转字幕)
  12. sodo 赋予非管理员用户临时权限
  13. 请编写函数实现自然底数 e=2.718281828
  14. 三星搁置OLED面板工厂计划可能投资microLED
  15. spring循环依赖让你更好的理解spring!!
  16. seo方法 seo优化技巧 教你如何提高网站排名
  17. 饿了么“核心交易系统”微服务化5年演化史!20页ppt,万字长文干货!
  18. Linux配置ssh无密登录
  19. STM32F767--->寄存器
  20. 从EJB3中访问资源的5种方式

热门文章

  1. Linux常用命令笔记---故障排除
  2. Lync Server存档和监控服务器PART A:准备篇
  3. 分析性能瓶颈 — 调试OutOfMemoryException
  4. hdu 1593(数学)
  5. fzu - Problem 1759 Super A^B mod C
  6. HDUOJ-2094-产生冠军
  7. ZOJ 3702 Gibonacci number(数学推导题)
  8. CodeForces 321A Ciel and Robot(数学模拟)
  9. 第2课第3节_Java面向对象编程_继承性_P【学习笔记】
  10. AtCoder Regular Contest 062 E - AtCoDeerくんと立方体づくり / Building Cubes with AtCoDeer