Извините, ничего не найдено.

Не расстраивайся! Лучше выпей чайку!
Регистрация
Справка
Календарь

Вернуться   forum.boolean.name > Программирование игр для компьютеров > Blitz3D > Полезные функции

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

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

Function GetFileExtension$(FileName$,Divider$=".")
 lf1=1
 lf2=1
 While True
  lf2=Instr(FileName$,Divider$,lf1)
  If lf2=0 Exit
  lf1=lf2+1
 Wend
 Extension$=Right$(FileName$,Len(FileName$)-lf1+1)
 If Len(Extension$)=Len(FileName$)
  Return False
 Else
  Return Extension$
 EndIf
End Function
__________________
http://nabatchikov.com
Мир нужно делать лучше и чище. Иначе, зачем мы живем? tormoz
А я растила сына на преданьях
о принцах, троллях, потайных свиданьях,
погонях, похищениях невест.
Да кто же знал, что сказка душу съест?
(Offline)
 
Ответить с цитированием
Старый 25.02.2015, 01:13   #2
Zeonic
AnyKey`щик
 
Аватар для Zeonic
 
Регистрация: 20.11.2013
Сообщений: 18
Написано 4 полезных сообщений
(для 6 пользователей)
Ответ: Расширение файла

Спустя 10 лет.

Function GetFileExtension$(file$, div$ = ".")
   Return Mid(file, Instr(file, div) + 1, Len(file) - Instr(file, div))
End Function

Print GetFileExtension("A:\Directory\file.exe")
(Offline)
 
Ответить с цитированием
Старый 25.02.2015, 02:15   #3
Wegox
Бывалый
 
Аватар для Wegox
 
Регистрация: 17.12.2011
Сообщений: 862
Написано 443 полезных сообщений
(для 1,133 пользователей)
Ответ: Расширение файла

Сообщение от Zeonic Посмотреть сообщение
Спустя 10 лет.

Function GetFileExtension$(file$, div$ = ".")
   Return Mid(file, Instr(file, div) + 1, Len(file) - Instr(file, div))
End Function

Print GetFileExtension("A:\Directory\file.exe")
Function GetFileExtension$(file$, div$ = ".")
   Return 
Right$(file$,Len(file) - Instr(filediv)) 
End Function

Print 
GetFileExtension("A:\Directory\file.exe"
__________________
W.E.G.Ox.
(Offline)
 
Ответить с цитированием
Старый 25.02.2015, 02:16   #4
impersonalis
Зануда с интернетом
 
Аватар для impersonalis
 
Регистрация: 04.09.2005
Сообщений: 14,014
Написано 6,798 полезных сообщений
(для 20,935 пользователей)
Ответ: Расширение файла

К вышепредложенным кодам:
В теории точек может быть много. Обилие вызовов тяжёлых функций тоже не радует.

Иной код:
Function GetExt$(URL$)
	For i=Len(URL) To 1 Step -1
		If Mid(URL,i,1)="."
			Return Right(URL,Len(URL)-i)
		EndIf
	Next
	Return URL
End Function
Попахивает СИ-строками (в смысле "строка-массив", а не смысле нультерминирования), но, возможно множественный Mid убивает производительность по сравнению с Instr при одной точке, но при нескольких - х3 (надо сравнивать с первым постом).
__________________
http://nabatchikov.com
Мир нужно делать лучше и чище. Иначе, зачем мы живем? tormoz
А я растила сына на преданьях
о принцах, троллях, потайных свиданьях,
погонях, похищениях невест.
Да кто же знал, что сказка душу съест?
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
Wegox (25.02.2015)
Старый 25.02.2015, 02:25   #5
Wegox
Бывалый
 
Аватар для Wegox
 
Регистрация: 17.12.2011
Сообщений: 862
Написано 443 полезных сообщений
(для 1,133 пользователей)
Ответ: Расширение файла

Сообщение от impersonalis Посмотреть сообщение
К вышепредложенным кодам:
В теории точек может быть много...
Кстати, да!
__________________
W.E.G.Ox.
(Offline)
 
Ответить с цитированием
Старый 25.02.2015, 02:43   #6
Zeonic
AnyKey`щик
 
Аватар для Zeonic
 
Регистрация: 20.11.2013
Сообщений: 18
Написано 4 полезных сообщений
(для 6 пользователей)
Ответ: Расширение файла

Сообщение от Wegox Посмотреть сообщение
Function GetFileExtension$(file$, div$ = ".")
   Return 
Right$(file$,Len(file) - Instr(filediv)) 
End Function

Print 
GetFileExtension("A:\Directory\file.exe"
Повелитель оптимизации
(Offline)
 
Ответить с цитированием
Старый 25.02.2015, 05:24   #7
ABTOMAT
Ференька
 
Аватар для ABTOMAT
 
Регистрация: 26.01.2007
Адрес: улица Пушкина дом Колотушкина
Сообщений: 10,741
Написано 5,461 полезных сообщений
(для 15,675 пользователей)
Ответ: Расширение файла

"A:\Directory\file.exe"

Ох, давно я не видел A: в путях.
__________________
Мои проекты:
Анальное Рабство
Зелёный Слоник
Дмитрий Маслов*
Различие**
Клюква**

* — в стадии разработки
** — в стадии проектирования
Для проектов в стадии проектирования приведены кодовые имена

(Offline)
 
Ответить с цитированием
Эти 5 пользователя(ей) сказали Спасибо ABTOMAT за это полезное сообщение:
Crayzi (27.04.2015), L-ee-X (01.03.2015), Phantom (27.02.2015), Randomize (25.02.2015), St_AnGer (25.02.2015)
Старый 25.02.2015, 05:43   #8
Wegox
Бывалый
 
Аватар для Wegox
 
Регистрация: 17.12.2011
Сообщений: 862
Написано 443 полезных сообщений
(для 1,133 пользователей)
Ответ: Расширение файла

Всё. Надоело это максимум.

Global r,TextQ$,Instr_r 

Function GetFileExtension$(file$, div$ = ".")
While 
True 
r
=r+1

Instr_r
=Instr(file$,div$,r)

If 
Not Instr_r =0

TextQ
=Right$(file$,(Len(file$) - Instr_r))

EndIf

If 
Instr_r =Exit

Wend

Return TextQ

End 
Function

Print 
GetFileExtension("A:\Directory\file.exe"
__________________
W.E.G.Ox.
(Offline)
 
Ответить с цитированием
Старый 25.02.2015, 06:36   #9
ARA
ТЫ ЧООО?
 
Аватар для ARA
 
Регистрация: 26.02.2007
Сообщений: 3,369
Написано 2,020 полезных сообщений
(для 7,192 пользователей)
Ответ: Расширение файла

Сообщение от ABTOMAT Посмотреть сообщение
"A:\Directory\file.exe"

Ох, давно я не видел A: в путях.

А такое видывал?
__________________
Вертекс в глаз или в пиксель раз?
(Offline)
 
Ответить с цитированием
Эти 3 пользователя(ей) сказали Спасибо ARA за это полезное сообщение:
Артем Валерьевич (25.02.2015), Nex (25.02.2015), SBJoker (25.02.2015)
Старый 25.02.2015, 19:37   #10
ABTOMAT
Ференька
 
Аватар для ABTOMAT
 
Регистрация: 26.01.2007
Адрес: улица Пушкина дом Колотушкина
Сообщений: 10,741
Написано 5,461 полезных сообщений
(для 15,675 пользователей)
Ответ: Расширение файла

Сообщение от ARENSHI Посмотреть сообщение

А такое видывал?
Да. Можешь тоже посмотреть:
__________________
Мои проекты:
Анальное Рабство
Зелёный Слоник
Дмитрий Маслов*
Различие**
Клюква**

* — в стадии разработки
** — в стадии проектирования
Для проектов в стадии проектирования приведены кодовые имена

(Offline)
 
Ответить с цитированием
Старый 25.02.2015, 21:26   #11
Zeonic
AnyKey`щик
 
Аватар для Zeonic
 
Регистрация: 20.11.2013
Сообщений: 18
Написано 4 полезных сообщений
(для 6 пользователей)
Ответ: Расширение файла

Сообщение от ABTOMAT Посмотреть сообщение
"A:\Directory\file.exe"

Ох, давно я не видел A: в путях.
У меня 2 винды стоят на дисках C и D, а диск A для всякого хлама. Уже привык
(Offline)
 
Ответить с цитированием
Старый 25.02.2015, 22:17   #12
St_AnGer
Элита
 
Аватар для St_AnGer
 
Регистрация: 21.01.2010
Адрес: Россия, Рязанская область, г.Михайлов
Сообщений: 2,067
Написано 1,185 полезных сообщений
(для 2,828 пользователей)
Ответ: Расширение файла

Сообщение от Zeonic Посмотреть сообщение
У меня 2 винды стоят на дисках C и D, а диск A для всякого хлама. Уже привык
Щщщщщщщщщтоооооо? Диски A: и B: вроде как зарезервированы под флоппи, разве нет? Просвятите меня пожалуйста, если я ошибаюсь.
__________________
Main PC:
Intel Core i5 4260U 1.44 GHz + LPDDR3 1x4096 1600 MHz + Intel HD Graphics 5000.

Asus Ёжик T101-MT:
Intel Atom N-570 1.66 Ghz + DDR2 2x1024 800 Mhz + Intel GMA 3150 128 Mb DDR2


Скачать Doom 2D: Remake v0.3.8a
(Offline)
 
Ответить с цитированием
Старый 25.02.2015, 22:26   #13
SBJoker
Злобный Админ
 
Аватар для SBJoker
 
Регистрация: 04.09.2005
Сообщений: 5,926
Написано 3,415 полезных сообщений
(для 9,330 пользователей)
Ответ: Расширение файла

Со времен висты - нет.
Нажмите на изображение для увеличения
Название: 07f6d3dcfa51ef4552a838e96bb7a683.png
Просмотров: 1039
Размер:	5.7 Кб
ID:	21537
__________________
(Offline)
 
Ответить с цитированием
Эти 3 пользователя(ей) сказали Спасибо SBJoker за это полезное сообщение:
Arton (25.02.2015), Randomize (25.02.2015), St_AnGer (25.02.2015)
Старый 25.02.2015, 22:29   #14
Randomize
[object Object]
 
Аватар для Randomize
 
Регистрация: 01.08.2008
Адрес: В России
Сообщений: 4,354
Написано 2,470 полезных сообщений
(для 6,850 пользователей)
Ответ: Расширение файла

А теперь составьте слово из букв дисков.
__________________
Retry, Abort, Ignore? █
Intel Core i7-9700 4.70 Ghz; 64Gb; Nvidia RTX 3070
AMD Ryzen 7 3800X 4.3Ghz; 64Gb; Nvidia 1070Ti
AMD Ryzen 7 1700X 3.4Ghz; 8Gb; AMD RX 570
AMD Athlon II 2.6Ghz; 8Gb; Nvidia GTX 750 Ti
(Offline)
 
Ответить с цитированием
Старый 25.02.2015, 23:11   #15
Wegox
Бывалый
 
Аватар для Wegox
 
Регистрация: 17.12.2011
Сообщений: 862
Написано 443 полезных сообщений
(для 1,133 пользователей)
Ответ: Расширение файла

Спустя 10 лет, топик стал популярным. impersonalis не парсер делал, а машину времени.
__________________
W.E.G.Ox.
(Offline)
 
Ответить с цитированием
Эти 5 пользователя(ей) сказали Спасибо Wegox за это полезное сообщение:
Crayzi (27.04.2015), impersonalis (25.02.2015), Phantom (27.02.2015), Randomize (26.02.2015), St_AnGer (25.02.2015)
Ответ


Опции темы

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Скачка файла impersonalis Полезные функции 10 26.09.2010 21:15
Расширение MP odd Основной форум 44 25.05.2009 23:45
Кодирование файла zheland Алгоритмика 2 06.08.2008 02:47
Структура Dll файла AndruXa Болтовня 3 09.12.2007 17:06
Расширение! pipns 2D-программирование 10 02.09.2007 20:06


Часовой пояс GMT +4, время: 18:56.


vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot
Style crйe par Allan - vBulletin-Ressources.com