A BBS (Bulletin Board System) script for creating custom registration questions. Allows users to add questions to the registration questionnaire system. Supports different question types (Yes/No, text input, conditional skipping), color customization, and access level management. Each question creation reduces user access level by 1. Written in a Pascal-like BBS scripting language.
Variables
Qwe, Mode : String
Q : Logical
Nqwe, Aq : Number
End
Program
Clear
WriteLn ("\11Вам, как пользователю $BBSN, предоставляется уникальная возможность")
WriteLn ("\11включить в анкету полной регистрации свои вопросы.")
WriteLn ("\10*******************************************************************************")
WriteLn ("\11Если Вы не всосали суть, рекомендую ознакомится с хелпом...")
WriteLn ("\10*******************************************************************************")
WriteLn ("\12*******************************************************************************")
WriteLn ("\12Внимание!!! Каждый вопрос изменяет доступ = доступ - 1 !!!")
WriteLn ("\12*******************************************************************************")
WriteLn ("\13*******************************************************************************")
WriteLn ("\13При создании вопросов просьба - не создавать мусор и гадости !!!")
WriteLn ("\13*******************************************************************************")
WriteLn ()
WriteLn ("\10Вы согласны?\09")
YesNo (Q)
If Not Q
Exit
End
FileAppend (1,"C:\BBS\USERS\QWEST.TXT")
FileWriteString (1)
FileWriteString (1, "( Next qwestion(s) was added by " + $NAME + " )")
New:
If ($SECR <= 1)
Message ("\12У вас не достатачно уровня доступа для создания нового вопроса!\09")
Exit
Else
Aq=Aq+1
$SECR=$SECR-1
End
Clear
FileWriteString (1,"")
FileWriteString (1,"[NewQwestion]")
WriteLn ("\10При ответе надо выбрать между "#34"да и нет"#34" [Да/Нет] ?\09")
NoYes (Q)
If Not Q
Mode="NormalQwestions"
WriteLn ("\11При ответе требуется ввод слов...")
FileWriteString (1,"Type = 1")
Else
Mode="BetwinYesNo"
WriteLn ("\11При ответе надо выбрать между "#34"да или нет"#34"...")
WriteLn ("\10Требуется ли пропуск последующих вопросов [Да/Нет] ?\09")
NoYes (Q)
If Q
Mode="SkipQwestions"
WriteLn ("\10Пропуск строк при положительном или отрицательном вопросе [Да/Нет] ?\09")
NoYes (Q)
If Q
WriteLn ("\11При положительном вопросе ...")
FileWriteString (1,"Type = 3")
Else
WriteLn ("\11При отрицательном вопросе ...")
FileWriteString (1,"Type = 4")
End
Else
WriteLn ("\11Пропуск строк не требуется ...")
FileWriteString (1,"Type = 2")
End
End
If Mode="SkipQwestions"
Qwe="1"
WriteLn ("\10Сколько вопросов надо пропустить ?\09"); ReadVar (Qwe,2)
Val (Qwe,Nqwe)
$SECR = $SECR + Nqwe
FileWriteString (1,"Skiping= " + Qwe)
WriteLn ("\12Пока вы не придумаете " + Nqwe + " вопросов, вы не сможете выйти !!!\09")
Else
Qwe="50"
If Mode="BetwinYesNo"
FileWriteString (1, "Lenght = 0")
Else
WriteLn ("\10Какой длины будет ответ ?\09")
ReadVar (Qwe,2)
WriteLn (Qwe+"\11 символов...")
FileWriteString (1, "Lenght = " + Qwe)
End
End
Qwe="?"
WriteLn ("\10Сам вопрос :\09")
ReadVar (Qwe,70)
FileWriteString (1, "Qwestion = " + Qwe + " ")
Qwe=":"
WriteLn ("\10Строка описания в анкете :\09")
ReadVar (Qwe,50)
FileWriteString (1, "String = " + Qwe + " ")
If (Mode="BetwinYesNo") or (Mode="SkipQwestions")
WriteLn ("\11Значение по умолчанию не требуется...")
FileWriteString (1,"Default = None")
Else
Qwe="."
WriteLn ("\10Значение по умолчанию :\09")
ReadVar (Qwe,70)
FileWriteString (1, "Default = " + Qwe + " ")
End
Qwe="03"
WriteLn ("\10Цвет вопроса :\09")
WriteLn ("\15 00 - черный, ")
WriteLn ("\01 01 - синий, ")
WriteLn ("\02 02 - зеленый, ")
WriteLn ("\03 03 - бирюзовый, ")
WriteLn ("\04 04 - красный, ")
WriteLn ("\05 05 - сиреневый, ")
WriteLn ("\06 06 - коричневый, ")
WriteLn ("\07 07 - серый, ")
WriteLn ("\08 08 - темно-серый, ")
WriteLn ("\09 09 - ярко-синий, ")
WriteLn ("\10 10 - ярко-зеленый, ")
WriteLn ("\11 11 - голубой, ")
WriteLn ("\12 12 - ярко-красный, ")
WriteLn ("\13 13 - розовый, ")
WriteLn ("\14 14 - желтый, ")
WriteLn ("\15 15 - белый. ")
ReadVar (Qwe,2)
FileWriteString (1, "ColorOfQwestion = " + Qwe)
If (Mode="BetwinYesNo") or (Mode="SkipQwestions")
WriteLn ("\11Цвет ответа не требуется...")
FileWriteString (1, "ColorOfAnswer = " + "00")
Else
Qwe="11"
WriteLn ("\10Цвет ответа :")
WriteLn ("\15 00 - черный, ")
WriteLn ("\01 01 - синий, ")
WriteLn ("\02 02 - зеленый, ")
WriteLn ("\03 03 - бирюзовый, ")
WriteLn ("\04 04 - красный, ")
WriteLn ("\05 05 - сиреневый, ")
WriteLn ("\06 06 - коричневый, ")
WriteLn ("\07 07 - серый, ")
WriteLn ("\08 08 - темно-серый, ")
WriteLn ("\09 09 - ярко-синий, ")
WriteLn ("\10 10 - ярко-зеленый, ")
WriteLn ("\11 11 - голубой, ")
WriteLn ("\12 12 - ярко-красный, ")
WriteLn ("\13 13 - розовый, ")
WriteLn ("\14 14 - желтый, ")
WriteLn ("\15 15 - белый. ")
ReadVar (Qwe,2)
FileWriteString (1, "ColorOfAnswer = " + Qwe)
End
If Nqwe <> 0
Message ("\12Вам осталось создать еще " + Nqwe + " вопросов!!!\09")
Nqwe=Nqwe-1
GoTo New
End
WriteLn ("\10Еще один ?\09")
YesNo (Q)
If Q
GoTo New
Else
FileWriteString (1)
FileWriteString (1, "( " + Aq + " upper qwestion(s) was added by " + $NAME + " )")
FileClose (1)
Clear
WriteLn ("\11Спасибо за пополнение нашей базы вопросов!")
Message ("\11Вы можете пройти регистрацию заново, используя свои вопросы...")
Exit
End
End