Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Помогите в упрощении кода / 17 сообщений из 17, страница 1 из 1
22.12.2014, 07:22
    #38839281
Skye
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите в упрощении кода
На работе дали задание - объединить несколько скриптов в один и упростить полученное. Скрипты рабочие, проверяют несколько листов на наличие нужных данных, и выводят их в на листы 9 (ПНОС ДЕБЛОКИР) и 10 (ПНОС КОНТУРА). Часть я уже объединил без проблем, т.к. очень схожие. Сейчас надо понять как их упрощать, потому что есть еще несколько, которые надо дописать в скрипт. Проблема в упрощении. И да, я не гуру VB, и надеюсь на максимально простые ответы, а можно и с примерами даже))

Вот собственно сам скрипт:
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
78.
79.
80.
81.
82.
83.
84.
85.
86.
87.
88.
89.
90.
91.
92.
93.
94.
95.
96.
97.
98.
99.
100.
101.
102.
103.
104.
105.
106.
107.
108.
109.
110.
111.
112.
113.
114.
115.
116.
117.
118.
119.
120.
121.
122.
123.
124.
125.
126.
127.
128.
129.
130.
131.
132.
133.
134.
135.
136.
137.
138.
139.
140.
141.
142.
143.
144.
145.
146.
147.
148.
149.
150.
151.
152.
153.
154.
155.
156.
157.
158.
159.
160.
161.
162.
163.
164.
165.
166.
167.
168.
169.
170.
171.
172.
173.
174.
175.
176.
177.
178.
179.
180.
181.
182.
183.
184.
185.
186.
187.
188.
189.
190.
191.
192.
193.
194.
195.
196.
197.
198.
199.
200.
201.
202.
203.
204.
205.
206.
207.
208.
209.
210.
211.
212.
213.
214.
215.
216.
217.
218.
219.
220.
221.
222.
223.
224.
225.
226.
227.
228.
229.
230.
231.
232.
233.
Sub Skye()
Dim FinalCol As Integer     ' Последний столбец
Dim FinalRow As Long        ' Последняя строка
Dim FinalRowTab As Long     ' Последняя строка таблицы
Dim StrH As String          ' часы
Dim StrMIN As String        ' минуты
Dim IntSEK As String        ' секунды
Dim StrY As String          ' год
Dim StrM As String          ' месяц
Dim StrD As String          ' число
Dim StrDATA As String       ' Дата
Dim StrNAME As String       ' Имя
Dim StrDESC As String       ' Дескриптор
Dim StrOLDST As String      ' старое состояние
Dim StrSTAT As String       ' новое состояние
Dim StrOPER As String       ' Оператор

'База SQL унас на листе №1
'Пустая таблица для Регуляторов на листе№2
'Пустая таблица для ключей на листе№3
'На листе №4 унас все точки с дескрипторами выкачанные из Control Builder
'На листе №5 образец запроса в SQL

   Sheets("ПНОС ДЕБЛОКИР").Activate
   ActiveSheet.Range("A2:K10000").Value = ""
   Cells(2, 1).Select
   Sheets("ПНОС КОНТУРА").Activate               'Очистка таблиц
   ActiveSheet.Range("A2:K10000").Value = ""
   Cells(2, 1).Select

Sheets("H1SRV_NEW").Activate                                'База SQL у нас на листе №1
FinalCol = Cells(1, Columns.Count).End(xlToLeft).Column     'Последняя заполненый столбец в первой строке
FinalRow = Cells(Rows.Count, "C").End(xlUp).Row             'Последняя заполненая строка в третьем столбце

