Войти
NeoBooker.ru
Добро пожаловать к нам в гости!
Наш сайт посвящён программе NeoBook, с помощью которой вы легко сможете создавать собственные мультимедиа-приложения без необходимости изучать сложные языки программирования! Зарегистрируйтесь, чтобы стать членом нашего сообщества.
Страница 1 из 11
Модератор форума: Peter, DEMBEL, YURIY 
Форум NeoBook » Всё о программе NeoBook » Общие вопросы по NeoBook » Оптимизация кода (с помощью цикла и по маске или совместно)
Оптимизация кода
Semen_SemenychДата: Чт, 03 Июля 2014, 17:16 | Сообщение # 1
Новичок
Привет форумчане!
Подскажите где по подробнее почитать про маску и циклы, возможно есть куски кода для анализа,
подойдёт любая полезная информация.
Суть проблемы в следующем:
В проекте имеется большое количество переменных (числа), которые необходимо периодически очищать,
при этом значительная часть других переменных должны оставаться неизменными(это я про очистку одной командой).
Очищение командой ClearVariables уже реализовано и работает
пример:
ClearVariables "[u_kp1_1],[u_kp1_2],[u_kp1_3],[u_kp1_4],[u_kp1_5],[u_kp1_6],[u_kp1_7],[u_kp1_8]"
и даже при таком варианте кода, имея примерно 700 переменных для очистки, код выглядит пугающе... :'(
Очень хочется, чтобы он был похож на профессиональный... :)
Все переменные имеют однотипные группы имён, отличие в группах, только в цифрах...
Буду рад любой информации.


На его месте, должен быть я...
 
СообщениеПривет форумчане!
Подскажите где по подробнее почитать про маску и циклы, возможно есть куски кода для анализа,
подойдёт любая полезная информация.
Суть проблемы в следующем:
В проекте имеется большое количество переменных (числа), которые необходимо периодически очищать,
при этом значительная часть других переменных должны оставаться неизменными(это я про очистку одной командой).
Очищение командой ClearVariables уже реализовано и работает
пример:
ClearVariables "[u_kp1_1],[u_kp1_2],[u_kp1_3],[u_kp1_4],[u_kp1_5],[u_kp1_6],[u_kp1_7],[u_kp1_8]"
и даже при таком варианте кода, имея примерно 700 переменных для очистки, код выглядит пугающе... :'(
Очень хочется, чтобы он был похож на профессиональный... :)
Все переменные имеют однотипные группы имён, отличие в группах, только в цифрах...
Буду рад любой информации.

Автор - Semen_Semenych
Дата добавления - 03 Июля 2014 в 17:16
YURIYДата: Чт, 03 Июля 2014, 17:18 | Сообщение # 2
WebMaster
Добрый вечер :)

Что-то мне не нравится Ваша организация... Зачем Вам столько переменных? Что храните в них?
 
СообщениеДобрый вечер :)

Что-то мне не нравится Ваша организация... Зачем Вам столько переменных? Что храните в них?

Автор - YURIY
Дата добавления - 03 Июля 2014 в 17:18
Semen_SemenychДата: Чт, 03 Июля 2014, 17:22 | Сообщение # 3
Новичок
Цитата YURIY ()
Что храните в них?


Проект используется как инструмент для расчёта психологического портрета по дате рождения ...
Можно сравнить его с калькулятором, но узко специфичным, в нём все расчёты последовательны.


На его месте, должен быть я...

Сообщение отредактировано
Semen_Semenych - Чт, 03 Июля 2014, 17:55
 
Сообщение
Цитата YURIY ()
Что храните в них?


Проект используется как инструмент для расчёта психологического портрета по дате рождения ...
Можно сравнить его с калькулятором, но узко специфичным, в нём все расчёты последовательны.

Автор - Semen_Semenych
Дата добавления - 03 Июля 2014 в 17:22
PeterДата: Чт, 03 Июля 2014, 18:12 | Сообщение # 4
Админ NeoBook
Цитата Semen_Semenych ()
Все переменные имеют однотипные группы имён, отличие в группах, только в цифрах...

Для этого существует команда DeleteArray, и в вашем случае это должно выглядеть примерно так:

Код
DeleteArray "[u_kp1_]" "All"


Более подробно см. справку NB по этой команде.
Да и вообще по-чаще в неё заглядывайте - сэкономите кучу времени.
;)


- А вам какую операционку поставить - экспи, семерку или висту?
- Это ты сейчас о чем?
- Олег Георгиевич, вам какой компьютер хотелось бы - молодежный или надежный?
- Ну, конечно, надежный!
- Вот, значит - экспи, без вопросов! Сейчас сделаем...

(Улицы разбитых фонарей, сезон 10, серия 17)

Единственная инновация Windows 8 это - Metro, чтобы дебилы по иконкам не промахивались!


При модном втюхе модоподдающимся начинает нравиться
 
Сообщение
Цитата Semen_Semenych ()
Все переменные имеют однотипные группы имён, отличие в группах, только в цифрах...

Для этого существует команда DeleteArray, и в вашем случае это должно выглядеть примерно так:

Код
DeleteArray "[u_kp1_]" "All"


Более подробно см. справку NB по этой команде.
Да и вообще по-чаще в неё заглядывайте - сэкономите кучу времени.
;)

Автор - Peter
Дата добавления - 03 Июля 2014 в 18:12
Semen_SemenychДата: Чт, 03 Июля 2014, 20:04 | Сообщение # 5
Новичок
Спасибо Peter!
Цитата Peter ()
Более подробно см. справку NB

Мне не привыкать, так уже было с ММБ :) и НБ потихоньку освоим.
Три недели для НБ, это не срок.
За то теперь, у меня есть нужная команда и я узнаю про неё всё, что мне нужно.
Хотя изначально уже вижу, что её одной недостаточно, так как оставшееся единица
тоже изменяется от 1 до 9
DeleteArray "[u_kp1_]" "All"
Хотя может и прокатить если чуть поправить, пойду пробовать...

Добавлено (03 Июля 2014, 20:04)
---------------------------------------------
Спасибо за помощь.
Познакомился с массивами, хорошая штука однако... :D
Приятно смотреть когда вместо 72 громоздких строк кода, осталось всего 9 коротеньких,
хотя в некоторых местах пришлось поправить имена переменных, так как в массивах
считываются только последние цифры, без нижн. подчёркиваний и других знаков и букв.
Посмотрим, что ещё можно привести в порядок... ;)


На его месте, должен быть я...

Сообщение отредактировано
Semen_Semenych - Чт, 03 Июля 2014, 20:18
 
СообщениеСпасибо Peter!
Цитата Peter ()
Более подробно см. справку NB

Мне не привыкать, так уже было с ММБ :) и НБ потихоньку освоим.
Три недели для НБ, это не срок.
За то теперь, у меня есть нужная команда и я узнаю про неё всё, что мне нужно.
Хотя изначально уже вижу, что её одной недостаточно, так как оставшееся единица
тоже изменяется от 1 до 9
DeleteArray "[u_kp1_]" "All"
Хотя может и прокатить если чуть поправить, пойду пробовать...

Добавлено (03 Июля 2014, 20:04)
---------------------------------------------
Спасибо за помощь.
Познакомился с массивами, хорошая штука однако... :D
Приятно смотреть когда вместо 72 громоздких строк кода, осталось всего 9 коротеньких,
хотя в некоторых местах пришлось поправить имена переменных, так как в массивах
считываются только последние цифры, без нижн. подчёркиваний и других знаков и букв.
Посмотрим, что ещё можно привести в порядок... ;)

Автор - Semen_Semenych
Дата добавления - 03 Июля 2014 в 20:04
antonДата: Чт, 03 Июля 2014, 20:09 | Сообщение # 6
Ветеран форума
Цитата Semen_Semenych ()
Хотя изначально уже вижу, что её одной недостаточно, так как оставшееся единица
тоже изменяется от 1 до 9

Помести в цикл:
Код
Loop "1" "9" "[i]"
DeleteArray "[u_kp[i]_]" "All"
EndLoop


"Вы знаете, нам очень понравились все варианты, что вы прислали. Даже не знаем, что выбрать… А может попробуем объединить все три логотипа в один?"

Сообщение отредактировано
anton - Чт, 03 Июля 2014, 20:09
 
Сообщение
Цитата Semen_Semenych ()
Хотя изначально уже вижу, что её одной недостаточно, так как оставшееся единица
тоже изменяется от 1 до 9

Помести в цикл:
Код
Loop "1" "9" "[i]"
DeleteArray "[u_kp[i]_]" "All"
EndLoop

Автор - anton
Дата добавления - 03 Июля 2014 в 20:09
Semen_SemenychДата: Чт, 03 Июля 2014, 20:16 | Сообщение # 7
Новичок
Спасибо anton!
Я уже справился, но изначально я думал именно через цикл это сделать
просто не знал как. Сейчас я ваш фрагмент кода, тоже примерю...
С циклами тоже надо дружить :)


На его месте, должен быть я...
 
СообщениеСпасибо anton!
Я уже справился, но изначально я думал именно через цикл это сделать
просто не знал как. Сейчас я ваш фрагмент кода, тоже примерю...
С циклами тоже надо дружить :)

Автор - Semen_Semenych
Дата добавления - 03 Июля 2014 в 20:16
antonДата: Чт, 03 Июля 2014, 20:22 | Сообщение # 8
Ветеран форума
Цитата Semen_Semenych ()
Спасибо anton!

Да пожалуйста...
Но на твоем месте, при создании программы с таким объемом переменных, я бы воспользовался БД. Она намного бы упростила задачу.


"Вы знаете, нам очень понравились все варианты, что вы прислали. Даже не знаем, что выбрать… А может попробуем объединить все три логотипа в один?"
 
Сообщение
Цитата Semen_Semenych ()
Спасибо anton!

Да пожалуйста...
Но на твоем месте, при создании программы с таким объемом переменных, я бы воспользовался БД. Она намного бы упростила задачу.

Автор - anton
Дата добавления - 03 Июля 2014 в 20:22
СергейДата: Чт, 03 Июля 2014, 23:46 | Сообщение # 9
Необукер
Цитата YURIY ()
Добрый вечер

+
Цитата Semen_Semenych ()

DeleteArray "[u_kp1_]" "All"

Не знаю какая там организация массива, но может попробовать
Код

.удаляем первую группу
DeleteArray "[u_kp1_]" "All"
.удаляем вторую
DeleteArray "[u_kp]" "All"

При условии, что они индексированы так:
Цитата

[u_kp1_1], [u_kp1_2], [u_kp1_3]
[u_kp2_1], [u_kp2_2], [u_kp2_3]

С буквами такое не прокатывает..
 
Сообщение
Цитата YURIY ()
Добрый вечер

+
Цитата Semen_Semenych ()

DeleteArray "[u_kp1_]" "All"

Не знаю какая там организация массива, но может попробовать
Код

.удаляем первую группу
DeleteArray "[u_kp1_]" "All"
.удаляем вторую
DeleteArray "[u_kp]" "All"

При условии, что они индексированы так:
Цитата

[u_kp1_1], [u_kp1_2], [u_kp1_3]
[u_kp2_1], [u_kp2_2], [u_kp2_3]

С буквами такое не прокатывает..

Автор - Сергей
Дата добавления - 03 Июля 2014 в 23:46
Semen_SemenychДата: Сб, 05 Июля 2014, 11:43 | Сообщение # 10
Новичок
Цитата Сергей ()
С буквами такое не прокатывает..


Да, я сам в этом убедился, поэтому подправил имена переменных - просто удалил нижнее подчёркивание и вышел массив начинающийся не с 1, а с 11 . В данном случае имена остались уникальными и значение не нужных цифр не влияют на ход событий.

Добавлено (05 Июля 2014, 11:43)
---------------------------------------------
Цитата anton ()
я бы воспользовался БД

Базы данных конечно же буду использовать, как только их освою.
А пока, как то так... :)


На его месте, должен быть я...

Сообщение отредактировано
Semen_Semenych - Сб, 05 Июля 2014, 11:44
 
Сообщение
Цитата Сергей ()
С буквами такое не прокатывает..


Да, я сам в этом убедился, поэтому подправил имена переменных - просто удалил нижнее подчёркивание и вышел массив начинающийся не с 1, а с 11 . В данном случае имена остались уникальными и значение не нужных цифр не влияют на ход событий.

Добавлено (05 Июля 2014, 11:43)
---------------------------------------------
Цитата anton ()
я бы воспользовался БД

Базы данных конечно же буду использовать, как только их освою.
А пока, как то так... :)

Автор - Semen_Semenych
Дата добавления - 05 Июля 2014 в 11:43
Форум NeoBook » Всё о программе NeoBook » Общие вопросы по NeoBook » Оптимизация кода (с помощью цикла и по маске или совместно)
Страница 1 из 11
Поиск: