|
Полезные функции Выкладываем полезные функции, чтоб не изобретать велосипед заново... |
04.09.2005, 22:49
|
#1
|
Зануда с интернетом
Регистрация: 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
|
AnyKey`щик
Регистрация: 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
|
Бывалый
Регистрация: 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(file, div)) End Function Print GetFileExtension("A:\Directory\file.exe")
|
(Offline)
|
|
25.02.2015, 02:16
|
#4
|
Зануда с интернетом
Регистрация: 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)
|
|
Сообщение было полезно следующим пользователям:
|
|
25.02.2015, 02:25
|
#5
|
Бывалый
Регистрация: 17.12.2011
Сообщений: 862
Написано 443 полезных сообщений (для 1,133 пользователей)
|
Ответ: Расширение файла
Сообщение от impersonalis
К вышепредложенным кодам:
В теории точек может быть много...
|
Кстати, да!
|
(Offline)
|
|
25.02.2015, 02:43
|
#6
|
AnyKey`щик
Регистрация: 20.11.2013
Сообщений: 18
Написано 4 полезных сообщений (для 6 пользователей)
|
Ответ: Расширение файла
Сообщение от Wegox
Function GetFileExtension$(file$, div$ = ".") Return Right$(file$,Len(file) - Instr(file, div)) End Function Print GetFileExtension("A:\Directory\file.exe")
|
Повелитель оптимизации
|
(Offline)
|
|
25.02.2015, 05:24
|
#7
|
Ференька
Регистрация: 26.01.2007
Адрес: улица Пушкина дом Колотушкина
Сообщений: 10,742
Написано 5,461 полезных сообщений (для 15,675 пользователей)
|
Ответ: Расширение файла
"A:\Directory\file.exe"
Ох, давно я не видел A: в путях.
__________________
Мои проекты:
Анальное Рабство
Зелёный Слоник
Дмитрий Маслов*
Различие**
Клюква**
* — в стадии разработки
** — в стадии проектирования
Для проектов в стадии проектирования приведены кодовые имена
|
(Offline)
|
|
Эти 5 пользователя(ей) сказали Спасибо ABTOMAT за это полезное сообщение:
|
|
25.02.2015, 05:43
|
#8
|
Бывалый
Регистрация: 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 =0 Exit Wend Return TextQ End Function Print GetFileExtension("A:\Directory\file.exe")
|
(Offline)
|
|
25.02.2015, 06:36
|
#9
|
ТЫ ЧООО?
Регистрация: 26.02.2007
Сообщений: 3,369
Написано 2,020 полезных сообщений (для 7,192 пользователей)
|
Ответ: Расширение файла
Сообщение от ABTOMAT
"A:\Directory\file.exe"
Ох, давно я не видел A: в путях.
|
А такое видывал?
__________________
Вертекс в глаз или в пиксель раз?
|
(Offline)
|
|
Эти 3 пользователя(ей) сказали Спасибо ARA за это полезное сообщение:
|
|
25.02.2015, 19:37
|
#10
|
Ференька
Регистрация: 26.01.2007
Адрес: улица Пушкина дом Колотушкина
Сообщений: 10,742
Написано 5,461 полезных сообщений (для 15,675 пользователей)
|
Ответ: Расширение файла
Сообщение от ARENSHI
А такое видывал?
|
Да. Можешь тоже посмотреть:
__________________
Мои проекты:
Анальное Рабство
Зелёный Слоник
Дмитрий Маслов*
Различие**
Клюква**
* — в стадии разработки
** — в стадии проектирования
Для проектов в стадии проектирования приведены кодовые имена
|
(Offline)
|
|
25.02.2015, 21:26
|
#11
|
AnyKey`щик
Регистрация: 20.11.2013
Сообщений: 18
Написано 4 полезных сообщений (для 6 пользователей)
|
Ответ: Расширение файла
Сообщение от ABTOMAT
"A:\Directory\file.exe"
Ох, давно я не видел A: в путях.
|
У меня 2 винды стоят на дисках C и D, а диск A для всякого хлама. Уже привык
|
(Offline)
|
|
25.02.2015, 22:17
|
#12
|
Элита
Регистрация: 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
|
Злобный Админ
Регистрация: 04.09.2005
Сообщений: 5,926
Написано 3,415 полезных сообщений (для 9,330 пользователей)
|
Ответ: Расширение файла
Со времен висты - нет.
__________________
|
(Offline)
|
|
Эти 3 пользователя(ей) сказали Спасибо SBJoker за это полезное сообщение:
|
|
25.02.2015, 22:29
|
#14
|
[object Object]
Регистрация: 01.08.2008
Адрес: В России
Сообщений: 4,361
Написано 2,473 полезных сообщений (для 6,856 пользователей)
|
Ответ: Расширение файла
А теперь составьте слово из букв дисков.
__________________
Retry, Abort, Ignore? █
Intel Core i7-9700 4.70 Ghz; 64Gb; Nvidia RTX 4090 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
|
Бывалый
Регистрация: 17.12.2011
Сообщений: 862
Написано 443 полезных сообщений (для 1,133 пользователей)
|
Ответ: Расширение файла
Спустя 10 лет, топик стал популярным. impersonalis не парсер делал, а машину времени.
|
(Offline)
|
|
Эти 5 пользователя(ей) сказали Спасибо Wegox за это полезное сообщение:
|
|
Ваши права в разделе
|
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 13:18.
|