如何判断一个文件的类型,通过读它的原文件的二进制文件的头?
例如:01 ff 8d....
而不是用OpenDialog,因为我们要判断音频或视频文件用什么程序播放!

解决方案 »

  1.   

    任何类型的文件的头部都有个标志,BMP是“BM”,
    WAV是“RIFF”,RM是“.RMF”等,你可以自己用UltraEdit打开看一下。
      

  2.   

    但是如何用Delphi读它的头文件,可以区别出它是什么类型的文件,用什么程序打开!?
      

  3.   

    sean2000(地宽天高) 
    举个例子好吗?
      

  4.   

    var
      fs: TFileStream;
      Str: array [0..20-1] of Char;
    begin
      fs := TFileStream.Create('d:\test.bmp', fmOpenRead);
      try
        fs.Read(Str,20);
        memo1.lines.Add(Str);
      finally
        fs.Free;
      end;
    end;
      

  5.   

    sean2000(地宽天高)
    谢谢,但是另一个问题:如MP3和ASF读出来的是乱码怎么判断呢?
      

  6.   

    memo1是什么东西?
    finally
    是什么意思啊?
    刚开始接触delphi的菜鸟,我是,大瞎们不要见笑啊!~~
      

  7.   

    那你不如用
    function ExtractFileExt(const FileName: string): 
    string;返回文件扩展名来判断文件类型呢。
    一家之言。
      

  8.   

    http://www.csdn.net/dev/Format/#声音文件
    http://it.yn.cninfo.net/news/21/2001-10-26/news_770_0.shtml