Регистр имён файлов

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
Константиин
Обычный пользователь
Обычный пользователь
 
Сообщения: 90
Зарегистрирован: 09.08.2004 (Пн) 17:33

Регистр имён файлов

Сообщение Константиин » 02.04.2008 (Ср) 19:20

У меня такая проблема: добавляю с помощю D'n'D список файлов в ListBox, но нужно отфильтровать только конкретные. Я делаю так:
Код: Выделить всё
                If Right(path & Filename, 4) = ".mp3" _
                Or Right(path & Filename, 4) = ".MP3" _
                Or Right(path & Filename, 5) = ".mpeg" _
                Or Right(path & Filename, 5) = ".MPEG" _
                Then
                    FileCount = FileCount + 1
                    PlayList.AddItem path & Filename
                End If

Но это не рационально!!! Как сделать так, чтобы регистр имен файлов не учитывался???

ANDLL
Великий гастроном
Великий гастроном
Аватара пользователя
 
Сообщения: 3450
Зарегистрирован: 29.06.2003 (Вс) 18:55

Сообщение ANDLL » 02.04.2008 (Ср) 19:33

if strcomp(Right(path & Filename, 4),".mp3",vbtextcompare)=0 then ...
Последний раз редактировалось ANDLL 02.04.2008 (Ср) 19:39, всего редактировалось 1 раз.
Гастрономия - наука о пище, о ее приготовлении, употреблении, переварении и испражнении.
Блог

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16478
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Сообщение Хакер » 02.04.2008 (Ср) 19:36

Скобка лишняя, сразу после if.
Привычка сишников, видимо.
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

ANDLL
Великий гастроном
Великий гастроном
Аватара пользователя
 
Сообщения: 3450
Зарегистрирован: 29.06.2003 (Вс) 18:55

Сообщение ANDLL » 02.04.2008 (Ср) 19:42

Опечатка просто
Гастрономия - наука о пище, о ее приготовлении, употреблении, переварении и испражнении.
Блог

Константиин
Обычный пользователь
Обычный пользователь
 
Сообщения: 90
Зарегистрирован: 09.08.2004 (Пн) 17:33

Сообщение Константиин » 18.04.2008 (Пт) 17:32

Я тут нашёл ешё один способ:
Функции UCase$ и LCase$ позволяют вам осушествлять сравнения вне зависимости от регистра текста, но нижеследующие функции API гораздо быстрее:

Declare Function CharLower Lib "user32" _
Alias "CharLowerA" (ByVal lpsz As String) As String

Declare Function CharUpper Lib "user32" _
Alias "CharUpperA" (ByVal lpsz As String) As String.

В связи с чем, возникает ещё один вопрос: как будет быстрее?

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16478
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Сообщение Хакер » 18.04.2008 (Пт) 19:22

Вариант ANDLL должен быть быстрее.
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.


Вернуться в Visual Basic 1–6

Кто сейчас на конференции

Сейчас этот форум просматривают: Google-бот, SemrushBot, Yandex-бот и гости: 78

    TopList