delphi3000.com - the free delphi knowledge platform
delphi3000.com - the free delphi knowledge platform
499 Users Online NOW
Have a look at your member-status

connecting people's knowledge


  - Recent ArticlesRSS feed for Recent Articles on delphi3000.com
  - List of All Articles
  - Top Viewed Articles
  - Articles (+Attachem.)
  - Articles Of Interest
  - Categories
  - Top Uploader
  - Search
  - Index

  - My Home
  - Submit an Article
  - My Articles
  - My Personal Data
  - My Bookmarks
  - Activities
  - Login/Logout

  - Sign Up
  - Why Sign Up
  - Newsletter

  - Press
  - Advertise

  - Contact
  - Feedback





Community
Borland
ClubeDelphi
Dr. Bob
UK-BUG
Delphi Meetings
Planeta Delphi



Loremo - the 1.5 liter car coming in 2009




Startblatt.de






Share this article with friendsShare this article with friends
Rate this articleRate this article - to keep the quality of delphi3000.com !
Comment this article or read through previous comments (2)


A Quick Way to Determine If a File has One of Several File ExtensionsGo to John W. Long's websiteFormat this article printer-friendly!Bookmark function is only available for registered users!
Quick filtered file searching
Product:
Delphi all versions
Category:
Files Operation
Skill Level:
Scoring:
Last Update:
03/29/2002
Search Keys:
delphi delphi3000 article borland vcl code-snippet file-extension file-type file-search
Times Scored:
5
Visits:
2049
Uploader: John W. Long
Company:
Reference: N/A
 
Question/Problem/Abstract:
What is an easy way to determine if a file has one of several file extensions?
Answer:



You can quickly determine if a file has one of a number of file extensions with the use of the Pos() and ExtractFileExt() functions. The trick is to use the periods (.) to separate extention names which are containted in a string. For example:

if (Pos(ExtractFileExt(sr.Name),'..lnk.exe') > 1) then
  { do something }

This is particularly helpful if you are scanning through a directory for a list of certain types of files. The following code populates a listbox with all the graphic files of which are bmps or jpegs from the Windows directory:

procedure TForm1.Button1Click(Sender: TObject);
var
  sr:TSearchRec;
begin
  if (FindFirst('C:\Windows\*',faAnyFile,sr) = 0) then
  try
    repeat
        if (Pos(ExtractFileExt(sr.Name),'..bmp.jpg.jpeg') > 1) then
            ListBox1.Items.Add(sr.Name);
    until (FindNext(sr) <> 0);
  finally
    FindClose(sr);
  end;
end;

Be sure to use the double period trick at the beginning of your string of extensions. This will prevent the directory (.) and previous directory (..) from being thought of as one of the files you would like to add.





Please rate this article!
Skill level:
BeginnerExpert

Useful:
No!Very!

Overall rating:
PoorExcellent



Comments to this article
Write a new comment
directories...
    Eber Irigoyen (Apr 1 2002 7:24PM)

there's something you can do to exclude the directories from listing on the FindFirst-FindNext:

if (FindFirst('C:\Windows\*',faAnyFile-faDirectory,sr) = 0) then

=o)
salu2

EberSys
Respond

cute...
    Martin Glob (Mar 29 2002 9:21AM)

Simpel and does the job ;-)
Respond














 
Sign up to consume product discounts for Bronze memberships !

read more


  Visit our Sponsor

 

  Community Ad of
D. Wischnewski
 
   














 







     
  Copyright © 2000 - 2007 delphi3000.com - All rights reserved. Terms of use. || Privacy
delphi3000.com is a service by bluestep.com IT-Services GmbH (Vienna)