Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

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

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

Купить рекламу на форуме - 42 тыс руб за месяц

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

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

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



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

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

Тип 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
Макросы на заказ и готовый пакет - http://mtdmacro.ru/
Вождь вне форума Ответить с цитированием
Старый 13.04.2011, 08:26   #4
Smitt&Wesson
Старожил
 
Аватар для Smitt&Wesson
 
Регистрация: 31.05.2010
Сообщений: 13,964
По умолчанию

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

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

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

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

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


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


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