Форум программистов
 
Контакты: о проблемах с регистрацией, почтой и по другим вопросам пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail.
Внимание! Некоторое время письма не доходят до аккаунтов MAIL RU GROUP, не доходят на все почтовые ящики mail.ru, inbox.ru, bk.ru. Пишите им жалобы, чтобы быстрее восстановили получение писем, регистрируйтесь через яндекс почту и gmail, туда письма с активизацией доходят.

Вернуться   Форум программистов > Microsoft Office и VBA > Microsoft Office Word
Регистрация

Восстановить пароль
Повторная активизация e-mail

Ответ
 
Опции темы
Старый 12.04.2011, 08:04   #1
EL_MoC
Пользователь
 
Регистрация: 06.04.2011
Сообщений: 15
Репутация: 18
По умолчанию Что такое хорошо, а что такое плохо...

Уважаемые, не желаете ли подискутировать на тему глобальных и локальных переменных, а также переменных со статическим диапозоном или динамическим.

Конкретика такова - кому нравятся переменные типа Variables?
Кому нравится задавать переменные Public?



З. Ы.: я ничего не имею против всего этого дела, а даже в какой-то степени понимаю те моменты, когда без них нельзя или их применение облегчает жизнь тем или иным способом.
EL_MoC вне форума   Ответить с цитированием
Старый 12.04.2011, 19:07   #2
Ципихович Эндрю
Профессионал
 
Регистрация: 24.01.2011
Сообщений: 2,283
Репутация: 48
По умолчанию

Вариаблес в 600 штук - класс, в 6000 штук на днях проверю
Ципихович Эндрю вне форума   Ответить с цитированием
Старый 13.04.2011, 08:09   #3
Вождь
Форумчанин
 
Аватар для Вождь
 
Регистрация: 29.09.2008
Сообщений: 365
Репутация: 223

icq: 397882017
По умолчанию

Тип Variant и медленнее и затратнее по ресурсам. Вот наглядный пример:
Код:

Option Explicit

Sub Test()

Dim T1!, T2!, T3!

    StatusBar = "Работаю..."
    T1 = Timer
    
    Const c_Max& = 9999999
    Dim V As Variant: V = 0: While V < c_Max: V = V + 1: Wend
    
    T2 = Timer
    
    Dim N As Long: N = 0: While N < c_Max: N = N + 1: Wend
    
    T3 = Timer
    StatusBar = "Финиш"
    MsgBox _
        "Время 1: " & CStr(T2 - T1) & " сек." & vbLf & _
        "Время 2: " & CStr(T3 - T2) & " сек." & vbLf & _
        "Разница (1-2): " & CStr((T2 - T1) - (T3 - T2)) & " сек."
    
End Sub

__________________
Макросы на заказ и готовый пакет - mtdmacro.ru
Вождь вне форума   Ответить с цитированием
Старый 13.04.2011, 08:26   #4
Smitt&Wesson
Профессионал
 
Аватар для Smitt&Wesson
 
Регистрация: 31.05.2010
Адрес: г. Киров
Сообщений: 13,919
Репутация: 622

skype: forwardbiznes
По умолчанию

Глобальные, локальные!?
Да пользователю пофигу чё там мы натворили. Ему главное, "что-бы костюмчик сидел". Т.е. выполнялось то, чего он заказал.
Это было актуально, когда память в 1Мб занимала 1Га (Си появился в то время) . Отсюда и битовые поля и прочая мутотень. Сейчас это не актуально.
__________________
Пиши пьяным, редактируй трезвым.
Справочник по алгоритмам С++ Builder

Последний раз редактировалось Smitt&Wesson; 13.04.2011 в 08:32.
Smitt&Wesson вне форума   Ответить с цитированием
Старый 13.04.2011, 21:02   #5
Ципихович Эндрю
Профессионал
 
Регистрация: 24.01.2011
Сообщений: 2,283
Репутация: 48
По умолчанию

получил разницу по представленному коду 1,15625 сек при размере 9999999 я бы назвал эту разницу = 0
Да это машина ещё у меня средняя
Ципихович Эндрю вне форума   Ответить с цитированием
Старый 13.04.2011, 22:12   #6
Вождь
Форумчанин
 
Аватар для Вождь
 
Регистрация: 29.09.2008
Сообщений: 365
Репутация: 223

icq: 397882017
По умолчанию

Цитата:
Сообщение от Ципихович Эндрю Посмотреть сообщение
...я бы назвал эту разницу = 0...
Что интересно, в MS Word 2003, 2007, 2010 тест работает одинаковое время с long, в MS Word 2003, 2007 время одинаково и для variant, а вот MS Word 2010 работает с variant заметно быстрее.
__________________
Макросы на заказ и готовый пакет - mtdmacro.ru
Вождь вне форума   Ответить с цитированием
Старый 14.04.2011, 18:49   #7
Ципихович Эндрю
Профессионал
 
Регистрация: 24.01.2011
Сообщений: 2,283
Репутация: 48
По умолчанию

ну вот проверил, загнал 6500 переменных в файл, файл увеличился на 330 КБ, никаких тормозов и только открыл документ - всё готово, пользуйся
Хорошая вещь и к тому же закидываются они туда в алфавитном порядке и две одинаковые закинуть не сможете
Ципихович Эндрю вне форума   Ответить с цитированием
Ответ

Опции темы

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

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

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Что такое ^= ? k1r1ch Общие вопросы C/C++ 3 10.01.2010 18:15
Что такое @? k1r1ch Общие вопросы Delphi 11 11.09.2009 20:15
Что такое SE LOPKOT HTML и CSS 5 31.08.2009 21:50
Что Такое Прокси? Рустам Свободное общение 1 17.11.2007 14:02
то такое мастерство в программировании, что такое мастер программист и что он может? Cezar Свободное общение 29 02.06.2007 23:48


02:14.


Powered by vBulletin® Version 3.8.8 Beta 2
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.

RusProfile.ru


Справочник российских юридических лиц и организаций.
Проекты отопления, пеллетные котлы, бойлеры, радиаторы
интернет магазин respective.ru