На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
! Правила раздела Visual Basic: Общие вопросы
Здесь обсуждаются вопросы по языку Visual Basic 1-6 (а так же по схожим языкам, как, например, PowerBASIC).
Вопросы по Visual Basic .NET (это который входит в состав Visual Studio 2002/2003/2005/2008+, для тех, кто не в курсе) обсуждаются в разделе .NET.

Обратите внимание:
1. Прежде чем начать новую тему или отправить сообщение, убедитесь, что Вы не нарушаете правил форума!
2. Обязательно воспользуйтесь поиском. Возможно, Ваш вопрос уже обсуждали. Полезные ссылки приведены ниже.
3. Темы с просьбой выполнить какую-либо работу за автора в этом разделе не обсуждаются. Студенты, вам сюда: ПОМОЩЬ СТУДЕНТАМ!
4. Используйте теги [ code=vba ] ...текст программы... [ /code ] для выделения текста программы подсветкой.
5. Помните, здесь телепатов нет. Формулируйте свой вопрос максимально грамотно и чётко: Как правильно задавать вопросы
6. Запрещено отвечать в темы месячной (и более) давности, без веских на то причин.

Полезные ссылки:
user posted image FAQ Сайта user posted image FAQ Раздела user posted image Кладовка user posted image Наши Исходники user posted image API-Guide user posted image Поиск по Разделу user posted image MSDN Library Online user posted image Google

Ваше мнение о модераторах: user posted image SCINER, user posted image B.V.
Модераторы: SCINER, B.V.
Страницы: (11) « Первая ... 6 7 [8] 9 10 ... Последняя » все  ( Перейти к последнему сообщению )  
> VBStyleCode , Проблемы со стилем Windows XP было полностью решено. Цветная палитра теперь показывается ...
    Пришлось сделать Add-in заново, несколько годов назад потерял проект (из-за винта ...).

    Add-in поддерживает предыдущие возможности:
    • Авто-форматирование строк кода в зависимости от операторов;
    • Авто-вставка недостающих конечных конструкторов.
    • Скроллинг с помощью мышиного колеса в окне кода.

    Исправлены предыдущие баги, недостатки:
    • Поддержка режима SDI;
    • Смягчен влияние на историю изменений.
    • Скроллинг с помощью мышиного колеса тепер работает и в других окнах тоже.

    Добавлены новые возможности:
    • Установка Add-in'а в среду VBA;
    • Авто-вставка Then для конструкции If-ElseIf в случаи его отсутствия (теперь без сообщений об ошибках);
    • Авто-вставка знака комментария;
    • Авто-вставка шаблона текста при добавлении функции/процедуры;
    • Авто-текст;
    • Авто-замена инкрементные (++) и декрементные (--) операции;
    • Авто-замена составное присваивание (+=, -=, *=, /=, \=, &=);
    • Авто-замена инициализации переменных с объявлением;
    • Нумерация строк кода;
    • Объявление функций, типов и констант (через #include);
    • Настройка обработчиков ошибок;
    • Подсветка синтаксиса;
    • Выбор стиля интерфейса;
    • Выбор языка интерфейса;
    • MDI-вкладки;
    • Быстрый переход к функциям и процедурам;
    • Архивация проекта;

    Управления клавишами:
    • Ctrl + Alt + Tab - Форматировать выделенный фрагмент кода;
    • Ctrl + S - Сохранение модулей в режиме отладки;
    • Ctrl + B - Возврат отменённых изменений по коду;
    • Ctrl + ' - Добавить знак комментария;
    • Ctrl + Shift + ' - Удалить знак комментария;
    • F6 - Установка / удаление закладки;
    • Shift + F6 - Переход между закладками;
    • F11 - Вызов окна перехода к функциям и процедурам;

    Прикреплённый файлПрикреплённый файлVBStyleCode.rar (289,68 Кбайт, скачиваний: 2641)

    Для установки языков интерфейса нужно распаковать архив в путь, который находится установочный файл.
    Прикреплённый файлПрикреплённый файлLanguages.rar (471,75 Кбайт, скачиваний: 1694)

    Примерные варианты include файлов:
    Прикреплённый файлПрикреплённый файлInclude.rar (129,59 Кбайт, скачиваний: 1533)
    Сообщение отредактировано: coder -
      Привет coder!
      Цитата coder @
      ...а как идет корректировка справки?

      Работа над справкой звершена процентов на 70%. Сейчас пишу контекстную справку для этой кнопочки:
      user posted image
      Цитата coder @
      Теперь на среде VBA тоже можно менять язык интерфейса, но переводы не полный, всего лишь переводил только строку меню. Искал, но не нашел в инете русификацию для VBA.
      Если кто-нибудь русифицировал уже, или имеет такой файл можеть быть делиться с нами.

      Когда-то у меня стоял Office 2000, там был русифицированный VBA.
        Цитата Diamock @
        Сейчас пишу контекстную справку для этой кнопочки

        Большое спасибо за ваши усилия.
        Цитата Diamock @
        Когда-то у меня стоял Office 2000, там был русифицированный VBA.

        Версия должен быть 6.0, был бы сейчас посмотрели.

        Добавлена новая возможность:
        • MDI-вкладки
          Привет coder!
          Что-то непонятное переодически происходит, при отрисовке MDI-вкладок:
          user posted image
          Скриншот из VB6. То же самое и в VBA 6 и 7.
            Когда появляется вторая белая строка?

            Добавлено
            Убрал периодическую отрисовку MDI-вкладок, прежде отрисовку оставил, потому что у меня не было видно.
            Теперь попробуйте.
              Привет coder!
              Создание справочного файла близко к завершению, поэтому ниже я укажу изменения, которые необходимо внести в исходный код VB Style Code для успешной интеграции справки. :)
              Технические требования для интеграции справочного файла.

              Изменения для формы.
              Свойство формы BorderStyle, должно быть Fixed Single или Fixed Dialog. WhatsThisButton и WatsThisHelp - True.
              Код для формы.
              ExpandedWrap disabled
                Private Sub SetHelpFile()
                    App.HelpFile = AppDir & "VBStyleCode.chm::popups.txt"
                End Sub
                 
                Private Function AppDir() As String
                    If Right$(App.Path, 1) <> "\" Then
                        AppDir = App.Path & "\"
                    Else
                        AppDir = App.Path
                    End If
                End Function
                 
                Private Sub Form_Load()
                    SetHelpFile
                End Sub
                 
                Private Sub Form_Unload(Cancel As Integer)
                    Unload Me
                End Sub

              Изменения для элементов управления на форме.
              Свойству элементов управления WatsThisHelpID user posted image надо присвоить значения указанные на рисунках

              Изменения для Автоотступ
              user posted image
              Изменения для Автовставка
              user posted image
              Изменения для Автотекст
              user posted image
              Изменения для Автозамена
              user posted image
              Изменения для Нумерация
              user posted image
              Изменения для Обработчики ошибок
              user posted image
              Изменения для Подсветка синтаксиса
              user posted image
              Изменения для Скроллинг
              user posted image
              Изменения для Стиль
              user posted image
              Изменения для Язык
              user posted image
              Изменения для MDI вкладки
              user posted image
              Изменения для Горячие клавиши
              user posted image
              Изменения для Формы
              user posted image

              Это первый этап внесения изменений, относящийся к VB IDE. Для VBA напишу позже.
              С уважением...
                Здравствуйте Diamock, прочитав спойлера, был очень рад, за это вам очень большое спасибо.

                Я сейчас работаю над Include, там тоже будет несколько настроек (пути модулей и ещё др.).
                На программу было внесено некоторые добавления и исправления (на настройки могут добавится только пункт Include), но ещё не обновлял, буду обновлять после завершения Include.

                Цитата Diamock @
                Для VBA напишу позже.

                Они одинаковые же.
                Сообщение отредактировано: coder -
                  привет, посмотрел, понравилось

                  вот только глюки при подсветке кода
                  Прикреплённая картинка
                  Прикреплённая картинка


                  и несколько замечаний по интерфейсу
                  Прикреплённая картинка
                  Прикреплённая картинка

                  Прикреплённая картинка
                  Прикреплённая картинка
                    Цитата Бяка @
                    вот только глюки при подсветке кода

                    Исправил, попробуйте.
                    Цитата Бяка @
                    и несколько замечаний по интерфейсу

                    Исправил.

                    На этом обновлении:

                    Добавлены новые возможности:
                    • Архивация проекта;
                    • Объявление функций, типов и констант (через #include);
                    Архивация проекта уже есть на других аддинах тоже, добавил для объединение в одну.

                    Объявление функций, типов и констант с помощью #include тоже было уже, но этот вариант в различии с другими поддерживает автоматическую объявлению тоже.

                    Директиву #include можно использовать по разному:
                    ExpandedWrap disabled
                      ' _
                      #Include <registry.bas> _
                      #Include In <win32api.txt>
                       
                      '#Include Full <mapi32.txt>
                      '#Include File <showdirs.bas>
                      '#Include Related "readme.txt"


                    По первому варианту добавляется модуль под названием registry и объявлении будет добавлятся к нему;
                    По второму варианту объявлении добавляется к текущему модулю;
                    По третьему варианту mapi32 полностью копируются к новому модулю;
                    По четвертому варианту файл showdirs.bas подключается на проект;
                    По пятому варианту файл подключается как рекомендуемый.

                    Последние две варианты не работает на VBA.

                    Теперь если директиву #Include или #Region - #End Region будете ввести без знака комментария аддин сам добавляет их автоматом.

                    Для проверки подключайте registry.bas через #Include <registry.bas> и попробуйте ввести getstring и пробел, у вас сразу появляется подсказка о функции и возможные варианты первого аргумента.

                    И ещё, при запуске VB память очищалось, аддин эту проблему тоже решает.

                    Добавлено
                    И ещё если путь указывается с кавычками значить аддин ищет его с двух мест:
                    1. В каталоге самого проекта.
                    2. В каталоге Мои проекты (его можно настроить).

                    Подпапки тоже можно включить с помощью слэш (\). Например:
                    ExpandedWrap disabled
                      '#Include <files\showdirs.bas>
                      '#Include "VBStyleCode\modRegistry.bas"
                    Сообщение отредактировано: coder -
                      Была исправлена недостатки Include In.
                        Привет coder!
                        Цитата Лицензия архиватора RAR
                        Ключевые файлы RAR и WinRAR не должны распространяться за пределы области, контролируемой лицом или лицами, купившими оригинальную лицензию, без письменного разрешения обладателя авторских прав.

                        Поэтому во избежание претензий со стороны держателя авторских прав, предлагаю воспользоваться, другой библиотекой сжатия, распространяемой бесплатно или моим (относительно конечно) кодом.
                        ExpandedWrap disabled
                          Option Explicit
                           
                           
                          '#######################################################################################
                          Private Function FileExist(FileName As String) As Boolean
                          '#######################################################################################
                          '# Функция проверки существования файла
                          '#######################################################################################
                          '# Параметры функции:
                          '########################################################################################
                          '# FileName         - [Обязательный]
                          '#                  - Тип String
                          '#                  - Имя проверяемого файла. Если путь к файлу не указан, проверяется
                          '#                  - файл в текущем каталоге текущего диска
                          '########################################################################################
                          '# Возвращаемое значение
                          '#                  - Тип Boolean
                          '#                  - Если файл существует, возвращает True
                          '#                  - Если файл не существует, возвращает False
                          '#                  - В случае ошибки, возвращает False
                          '########################################################################################
                           
                          On Error GoTo ErrFileExist              '# Включаем обработчик ошибок
                           
                          If Dir$(FileName) = vbNullString Then   '# Проверяем файл
                              FileExist = False                   '# Файл не существует, FileExist = False
                          Else
                              FileExist = True                    '# Файл существует, FileExist = True
                          End If
                          Exit Function                           '# Выход из процедуры
                           
                          ErrFileExist:                           '# Обработка ошибок
                              FileExist = False                   '# Файл не существует, FileExist = False
                          End Function
                          '########################################################################################
                           
                           
                           
                           
                          '########################################################################################
                          Public Sub CreateZIP(ZIPFileName As String, Optional Overwrite As Boolean = True)
                          '########################################################################################
                          '# Процедура создания ZIP архива
                          '########################################################################################
                          '# Параметры процедуры:
                          '########################################################################################
                          '# ZIPFileName      - [Обязательный]
                          '#                  - Тип String
                          '#                  - Полный путь к архиву
                          '########################################################################################
                          '# Overwrite        - [Необязательный]
                          '#                  - Тип Boolean
                          '#                  - Указание на возможность записи на место существующего файла.
                          '#                  - В случае, когда значение равно True, такая запись разрешается;
                          '#                  - в противном случае значение равно False.
                          '#                  - Если параметр опущен, запись поверх существующего файла разрешена
                          '########################################################################################
                           
                          '# Объявление переменных процедуры
                           
                          Dim ff          As Long     '# Переменная на доступ к свободному каналу
                          Dim ShellApp    As Object   '# Переменная для инициализации [Shell.Application]
                          Dim FE          As Boolean  '# Переменная для хранения валидности файла
                           
                           
                              '# Инициализация переменных
                              
                              ff = FreeFile                                       '# Получаем свободный канал
                              Set ShellApp = CreateObject("Shell.Application")    '# Инициализация [Shell.Application]
                              FE = FileExist(ZIPFileName)                         '# Проверка валидности [ZIPFileName]
                              
                              '# Обработка параметра [Overwrite]
                              
                              Select Case Overwrite                               '# Провека параметра [Overwrite]
                                  Case True                                       '# Перезапись разрешена
                                      If FE = True Then                           '# ZIP архив существует
                                          Kill ZIPFileName                        '# Удаляем ZIP архив
                                      End If
                                  Case False                                      '# Перезапись запрещена
                                      If FE = True Then                           '# ZIP архив существует
                                          MsgBox "ZIP архив " & _
                                          vbCrLf & ZIPFileName & _
                                          vbCrLf & "существует.", _
                                          vbInformation, App.Title                '# Выводим информационное сообщение
                                          
                                          Exit Sub                                '# Выходим из процедуры
                                      End If
                              End Select                                          '# Окончание проверки [Overwrite]
                              
                              '# Создание ZIP файла
                              
                              Open ZIPFileName For Output As #ff                  '# Открываем файл для записи
                                  Print #ff, Chr(80) & Chr(75) & _
                                  Chr(5) & Chr(6) & String(18, vbNullChar);       '# Создаём ZIP файл
                                  '####################################################################
                                  '# ВНИАНИЕ!!!                                                       #
                                  '# Точка с запятой в конце строки обязательна, чтобы оператор Print #
                                  '# не добавлял в файл символ переноса vbCrLf                        #
                                  '####################################################################
                              Close #ff                                           '# Закрываем канал
                              
                          End Sub
                           
                           
                          '########################################################################################
                          Public Sub AddFFFromZIP(ByVal ZIPFileName As String, ByVal AddFFName As String)
                          '########################################################################################
                          '# Примечание к процедуре!
                          '########################################################################################
                          '# Изначально, планировалось создать две процедуры. Добавление файла в ZIP архив и добав-
                          '# ление папки в ZIP архив. Но структура кода в теле обеих процедур была одинакова, поэ-
                          '# тому я решил использовать одну процедуру для добавления фалов и папок.
                          '########################################################################################
                          '# Параметры процедуры:
                          '########################################################################################
                          '# ZIPFileName      - [Обязательный]
                          '#                  - Тип String
                          '#                  - Полный путь к архиву
                          '########################################################################################
                          '# AddFFName        - [Обязательный]
                          '#                  - Тип String
                          '#                  - Полный путь к добавляемому файлу или папке
                          '########################################################################################
                           
                          Dim ShellApp    As Object   '# Переменная для инициализации [Shell.Application]
                              
                              Set ShellApp = CreateObject("Shell.Application")    '# Инициализация [Shell.Application]
                              ShellApp.NameSpace((ZIPFileName)).CopyHere (AddFFName)
                              '# Добавляем файл (папку) в ZIP архив
                              
                          End Sub

                        Некоторые замечания по интерфейсу, выложу позже.

                        С уважением...
                          Я присоединяюсь к вашим советам, в практике работал уже с zip архивами, но на этот раз не обратил внимание на лицензий.

                          Если у вас есть ещё другие замечания, то буду обновлять архив после них.
                            Ресайз формы нужно убрать.
                            user posted imageuser posted image
                            Это основное, остальное не влияющее на работу, чуть позднее.
                            P.s. Напиши пожалуйста историю изменений (версий), нужно для справки и, лицензиооное соглашение (могу вписать стандартное As Is).
                            Сообщение отредактировано: Diamock -
                              Обновил архив, был исправлен баг авто-отступа (при авто-табуляции в некоторых случаях окно показался как зависшим).
                              Цитата Diamock @
                              могу вписать стандартное As Is

                              Подойдет.
                              Цитата Diamock @
                              Напиши пожалуйста историю изменений (версий), нужно для справки

                              В смысле на каком версии, что было исправлена, что было добавлена, вы это имеете ввиду:
                              Скрытый текст
                              История:
                              =========================================
                              01.02.12 02:17
                              Версия: 2.0
                              - Добавлен возможность архивация проекта.
                              - Объявление функций, типов и констант (через #include).
                              - И ещё, при запуске VB память очищалось, аддин эту проблему тоже решает.
                              =========================================
                              24.01.12 01:49
                              Версия: 2.0
                              - Добавлен возможность MDI-вкладки.
                              =========================================
                              21.01.12 14:16
                              Версия: 2.0
                              - Добавлен возможность выбора языка интерфейса в среде VBA.
                              =========================================
                              19.01.12 02:43
                              Версия: 2.0
                              - Добавлен возможность назначение горячих клавиш.
                              =========================================
                              18.01.12 00:38
                              Версия: 2.0
                              - Авто-замена инкрементные (++) и декрементные (--) операции.
                              - Авто-замена составное присваивание (+=, -=, *=, /=, \=, &=).
                              =========================================
                              16.01.12 10:45
                              Версия: 2.0
                              - Добавлен возможность быстрый переход к функциям и процедурам.
                              =========================================
                              15.01.12 19:42
                              Версия: 2.0
                              - Добавлен возможность обработчики ошибок.
                              =========================================
                              12.01.12 14:13
                              Версия: 2.0
                              - Добавлен возможность выбора языка интерфейса.
                              =========================================
                              10.01.12 15:28
                              Версия: 2.0
                              - установочная программа заменен на мастеру установки.
                              =========================================
                              08.01.12 23:32
                              Версия: 2.0
                              - Добавлен установочная программа.
                              =========================================
                              03.01.12 14:00
                              Версия: 2.0
                              - Авто-вставка шаблона текста при добавлении функции/процедуры
                              - Нумерация строк кода
                              =========================================
                              01.01.12 19:25
                              Версия: 2.0
                              - Добавлен возможность подсветки синтаксиса.
                              - Добавлен возможность выбора стиля интерфейса.
                              - Проблемы со стилем Windows XP было полностью решено.
                              - Автовставка знака комментария.
                              - Установка горячих клавиш.
                              - В том числе, Ctrl + S - Сохранение модулей в режиме отладки.
                              - Поддержка новых директивов: '#Region "My region" - '#End Region
                              =========================================
                              23.12.11 00:46
                              Версия: 2.0
                              - При автоотступе смягчена влиянии на историю изменений.
                              =========================================
                              21.12.11 02:44
                              Версия: 2.0
                              - Скроллинг с помощью мышиного колеса тепер работает и в других окнах тоже.
                              =========================================
                              19.12.11 02:46
                              Версия: 2.0
                              - добавлен возможность автовставки текстовых шаблонов (автотекст).
                              =========================================
                              17.12.11 21:49
                              Версия: 2.0
                              - Исправлен скроллинг в режиме SDI.
                              =========================================
                              17.12.11 08:28
                              Версия: 2.0
                              - Установка Add-in'a в среду VBA.
                              - Поддержка режима SDI.
                              - Автовставка Then для If - ElseIf.
                              =========================================
                              07.08.07 17:47
                              Версия: 1.0
                              - Добавлен возможность автоматическое расставление отступов.
                              - Добавлен возможность выбора опций.
                              =========================================
                              30.07.07 11:03
                              Версия: 1.0
                              - Добавлен скроллинг с помощью мышиного колеса в окне кода.
                              - Add-in в режиме паузы тоже работает.
                              =========================================
                              17.05.07 11:26
                              Версия: 1.0
                              - Добавлен поддержка Enum и Type.
                              =========================================
                              11.05.2007 17:44
                              Версия: 1.0
                              - Аддин считывает количество пробелов, указанное в настройках среды.
                              - Если оператор уже закрыт, то повторно уже не вставляется конечные конструкторы.
                              =========================================
                              08.05.2007 13:02
                              Версия: 1.0
                              - При нажатии Return добавилось или убралось отступы.
                              - И вставлялись конечные конструкторы.
                              - При нажатии на кнопку Табулировать расставлялось отступы выделенных строк.
                              =========================================
                              Сообщение отредактировано: coder -
                                Привет coder!
                                Поправь отступы, примерно так
                                user posted image
                                  Слово Настройки убрали?

                                  Добавлено
                                  Чуть-чуть уточнял историю.

                                  Добавлено
                                  Цитата Diamock @
                                  Поправь отступы, примерно так

                                  Посмотрим.
                                  0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)
                                  0 пользователей:


                                  Рейтинг@Mail.ru
                                  [ Script execution time: 0,2404 ]   [ 25 queries used ]   [ Generated: 6.07.25, 08:01 GMT ]