VB-комманда DIR медленнее чем API-шная PathFileExists?

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

VB-комманда DIR медленнее чем API-шная PathFileExists?

Сообщение |kerish| » 06.04.2005 (Ср) 20:44

Наверное дурацкий вопрос, но всё же.
Да и если медленнее, то думаете насколько?
Есть ли, что-нибудь для очень быстрой работой со строками.

alibek
Большой Человек
Большой Человек
 
Сообщения: 14205
Зарегистрирован: 19.04.2002 (Пт) 11:40
Откуда: Russia

Сообщение alibek » 06.04.2005 (Ср) 20:45

Конечно медленнее, потому что она является оберткой под целую группу функций. Но медленнее ненамного.
Lasciate ogni speranza, voi ch'entrate.

Igor_123
Осторожный Баянист
Осторожный Баянист
Аватара пользователя
 
Сообщения: 1325
Зарегистрирован: 21.07.2004 (Ср) 13:00
Откуда: Днепропетровск

Сообщение Igor_123 » 06.04.2005 (Ср) 21:13

|kerish| писал(а):Есть ли, что-нибудь для очень быстрой работой со строками.

C++ :D

А вообще поищи в инете, я встречал как-то приблуду, которая по обещаниям работала процентов на 20 - 30 быстрее встроенной реализации.

по-моему на vb.acselerator(не помню адреса)

xolod
Гуру
Гуру
 
Сообщения: 1162
Зарегистрирован: 15.01.2004 (Чт) 0:42
Откуда: Moscow

Сообщение xolod » 07.04.2005 (Чт) 12:19

Если проверить файл на существование - то. По крайней мере ей по слухам пользуется сама ОС.
Код: Выделить всё

Private Declare Function GetFileExists Lib "shell32" Alias "#45" (ByVal szPath As String) As Long

Но, как правильно подметил alibek, разница в скорости будет не велика.

А вот второе. Работа со строками собой что подразумевает?

Constant ERROR_SUCCESS deprecated. I'm so happy.
Программирование и дизайн – http://www.macrointellect.ru

|kerish|
Постоялец
Постоялец
 
Сообщения: 831
Зарегистрирован: 22.10.2004 (Пт) 0:31

Сообщение |kerish| » 19.04.2005 (Вт) 1:28

Подразумевает получение текста определенной строки из текста.

xolod
Гуру
Гуру
 
Сообщения: 1162
Зарегистрирован: 15.01.2004 (Чт) 0:42
Откуда: Moscow

Сообщение xolod » 19.04.2005 (Вт) 12:45

|kerish| писал(а):... получение текста определенной строки из текста.

Вот это изъяснение :)
Каким образом ты сейчас строку получаешь?

Constant ERROR_SUCCESS deprecated. I'm so happy.
Программирование и дизайн – http://www.macrointellect.ru

|kerish|
Постоялец
Постоялец
 
Сообщения: 831
Зарегистрирован: 22.10.2004 (Пт) 0:31

Сообщение |kerish| » 19.04.2005 (Вт) 13:52

|kerish| писал(а):Подразумевает получение текста определенной строки из текста.

Охренеть, я только сейчас увидел, что вчера ночью написал.
Всё, надо завязывать с ночными посиделками :)

Короче есть текст:
"1.Вася
2.Петя
3.Митя
4.Дуся"

Нужно получить, например, 2-ую строчку ("2.Петя").
Ну ты меня понял.
Но текст большой и поэтому нужен максимально быстрый алгоритм.
Я слышал, про какую-то библиотеку для быстрой работы со строками.
Может ты тоже слыхал?

Igor_123
Осторожный Баянист
Осторожный Баянист
Аватара пользователя
 
Сообщения: 1325
Зарегистрирован: 21.07.2004 (Ср) 13:00
Откуда: Днепропетровск

Сообщение Igor_123 » 19.04.2005 (Вт) 14:04

если можно преобразовать текст к виду
Код: Выделить всё
[option]
1=Вася
2=Петя
3=Митя
4=Дуся


то GetPrivateProfileString тебе поможет
Водки я вам не обещаю, но погуляем хорошо.
И. Сусанин.

Аватара (с) Тёмыч

alibek
Большой Человек
Большой Человек
 
Сообщения: 14205
Зарегистрирован: 19.04.2002 (Пт) 11:40
Откуда: Russia

Сообщение alibek » 19.04.2005 (Вт) 14:39

Насколько большой?
Если не мегабайтный, то лучше всего будет загрузить в строковую переменную и искать строки в ней с помощью InStr. Можно еще использовать Split(), достаточно быстро работает.
Lasciate ogni speranza, voi ch'entrate.


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

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

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 139

    TopList