For i = 1 To FinalRow                                      'Заполняем таблицу REG на листе№2
    If Cells(i, 3).Value = "pida.mode" Then
        IntY = Left(Cells(i, 1), 4)
        IntM = Mid(Cells(i, 1), 6, 2)
        IntD = Mid(Cells(i, 1), 9, 2)
        IntH = Mid(Cells(i, 1), 12, 2)
        IntMIN = Mid(Cells(i, 1), 15, 2)
        IntSEK = Mid(Cells(i, 1), 18, 2)
        StrDATA = (IntD & "." & IntM & "." & IntY & " " & IntH & ":" & IntMIN & ":" & IntSEK) 'Собираем дату
        
        StrOPER = Mid(Cells(i, 8), 1) ' Заполняем столбец с операторами
        
        StrNAME = Mid(Cells(i, 2), 1)
        Sheets("DESC").Activate                            'На листе №4 у нас все точки с дескрипторами выкачанные из Control Builder
        FinalRowTab = Cells(Rows.Count, "A").End(xlUp).Row 'Соответственно ищем нужный
            For j = 1 To FinalRowTab
                If Cells(j, 1).Value = StrNAME Then
                StrDESC = Cells(j, 3).Value
                Sheets("H1SRV_NEW").Activate
                Exit For
                End If
            Next j
        StrOLDST = Mid(Cells(i, 4), 1)
        StrSTAT = Mid(Cells(i, 5), 1)
        StrTITUL = Cells(i, 10).Value   'Ищем нужный титул, если в базе титул только один - можно это закоментить
           If Left(StrTITUL, 3) = "510" And Left(StrTITUL, 4) <> "510a" Or StrTITUL = "MCK" Or StrTITUL = "10GB301" Or StrTITUL = "19" Or StrTITUL = "3" Or StrTITUL = "5" Or StrTITUL = "10PA101" Or StrTITUL = "7" Or StrTITUL = "11" Or StrTITUL = "2" Or StrTITUL = "8" Or StrTITUL = "4" Or StrTITUL = "9" Or StrTITUL = "1" Or StrTITUL = "10" Then
                StrTITUL = "т.510 гидрокрекинг"
                    ElseIf Left(StrTITUL, 4) = "510a" Then
                    StrTITUL = "т.510A РК и ГДА"
                        ElseIf Left(StrTITUL, 3) = "512" Then
                       StrTITUL = "т.512"
                            ElseIf Left(StrTITUL, 3) = "545" Then
                            StrTITUL = "т.545"
                                ElseIf Left(StrTITUL, 3) = "521" Or StrTITUL = "21GB103_DK" Or StrTITUL = "21GB103" Then
                                StrTITUL = "т.521 пр-во водорода"
                                    ElseIf Left(StrTITUL, 3) = "211" Or StrTITUL = "GK51" Or StrTITUL = "21GB103" Then
                                    StrTITUL = "21-10/3М"
           End If
        Sheets("ПНОС КОНТУРА").Activate
        FinalRowTab = Cells(Rows.Count, "A").End(xlUp).Row
        Cells(FinalRowTab + 1, 1).Value = "ПНОС"
        Cells(FinalRowTab + 1, 2).Value = StrDATA
        Cells(FinalRowTab + 1, 3).Value = StrNAME
        Cells(FinalRowTab + 1, 4).Value = StrDESC
        Cells(FinalRowTab + 1, 5).Value = StrOLDST
        Cells(FinalRowTab + 1, 6).Value = StrSTAT
        Cells(FinalRowTab + 1, 7).Value = StrTITUL
        Cells(FinalRowTab + 1, 9).Value = "Начальник установки"
        Cells(FinalRowTab + 1, 11).Value = StrOPER
        Sheets("H1SRV_NEW").Activate
    End If
    
    Next i
For i = 1 To FinalRow                                   'Заполняем таблицу KEY на листе№3
    If Right(Cells(i, 3), 8) = "_DK.PVFL" Then
        
        StrOPER = Mid(Cells(i, 8), 1) ' Заполняем столбец с операторами
        StrNAME = Cells(i, 3).Value
        a = Split(StrNAME, ".")
        StrNAME = a(0)
        StrDESC = "Деблокировочный ключ"
        StrSTAT = Mid(Cells(i, 5), 1)
            If StrSTAT = "OFF" Then
                StrSTAT = "Деблокирован"
                Else: StrSTAT = "Востановлен"
            End If
            
        StrTITUL = Cells(i, 10).Value
            If Left(StrTITUL, 3) = "510" And Left(StrTITUL, 4) <> "510a" Or StrTITUL = "MCK" Then
                StrTITUL = "т.510 гидрокрекинг"
                    ElseIf Left(StrTITUL, 4) = "510a" Or StrTITUL = "10GB301" Or StrTITUL = "10GB301_DK" Then
                    StrTITUL = "т.510A РК и ГДА"
                        ElseIf Left(StrTITUL, 3) = "512" Then
                        StrTITUL = "т.512"
                            ElseIf Left(StrTITUL, 3) = "545" Then
                            StrTITUL = "т.545"
                                ElseIf Left(StrTITUL, 3) = "521" Or StrTITUL = "21GB103_DK" Or StrTITUL = "21GB103" Then
                                StrTITUL = "т.521 пр-во водорода"
                                    ElseIf Left(StrTITUL, 3) = "211" Or StrTITUL = "GK51" Or StrTITUL = "21GB103" Then
                                    StrTITUL = "т.521 пр-во водорода"
           End If
        Sheets("ПНОС ДЕБЛОКИР").Select
        FinalRowTab = Cells(Rows.Count, "A").End(xlUp).Row
        Cells(FinalRowTab + 1, 1).Value = "ПНОС"
        Cells(FinalRowTab + 1, 2).Value = StrDATA
        Cells(FinalRowTab + 1, 3).Value = StrNAME
        Cells(FinalRowTab + 1, 4).Value = StrDESC
        Cells(FinalRowTab + 1, 5).Value = StrSTAT
        Cells(FinalRowTab + 1, 6).Value = "510 гидрокрекинг"
        Cells(FinalRowTab + 1, 8).Value = "Начальник установки"
        Cells(FinalRowTab + 1, 10).Value = StrOPER
        Sheets("H1SRV_NEW").Select
    End If
Next i

Sheets("H11SRV_NEW").Activate                                           'База SQL унас на листе №1
FinalCol = Cells(1, Columns.Count).End(xlToLeft).Column     'Последняя заполненый столбец в первой строке
FinalRow = Cells(Rows.Count, "C").End(xlUp).Row             'Последняя заполненая строка в третьем столбце

For i = 1 To FinalRow                                      'Заполняем таблицу REG на листе№2
    If Cells(i, 3).Value = "pida.mode" Then
        IntY = Left(Cells(i, 1), 4)
        IntM = Mid(Cells(i, 1), 6, 2)
        IntD = Mid(Cells(i, 1), 9, 2)
        IntH = Mid(Cells(i, 1), 12, 2)
        IntMIN = Mid(Cells(i, 1), 15, 2)
        IntSEK = Mid(Cells(i, 1), 18, 2)
        StrDATA = (IntD & "." & IntM & "." & IntY & " " & IntH & ":" & IntMIN & ":" & IntSEK) 'Собираем дату
        
        StrOPER = Mid(Cells(i, 8), 1) ' Заполняем столбец с операторами
        
        StrNAME = Mid(Cells(i, 2), 1)
        Sheets("DESC").Activate                                  'На листе №4 унас все точки с дескрипторами выкачанные из Control Builder
        FinalRowTab = Cells(Rows.Count, "A").End(xlUp).Row 'Соответственно ищем нужный
            For j = 1 To FinalRowTab
                If Cells(j, 1).Value = StrNAME Then
                StrDESC = Cells(j, 3).Value
                Sheets("H11SRV_NEW").Activate
                Exit For
                End If
            Next j
        StrOLDST = Mid(Cells(i, 4), 1)
        StrSTAT = Mid(Cells(i, 5), 1)
        StrTITUL = Cells(i, 10).Value   'Ищщем нужный титул, если в базе титул только один можно это закоментить
            If Left(StrTITUL, 3) = "510" And Left(StrTITUL, 4) <> "510a" Or StrTITUL = "MCK" Or StrTITUL = "10GB301" Or StrTITUL = "19" Or StrTITUL = "3" Or StrTITUL = "5" Or StrTITUL = "10PA101" Or StrTITUL = "7" Or StrTITUL = "11" Or StrTITUL = "2" Or StrTITUL = "8" Or StrTITUL = "4" Or StrTITUL = "9" Then
                StrTITUL = "т.510 гидрокрекинг"
                    ElseIf Left(StrTITUL, 4) = "510a" Or StrTITUL = "10GB301" Then
                    StrTITUL = "т.510A РК и ГДА"
                        ElseIf Left(StrTITUL, 3) = "512" Then
                        StrTITUL = "т.512"
                            ElseIf Left(StrTITUL, 3) = "545" Then
                            StrTITUL = "т.545"
                                ElseIf Left(StrTITUL, 3) = "521" Or StrTITUL = "21GB103_DK" Or StrTITUL = "21GB103" Then
                                StrTITUL = "т.521 пр-во водорода"
                                    ElseIf Left(StrTITUL, 3) = "211" Or StrTITUL = "GK51" Or StrTITUL = "21GB103" Then
                                    StrTITUL = "21-10/3М"
           End If
        Sheets("ПНОС КОНТУРА").Activate
        FinalRowTab = Cells(Rows.Count, "A").End(xlUp).Row
        Cells(FinalRowTab + 1, 1).Value = "ПНОС"
        Cells(FinalRowTab + 1, 2).Value = StrDATA
        Cells(FinalRowTab + 1, 3).Value = StrNAME
        Cells(FinalRowTab + 1, 4).Value = StrDESC
        Cells(FinalRowTab + 1, 5).Value = StrOLDST
        Cells(FinalRowTab + 1, 6).Value = StrSTAT
        Cells(FinalRowTab + 1, 7).Value = StrTITUL
        Cells(FinalRowTab + 1, 9).Value = "Начальник установки"
        Cells(FinalRowTab + 1, 11).Value = StrOPER
        Sheets("H11SRV_NEW").Activate
    End If

Next i
For i = 1 To FinalRow                                   'Заполняем таблицу KEY на листе№3
    If Right(Cells(i, 3), 8) = "_DK.PVFL" Then
        IntY = Left(Cells(i, 1), 4)
        IntM = Mid(Cells(i, 1), 6, 2)
        IntD = Mid(Cells(i, 1), 9, 2)
        IntH = Mid(Cells(i, 1), 12, 2)
        IntMIN = Mid(Cells(i, 1), 15, 2)
        IntSEK = Mid(Cells(i, 1), 18, 2)
        StrDATA = (IntD & "." & IntM & "." & IntY & " " & IntH & ":" & IntMIN & ":" & IntSEK)
        StrOPER = Mid(Cells(i, 8), 1) ' Заполняем столбец с операторами
        StrNAME = Cells(i, 3).Value
        a = Split(StrNAME, ".")
        StrNAME = a(0)
        StrDESC = "Деблокировочный ключ"
        StrSTAT = Mid(Cells(i, 5), 1)
            If StrSTAT = "OFF" Then
                StrSTAT = "Деблокирован"
                Else: StrSTAT = "Востановлен"
            End If
        StrTITUL = Cells(i, 10).Value
            If Left(StrTITUL, 3) = "510" And Left(StrTITUL, 4) <> "510a" Or StrTITUL = "MCK" Then
                StrTITUL = "т.510 гидрокрекинг"
                    ElseIf Left(StrTITUL, 4) = "510a" Or StrTITUL = "10GB301" Or StrTITUL = "10GB301_DK" Then
                    StrTITUL = "т.510A РК и ГДА"
                        ElseIf Left(StrTITUL, 3) = "512" Then
                        StrTITUL = "т.512"
                            ElseIf Left(StrTITUL, 3) = "545" Then
                            StrTITUL = "т.545"
                                ElseIf Left(StrTITUL, 3) = "521" Or StrTITUL = "21GB103_DK" Or StrTITUL = "21GB103" Then
                                StrTITUL = "т.521 пр-во водорода"
                                    ElseIf Left(StrTITUL, 3) = "211" Or StrTITUL = "GK51" Or StrTITUL = "21GB103" Then
                                    StrTITUL = "т.521 пр-во водорода"
           End If
        Sheets("ПНОС ДЕБЛОКИР").Select
        FinalRowTab = Cells(Rows.Count, "A").End(xlUp).Row
        Cells(FinalRowTab + 1, 1).Value = "ПНОС"
        Cells(FinalRowTab + 1, 2).Value = StrDATA
        Cells(FinalRowTab + 1, 3).Value = StrNAME
        Cells(FinalRowTab + 1, 4).Value = StrDESC
        Cells(FinalRowTab + 1, 5).Value = StrSTAT
        Cells(FinalRowTab + 1, 6).Value = StrTITUL
        Cells(FinalRowTab + 1, 8).Value = "Начальник установки"
        Cells(FinalRowTab + 1, 10).Value = StrOPER
        Sheets("H11SRV_NEW").Activate
    End If
Next i
End Sub

...
Рейтинг: 0 / 0
22.12.2014, 09:01
    #38839305
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите в упрощении кода
есть золотое правило программиста: работает - не трогай
для того, чтобы делать рефакторинг - нужны основания

И лучше не делать такую длинную простыню - это сложно воспринимать и отлаживать - каждый смысловой кусок лучше оформить в виде отдельной функции, а из главной только вызывать их. А вы, как я понимаю, хотите эту простыню еще и удлиннить.
...
Рейтинг: 0 / 0
22.12.2014, 09:15
    #38839312
Skye
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите в упрощении кода
Shocker.Pro, я хочу просто сделать так, что бы в 1 клик выполнялись все нужные функции, и при этом максимально быстро.
Да, оно работает, но работает оно долго, и путем последовательного выполнения 5-и скриптов. Надо что бы выполнялось хотя бы в один клик... просто здесь много одинаковых переменных. Например дата одинаковая, но вызывается не один раз. И потому, как мне кажется, проще написать все в одну "простыню", чем несколько раз делать одно и то же))
...
Рейтинг: 0 / 0
22.12.2014, 10:01
    #38839340
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите в упрощении кода
Skyeмаксимально быстро.начните с этого
...
Рейтинг: 0 / 0
22.12.2014, 10:07
    #38839346
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите в упрощении кода
Shocker.ProSkyeмаксимально быстро.начните с этого ...то есть уберите переключение листов, на это уходит время.

плюс, поставьте в начале скрипта
Код: vbnet
1.
Application.ScreenUpdating = False

а в конце
Код: vbnet
1.
Application.ScreenUpdating = True
...
Рейтинг: 0 / 0
22.12.2014, 10:31
    #38839367
Skye
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите в упрощении кода
Shocker.Pro, спасибо, теперь работает он и правда быстрее, без приступов эпилепсии (теперь он не листает так истерично страницы) :D
Есть ли еще идеи по упрощению какие-нибудь. Мне все же не нравится эта дата, которая занимает кучу места, вызывается несколько раз, и делает код визуально большим и страшным...
...
Рейтинг: 0 / 0
22.12.2014, 10:59
    #38839394
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите в упрощении кода
А что тут упрощается-то?
есть четыре цикла, каждый из них работает со своим условием и со своим листом. Навскидку я не вижу между ними ничего общего
...
Рейтинг: 0 / 0
22.12.2014, 10:59
    #38839395
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите в упрощении кода
Skyeделает код визуально большим и страшным...рецепт от этого я уже сказал - раздельные функции
...
Рейтинг: 0 / 0
22.12.2014, 12:23
    #38839514
Skye
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите в упрощении кода
Shocker.Pro, что-ж, и на том спасибо, попробую что-нибудь сделать сам))
...
Рейтинг: 0 / 0
22.12.2014, 13:01
    #38839575
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите в упрощении кода
я к чему - самая длинная операция - это чтение и запись ячейки
можно запихнуть все в один цикл, но если общее количество чтений/записей ячеек не изменится, то выгоды не будет.
...
Рейтинг: 0 / 0
22.12.2014, 13:29
    #38839620
Skye
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите в упрощении кода
Shocker.Pro, хм... ваша правда, даже если все то дело сократить до безбожности - он все-равно будет проверять ни одну сотню строк, так что особой выгоды не будет. Спасибо что образумили :)
...
Рейтинг: 0 / 0
22.12.2014, 13:56
    #38839681
The_Prist
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите в упрощении кода
Skye,

еще очень хорошо повлияет на быстродействие обработка данных ячеек не напрямую в ячейках, а в памяти. Для этого как правило массивы используются. Но здесь надо понимать суть кода и конечную цель. Если необходимо изменять значения ячеек в каждый проход цикла, то выгоды никакой не будет. Если же есть возможность занести все данные в массив, обработать циклами данные этого массива и так же единым махом вернуть на листы - то можно будет может в разы, а то и десятки раз сократить время выполнения.
...
Рейтинг: 0 / 0
22.12.2014, 15:09
    #38839761
Skye
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите в упрощении кода
И все же с меня просят не просто ускорить его, а переделать... так что нужна помощь в том, как все это дело компактненько написать без нескольких прогонов по одним и тем же страницам, возможно с помощью Массивов, как сказали выше...
Пипл, выручайте, ибо в VB я совершенно не спец((
...
Рейтинг: 0 / 0
22.12.2014, 15:53
    #38839806
The_Prist
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите в упрощении кода
Skye,
Если в VB не спец - почему просят именно Вас? И выручайте в чем выражается - за Вас переписать код? Как-то это...Неправильно. Оно Вам надо - хотя бы что-то начните делать, пробуйте, оптимизируйте. Советов Вам Shocker.Pro надавал достаточно.
За всех говорить не буду - я подобным альтруизмом не страдаю. Может быть у кого-то будет желание потренироваться на Вашем коде, но не у меня точно.
...
Рейтинг: 0 / 0
22.12.2014, 17:00
    #38839889
Skye
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите в упрощении кода
The_Prist, я не прошу переписывать его за меня, но от примеров как это сделать я бы не отказался. Или пару примеров как это примерно должно выглядит.
И попросили меня это сделать в качестве практики, что бы я научился. Она подходит к концу и у меня не шибко много времени что бы читать все чуть ли не с нуля...потому мне и нужны дельные советы или пара примеров что бы понимать что к чему.
И да, практика и переписывания чужого кода для меня эффективней, нежели штурм форумов и чтение учебников. Если уж учить то на реальном, рабочем примере, а учебники потом, когда время будет)
...
Рейтинг: 0 / 0
22.12.2014, 18:19
    #38839975
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите в упрощении кода
SkyeИ да, практика и переписывания чужого кода для меня эффективней, нежели штурм форумов и чтение учебников. Если уж учить то на реальном, рабочем примере, а учебники потом, когда время будет)бред
...
Рейтинг: 0 / 0
22.12.2014, 18:25
    #38839979
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите в упрощении кода
SkyeИ попросили меня это сделать в качестве практики, что бы я научилсявообще, очень оригинально, вас просят научиться, а вы пытаете переложить задачу на тех, кто умеет, чтобы сделали за вас. Учитесь, кто мешает? Будут вопросы - ответим.
Оптимизация - вещь тонкая, она основывается на опыте и знаниях, а не на "учебники я потом читать буду может быть"
...
Рейтинг: 0 / 0
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Помогите в упрощении кода / 17 сообщений из 17, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]