Программирование
Веб программирование

Пример, демонстрирующий извлечение расширения файла из пути к нему.

 
 

Сразу оговорюсь, в Делфи полно функций для работы с файловыми путями. Но если Вам захотелось извратиться, можете сделать так:


function LastDelim(s:string):integer; // получаем последнюю точку в пути
var
  i,j,len:integer;
begin
  result:=length(s);
 while result >0 do
  if (s[result]<> #0) and (s[result]<> '.') then
  dec(result)
  else
  exit;
end;


function ExtractExt(const path:string):string; // копируем расширение
var
  s,tmp:string;
  i:integer;
begin
  result:='';
  i:=lastdelim(path);
  if (i >0) and (path[i]='.') then
  result:=copy(path,i,maxint);
end;

procedure TForm1.Button1Click(Sender: TObject);
var
  s:string;
begin
  s:='C:\some folder\123.exe';
  showmessage(extractext(s));
end;


На бейсике можно попробовать сделать так:

str="C:\some folder\other folders.more.more.folders.\123.exe"

for i=len(str) to 1 step -1
	if mid(str,i,1)="." then
		ext=mid(str,i,len(str))
		exit for
	end if
next

либо на худой конец вызвать метод GetFile объекта Scripting:

set fso=createobject("Scripting.FileSystemObject")
msgbox fso.getfile("Имя существующего файла.расширение")




Есть вопросы? Спроси на нашем форуме!!
Stertor [02.09.2017 23:50]

Если кому-то интересно, я сейчас обитаю здесь:
FreeSoft.do.am - бесплатные программы, исходники, видеоуроки.



Оставлять комментарии можно только зарегистрированным




Предупреждение: Вся информация представлена исключительно в образовательных целях.
Ни авторы, ни администрация не несут ответственности в случае ее использования в противозаконных целях.