Форум
Написать нам
  • Страница 1 из 1
  • 1
Модератор форума: as-master  
Правила написания скриптов
as-masterДата: Суббота, 23 Июня 2007, 05:58 | Сообщение # 1
Разводящий
Группа: Модераторы
Сообщений: 2337
Репутация: 101
Награды: 5
Статус: Offline
Подумал я и решил вынести это в отдельную тему, чтоб заметнее было

ПРАВИЛА НАПИСАНИЯ СКРИПТОВ

1. Скрипты пишутся и читаются (т.е. воспроизводятся программой) построчно. То есть каждая команда занимает ровно одну строку, и не больше.

2. Когда программа прочитала и исполнила все строки скрипта, он автоматически останавливается, если в конце скрипта не указана команда ScriptTimer("Script","time"), где time - число в миллисекундах. Команда сия означает, что надо вновь выполнить данный скрипт через время time. И так скрипт может работать до бесконечности, пока, например, не выйдут с данной страницы или в скрипте не выполнится некое условие, при котором скрипт остановится.

3. Остановить скрипт можно командой Return(), что значит по-русски "возврат". Как только программа встретит эту строку в сценарии, скрипт немедленно остановится.

4. В скрипте можно прописать некое условие, при котором, если оно выполняется, то будет исполнена одна команда или группа команд, а если не выполняется, то будет исполнена другая команда или группа команд. Условие в общем виде выглядит так:

If (здесь пишем условие) Then
**выполняется некая команда
Else
**выполняется другая команда
End

Более конкретный пример условия:

If (a=1) Then
Message("Ну и дурак же ты, Вася!","")
Else
Message("Умница ты, Вася!","")
End

В частности, если условие выполняется, то можно остановить скрипт:

If (a=1) Then
Return()
Else
Message("Продолжаем разговор!","")
End

и тому подобное.

5. В скриптах очень часто используются циклы. Они позволяют произвести сразу целый ряд действий, пока некое число будет изменяться от начального значения до конечного. При этом, пока цикл не дойдет до конечного числа, установленного вами, скрипт дальше не пойдет, пока не выполнить весь цикл. Прервать цикл можно командой Break(). При этом цикл завершится (точнее, остановится), однако скрипт продолжит свою работу дальше, то есть перейдет к выполнению следующей строки скрипта.

В общем виде цикл выглядит так:

For i=1 To 100
**Здесь выполняем какие-либо действия
Next i

Например, можно переместить некий объект с позиции 1 (по координате X) до позиции 100:

For i=1 To 100
MoveObject("Rectangle","i,ObjectY(Rectangle)")
Next i

Или можно вычислить, например, факториал числа 10:

x=1
For i=1 To 10
x=x*i
Next i

или заполнить список (объект SongList) словами "Слово1", "Слово2".. и так до "Слово100":

For i=1 To 100
item$= 'Слово'+CHAR(i)
ListBoxAddItem("SongList","item$")
Next i

или мало ли что там ещё...

Как я уже говорил, цикл можно прервать командой Break(). Например, если число i станет равным некому числу K, то заполнение списка прекращается:

For i=1 To 100
item$= 'Слово'+CHAR(i)
ListBoxAddItem("SongList","item$")
If (i=K) Then
Break()
End
Next i

Вот такие нехитрые "правила" написания скриптов smile


Да пребудет с вами ММВ!
 
Alex3AДата: Суббота, 23 Июня 2007, 13:43 | Сообщение # 2
Друг клуба ММВ
Группа: Проверенные
Сообщений: 2646
Репутация: 39
Награды: 11
Статус: Offline
Я, когда то ранее писал на форуме по поводу "правил", однако после налета хакеров все исчезло.
Когда снова соберусь с мыслями, выложу свои соображения.
 
sloNIKДата: Понедельник, 13 Августа 2007, 00:57 | Сообщение # 3
Поднаторевший
Группа: Проверенные
Сообщений: 96
Репутация: 0
Награды: 0
Статус: Offline
Quote (Alex3A)
Когда снова соберусь с мыслями, выложу свои соображения.

А можно узнать (хотя-бы приблизительно) ккогда это произайдёт. happy


Самое главное,это всегда помнить о самом главном!
"Мы здесь не для того собрались, чтобы учить другие программы."
Автор: as-master
 
as-masterДата: Понедельник, 13 Августа 2007, 09:55 | Сообщение # 4
Разводящий
Группа: Модераторы
Сообщений: 2337
Репутация: 101
Награды: 5
Статус: Offline
А можно узнать: что, моих правил недостаточно? :)

Да пребудет с вами ММВ!
 
sloNIKДата: Вторник, 28 Августа 2007, 01:55 | Сообщение # 5
Поднаторевший
Группа: Проверенные
Сообщений: 96
Репутация: 0
Награды: 0
Статус: Offline
Не ,ну всё так у краце .Конечно тебе видней,если больше нечего про скрипты писать.То это супер.Я просто подумал может чувак чё нить нового припишить.Всегда ещё одна голова лучше. dry

Самое главное,это всегда помнить о самом главном!
"Мы здесь не для того собрались, чтобы учить другие программы."
Автор: as-master
 
Alex3AДата: Четверг, 22 Ноября 2007, 22:04 | Сообщение # 6
Друг клуба ММВ
Группа: Проверенные
Сообщений: 2646
Репутация: 39
Награды: 11
Статус: Offline
Правила написания скриптов.
AS MASTER в достаточном объеме описал языковые конструкции скриптов,
от себя могу добавить, операторы цикла и условные операторы могут быть
сколь угодно вложенными, а условия переходов достаточно сложными.
Кроме того, языковая конструкция позволяет выполнять рекурсивные
действия. Рекурсия это вызов программы самой себя, к примеру, используется
для вычисления числа ПИ и сканирования дерева диска.
Использовать рекурсию, можно только тогда, когда ты знаешь что делаешь,
иначе можно завесить компьютер. Билдер контролирует такие вещи и при
превышении глубины рекурсии более 50 прерывает программу, с выводом
окна сообщения.

Давайте договоримся, о чем мы будем вести речь, определим термины.
Синтаксис - правила написания и обработки команд выражений и методов..
К примеру, в ммв строковые переменные имеют знак $ следующий за ее именем.
name$ - образец написания имени строковой переменной, правильное, соответствующее правилам написания. А $name неправильное - такое написание будет непонятным для
интерпретатора команд и он выдаст сообщение об ошибке (при вводе просто закомментирует
неправильную строку). В таких случаях мы получаем синтаксическую ошибку, кроме них бывают и логические ошибки, интерпретатор принимает команду, но делает не то что вы от
него хотели. Дальше речь пойдет совсем об ином - правилах структурирования и размещения.
Как таковых правил не существует, бывают только рекомендации.
Каждый человек, пишущий программу, размещает ее кусочки руководясь своими сиюминутными соображениями, в результате ориентироваться в тексте программы
становится затруднительно даже ее автору. Запутавшись в тексте, вы можете неоднократно
проводить одни и те же действия, определять уже ранее определенные переменные.
В целом программа конечно же будет работоспособна, но будет выполнять много
бесполезных вычислений. Такой подход, при большой сложности программы,
будет весьма заметен, кроме того может усложнить ее отладку.
Комментарии в тексте программы облегчают ее понимание другим людям,
и позволяют автору быстрее восстановить в памяти ее алгоритм.
Рассмотрим эти соображения, на предмете написания универсального скрипта
для создания любого количества любых слайдеров. Для лучшего понимания,
будем последовательно наращивать сложность алгоритма.
Рекомендация №1.
Определяйте переменные, которые не будут меняться в течении выполнения программы,
в скрипте первой страницы (координаты неподвижных объектов, константы, пути, и все
что вам нужно и не меняется).
Рекомендация №2.
Начальные значения, необходимые только на конкретной странице, задавайте в
ее скрипте вы будете знать если переменная определена в начале скрипта -
она локальна для этой страницы, можете менять ее не заботясь что чтото
нарушите в других частях программы.
Рекомендация №3.
Всегда используйте внешний плеер и динамическую подгрузку.
Используйте относительные пути.
Это избавит вас от переписывании путей, ибо с его помощью
вы эмулируете работу скомпилированного проекта.

Прикрепления: TUTOR1.rar (83.8 Kb)
 
Alex3AДата: Четверг, 22 Ноября 2007, 22:05 | Сообщение # 7
Друг клуба ММВ
Группа: Проверенные
Сообщений: 2646
Репутация: 39
Награды: 11
Статус: Offline
Часть вторая.
Прикрепления: TUTOR2.rar (73.2 Kb)
 
Alex3AДата: Четверг, 22 Ноября 2007, 22:06 | Сообщение # 8
Друг клуба ММВ
Группа: Проверенные
Сообщений: 2646
Репутация: 39
Награды: 11
Статус: Offline
Часть третья.
Прикрепления: TUTOR3.rar (74.1 Kb)
 
Alex3AДата: Пятница, 23 Ноября 2007, 11:08 | Сообщение # 9
Друг клуба ММВ
Группа: Проверенные
Сообщений: 2646
Репутация: 39
Награды: 11
Статус: Offline
Четвертая, остальные завтра.

Добавлено (23 Ноябрь 2007, 11:08)
---------------------------------------------
Начало и продолжение здесь!

Прикрепления: TUTOR4.rar (73.9 Kb)
 
sloNIKДата: Понедельник, 26 Ноября 2007, 01:51 | Сообщение # 10
Поднаторевший
Группа: Проверенные
Сообщений: 96
Репутация: 0
Награды: 0
Статус: Offline
wacko вот это супер!!!!!!!!!!!!!!!!!!!!!!!!!!!
5 с огромным плюсом.
Только уж очень долго ждать пришлось.Но лучше поздно чем никогда. bravo


Самое главное,это всегда помнить о самом главном!
"Мы здесь не для того собрались, чтобы учить другие программы."
Автор: as-master
 
as-masterДата: Воскресенье, 02 Декабря 2007, 15:17 | Сообщение # 11
Разводящий
Группа: Модераторы
Сообщений: 2337
Репутация: 101
Награды: 5
Статус: Offline
Alex3A, мне кажется эти примеры достойны, чтобы выложить их на сайте,
ведь на форуме их увидит гораздо меньше людей.

Напиши мне на мыло свое разрешение на это, а также то, под каким "соусом"
эти примеры выложить, в каком разделе, под каким названием. ОК?


Да пребудет с вами ММВ!
 
Alex3AДата: Воскресенье, 02 Декабря 2007, 20:26 | Сообщение # 12
Друг клуба ММВ
Группа: Проверенные
Сообщений: 2646
Репутация: 39
Награды: 11
Статус: Offline
ОК! Для всеобщего использования и изучения. Возьми у меня на сайте, раздел и название на твое усмотрение!
Что надо дополнительно, сообщи.
Посмотри плагин связи В этом разделе, это только
начальный вариант, будет работать не только в локали но и по сети.
 
  • Страница 1 из 1
  • 1
Поиск: