На 10.7.2 работает отлично. Огромное спасибо.
На 10.7.2 работает отлично. Огромное спасибо.
все отлично работает спасибо!!!
Накидал iPhone UI для основного экрана:
Решил не разбивать на сильно много экранов. Постарался размещать в лаконичной форме все вместе. Так намного нагляднее.
Можно конечно и на много экранов разбить, а значения вообще брать в отдельном диалоге Picker View с прокруткой пальцем, но это будет чехорда экранов. Плюс цифрами оно часто быстрее ввести.
В дизайнерские изыски вдаваться особо некогда, если кто предложит свои красивые бэкграунды и цветовые схемы, всегда вэлком. Буду рад любой помощи, предложениям, пожеланиям и прочему конструктиву.
Сейчас вот думаю какую показывать клавиатуру при клике на поле. Num Pad как для набора телефона с крупными цифрами (и Done делать на клик мимо клавиатуры, там его нет, как и запятой, не знаю нужна ли она особо). Или обычную клавиатуру переключенную на цифры, с кнопкой Done, точками - запятыми и пр... ??
оффтопик:
Как смастерю первый релиз, надо бы в отдельную тему будет выделить, чтобы здесь не сорить). А эту тему с Mac OS X версией конечно хорошо бы прикрепить наверх, чтобы люди долго не искали.
Вещь нужная, полезная. Пользуюсь, понравилось)
Потрачено ~24300р.
AVK, open image in new tab =)
а в посте не видать, да
Кабачки они такие, когда хотят приходят, хотят уходят, ничего не боятся и вообще пасленово им. А могут и по тыкве того... (ц) Эррата
★ Потрачено на "электричество": да хз уже... тыр 60 [28.05.2016]. но таки окупилось же...
Написал eJuiceCalculator для Мака
Moscow vape-кафе
Сало викликає вже оргазм (ц)
remint, имхо в "желаемом результате" можно убрать строчку с кнопками "traditional - ice blade - velvet cloud - другой", - тогда внизу строка со страницами влезет, типа: "одна - две - блабалбла - настройки".
---------- Сообщение отправлено в 20:05 ---------- Предыдущее сообщение отправлено в 20:03 ----------
У меня открылось.
Картинко там такое (перезалил себе в дропбокс):
ооо... у мну круглые цифры в счётчике...
Последний раз редактировалось Superglucker; 16.09.2011 в 22:24.
Кабачки они такие, когда хотят приходят, хотят уходят, ничего не боятся и вообще пасленово им. А могут и по тыкве того... (ц) Эррата
★ Потрачено на "электричество": да хз уже... тыр 60 [28.05.2016]. но таки окупилось же...
Написал eJuiceCalculator для Мака
Moscow vape-кафе
Сало викликає вже оргазм (ц)
О! Добавил в начале www. - открылось. Глюк какой-то.
remint, симпатично, но надо бы предусмотреть переключатель на две основы.
Оно как-то не сразу и не всегда проходит на этих хостингах. Сначала тоже у самого картинки небыло, какие линки не вставлял, потом "просралось" - появилась.
Толи от их загрузки сервера, то ли от кэшей каких-то зависит.
Да, как вариант. Либо туда же навтыкать переключение настроек в этот свитч контрол.
Я еще сверху планирую в будущем, при скроле всей страницы вниз переключение режимов показывать, калькулятор жижи, расчет ваттов (из омов и вольтов) и т.п. С автоубиранием обратно по таймауту. Ну можно какую-нибудь счетчик потребления жижи пользователем со статистикой придумать, может закладку с линками на форумы для удобства. Общие настройки при нажатии на (i) с переворачиванием экрана.
Но пока основное сделать.
Потрачено ~24300р.
Что-то думал, что для двух основ проще будет, да вот никак не соображу чё-то...
Имеем:
Nic1 (целые числа, как мы привыкли);
Nic2 (целые числа, как мы привыкли);
Aroma (вещественные: 0,05 значит 5 процентов [знак % с последующей круглой скобкой ")" движок на смайл заменяет])
TargetNic (целые числа, как мы привыкли);
Qty (количество, в миллилитрах).
у меня получилось такое уравнение:
TargetNic * Qty = Aroma * Qty + Nic1*(x - Aroma*Qty) + Nic2*(Qty - x - Aroma*Qty),
где х - искомое количество основы с концентрацией Nic1.
В итоге:
x = (TargetNic*Qty - Aroma*Qty + Nic1*Aroma*Qty - Nic2*Qty - Nic2*Aroma*Qty) / (Nic1 - Nic2)
так?
Только что-то с расчётом калькулятора от Сергея не сходится: то одинаково, то нет...
Последний раз редактировалось Superglucker; 16.09.2011 в 22:24.
Кабачки они такие, когда хотят приходят, хотят уходят, ничего не боятся и вообще пасленово им. А могут и по тыкве того... (ц) Эррата
★ Потрачено на "электричество": да хз уже... тыр 60 [28.05.2016]. но таки окупилось же...
Написал eJuiceCalculator для Мака
Moscow vape-кафе
Сало викликає вже оргазм (ц)
Вроде бы все правильно.
У меня это наверно будет только для iPad версии, на iPhone будет перегруз интерфейса)), хотя если с прокруткой экрана.. Пока не потыкаешь не поймешь удобно будет, или нет.
Потрачено ~24300р.
вот кстати тема с формулами http://www.ecigtalk.ru/forum/f23/t6460-p3.html
Happy vaping!
Почему тогда не сходится? И главное: почему то сходится, то нет?!?! WTF?
У меня пока формула в экселе, калькулятор Сергея на vb запускаю на корпоративном win-буке.
---------- Сообщение отправлено в 20:47 ---------- Предыдущее сообщение отправлено в 20:44 ----------
там проще всё =)
тут ещё арома, которая никотина не имеет. Правильно ли я её учёл?
Если да, то почему не сходится: у меня косяк или у Сергея? =)
Последний раз редактировалось Superglucker; 17.09.2011 в 00:14.
Кабачки они такие, когда хотят приходят, хотят уходят, ничего не боятся и вообще пасленово им. А могут и по тыкве того... (ц) Эррата
★ Потрачено на "электричество": да хз уже... тыр 60 [28.05.2016]. но таки окупилось же...
Написал eJuiceCalculator для Мака
Moscow vape-кафе
Сало викликає вже оргазм (ц)
Вот за это респект "писальщику"!! Пасиба!
Первая часть:
Код:Public Class frmCalc Private Declare Function WritePrivateProfileString Lib "kernel32" Alias "WritePrivateProfileStringA" (ByVal lpApplicationName As String, ByVal lpKeyName As String, ByVal lpString As String, ByVal lpFileName As String) As Long Private Declare Function GetPrivateProfileString Lib "kernel32" Alias "GetPrivateProfileStringA" (ByVal lpApplicationName As String, ByVal lpKeyName As String, ByVal lpDefault As String, ByVal lpReturnedString As String, ByVal nSize As Integer, ByVal lpFileName As String) As Long 'Private Declare Function GetPrivateProfileString Lib "kernel32" Alias "GetPrivateProfileStringA" (ByVal lpszSection$, ByVal lpszKey$, ByVal lpszDefault$, ByVal lpszReturnBuffer$, ByVal cchReturnBuffer&, ByVal lpszFile$) Public blTypeChangeManual As Boolean Public blLoadINI As Boolean Private Function INI_SetValue(ByVal Section As String, ByVal Key As String, ByVal strValue As String, ByVal fFileName As String) As String Call WritePrivateProfileString(Section, Key, strValue, fFileName) End Function Private Function INI_GetValue(ByVal Section As String, ByVal Key As String, ByVal fFileName As String, Optional ByVal DefaultValue As String = "") As String Dim Data As String Dim i As Long Data = "" : For i = 1 To 1000 : Data = Data & " " : Next i 'Data = Space(1000) If GetPrivateProfileString(Section, Key, "", Data, Len(Data), fFileName) > 0 Then INI_GetValue = Trim(Data) Else INI_GetValue = DefaultValue End If Exit Function End Function Function GetFromString_FileName(ByVal strFileNameAndFolder As String) As String Dim i As Long Dim str As String str = "" For i = 1 To Len(strFileNameAndFolder) If Mid(strFileNameAndFolder, Len(strFileNameAndFolder) - i + 1, 1) <> "\" Then str = Mid(strFileNameAndFolder, Len(strFileNameAndFolder) - i + 1, 1) & str Else Exit For End If Next i GetFromString_FileName = str End Function Function GetFromString_FileFolder(ByVal strFileNameAndFolder As String) As String Dim i As Long Dim str As String str = "" GetFromString_FileFolder = "" For i = 1 To Len(strFileNameAndFolder) If Mid(strFileNameAndFolder, Len(strFileNameAndFolder) - i + 1, 1) = "\" Then GetFromString_FileFolder = Mid(strFileNameAndFolder, 1, Len(strFileNameAndFolder) - i) Exit For End If Next i End Function Function GetFromString_FileExt(ByVal strFileNameAndFolder As String) As String Dim i As Long Dim str As String str = "" For i = 1 To Len(strFileNameAndFolder) If Mid(strFileNameAndFolder, Len(strFileNameAndFolder) - i + 1, 1) <> "." Then str = Mid(strFileNameAndFolder, Len(strFileNameAndFolder) - i + 1, 1) & str Else Exit For End If Next i GetFromString_FileExt = str End Function Sub INI_SaveToFile() Dim strFileName As String, strFilePath As String, strAppExtPath As String, strFileNameAndPath As String Dim strListItems As String, i As Long strAppExtPath = Application.ExecutablePath strFilePath = GetFromString_FileFolder(strAppExtPath) strFileName = Mid(GetFromString_FileName(strAppExtPath), 1, Len(GetFromString_FileName(strAppExtPath)) - Len(GetFromString_FileExt(strAppExtPath)) - 1) & ".ini" strFileNameAndPath = strFilePath & "\" & strFileName Call INI_SetValue("Main", "ctlALG1_PGinBASE", ctlALG1_PGinBASE.Text, strFileNameAndPath) Call INI_SetValue("Main", "ctlALG1_VGinBASE", ctlALG1_VGinBASE.Text, strFileNameAndPath) Call INI_SetValue("Main", "ctlALG1_ADinBASE", ctlALG1_ADinBASE.Text, strFileNameAndPath) Call INI_SetValue("Main", "ctlALG1_NICinBASE", ctlALG1_NICinBASE.Text, strFileNameAndPath) Call INI_SetValue("Main", "ctlALG1_BASE_VOL", ctlALG1_BASE_VOL.Text, strFileNameAndPath) Call INI_SetValue("Main", "ctlALG1_BASE_PRICE", ctlALG1_BASE_PRICE.Text, strFileNameAndPath) Call INI_SetValue("Main", "ctlALG1_PG_VOL", ctlALG1_PG_VOL.Text, strFileNameAndPath) Call INI_SetValue("Main", "ctlALG1_PG_PRICE", ctlALG1_PG_PRICE.Text, strFileNameAndPath) Call INI_SetValue("Main", "ctlALG1_VG_VOL", ctlALG1_VG_VOL.Text, strFileNameAndPath) Call INI_SetValue("Main", "ctlALG1_VG_PRICE", ctlALG1_VG_PRICE.Text, strFileNameAndPath) Call INI_SetValue("Main", "ctlALG1_AD_VOL", ctlALG1_AD_VOL.Text, strFileNameAndPath) Call INI_SetValue("Main", "ctlALG1_AD_PRICE", ctlALG1_AD_PRICE.Text, strFileNameAndPath) Call INI_SetValue("Main", "ctlALG1_AR_VOL", ctlALG1_AR_VOL.Text, strFileNameAndPath) Call INI_SetValue("Main", "ctlALG1_AR_PRICE", ctlALG1_AR_PRICE.Text, strFileNameAndPath) Call INI_SetValue("Main", "ctlALG1_DROPSinML", ctlALG1_DROPSinML.Text, strFileNameAndPath) Call INI_SetValue("Main", "ctlALG1_NICinNEED", ctlALG1_NICinNEED.Text, strFileNameAndPath) Call INI_SetValue("Main", "ctlALG1_PGinNEED", ctlALG1_PGinNEED.Text, strFileNameAndPath) Call INI_SetValue("Main", "ctlALG1_VGinNEED", ctlALG1_VGinNEED.Text, strFileNameAndPath) Call INI_SetValue("Main", "ctlALG1_ADinNEED", ctlALG1_ADinNEED.Text, strFileNameAndPath) Call INI_SetValue("Main", "ctlALG1_ARinNEED", ctlALG1_ARinNEED.Text, strFileNameAndPath) Call INI_SetValue("Main", "ctlALG1_VOLinNEED", ctlALG1_VOLinNEED.Text, strFileNameAndPath) Call INI_SetValue("Main", "ctlALG1_MLinDAY", ctlALG1_MLinDAY.Text, strFileNameAndPath) Call INI_SetValue("Main", "ctlALG1_DAYS", ctlALG1_DAYS.Text, strFileNameAndPath) Call INI_SetValue("Main", "ctlALG2_PGinBASE1", ctlALG2_PGinBASE1.Text, strFileNameAndPath) Call INI_SetValue("Main", "ctlALG2_VGinBASE1", ctlALG2_VGinBASE1.Text, strFileNameAndPath) Call INI_SetValue("Main", "ctlALG2_ADinBASE1", ctlALG2_ADinBASE1.Text, strFileNameAndPath) Call INI_SetValue("Main", "ctlALG2_NICinBASE1", ctlALG2_NICinBASE1.Text, strFileNameAndPath) Call INI_SetValue("Main", "ctlALG2_PGinBASE2", ctlALG2_PGinBASE2.Text, strFileNameAndPath) Call INI_SetValue("Main", "ctlALG2_VGinBASE2", ctlALG2_VGinBASE2.Text, strFileNameAndPath) Call INI_SetValue("Main", "ctlALG2_ADinBASE2", ctlALG2_ADinBASE2.Text, strFileNameAndPath) Call INI_SetValue("Main", "ctlALG2_NICinBASE2", ctlALG2_NICinBASE2.Text, strFileNameAndPath) Call INI_SetValue("Main", "ctlALG2_BASE1_VOL", ctlALG2_BASE1_VOL.Text, strFileNameAndPath) Call INI_SetValue("Main", "ctlALG2_BASE1_PRICE", ctlALG2_BASE1_PRICE.Text, strFileNameAndPath) Call INI_SetValue("Main", "ctlALG2_BASE2_VOL", ctlALG2_BASE2_VOL.Text, strFileNameAndPath) Call INI_SetValue("Main", "ctlALG2_BASE2_PRICE", ctlALG2_BASE2_PRICE.Text, strFileNameAndPath) Call INI_SetValue("Main", "ctlALG2_AR_VOL", ctlALG2_AR_VOL.Text, strFileNameAndPath) Call INI_SetValue("Main", "ctlALG2_AR_PRICE", ctlALG2_AR_PRICE.Text, strFileNameAndPath) Call INI_SetValue("Main", "ctlALG2_DROPSinML", ctlALG2_DROPSinML.Text, strFileNameAndPath) Call INI_SetValue("Main", "ctlALG2_NICinNEED", ctlALG2_NICinNEED.Text, strFileNameAndPath) Call INI_SetValue("Main", "ctlALG2_ARinNEED", ctlALG2_ARinNEED.Text, strFileNameAndPath) Call INI_SetValue("Main", "ctlALG2_VOLinNEED", ctlALG2_VOLinNEED.Text, strFileNameAndPath) Call INI_SetValue("Language", "ctlLanguage", ctlLanguage.Text, strFileNameAndPath) Call INI_SetValue("Currency", "ctlCurrency", ctlCurrency.Text, strFileNameAndPath) strListItems = "" For i = 0 To ctlALG1_PGinBASE.Items.Count - 1 strListItems = strListItems & ctlALG1_PGinBASE.Items(i).ToString & ";" Next i strListItems = Mid(strListItems, 1, Len(strListItems) - 1) Call INI_SetValue("List", "ctlALG1_PGinBASE", strListItems, strFileNameAndPath) strListItems = "" For i = 0 To ctlALG1_VGinBASE.Items.Count - 1 strListItems = strListItems & ctlALG1_VGinBASE.Items(i).ToString & ";" Next i strListItems = Mid(strListItems, 1, Len(strListItems) - 1) Call INI_SetValue("List", "ctlALG1_VGinBASE", strListItems, strFileNameAndPath) strListItems = "" For i = 0 To ctlALG1_ADinBASE.Items.Count - 1 strListItems = strListItems & ctlALG1_ADinBASE.Items(i).ToString & ";" Next i strListItems = Mid(strListItems, 1, Len(strListItems) - 1) Call INI_SetValue("List", "ctlALG1_ADinBASE", strListItems, strFileNameAndPath) strListItems = "" For i = 0 To ctlALG1_NICinBASE.Items.Count - 1 strListItems = strListItems & ctlALG1_NICinBASE.Items(i).ToString & ";" Next i strListItems = Mid(strListItems, 1, Len(strListItems) - 1) Call INI_SetValue("List", "ctlALG1_NICinBASE", strListItems, strFileNameAndPath) strListItems = "" For i = 0 To ctlALG1_DROPSinML.Items.Count - 1 strListItems = strListItems & ctlALG1_DROPSinML.Items(i).ToString & ";" Next i strListItems = Mid(strListItems, 1, Len(strListItems) - 1) Call INI_SetValue("List", "ctlALG1_DROPSinML", strListItems, strFileNameAndPath) strListItems = "" For i = 0 To ctlALG1_NICinNEED.Items.Count - 1 strListItems = strListItems & ctlALG1_NICinNEED.Items(i).ToString & ";" Next i strListItems = Mid(strListItems, 1, Len(strListItems) - 1) Call INI_SetValue("List", "ctlALG1_NICinNEED", strListItems, strFileNameAndPath) strListItems = "" For i = 0 To ctlALG1_PGinNEED.Items.Count - 1 strListItems = strListItems & ctlALG1_PGinNEED.Items(i).ToString & ";" Next i strListItems = Mid(strListItems, 1, Len(strListItems) - 1) Call INI_SetValue("List", "ctlALG1_PGinNEED", strListItems, strFileNameAndPath) strListItems = "" For i = 0 To ctlALG1_VGinNEED.Items.Count - 1 strListItems = strListItems & ctlALG1_VGinNEED.Items(i).ToString & ";" Next i strListItems = Mid(strListItems, 1, Len(strListItems) - 1) Call INI_SetValue("List", "ctlALG1_VGinNEED", strListItems, strFileNameAndPath) strListItems = "" For i = 0 To ctlALG1_ADinNEED.Items.Count - 1 strListItems = strListItems & ctlALG1_ADinNEED.Items(i).ToString & ";" Next i strListItems = Mid(strListItems, 1, Len(strListItems) - 1) Call INI_SetValue("List", "ctlALG1_ADinNEED", strListItems, strFileNameAndPath) strListItems = "" For i = 0 To ctlALG1_ARinNEED.Items.Count - 1 strListItems = strListItems & ctlALG1_ARinNEED.Items(i).ToString & ";" Next i strListItems = Mid(strListItems, 1, Len(strListItems) - 1) Call INI_SetValue("List", "ctlALG1_ARinNEED", strListItems, strFileNameAndPath) strListItems = "" For i = 0 To ctlALG1_VOLinNEED.Items.Count - 1 strListItems = strListItems & ctlALG1_VOLinNEED.Items(i).ToString & ";" Next i strListItems = Mid(strListItems, 1, Len(strListItems) - 1) Call INI_SetValue("List", "ctlALG1_VOLinNEED", strListItems, strFileNameAndPath) strListItems = "" For i = 0 To ctlALG1_MLinDAY.Items.Count - 1 strListItems = strListItems & ctlALG1_MLinDAY.Items(i).ToString & ";" Next i strListItems = Mid(strListItems, 1, Len(strListItems) - 1) Call INI_SetValue("List", "ctlALG1_MLinDAY", strListItems, strFileNameAndPath) strListItems = "" For i = 0 To ctlALG1_DAYS.Items.Count - 1 strListItems = strListItems & ctlALG1_DAYS.Items(i).ToString & ";" Next i strListItems = Mid(strListItems, 1, Len(strListItems) - 1) Call INI_SetValue("List", "ctlALG1_DAYS", strListItems, strFileNameAndPath) strListItems = "" For i = 0 To ctlALG2_PGinBASE1.Items.Count - 1 strListItems = strListItems & ctlALG2_PGinBASE1.Items(i).ToString & ";" Next i strListItems = Mid(strListItems, 1, Len(strListItems) - 1) Call INI_SetValue("List", "ctlALG2_PGinBASE1", strListItems, strFileNameAndPath) strListItems = "" For i = 0 To ctlALG2_VGinBASE1.Items.Count - 1 strListItems = strListItems & ctlALG2_VGinBASE1.Items(i).ToString & ";" Next i strListItems = Mid(strListItems, 1, Len(strListItems) - 1) Call INI_SetValue("List", "ctlALG2_VGinBASE1", strListItems, strFileNameAndPath) strListItems = "" For i = 0 To ctlALG2_ADinBASE1.Items.Count - 1 strListItems = strListItems & ctlALG2_ADinBASE1.Items(i).ToString & ";" Next i strListItems = Mid(strListItems, 1, Len(strListItems) - 1) Call INI_SetValue("List", "ctlALG2_ADinBASE1", strListItems, strFileNameAndPath) strListItems = "" For i = 0 To ctlALG2_NICinBASE1.Items.Count - 1 strListItems = strListItems & ctlALG2_NICinBASE1.Items(i).ToString & ";" Next i strListItems = Mid(strListItems, 1, Len(strListItems) - 1) Call INI_SetValue("List", "ctlALG2_NICinBASE1", strListItems, strFileNameAndPath) strListItems = "" For i = 0 To ctlALG2_PGinBASE2.Items.Count - 1 strListItems = strListItems & ctlALG2_PGinBASE2.Items(i).ToString & ";" Next i strListItems = Mid(strListItems, 1, Len(strListItems) - 1) Call INI_SetValue("List", "ctlALG2_PGinBASE2", strListItems, strFileNameAndPath) strListItems = "" For i = 0 To ctlALG2_VGinBASE2.Items.Count - 1 strListItems = strListItems & ctlALG2_VGinBASE2.Items(i).ToString & ";" Next i strListItems = Mid(strListItems, 1, Len(strListItems) - 1) Call INI_SetValue("List", "ctlALG2_VGinBASE2", strListItems, strFileNameAndPath) strListItems = "" For i = 0 To ctlALG2_ADinBASE2.Items.Count - 1 strListItems = strListItems & ctlALG2_ADinBASE2.Items(i).ToString & ";" Next i strListItems = Mid(strListItems, 1, Len(strListItems) - 1) Call INI_SetValue("List", "ctlALG2_ADinBASE2", strListItems, strFileNameAndPath) strListItems = "" For i = 0 To ctlALG2_NICinBASE2.Items.Count - 1 strListItems = strListItems & ctlALG2_NICinBASE2.Items(i).ToString & ";" Next i strListItems = Mid(strListItems, 1, Len(strListItems) - 1) Call INI_SetValue("List", "ctlALG2_NICinBASE2", strListItems, strFileNameAndPath) strListItems = "" For i = 0 To ctlALG2_DROPSinML.Items.Count - 1 strListItems = strListItems & ctlALG2_DROPSinML.Items(i).ToString & ";" Next i strListItems = Mid(strListItems, 1, Len(strListItems) - 1) Call INI_SetValue("List", "ctlALG2_DROPSinML", strListItems, strFileNameAndPath) strListItems = "" For i = 0 To ctlALG2_NICinNEED.Items.Count - 1 strListItems = strListItems & ctlALG2_NICinNEED.Items(i).ToString & ";" Next i strListItems = Mid(strListItems, 1, Len(strListItems) - 1) Call INI_SetValue("List", "ctlALG2_NICinNEED", strListItems, strFileNameAndPath) strListItems = "" For i = 0 To ctlALG2_ARinNEED.Items.Count - 1 strListItems = strListItems & ctlALG2_ARinNEED.Items(i).ToString & ";" Next i strListItems = Mid(strListItems, 1, Len(strListItems) - 1) Call INI_SetValue("List", "ctlALG2_ARinNEED", strListItems, strFileNameAndPath) strListItems = "" For i = 0 To ctlALG2_VOLinNEED.Items.Count - 1 strListItems = strListItems & ctlALG2_VOLinNEED.Items(i).ToString & ";" Next i strListItems = Mid(strListItems, 1, Len(strListItems) - 1) Call INI_SetValue("List", "ctlALG2_VOLinNEED", strListItems, strFileNameAndPath) End Sub Function FileUtils_IsFilePresent(ByVal strFileName As String) As Boolean Dim strTmp As String 'Временная переменная FileUtils_IsFilePresent = False On Error Resume Next strTmp = Dir(strFileName) If Err.Number <> 0 Then Exit Function If strTmp <> "" Then FileUtils_IsFilePresent = True End Function Sub INI_LoadFromFile() Dim strFileName As String, strFilePath As String, strAppExtPath As String, strFileNameAndPath As String Dim strListItems As String, i As Long strAppExtPath = Application.ExecutablePath strFilePath = GetFromString_FileFolder(strAppExtPath) strFileName = Mid(GetFromString_FileName(strAppExtPath), 1, Len(GetFromString_FileName(strAppExtPath)) - Len(GetFromString_FileExt(strAppExtPath)) - 1) & ".ini" strFileNameAndPath = strFilePath & "\" & strFileName If FileUtils_IsFilePresent(strFileNameAndPath) = False Then Exit Sub blLoadINI = True ctlALG1_PGinBASE.Text = INI_GetValue("Main", "ctlALG1_PGinBASE", strFileNameAndPath) ctlALG1_VGinBASE.Text = INI_GetValue("Main", "ctlALG1_VGinBASE", strFileNameAndPath) ctlALG1_ADinBASE.Text = INI_GetValue("Main", "ctlALG1_ADinBASE", strFileNameAndPath) ctlALG1_NICinBASE.Text = INI_GetValue("Main", "ctlALG1_NICinBASE", strFileNameAndPath) ctlALG1_BASE_VOL.Text = INI_GetValue("Main", "ctlALG1_BASE_VOL", strFileNameAndPath) ctlALG1_BASE_PRICE.Text = INI_GetValue("Main", "ctlALG1_BASE_PRICE", strFileNameAndPath) ctlALG1_PG_VOL.Text = INI_GetValue("Main", "ctlALG1_PG_VOL", strFileNameAndPath) ctlALG1_PG_PRICE.Text = INI_GetValue("Main", "ctlALG1_PG_PRICE", strFileNameAndPath) ctlALG1_VG_VOL.Text = INI_GetValue("Main", "ctlALG1_VG_VOL", strFileNameAndPath) ctlALG1_VG_PRICE.Text = INI_GetValue("Main", "ctlALG1_VG_PRICE", strFileNameAndPath) ctlALG1_AD_VOL.Text = INI_GetValue("Main", "ctlALG1_AD_VOL", strFileNameAndPath) ctlALG1_AD_PRICE.Text = INI_GetValue("Main", "ctlALG1_AD_PRICE", strFileNameAndPath) ctlALG1_AR_VOL.Text = INI_GetValue("Main", "ctlALG1_AR_VOL", strFileNameAndPath) ctlALG1_AR_PRICE.Text = INI_GetValue("Main", "ctlALG1_AR_PRICE", strFileNameAndPath) ctlALG1_DROPSinML.Text = INI_GetValue("Main", "ctlALG1_DROPSinML", strFileNameAndPath) ctlALG1_NICinNEED.Text = INI_GetValue("Main", "ctlALG1_NICinNEED", strFileNameAndPath) ctlALG1_PGinNEED.Text = INI_GetValue("Main", "ctlALG1_PGinNEED", strFileNameAndPath) ctlALG1_VGinNEED.Text = INI_GetValue("Main", "ctlALG1_VGinNEED", strFileNameAndPath) ctlALG1_ADinNEED.Text = INI_GetValue("Main", "ctlALG1_ADinNEED", strFileNameAndPath) ctlALG1_ARinNEED.Text = INI_GetValue("Main", "ctlALG1_ARinNEED", strFileNameAndPath) ctlALG1_VOLinNEED.Text = INI_GetValue("Main", "ctlALG1_VOLinNEED", strFileNameAndPath) ctlALG1_MLinDAY.Text = INI_GetValue("Main", "ctlALG1_MLinDAY", strFileNameAndPath) ctlALG1_DAYS.Text = INI_GetValue("Main", "ctlALG1_DAYS", strFileNameAndPath) ctlALG2_PGinBASE1.Text = INI_GetValue("Main", "ctlALG2_PGinBASE1", strFileNameAndPath) ctlALG2_VGinBASE1.Text = INI_GetValue("Main", "ctlALG2_VGinBASE1", strFileNameAndPath) ctlALG2_ADinBASE1.Text = INI_GetValue("Main", "ctlALG2_ADinBASE1", strFileNameAndPath) ctlALG2_NICinBASE1.Text = INI_GetValue("Main", "ctlALG2_NICinBASE1", strFileNameAndPath) ctlALG2_PGinBASE2.Text = INI_GetValue("Main", "ctlALG2_PGinBASE2", strFileNameAndPath) ctlALG2_VGinBASE2.Text = INI_GetValue("Main", "ctlALG2_VGinBASE2", strFileNameAndPath) ctlALG2_ADinBASE2.Text = INI_GetValue("Main", "ctlALG2_ADinBASE2", strFileNameAndPath) ctlALG2_NICinBASE2.Text = INI_GetValue("Main", "ctlALG2_NICinBASE2", strFileNameAndPath) ctlALG2_BASE1_VOL.Text = INI_GetValue("Main", "ctlALG2_BASE1_VOL", strFileNameAndPath) ctlALG2_BASE1_PRICE.Text = INI_GetValue("Main", "ctlALG2_BASE1_PRICE", strFileNameAndPath) ctlALG2_BASE2_VOL.Text = INI_GetValue("Main", "ctlALG2_BASE2_VOL", strFileNameAndPath) ctlALG2_BASE2_PRICE.Text = INI_GetValue("Main", "ctlALG2_BASE2_PRICE", strFileNameAndPath) ctlALG2_AR_VOL.Text = INI_GetValue("Main", "ctlALG2_AR_VOL", strFileNameAndPath) ctlALG2_AR_PRICE.Text = INI_GetValue("Main", "ctlALG2_AR_PRICE", strFileNameAndPath) ctlALG2_DROPSinML.Text = INI_GetValue("Main", "ctlALG2_DROPSinML", strFileNameAndPath) ctlALG2_NICinNEED.Text = INI_GetValue("Main", "ctlALG2_NICinNEED", strFileNameAndPath) ctlALG2_ARinNEED.Text = INI_GetValue("Main", "ctlALG2_ARinNEED", strFileNameAndPath) ctlALG2_VOLinNEED.Text = INI_GetValue("Main", "ctlALG2_VOLinNEED", strFileNameAndPath) ctlLanguage.Text = INI_GetValue("Language", "ctlLanguage", strFileNameAndPath) ctlCurrency.Text = INI_GetValue("Currency", "ctlCurrency", strFileNameAndPath) strListItems = INI_GetValue("List", "ctlALG1_PGinBASE", strFileNameAndPath) If Len(strListItems) <> 1000 Then If Mid(strListItems, Len(strListItems) - 1, 1) <> ";" Then strListItems = strListItems & ";" ctlALG1_PGinBASE.Items.Clear() For i = 1 To StrUtils_GetCountSubStrings(strListItems, ";", 1) ctlALG1_PGinBASE.Items.Add(StrUtils_GetWordDec(strListItems, i, ";")) Next End If strListItems = INI_GetValue("List", "ctlALG1_VGinBASE", strFileNameAndPath) If Len(strListItems) <> 1000 Then If Mid(strListItems, Len(strListItems) - 1, 1) <> ";" Then strListItems = strListItems & ";" ctlALG1_VGinBASE.Items.Clear() For i = 1 To StrUtils_GetCountSubStrings(strListItems, ";", 1) ctlALG1_VGinBASE.Items.Add(StrUtils_GetWordDec(strListItems, i, ";")) Next End If strListItems = INI_GetValue("List", "ctlALG1_ADinBASE", strFileNameAndPath) If Len(strListItems) <> 1000 Then If Mid(strListItems, Len(strListItems) - 1, 1) <> ";" Then strListItems = strListItems & ";" ctlALG1_ADinBASE.Items.Clear() For i = 1 To StrUtils_GetCountSubStrings(strListItems, ";", 1) ctlALG1_ADinBASE.Items.Add(StrUtils_GetWordDec(strListItems, i, ";")) Next End If strListItems = INI_GetValue("List", "ctlALG1_NICinBASE", strFileNameAndPath) strListItems = SortList(strListItems, ";") If Len(strListItems) <> 1000 Then If Mid(strListItems, Len(strListItems) - 1, 1) <> ";" Then strListItems = strListItems & ";" ctlALG1_NICinBASE.Items.Clear() For i = 1 To StrUtils_GetCountSubStrings(strListItems, ";", 1) ctlALG1_NICinBASE.Items.Add(StrUtils_GetWordDec(strListItems, i, ";")) Next End If strListItems = INI_GetValue("List", "ctlALG1_DROPSinML", strFileNameAndPath) If Len(strListItems) <> 1000 Then If Mid(strListItems, Len(strListItems) - 1, 1) <> ";" Then strListItems = strListItems & ";" ctlALG1_DROPSinML.Items.Clear() For i = 1 To StrUtils_GetCountSubStrings(strListItems, ";", 1) ctlALG1_DROPSinML.Items.Add(StrUtils_GetWordDec(strListItems, i, ";")) Next End If strListItems = INI_GetValue("List", "ctlALG1_NICinNEED", strFileNameAndPath) If Len(strListItems) <> 1000 Then If Mid(strListItems, Len(strListItems) - 1, 1) <> ";" Then strListItems = strListItems & ";" ctlALG1_NICinNEED.Items.Clear() For i = 1 To StrUtils_GetCountSubStrings(strListItems, ";", 1) ctlALG1_NICinNEED.Items.Add(StrUtils_GetWordDec(strListItems, i, ";")) Next End If strListItems = INI_GetValue("List", "ctlALG1_PGinNEED", strFileNameAndPath) If Len(strListItems) <> 1000 Then If Mid(strListItems, Len(strListItems) - 1, 1) <> ";" Then strListItems = strListItems & ";" ctlALG1_PGinNEED.Items.Clear() For i = 1 To StrUtils_GetCountSubStrings(strListItems, ";", 1) ctlALG1_PGinNEED.Items.Add(StrUtils_GetWordDec(strListItems, i, ";")) Next End If strListItems = INI_GetValue("List", "ctlALG1_VGinNEED", strFileNameAndPath) If Len(strListItems) <> 1000 Then If Mid(strListItems, Len(strListItems) - 1, 1) <> ";" Then strListItems = strListItems & ";" ctlALG1_VGinNEED.Items.Clear() For i = 1 To StrUtils_GetCountSubStrings(strListItems, ";", 1) ctlALG1_VGinNEED.Items.Add(StrUtils_GetWordDec(strListItems, i, ";")) Next End If strListItems = INI_GetValue("List", "ctlALG1_ADinNEED", strFileNameAndPath) If Len(strListItems) <> 1000 Then If Mid(strListItems, Len(strListItems) - 1, 1) <> ";" Then strListItems = strListItems & ";" ctlALG1_ADinNEED.Items.Clear() For i = 1 To StrUtils_GetCountSubStrings(strListItems, ";", 1) ctlALG1_ADinNEED.Items.Add(StrUtils_GetWordDec(strListItems, i, ";")) Next End If strListItems = INI_GetValue("List", "ctlALG1_ARinNEED", strFileNameAndPath) If Len(strListItems) <> 1000 Then If Mid(strListItems, Len(strListItems) - 1, 1) <> ";" Then strListItems = strListItems & ";" ctlALG1_ARinNEED.Items.Clear() For i = 1 To StrUtils_GetCountSubStrings(strListItems, ";", 1) ctlALG1_ARinNEED.Items.Add(StrUtils_GetWordDec(strListItems, i, ";")) Next End If strListItems = INI_GetValue("List", "ctlALG1_VOLinNEED", strFileNameAndPath) If Len(strListItems) <> 1000 Then If Mid(strListItems, Len(strListItems) - 1, 1) <> ";" Then strListItems = strListItems & ";" ctlALG1_VOLinNEED.Items.Clear() For i = 1 To StrUtils_GetCountSubStrings(strListItems, ";", 1) ctlALG1_VOLinNEED.Items.Add(StrUtils_GetWordDec(strListItems, i, ";")) Next End If strListItems = INI_GetValue("List", "ctlALG1_MLinDAY", strFileNameAndPath) If Len(strListItems) <> 1000 Then If Mid(strListItems, Len(strListItems) - 1, 1) <> ";" Then strListItems = strListItems & ";" ctlALG1_MLinDAY.Items.Clear() For i = 1 To StrUtils_GetCountSubStrings(strListItems, ";", 1) ctlALG1_MLinDAY.Items.Add(StrUtils_GetWordDec(strListItems, i, ";")) Next End If strListItems = INI_GetValue("List", "ctlALG1_DAYS", strFileNameAndPath) If Len(strListItems) <> 1000 Then If Mid(strListItems, Len(strListItems) - 1, 1) <> ";" Then strListItems = strListItems & ";" ctlALG1_DAYS.Items.Clear() For i = 1 To StrUtils_GetCountSubStrings(strListItems, ";", 1) ctlALG1_DAYS.Items.Add(StrUtils_GetWordDec(strListItems, i, ";")) Next End If strListItems = INI_GetValue("List", "ctlALG2_PGinBASE1", strFileNameAndPath) If Len(strListItems) <> 1000 Then If Mid(strListItems, Len(strListItems) - 1, 1) <> ";" Then strListItems = strListItems & ";" ctlALG2_PGinBASE1.Items.Clear() For i = 1 To StrUtils_GetCountSubStrings(strListItems, ";", 1) ctlALG2_PGinBASE1.Items.Add(StrUtils_GetWordDec(strListItems, i, ";")) Next End If strListItems = INI_GetValue("List", "ctlALG2_VGinBASE1", strFileNameAndPath) If Len(strListItems) <> 1000 Then If Mid(strListItems, Len(strListItems) - 1, 1) <> ";" Then strListItems = strListItems & ";" ctlALG2_VGinBASE1.Items.Clear() For i = 1 To StrUtils_GetCountSubStrings(strListItems, ";", 1) ctlALG2_VGinBASE1.Items.Add(StrUtils_GetWordDec(strListItems, i, ";")) Next End If strListItems = INI_GetValue("List", "ctlALG2_ADinBASE1", strFileNameAndPath) If Len(strListItems) <> 1000 Then If Mid(strListItems, Len(strListItems) - 1, 1) <> ";" Then strListItems = strListItems & ";" ctlALG2_ADinBASE1.Items.Clear() For i = 1 To StrUtils_GetCountSubStrings(strListItems, ";", 1) ctlALG2_ADinBASE1.Items.Add(StrUtils_GetWordDec(strListItems, i, ";")) Next End If strListItems = INI_GetValue("List", "ctlALG2_NICinBASE1", strFileNameAndPath) If Len(strListItems) <> 1000 Then If Mid(strListItems, Len(strListItems) - 1, 1) <> ";" Then strListItems = strListItems & ";" ctlALG2_NICinBASE1.Items.Clear() For i = 1 To StrUtils_GetCountSubStrings(strListItems, ";", 1) ctlALG2_NICinBASE1.Items.Add(StrUtils_GetWordDec(strListItems, i, ";")) Next End If strListItems = INI_GetValue("List", "ctlALG2_PGinBASE2", strFileNameAndPath) If Len(strListItems) <> 1000 Then If Mid(strListItems, Len(strListItems) - 1, 1) <> ";" Then strListItems = strListItems & ";" ctlALG2_PGinBASE2.Items.Clear() For i = 1 To StrUtils_GetCountSubStrings(strListItems, ";", 1) ctlALG2_PGinBASE2.Items.Add(StrUtils_GetWordDec(strListItems, i, ";")) Next End If strListItems = INI_GetValue("List", "ctlALG2_VGinBASE2", strFileNameAndPath) If Len(strListItems) <> 1000 Then If Mid(strListItems, Len(strListItems) - 1, 1) <> ";" Then strListItems = strListItems & ";" ctlALG2_VGinBASE2.Items.Clear() For i = 1 To StrUtils_GetCountSubStrings(strListItems, ";", 1) ctlALG2_VGinBASE2.Items.Add(StrUtils_GetWordDec(strListItems, i, ";")) Next End If strListItems = INI_GetValue("List", "ctlALG2_ADinBASE2", strFileNameAndPath) If Len(strListItems) <> 1000 Then If Mid(strListItems, Len(strListItems) - 1, 1) <> ";" Then strListItems = strListItems & ";" ctlALG2_ADinBASE2.Items.Clear() For i = 1 To StrUtils_GetCountSubStrings(strListItems, ";", 1) ctlALG2_ADinBASE2.Items.Add(StrUtils_GetWordDec(strListItems, i, ";")) Next End If strListItems = INI_GetValue("List", "ctlALG2_NICinBASE2", strFileNameAndPath) If Len(strListItems) <> 1000 Then If Mid(strListItems, Len(strListItems) - 1, 1) <> ";" Then strListItems = strListItems & ";" ctlALG2_NICinBASE2.Items.Clear() For i = 1 To StrUtils_GetCountSubStrings(strListItems, ";", 1) ctlALG2_NICinBASE2.Items.Add(StrUtils_GetWordDec(strListItems, i, ";")) Next End If blLoadINI = False strListItems = INI_GetValue("List", "ctlALG2_DROPSinML", strFileNameAndPath) If Len(strListItems) <> 1000 Then If Mid(strListItems, Len(strListItems) - 1, 1) <> ";" Then strListItems = strListItems & ";" ctlALG2_DROPSinML.Items.Clear() For i = 1 To StrUtils_GetCountSubStrings(strListItems, ";", 1) ctlALG2_DROPSinML.Items.Add(StrUtils_GetWordDec(strListItems, i, ";")) Next End If blLoadINI = False strListItems = INI_GetValue("List", "ctlALG2_NICinNEED", strFileNameAndPath) If Len(strListItems) <> 1000 Then If Mid(strListItems, Len(strListItems) - 1, 1) <> ";" Then strListItems = strListItems & ";" ctlALG2_NICinNEED.Items.Clear() For i = 1 To StrUtils_GetCountSubStrings(strListItems, ";", 1) ctlALG2_NICinNEED.Items.Add(StrUtils_GetWordDec(strListItems, i, ";")) Next End If blLoadINI = False strListItems = INI_GetValue("List", "ctlALG2_ARinNEED", strFileNameAndPath) If Len(strListItems) <> 1000 Then If Mid(strListItems, Len(strListItems) - 1, 1) <> ";" Then strListItems = strListItems & ";" ctlALG2_ARinNEED.Items.Clear() For i = 1 To StrUtils_GetCountSubStrings(strListItems, ";", 1) ctlALG2_ARinNEED.Items.Add(StrUtils_GetWordDec(strListItems, i, ";")) Next End If blLoadINI = False strListItems = INI_GetValue("List", "ctlALG2_VOLinNEED", strFileNameAndPath) If Len(strListItems) <> 1000 Then If Mid(strListItems, Len(strListItems) - 1, 1) <> ";" Then strListItems = strListItems & ";" ctlALG2_VOLinNEED.Items.Clear() For i = 1 To StrUtils_GetCountSubStrings(strListItems, ";", 1) ctlALG2_VOLinNEED.Items.Add(StrUtils_GetWordDec(strListItems, i, ";")) Next End If blLoadINI = False End Sub Function StrUtils_GetCountSubStrings(ByVal strText1 As String, ByVal strText2 As String, Optional ByVal lngStartPosition As Long = 1) As Integer Dim lngPosition As Integer 'Текущая позиция подстроки strText2 в строке strText1 Dim lngCount As Long 'Счетчик вхождений подстроки strText2 в строке strText1 lngPosition = lngStartPosition - Len(strText2) lngCount = -1 Do 'Цикл lngPosition = InStr(lngPosition + Len(strText2), strText1, strText2) lngCount = lngCount + 1 Loop Until lngPosition = 0 'Заканчиваем цикл если текущая позиция = 0 StrUtils_GetCountSubStrings = lngCount End Function Function StrUtils_GetWordDec(ByVal strText As String, ByVal lngNumber As Long, ByVal strDec As String) As String Dim lngFirstPos As Long Dim lngNextPos As Long Dim lngStartPosition As Long Dim lngPosition As Integer Dim lngCount As Long strText = " " & strDec & strText & strDec & " " lngStartPosition = 2 lngPosition = lngStartPosition - Len(strDec) lngCount = 0 Do lngPosition = InStr(lngPosition + Len(strDec), strText, strDec) If lngPosition <> 0 Then lngCount = lngCount + 1 If lngNumber = lngCount Then lngFirstPos = lngPosition End If If lngNumber + 1 = lngCount Then lngNextPos = lngPosition Exit Do End If End If Loop Until lngPosition = 0 If lngFirstPos <> 0 And lngNextPos <> 0 Then StrUtils_GetWordDec = Mid(strText, lngFirstPos + 1, lngNextPos - lngFirstPos - 1) End If End Function
---------- Сообщение отправлено в 10:29 ---------- Предыдущее сообщение отправлено в 10:27 ----------
Вторая часть:
Код:Private Sub CalcMe() 'Декларируем переменные Dim dblNICinBASE1 As Double, dblPGinBASE1 As Double, dblVGinBASE1 As Double, dblADinBASE1 As Double, dblDROPSinML1 As Double Dim dblNICinBASE2 As Double, dblPGinBASE2 As Double, dblVGinBASE2 As Double, dblADinBASE2 As Double, dblDROPSinML2 As Double Dim dblNICinNEED As Double, dblPGinNEED As Double, dblVGinNEED As Double, dblADinNEED As Double, dblARinNEED As Double, dblVOLinNEED As Double Dim dblBASE1toOUTml As Double, dblBASE2toOUTml As Double, dblPGtoOUTml As Double, dblVGtoOUTml As Double, dblADtoOUTml As Double, dblARtoOUTml As Double Dim dblPGinADDml As Double, dblVGinADDml As Double, dblADinADDml As Double, dblARinADDml As Double Dim dblBASE1toOUTdr As Double, dblBASE2toOUTdr As Double, dblPGtoOUTdr As Double, dblVGtoOUTdr As Double, dblADtoOUTdr As Double, dblARtoOUTdr As Double Dim dblPGinOUT As Double, dblVGinOUT As Double, dblADinOUT As Double, dblARinOUT As Double, dblVOLinOUT As Double, dblNICinOUT As Double Dim dblDIFFml As Double Dim dblWidthDelta As Double, dblHeightDelta As Double Dim lngAlgoritm As Long Dim dblPartBase1InOUT As Double, dblPartBase2InOUT As Double Dim dblALG1_BASE_VOL As Double, dblALG1_PG_VOL As Double, dblALG1_VG_VOL As Double, dblALG1_AD_VOL As Double, dblALG1_AR_VOL As Double Dim dblALG1_BASE_PRICE As Double, dblALG1_PG_PRICE As Double, dblALG1_VG_PRICE As Double, dblALG1_AD_PRICE As Double, dblALG1_AR_PRICE As Double Dim dblALG1_BASE_RUB As Double, dblALG1_PG_RUB As Double, dblALG1_VG_RUB As Double, dblALG1_AD_RUB As Double, dblALG1_AR_RUB As Double Dim dblALG1_TOTAL_ML As Double, dblALG1_TOTAL_DR As Double, dblALG1_TOTAL_RUB As Double Dim dblALG2_BASE1_VOL As Double, dblALG2_BASE2_VOL As Double, dblALG2_AR_VOL As Double Dim dblALG2_BASE1_PRICE As Double, dblALG2_BASE2_PRICE As Double, dblALG2_AR_PRICE As Double Dim dblALG2_BASE1_RUB As Double, dblALG2_BASE2_RUB As Double, dblALG2_AR_RUB As Double Dim dblALG2_TOTAL_ML As Double, dblALG2_TOTAL_DR As Double, dblALG2_TOTAL_RUB As Double lngAlgoritm = ctlPagesAlgoritm.SelectedIndex Select Case lngAlgoritm Case 0 'Если один из введенных параметров не цифровой - на выход If (Not IsNumeric(ctlALG1_NICinBASE.Text)) Or (Not IsNumeric(ctlALG1_PGinBASE.Text)) Or (Not IsNumeric(ctlALG1_VGinBASE.Text)) _ Or (Not IsNumeric(ctlALG1_ADinBASE.Text)) Or (Not IsNumeric(ctlALG1_NICinNEED.Text)) Or (Not IsNumeric(ctlALG1_PGinNEED.Text)) _ Or (Not IsNumeric(ctlALG1_VGinNEED.Text)) Or (Not IsNumeric(ctlALG1_ADinNEED.Text)) Or (Not IsNumeric(ctlALG1_ARinNEED.Text)) _ Or (Not IsNumeric(ctlALG1_VOLinNEED.Text)) Then GoTo ErrInInput_Alg1 End If Call InitValues() 'Присваиваем переменным входные значения dblNICinBASE1 = CDbl(ctlALG1_NICinBASE.Text) dblPGinBASE1 = CDbl(ctlALG1_PGinBASE.Text) dblVGinBASE1 = CDbl(ctlALG1_VGinBASE.Text) dblADinBASE1 = CDbl(ctlALG1_ADinBASE.Text) dblDROPSinML1 = CDbl(ctlALG1_DROPSinML.Text) dblNICinNEED = CDbl(ctlALG1_NICinNEED.Text) dblPGinNEED = CDbl(ctlALG1_PGinNEED.Text) dblVGinNEED = CDbl(ctlALG1_VGinNEED.Text) dblADinNEED = CDbl(ctlALG1_ADinNEED.Text) dblARinNEED = CDbl(ctlALG1_ARinNEED.Text) dblVOLinNEED = CDbl(ctlALG1_VOLinNEED.Text) dblALG1_BASE_VOL = CDbl(ctlALG1_BASE_VOL.Text) dblALG1_PG_VOL = CDbl(ctlALG1_PG_VOL.Text) dblALG1_VG_VOL = CDbl(ctlALG1_VG_VOL.Text) dblALG1_AD_VOL = CDbl(ctlALG1_AD_VOL.Text) dblALG1_AR_VOL = CDbl(ctlALG1_AR_VOL.Text) dblALG1_BASE_PRICE = CDbl(ctlALG1_BASE_PRICE.Text) dblALG1_PG_PRICE = CDbl(ctlALG1_PG_PRICE.Text) dblALG1_VG_PRICE = CDbl(ctlALG1_VG_PRICE.Text) dblALG1_AD_PRICE = CDbl(ctlALG1_AD_PRICE.Text) dblALG1_AR_PRICE = CDbl(ctlALG1_AR_PRICE.Text) 'Если содержание никотина в базовой жидкости меньше необходимого или общий объем меньше 0 - на выход If dblNICinBASE1 < dblNICinNEED Or dblVOLinNEED <= 0 Then GoTo ErrInInput_Alg1 'Рассчитываем количество базовой жидкости исходя из необходимой концентрации никотина If dblNICinNEED <= 0 Then dblBASE1toOUTml = 0 dblPGinADDml = 0 dblVGinADDml = 0 dblADinADDml = 0 Else dblBASE1toOUTml = CDbl((dblNICinNEED / dblNICinBASE1) * dblVOLinNEED) dblPGinADDml = dblBASE1toOUTml * dblPGinBASE1 / 100 dblVGinADDml = dblBASE1toOUTml * dblVGinBASE1 / 100 dblADinADDml = dblBASE1toOUTml * dblADinBASE1 / 100 End If 'Расчитываем количество пропиленгликоля If dblPGinNEED > 0 Then dblPGtoOUTml = CDbl(dblPGinNEED * dblVOLinNEED / 100) - dblPGinADDml If dblPGtoOUTml < 0 Then dblPGtoOUTml = 0 Else dblPGinADDml = dblPGinADDml + dblPGtoOUTml End If End If 'Расчитываем количество глицерина If dblVGinNEED > 0 Then dblVGtoOUTml = CDbl(dblVGinNEED * dblVOLinNEED / 100) - dblVGinADDml If dblVGtoOUTml < 0 Then dblVGtoOUTml = 0 Else dblVGinADDml = dblVGinADDml + dblVGtoOUTml End If End If 'Расчитываем количество дистиллированной воды If dblADinNEED > 0 Then dblADtoOUTml = CDbl(dblADinNEED * dblVOLinNEED / 100) - dblADinADDml If dblADtoOUTml < 0 Then dblADtoOUTml = 0 Else dblADinADDml = dblADinADDml + dblADtoOUTml End If End If 'Расчитываем количество ароматизатора If dblARinNEED > 0 Then dblARtoOUTml = CDbl(dblARinNEED * dblVOLinNEED / 100) dblARinADDml = dblARtoOUTml End If 'Выравниваем получившееся количество мл. с необходимым dblDIFFml = dblPGinADDml + dblVGinADDml + dblADinADDml + dblARinADDml - dblVOLinNEED If dblDIFFml > 0 Then If dblVGtoOUTml > dblDIFFml Then dblVGtoOUTml = dblVGtoOUTml - dblDIFFml dblVGinADDml = dblVGinADDml - dblDIFFml ElseIf dblPGtoOUTml > dblDIFFml Then dblPGtoOUTml = dblPGtoOUTml - dblDIFFml dblPGinADDml = dblPGinADDml - dblDIFFml End If ElseIf dblDIFFml < 0 Then If dblVGinNEED > 0 Then dblVGtoOUTml = dblVGtoOUTml + dblDIFFml dblVGinADDml = dblVGinADDml + dblDIFFml ElseIf dblPGinNEED > 0 Then dblPGtoOUTml = dblPGtoOUTml + dblDIFFml dblPGinADDml = dblPGinADDml + dblDIFFml End If End If dblVOLinOUT = dblPGinADDml + dblVGinADDml + dblADinADDml + dblARinADDml dblNICinOUT = dblNICinBASE1 * dblBASE1toOUTml / dblVOLinOUT dblPGinOUT = (dblPGinADDml / dblVOLinOUT) * 100 dblVGinOUT = (dblVGinADDml / dblVOLinOUT) * 100 dblADinOUT = (dblADinADDml / dblVOLinOUT) * 100 dblARinOUT = (dblARinADDml / dblVOLinOUT) * 100 'Пересчитываем миллилитры в капли If dblDROPSinML1 <= 0 Then GoTo ErrInInput_Alg1 Else dblBASE1toOUTdr = Int(dblDROPSinML1 * dblBASE1toOUTml) dblPGtoOUTdr = Int(dblDROPSinML1 * dblPGtoOUTml) dblVGtoOUTdr = Int(dblDROPSinML1 * dblVGtoOUTml) dblADtoOUTdr = Int(dblDROPSinML1 * dblADtoOUTml) dblARtoOUTdr = Int(dblDROPSinML1 * dblARtoOUTml) End If dblALG1_BASE_RUB = dblBASE1toOUTml * IIf(dblALG1_BASE_VOL = 0, 0, dblALG1_BASE_PRICE / dblALG1_BASE_VOL) dblALG1_PG_RUB = dblPGtoOUTml * IIf(dblALG1_PG_VOL = 0, 0, dblALG1_PG_PRICE / dblALG1_PG_VOL) dblALG1_VG_RUB = dblVGtoOUTml * IIf(dblALG1_VG_VOL = 0, 0, dblALG1_VG_PRICE / dblALG1_VG_VOL) dblALG1_AD_RUB = dblADtoOUTml * IIf(dblALG1_AD_VOL = 0, 0, dblALG1_AD_PRICE / dblALG1_AD_VOL) dblALG1_AR_RUB = dblARtoOUTml * IIf(dblALG1_AR_VOL = 0, 0, dblALG1_AR_PRICE / dblALG1_AR_VOL) dblALG1_TOTAL_ML = dblBASE1toOUTml + dblPGtoOUTml + dblVGtoOUTml + dblADtoOUTml + dblARtoOUTml dblALG1_TOTAL_DR = dblBASE1toOUTdr + dblPGtoOUTdr + dblVGtoOUTdr + dblADtoOUTdr + dblARtoOUTdr dblALG1_TOTAL_RUB = dblALG1_BASE_RUB + dblALG1_PG_RUB + dblALG1_VG_RUB + dblALG1_AD_RUB + dblALG1_AR_RUB 'Заполняем поля вывода ctlALG1_BASEtoOUTml.Text = Format(dblBASE1toOUTml, "# ##0.00") ctlALG1_PGtoOUTml.Text = Format(dblPGtoOUTml, "# ##0.00") ctlALG1_VGtoOUTml.Text = Format(dblVGtoOUTml, "# ##0.00") ctlALG1_ADtoOUTml.Text = Format(dblADtoOUTml, "# ##0.00") ctlALG1_ARtoOUTml.Text = Format(dblARtoOUTml, "# ##0.00") ctlALG1_BASEtoOUTdr.Text = dblBASE1toOUTdr ctlALG1_PGtoOUTdr.Text = dblPGtoOUTdr ctlALG1_VGtoOUTdr.Text = dblVGtoOUTdr ctlALG1_ADtoOUTdr.Text = dblADtoOUTdr ctlALG1_ARtoOUTdr.Text = dblARtoOUTdr ctlVOLinOUT.Text = Format(dblVOLinOUT, "# ##0.00") ctlNICinOUT.Text = Format(dblNICinOUT, "# ##0.00") ctlPGinOUT.Text = Format(dblPGinOUT, "# ##0.00") ctlVGinOUT.Text = Format(dblVGinOUT, "# ##0.00") ctlADinOUT.Text = Format(dblADinOUT, "# ##0.00") ctlARinOUT.Text = Format(dblARinOUT, "# ##0.00") ctlALG1_BASE_RUB.Text = Format(dblALG1_BASE_RUB, "# ##0.00") ctlALG1_PG_RUB.Text = Format(dblALG1_PG_RUB, "# ##0.00") ctlALG1_VG_RUB.Text = Format(dblALG1_VG_RUB, "# ##0.00") ctlALG1_AD_RUB.Text = Format(dblALG1_AD_RUB, "# ##0.00") ctlALG1_AR_RUB.Text = Format(dblALG1_AR_RUB, "# ##0.00") ctlALG1_TOTAL_ML.Text = Format(dblALG1_TOTAL_ML, "# ##0.00") ctlALG1_TOTAL_DR.Text = dblALG1_TOTAL_DR ctlALG1_TOTAL_RUB.Text = Format(dblALG1_TOTAL_RUB, "# ##0.00") 'Отрисовываем прямоугольники dblWidthDelta = 1 dblHeightDelta = 1 ctlRECT_BASE1.Width = ctlGLASS.Width - 2 * dblWidthDelta ctlRECT_BASE1.Left = ctlGLASS.Left + dblWidthDelta If dblBASE1toOUTml = 0 Then ctlRECT_BASE1.Height = 0 Else ctlRECT_BASE1.Height = ctlGLASS.Height * (dblBASE1toOUTml / dblVOLinOUT) - dblWidthDelta End If ctlRECT_BASE1.Top = ctlGLASS.Top + ctlGLASS.Height - ctlRECT_BASE1.Height - dblWidthDelta ctlRECT_BASE2.Width = ctlGLASS.Width - 2 * dblWidthDelta ctlRECT_BASE2.Left = ctlGLASS.Left + dblWidthDelta ctlRECT_BASE2.Height = 0 ctlRECT_BASE2.Top = ctlGLASS.Top + ctlGLASS.Height - ctlRECT_BASE2.Height - dblWidthDelta ctlRECT_PG.Width = ctlGLASS.Width - 2 * dblWidthDelta ctlRECT_PG.Left = ctlGLASS.Left + dblWidthDelta ctlRECT_PG.Height = ctlGLASS.Height * (dblPGtoOUTml / dblVOLinOUT) ctlRECT_PG.Top = ctlRECT_BASE1.Top - ctlRECT_PG.Height ctlRECT_VG.Width = ctlGLASS.Width - 2 * dblWidthDelta ctlRECT_VG.Left = ctlGLASS.Left + dblWidthDelta ctlRECT_VG.Height = ctlGLASS.Height * (dblVGtoOUTml / dblVOLinOUT) ctlRECT_VG.Top = ctlRECT_PG.Top - ctlRECT_VG.Height ctlRECT_AD.Width = ctlGLASS.Width - 2 * dblWidthDelta ctlRECT_AD.Left = ctlGLASS.Left + dblWidthDelta ctlRECT_AD.Height = ctlGLASS.Height * (dblADtoOUTml / dblVOLinOUT) ctlRECT_AD.Top = ctlRECT_VG.Top - ctlRECT_AD.Height ctlRECT_AR.Width = ctlGLASS.Width - 2 * dblWidthDelta ctlRECT_AR.Left = ctlGLASS.Left + dblWidthDelta ctlRECT_AR.Height = ctlGLASS.Height * (dblARtoOUTml / dblVOLinOUT) ctlRECT_AR.Top = ctlRECT_AD.Top - ctlRECT_AR.Height Exit Sub ErrInInput_Alg1: 'Заполняем поля вывода "---" ctlALG1_BASEtoOUTml.Text = "---" ctlALG1_PGtoOUTml.Text = "---" ctlALG1_VGtoOUTml.Text = "---" ctlALG1_ADtoOUTml.Text = "---" ctlALG1_ARtoOUTml.Text = "---" ctlALG1_BASEtoOUTdr.Text = "---" ctlALG1_PGtoOUTdr.Text = "---" ctlALG1_VGtoOUTdr.Text = "---" ctlALG1_ADtoOUTdr.Text = "---" ctlALG1_ARtoOUTdr.Text = "---" ctlVOLinOUT.Text = "---" ctlNICinOUT.Text = "---" ctlPGinOUT.Text = "---" ctlVGinOUT.Text = "---" ctlADinOUT.Text = "---" ctlARinOUT.Text = "---" ctlALG1_BASE_RUB.Text = "---" ctlALG1_PG_RUB.Text = "---" ctlALG1_VG_RUB.Text = "---" ctlALG1_AD_RUB.Text = "---" ctlALG1_AR_RUB.Text = "---" ctlALG1_TOTAL_ML.Text = "---" ctlALG1_TOTAL_DR.Text = "---" ctlALG1_TOTAL_RUB.Text = "---" Exit Sub Case 1 'Если один из введенных параметров не цифровой - на выход If (Not IsNumeric(ctlALG2_NICinBASE1.Text)) Or (Not IsNumeric(ctlALG2_PGinBASE1.Text)) Or (Not IsNumeric(ctlALG2_VGinBASE1.Text)) Or (Not IsNumeric(ctlALG2_ADinBASE1.Text)) _ Or (Not IsNumeric(ctlALG2_NICinBASE2.Text)) Or (Not IsNumeric(ctlALG2_PGinBASE2.Text)) Or (Not IsNumeric(ctlALG2_VGinBASE2.Text)) Or (Not IsNumeric(ctlALG2_ADinBASE2.Text)) _ Or (Not IsNumeric(ctlALG2_NICinNEED.Text)) _ Or (Not IsNumeric(ctlALG2_ARinNEED.Text)) _ Or (Not IsNumeric(ctlALG2_VOLinNEED.Text)) Then GoTo ErrInInput_Alg2 End If Call InitValues() 'Присваиваем переменным входные значения dblNICinBASE1 = CDbl(ctlALG2_NICinBASE1.Text) dblPGinBASE1 = CDbl(ctlALG2_PGinBASE1.Text) dblVGinBASE1 = CDbl(ctlALG2_VGinBASE1.Text) dblADinBASE1 = CDbl(ctlALG2_ADinBASE1.Text) dblNICinBASE2 = CDbl(ctlALG2_NICinBASE2.Text) dblPGinBASE2 = CDbl(ctlALG2_PGinBASE2.Text) dblVGinBASE2 = CDbl(ctlALG2_VGinBASE2.Text) dblADinBASE2 = CDbl(ctlALG2_ADinBASE2.Text) dblDROPSinML2 = CDbl(ctlALG2_DROPSinML.Text) dblNICinNEED = CDbl(ctlALG2_NICinNEED.Text) dblARinNEED = CDbl(ctlALG2_ARinNEED.Text) dblVOLinNEED = CDbl(ctlALG2_VOLinNEED.Text) dblALG2_BASE1_VOL = CDbl(ctlALG2_BASE1_VOL.Text) dblALG2_BASE2_VOL = CDbl(ctlALG2_BASE2_VOL.Text) dblALG2_AR_VOL = CDbl(ctlALG2_AR_VOL.Text) dblALG2_BASE1_PRICE = CDbl(ctlALG2_BASE1_PRICE.Text) dblALG2_BASE2_PRICE = CDbl(ctlALG2_BASE2_PRICE.Text) dblALG2_AR_PRICE = CDbl(ctlALG2_AR_PRICE.Text) 'Если содержание никотина в базовой жидкости меньше необходимого или общий объем меньше 0 - на выход If dblVOLinNEED <= 0 Or (dblNICinBASE1 = dblNICinBASE2) Or _ (dblNICinBASE1 > dblNICinBASE2 And (dblNICinNEED > dblNICinBASE1 Or dblNICinNEED < dblNICinBASE2)) Or _ (dblNICinBASE2 > dblNICinBASE1 And (dblNICinNEED > dblNICinBASE2 Or dblNICinNEED < dblNICinBASE1)) Or _ (dblNICinNEED = dblNICinBASE1) Or (dblNICinNEED = dblNICinBASE2) Then GoTo ErrInInput_Alg2 'Расчитываем количество ароматизатора If dblARinNEED > 0 Then dblARtoOUTml = CDbl(dblARinNEED * dblVOLinNEED / 100) dblARinADDml = dblARtoOUTml End If 'Определяем доли базовых жидкостей dblNICinNEED = dblNICinNEED * dblVOLinNEED / (dblVOLinNEED - dblARtoOUTml) dblPartBase1InOUT = 1 dblPartBase2InOUT = (dblNICinBASE1 - dblNICinNEED) / (dblNICinNEED - dblNICinBASE2) dblBASE1toOUTml = dblPartBase1InOUT * (dblVOLinNEED - dblARtoOUTml) / (dblPartBase1InOUT + dblPartBase2InOUT) dblBASE2toOUTml = dblPartBase2InOUT * (dblVOLinNEED - dblARtoOUTml) / (dblPartBase1InOUT + dblPartBase2InOUT) dblPGinADDml = dblBASE1toOUTml * dblPGinBASE1 / 100 + dblBASE2toOUTml * dblPGinBASE2 / 100 dblVGinADDml = dblBASE1toOUTml * dblVGinBASE1 / 100 + dblBASE2toOUTml * dblVGinBASE2 / 100 dblADinADDml = dblBASE1toOUTml * dblADinBASE1 / 100 + dblBASE2toOUTml * dblADinBASE2 / 100 dblVOLinOUT = dblPGinADDml + dblVGinADDml + dblADinADDml + dblARinADDml dblNICinOUT = (dblNICinBASE1 * dblBASE1toOUTml + dblNICinBASE2 * dblBASE2toOUTml) / dblVOLinOUT dblPGinOUT = (dblPGinADDml / dblVOLinOUT) * 100 dblVGinOUT = (dblVGinADDml / dblVOLinOUT) * 100 dblADinOUT = (dblADinADDml / dblVOLinOUT) * 100 dblARinOUT = (dblARinADDml / dblVOLinOUT) * 100 'Пересчитываем миллилитры в капли If dblDROPSinML2 <= 0 Then GoTo ErrInInput_Alg2 Else dblBASE1toOUTdr = Int(dblDROPSinML2 * dblBASE1toOUTml) dblBASE2toOUTdr = Int(dblDROPSinML2 * dblBASE2toOUTml) dblARtoOUTdr = Int(dblDROPSinML2 * dblARtoOUTml) End If dblALG2_BASE1_RUB = dblBASE1toOUTml * IIf(dblALG2_BASE1_VOL = 0, 0, dblALG2_BASE1_PRICE / dblALG2_BASE1_VOL) dblALG2_BASE2_RUB = dblBASE2toOUTml * IIf(dblALG2_BASE2_VOL = 0, 0, dblALG2_BASE2_PRICE / dblALG2_BASE2_VOL) dblALG2_AR_RUB = dblARtoOUTml * IIf(dblALG2_AR_VOL = 0, 0, dblALG2_AR_PRICE / dblALG2_AR_VOL) dblALG2_TOTAL_ML = dblBASE1toOUTml + dblBASE2toOUTml + dblARtoOUTml dblALG2_TOTAL_DR = dblBASE1toOUTdr + dblBASE2toOUTdr + dblARtoOUTdr dblALG2_TOTAL_RUB = dblALG2_BASE1_RUB + dblALG2_BASE2_RUB + dblALG2_AR_RUB 'Заполняем поля вывода ctlALG2_BASE1toOUTml.Text = Format(dblBASE1toOUTml, "# ##0.00") ctlALG2_BASE2toOUTml.Text = Format(dblBASE2toOUTml, "# ##0.00") ctlALG2_ARtoOUTml.Text = Format(dblARtoOUTml, "# ##0.00") ctlALG2_BASE1toOUTdr.Text = dblBASE1toOUTdr ctlALG2_BASE2toOUTdr.Text = dblBASE2toOUTdr ctlALG2_ARtoOUTdr.Text = dblARtoOUTdr ctlVOLinOUT.Text = Format(dblVOLinOUT, "# ##0.00") ctlNICinOUT.Text = Format(dblNICinOUT, "# ##0.00") ctlPGinOUT.Text = Format(dblPGinOUT, "# ##0.00") ctlVGinOUT.Text = Format(dblVGinOUT, "# ##0.00") ctlADinOUT.Text = Format(dblADinOUT, "# ##0.00") ctlARinOUT.Text = Format(dblARinOUT, "# ##0.00") ctlALG2_BASE1_RUB.Text = Format(dblALG2_BASE1_RUB, "# ##0.00") ctlALG2_BASE2_RUB.Text = Format(dblALG2_BASE2_RUB, "# ##0.00") ctlALG2_AR_RUB.Text = Format(dblALG2_AR_RUB, "# ##0.00") ctlALG2_TOTAL_ML.Text = Format(dblALG2_TOTAL_ML, "# ##0.00") ctlALG2_TOTAL_DR.Text = dblALG2_TOTAL_DR ctlALG2_TOTAL_RUB.Text = Format(dblALG2_TOTAL_RUB, "# ##0.00") 'Отрисовываем прямоугольники dblWidthDelta = 1 dblHeightDelta = 1 ctlRECT_BASE1.Width = ctlGLASS.Width - 2 * dblWidthDelta ctlRECT_BASE1.Left = ctlGLASS.Left + dblWidthDelta If dblBASE1toOUTml = 0 Then ctlRECT_BASE1.Height = 0 Else ctlRECT_BASE1.Height = ctlGLASS.Height * (dblBASE1toOUTml / dblVOLinOUT) - dblWidthDelta End If ctlRECT_BASE1.Top = ctlGLASS.Top + ctlGLASS.Height - ctlRECT_BASE1.Height - dblWidthDelta ctlRECT_BASE2.Width = ctlGLASS.Width - 2 * dblWidthDelta ctlRECT_BASE2.Left = ctlGLASS.Left + dblWidthDelta If dblBASE2toOUTml = 0 Then ctlRECT_BASE2.Height = 0 Else ctlRECT_BASE2.Height = ctlGLASS.Height * (dblBASE2toOUTml / dblVOLinOUT) End If ctlRECT_BASE2.Top = ctlRECT_BASE1.Top - ctlRECT_BASE2.Height ctlRECT_PG.Width = ctlGLASS.Width - 2 * dblWidthDelta ctlRECT_PG.Left = ctlGLASS.Left + dblWidthDelta ctlRECT_PG.Height = 0 ctlRECT_PG.Top = ctlRECT_BASE2.Top - ctlRECT_PG.Height ctlRECT_VG.Width = ctlGLASS.Width - 2 * dblWidthDelta ctlRECT_VG.Left = ctlGLASS.Left + dblWidthDelta ctlRECT_VG.Height = 0 ctlRECT_VG.Top = ctlRECT_PG.Top - ctlRECT_VG.Height ctlRECT_AD.Width = ctlGLASS.Width - 2 * dblWidthDelta ctlRECT_AD.Left = ctlGLASS.Left + dblWidthDelta ctlRECT_AD.Height = 0 ctlRECT_AD.Top = ctlRECT_VG.Top - ctlRECT_AD.Height ctlRECT_AR.Width = ctlGLASS.Width - 2 * dblWidthDelta ctlRECT_AR.Left = ctlGLASS.Left + dblWidthDelta ctlRECT_AR.Height = ctlGLASS.Height * (dblARtoOUTml / dblVOLinOUT) ctlRECT_AR.Top = ctlRECT_AD.Top - ctlRECT_AR.Height Exit Sub ErrInInput_Alg2: 'Заполняем поля вывода "---" ctlALG2_BASE1toOUTml.Text = "---" ctlALG2_BASE2toOUTml.Text = "---" ctlALG2_ARtoOUTml.Text = "---" ctlALG2_BASE1toOUTdr.Text = "---" ctlALG2_BASE2toOUTdr.Text = "---" ctlALG2_ARtoOUTdr.Text = "---" ctlVOLinOUT.Text = "---" ctlNICinOUT.Text = "---" ctlPGinOUT.Text = "---" ctlVGinOUT.Text = "---" ctlADinOUT.Text = "---" ctlARinOUT.Text = "---" ctlALG2_BASE1_RUB.Text = "---" ctlALG2_BASE2_RUB.Text = "---" ctlALG2_AR_RUB.Text = "---" ctlALG2_TOTAL_ML.Text = "---" ctlALG2_TOTAL_DR.Text = "---" ctlALG2_TOTAL_RUB.Text = "---" Exit Sub End Select End Sub
Магазин SvoёMesto
Третья часть:
Код:Private Sub InitValues() Select Case ctlPagesAlgoritm.SelectedIndex Case 0 ctlPageAdd1.Visible = True ctlPageAdd2.Visible = False Case 1 ctlPageAdd2.Visible = True ctlPageAdd1.Visible = False End Select If Not IsNumeric(ctlALG1_NICinBASE.Text) Then ctlALG1_NICinBASE.Text = 36 If Not IsNumeric(ctlALG1_PGinBASE.Text) Then ctlALG1_PGinBASE.Text = 55 If Not IsNumeric(ctlALG1_VGinBASE.Text) Then ctlALG1_VGinBASE.Text = 35 If Not IsNumeric(ctlALG1_ADinBASE.Text) Then ctlALG1_ADinBASE.Text = 10 If Not IsNumeric(ctlALG1_DROPSinML.Text) Then ctlALG1_DROPSinML.Text = 33 If Not IsNumeric(ctlALG1_NICinNEED.Text) Then ctlALG1_NICinNEED.Text = 18 If Not IsNumeric(ctlALG1_PGinNEED.Text) Then ctlALG1_PGinNEED.Text = 65 If Not IsNumeric(ctlALG1_VGinNEED.Text) Then ctlALG1_VGinNEED.Text = 30 If Not IsNumeric(ctlALG1_ADinNEED.Text) Then ctlALG1_ADinNEED.Text = 0 If Not IsNumeric(ctlALG1_ARinNEED.Text) Then ctlALG1_ARinNEED.Text = 5 If Not IsNumeric(ctlALG1_VOLinNEED.Text) Then ctlALG1_VOLinNEED.Text = 10 If Not IsNumeric(ctlALG1_DAYS.Text) Then ctlALG1_DAYS.Text = 5 If Not IsNumeric(ctlALG1_MLinDAY.Text) Then ctlALG1_MLinDAY.Text = 2 If Not IsNumeric(ctlALG1_BASE_VOL.Text) Then ctlALG1_BASE_VOL.Text = 100 If Not IsNumeric(ctlALG1_BASE_PRICE.Text) Then ctlALG1_BASE_PRICE.Text = 830 If Not IsNumeric(ctlALG1_PG_VOL.Text) Then ctlALG1_PG_VOL.Text = 100 If Not IsNumeric(ctlALG1_PG_PRICE.Text) Then ctlALG1_PG_PRICE.Text = 60 If Not IsNumeric(ctlALG1_VG_VOL.Text) Then ctlALG1_VG_VOL.Text = 100 If Not IsNumeric(ctlALG1_VG_PRICE.Text) Then ctlALG1_VG_PRICE.Text = 60 If Not IsNumeric(ctlALG1_AD_VOL.Text) Then ctlALG1_AD_VOL.Text = 1000 If Not IsNumeric(ctlALG1_AD_PRICE.Text) Then ctlALG1_AD_PRICE.Text = 25 If Not IsNumeric(ctlALG1_AR_VOL.Text) Then ctlALG1_AR_VOL.Text = 4 If Not IsNumeric(ctlALG1_AR_PRICE.Text) Then ctlALG1_AR_PRICE.Text = 50 If Not IsNumeric(ctlALG2_NICinBASE1.Text) Then ctlALG2_NICinBASE1.Text = 36 If Not IsNumeric(ctlALG2_PGinBASE1.Text) Then ctlALG2_PGinBASE1.Text = 55 If Not IsNumeric(ctlALG2_VGinBASE1.Text) Then ctlALG2_VGinBASE1.Text = 35 If Not IsNumeric(ctlALG2_ADinBASE1.Text) Then ctlALG2_ADinBASE1.Text = 10 If Not IsNumeric(ctlALG2_NICinBASE2.Text) Then ctlALG2_NICinBASE2.Text = 0 If Not IsNumeric(ctlALG2_PGinBASE2.Text) Then ctlALG2_PGinBASE2.Text = 55 If Not IsNumeric(ctlALG2_VGinBASE2.Text) Then ctlALG2_VGinBASE2.Text = 35 If Not IsNumeric(ctlALG2_ADinBASE2.Text) Then ctlALG2_ADinBASE2.Text = 10 If Not IsNumeric(ctlALG2_DROPSinML.Text) Then ctlALG2_DROPSinML.Text = 33 If Not IsNumeric(ctlALG2_NICinNEED.Text) Then ctlALG2_NICinNEED.Text = 18 If Not IsNumeric(ctlALG2_ARinNEED.Text) Then ctlALG2_ARinNEED.Text = 5 If Not IsNumeric(ctlALG2_VOLinNEED.Text) Then ctlALG2_VOLinNEED.Text = 10 If Not IsNumeric(ctlALG2_BASE1_VOL.Text) Then ctlALG2_BASE1_VOL.Text = 100 If Not IsNumeric(ctlALG2_BASE1_PRICE.Text) Then ctlALG2_BASE1_PRICE.Text = 830 If Not IsNumeric(ctlALG2_BASE2_VOL.Text) Then ctlALG2_BASE2_VOL.Text = 100 If Not IsNumeric(ctlALG2_BASE2_PRICE.Text) Then ctlALG2_BASE2_PRICE.Text = 60 If Not IsNumeric(ctlALG2_AR_VOL.Text) Then ctlALG2_AR_VOL.Text = 4 If Not IsNumeric(ctlALG2_AR_PRICE.Text) Then ctlALG2_AR_PRICE.Text = 50 If blTypeChangeManual = True Then If ctlALG1_PGinBASE.Text = 55 And ctlALG1_VGinBASE.Text = 35 And ctlALG1_ADinBASE.Text = 10 Then ctlALG1_RB_Traditional.Checked = True ctlALG1_PGinBASE.Enabled = False ctlALG1_VGinBASE.Enabled = False ctlALG1_ADinBASE.Enabled = False ElseIf ctlALG1_PGinBASE.Text = 95 And ctlALG1_VGinBASE.Text = 0 And ctlALG1_ADinBASE.Text = 5 Then ctlALG1_RB_IceBlade.Checked = True ctlALG1_PGinBASE.Enabled = False ctlALG1_VGinBASE.Enabled = False ctlALG1_ADinBASE.Enabled = False ElseIf ctlALG1_PGinBASE.Text = 0 And ctlALG1_VGinBASE.Text = 80 And ctlALG1_ADinBASE.Text = 20 Then ctlALG1_RB_Velvet.Checked = True ctlALG1_PGinBASE.Enabled = False ctlALG1_VGinBASE.Enabled = False ctlALG1_ADinBASE.Enabled = False Else ctlALG1_RB_Other.Checked = True ctlALG1_PGinBASE.Enabled = True ctlALG1_VGinBASE.Enabled = True ctlALG1_ADinBASE.Enabled = True End If If ctlALG2_PGinBASE1.Text = 55 And ctlALG2_VGinBASE1.Text = 35 And ctlALG2_ADinBASE1.Text = 10 Then ctlALG2_RB_Traditional1.Checked = True ctlALG2_PGinBASE1.Enabled = False ctlALG2_VGinBASE1.Enabled = False ctlALG2_ADinBASE1.Enabled = False ElseIf ctlALG2_PGinBASE1.Text = 95 And ctlALG2_VGinBASE1.Text = 0 And ctlALG2_ADinBASE1.Text = 5 Then ctlALG2_RB_IceBlade1.Checked = True ctlALG2_PGinBASE1.Enabled = False ctlALG2_VGinBASE1.Enabled = False ctlALG2_ADinBASE1.Enabled = False ElseIf ctlALG2_PGinBASE1.Text = 0 And ctlALG2_VGinBASE1.Text = 80 And ctlALG2_ADinBASE1.Text = 20 Then ctlALG2_RB_Velvet1.Checked = True ctlALG2_PGinBASE1.Enabled = False ctlALG2_VGinBASE1.Enabled = False ctlALG2_ADinBASE1.Enabled = False Else ctlALG2_RB_Other1.Checked = True ctlALG2_PGinBASE1.Enabled = True ctlALG2_VGinBASE1.Enabled = True ctlALG2_ADinBASE1.Enabled = True End If If ctlALG2_PGinBASE2.Text = 55 And ctlALG2_VGinBASE2.Text = 35 And ctlALG2_ADinBASE2.Text = 10 Then ctlALG2_RB_Traditional2.Checked = True ctlALG2_PGinBASE2.Enabled = False ctlALG2_VGinBASE2.Enabled = False ctlALG2_ADinBASE2.Enabled = False ElseIf ctlALG2_PGinBASE2.Text = 95 And ctlALG2_VGinBASE2.Text = 0 And ctlALG2_ADinBASE2.Text = 5 Then ctlALG2_RB_IceBlade2.Checked = True ctlALG2_PGinBASE2.Enabled = False ctlALG2_VGinBASE2.Enabled = False ctlALG2_ADinBASE2.Enabled = False ElseIf ctlALG2_PGinBASE2.Text = 0 And ctlALG2_VGinBASE2.Text = 80 And ctlALG2_ADinBASE2.Text = 20 Then ctlALG2_RB_Velvet2.Checked = True ctlALG2_PGinBASE2.Enabled = False ctlALG2_VGinBASE2.Enabled = False ctlALG2_ADinBASE2.Enabled = False Else ctlALG2_RB_Other2.Checked = True ctlALG2_PGinBASE2.Enabled = True ctlALG2_VGinBASE2.Enabled = True ctlALG2_ADinBASE2.Enabled = True End If End If End Sub Private Sub ctlALG1_AD_PRICE_Leave(ByVal sender As Object, ByVal e As System.EventArgs) Handles ctlALG1_AD_PRICE.Leave If Not IsNumeric(ctlALG1_AD_PRICE.Text) Then ctlALG1_AD_PRICE.Text = 0 End Sub Private Sub ctlALG1_AD_PRICE_TextChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles ctlALG1_AD_PRICE.TextChanged If blLoadINI = True Then Exit Sub ctlALG1_AD_PRICE.Text = Replace(ctlALG1_AD_PRICE.Text, ".", ",") If Not IsNumeric(ctlALG1_AD_PRICE.Text) Then Exit Sub ' ctlALG1_AD_PRICE.Text = 0 Call CalcMe() End Sub Private Sub ctlALG1_AD_VOL_Leave(ByVal sender As Object, ByVal e As System.EventArgs) Handles ctlALG1_AD_VOL.Leave If Not IsNumeric(ctlALG1_AD_VOL.Text) Then ctlALG1_AD_VOL.Text = 1 End Sub Private Sub ctlALG1_AD_VOL_TextChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles ctlALG1_AD_VOL.TextChanged If blLoadINI = True Then Exit Sub ctlALG1_AD_VOL.Text = Replace(ctlALG1_AD_VOL.Text, ".", ",") If Not IsNumeric(ctlALG1_AD_VOL.Text) Then Exit Sub ' ctlALG1_AD_VOL.Text = 1 Call CalcMe() End Sub Private Sub ctlALG1_ADinBASE_Leave(ByVal sender As Object, ByVal e As System.EventArgs) Handles ctlALG1_ADinBASE.Leave If Not IsNumeric(ctlALG1_PGinBASE.Text) Then ctlALG1_PGinBASE.Text = 55 If Not IsNumeric(ctlALG1_VGinBASE.Text) Then ctlALG1_VGinBASE.Text = 35 If Not IsNumeric(ctlALG1_ADinBASE.Text) Then ctlALG1_ADinBASE.Text = 10 End Sub Private Sub ctlALG1_ADinBASE_TextChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles ctlALG1_ADinBASE.TextChanged Dim dblVOL As Double If blTypeChangeManual = False Then Exit Sub If blLoadINI = True Then Exit Sub ctlALG1_ADinBASE.Text = Replace(ctlALG1_ADinBASE.Text, ".", ",") If Not IsNumeric(ctlALG1_PGinBASE.Text) Then Exit Sub ' ctlALG1_PGinBASE.Text = 55 If Not IsNumeric(ctlALG1_VGinBASE.Text) Then Exit Sub ' ctlALG1_VGinBASE.Text = 35 If Not IsNumeric(ctlALG1_ADinBASE.Text) Then Exit Sub ' ctlALG1_ADinBASE.Text = 10 dblVOL = CDbl(ctlALG1_PGinBASE.Text) + CDbl(ctlALG1_VGinBASE.Text) + CDbl(ctlALG1_ADinBASE.Text) If dblVOL > 100 Then If CDbl(ctlALG1_VGinBASE.Text) >= (dblVOL - 100) Then ctlALG1_VGinBASE.Text = CDbl(ctlALG1_VGinBASE.Text) - (dblVOL - 100) ElseIf CDbl(ctlALG1_PGinBASE.Text) >= (dblVOL - 100) Then ctlALG1_PGinBASE.Text = CDbl(ctlALG1_PGinBASE.Text) - (dblVOL - 100) ElseIf CDbl(ctlALG1_ADinBASE.Text) >= (dblVOL - 100) Then ctlALG1_ADinBASE.Text = CDbl(ctlALG1_ADinBASE.Text) - (dblVOL - 100) End If ElseIf dblVOL < 100 Then ctlALG1_VGinBASE.Text = CDbl(ctlALG1_VGinBASE.Text) + (100 - dblVOL) End If Call CalcMe() End Sub Private Sub ctlALG1_ADinNEED_Leave(ByVal sender As Object, ByVal e As System.EventArgs) Handles ctlALG1_ADinNEED.Leave If Not IsNumeric(ctlALG1_PGinNEED.Text) Then ctlALG1_PGinNEED.Text = 65 If Not IsNumeric(ctlALG1_VGinNEED.Text) Then ctlALG1_VGinNEED.Text = 30 If Not IsNumeric(ctlALG1_ADinNEED.Text) Then ctlALG1_ADinNEED.Text = 0 If Not IsNumeric(ctlALG1_ARinNEED.Text) Then ctlALG1_ARinNEED.Text = 5 End Sub Private Sub ctlALG1_ADinNEED_TextChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles ctlALG1_ADinNEED.TextChanged Dim dblVOL As Double If blLoadINI = True Then Exit Sub ctlALG1_ADinNEED.Text = Replace(ctlALG1_ADinNEED.Text, ".", ",") If Not IsNumeric(ctlALG1_PGinNEED.Text) Then Exit Sub ' ctlALG1_PGinNEED.Text = 65 If Not IsNumeric(ctlALG1_VGinNEED.Text) Then Exit Sub ' ctlALG1_VGinNEED.Text = 30 If Not IsNumeric(ctlALG1_ADinNEED.Text) Then Exit Sub ' ctlALG1_ADinNEED.Text = 0 If Not IsNumeric(ctlALG1_ARinNEED.Text) Then Exit Sub ' ctlALG1_ARinNEED.Text = 5 dblVOL = CDbl(ctlALG1_PGinNEED.Text) + CDbl(ctlALG1_VGinNEED.Text) + CDbl(ctlALG1_ADinNEED.Text) + CDbl(ctlALG1_ARinNEED.Text) If dblVOL > 100 Then If CDbl(ctlALG1_VGinNEED.Text) >= (dblVOL - 100) Then ctlALG1_VGinNEED.Text = CDbl(ctlALG1_VGinNEED.Text) - (dblVOL - 100) ElseIf CDbl(ctlALG1_PGinNEED.Text) >= (dblVOL - 100) Then ctlALG1_PGinNEED.Text = CDbl(ctlALG1_PGinNEED.Text) - (dblVOL - 100) ElseIf CDbl(ctlALG1_ADinNEED.Text) >= (dblVOL - 100) Then ctlALG1_ADinNEED.Text = CDbl(ctlALG1_ADinNEED.Text) - (dblVOL - 100) End If ElseIf dblVOL < 100 Then ctlALG1_VGinNEED.Text = CDbl(ctlALG1_VGinNEED.Text) + (100 - dblVOL) End If Call CalcMe() End Sub Private Sub ctlALG1_AR_PRICE_Leave(ByVal sender As Object, ByVal e As System.EventArgs) Handles ctlALG1_AR_PRICE.Leave If Not IsNumeric(ctlALG1_AR_PRICE.Text) Then ctlALG1_AR_PRICE.Text = 0 End Sub Private Sub ctlALG1_AR_PRICE_TextChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles ctlALG1_AR_PRICE.TextChanged If blLoadINI = True Then Exit Sub ctlALG1_AR_PRICE.Text = Replace(ctlALG1_AR_PRICE.Text, ".", ",") If Not IsNumeric(ctlALG1_AR_PRICE.Text) Then Exit Sub ' ctlALG1_AR_PRICE.Text = 0 Call CalcMe() End Sub Private Sub ctlALG1_AR_VOL_Leave(ByVal sender As Object, ByVal e As System.EventArgs) Handles ctlALG1_AR_VOL.Leave If Not IsNumeric(ctlALG1_AR_VOL.Text) Then ctlALG1_AR_VOL.Text = 1 End Sub Private Sub ctlALG1_AR_VOL_TextChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles ctlALG1_AR_VOL.TextChanged If blLoadINI = True Then Exit Sub ctlALG1_AR_VOL.Text = Replace(ctlALG1_AR_VOL.Text, ".", ",") If Not IsNumeric(ctlALG1_AR_VOL.Text) Then Exit Sub ' ctlALG1_AR_VOL.Text = 1 Call CalcMe() End Sub Private Sub ctlALG1_ARinNEED_Leave(ByVal sender As Object, ByVal e As System.EventArgs) Handles ctlALG1_ARinNEED.Leave If Not IsNumeric(ctlALG1_PGinNEED.Text) Then ctlALG1_PGinNEED.Text = 65 If Not IsNumeric(ctlALG1_VGinNEED.Text) Then ctlALG1_VGinNEED.Text = 30 If Not IsNumeric(ctlALG1_ADinNEED.Text) Then ctlALG1_ADinNEED.Text = 0 If Not IsNumeric(ctlALG1_ARinNEED.Text) Then ctlALG1_ARinNEED.Text = 5 End Sub Private Sub ctlALG1_ARinNEED_TextChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles ctlALG1_ARinNEED.TextChanged Dim dblVOL As Double If blLoadINI = True Then Exit Sub ctlALG1_ARinNEED.Text = Replace(ctlALG1_ARinNEED.Text, ".", ",") If Not IsNumeric(ctlALG1_PGinNEED.Text) Then Exit Sub ' ctlALG1_PGinNEED.Text = 65 If Not IsNumeric(ctlALG1_VGinNEED.Text) Then Exit Sub ' ctlALG1_VGinNEED.Text = 30 If Not IsNumeric(ctlALG1_ADinNEED.Text) Then Exit Sub ' ctlALG1_ADinNEED.Text = 0 If Not IsNumeric(ctlALG1_ARinNEED.Text) Then Exit Sub ' ctlALG1_ARinNEED.Text = 5 dblVOL = CDbl(ctlALG1_PGinNEED.Text) + CDbl(ctlALG1_VGinNEED.Text) + CDbl(ctlALG1_ADinNEED.Text) + CDbl(ctlALG1_ARinNEED.Text) If dblVOL > 100 Then If CDbl(ctlALG1_VGinNEED.Text) >= (dblVOL - 100) Then ctlALG1_VGinNEED.Text = CDbl(ctlALG1_VGinNEED.Text) - (dblVOL - 100) ElseIf CDbl(ctlALG1_PGinNEED.Text) >= (dblVOL - 100) Then ctlALG1_PGinNEED.Text = CDbl(ctlALG1_PGinNEED.Text) - (dblVOL - 100) ElseIf CDbl(ctlALG1_ADinNEED.Text) >= (dblVOL - 100) Then ctlALG1_ADinNEED.Text = CDbl(ctlALG1_ADinNEED.Text) - (dblVOL - 100) End If ElseIf dblVOL < 100 Then ctlALG1_VGinNEED.Text = CDbl(ctlALG1_VGinNEED.Text) + (100 - dblVOL) End If Call CalcMe() End Sub Private Sub ctlALG1_BASE_PRICE_Leave(ByVal sender As Object, ByVal e As System.EventArgs) Handles ctlALG1_BASE_PRICE.Leave If Not IsNumeric(ctlALG1_BASE_PRICE.Text) Then ctlALG1_BASE_PRICE.Text = 0 End Sub Private Sub ctlALG1_BASE_PRICE_TextChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles ctlALG1_BASE_PRICE.TextChanged If blLoadINI = True Then Exit Sub ctlALG1_BASE_PRICE.Text = Replace(ctlALG1_BASE_PRICE.Text, ".", ",") If Not IsNumeric(ctlALG1_BASE_PRICE.Text) Then Exit Sub ' ctlALG1_BASE_PRICE.Text = 0 Call CalcMe() End Sub Private Sub ctlALG1_BASE_VOL_Leave(ByVal sender As Object, ByVal e As System.EventArgs) Handles ctlALG1_BASE_VOL.Leave If Not IsNumeric(ctlALG1_BASE_VOL.Text) Then ctlALG1_BASE_VOL.Text = 1 End Sub Private Sub ctlALG1_BASE_VOL_TextChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles ctlALG1_BASE_VOL.TextChanged If blLoadINI = True Then Exit Sub ctlALG1_BASE_VOL.Text = Replace(ctlALG1_BASE_VOL.Text, ".", ",") If Not IsNumeric(ctlALG1_BASE_VOL.Text) Then Exit Sub ' ctlALG1_BASE_VOL.Text = 1 Call CalcMe() End Sub Private Sub ctlALG1_DAYS_Leave(ByVal sender As Object, ByVal e As System.EventArgs) Handles ctlALG1_DAYS.Leave If Not IsNumeric(ctlALG1_DAYS.Text) Then ctlALG1_DAYS.Text = 5 If Not IsNumeric(ctlALG1_MLinDAY.Text) Then ctlALG1_MLinDAY.Text = 2 End Sub Private Sub ctlALG1_DAYS_TextChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles ctlALG1_DAYS.TextChanged If blLoadINI = True Then Exit Sub ctlALG1_DAYS.Text = Replace(ctlALG1_DAYS.Text, ".", ",") If Not IsNumeric(ctlALG1_DAYS.Text) Then Exit Sub ' ctlALG1_DAYS.Text = 5 If Not IsNumeric(ctlALG1_MLinDAY.Text) Then Exit Sub ' ctlALG1_MLinDAY.Text = 2 ctlALG1_VOLinNEED.Text = CDbl(ctlALG1_DAYS.Text) * CDbl(ctlALG1_MLinDAY.Text) Call CalcMe() End Sub Private Sub ctlALG1_DROPSinML_Leave(ByVal sender As Object, ByVal e As System.EventArgs) Handles ctlALG1_DROPSinML.Leave If Not IsNumeric(ctlALG1_DROPSinML.Text) Then ctlALG1_DROPSinML.Text = 33 End Sub Private Sub ctlALG1_DROPSinML_TextChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles ctlALG1_DROPSinML.TextChanged If blLoadINI = True Then Exit Sub If Not IsNumeric(ctlALG1_DROPSinML.Text) Then Exit Sub ' ctlALG1_DROPSinML.Text = 33 Call CalcMe() End Sub Private Sub ctlALG1_MLinDAY_Leave(ByVal sender As Object, ByVal e As System.EventArgs) Handles ctlALG1_MLinDAY.Leave If Not IsNumeric(ctlALG1_MLinDAY.Text) Then ctlALG1_MLinDAY.Text = 2 If Not IsNumeric(ctlALG1_VOLinNEED.Text) Then ctlALG1_VOLinNEED.Text = 10 End Sub Private Sub ctlALG1_MLinDAY_TextChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles ctlALG1_MLinDAY.TextChanged If blLoadINI = True Then Exit Sub ctlALG1_MLinDAY.Text = Replace(ctlALG1_MLinDAY.Text, ".", ",") If Not IsNumeric(ctlALG1_MLinDAY.Text) Then Exit Sub ' ctlALG1_MLinDAY.Text = 2 If Not IsNumeric(ctlALG1_VOLinNEED.Text) Then Exit Sub ' ctlALG1_VOLinNEED.Text = 10 If CDbl(ctlALG1_MLinDAY.Text) <= 0 Then ctlALG1_MLinDAY.Text = 1 ctlALG1_DAYS.Text = CDbl(ctlALG1_VOLinNEED.Text) / CDbl(ctlALG1_MLinDAY.Text) Call CalcMe() End Sub Private Sub ctlALG1_NICinBASE_Leave(ByVal sender As Object, ByVal e As System.EventArgs) Handles ctlALG1_NICinBASE.Leave If Not IsNumeric(ctlALG1_NICinBASE.Text) Then ctlALG1_NICinBASE.Text = 36 End Sub Private Sub ctlALG1_NICinBASE_TextChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles ctlALG1_NICinBASE.TextChanged If blLoadINI = True Then Exit Sub If Not IsNumeric(ctlALG1_NICinBASE.Text) Then Exit Sub ' ctlALG1_NICinBASE.Text = 36 Call CalcMe() End Sub Private Sub ctlALG1_NICinNEED_Leave(ByVal sender As Object, ByVal e As System.EventArgs) Handles ctlALG1_NICinNEED.Leave If Not IsNumeric(ctlALG1_NICinNEED.Text) Then ctlALG1_NICinNEED.Text = 18 End Sub Private Sub ctlALG1_NICinNEED_TextChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles ctlALG1_NICinNEED.TextChanged If blLoadINI = True Then Exit Sub If Not IsNumeric(ctlALG1_NICinNEED.Text) Then Exit Sub ' ctlALG1_NICinNEED.Text = 18 Call CalcMe() End Sub Private Sub ctlALG1_PG_PRICE_Leave(ByVal sender As Object, ByVal e As System.EventArgs) Handles ctlALG1_PG_PRICE.Leave If Not IsNumeric(ctlALG1_PG_PRICE.Text) Then ctlALG1_PG_PRICE.Text = 0 End Sub Private Sub ctlALG1_PG_PRICE_TextChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles ctlALG1_PG_PRICE.TextChanged If blLoadINI = True Then Exit Sub ctlALG1_PG_PRICE.Text = Replace(ctlALG1_PG_PRICE.Text, ".", ",") If Not IsNumeric(ctlALG1_PG_PRICE.Text) Then Exit Sub ' ctlALG1_PG_PRICE.Text = 0 Call CalcMe() End Sub Private Sub ctlALG1_PG_VOL_Leave(ByVal sender As Object, ByVal e As System.EventArgs) Handles ctlALG1_PG_VOL.Leave If Not IsNumeric(ctlALG1_PG_VOL.Text) Then ctlALG1_PG_VOL.Text = 1 End Sub Private Sub ctlALG1_PG_VOL_TextChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles ctlALG1_PG_VOL.TextChanged If blLoadINI = True Then Exit Sub ctlALG1_PG_VOL.Text = Replace(ctlALG1_PG_VOL.Text, ".", ",") If Not IsNumeric(ctlALG1_PG_VOL.Text) Then Exit Sub ' ctlALG1_PG_VOL.Text = 1 Call CalcMe() End Sub Private Sub ctlALG1_VG_PRICE_Leave(ByVal sender As Object, ByVal e As System.EventArgs) Handles ctlALG1_VG_PRICE.Leave If Not IsNumeric(ctlALG1_VG_PRICE.Text) Then ctlALG1_VG_PRICE.Text = 0 End Sub Private Sub ctlALG1_VG_PRICE_TextChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles ctlALG1_VG_PRICE.TextChanged If blLoadINI = True Then Exit Sub ctlALG1_VG_PRICE.Text = Replace(ctlALG1_VG_PRICE.Text, ".", ",") If Not IsNumeric(ctlALG1_VG_PRICE.Text) Then Exit Sub ' ctlALG1_VG_PRICE.Text = 0 Call CalcMe() End Sub Private Sub ctlALG1_VG_VOL_Leave(ByVal sender As Object, ByVal e As System.EventArgs) Handles ctlALG1_VG_VOL.Leave If Not IsNumeric(ctlALG1_VG_VOL.Text) Then ctlALG1_VG_VOL.Text = 1 End Sub Private Sub ctlALG1_VG_VOL_TextChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles ctlALG1_VG_VOL.TextChanged If blLoadINI = True Then Exit Sub ctlALG1_VG_VOL.Text = Replace(ctlALG1_VG_VOL.Text, ".", ",") If Not IsNumeric(ctlALG1_VG_VOL.Text) Then Exit Sub ' ctlALG1_VG_VOL.Text = 1 Call CalcMe() End Sub Private Sub ctlALG2_ADinBASE1_Leave(ByVal sender As Object, ByVal e As System.EventArgs) Handles ctlALG2_ADinBASE1.Leave If Not IsNumeric(ctlALG2_PGinBASE1.Text) Then ctlALG2_PGinBASE1.Text = 55 If Not IsNumeric(ctlALG2_VGinBASE1.Text) Then ctlALG2_VGinBASE1.Text = 35 If Not IsNumeric(ctlALG2_ADinBASE1.Text) Then ctlALG2_ADinBASE1.Text = 10 End Sub Private Sub ctlALG2_ADinBASE1_TextChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles ctlALG2_ADinBASE1.TextChanged Dim dblVOL As Double If blLoadINI = True Then Exit Sub If blTypeChangeManual = False Then Exit Sub ctlALG2_ADinBASE1.Text = Replace(ctlALG2_ADinBASE1.Text, ".", ",") If Not IsNumeric(ctlALG2_PGinBASE1.Text) Then Exit Sub ' ctlALG2_PGinBASE1.Text = 55 If Not IsNumeric(ctlALG2_VGinBASE1.Text) Then Exit Sub ' ctlALG2_VGinBASE1.Text = 35 If Not IsNumeric(ctlALG2_ADinBASE1.Text) Then Exit Sub ' ctlALG2_ADinBASE1.Text = 10 dblVOL = CDbl(ctlALG2_PGinBASE1.Text) + CDbl(ctlALG2_VGinBASE1.Text) + CDbl(ctlALG2_ADinBASE1.Text) If dblVOL > 100 Then If CDbl(ctlALG2_VGinBASE1.Text) >= (dblVOL - 100) Then ctlALG2_VGinBASE1.Text = CDbl(ctlALG2_VGinBASE1.Text) - (dblVOL - 100) ElseIf CDbl(ctlALG2_PGinBASE1.Text) >= (dblVOL - 100) Then ctlALG2_PGinBASE1.Text = CDbl(ctlALG2_PGinBASE1.Text) - (dblVOL - 100) ElseIf CDbl(ctlALG2_ADinBASE1.Text) >= (dblVOL - 100) Then ctlALG2_ADinBASE1.Text = CDbl(ctlALG2_ADinBASE1.Text) - (dblVOL - 100) End If ElseIf dblVOL < 100 Then ctlALG2_VGinBASE1.Text = CDbl(ctlALG2_VGinBASE1.Text) + (100 - dblVOL) End If Call CalcMe() End Sub Private Sub ctlALG2_ADinBASE2_Leave(ByVal sender As Object, ByVal e As System.EventArgs) Handles ctlALG2_ADinBASE2.Leave If Not IsNumeric(ctlALG2_PGinBASE2.Text) Then ctlALG2_PGinBASE2.Text = 55 If Not IsNumeric(ctlALG2_VGinBASE2.Text) Then ctlALG2_VGinBASE2.Text = 35 If Not IsNumeric(ctlALG2_ADinBASE2.Text) Then ctlALG2_ADinBASE2.Text = 10 End Sub Private Sub ctlALG2_ADinBASE2_TextChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles ctlALG2_ADinBASE2.TextChanged Dim dblVOL As Double If blLoadINI = True Then Exit Sub If blTypeChangeManual = False Then Exit Sub ctlALG2_ADinBASE2.Text = Replace(ctlALG2_ADinBASE2.Text, ".", ",") If Not IsNumeric(ctlALG2_PGinBASE2.Text) Then Exit Sub ' ctlALG2_PGinBASE2.Text = 55 If Not IsNumeric(ctlALG2_VGinBASE2.Text) Then Exit Sub ' ctlALG2_VGinBASE2.Text = 35 If Not IsNumeric(ctlALG2_ADinBASE2.Text) Then Exit Sub ' ctlALG2_ADinBASE2.Text = 10 dblVOL = CDbl(ctlALG2_PGinBASE2.Text) + CDbl(ctlALG2_VGinBASE2.Text) + CDbl(ctlALG2_ADinBASE2.Text) If dblVOL > 100 Then If CDbl(ctlALG2_VGinBASE2.Text) >= (dblVOL - 100) Then ctlALG2_VGinBASE2.Text = CDbl(ctlALG2_VGinBASE2.Text) - (dblVOL - 100) ElseIf CDbl(ctlALG2_PGinBASE2.Text) >= (dblVOL - 100) Then ctlALG2_PGinBASE2.Text = CDbl(ctlALG2_PGinBASE2.Text) - (dblVOL - 100) ElseIf CDbl(ctlALG2_ADinBASE2.Text) >= (dblVOL - 100) Then ctlALG2_ADinBASE2.Text = CDbl(ctlALG2_ADinBASE2.Text) - (dblVOL - 100) End If ElseIf dblVOL < 100 Then ctlALG2_VGinBASE2.Text = CDbl(ctlALG2_VGinBASE2.Text) + (100 - dblVOL) End If Call CalcMe() End Sub Private Sub ctlALG2_AR_PRICE_Leave(ByVal sender As Object, ByVal e As System.EventArgs) Handles ctlALG2_AR_PRICE.Leave If Not IsNumeric(ctlALG2_AR_PRICE.Text) Then ctlALG2_AR_PRICE.Text = 0 End Sub Private Sub ctlALG2_AR_PRICE_TextChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles ctlALG2_AR_PRICE.TextChanged If blLoadINI = True Then Exit Sub ctlALG2_AR_PRICE.Text = Replace(ctlALG2_AR_PRICE.Text, ".", ",") If Not IsNumeric(ctlALG2_AR_PRICE.Text) Then Exit Sub ' ctlALG2_AR_PRICE.Text = 0 Call CalcMe() End Sub Private Sub ctlALG2_AR_VOL_Leave(ByVal sender As Object, ByVal e As System.EventArgs) Handles ctlALG2_AR_VOL.Leave If Not IsNumeric(ctlALG2_AR_VOL.Text) Then ctlALG2_AR_VOL.Text = 1 End Sub Private Sub ctlALG2_AR_VOL_TextChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles ctlALG2_AR_VOL.TextChanged If blLoadINI = True Then Exit Sub ctlALG2_AR_VOL.Text = Replace(ctlALG2_AR_VOL.Text, ".", ",") If Not IsNumeric(ctlALG2_AR_VOL.Text) Then Exit Sub ' ctlALG2_AR_VOL.Text = 1 Call CalcMe() End Sub Private Sub ctlALG2_ARinNEED_Leave(ByVal sender As Object, ByVal e As System.EventArgs) Handles ctlALG2_ARinNEED.Leave If Not IsNumeric(ctlALG2_ARinNEED.Text) Then ctlALG2_ARinNEED.Text = 5 End Sub Private Sub ctlALG2_ARinNEED_TextChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles ctlALG2_ARinNEED.TextChanged If blLoadINI = True Then Exit Sub ctlALG2_ARinNEED.Text = Replace(ctlALG2_ARinNEED.Text, ".", ",") If Not IsNumeric(ctlALG2_ARinNEED.Text) Then Exit Sub ' ctlALG2_ARinNEED.Text = 5 Call CalcMe() End Sub Private Sub ctlALG2_BASE1_PRICE_Leave(ByVal sender As Object, ByVal e As System.EventArgs) Handles ctlALG2_BASE1_PRICE.Leave If Not IsNumeric(ctlALG2_BASE1_PRICE.Text) Then ctlALG2_BASE1_PRICE.Text = 0 End Sub Private Sub ctlALG2_BASE1_PRICE_TextChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles ctlALG2_BASE1_PRICE.TextChanged If blLoadINI = True Then Exit Sub ctlALG2_BASE1_PRICE.Text = Replace(ctlALG2_BASE1_PRICE.Text, ".", ",") If Not IsNumeric(ctlALG2_BASE1_PRICE.Text) Then Exit Sub ' ctlALG2_BASE1_PRICE.Text = 0 Call CalcMe() End Sub Private Sub ctlALG2_BASE1_VOL_Leave(ByVal sender As Object, ByVal e As System.EventArgs) Handles ctlALG2_BASE1_VOL.Leave If Not IsNumeric(ctlALG2_BASE1_VOL.Text) Then ctlALG2_BASE1_VOL.Text = 1 End Sub Private Sub ctlALG2_BASE1_VOL_TextChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles ctlALG2_BASE1_VOL.TextChanged If blLoadINI = True Then Exit Sub ctlALG2_BASE1_VOL.Text = Replace(ctlALG2_BASE1_VOL.Text, ".", ",") If Not IsNumeric(ctlALG2_BASE1_VOL.Text) Then Exit Sub ' ctlALG2_BASE1_VOL.Text = 1 Call CalcMe() End Sub Private Sub ctlALG2_BASE2_PRICE_Leave(ByVal sender As Object, ByVal e As System.EventArgs) Handles ctlALG2_BASE2_PRICE.Leave If Not IsNumeric(ctlALG2_BASE2_PRICE.Text) Then ctlALG2_BASE2_PRICE.Text = 0 End Sub Private Sub ctlALG2_BASE2_PRICE_TextChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles ctlALG2_BASE2_PRICE.TextChanged If blLoadINI = True Then Exit Sub ctlALG2_BASE2_PRICE.Text = Replace(ctlALG2_BASE2_PRICE.Text, ".", ",") If Not IsNumeric(ctlALG2_BASE2_PRICE.Text) Then Exit Sub ' ctlALG2_BASE2_PRICE.Text = 0 Call CalcMe() End Sub Private Sub ctlALG2_BASE2_VOL_Leave(ByVal sender As Object, ByVal e As System.EventArgs) Handles ctlALG2_BASE2_VOL.Leave If Not IsNumeric(ctlALG2_BASE2_VOL.Text) Then ctlALG2_BASE2_VOL.Text = 1 End Sub Private Sub ctlALG2_BASE2_VOL_TextChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles ctlALG2_BASE2_VOL.TextChanged If blLoadINI = True Then Exit Sub ctlALG2_BASE2_VOL.Text = Replace(ctlALG2_BASE2_VOL.Text, ".", ",") If Not IsNumeric(ctlALG2_BASE2_VOL.Text) Then Exit Sub ' ctlALG2_BASE2_VOL.Text = 1 Call CalcMe() End Sub Private Sub ctlALG2_DROPSinML_Leave(ByVal sender As Object, ByVal e As System.EventArgs) Handles ctlALG2_DROPSinML.Leave If Not IsNumeric(ctlALG2_DROPSinML.Text) Then ctlALG2_DROPSinML.Text = 33 End Sub Private Sub ctlALG2_DROPSinML_TextChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles ctlALG2_DROPSinML.TextChanged If blLoadINI = True Then Exit Sub If Not IsNumeric(ctlALG2_DROPSinML.Text) Then Exit Sub ' ctlALG2_DROPSinML.Text = 33 Call CalcMe() End Sub Private Sub ctlALG2_NICinBASE1_Leave(ByVal sender As Object, ByVal e As System.EventArgs) Handles ctlALG2_NICinBASE1.Leave If Not IsNumeric(ctlALG2_NICinBASE1.Text) Then ctlALG2_NICinBASE1.Text = 36 End Sub Private Sub ctlALG2_NICinBASE1_TextChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles ctlALG2_NICinBASE1.TextChanged If blLoadINI = True Then Exit Sub If Not IsNumeric(ctlALG2_NICinBASE1.Text) Then Exit Sub ' ctlALG2_NICinBASE1.Text = 36 Call CalcMe() End Sub Private Sub ctlALG2_NICinBASE2_Leave(ByVal sender As Object, ByVal e As System.EventArgs) Handles ctlALG2_NICinBASE2.Leave If Not IsNumeric(ctlALG2_NICinBASE2.Text) Then ctlALG2_NICinBASE2.Text = 0 End Sub Private Sub ctlALG2_NICinBASE2_TextChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles ctlALG2_NICinBASE2.TextChanged If blLoadINI = True Then Exit Sub If Not IsNumeric(ctlALG2_NICinBASE2.Text) Then Exit Sub ' ctlALG2_NICinBASE2.Text = 0 Call CalcMe() End Sub Private Sub ctlALG2_NICinNEED_Leave(ByVal sender As Object, ByVal e As System.EventArgs) Handles ctlALG2_NICinNEED.Leave If Not IsNumeric(ctlALG2_NICinNEED.Text) Then ctlALG2_NICinNEED.Text = 18 End Sub Private Sub ctlALG2_NICinNEED_TextChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles ctlALG2_NICinNEED.TextChanged If blLoadINI = True Then Exit Sub If Not IsNumeric(ctlALG2_NICinNEED.Text) Then Exit Sub ' ctlALG2_NICinNEED.Text = 18 Call CalcMe() End Sub Private Sub ctlALG2_PGinBASE1_Leave(ByVal sender As Object, ByVal e As System.EventArgs) Handles ctlALG2_PGinBASE1.Leave If Not IsNumeric(ctlALG2_PGinBASE1.Text) Then ctlALG2_PGinBASE1.Text = 55 If Not IsNumeric(ctlALG2_VGinBASE1.Text) Then ctlALG2_VGinBASE1.Text = 35 If Not IsNumeric(ctlALG2_ADinBASE1.Text) Then ctlALG2_ADinBASE1.Text = 10 End Sub Private Sub ctlALG2_PGinBASE1_TextChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles ctlALG2_PGinBASE1.TextChanged Dim dblVOL As Double If blLoadINI = True Then Exit Sub If blTypeChangeManual = False Then Exit Sub ctlALG2_PGinBASE1.Text = Replace(ctlALG2_PGinBASE1.Text, ".", ",") If Not IsNumeric(ctlALG2_PGinBASE1.Text) Then Exit Sub ' ctlALG2_PGinBASE1.Text = 55 If Not IsNumeric(ctlALG2_VGinBASE1.Text) Then Exit Sub ' ctlALG2_VGinBASE1.Text = 35 If Not IsNumeric(ctlALG2_ADinBASE1.Text) Then Exit Sub ' ctlALG2_ADinBASE1.Text = 10 dblVOL = CDbl(ctlALG2_PGinBASE1.Text) + CDbl(ctlALG2_VGinBASE1.Text) + CDbl(ctlALG2_ADinBASE1.Text) If dblVOL > 100 Then If CDbl(ctlALG2_VGinBASE1.Text) >= (dblVOL - 100) Then ctlALG2_VGinBASE1.Text = CDbl(ctlALG2_VGinBASE1.Text) - (dblVOL - 100) ElseIf CDbl(ctlALG2_ADinBASE1.Text) >= (dblVOL - 100) Then ctlALG2_ADinBASE1.Text = CDbl(ctlALG2_ADinBASE1.Text) - (dblVOL - 100) ElseIf CDbl(ctlALG2_PGinBASE1.Text) >= (dblVOL - 100) Then ctlALG2_PGinBASE1.Text = CDbl(ctlALG2_PGinBASE1.Text) - (dblVOL - 100) End If ElseIf dblVOL < 100 Then ctlALG2_VGinBASE1.Text = CDbl(ctlALG2_VGinBASE1.Text) + (100 - dblVOL) End If Call CalcMe() End Sub Private Sub ctlALG2_PGinBASE2_Leave(ByVal sender As Object, ByVal e As System.EventArgs) Handles ctlALG2_PGinBASE2.Leave If Not IsNumeric(ctlALG2_PGinBASE2.Text) Then ctlALG2_PGinBASE2.Text = 55 If Not IsNumeric(ctlALG2_VGinBASE2.Text) Then ctlALG2_VGinBASE2.Text = 35 If Not IsNumeric(ctlALG2_ADinBASE2.Text) Then ctlALG2_ADinBASE2.Text = 10 End Sub Private Sub ctlALG2_PGinBASE2_TextChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles ctlALG2_PGinBASE2.TextChanged Dim dblVOL As Double If blLoadINI = True Then Exit Sub If blTypeChangeManual = False Then Exit Sub ctlALG2_PGinBASE2.Text = Replace(ctlALG2_PGinBASE2.Text, ".", ",") If Not IsNumeric(ctlALG2_PGinBASE2.Text) Then Exit Sub ' ctlALG2_PGinBASE2.Text = 55 If Not IsNumeric(ctlALG2_VGinBASE2.Text) Then Exit Sub ' ctlALG2_VGinBASE2.Text = 35 If Not IsNumeric(ctlALG2_ADinBASE2.Text) Then Exit Sub ' ctlALG2_ADinBASE2.Text = 10 dblVOL = CDbl(ctlALG2_PGinBASE2.Text) + CDbl(ctlALG2_VGinBASE2.Text) + CDbl(ctlALG2_ADinBASE2.Text) If dblVOL > 100 Then If CDbl(ctlALG2_VGinBASE2.Text) >= (dblVOL - 100) Then ctlALG2_VGinBASE2.Text = CDbl(ctlALG2_VGinBASE2.Text) - (dblVOL - 100) ElseIf CDbl(ctlALG2_ADinBASE2.Text) >= (dblVOL - 100) Then ctlALG2_ADinBASE2.Text = CDbl(ctlALG2_ADinBASE2.Text) - (dblVOL - 100) ElseIf CDbl(ctlALG2_PGinBASE2.Text) >= (dblVOL - 100) Then ctlALG2_PGinBASE2.Text = CDbl(ctlALG2_PGinBASE2.Text) - (dblVOL - 100) End If ElseIf dblVOL < 100 Then ctlALG2_VGinBASE2.Text = CDbl(ctlALG2_VGinBASE2.Text) + (100 - dblVOL) End If Call CalcMe() End Sub Private Sub ctlALG2_RB_IceBlade1_CheckedChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles ctlALG2_RB_IceBlade1.CheckedChanged blTypeChangeManual = False If ctlALG2_RB_IceBlade1.Checked = True Then ctlALG2_PGinBASE1.Text = 95 ctlALG2_VGinBASE1.Text = 0 ctlALG2_ADinBASE1.Text = 5 ctlALG2_PGinBASE1.Enabled = False ctlALG2_VGinBASE1.Enabled = False ctlALG2_ADinBASE1.Enabled = False End If Call CalcMe() blTypeChangeManual = True End Sub Private Sub ctlALG2_RB_IceBlade2_CheckedChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles ctlALG2_RB_IceBlade2.CheckedChanged blTypeChangeManual = False If ctlALG2_RB_IceBlade2.Checked = True Then ctlALG2_PGinBASE2.Text = 95 ctlALG2_VGinBASE2.Text = 0 ctlALG2_ADinBASE2.Text = 5 ctlALG2_PGinBASE2.Enabled = False ctlALG2_VGinBASE2.Enabled = False ctlALG2_ADinBASE2.Enabled = False End If Call CalcMe() blTypeChangeManual = True End Sub Private Sub ctlALG2_RB_Other1_CheckedChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles ctlALG2_RB_Other1.CheckedChanged blTypeChangeManual = False If ctlALG2_RB_Other1.Checked = True Then ctlALG2_PGinBASE1.Enabled = True ctlALG2_VGinBASE1.Enabled = True ctlALG2_ADinBASE1.Enabled = True End If Call CalcMe() blTypeChangeManual = True End Sub Private Sub ctlALG2_RB_Other2_CheckedChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles ctlALG2_RB_Other2.CheckedChanged blTypeChangeManual = False If ctlALG2_RB_Other2.Checked = True Then ctlALG2_PGinBASE2.Enabled = True ctlALG2_VGinBASE2.Enabled = True ctlALG2_ADinBASE2.Enabled = True End If Call CalcMe() blTypeChangeManual = True End Sub Private Sub ctlALG2_RB_Traditional1_CheckedChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles ctlALG2_RB_Traditional1.CheckedChanged blTypeChangeManual = False If ctlALG2_RB_Traditional1.Checked = True Then ctlALG2_PGinBASE1.Text = 55 ctlALG2_VGinBASE1.Text = 35 ctlALG2_ADinBASE1.Text = 10 ctlALG2_PGinBASE1.Enabled = False ctlALG2_VGinBASE1.Enabled = False ctlALG2_ADinBASE1.Enabled = False End If Call CalcMe() blTypeChangeManual = True End Sub Private Sub ctlALG2_RB_Traditional2_CheckedChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles ctlALG2_RB_Traditional2.CheckedChanged blTypeChangeManual = False If ctlALG2_RB_Traditional2.Checked = True Then ctlALG2_PGinBASE2.Text = 55 ctlALG2_VGinBASE2.Text = 35 ctlALG2_ADinBASE2.Text = 10 ctlALG2_PGinBASE2.Enabled = False ctlALG2_VGinBASE2.Enabled = False ctlALG2_ADinBASE2.Enabled = False End If Call CalcMe() blTypeChangeManual = True End Sub Private Sub ctlALG2_RB_Velvet1_CheckedChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles ctlALG2_RB_Velvet1.CheckedChanged blTypeChangeManual = False If ctlALG2_RB_Velvet1.Checked = True Then ctlALG2_PGinBASE1.Text = 0 ctlALG2_VGinBASE1.Text = 80 ctlALG2_ADinBASE1.Text = 20 ctlALG2_PGinBASE1.Enabled = False ctlALG2_VGinBASE1.Enabled = False ctlALG2_ADinBASE1.Enabled = False End If Call CalcMe() blTypeChangeManual = True End Sub Private Sub ctlALG2_RB_Velvet2_CheckedChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles ctlALG2_RB_Velvet2.CheckedChanged blTypeChangeManual = False If ctlALG2_RB_Velvet2.Checked = True Then ctlALG2_PGinBASE2.Text = 0 ctlALG2_VGinBASE2.Text = 80 ctlALG2_ADinBASE2.Text = 20 ctlALG2_PGinBASE2.Enabled = False ctlALG2_VGinBASE2.Enabled = False ctlALG2_ADinBASE2.Enabled = False End If Call CalcMe() blTypeChangeManual = True End Sub Private Sub ctlALG2_VGinBASE1_Leave(ByVal sender As Object, ByVal e As System.EventArgs) Handles ctlALG2_VGinBASE1.Leave If Not IsNumeric(ctlALG2_PGinBASE1.Text) Then ctlALG2_PGinBASE1.Text = 55 If Not IsNumeric(ctlALG2_VGinBASE1.Text) Then ctlALG2_VGinBASE1.Text = 35 If Not IsNumeric(ctlALG2_ADinBASE1.Text) Then ctlALG2_ADinBASE1.Text = 10 End Sub Private Sub ctlALG2_VGinBASE1_TextChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles ctlALG2_VGinBASE1.TextChanged Dim dblVOL As Double If blLoadINI = True Then Exit Sub If blTypeChangeManual = False Then Exit Sub ctlALG2_VGinBASE1.Text = Replace(ctlALG2_VGinBASE1.Text, ".", ",") If Not IsNumeric(ctlALG2_PGinBASE1.Text) Then Exit Sub ' ctlALG2_PGinBASE1.Text = 55 If Not IsNumeric(ctlALG2_VGinBASE1.Text) Then Exit Sub ' ctlALG2_VGinBASE1.Text = 35 If Not IsNumeric(ctlALG2_ADinBASE1.Text) Then Exit Sub ' ctlALG2_ADinBASE1.Text = 10 dblVOL = CDbl(ctlALG2_PGinBASE1.Text) + CDbl(ctlALG2_VGinBASE1.Text) + CDbl(ctlALG2_ADinBASE1.Text) If dblVOL > 100 Then If CDbl(ctlALG2_PGinBASE1.Text) >= (dblVOL - 100) Then ctlALG2_PGinBASE1.Text = CDbl(ctlALG2_PGinBASE1.Text) - (dblVOL - 100) ElseIf CDbl(ctlALG2_ADinBASE1.Text) >= (dblVOL - 100) Then ctlALG2_ADinBASE1.Text = CDbl(ctlALG2_ADinBASE1.Text) - (dblVOL - 100) ElseIf CDbl(ctlALG2_VGinBASE1.Text) >= (dblVOL - 100) Then ctlALG2_VGinBASE1.Text = CDbl(ctlALG2_VGinBASE1.Text) - (dblVOL - 100) End If ElseIf dblVOL < 100 Then ctlALG2_PGinBASE1.Text = CDbl(ctlALG2_PGinBASE1.Text) + (100 - dblVOL) End If Call CalcMe() End Sub Private Sub ctlALG2_VGinBASE2_Leave(ByVal sender As Object, ByVal e As System.EventArgs) Handles ctlALG2_VGinBASE2.Leave If Not IsNumeric(ctlALG2_PGinBASE2.Text) Then ctlALG2_PGinBASE2.Text = 55 If Not IsNumeric(ctlALG2_VGinBASE2.Text) Then ctlALG2_VGinBASE2.Text = 35 If Not IsNumeric(ctlALG2_ADinBASE2.Text) Then ctlALG2_ADinBASE2.Text = 10 End Sub Private Sub ctlALG2_VGinBASE2_TextChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles ctlALG2_VGinBASE2.TextChanged Dim dblVOL As Double If blLoadINI = True Then Exit Sub If blTypeChangeManual = False Then Exit Sub ctlALG2_VGinBASE2.Text = Replace(ctlALG2_VGinBASE2.Text, ".", ",") If Not IsNumeric(ctlALG2_PGinBASE2.Text) Then Exit Sub ' ctlALG2_PGinBASE2.Text = 55 If Not IsNumeric(ctlALG2_VGinBASE2.Text) Then Exit Sub ' ctlALG2_VGinBASE2.Text = 35 If Not IsNumeric(ctlALG2_ADinBASE2.Text) Then Exit Sub ' ctlALG2_ADinBASE2.Text = 10 dblVOL = CDbl(ctlALG2_PGinBASE2.Text) + CDbl(ctlALG2_VGinBASE2.Text) + CDbl(ctlALG2_ADinBASE2.Text) If dblVOL > 100 Then If CDbl(ctlALG2_PGinBASE2.Text) >= (dblVOL - 100) Then ctlALG2_PGinBASE2.Text = CDbl(ctlALG2_PGinBASE2.Text) - (dblVOL - 100) ElseIf CDbl(ctlALG2_ADinBASE2.Text) >= (dblVOL - 100) Then ctlALG2_ADinBASE2.Text = CDbl(ctlALG2_ADinBASE2.Text) - (dblVOL - 100) ElseIf CDbl(ctlALG2_VGinBASE2.Text) >= (dblVOL - 100) Then ctlALG2_VGinBASE2.Text = CDbl(ctlALG2_VGinBASE2.Text) - (dblVOL - 100) End If ElseIf dblVOL < 100 Then ctlALG2_PGinBASE2.Text = CDbl(ctlALG2_PGinBASE2.Text) + (100 - dblVOL) End If Call CalcMe() End Sub Private Sub ctlALG2_VOLinNEED_Leave(ByVal sender As Object, ByVal e As System.EventArgs) Handles ctlALG2_VOLinNEED.Leave If Not IsNumeric(ctlALG2_VOLinNEED.Text) Then ctlALG2_VOLinNEED.Text = 10 End Sub Private Sub ctlALG2_VOLinNEED_TextChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles ctlALG2_VOLinNEED.TextChanged If blLoadINI = True Then Exit Sub If Not IsNumeric(ctlALG2_VOLinNEED.Text) Then Exit Sub ' ctlALG2_VOLinNEED.Text = 10 Call CalcMe() End Sub Private Sub ctlPagesAlgoritm_SelectedIndexChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles ctlPagesAlgoritm.SelectedIndexChanged If blLoadINI = True Then Exit Sub Select Case ctlPagesAlgoritm.SelectedIndex Case 0 ctlPageAdd1.Visible = True ctlPageAdd2.Visible = False Case 1 ctlPageAdd2.Visible = True ctlPageAdd1.Visible = False End Select Call CalcMe() End Sub Private Sub ctlALG1_PGinBASE_Leave(ByVal sender As Object, ByVal e As System.EventArgs) Handles ctlALG1_PGinBASE.Leave If Not IsNumeric(ctlALG1_PGinBASE.Text) Then ctlALG1_PGinBASE.Text = 55 If Not IsNumeric(ctlALG1_VGinBASE.Text) Then ctlALG1_VGinBASE.Text = 35 If Not IsNumeric(ctlALG1_ADinBASE.Text) Then ctlALG1_ADinBASE.Text = 10 End Sub Private Sub ctlALG1_PGinBASE_TextChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles ctlALG1_PGinBASE.TextChanged Dim dblVOL As Double If blLoadINI = True Then Exit Sub If blTypeChangeManual = False Then Exit Sub ctlALG1_PGinBASE.Text = Replace(ctlALG1_PGinBASE.Text, ".", ",") If Not IsNumeric(ctlALG1_PGinBASE.Text) Then Exit Sub ' ctlALG1_PGinBASE.Text = 55 If Not IsNumeric(ctlALG1_VGinBASE.Text) Then Exit Sub ' ctlALG1_VGinBASE.Text = 35 If Not IsNumeric(ctlALG1_ADinBASE.Text) Then Exit Sub ' ctlALG1_ADinBASE.Text = 10 dblVOL = CDbl(ctlALG1_PGinBASE.Text) + CDbl(ctlALG1_VGinBASE.Text) + CDbl(ctlALG1_ADinBASE.Text) If dblVOL > 100 Then If CDbl(ctlALG1_VGinBASE.Text) >= (dblVOL - 100) Then ctlALG1_VGinBASE.Text = CDbl(ctlALG1_VGinBASE.Text) - (dblVOL - 100) ElseIf CDbl(ctlALG1_ADinBASE.Text) >= (dblVOL - 100) Then ctlALG1_ADinBASE.Text = CDbl(ctlALG1_ADinBASE.Text) - (dblVOL - 100) ElseIf CDbl(ctlALG1_PGinBASE.Text) >= (dblVOL - 100) Then ctlALG1_PGinBASE.Text = CDbl(ctlALG1_PGinBASE.Text) - (dblVOL - 100) End If ElseIf dblVOL < 100 Then ctlALG1_VGinBASE.Text = CDbl(ctlALG1_VGinBASE.Text) + (100 - dblVOL) End If Call CalcMe() End Sub Private Sub ctlALG1_PGinNEED_Leave(ByVal sender As Object, ByVal e As System.EventArgs) Handles ctlALG1_PGinNEED.Leave If Not IsNumeric(ctlALG1_PGinNEED.Text) Then ctlALG1_PGinNEED.Text = 65 If Not IsNumeric(ctlALG1_VGinNEED.Text) Then ctlALG1_VGinNEED.Text = 30 If Not IsNumeric(ctlALG1_ADinNEED.Text) Then ctlALG1_ADinNEED.Text = 0 If Not IsNumeric(ctlALG1_ARinNEED.Text) Then ctlALG1_ARinNEED.Text = 5 End Sub Private Sub ctlALG1_PGinNEED_TextChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles ctlALG1_PGinNEED.TextChanged Dim dblVOL As Double If blLoadINI = True Then Exit Sub ctlALG1_PGinNEED.Text = Replace(ctlALG1_PGinNEED.Text, ".", ",") If Not IsNumeric(ctlALG1_PGinNEED.Text) Then Exit Sub ' ctlALG1_PGinNEED.Text = 65 If Not IsNumeric(ctlALG1_VGinNEED.Text) Then Exit Sub ' ctlALG1_VGinNEED.Text = 30 If Not IsNumeric(ctlALG1_ADinNEED.Text) Then Exit Sub ' ctlALG1_ADinNEED.Text = 0 If Not IsNumeric(ctlALG1_ARinNEED.Text) Then Exit Sub ' ctlALG1_ARinNEED.Text = 5 If CDbl(ctlALG1_PGinNEED.Text) < 0 Then ctlALG1_PGinNEED.Text = 0 If CDbl(ctlALG1_PGinNEED.Text) > 100 Then ctlALG1_PGinNEED.Text = 100 dblVOL = CDbl(ctlALG1_PGinNEED.Text) + CDbl(ctlALG1_VGinNEED.Text) + CDbl(ctlALG1_ADinNEED.Text) + CDbl(ctlALG1_ARinNEED.Text) If dblVOL > 100 Then If CDbl(ctlALG1_VGinNEED.Text) >= (dblVOL - 100) Then ctlALG1_VGinNEED.Text = CDbl(ctlALG1_VGinNEED.Text) - (dblVOL - 100) ElseIf CDbl(ctlALG1_ADinNEED.Text) >= (dblVOL - 100) Then ctlALG1_ADinNEED.Text = CDbl(ctlALG1_ADinNEED.Text) - (dblVOL - 100) ElseIf CDbl(ctlALG1_PGinNEED.Text) >= (dblVOL - 100) Then ctlALG1_PGinNEED.Text = CDbl(ctlALG1_PGinNEED.Text) - (dblVOL - 100) End If ElseIf dblVOL < 100 Then ctlALG1_VGinNEED.Text = CDbl(ctlALG1_VGinNEED.Text) + (100 - dblVOL) End If Call CalcMe() End Sub Private Sub ctlALG1_RB_IceBlade_CheckedChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles ctlALG1_RB_IceBlade.CheckedChanged blTypeChangeManual = False If ctlALG1_RB_IceBlade.Checked = True Then ctlALG1_PGinBASE.Text = 95 ctlALG1_VGinBASE.Text = 0 ctlALG1_ADinBASE.Text = 5 ctlALG1_PGinBASE.Enabled = False ctlALG1_VGinBASE.Enabled = False ctlALG1_ADinBASE.Enabled = False End If Call CalcMe() blTypeChangeManual = True End Sub Private Sub ctlALG1_RB_Other_CheckedChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles ctlALG1_RB_Other.CheckedChanged blTypeChangeManual = False If ctlALG1_RB_Other.Checked = True Then ctlALG1_PGinBASE.Enabled = True ctlALG1_VGinBASE.Enabled = True ctlALG1_ADinBASE.Enabled = True End If Call CalcMe() blTypeChangeManual = True End Sub Private Sub ctlALG1_RB_Traditional_CheckedChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles ctlALG1_RB_Traditional.CheckedChanged blTypeChangeManual = False If ctlALG1_RB_Traditional.Checked = True Then ctlALG1_PGinBASE.Text = 55 ctlALG1_VGinBASE.Text = 35 ctlALG1_ADinBASE.Text = 10 ctlALG1_PGinBASE.Enabled = False ctlALG1_VGinBASE.Enabled = False ctlALG1_ADinBASE.Enabled = False End If Call CalcMe() blTypeChangeManual = True End Sub Private Sub ctlALG1_RB_Velvet_CheckedChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles ctlALG1_RB_Velvet.CheckedChanged blTypeChangeManual = False If ctlALG1_RB_Velvet.Checked = True Then ctlALG1_PGinBASE.Text = 0 ctlALG1_VGinBASE.Text = 80 ctlALG1_ADinBASE.Text = 20 ctlALG1_PGinBASE.Enabled = False ctlALG1_VGinBASE.Enabled = False ctlALG1_ADinBASE.Enabled = False End If Call CalcMe() blTypeChangeManual = True End Sub Private Sub ctlALG1_VGinBASE_Leave(ByVal sender As Object, ByVal e As System.EventArgs) Handles ctlALG1_VGinBASE.Leave If Not IsNumeric(ctlALG1_PGinBASE.Text) Then ctlALG1_PGinBASE.Text = 55 If Not IsNumeric(ctlALG1_VGinBASE.Text) Then ctlALG1_VGinBASE.Text = 35 If Not IsNumeric(ctlALG1_ADinBASE.Text) Then ctlALG1_ADinBASE.Text = 10 End Sub Private Sub ctlALG1_VGinBASE_TextChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles ctlALG1_VGinBASE.TextChanged Dim dblVOL As Double If blLoadINI = True Then Exit Sub If blTypeChangeManual = False Then Exit Sub ctlALG1_VGinBASE.Text = Replace(ctlALG1_VGinBASE.Text, ".", ",") If Not IsNumeric(ctlALG1_PGinBASE.Text) Then Exit Sub ' ctlALG1_PGinBASE.Text = 55 If Not IsNumeric(ctlALG1_VGinBASE.Text) Then Exit Sub ' ctlALG1_VGinBASE.Text = 35 If Not IsNumeric(ctlALG1_ADinBASE.Text) Then Exit Sub ' ctlALG1_ADinBASE.Text = 10 dblVOL = CDbl(ctlALG1_PGinBASE.Text) + CDbl(ctlALG1_VGinBASE.Text) + CDbl(ctlALG1_ADinBASE.Text) If dblVOL > 100 Then If CDbl(ctlALG1_PGinBASE.Text) >= (dblVOL - 100) Then ctlALG1_PGinBASE.Text = CDbl(ctlALG1_PGinBASE.Text) - (dblVOL - 100) ElseIf CDbl(ctlALG1_ADinBASE.Text) >= (dblVOL - 100) Then ctlALG1_ADinBASE.Text = CDbl(ctlALG1_ADinBASE.Text) - (dblVOL - 100) ElseIf CDbl(ctlALG1_VGinBASE.Text) >= (dblVOL - 100) Then ctlALG1_VGinBASE.Text = CDbl(ctlALG1_VGinBASE.Text) - (dblVOL - 100) End If ElseIf dblVOL < 100 Then ctlALG1_PGinBASE.Text = CDbl(ctlALG1_PGinBASE.Text) + (100 - dblVOL) End If Call CalcMe() End Sub Private Sub ctlALG1_VGinNEED_Leave(ByVal sender As Object, ByVal e As System.EventArgs) Handles ctlALG1_VGinNEED.Leave If Not IsNumeric(ctlALG1_PGinNEED.Text) Then ctlALG1_PGinNEED.Text = 65 If Not IsNumeric(ctlALG1_VGinNEED.Text) Then ctlALG1_VGinNEED.Text = 30 If Not IsNumeric(ctlALG1_ADinNEED.Text) Then ctlALG1_ADinNEED.Text = 0 If Not IsNumeric(ctlALG1_ARinNEED.Text) Then ctlALG1_ARinNEED.Text = 5 End Sub Private Sub ctlALG1_VGinNEED_TextChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles ctlALG1_VGinNEED.TextChanged Dim dblVOL As Double If blLoadINI = True Then Exit Sub ctlALG1_VGinNEED.Text = Replace(ctlALG1_VGinNEED.Text, ".", ",") If Not IsNumeric(ctlALG1_PGinNEED.Text) Then Exit Sub ' ctlALG1_PGinNEED.Text = 65 If Not IsNumeric(ctlALG1_VGinNEED.Text) Then Exit Sub ' ctlALG1_VGinNEED.Text = 30 If Not IsNumeric(ctlALG1_ADinNEED.Text) Then Exit Sub ' ctlALG1_ADinNEED.Text = 0 If Not IsNumeric(ctlALG1_ARinNEED.Text) Then Exit Sub ' ctlALG1_ARinNEED.Text = 5 dblVOL = CDbl(ctlALG1_PGinNEED.Text) + CDbl(ctlALG1_VGinNEED.Text) + CDbl(ctlALG1_ADinNEED.Text) + CDbl(ctlALG1_ARinNEED.Text) If dblVOL > 100 Then If CDbl(ctlALG1_PGinNEED.Text) >= (dblVOL - 100) Then ctlALG1_PGinNEED.Text = CDbl(ctlALG1_PGinNEED.Text) - (dblVOL - 100) ElseIf CDbl(ctlALG1_ADinNEED.Text) >= (dblVOL - 100) Then ctlALG1_ADinNEED.Text = CDbl(ctlALG1_ADinNEED.Text) - (dblVOL - 100) ElseIf CDbl(ctlALG1_VGinNEED.Text) >= (dblVOL - 100) Then ctlALG1_VGinNEED.Text = CDbl(ctlALG1_VGinNEED.Text) - (dblVOL - 100) End If ElseIf dblVOL < 100 Then ctlALG1_PGinNEED.Text = CDbl(ctlALG1_PGinNEED.Text) + (100 - dblVOL) End If Call CalcMe() End Sub Private Sub ctlALG1_VOLinNEED_Leave(ByVal sender As Object, ByVal e As System.EventArgs) Handles ctlALG1_VOLinNEED.Leave If Not IsNumeric(ctlALG1_VOLinNEED.Text) Then ctlALG1_VOLinNEED.Text = 10 If Not IsNumeric(ctlALG1_MLinDAY.Text) Then ctlALG1_MLinDAY.Text = 2 End Sub Private Sub ctlALG1_VOLinNEED_TextChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles ctlALG1_VOLinNEED.TextChanged If blLoadINI = True Then Exit Sub ctlALG1_VOLinNEED.Text = Replace(ctlALG1_VOLinNEED.Text, ".", ",") If Not IsNumeric(ctlALG1_VOLinNEED.Text) Then Exit Sub 'ctlALG1_VOLinNEED.Text = 10 If Not IsNumeric(ctlALG1_MLinDAY.Text) Then Exit Sub ' ctlALG1_MLinDAY.Text = 2 If CDbl(ctlALG1_MLinDAY.Text) <= 0 Then ctlALG1_MLinDAY.Text = 1 ctlALG1_DAYS.Text = CDbl(ctlALG1_VOLinNEED.Text) / CDbl(ctlALG1_MLinDAY.Text) Call CalcMe() End Sub Private Sub frmCalc_FormClosing(ByVal sender As Object, ByVal e As System.Windows.Forms.FormClosingEventArgs) Handles Me.FormClosing INI_SaveToFile() End Sub Private Sub frmCalc_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load blTypeChangeManual = True Call INI_LoadFromFile() 'blTypeChangeManual = True Call InitValues() Call CalcMe() End Sub Private Sub ctlLink_ToThread_LinkClicked(ByVal sender As System.Object, ByVal e As System.Windows.Forms.LinkLabelLinkClickedEventArgs) Handles ctlLink_ToThread.LinkClicked System.Diagnostics.Process.Start("http://www.ecigtalk.ru/forum/f23/t3197.html") End Sub Private Sub ctlLOGO_DoubleClick(ByVal sender As Object, ByVal e As System.EventArgs) Handles ctlLOGO.DoubleClick System.Diagnostics.Process.Start("http://www.ecigtalk.ru") End Sub Private Sub ctlLink_eCig_LinkClicked(ByVal sender As System.Object, ByVal e As System.Windows.Forms.LinkLabelLinkClickedEventArgs) Handles ctlLink_eCig.LinkClicked System.Diagnostics.Process.Start("http://www.ecigtalk.ru") End Sub Private Sub ctlLink_Svoemesto_LinkClicked(ByVal sender As System.Object, ByVal e As System.Windows.Forms.LinkLabelLinkClickedEventArgs) Handles ctlLink_Svoemesto.LinkClicked System.Diagnostics.Process.Start("http://www.ecigtalk.ru/members/u2124.html") End Sub Private Sub Language_RUS() ctlPageAlgoritm1.Text = "Базовая жидкость + PG/VG/AD" ctlPageAlgoritm2.Text = "Две базовые жидкости" ctlALG1_GrpBase.Text = "Состав базовой жидкости (PG/VG/AD)" ctlALG1_RB_Traditional.Text = "Traditional (55/35/10)" ctlALG1_RB_IceBlade.Text = "Ice Blade (95/0/5)" ctlALG1_RB_Velvet.Text = "Velvet Cloud (0/80/20)" ctlALG1_RB_Other.Text = "Другой" lblALG1_PGinBASE.Text = "PG" lblALG1_PGinBASE_suff.Text = "%" lblALG1_VGinBASE.Text = "VG" lblALG1_VGinBASE_suff.Text = "%" lblALG1_ADinBASE.Text = "AD" lblALG1_ADinBASE_suff.Text = "%" lblALG1_NICinBASE.Text = "Содержание никотина в базовой жидкости:" lblALG1_NICinBASE_suff.Text = "мг./мл." ctlALG1_Price.Text = "Цена ингредиентов" lblALG1_BASE_VOL.Text = "Цена базовой жидкости за" lblALG1_BASE_VOL_suff.Text = "мл. =" lblALG1_PG_VOL.Text = "Цена пропиленгликоля (PG) за" lblALG1_PG_VOL_suff.Text = "мл. =" lblALG1_VG_VOL.Text = "Цена пищ. глицерина (VG) за" lblALG1_VG_VOL_suff.Text = "мл. =" lblALG1_AD_VOL.Text = "Цена дистилл-ой воды (AD) за" lblALG1_AD_VOL_suff.Text = "мл. =" lblALG1_AR_VOL.Text = "Цена ароматизатора за" lblALG1_AR_VOL_suff.Text = "мл. =" lblALG1_DROPSinML.Text = "Количество капель в одном мл.:" ctlALG1_NEED.Text = "Хотим получить:" lblALG1_NICinNEED.Text = "Желаемое содержание никотина на выходе:" lblALG1_NICinNEED_suff.Text = "мг./мл." lblALG1_PGinNEED.Text = "Процент пропиленгликоля (PG):" lblALG1_PGinNEED_suff.Text = "%" lblALG1_VGinNEED.Text = "Процент пищевого глицерина (VG):" lblALG1_VGinNEED_suff.Text = "%" lblALG1_ADinNEED.Text = "Процент дистиллированной воды (AD):" lblALG1_ADinNEED_suff.Text = "%" lblALG1_ARinNEED.Text = "Процент ароматизаторов:" lblALG1_ARinNEED_suff.Text = "%" lblALG1_VOLinNEED.Text = "Требуемый объем жидкости на выходе:" lblALG1_VOLinNEED_suff.Text = "мл." lblALG1_MLinDAY.Text = "Средний расход жидкости в сутки:" lblALG1_MLinDAY_suff.Text = "мл./ сут." lblALG1_DAYS.Text = "Смешать запас жидкости на:" lblALG1_DAYS_suff.Text = "сут." ctlALG2_GrpBase1.Text = "Состав базовой жидкости №1 (PG/VG/AD)" ctlALG2_RB_Traditional1.Text = "Traditional (55/35/10)" ctlALG2_RB_IceBlade1.Text = "Ice Blade (95/0/5)" ctlALG2_RB_Velvet1.Text = "Velvet Cloud (0/80/20)" ctlALG2_RB_Other1.Text = "Другой" lblALG2_PGinBASE1.Text = "PG" lblALG2_PGinBASE1_suff.Text = "%" lblALG2_VGinBASE1.Text = "VG" lblALG2_VGinBASE1_suff.Text = "%" lblALG2_ADinBASE1.Text = "AD" lblALG2_ADinBASE1_suff.Text = "%" lblALG2_NICinBASE1.Text = "Содержание никотина в базовой жидкости:" lblALG2_NICinBASE1_suff.Text = "мг./мл." ctlALG2_GrpBase2.Text = "Состав базовой жидкости №2 (PG/VG/AD)" ctlALG2_RB_Traditional2.Text = "Traditional (55/35/10)" ctlALG2_RB_IceBlade2.Text = "Ice Blade (95/0/5)" ctlALG2_RB_Velvet2.Text = "Velvet Cloud (0/80/20)" ctlALG2_RB_Other2.Text = "Другой" lblALG2_PGinBASE2.Text = "PG" lblALG2_PGinBASE2_suff.Text = "%" lblALG2_VGinBASE2.Text = "VG" lblALG2_VGinBASE2_suff.Text = "%" lblALG2_ADinBASE2.Text = "AD" lblALG2_ADinBASE2_suff.Text = "%" lblALG2_NICinBASE2.Text = "Содержание никотина в базовой жидкости:" lblALG2_NICinBASE2_suff.Text = "мг./мл." ctlALG2_Price.Text = "Цена ингредиентов" lblALG2_BASE1_VOL.Text = "Цена базовой жидкости №1 за" lblALG2_BASE1_VOL_suff.Text = "мл. =" lblALG2_BASE2_VOL.Text = "Цена базовой жидкости №2 за" lblALG2_BASE2_VOL_suff.Text = "мл. =" lblALG2_AR_VOL.Text = "Цена ароматизатора за" lblALG2_AR_VOL_suff.Text = "мл. =" lblALG2_DROPSinML.Text = "Количество капель в одном мл.:" ctlALG2_NEED.Text = "Хотим получить:" lblALG2_NICinNEED.Text = "Желаемое содержание никотина на выходе:" lblALG2_NICinNEED_suff.Text = "мг./мл." lblALG2_ARinNEED.Text = "Процент ароматизаторов:" lblALG2_ARinNEED_suff.Text = "%" lblALG2_VOLinNEED.Text = "Требуемый объем жидкости на выходе:" lblALG2_VOLinNEED_suff.Text = "мл." ctlPageAdd1.Text = "Необходимо добавить:" lblALG1_BASEtoOUTml.Text = "Базовой жидкости:" lblALG1_BASEtoOUTml_suff.Text = "мл. =" lblALG1_BASEtoOUTdr.Text = "кап. =" lblALG1_PGtoOUTml.Text = "Пропиленгликоля (PG):" lblALG1_PGtoOUTml_suff.Text = "мл. =" lblALG1_PGtoOUTdr.Text = "кап. =" lblALG1_VGtoOUTml.Text = "Пищ. глицерина (VG):" lblALG1_VGtoOUTml_suff.Text = "мл. =" lblALG1_VGtoOUTdr.Text = "кап. =" lblALG1_ADtoOUTml.Text = "Дистилл-ой воды (AD):" lblALG1_ADtoOUTml_suff.Text = "мл. =" lblALG1_ADtoOUTdr.Text = "кап. =" lblALG1_ARtoOUTml.Text = "Ароматизаторов:" lblALG1_ARtoOUTml_suff.Text = "мл. =" lblALG1_ARtoOUTdr.Text = "кап. =" lblALG1_TOTAL_ML.Text = "ИТОГО:" lblALG1_TOTAL_ML_suff.Text = "мл. =" lblALG1_TOTAL_DR.Text = "кап. =" ctlPageAdd2.Text = "Необходимо добавить:" lblALG2_BASE1toOUTml.Text = "Базовой жидкости №1:" lblALG2_BASE1toOUTml_suff.Text = "мл. =" lblALG2_BASE1toOUTdr.Text = "кап. =" lblALG2_BASE2toOUTml.Text = "Базовой жидкости №2:" lblALG2_BASE2toOUTml_suff.Text = "мл. =" lblALG2_BASE2toOUTdr.Text = "кап. =" lblALG2_ARtoOUTml.Text = "Ароматизаторов:" lblALG2_ARtoOUTml_suff.Text = "мл. =" lblALG2_ARtoOUTdr.Text = "кап. =" lblALG2_TOTAL_ML.Text = "ИТОГО:" lblALG2_TOTAL_ML_suff.Text = "мл. =" lblALG2_TOTAL_DR.Text = "кап. =" ctlResult.Text = "В результате:" lblVOLinOUT.Text = "Объем жидкости на выходе:" lblVOLinOUT_suff.Text = "мл." lblNICinOUT.Text = "Содержание никотина на выходе:" lblNICinOUT_suff.Text = "мг./мл." lblPGinOUT.Text = "Процент пропиленгликоля (PG):" lblPGinOUT_suff.Text = "%" lblVGinOUT.Text = "Процент пищевого глицерина (VG):" lblVGinOUT_suff.Text = "%" lblADinOUT.Text = "Процент дистиллированной воды (AD):" lblADinOUT_suff.Text = "%" lblARinOUT.Text = "Процент ароматизаторов:" lblARinOUT_suff.Text = "%" lblLanguage.Text = "Язык интерфейса:" lblCurrency.Text = "Валюта:" End Sub Private Sub Language_ENG() ctlPageAlgoritm1.Text = "Base liquid + PG/VG/AD" ctlPageAlgoritm2.Text = "Two base liquids" ctlALG1_GrpBase.Text = "Structure of base liquid (PG/VG/AD)" ctlALG1_RB_Traditional.Text = "Traditional (55/35/10)" ctlALG1_RB_IceBlade.Text = "Ice Blade (95/0/5)" ctlALG1_RB_Velvet.Text = "Velvet Cloud (0/80/20)" ctlALG1_RB_Other.Text = "Other" lblALG1_PGinBASE.Text = "PG" lblALG1_PGinBASE_suff.Text = "%" lblALG1_VGinBASE.Text = "VG" lblALG1_VGinBASE_suff.Text = "%" lblALG1_ADinBASE.Text = "AD" lblALG1_ADinBASE_suff.Text = "%" lblALG1_NICinBASE.Text = "Nicotine in base liquid:" lblALG1_NICinBASE_suff.Text = "mg./ml." ctlALG1_Price.Text = "Price" lblALG1_BASE_VOL.Text = "Price of base liquid for" lblALG1_BASE_VOL_suff.Text = "мл. =" lblALG1_PG_VOL.Text = "Price of propylene glicol (PG) for" lblALG1_PG_VOL_suff.Text = "ml. =" lblALG1_VG_VOL.Text = "Price of glycerine (VG) for" lblALG1_VG_VOL_suff.Text = "ml. =" lblALG1_AD_VOL.Text = "Price of distill water (AD) for" lblALG1_AD_VOL_suff.Text = "ml. =" lblALG1_AR_VOL.Text = "Price of aroma for" lblALG1_AR_VOL_suff.Text = "ml. =" lblALG1_DROPSinML.Text = "Drops in one ml.:" ctlALG1_NEED.Text = "Wish to receive:" lblALG1_NICinNEED.Text = "Desirable maintenance of nicotine on an out:" lblALG1_NICinNEED_suff.Text = "mg./ml." lblALG1_PGinNEED.Text = "Percent of propylene glicol (PG):" lblALG1_PGinNEED_suff.Text = "%" lblALG1_VGinNEED.Text = "Percent of glycerine (VG):" lblALG1_VGinNEED_suff.Text = "%" lblALG1_ADinNEED.Text = "Percent of distill water (AD):" lblALG1_ADinNEED_suff.Text = "%" lblALG1_ARinNEED.Text = "Percent of aroma:" lblALG1_ARinNEED_suff.Text = "%" lblALG1_VOLinNEED.Text = "Demanded volume of a liquid on an out:" lblALG1_VOLinNEED_suff.Text = "ml." lblALG1_MLinDAY.Text = "Average expense of liquid in day:" lblALG1_MLinDAY_suff.Text = "ml./ day" lblALG1_DAYS.Text = "Mix a liquid stock for:" lblALG1_DAYS_suff.Text = "day" ctlALG2_GrpBase1.Text = "Structure of base liquid #1 (PG/VG/AD)" ctlALG2_RB_Traditional1.Text = "Traditional (55/35/10)" ctlALG2_RB_IceBlade1.Text = "Ice Blade (95/0/5)" ctlALG2_RB_Velvet1.Text = "Velvet Cloud (0/80/20)" ctlALG2_RB_Other1.Text = "Other" lblALG2_PGinBASE1.Text = "PG" lblALG2_PGinBASE1_suff.Text = "%" lblALG2_VGinBASE1.Text = "VG" lblALG2_VGinBASE1_suff.Text = "%" lblALG2_ADinBASE1.Text = "AD" lblALG2_ADinBASE1_suff.Text = "%" lblALG2_NICinBASE1.Text = "Nicotine in base liquid:" lblALG2_NICinBASE1_suff.Text = "mg./ml." ctlALG2_GrpBase2.Text = "Structure of base liquid #2 (PG/VG/AD)" ctlALG2_RB_Traditional2.Text = "Traditional (55/35/10)" ctlALG2_RB_IceBlade2.Text = "Ice Blade (95/0/5)" ctlALG2_RB_Velvet2.Text = "Velvet Cloud (0/80/20)" ctlALG2_RB_Other2.Text = "Other" lblALG2_PGinBASE2.Text = "PG" lblALG2_PGinBASE2_suff.Text = "%" lblALG2_VGinBASE2.Text = "VG" lblALG2_VGinBASE2_suff.Text = "%" lblALG2_ADinBASE2.Text = "AD" lblALG2_ADinBASE2_suff.Text = "%" lblALG2_NICinBASE2.Text = "Nicotine in base liquid:" lblALG2_NICinBASE2_suff.Text = "mg./ml." ctlALG2_Price.Text = "Price" lblALG2_BASE1_VOL.Text = "Price of base liquid #1 for" lblALG2_BASE1_VOL_suff.Text = "ml. =" lblALG2_BASE2_VOL.Text = "Price of base liquid #2 for" lblALG2_BASE2_VOL_suff.Text = "ml. =" lblALG2_AR_VOL.Text = "Price of aroma for" lblALG2_AR_VOL_suff.Text = "ml. =" lblALG2_DROPSinML.Text = "Drops in one ml.:" ctlALG2_NEED.Text = "Wish to receive:" lblALG2_NICinNEED.Text = "Desirable maintenance of nicotine on an out:" lblALG2_NICinNEED_suff.Text = "mg./ml." lblALG2_ARinNEED.Text = "Percent of aroma:" lblALG2_ARinNEED_suff.Text = "%" lblALG2_VOLinNEED.Text = "Demanded volume of a liquid on an out:" lblALG2_VOLinNEED_suff.Text = "ml." ctlPageAdd1.Text = "Necessary to add:" lblALG1_BASEtoOUTml.Text = "Base liquid:" lblALG1_BASEtoOUTml_suff.Text = "ml. =" lblALG1_BASEtoOUTdr.Text = "dr. =" lblALG1_PGtoOUTml.Text = "Propylene glicol (PG):" lblALG1_PGtoOUTml_suff.Text = "ml. =" lblALG1_PGtoOUTdr.Text = "dr. =" lblALG1_VGtoOUTml.Text = "Glycerine (VG):" lblALG1_VGtoOUTml_suff.Text = "ml. =" lblALG1_VGtoOUTdr.Text = "dr. =" lblALG1_ADtoOUTml.Text = "Distill water (AD):" lblALG1_ADtoOUTml_suff.Text = "ml. =" lblALG1_ADtoOUTdr.Text = "dr. =" lblALG1_ARtoOUTml.Text = "Aroma:" lblALG1_ARtoOUTml_suff.Text = "ml. =" lblALG1_ARtoOUTdr.Text = "dr. =" lblALG1_TOTAL_ML.Text = "TOTAL:" lblALG1_TOTAL_ML_suff.Text = "ml. =" lblALG1_TOTAL_DR.Text = "dr. =" ctlPageAdd2.Text = "Necessary to add:" lblALG2_BASE1toOUTml.Text = "Base liquid #1:" lblALG2_BASE1toOUTml_suff.Text = "ml. =" lblALG2_BASE1toOUTdr.Text = "dr. =" lblALG2_BASE2toOUTml.Text = "Base liquid #2:" lblALG2_BASE2toOUTml_suff.Text = "ml. =" lblALG2_BASE2toOUTdr.Text = "dr. =" lblALG2_ARtoOUTml.Text = "Aroma:" lblALG2_ARtoOUTml_suff.Text = "ml. =" lblALG2_ARtoOUTdr.Text = "dr. =" lblALG2_TOTAL_ML.Text = "TOTAL:" lblALG2_TOTAL_ML_suff.Text = "ml. =" lblALG2_TOTAL_DR.Text = "dr. =" ctlResult.Text = "In result:" lblVOLinOUT.Text = "Volume of liquid in out:" lblVOLinOUT_suff.Text = "ml." lblNICinOUT.Text = "Nicotine in out:" lblNICinOUT_suff.Text = "mg./ml." lblPGinOUT.Text = "Percent of propylene glicol (PG):" lblPGinOUT_suff.Text = "%" lblVGinOUT.Text = "Percent of glycerine (VG):" lblVGinOUT_suff.Text = "%" lblADinOUT.Text = "Percent of distill water (AD):" lblADinOUT_suff.Text = "%" lblARinOUT.Text = "Percent of aroma:" lblARinOUT_suff.Text = "%" lblLanguage.Text = "Language:" lblCurrency.Text = "Currency:" End Sub Private Sub Currency_RUB() lblALG1_BASE_PRICE.Text = "руб." lblALG1_PG_PRICE.Text = "руб." lblALG1_VG_PRICE.Text = "руб." lblALG1_AD_PRICE.Text = "руб." lblALG1_AR_PRICE.Text = "руб." lblALG2_BASE1_PRICE.Text = "руб." lblALG2_BASE2_PRICE.Text = "руб." lblALG2_AR_PRICE.Text = "руб." lblALG1_BASE_RUB.Text = "руб." lblALG1_PG_RUB.Text = "руб." lblALG1_VG_RUB.Text = "руб." lblALG1_AD_RUB.Text = "руб." lblALG1_AR_RUB.Text = "руб." lblALG1_TOTAL_RUB.Text = "руб." lblALG2_BASE1_RUB.Text = "руб." lblALG2_BASE2_RUB.Text = "руб." lblALG2_AR_RUB.Text = "руб." lblALG2_TOTAL_RUB.Text = "руб." End Sub Private Sub Currency_USD() lblALG1_BASE_PRICE.Text = "$" lblALG1_PG_PRICE.Text = "$" lblALG1_VG_PRICE.Text = "$" lblALG1_AD_PRICE.Text = "$" lblALG1_AR_PRICE.Text = "$" lblALG2_BASE1_PRICE.Text = "$" lblALG2_BASE2_PRICE.Text = "$" lblALG2_AR_PRICE.Text = "$" lblALG1_BASE_RUB.Text = "$" lblALG1_PG_RUB.Text = "$" lblALG1_VG_RUB.Text = "$" lblALG1_AD_RUB.Text = "$" lblALG1_AR_RUB.Text = "$" lblALG1_TOTAL_RUB.Text = "$" lblALG2_BASE1_RUB.Text = "$" lblALG2_BASE2_RUB.Text = "$" lblALG2_AR_RUB.Text = "$" lblALG2_TOTAL_RUB.Text = "$" End Sub Private Sub Currency_EUR() lblALG1_BASE_PRICE.Text = "€" lblALG1_PG_PRICE.Text = "€" lblALG1_VG_PRICE.Text = "€" lblALG1_AD_PRICE.Text = "€" lblALG1_AR_PRICE.Text = "€" lblALG2_BASE1_PRICE.Text = "€" lblALG2_BASE2_PRICE.Text = "€" lblALG2_AR_PRICE.Text = "€" lblALG1_BASE_RUB.Text = "€" lblALG1_PG_RUB.Text = "€" lblALG1_VG_RUB.Text = "€" lblALG1_AD_RUB.Text = "€" lblALG1_AR_RUB.Text = "€" lblALG1_TOTAL_RUB.Text = "€" lblALG2_BASE1_RUB.Text = "€" lblALG2_BASE2_RUB.Text = "€" lblALG2_AR_RUB.Text = "€" lblALG2_TOTAL_RUB.Text = "€" End Sub Private Sub ctlLanguage_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ctlLanguage.SelectedIndexChanged If ctlLanguage.Text = "English" Then Call Language_ENG() Else ctlLanguage.Text = "Русский" Call Language_RUS() End If End Sub Private Sub ctlCurrency_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ctlCurrency.SelectedIndexChanged If ctlCurrency.Text = "USD" Then Call Currency_USD() ElseIf ctlCurrency.Text = "EURO" Then Call Currency_EUR() Else ctlCurrency.Text = "Руб." Call Currency_RUB() End If End Sub Public Function SortList(ByVal strList As String, ByVal strDec As String) As String Dim lngCount As Integer, i As Integer Dim strWord As String Dim arr() As Double Dim bl As Boolean Dim dbl As Double If Mid(strList, Len(strList), Len(strDec)) <> strDec Then strList = strList & strDec lngCount = StrUtils_GetCountSubStrings(strList, strDec, 1) ReDim arr(lngCount + 1) For i = 1 To lngCount strWord = StrUtils_GetWordDec(strList, i, strDec) arr(i) = CDbl(strWord) Next i bl = True Do Until Not bl bl = False For i = 1 To lngCount - 1 If arr(i) > arr(i + 1) Then dbl = arr(i + 1) arr(i + 1) = arr(i) arr(i) = dbl bl = True End If Next i Loop strWord = "" For i = 1 To lngCount strWord = strWord & arr(i) & strDec Next i If strWord <> "" Then strWord = Mid(strWord, 1, Len(strWord) - Len(strDec)) End If SortList = strWord End Function Private Sub AddToList(ByRef ctl As Object) Dim bl As Boolean, strListItems As String bl = False strListItems = "" For i = 0 To ctl.Items.Count - 1 strListItems = strListItems & ctl.Items(i).ToString & ";" If ctl.Items(i).ToString = ctl.Text Then bl = True End If Next i If bl = False Then strListItems = strListItems & ctl.Text strListItems = SortList(strListItems, ";") If Mid(strListItems, Len(strListItems) - 1, 1) <> ";" Then strListItems = strListItems & ";" ctl.Items.Clear() For i = 1 To StrUtils_GetCountSubStrings(strListItems, ";", 1) ctl.Items.Add(StrUtils_GetWordDec(strListItems, i, ";")) Next End If End Sub Private Sub DelFromList(ByRef ctl As Object) Dim bl As Boolean, strListItems As String bl = False strListItems = "" For i = 0 To ctl.Items.Count - 1 If ctl.Items(i).ToString = ctl.Text Then bl = True Else strListItems = strListItems & ctl.Items(i).ToString & ";" End If Next i If bl = True Then If Len(strListItems) <> 0 Then strListItems = Mid(strListItems, 1, Len(strListItems) - 1) strListItems = SortList(strListItems, ";") If Mid(strListItems, Len(strListItems) - 1, 1) <> ";" Then strListItems = strListItems & ";" ctl.Items.Clear() For i = 1 To StrUtils_GetCountSubStrings(strListItems, ";", 1) ctl.Items.Add(StrUtils_GetWordDec(strListItems, i, ";")) Next End If End Sub Private Sub ctlSave_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ctlSave.Click Dim strFileName As String, strFilePath As String, strAppExtPath As String, strFileNameAndPath As String strAppExtPath = Application.ExecutablePath strFilePath = GetFromString_FileFolder(strAppExtPath) strFileName = Mid(GetFromString_FileName(strAppExtPath), 1, Len(GetFromString_FileName(strAppExtPath)) - Len(GetFromString_FileExt(strAppExtPath)) - 1) & ".ini" strFileNameAndPath = strFilePath & "\" & strFileName Dim strFileName2Save As String Dim ctlSaveFileDialog As New SaveFileDialog() ctlSaveFileDialog.Filter = "eJMC templates (*.eJMC)|*.eJMC" ctlSaveFileDialog.FilterIndex = 1 ctlSaveFileDialog.RestoreDirectory = True If ctlSaveFileDialog.ShowDialog() = DialogResult.OK Then strFileName2Save = ctlSaveFileDialog.FileName Call INI_SaveToFile() FileSystem.FileCopy(strFileName, strFileName2Save) End If End Sub Private Sub ctlLoad_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ctlLoad.Click Dim strFileName As String, strFilePath As String, strAppExtPath As String, strFileNameAndPath As String strAppExtPath = Application.ExecutablePath strFilePath = GetFromString_FileFolder(strAppExtPath) strFileName = Mid(GetFromString_FileName(strAppExtPath), 1, Len(GetFromString_FileName(strAppExtPath)) - Len(GetFromString_FileExt(strAppExtPath)) - 1) & ".ini" strFileNameAndPath = strFilePath & "\" & strFileName Dim strFileName2Load As String Dim ctlOpenFileDialog As New OpenFileDialog() ctlOpenFileDialog.Filter = "eJMC templates (*.eJMC)|*.eJMC" ctlOpenFileDialog.FilterIndex = 1 ctlOpenFileDialog.RestoreDirectory = True If ctlOpenFileDialog.ShowDialog() = DialogResult.OK Then strFileName2Load = ctlOpenFileDialog.FileName FileSystem.FileCopy(strFileName2Load, strFileName) Call INI_LoadFromFile() End If End Sub Private Sub ctlALG1_NICinBASE_add_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ctlALG1_NICinBASE_add.Click Call AddToList(ctlALG1_NICinBASE) End Sub Private Sub ctlALG1_NICinBASE_del_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ctlALG1_NICinBASE_del.Click Call DelFromList(ctlALG1_NICinBASE) End Sub Private Sub ctlALG1_ADinBASE_add_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles ctlALG1_ADinBASE_add.Click Call AddToList(ctlALG1_ADinBASE) End Sub Private Sub ctlALG1_ADinBASE_del_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles ctlALG1_ADinBASE_del.Click Call DelFromList(ctlALG1_ADinBASE) End Sub Private Sub ctlALG1_ADinNEED_add_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles ctlALG1_ADinNEED_add.Click Call AddToList(ctlALG1_ADinNEED) End Sub Private Sub ctlALG1_ADinNEED_del_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles ctlALG1_ADinNEED_del.Click Call DelFromList(ctlALG1_ADinNEED) End Sub Private Sub ctlALG1_ARinNEED_add_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles ctlALG1_ARinNEED_add.Click Call AddToList(ctlALG1_ARinNEED) End Sub Private Sub ctlALG1_ARinNEED_del_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles ctlALG1_ARinNEED_del.Click Call DelFromList(ctlALG1_ARinNEED) End Sub Private Sub ctlALG1_DAYS_add_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles ctlALG1_DAYS_add.Click Call AddToList(ctlALG1_DAYS) End Sub Private Sub ctlALG1_DAYS_del_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles ctlALG1_DAYS_del.Click Call DelFromList(ctlALG1_DAYS) End Sub Private Sub ctlALG1_DROPSinML_add_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles ctlALG1_DROPSinML_add.Click Call AddToList(ctlALG1_DROPSinML) End Sub Private Sub ctlALG1_DROPSinML_del_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles ctlALG1_DROPSinML_del.Click Call DelFromList(ctlALG1_DROPSinML) End Sub Private Sub ctlALG1_MLinDAY_add_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles ctlALG1_MLinDAY_add.Click Call AddToList(ctlALG1_MLinDAY) End Sub Private Sub ctlALG1_MLinDAY_del_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles ctlALG1_MLinDAY_del.Click Call DelFromList(ctlALG1_MLinDAY) End Sub Private Sub ctlALG1_NICinNEED_add_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles ctlALG1_NICinNEED_add.Click Call AddToList(ctlALG1_NICinNEED) End Sub Private Sub ctlALG1_NICinNEED_del_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles ctlALG1_NICinNEED_del.Click Call DelFromList(ctlALG1_NICinNEED) End Sub Private Sub ctlALG1_PGinBASE_add_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles ctlALG1_PGinBASE_add.Click Call AddToList(ctlALG1_PGinBASE) End Sub Private Sub ctlALG1_PGinBASE_del_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles ctlALG1_PGinBASE_del.Click Call DelFromList(ctlALG1_PGinBASE) End Sub Private Sub ctlALG1_PGinNEED_add_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles ctlALG1_PGinNEED_add.Click Call AddToList(ctlALG1_PGinNEED) End Sub Private Sub ctlALG1_PGinNEED_del_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles ctlALG1_PGinNEED_del.Click Call DelFromList(ctlALG1_PGinNEED) End Sub Private Sub ctlALG1_VGinBASE_add_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles ctlALG1_VGinBASE_add.Click Call AddToList(ctlALG1_VGinBASE) End Sub Private Sub ctlALG1_VGinBASE_del_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles ctlALG1_VGinBASE_del.Click Call DelFromList(ctlALG1_VGinBASE) End Sub Private Sub ctlALG1_VGinNEED_add_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles ctlALG1_VGinNEED_add.Click Call AddToList(ctlALG1_VGinNEED) End Sub Private Sub ctlALG1_VGinNEED_del_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles ctlALG1_VGinNEED_del.Click Call DelFromList(ctlALG1_VGinNEED) End Sub Private Sub ctlALG1_VOLinNEED_add_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles ctlALG1_VOLinNEED_add.Click Call AddToList(ctlALG1_VOLinNEED) End Sub Private Sub ctlALG1_VOLinNEED_del_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles ctlALG1_VOLinNEED_del.Click Call DelFromList(ctlALG1_VOLinNEED) End Sub Private Sub ctlALG2_ADinBASE1_add_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles ctlALG2_ADinBASE1_add.Click Call AddToList(ctlALG2_ADinBASE1) End Sub Private Sub ctlALG2_ADinBASE1_del_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles ctlALG2_ADinBASE1_del.Click Call DelFromList(ctlALG2_ADinBASE1) End Sub Private Sub ctlALG2_ADinBASE2_add_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles ctlALG2_ADinBASE2_add.Click Call AddToList(ctlALG2_ADinBASE2) End Sub Private Sub ctlALG2_ADinBASE2_del_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles ctlALG2_ADinBASE2_del.Click Call DelFromList(ctlALG2_ADinBASE2) End Sub Private Sub ctlALG2_ARinNEED_add_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles ctlALG2_ARinNEED_add.Click Call AddToList(ctlALG2_ARinNEED) End Sub Private Sub ctlALG2_ARinNEED_del_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles ctlALG2_ARinNEED_del.Click Call DelFromList(ctlALG2_ARinNEED) End Sub Private Sub ctlALG2_NICinBASE1_add_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles ctlALG2_NICinBASE1_add.Click Call AddToList(ctlALG2_NICinBASE1) End Sub Private Sub ctlALG2_NICinBASE1_del_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles ctlALG2_NICinBASE1_del.Click Call DelFromList(ctlALG2_NICinBASE1) End Sub Private Sub ctlALG2_NICinBASE2_add_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles ctlALG2_NICinBASE2_add.Click Call AddToList(ctlALG2_NICinBASE2) End Sub Private Sub ctlALG2_NICinBASE2_del_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles ctlALG2_NICinBASE2_del.Click Call DelFromList(ctlALG2_NICinBASE2) End Sub Private Sub ctlALG2_NICinNEED_add_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles ctlALG2_NICinNEED_add.Click Call AddToList(ctlALG2_NICinNEED) End Sub Private Sub ctlALG2_NICinNEED_del_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles ctlALG2_NICinNEED_del.Click Call DelFromList(ctlALG2_NICinNEED) End Sub Private Sub ctlALG2_PGinBASE1_add_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles ctlALG2_PGinBASE1_add.Click Call AddToList(ctlALG2_PGinBASE1) End Sub Private Sub ctlALG2_PGinBASE1_del_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles ctlALG2_PGinBASE1_del.Click Call DelFromList(ctlALG2_PGinBASE1) End Sub Private Sub ctlALG2_PGinBASE2_add_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles ctlALG2_PGinBASE2_add.Click Call AddToList(ctlALG2_PGinBASE2) End Sub Private Sub ctlALG2_PGinBASE2_del_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles ctlALG2_PGinBASE2_del.Click Call DelFromList(ctlALG2_PGinBASE2) End Sub Private Sub ctlALG2_VGinBASE1_add_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles ctlALG2_VGinBASE1_add.Click Call AddToList(ctlALG2_VGinBASE1) End Sub Private Sub ctlALG2_VGinBASE1_del_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles ctlALG2_VGinBASE1_del.Click Call DelFromList(ctlALG2_VGinBASE1) End Sub Private Sub ctlALG2_VGinBASE2_add_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles ctlALG2_VGinBASE2_add.Click Call AddToList(ctlALG2_VGinBASE2) End Sub Private Sub ctlALG2_VGinBASE2_del_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles ctlALG2_VGinBASE2_del.Click Call DelFromList(ctlALG2_VGinBASE2) End Sub Private Sub ctlALG2_VOLinNEED_add_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles ctlALG2_VOLinNEED_add.Click Call AddToList(ctlALG2_VOLinNEED) End Sub Private Sub ctlALG2_VOLinNEED_del_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles ctlALG2_VOLinNEED_del.Click Call DelFromList(ctlALG2_VOLinNEED) End Sub
Магазин SvoёMesto
Кабачки они такие, когда хотят приходят, хотят уходят, ничего не боятся и вообще пасленово им. А могут и по тыкве того... (ц) Эррата
★ Потрачено на "электричество": да хз уже... тыр 60 [28.05.2016]. но таки окупилось же...
Написал eJuiceCalculator для Мака
Moscow vape-кафе
Сало викликає вже оргазм (ц)
С П А С И Б О !
Спасибо. Работает отлично.
Кабачки они такие, когда хотят приходят, хотят уходят, ничего не боятся и вообще пасленово им. А могут и по тыкве того... (ц) Эррата
★ Потрачено на "электричество": да хз уже... тыр 60 [28.05.2016]. но таки окупилось же...
Написал eJuiceCalculator для Мака
Moscow vape-кафе
Сало викликає вже оргазм (ц)