1386 / 528 / 66
Регистрация: 10.04.2009
Сообщений: 8,710
1

Использование функции Len

30.04.2012, 15:44. Показов 9190. Ответов 6
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Здравствуйте
Вычитал:
Использование функции Len
Len считает длину сроки только у данных типа String
чтобы проверить, содержит ли строка символы-
приблизительно на 25 процентов быстрее чем явное сравнение с пустой строкой
If Len(a$) = 0 Then ...
Решил 25% съэкономить
Две строки:
Visual Basic
1
2
If Len(Selection.FormFields(1).Name$) = 0 Then '- прёт
If Len(Me.ComboBox1.Value$) = 0 Then ' – не прёт
Какая между строками разница?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
30.04.2012, 15:44
Ответы с готовыми решениями:

Описать функцию FillStr(S,Len), возвращающую строку длины Len, заполненную повторяющимися копиями строки-шаблона S
Описать функцию FillStr(S,Len) строкового типа, возвращающую строку длины Len, заполненную...

TypeError int object is not callable, ошибка в функции len
Добрый день, Уважаемые форумчане. Я пишу простенький скрипт, суть его в том, что он берет строки...

Реализация функции char *padl(const char *string, int len, int c=' ')
Реализовать функцию возвращающую указатель на новую строку длины len, полученную из string либо...

Как работает len() в Python
Как работает len() в Python . Я хочу использовать бинарный поиск , но для него надо использовать...

6
15145 / 6418 / 1731
Регистрация: 24.09.2011
Сообщений: 9,999
30.04.2012, 17:33 2
Цитата Сообщение от Ципихович Эндрю Посмотреть сообщение
Len считает длину сроки только у данных типа String
Не только, у Variant тоже. То есть Len(Variant) работает как Len(Cstr(Variant)). Вот пример:
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
Sub bb()
Dim v
v = 5
Debug.Print v, TypeName(v), Len(v)
v = 100000
Debug.Print v, TypeName(v), Len(v)
v = True
Debug.Print v, TypeName(v), Len(v)
v = False
Debug.Print v, TypeName(v), Len(v)
End Sub
Результат
Код
 5            Integer        1 
 100000       Long           6 
True          Boolean        4 
False         Boolean        5
А что значит "не прет"?
0
Модератор
Эксперт функциональных языков программированияЭксперт Python
36578 / 20308 / 4218
Регистрация: 12.02.2012
Сообщений: 33,607
Записей в блоге: 13
30.04.2012, 17:34 3
Могу предположить, что вторая строка получается от внешнего OLE-объекта (маршалинг съедает скромное преимущество). Но не настаиваю...
0
15145 / 6418 / 1731
Регистрация: 24.09.2011
Сообщений: 9,999
30.04.2012, 17:43 4
А, понял. Нет свойства Value$, есть Value. И Len(ComboBox1.Value)=0, если поле пустое.
0
1386 / 528 / 66
Регистрация: 10.04.2009
Сообщений: 8,710
30.04.2012, 18:04  [ТС] 5
Цитата Сообщение от Казанский Посмотреть сообщение
А что значит "не прет"?
не работает, выдаёт ошибку, выдаёт отлуп

все согласны
Цитата Сообщение от Казанский Посмотреть сообщение
А, понял. Нет свойства Value$, есть Value
как правильный ответ?
0
15145 / 6418 / 1731
Регистрация: 24.09.2011
Сообщений: 9,999
30.04.2012, 18:18 6
Эндрю, не тупи
Visual Basic
1
If Len(Me.ComboBox1.Value) = 0 Then ' – прёт
1
Эксперт WindowsАвтор FAQ
17996 / 7697 / 892
Регистрация: 25.12.2011
Сообщений: 11,470
Записей в блоге: 16
30.04.2012, 22:37 7
Цитата Сообщение от Ципихович Эндрю Посмотреть сообщение
приблизительно на 25 процентов быстрее чем явное сравнение с пустой строкой
Быстрее, так как она не подсчитывает длину переменной, а берет это число непосредственно уже готовое из памяти.
Когда сравнивается с "", VB создает в памяти переменную нулевой длинны, поэтому также случаи
a = ""
лучше менять на
a = vbnullstring

Удачи с экспериментами (я у себя на этом 0,5 % сэкономил
1
30.04.2012, 22:37
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
30.04.2012, 22:37
Помогаю со студенческими работами здесь

Delphi, визуальное программирование, функции, использование несколько объектов через функции
Здорово, ребята. Вот когда писал программку, возникла такая мысль - можно ли использовать одну и...

Возвращение результата функции bool и использование его в функции main()
У меня есть функция bool, которая имеет вид: bool Pisos(int row, int place) { if (...)...

Range(len(file) - где ошибка
Здравствуйте, знатоки! Прошу вашей помощи. Есть текстовый файл, из него с помощью range нужно...

ValidationRule: Len(Trim([Country])) > 0 не работает!
Здравствуйте, уважаемые! У меня такая проблема... Есть mdb база. В ней таблица, а в таблице поле...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru