Форум
Написать нам
  • Страница 1 из 1
  • 1
Модератор форума: as-master  
Загрузка переменных из внешнего файла
YURIYДата: Четверг, 24 Сентября 2009, 00:52 | Сообщение # 1
Злостный админ
Группа: Администраторы
Сообщений: 3018
Репутация: 71
Награды: 28
Статус: Offline
Ждал я, пока Alien наконец создаст эту тему, раз его волнует данный вопрос. Ну и ладно. Вдруг кому пригодится.

Итак, если нужно загрузить из внешнего файла переменные в MMB, делаем примерно следующее:

Code
LoadText("s$","c:\file.txt")
RunScriptCode("s$","0")
c=a+b
Message("","c")

LoadText("s$","c:\file.txt") - загрузить содержимое внешнего файла в переменную s$. В файле я прописал следующие строки:

Code
a=5
b=3

RunScriptCode("s$","0") - выполнение указанного в переменной s$ кода MMB. 0 - без вывода ошибок при их надобности.

c=a+b - предыдущей строкой мы выполнили код из файла

Code
a=5
b=3

то есть, теперь в среде у нас существуют эти 2 переменные. Мы их складываем и сумма заносится в c.

Message("","c") - соответственно в сообщении появится результат сложения - 8.

Примечание: работает только в версии 4.9.8.

The End.



Вечная память Андрею Сергееву!
 
SowerДата: Четверг, 24 Сентября 2009, 08:12 | Сообщение # 2
Ветеран форума
Группа: Проверенные
Сообщений: 916
Репутация: 11
Награды: 3
Статус: Offline
Как это, новая темя в разделе ММБ, вот это новость, я думал, что про него все забыли уже :)

Добавлено (24 Сентябрь 2009, 08:12)
---------------------------------------------

Quote (YURIY)
LoadText("s$","c:\file.txt") RunScriptCode("s$","0") c=a+b Message("","c")

Можно на одну строку меньше код сделать:
Code

RunScriptCode("C:\file.txt","0")  
c=a+b  
Message("","c")

Ну смысл от этого практически не меняется :)
 
Alex3AДата: Четверг, 24 Сентября 2009, 13:06 | Сообщение # 3
Друг клуба ММВ
Группа: Проверенные
Сообщений: 2646
Репутация: 39
Награды: 11
Статус: Offline
Ну это просто примерчек, савсем маленький.
Подобным образом можно не только устанавливать переменные, в том числе и
массивы, но и хранить всевозможные настройки, программы и объектов.
Скрипт для выполнения, можно брать не только из файла, но и, к примеру,
передать из одной программы в другую, кучей доступных методов, в том числе и по
любой сети. Таким способом можно делать удаленное управление программами.
Инструменты для подобных вещей, давно пылятся на форуме.
 
AlienДата: Четверг, 24 Сентября 2009, 15:21 | Сообщение # 4
Поднаторевший
Группа: Проверенные
Сообщений: 141
Репутация: 51
Награды: 7
Статус: Offline
YURIY, а можно это алгоритм впихнуть в одну функцию?)

Подсветка синтаксиса NeoBook с помощью BBcode.
[spoiler=Other]Win7 x86, NB5.7.0, FF8.0.1
Демо проекты
• Шаблоны NB
• Tower Defence
• Mass Rename Files
• Multi Language
• Божья коровка
Готовые проекты
• IP's Scaner
• Охота на лягушек
Функции
• tagParser
• Xml Parser
• Сборник VBS
Плагины
• alConsole
• alStartUp
• alMySQL
• sysInfo
• alTCP
[/spoiler]
 
YURIYДата: Четверг, 24 Сентября 2009, 16:47 | Сообщение # 5
Злостный админ
Группа: Администраторы
Сообщений: 3018
Репутация: 71
Награды: 28
Статус: Offline
Quote (Grand)
Можно на одну строку меньше код сделать:

да, верно.

Quote (Alien)
YURIY, а можно это алгоритм впихнуть в одну функцию?)

чего? Чтобы загрузить переменные из файла, нужна всего одна строка:

Code
RunScriptCode("C:\file.txt","0")

чего ещё надобно?



Вечная память Андрею Сергееву!
 
AlienДата: Четверг, 24 Сентября 2009, 19:28 | Сообщение # 6
Поднаторевший
Группа: Проверенные
Сообщений: 141
Репутация: 51
Награды: 7
Статус: Offline
YURIY, чтобы сделать функцию одну LoadVariables(file$) и использовать её во всех проектах, или же нельзя пихать свои функции в mmb?

Подсветка синтаксиса NeoBook с помощью BBcode.
[spoiler=Other]Win7 x86, NB5.7.0, FF8.0.1
Демо проекты
• Шаблоны NB
• Tower Defence
• Mass Rename Files
• Multi Language
• Божья коровка
Готовые проекты
• IP's Scaner
• Охота на лягушек
Функции
• tagParser
• Xml Parser
• Сборник VBS
Плагины
• alConsole
• alStartUp
• alMySQL
• sysInfo
• alTCP
[/spoiler]
 
YURIYДата: Четверг, 24 Сентября 2009, 19:29 | Сообщение # 7
Злостный админ
Группа: Администраторы
Сообщений: 3018
Репутация: 71
Награды: 28
Статус: Offline
Quote (Alien)
YURIY, чтобы сделать функцию одну LoadVariables(file$) и использовать её во всех проектах, или же нельзя пихать свои функции в mmb?

Объект Script - это тебе не функция?

Харе смешивать MMB с NB :)



Вечная память Андрею Сергееву!
 
DEMBELДата: Четверг, 24 Сентября 2009, 19:56 | Сообщение # 8
Наш дизайнер
Группа: Модераторы
Сообщений: 2266
Репутация: 135
Награды: 32
Статус: Offline
В MMB все разложено по обьектам. Хочешь функцию - создай обьект Script, пиши там что хочешь и вызывай через RunScript. Есть еще ScriptTimer... ну там много всяких извращений есть.



Win7x64 SP1 Neobook v5.70 (Trial)
WinXP SP3 Neobook v5.62
 
AlienДата: Пятница, 25 Сентября 2009, 12:14 | Сообщение # 9
Поднаторевший
Группа: Проверенные
Сообщений: 141
Репутация: 51
Награды: 7
Статус: Offline
Извиняюсь, просто в mmb очень туго шарю :)

Подсветка синтаксиса NeoBook с помощью BBcode.
[spoiler=Other]Win7 x86, NB5.7.0, FF8.0.1
Демо проекты
• Шаблоны NB
• Tower Defence
• Mass Rename Files
• Multi Language
• Божья коровка
Готовые проекты
• IP's Scaner
• Охота на лягушек
Функции
• tagParser
• Xml Parser
• Сборник VBS
Плагины
• alConsole
• alStartUp
• alMySQL
• sysInfo
• alTCP
[/spoiler]
 
  • Страница 1 из 1
  • 1
Поиск: