Форум
Написать нам
  • Страница 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
Поиск: