Архив за 'Visual основного' Категория

В. Б. Visual Basic ModBus Checksum Текущее

Воскресенье, 12 октября, 2008

Функция CRC16_BIN (ByRef ModBus_Data () As Long, NumBytes As Integer) As Long

Dim Temp As Long
Dim КПР As Long
Dim Полиномиальные As Long
Dim I As Integer
Dim J As Integer
'- После читаются последовательно контрольная проверка векторов - тест, где ни Макс или вот байтовой == 0
'- Температура = Пример 1: 1 3 64 0 1 217 144
'- Температура = 255: 1 3 64 0 255 88 16
'- Температура = 256: 1 3 64 1 0 25 192
'- Температура = 257: 1 3 64 1 1 216 0
'- = 0: 1 3 64 0 0 24 80
'- Проверить написать строку = Chr (1) И Chr (6) И Chr (64) И Chr (3) И Chr (232) И Chr (24) И Chr (34)
КПР = 65535 'снизу 16-бит все 1 в
Полиномиальные = 40961 '= поли-A001
Для I = 0 NumBytes - 1
Конвенция о правах ребенка, Конвенция о правах ребенка Xor = ModBus_Data (I)
Для J = 0 до 7
Если (Конвенция о правах ребенка, и 1) Далее
КПР = (ShiftRight (КПР) Xor 40961)
Еще
= ShiftRight ребенка (КПР)
End If
Следующая J
Затем я
CRC16_BIN = КПР и 65535

End Function

ZedGraph является мощной альтернативой для Visual Basic MSChart

Суббота, Октябрь 11, 2008

Вики для ZedGraph.

Visual Basic: Возвращение массива из функции

Пятница, 3 октября 2008

Как вернуть массив из функции

Родители форма Функция, которая возвращает массив / Векторные

Private Sub ReceiveArray_Click ()
Dim intRcvArray () As Integer
Dim I As Integer

UserInterface.Text = ""
intRcvArray = NumberList () '-Получите массив строк.

Для I = LBound (intRcvArray) Для UBound (intRcvArray) '-Display струн.
UserInterface.Text = UserInterface.Text И CStr (I) И ""
Затем я

End Sub

Частные функции NumberList () As Integer () '- Эта функция возвращает массив
Dim intArray () As Integer
Dim I As Integer

ReDim intArray (от 1 до 10)
Для I = 1 до 10
intArray (I) = I
Затем я

NumberList = intArray
End Function

Код здесь: ReturnArray.zip

Visual Basic: Как передать массив параметра в другой регулярной

Четверг, 2 октября 2008
Эта процедура будет проходить на другой параметр обычных Эта процедура получает звонок с массивом в качестве параметра

Под TestPassArray ()

Dim LongArray (от 1 до 5) As Long
Dim I As Integer

Для I = 1 To 5
LongArray (I) = I
Затем я

UserDisplay.Text = CStr (PassTest (LongArray ()))

End Sub

Функция PassTest (ByRef LongPass () As Long) As Long

Dim I As Integer
Dim Сумма As Long

Для I = 1 To 5
Сумма = Сумма + LongPass (I)
Затем я

PassTest = SUM

End Function

  1. Прохождения обычных пакетов 1,2,3,4,5 в массив.
  2. Называемые обычные вычисляет сумму всех значений в массиве, и передает результат обратно в вызове подпрограммы.

Visual Basic: Сохранение таможенного контроля стойких Свойства

Четверг, 2 октября 2008

Для получения подробной информации по этому вопросу Google Поиск по В.Б. Initproperties

property already has an Initialize event in common with Class modules and other objects, such as forms. Вы можете удивиться, почему мы нуждаемся в случае с InitProperties UserControl собственности уже Инициализация случае общего с класса модулей и других объектов, таких, как формы.

event happens too often, that is, every time an instance or your control "wakes up." Причина, по которой мы должны InitProperties для инициализации значения по умолчанию, заключается в том, что Инициализация событие происходит слишком часто, то есть, каждый раз, когда, например или Вашим контролем "просыпается". Вы только хотите умолчанию стоимости недвижимости, которая будет присвоена когда разработчики первых сайтов новую копию вашего контроля над контейнером. После этого вы хотите, чтобы разработчик чтобы иметь возможность определить стойких имущественных ценностей.

event, then you will have some very frustrated developers on your hands. ВНИМАНИЕ - Не используйте Инициализация Событие Установить элемент управления ActiveX по умолчанию собственности Ценности: Если поставить код для инициализации свойства, их значения по умолчанию в ваших пользовательских ActiveX контроля в Инициализация событие, а не в InitProperties событие, то вам будет есть очень разочарованы разработчиков на ваши руки. Ваш умолчанию переопределит значения разработчик установленного на дизайн времени каждый раз, когда разработчик запускает приложения, использующего ваш контроль.

--

object containing the values of your control’s custom, extender, and delegated properties. Недвижимость Сумка является стойким UserControl объектов, содержащих ценности вашего контроля в обычай, экстендер и делегировал свойства. This means you can store property values in the Property Bag just before an instance of the UserControl is destroyed and then retrieve the stored values when a new instance of the UserControl "wakes up" in another part of the development life cycle. В самом деле, собственность Сумка настолько стойким, что он не уничтожил получить с случаев UserControl. Это значит, что вы можете хранить ценности имущества в собственность Сумка перед инстанции UserControl разрушается, а затем получить хранятся ценности, когда новый экземпляр UserControl "просыпается" в другую часть цикла разработки.

Недвижимость Сумка имеет два способа хранения и получения значений, соответственно:

  • WriteProperty метод

  • ReadProperty метод

Вы должны знать, как управлять имуществом Сумка в следующих ситуациях, которые мы обсуждаем в разделах, сразу же после этого один:

  • method in the WriteProperties event procedure. Вам хранить ценности в собственность PropertyBag, призывая его WriteProperty метод WriteProperties случае процедуры.

  • method in the ReadProperties event procedure. Вы извлечения имущественных ценностей из PropertyBag, призывая его ReadProperty метод ReadProperties случае процедуры.

  • method. Вы обеспечить WriteProperties мероприятие будет огонь, призывая PropertyChanged метод. Вы, как правило, делать это в собственность Пусть процедур ваши пользовательские свойства или в другие соответствующие места в коде, когда стоимость хранения имущества изменений.

--

and WriteProperties events whenever it thinks that the instantiated object’s properties need to be re-initialized ( ReadProperties event fires) or stored for safekeeping ( WriteProperties event fires). Операционная среда пожаров UserControl 'S ReadProperties и WriteProperties событий, когда он думает, что обработан свойств объекта необходимо повторно инициализирован (ReadProperties случае пожара), либо хранится на хранение (WriteProperties случае пожара).

Такая схема позволяет гораздо проще для вас, контроль автора, чтобы управлять этими свойствами, поскольку вам не придется думать о всех возможных случаях, когда стоимость недвижимости, возможно, необходимо читать или писать. event procedures. Вам просто нужно поставить код для чтения и записи значений в собственности двух централизованных местах: ReadProperties и WriteProperties случае процедур.

event procedures receive a single parameter named PropBag. This PropBag parameter obviously represents the Property Bag object that holds the UserControl ’s property values. Оба ReadProperties и WriteProperties случае процедуры получать единый параметр с именем PropBag. PropBag Этот параметр явно представляет Сумка собственности объект, который проводит UserControl 'S имущественных ценностей.

parameter has one method for reading properties (ReadProperty) and another for writing properties (WriteProperty). PropertyBag объект представляет PropBag параметр имеет один метод чтения свойства (ReadProperty), а другой для записи свойства (WriteProperty).

method so you can retrieve persistent values for individual properties. Как правило, лишь код, который вы должны написать в ReadProperties события будут серию звонков в ReadProperty метод, вы можете получить стойкие значений по отдельным свойствам.

method so you can store persistent values of individual properties. И наоборот, лишь код, который вы, как правило, необходимо написать в WriteProperties мероприятии будут серию звонков в WriteProperty метод, вы можете хранить ценности стойких индивидуальных свойств.

--

event just before it fires the UserControl’ s Terminate event provided that at least one property value has changed. Visual Basic пожаров UserControl 'S WriteProperties события непосредственно перед пожаров UserControl' S Завершить мероприятие при условии, что по крайней мере один имущества стоимостью не изменилось. Иными словами, WriteProperties случае пожаров, когда в данном случае идет о контроле, подлежащих уничтожению, и каких-либо имущественных ценностей, которые вы хотите сохраняются изменились и, следовательно, должны быть сохранены.

Как и предполагает его название, можно использовать WriteProperties случае процедуру, чтобы сохранить имущество стойких ценностей. for each property whose value you wish to save. Конкретный механизм вы используете, чтобы сохранить имущество значений заключается в том, чтобы вызвать WriteProperty методом собственности Сумка для каждого имущества, стоимость которых вы хотели бы сохранить. event as a parameter named PropBag. The example code in Listing 13.7 shows how you would call the Property Bag ’s WriteProperty method to save individual property values. Недвижимость Сумка доступна в случае процедуры WriteProperties событие как параметр с именем PropBag. Пример кода в листинг 13,7 свидетельствует о том, как вы позвоните в собственности Сумка 'S WriteProperty способ сохранить ценности индивидуальной собственности. Заметьте, что мы используем любые хранилище было хранение имущества стоимостью в качестве источника для текущего значения: иногда это может быть частный памяти переменной, а в других случаях она может быть собственностью учредительных контроля (как в последней строке перед End Sub).


ИСПОЛЬЗУЯ WRITEPROPERTIES ОБСТОЯТЕЛЬСТВАХ ПРОЦЕДУРЫ ДЛЯ СПАСЕНИЯ стоимости недвижимости в собственность ПОДУШЕК

Private Sub UserControl_WriteProperties (PropBag Как PropertyBag) '-магазин значений пользовательских свойств собственности Сумка
PropBag.WriteProperty "BackColor", BackColor
PropBag.WriteProperty "по Цельсию", m_Celsius
PropBag.WriteProperty "Фаренгейт", m_Fahrenheit
PropBag.WriteProperty "TemperatureDate", m_TemperatureDate
PropBag.WriteProperty "Caption", lblCaption.Caption
End Sub

--

events whenever it thinks you may need their services. Система автоматически пожаров WriteProperties и ReadProperties событий, когда он думает, может потребоваться их услуги. Для того чтобы система знает имущества изменился, вы должны обратиться к PropertyChanged метод. Примером этого было бы, если вы измените значения переменных, что частные реализует стоимости имущества. Эта система не имеет возможности узнать, что эта переменная связана с собственностью, и поэтому он не будет огня WriteProperties мероприятие, основанное исключительно на изменения вы сделали.

В таких случаях вы можете позвонить PropertyChanged метод. Этот метод сообщает системе, что особенно собственности изменилась, и так обеспечивает WriteProperties событие пожара до текущего экземпляра контроль уничтожены. Если вы уже написали соответствующий код в WriteProperties xvent, то вашу собственность ценности будут сохранены в собственности мешок.

method whenever you do something in code that will cause a change to a property whose value you wish to persist. Вы должны позвонить UserControl 'S PropertyChanged метод, когда вы делаете то, что код будет вызывать изменения в собственности, стоимость которой Вы хотели бы сохраняться. or Property Set procedure. Наиболее типичные места для вас позвонить PropertyChanged метод будет в собственности или собственности Пусть Установить порядок. Имейте в виду, что мы проверяем CanPropertyChange метод, который мы обсуждаем в разделе "Вызов CanPropertyChange методом без учета стоимости имущества к изменениям."

ТРЕБУЮЩИЕ PropertyChanged МЕТОДА ДЛЯ ОБЕСПЕЧЕНИЯ WRITEPROPERTIES WILL ПОЖАРАМ

Недвижимость Пусть Цельсию (sValue Как Single)
Если CanPropertyChange ( "Цельсию") Then '-присвоить поступающие ценности будут в частных магазинах переменная
m_Celsius = sValue
PropertyChanged ( "Цельсию") '-ссылаться UserControl в PropertyChanged метод так что знает, чтобы спровоцировать WriteProperties и хранить новое значение
Slider1.Value = m_Celsius'-выполняют другие хозяйствования специфичных для данного приложения
RecalcFahrenheitFromCelsius sValue
DisplayTempsFromSlider
End If
End Property

--

ReadProperties случае пожара, когда таможенный контроль является reinstantiated в какой-то момент в развитии цикла (проект, где он проживает был получен и его контейнер был обработан, разработчик просто запустить режим вступил в режиме дизайна или разработчик только вернулись в дизайн режим из режима запуска).

Заметьте, что мы сказали, что при пожарах ReadProperties таможенного контроля вновь обработан. event doesn’t fire. Мы использовали эту формулировку на специально исключать тот случай, когда разработчик мест инстанции контроля на контейнерных впервые с панели инструментов. Для таких впервые инстанцирования, ReadProperties случае не срабатывает. Вместо этого, InitProperties случае пожара (см. "Использование InitProperties событий установить по умолчанию Начиная собственности ценности"). The Property Bag appears in the ReadProperties event procedure as a parameter named PropBag. You call PropBag’ s ReadProperty method for each property whose value you wish to restore. ReadProperties случае, как предполагает его название, это мероприятие, что вы будете использовать для восстановления значений свойств, которые были сохранены в собственности мешок. Свойство мешка появляется в ReadProperties случае процедуры в качестве параметра с именем PropBag. Вы вызываете PropBag ' S ReadProperty метода для каждого имущества, стоимость которого вы хотите восстановить.

. Отметим, что ReadProperty метод принимает два аргумента: имя собственности, как строку, а затем по умолчанию на имущество (в том случае, если стоимость имущества не была инициализирована в собственности мешок).

Мы хранить результаты каждого звонка на ReadProperties в соответствующей переменной или контроля над собственностью, которая реализует имущества в рамках этого контроля.


ИСПОЛЬЗУЯ READPROPERTIES ОБСТОЯТЕЛЬСТВАХ ПРОЦЕДУРЫ ДЛЯ ВОССТАНОВЛЕНИЯ СТОЙКИМ имущественных ценностей от имущества ПОДУШЕК

Private Sub UserControl_ReadProperties (PropBag Как PropertyBag)
m_Celsius = PropBag.ReadProperty ( "по Цельсию", 30)
m_TemperatureDate = PropBag.ReadProperty _
( "TemperatureDate", DateSerial (1997, 1, 1))
m_caption = PropBag.ReadProperty ( "Caption", Extender.Name)
BackColor = PropBag.ReadProperty ( "BackColor", Ambient.BackColor)
lblCaption.Caption = m_caption
End Sub

--

Visual Basic PropertyBags помнить параметры, его дело в шляпе

Понедельник, 29 Сентября 2008

Ссылаясь на UserControl Свойства

Стандартный контроля свойств можно установить с помощью объекта-браузера. В следующий раз, когда вы приносите ваш В.Б. программа для редактирования нужно иметь возможность сослаться на состояние этих параметров. Пример № 3 на этой странице, показывают, как использовать PropertyBag запомнить эти параметры.

Торговец PropertyBag Пример

Хранение в мешке

Сохранить в мешке - Заполните объект может быть сохранен на диск Stuff в мешке - фактический файл операции поставить на диск

Private Sub cmdSave_Click ()

Dim objBag В Нью PropertyBag

Что objBag
. WriteProperty "ул", "строка"
. WriteProperty "Num", 666
. WriteProperty "Bool", False
. WriteProperty "Mascot", SuperBagMan.Picture

SaveBagContents. Содержание, App.Path И "\ Things.bag"
End With

Установить objBag = Nothing

End Sub

Private Sub SaveBagContents (Содержание Как вариант, FilePath As String)

Dim FileNum As Integer

FileNum = FileSystem.FreeFile ()

Открыть FilePath для бинарного Как FileNum
Положить FileNum #,, Содержание
Закрыть FileNum

End Sub

Восстановление из мешка

Напомним мешка содержимое диска Дамп Сумка - фактический файл операцию, чтобы содержимое диска

Private Sub cmdLoadBag_Click ()

Dim objBag В Нью PropertyBag
Dim TestInt As Integer

BagReadOut.Text = ""

Что objBag
. Содержание = LoadBagContents (App.Path И "\ Things.bag")

Экран ", ул =" И. ReadProperty ( "ул", "[Без значение]")
Дисплей "Num =" И. ReadProperty ( "Num", "[Без значение]")
Дисплей "Bool =" И. ReadProperty ( "Bool", "[Без значение]")
Дисплей "----------------"
Дисплей "Следующее значение намеренно оставил хранения списка и, таким образом, она использует стандартные значения, указанные в. ReadProperty заявление"
Дисплей "NotInBag =" И. ReadProperty ( "NotInBag", "[Без значение]")

Установить Image1.Picture =. ReadProperty ( "Mascot", "[Без значение]")

TestInt = CInt (. ReadProperty ( "Num", "[Без значение]"))

End With

Установить objBag = Nothing

End Sub

Частные функции LoadBagContents (FilePath As String) Как вариант

Dim FileNum As Integer
Dim tempContents Как вариант

FileNum = FileSystem.FreeFile ()

Открыть FilePath для бинарного Как FileNum
Получить FileNum #,, tempContents
Закрыть FileNum

LoadBagContents = tempContents

Как зарегистрировать OCX файлов

Вторник, 9 сентября, 2008

Если вы получаете ошибки OCX файл регистрации файла может решить эту проблему. Чтобы зарегистрировать OCX файл просто следуйте простым шагам ниже.

  • 1.Locate файл с помощью Windows Explorer или Мой компьютер. Кроме поиска по имени файла.
  • 2.Hold вниз сдвиг ключ и щелкните правой кнопкой мыши на файл. Затем нажмите кнопку "Открыть с помощью ..." из меню.
  • 3.An "Открыть с 'окно должно появиться. Нажмите кнопку "Другой ...".
  • 4.Navigate вашей Windows \ System32 и выберите директорию файл 'RegSvr32.exe ". У файла для поиска, если у вас есть проблемы с поиском точного папку. В Windows 2000 это, как правило, находится в C: \ WINNT \ System32. Нажмите кнопку "Открыть" выбрать файл. Затем нажмите кнопку "ОК" Открыть С 'диалоге.
  • 5.You должны увидеть сообщение, указывающее, что файл был успешно зарегистрирован. Если вы увидите сообщение об ошибке, попробуйте перезагрузить компьютер и проходит процесс над еще раз.

Ввод таможенного контроля на Visual Basic

Вторник, 9 сентября, 2008

Первый этап всегда ищет пример кода, чтобы untangling очень плохо письменные объяснения.

Переменный Видимости

Вы можете передавать переменные / объекты взад и вперед между Visual Basic Форма и UserControl. Этот архив имеет исходный код показывать вам, как это сделать:

Scribble.zip

Вы можете сделать свойства для следующих вещей: форма, UserControls и модули класса. В принципе любой элемент, который будет вести себя как объект.

Когда использовать свойства?

Свойства удобно, когда нужно обобщить код: если вы изменить настройки чего-то, возможно, было бы лучше создать ее как собственность. Особенно, если вы, возможно, нужно, чтобы вернуть значение а. Код можно сделать некоторые дополнительные вещи, такие, как переход формы меню автоматически исправить значение, поэтому вам не нужно делать это там, где от вас набор ценностей.

Передача собственности

Это доступ к имуществу таможенного контроля

Родители форма Таможенного контроля

ParentForm.Caption = UserControl1.Caption

Dim m_Caption Как String

Государственная собственность Получить Caption () As String
Caption = m_Caption
End Property

Таможенного контроля в форме Родитель: Вы вызываете собственности с формой UserControl уделяется.

Это устанавливает свойство таможенного контроля

Родители форма Таможенного контроля

UserControl1.Caption = "Это мой контроль!"

Dim m_Caption Как String

Государственная собственность Пусть Caption (ByVal NewCaption As String)
m_Caption = NewCaption
End Property

Разница между Пусть собственности и собственности Set - Недвижимость Пусть используется, когда вы проходите переменной. Установка используется, когда вы передаете объект.

Передача объекта

Это посещение объекта таможенного контроля

Родители форма Таможенного контроля

Установить ParentForm.Picture = UserControl.Picture

Dim m_Picture Как IPictureDisp 'ссылка на "OLE Automation" обязательна! По умолчанию он включен

Государственная собственность изображение () As IPictureDisp
Set Picture = m_Picture
End Property

Это устанавливает объект таможенного контроля

Родители форма Таможенного контроля

Установить UserControl1.Picture = Picture1.Picture

Dim m_Picture Как IPictureDisp

Государственная собственность Set Caption (ByRef NewPicture Как IPictureDisp)
Установить m_Picture = NewPicture
End Property

Некоторые замечания о примерах

Я сохранил в качестве примера чистой, насколько это возможно. По этой причине, я не включают дополнительные кодировки, что бы перекроить UserControl например. Перерисовку будет находиться в собственности обработки как иначе ваш контроль никогда не изменится. Это хорошая идея сделать общее перерисовку процедуры в вашем UserControl держать его визуально с легкостью обновлены.

Добавление все вверх

- Использование имущества, а к югу или функцию, если вы хотите получить значения
- Применение к югу, если вам просто нужно установить нечто
- Использовать функцию, если вы хотите установить то и требовать возвращения стоимости результата (например, если функция успешно)
- Получить недвижимости работает с любыми данными, будь то очередная переменная или объект
- Пусть это имущество для регулярных переменных
- Недвижимость набор объектов

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

Общим примером этого является при написании сборника класса.

Недвижимость Получить Пункт (ByVal Индекс As Long) As MyClassType
Установить Пункт = BaseCollection (индекс)
End Property

Недвижимость Пункт Set (ByVal Индекс As Long, ByRef pObject Как MyClassType)
Установить BaseCollection (Index) = pObject
End Property

Функция подписей (тип и количество аргументов) для Получите и установите / Пусть методы должны совпадать, за исключением дополнительного параметра на окончательное Set / Let обычной чего в настоящее время возложены на собственность.

Как Merri упоминалось, Property Set называется, когда вы назначаете объекта ссылки с помощью набора ключевых слов. Объект передается по ссылке. Недвижимость Пусть называют, когда вы назначаете значение типа (Лонг, струна и т.д.) дополнительно использовать (не рекомендуется) Пусть ключевое слово, и оно передается по значению.

Итак, вы должны использовать имущество выше Получить / Комплекс методов, как это:
Dim AnObject Как MyClassType
Установить AnObject = MyCollectionClass.Item (5) "Получить
Установить MyCollectionClass.Item (5) = AnObject 'Set

Это работает, но вы можете заметить, что встроенные в В.Б. Коллекция класса немного аккуратнее синтаксис:

  • Установить AnObject = MyCollection (5)

Чтобы добиться этого, нужно установить Пункт собственности в качестве стандартного метода вашей коллекции класса. Для этого щелкните в любом месте в порядке, и из меню "Сервис" выбрать процедуры атрибуты. Нажмите кнопку Дополнительно, чтобы расширить этот диалог, и из выпадающего процессуальный ID, выберите (по умолчанию). Это позволит использовать синтаксис стенографию показано выше.

Наследование

Иерархические Использование UserControls

Я хочу иметь возможность использовать UserControl внутри UserControl, с тем чтобы иметь возможность строить иерархию путем повторного использования в своей работе. Однако, как я могу это сделать? Мои первоначальные эксперименты показывают UserControl установить внутри другого UserControl не видимость более высокий уровень управления объектами.

Общие сведения

  1. На уровне формы, которую проводит таможенного контроля вы увидите, что   UserControl_Initialize () будет работать, даже если вы не ударил искать кнопки.
  2. Я пока еще не найден, как я могу установить имущество и таможенного контроля вспомнить его без содержащие форме "напоминание" в некоторых основе своей самобытности. У меня есть кусок кода, где Есть 32 этого же таможенного контроля в контроле массив . Если бы я мог установить имущество на дизайн, как раз этот стандарт контроля таможенного контроля может знать, где искать PropertyBag. К сожалению, моя таможенного контроля имеет сопротивление вспомнить какой-либо из свойств Я определены.

Ссылаясь на UserControl Свойства

См. раздел данной статьи Для получения дополнительной информации о PropertyBags

Тест WordPress в качестве программного инструмента документации

Воскресенье, 3 августа 2008

'************************************************* ******
'Заявления по траектории модуль
'************************************************* ******

'--- Файл операция переменных -------

Общественная TextChanged Как булевых
Общественная FileName As String
Общественная LogFileName Как String
Общественная OldProfileName Как String

'-Вход Тип файла декларация -
Частные Тип Log_Entry
Time_Point As String * 9
Set_Point_Temp As String * 5
Actual_Point_Temp As String * 5
CRLF As String * 2
Конец Тип

'--- Программное состояние переменных ------

Общественная BootUp_Flag Как булевых
Общественная Profile_Run_Flag Как булевых
Общественная Profile_AutoLoad_Flag Как булевых 'флаги сигнала автозагрузки при старте
Общественная Logfile_AutoLoad_Flag Как булевых
Общественная Valid_Profile_Loaded Как булевых 'используется для предотвращения запуска в случае действительного профиля еще не загружены
Общественная CommPortNumber As Integer

'--- Контроль состояния переменных -------

Общественная Elapsed_Time_Interval Как Двухместный 'обновление: в ходе КИ, ручное обновление

Общественная Twait как двойной задержкой времени до тех пор, пока Temp догоняет


Общественная Base_Elapsed_Time Как Двухместный '-треки Истекшее за исключением управления обновлениями
Общественная Toggle_Start_Time Как Вариант '-записей, когда CI является toggled по
Общественная Previous_Elapsed_Time_Interval Как Двухместный '-треки прошло за исключением ручного обновления
Общественная New_Elapsed_Time_Interval Как Двухместный 'использования для ввода, если действительны => прошло
Общественная Time_Update_Flag Как булевых
Общественная Current_Segment Как Byte
Общественная Desired_Temperature As Integer
Общественная Thermocouple_Temperature_1 As Integer
Общественная Process_Setpoint_Readback_1 As Integer

Дисплей'---- государство Переменные ------
Общественная Email_Destination Как String

Dim Display_WorkSheet () Как вариант 'сетки параметров состояния
Общественная Run_Profile_String Как String
Частные DisplayRowCount As Long 'номер строки в traj. DISP. Сетка

'-Профиль переведен сегмент массивы
Dim Segment_Number (от 1 до 256) As Integer
Dim Start_Time (от 1 до 256) как двойной 'на все времена DBL (кроме VAR для datediff функции)
Dim End_Time (от 1 до 256) как двойной
Dim Interval_Start_Temperature (1 256) Как Двухместный '-времени DBL для покрытия НИТР декабря Pt.
Dim Interval_Final_Temperature (от 1 до 256) как двойной
Dim Temperature_Tolerance (от 1 до 256) как двойной
Dim SegmentCMD (от 1 до 256) As String
Dim SegmentDoneFlag (1 256) Как булевой "Ожидание сделали флаг?

'-Профили параметров
Общественная Profile_Line_Count Как Byte
Общественная Profile_Max_Time Как Двухместный

Общественная Timer_Interrupt_Count Как Byte


Общественная Serial_Receive_Data Как String



'- PID контроллером состояния переменных
Общественная PF_Input_Type Как String
Общественная RunProfile_TempScale Как String
Общественная RunProfile_TimeScale Как String

Dim DisplayChartValues () как двойной '-динамично размера массива

Общественная Traj_DebugFlag_Not Как булевых

'************************************************* ******
Private Sub Form_Load ()
'************************************************* ******

Dim Фильтр As String
Dim newcnt As Integer

Traj_DebugFlag_Not = True'----- SHIPPABLE в этом SET = TRUE --------

Если Traj_DebugFlag_Not = True затем по ошибке Возобновить Далее

'---- Pop Up продукта регистрационную форму ----
Как не IsRegistered () 'Проверка регистрации программы
Если Вы не зарегистрированы
frmRegistration.Show vbModal 'показать форму регистрации
Если ExitApp Тогда
Выгрузить Me 'Пользователь отменил. Выход Применение
Выход Подкатегории
End If
Loop
'---- Конце добавил регистрационный бланк код



'------- Схему inits -------
ProfileChart.chartType = VtChChartType2dXY
ProfileChart.Plot.UniformAxis = False '-де-пары XY axii так площади участков
ReDim DisplayChartValues (от 1 до 10, от 1 до 2)
Для I = 1 до 10 'нулевой из диаграммы Элим случайных заполнения
DisplayChartValues (I, 1) = I
DisplayChartValues (I, 2) = 0
Затем я
ProfileChart.ChartData = DisplayChartValues
ProfileChart.Plot.UniformAxis = False '-де-пары XY axii так площади участков

BootUp_Flag = True 'установить подлинное при запуске, когда набор ложных инициализации сделали

'----- Истекшее время Preset -----
Elapsed_Time_Interval = 0 '-инициализации всех Интервалы = 0
Base_Elapsed_Time = 0
Previous_Elapsed_Time_Interval = 0
Elapsed_Time.Text = CStr (Elapsed_Time_Interval)
Time_Update_Flag = False

CommPortNumber = 1 'безотказного CommPortNumber
Current_Segment = 1

Profile_Line_Count = 0
Profile_Max_Time = 0
Twait = 0

Profile_Run_Flag = False
Valid_Profile_Loaded = False

'Инициализация автозагрузка Флаги
Profile_AutoLoad_Flag = False
Logfile_AutoLoad_Flag = False

TextChanged = False

Фильтр = "Текстовые файлы (*. TXT) | *. TXT" Загрузка фильтров в общей окно
Фильтр = Фильтр И "| (*.*) Все файлы | *.*"
CommonDialog3.Filter = Фильтр

Traj_form.WindowState = 2

'----------------
'- Загрузка программы установки с Instrumentation DiskFile --
'----------------
'Флаг: использование последних лог-файл, как раз момент начать? ЦЕЛЬ = простой перезагрузки системы и перезагрузки!
': Последние профиль используется?
': Добавьте в файл журнала?
'- Безусловный вспомнить
'Email_Destination
"Электронная почта включить / отключить состояние
'Темп предел погрешности
"Обновить файл Anytime ЛЮБОЙ о настройке параметров изменения

'---------
'-Сетку настройки и инициализации -
'-Настройки сетки --
'---------

ReDim Display_WorkSheet (от 0 до 255, от 0 до 9)
DisplayRowCount = 256

RunProfile_FlexGrid.FixedCols = 0
RunProfile_FlexGrid.Cols = 10
RunProfile_FlexGrid.FixedRows = 1
RunProfile_FlexGrid.Rows = 256

'- Размеры колонок в сетке --
Для I = 0 RunProfile_FlexGrid.Cols - 1
RunProfile_FlexGrid.ColWidth (I) = 1058
RunProfile_FlexGrid.ColAlignment (I) = flexAlignRightCenter
Затем я

'- Инициализация Профиль заголовки --
RunProfile_FlexGrid.TextMatrix (0, 0) = "сек"
RunProfile_FlexGrid.TextMatrix (0, 1) = "Время начала"
RunProfile_FlexGrid.TextMatrix (0, 2) = "Время"
RunProfile_FlexGrid.TextMatrix (0, 3) = "действие"
RunProfile_FlexGrid.TextMatrix (0, 4) = "Начало Темп"
RunProfile_FlexGrid.TextMatrix (0, 5) = "Конец Темп"
RunProfile_FlexGrid.TextMatrix (0, 6) = "Ramp Рейтинг"
RunProfile_FlexGrid.TextMatrix (0, 7) = "Ошибка границам"
RunProfile_FlexGrid.TextMatrix (0, 8) = "командной"
RunProfile_FlexGrid.TextMatrix (0, 9) = "Уведомлять = T, T"

'---------- Конец сетки init's ----------------

Unit_Addr = 1

Timer_Interrupt_Count = 0

Дисплей "SKC Copyright 2008 Embeddedrf.com" И vbCrLf

Recall_Setup 'напомнить установки с жесткого диска
BootUp_Flag = False 'установить указать загрузки ПОЛНОЕ
Serial_Port.Show 'силы фантомное форме нагрузки для инициализации комм порт
Serial_Port.Visible = False 'пользователь не видит эту форму

Serial_Port.Ram_Only_Mode (Unit_Addr) 'заверить-RAM в режиме только для предотвращения чрезмерного Н.В. RAM и ранней смерти

PollingModeSet "Монитор"-монитор Setpoint и фактической температуры, когда не работает профиля
Monitor_Interval_Timer

Выход Подкатегории

GEHandler:                      ‘Generic Error Handler added to routines covers all errors                               ‘Before customization of routines
Resume Next                   ‘Ignores error and prevents program shutdown
End Sub