GetFileInfo example for Delphi

This example gets information about the specified file.

procedure TForm1.Button1Click(Sender: TObject);

var
fname, cmp, cFmt, cMsg: String;
pg, fmt, width, height, bps, xres, yres, sizd, sizm: Integer;
begin
{ Initialize variables}
fname := 'c:\lead\images\image2.cmp';
pg :=0;
{ Update the variables}
Lead1.GetFileInfo(fname, pg);
{ Read the updated properties}
fmt := Lead1.InfoFormat;
width := round(Lead1.InfoWidth);
height := round(Lead1.InfoHeight);
bps := Lead1.InfoBits;
xres := Lead1.InfoXRes;
yres := Lead1.InfoYRes;
pg := Lead1.InfoPage;
sizd := Lead1.InfoSizeDisk;
sizm := Lead1.InfoSizeMem;
cmp := Lead1.InfoCompress;
{ Translate the meaning of the format constant}
Case fmt of
   FILE_PCX: cFmt := 'ZSoft PCX';
   FILE_GIF: cFmt := 'CompuServe GIF';
   FILE_TGA: cFmt := 'TARGA';
   FILE_PNG: cFmt := 'Portable Network Graphics';
   FILE_PSD: cFmt := 'Adobe Photoshop 3.0';
   FILE_BMP: cFmt := 'Windows BMP';
   FILE_OS2: cFmt := 'OS/2 BMP version 1.x';
   FILE_OS2_2: cFmt := 'OS/2 BMP version 2.x';
   FILE_WMF: cFmt := 'Windows Meta File';
   FILE_EPS: cFmt := 'Encapsulated PostScript';
   FILE_TIF: cFmt := 'Tagged Image File Format (TIFF, TIFLZW, or CCITT file)';
   FILE_TIF_JPEG: cFmt := 'Tagged Image File with JPEG compression';
   FILE_FAX_G3_1D: cFmt := 'Raw FAX, compressed using CCITT group 3, 1 dimension';
   FILE_FAX_G3_2D: cFmt := 'Raw FAX, compressed using CCITT group 3, 2 dimensions';
   FILE_FAX_G4: cFmt := 'Raw FAX, compressed using CCITT group 4';
   FILE_WFX_G3_1D: cFmt := 'WinFax, compressed using CCITT group 3, 1 dimension';
   FILE_WFX_G4: cFmt := 'WinFax, compressed using CCITT group 4';
   FILE_ICA_G3_1D: cFmt := 'IOCA, compressed using CCITT group 3, 1 dimension';
   FILE_ICA_G3_2D: cFmt := 'IOCA, compressed using CCITT group 3, 2 dimensions';
   FILE_ICA_G4: cFmt := 'IOCA, compressed using CCITT group 4';
   FILE_CMP: cFmt := 'LEAD proprietary compression format';
   FILE_LEAD_NOLOSS: cFmt := 'LEAD lossless compression format';
   FILE_JPEG: cFmt := 'JPEG File Interchange Format';
   FILE_WPG: cFmt := 'WordPerfect';
   FILE_RAS: cFmt := 'Sun Raster';
   FILE_CALS: cFmt := 'CALS Raster';
   FILE_MAC: cFmt := 'MacPaint';
   FILE_PCT: cFmt := 'Macintosh Pict';
   FILE_MSP: cFmt := 'Microsoft Paint';
   FILE_IMG: cFmt := 'GEM Image';
   FILE_PCD: cFmt := 'Kodak PhotoCD';
   FILE_EPSTIFF: cFmt := 'Encapsulated PostScript with an embedded TIFF file';
   Else
      cFmt := 'Unknown format';
end;
{ Create the message string}
cMsg := fname + CHR(13);
cMsg := cMsg + 'Page = ' + IntToStr(pg) + ' of ' + IntToStr(Lead1.InfoTotalPages) + CHR(13); 
cMsg := cMsg + 'Format = ' + cFmt + CHR(13);
cMsg := cMsg + 'Width = ' + IntToStr(width) + CHR(13) + 'Height = ' + IntToStr(height) + CHR(13);
cMsg := cMsg + 'Bits per pixel = ' + IntToStr(bps) + CHR(13);
cMsg := cMsg + 'Size in memory = ' + IntToStr(sizm) + CHR(13);
cMsg := cMsg + 'Size on disk = ' + IntToStr(sizd) + CHR(13);
cMsg := cMsg + 'X resolution = ' + IntToStr(xres) + CHR(13) + 'Y resolution = ' + IntToStr(yres);
{ Display the message box}
Application.MessageBox(PChar(cMsg), 'File Info', mb_OK);

end;