Вверх ↑
Этот топик читают: Гость
Ответов: 203
Рейтинг: 2
#1: 2019-04-16 16:39:21 ЛС | профиль | цитата
Необходимо дать пользователю менять логику, но не могу вызвать генерацию случайного числа в скрипте Basic.

Add(MainForm,6590950,49,63)
{
Left=20
Top=105
Height=186
Font=[Arial,8,0,0,1]
}
Add(VBScript,4927157,189,63)
{
WorkPoints=#5:doFor|
EventPoints=#5:onFor|
Script=#27:function doWork(Data,Index)|32: onEvent( "onFor","Rnd" + Rnd )|3:end|
link(onFor,3899786:doAdd,[])
}
Add(Button,12876818,119,63)
{
Left=15
Top=35
Width=110
Font=[Arial,8,0,0,1]
Caption="RND"
link(onClick,4927157:doFor,[])
}
Add(ListBox,3899786,259,63)
{
Left=150
Top=35
Width=200
Height=100
Font=[Arial,8,0,0,1]
}


--- Добавлено в 2019-04-16 16:41:44



--- Добавлено в 2019-04-16 16:43:03



Редактировалось 2 раз(а), последний 2019-04-16 16:43:03
карма: 0

0
vip
#1.1контекстная реклама от партнеров
Ответов: 5227
Рейтинг: 586
#2: 2019-04-16 18:42:36 ЛС | профиль | цитата
kaban4ik, этот движок не имеет таких функций (он изначально был мёртво-рождённый, во всяком случае лет 10 про него и не заикались) vbjscript http://scriptcoding.ru/2013/06/16/vbscript-funktcii/ автор сего любезно может выслать на мыло свою электронную книгу и архив с исходниками (во всяком случае мне высылал как помню).
карма: 4
Мой форум - http://hiasm.bbtalk.me/ схемы, компоненты...
0
Ответов: 8887
Рейтинг: 823
#3: 2019-04-16 19:55:16 ЛС | профиль | цитата
kaban4ik, не понял какие проблемы-то
Чуть добавил в существующий скрипт


Add(MainForm,2953706,224,140)
{
Caption="RND"
Point(onClose)
}
Add(Button,11796961,287,140)
{
Left=5
Top=10
Width=65
Caption="RND"
link(onClick,1168498:doOpen,[])
}
Add(VBJScript,1168498,350,140)
{
@Hint=#16:Query SQL Server|
WorkPoints=#6:doOpen|7:doWrite|6:doRead|7:doSheet|7:doArray|7:doClose|
EventPoints=#6:onRead|7:onCells|7:onArray|6:onOpen|
DataPoints=#7:MyArray|
Script=#9:Dim strIn|10:Dim strOut|10:Dim NumRow|10:Dim NumCol|5:Dim i|5:Dim j|14:Dim MyArrays()|12:Dim objExcel|0:|22:Sub doWork(Data,Index)|18: Select Case Index|15: Case "doOpen"|53: 'Set objExcel = CreateObject("Excel.Application")|53: 'Set objWorkbook = objExcel.Workbooks.Open (Data)|94: 'For i=1 To objWorkbook.Sheets.Count 'Листы начинаются не с "0", а с "1"|79: 'sys.onRead objWorkbook.Sheets(i).Name 'Выводим имя наружу |10: 'Next|20: sys.onRead RND |17: 'sys.onOpen 1|142: Case "doRead" 'На вход подаётся строка, содержащая (разделитель -- точка с запятой): НомерСтроки;НомерКолонки;|22: strIn = CStr(Data)|28: i = InStr(1,strIn,";",0)|37: NumRow = CLng(Mid(strIn, 1, i-1))|33: NumCol = CLng(Mid(strIn,i+1))|61: strOut = objExcel.ActiveSheet.Cells(NumRow, NumCol).Value|27: sys.onCells strOut |162: Case "doWrite" 'На вход подаётся строка, содержащая (разделитель -- точка с запятой): НомерСтроки;НомерКолонки;ЗаписываемоеЗначение|22: strIn = CStr(Data)|28: i = InStr(1,strIn,";",0)|37: NumRow = CLng(Mid(strIn, 1, i-1))|30: j = InStr(i+1,strIn,";",0)|41: NumCol = CLng(Mid(strIn, i+1, j-i-1))|28: strIn = Mid(strIn, j+1)|58: objExcel.ActiveSheet.Cells(NumRow, NumCol).Value=strIn|20: sys.onRead strIn|93: Case "doSheet" 'На вход подаётся строка, содержащая имя Листа|32: objExcel.Sheets(Data).Select|44: objExcel.ActiveSheet.Cells(1, 1).Select |17: Case "doArray"|23: REDIM MyArrays(10)|27: MyArrays = Sys.MyArray|23: 'MyArrays.Add(666)|26: 'MyArrays.Set(0, 123)|33: 'sys.onArray(MyArrays.Count)|34: 'sys.onArray(MyArrays.Get(0))|19: 'DIM IPArray()|30: 'REDIM IPArray(ip1.Count)|34: 'For I = 0 To (ip1.Count - 1)|29: 'IPArray(I) = ip1.Get(I)|15: 'Next I |17: Case "doClose"|17: objExcel.Quit|26: Set objExcel = Nothing|20: sys.onOpen 0 |11: End Select|0:|7:End Sub|
UseName=0
link(onRead,10813402:doAdd,[])
}
Add(ListBox,10813402,406,140)
{
Left=90
Top=5
Width=130
Height=250
}

карма: 19

0
Ответов: 203
Рейтинг: 2
#4: 2019-04-16 20:02:29 ЛС | профиль | цитата
andrestudio, интересно было бы посмотреть.

Леонид, идея была дать возможность дополнительной обработки данных. Логику пишет сам пользователь в отдельном от программы скрипте. Я не нашел пример как загрузить в VBJScript внешний скрипт на исполнение
карма: 0

0
Ответов: 5227
Рейтинг: 586
#5: 2019-04-16 20:05:31 ЛС | профиль | цитата
kaban4ik, сделай точку ##SetScript, толкай в неё скрипт в потоке
карма: 4
Мой форум - http://hiasm.bbtalk.me/ схемы, компоненты...
0
Ответов: 203
Рейтинг: 2
#6: 2019-04-16 20:15:15 ЛС | профиль | цитата
andrestudio, Спасибо. Сейчас попробую. Странно в справке не нашел не чего подобного.
карма: 0

0
6
Сообщение
...
Прикрепленные файлы
(файлы не залиты)