Показать сообщение отдельно
Старый 08.01.2008, 23:33   #1
impersonalis
Зануда с интернетом
 
Аватар для impersonalis
 
Регистрация: 04.09.2005
Сообщений: 14,014
Написано 6,798 полезных сообщений
(для 20,935 пользователей)
Имена файлов

Расширение файла по его имени
Function GetFileExtension$(FileName$)
	For i=Len(FileName) To 1 Step -1
		Local c$=Mid(FileName,i,1)
		If c="."
			Exit
		EndIf
	Next
	Return Right(FileName,Len(FileName)-i)
End Function
Имя файла без рсширения из его произвольного адреса
Function GetFileName$(FileName$)
	For i=Len(FileName) To 1 Step -1
		Local c$=Mid(FileName,i,1)
		If c="\"
			Exit
		EndIf
	Next
	Local EXT$=GetFileExtension(FileName$)
	Local NwEXT$=Right(FileName,Len(FileName)-i)
	Return Left(NwEXT,Len(NwEXT)-Len(EXT)-1)
End Function
Количество файлов в директории
Function GetFilesInDir%(DirName$)
	Local Dir=ReadDir(DirName)
	If DIR=0
		CloseDir (Dir)
		Return 0
	EndIf
	Local file$=""
	Local CNT%=0
	While True
		file$=NextFile$(Dir) 
		If file$="" Then Exit 
		CNT=CNT+1
	Wend
	CloseDir (Dir)
	Return CNT-3
End Function
Возвращает директорию (возможно с её адресом) по имени и пути файла
Function GetFileParentDir$(FileName$)
	For i=Len(FileName) To 1 Step -1
		Local c$=Mid(FileName,i,1)
		If c="\"
			Exit
		EndIf
	Next
	Return Left(FileName,i)
End Function
Функции мои - потому сильно не надейтесь на их надёжность
Демо:
Global test$="C:\folder\file.exten"
DebugLog  "GetFileExtension$("+test$+")="+GetFileExtension$(test)
DebugLog  "GetFileName$("+test$+")="+GetFileName$(test)
DebugLog "GetFileParentDir$("+test$+")="+GetFileParentDir$(test
GetFileExtension$(C:\folder\file.exten)=exten
GetFileName$(C:\folder\file.exten)=file
GetFileParentDir$(C:\folder\file.exten)=C:\folder\
__________________
http://nabatchikov.com
Мир нужно делать лучше и чище. Иначе, зачем мы живем? tormoz
А я растила сына на преданьях
о принцах, троллях, потайных свиданьях,
погонях, похищениях невест.
Да кто же знал, что сказка душу съест?
(Offline)
 
Ответить с цитированием