Вверх ↑
Этот топик читают: Гость
Ответов: 133
Рейтинг: 0
#1: 2022-04-28 11:28:18 ЛС | профиль | цитата
Добрый день. Есть такая задача: мне будут присылать текстовый файл с ссылками и их нужно открывать в созданном в Hiasm браузере через определенное время (причем желательно указывать это время) и в двух вариантах - в случайном порядке или по очереди.
Как сделать браузер я знаю, но как подцепить файл и чтобы ссылки оттуда открывались я не знаю (
карма: 1

0
Ответов: 263
Рейтинг: 18
#2: 2022-04-28 12:10:51 ЛС | профиль | цитата
Serascer писал(а):
но как подцепить файл и чтобы ссылки оттуда открывались

примерно так

Add(MainForm,2953706,35,28)
{
Width=595
Height=405
}
Add(Button,8467833,217,154)
{
Left=5
Top=10
Width=125
Caption="Открыть список"
link(onClick,4767590:doExecute,[])
}
Add(CheckBox,10547583,287,287)
{
Left=10
Top=70
Width=120
Caption="Случайный порядок"
}
Add(Edit,7065250,777,294)
{
Left=65
Top=40
Width=25
Text="5"
DataType=2
}
Add(Label,10823011,98,28)
{
Left=10
Top=45
Width=53
Height=17
Caption="Интервал"
}
Add(Label,5324941,147,28)
{
Left=95
Top=45
Width=25
Height=17
Caption="сек."
}
Add(Button,15230804,63,266)
{
Left=5
Top=100
Width=125
Caption="Начать выборку"
link(onClick,15045726:doEvent1,[])
}
Add(ListBox,9901049,462,161)
{
Left=150
Top=5
Width=425
Height=335
Strings=#10:1-я строка|10:2-я строка|10:3-я строка|10:4-я строка|10:5-я строка|10:6-я строка|10:7-я строка|10:8-я строка|10:9-я строка|
Point(EndIdx)
}
Add(StrList,13900037,385,126)
{
Point(doLoad)
}
Add(ODialog,4767590,273,154)
{
Filter="Текстовый документ|*.txt"
link(onExecute,13127934:doEvent1,[])
}
Add(Hub,13127934,336,154)
{
link(onEvent1,13900037:doLoad,[])
link(onEvent2,2134394:doData,[(368,167)(368,188)])
}
Add(DoData,2134394,385,182)
{
link(onEventData,9901049:doText,[])
link(Data,13900037:Text,[])
}
Add(Hub,15045726,154,266)
{
link(onEvent1,5081673:doClear,[])
link(onEvent2,7071584:doEvent1,[(180,279)(180,356)])
}
Add(Memory,5081673,399,259)
{
Default=Integer(0)
}
Add(Timer,6858538,238,350)
{
Interval=0
Enable=1
AutoStop=1
link(onTimer,16726477:doEvent,[])
}
Add(IndexToChanel,16726477,287,350)
{
Point(Index)
link(onEvent1,9039154:doCompare,[])
link(onEvent2,10159799:doEvent1,[(331,363)(331,398)(303,398)(303,433)])
link(Index,10547583:Checked,[])
}
Add(Hub,7071584,196,350)
{
InCount=2
OutCount=1
link(onEvent1,6858538:doTimer,[])
}
Add(If_else,9039154,399,350)
{
Type=3
link(onTrue,3867666:doRead,[])
link(Op1,2123588:Var2,[])
link(Op2,6262006:Var2,[(412,312)(489,312)])
}
Add(ArrayRW,3867666,476,350)
{
link(onRead,9984865:doEvent1,[])
link(Array,1221803:Var2,[])
link(Index,5135713:Var2,[])
}
Add(GetDataEx,2123588,399,329)
{
link(Data,5081673:Value,[])
}
Add(Hub,9984865,567,350)
{
link(onEvent1,9110629:doWork1,[(602,356)])
link(onEvent2,2344105:doOperation,[])
}
Add(Math,2344105,616,357)
{
Op2=1
link(onResult,3823911:doEvent1,[])
link(Op1,5135713:Var3,[(622,334)])
}
Add(Hub,10452414,728,364)
{
InCount=2
link(onEvent1,10100593:doOperation,[])
link(onEvent2,14289267:doTimer,[(761,377)(761,356)])
}
Add(Timer,14289267,847,350)
{
Interval=0
Enable=1
AutoStop=1
Point(doInterval)
link(onTimer,7071584:doEvent2,[(899,356)(899,496)(179,496)(179,363)])
}
Add(Math,10100593,777,364)
{
OpType=2
Op2=1000
link(onResult,14289267:doInterval,[])
link(Op1,7065250:Text,[])
}
Add(Label,2827948,616,434)
{
Left=10
Top=345
Width=40
Height=17
Caption="Строка"
}
Add(Hub,3823911,665,357)
{
link(onEvent1,5081673:doValue,[(698,363)(698,321)(387,321)(387,265)])
link(onEvent2,10452414:doEvent1,[])
}
Add(Random,11267377,434,427)
{
Max=0
Point(doMax)
link(onRandom,5757591:doRead,[])
}
Add(ArrayRW,5757591,511,427)
{
link(onRead,5836407:doEvent1,[])
link(Array,1221803:Var3,[(517,292)])
link(Index,11267377:Random,[(524,415)(482,415)(482,471)(440,471)])
}
Add(GetDataEx,1221803,476,287)
{
link(Data,9901049:Array,[])
}
Add(Hub,5836407,560,427)
{
link(onEvent1,10452414:doEvent2,[(696,433)(696,377)])
link(onEvent2,9110629:doWork2,[])
}
Add(HubEx,9110629,598,434)
{
link(onEvent,2827948:doText,[])
}
Add(Hub,10159799,315,427)
{
OutCount=3
link(onEvent1,3914258:doData,[])
link(onEvent2,11267377:doRandomize,[])
link(onEvent3,11267377:doRandom,[(410,447)(410,433)])
}
Add(GetDataEx,5135713,483,329)
{
Angle=3
link(Data,2123588:Var3,[])
}
Add(DoData,3914258,350,427)
{
link(onEventData,11267377:doMax,[(394,433)(394,454)])
link(Data,6262006:Var1,[(356,229)])
}
Add(GetDataEx,6262006,483,224)
{
link(Data,9901049:EndIdx,[])
}
Add(Button,11849292,775,408)
{
Left=5
Top=125
Width=125
Caption="Стоп"
link(onClick,14289267:doStop,[(827,414)(827,363)])
}

карма: 3

1
Голосовали:Serascer
Ответов: 133
Рейтинг: 0
#3: 2022-04-28 12:40:40 ЛС | профиль | цитата
fox-video писал(а):
Serascer писал(а):
но как подцепить файл и чтобы ссылки оттуда открывались

примерно так



|
Спасибо, а как мне сделать так, чтобы ссылка то в браузере открывалась? ) Просто строка у вас выводится в надпись. А мне нужно, чтобы она вставлялась в браузер и там открывалась )

Редактировалось 1 раз(а), последний 2022-04-28 12:41:05
карма: 1

0
Ответов: 263
Рейтинг: 18
#4: 2022-04-28 12:48:17 ЛС | профиль | цитата
Serascer писал(а):
А мне нужно, чтобы она вставлялась в браузер и там открывалась

Ну это же элементарно
Add(ListBox,9901049,721,189)
{
Left=150
Top=5
Width=160
Height=605
Strings=#18:https://hiasm.com/|12:Http://ya.ru|12:Http://r0.ru|14:Http://mail.ru|
Point(EndIdx)
}
Add(WebBrowser,1398868,980,462)
{
Left=315
Top=5
Width=745
Height=605
link(URL,7321043:Value,[(986,450)(923,450)(923,506)(888,506)])
}
Add(MainForm,10548572,294,56)
{
Width=1085
Height=656
}
Add(Button,8467833,476,182)
{
Left=5
Top=10
Width=125
Caption="Открыть список"
link(onClick,4767590:doExecute,[])
}
Add(CheckBox,10547583,546,315)
{
Left=10
Top=70
Width=120
Caption="Случайный порядок"
}
Add(Edit,7065250,1036,322)
{
Left=65
Top=40
Width=25
Text="10"
DataType=2
}
Add(Label,10823011,357,56)
{
Left=10
Top=45
Width=53
Height=17
Caption="Интервал"
}
Add(Label,5324941,406,56)
{
Left=95
Top=45
Width=25
Height=17
Caption="сек."
}
Add(Button,15230804,322,294)
{
Left=5
Top=100
Width=125
Caption="Начать выборку"
link(onClick,15045726:doEvent1,[])
}
Add(StrList,13900037,644,154)
{
Point(doLoad)
}
Add(ODialog,4767590,532,182)
{
Filter="Текстовый документ|*.txt"
link(onExecute,13127934:doEvent1,[])
}
Add(Hub,13127934,595,182)
{
link(onEvent1,13900037:doLoad,[])
link(onEvent2,2134394:doData,[(627,195)(627,216)])
}
Add(DoData,2134394,644,210)
{
link(onEventData,9901049:doText,[])
link(Data,13900037:Text,[])
}
Add(Hub,15045726,413,294)
{
link(onEvent1,5081673:doClear,[])
link(onEvent2,7071584:doEvent1,[(439,307)(439,384)])
}
Add(Memory,5081673,658,287)
{
Default=Integer(0)
}
Add(Timer,6858538,497,378)
{
Interval=0
Enable=1
AutoStop=1
link(onTimer,16726477:doEvent,[])
}
Add(IndexToChanel,16726477,546,378)
{
Point(Index)
link(onEvent1,9039154:doCompare,[])
link(onEvent2,10159799:doEvent1,[(590,391)(590,426)(562,426)(562,461)])
link(Index,10547583:Checked,[])
}
Add(Hub,7071584,455,378)
{
InCount=2
OutCount=1
link(onEvent1,6858538:doTimer,[])
}
Add(If_else,9039154,658,378)
{
Type=3
link(onTrue,3867666:doRead,[])
link(Op1,2123588:Var2,[])
link(Op2,6262006:Var2,[(671,340)(748,340)])
}
Add(ArrayRW,3867666,735,378)
{
link(onRead,9984865:doEvent1,[])
link(Array,1221803:Var2,[])
link(Index,5135713:Var2,[])
}
Add(GetDataEx,2123588,658,357)
{
link(Data,5081673:Value,[])
}
Add(Hub,9984865,826,378)
{
link(onEvent1,9110629:doWork1,[(861,384)])
link(onEvent2,2344105:doOperation,[])
}
Add(Math,2344105,875,385)
{
Op2=1
link(onResult,3823911:doEvent1,[])
link(Op1,5135713:Var3,[(881,362)])
}
Add(Hub,10452414,987,392)
{
InCount=2
link(onEvent1,10100593:doOperation,[])
link(onEvent2,14289267:doTimer,[(1020,405)(1020,384)])
}
Add(Timer,14289267,1106,378)
{
Interval=0
Enable=1
AutoStop=1
Point(doInterval)
link(onTimer,7071584:doEvent2,[(1158,384)(1158,524)(438,524)(438,391)])
}
Add(Math,10100593,1036,392)
{
OpType=2
Op2=1000
link(onResult,14289267:doInterval,[])
link(Op1,7065250:Text,[])
}
Add(Hub,3823911,924,385)
{
link(onEvent1,5081673:doValue,[(957,391)(957,349)(646,349)(646,293)])
link(onEvent2,10452414:doEvent1,[])
}
Add(Random,11267377,693,455)
{
Max=0
Point(doMax)
link(onRandom,5757591:doRead,[])
}
Add(ArrayRW,5757591,770,455)
{
link(onRead,5836407:doEvent1,[])
link(Array,1221803:Var3,[(776,320)])
link(Index,11267377:Random,[(783,443)(741,443)(741,499)(699,499)])
}
Add(GetDataEx,1221803,735,315)
{
link(Data,9901049:Array,[])
}
Add(Hub,5836407,819,455)
{
link(onEvent1,10452414:doEvent2,[(955,461)(955,405)])
link(onEvent2,9110629:doWork2,[])
}
Add(HubEx,9110629,857,462)
{
link(onEvent,7321043:doValue,[])
}
Add(Hub,10159799,574,455)
{
OutCount=3
link(onEvent1,3914258:doData,[])
link(onEvent2,11267377:doRandomize,[])
link(onEvent3,11267377:doRandom,[(669,475)(669,461)])
}
Add(GetDataEx,5135713,742,357)
{
Angle=3
link(Data,2123588:Var3,[])
}
Add(DoData,3914258,609,455)
{
link(onEventData,11267377:doMax,[(653,461)(653,482)])
link(Data,6262006:Var1,[(615,257)])
}
Add(GetDataEx,6262006,742,252)
{
link(Data,9901049:EndIdx,[])
}
Add(Button,11849292,1034,436)
{
Left=5
Top=125
Width=125
Caption="Стоп"
link(onClick,14289267:doStop,[(1086,442)(1086,391)])
}
Add(Memory,7321043,882,462)
{
link(onData,1398868:doNavigate,[])
}

Редактировалось 1 раз(а), последний 2022-04-28 12:52:44
карма: 3

1
Голосовали:Serascer
Ответов: 133
Рейтинг: 0
#5: 2022-04-28 12:54:33 ЛС | профиль | цитата
Огромное спасибо!
карма: 1

0
Ответов: 783
Рейтинг: 168
#6: 2022-04-28 14:09:38 ЛС | профиль | цитата
Мой варивант
Add(MainForm,3824534,406,98)
{
Width=880
Height=526
}
Add(Button,8467833,574,168)
{
Left=5
Top=10
Width=125
Caption="Открыть список"
link(onClick,4767590:doExecute,[])
}
Add(CheckBox,10547583,630,217)
{
Left=10
Top=70
Width=120
Caption="Случайный порядок"
}
Add(Edit,7065250,518,175)
{
Left=65
Top=40
Width=25
Text="5"
DataType=2
ClearAfterEnter=1
link(onEnter,5122062:doEvent1,[(563,188)(563,165)(452,165)(452,230)])
}
Add(Label,10823011,469,98)
{
Left=10
Top=45
Width=53
Height=17
Caption="Интервал"
}
Add(Label,5324941,518,98)
{
Left=95
Top=45
Width=25
Height=17
Caption="сек."
}
Add(Button,15230804,413,231)
{
Left=5
Top=100
Width=125
Caption="Начать выборку"
link(onClick,5122062:doEvent2,[])
}
Add(ListBox,9901049,756,140)
{
Left=20
Top=175
Width=130
Height=305
Strings=#5:ya.ru|10:google.com|9:hiasm.com|
DataType=1
Point(doLoad)
Point(doSelect)
Point(onSelect)
Point(EndIdx)
link(onSelect,1507637:doNavigate,[])
}
Add(ODialog,4767590,630,168)
{
Filter="Текстовый документ|*.txt"
link(onExecute,13127934:doEvent1,[])
}
Add(Hub,13127934,679,168)
{
link(onEvent1,9901049:doLoad,[])
link(onEvent2,2134394:doData,[(704,181)(704,237)])
}
Add(DoData,2134394,777,231)
{
link(onEventData,542141:doMax,[])
link(Data,7449360:Var2,[])
}
Add(Button,11849292,413,273)
{
Left=5
Top=125
Width=125
Caption="Стоп"
link(onClick,15352547:doStop,[])
}
Add(WebBrowser,1507637,840,154)
{
Left=164
Width=700
Height=487
Align=3
URL=""
}
Add(Timer,15352547,574,266)
{
Interval=0
Enable=1
Point(doInterval)
link(onTimer,1620092:doEvent,[])
}
Add(Hub,5122062,462,224)
{
InCount=2
link(onEvent1,8356632:doOperation,[])
link(onEvent2,15352547:doTimer,[(501,237)(501,272)])
}
Add(CounterEx,542141,847,224)
{
Max=2
Default=-1
Point(doMax)
Point(doReset)
Point(onThroughMax)
link(onNext,9718124:doWork1,[(893,230)(893,279)])
link(onThroughMax,542141:doReset,[(886,237)(886,265)(837,265)(837,244)])
}
Add(IndexToChanel,1620092,630,266)
{
Point(Index)
link(onEvent1,542141:doNext,[(828,272)(828,230)])
link(onEvent2,12809008:doRandom,[])
link(Index,10547583:Checked,[])
}
Add(Math,8356632,511,224)
{
OpType=2
Op1=1000
ResultType=0
link(onResult,15352547:doInterval,[(550,230)(550,286)])
link(Op2,7065250:Text,[])
}
Add(Random,12809008,686,273)
{
Max=3
Point(Max)
link(onRandom,9718124:doWork2,[])
link(Max,7449360:Var1,[(692,215)])
}
Add(GetDataEx,7449360,777,210)
{
link(Data,9901049:EndIdx,[])
}
Add(HubEx,9718124,735,273)
{
Angle=3
link(onEvent,9901049:doSelect,[(739,181)])
}


Редактировалось 1 раз(а), последний 2022-04-28 14:14:20
карма: 15

1
Голосовали:Serascer
Ответов: 263
Рейтинг: 18
#7: 2022-04-28 14:13:26 ЛС | профиль | цитата
Gunta писал(а):
Мой варивант


Рука мастера
карма: 3

0
Ответов: 133
Рейтинг: 0
#8: 2022-04-28 14:45:02 ЛС | профиль | цитата
Gunta, вот это более понятно, спасибо большое ) Добавлю туда еще загрузку списка ссылок с сайта и парсинг нужного

--- Добавлено в 2022-04-28 14:57:54

Подскажите, а как запретить браузеру в программе загрузку картинок? Такое возможно вообще?

--- Добавлено в 2022-04-28 15:09:25

Кстати дополнительный вопрос по браузеру в Hiasm: а как подружить его с java-скриптами? Чтобы не ругался на них

Редактировалось 2 раз(а), последний 2022-04-28 15:09:25
карма: 1

0
Ответов: 783
Рейтинг: 168
#9: 2022-04-28 17:50:50 ЛС | профиль | цитата
Serascer писал(а):
Подскажите, а как запретить браузеру в программе загрузку картинок? Такое возможно вообще?

Возможно, но это зависит от того, как конкретный сайт сделан. Вот небольшой пример.
https://forum.hiasm.com/getfile/39436 (Форум портит схему)
Serascer писал(а):
Кстати дополнительный вопрос по браузеру в Hiasm: а как подружить его с java-скриптами? Чтобы не ругался на них

Свойство Silent - True
карма: 15

0
файлы: 1запрет картинок.zip [603B] [271]
Ответов: 133
Рейтинг: 0
#10: 2022-04-28 17:53:37 ЛС | профиль | цитата
Gunta, неожиданное решение )) понятно, спасибо большое! )
карма: 1

0
Ответов: 133
Рейтинг: 0
#11: 2022-05-20 09:57:49 ЛС | профиль | цитата
Добрый день. Возникла неожиданная проблема. Подскажите пожалуйста, как сделать такое:
1 - по нажатию кнопки делается запрос размера файла с сайта.
2 - происходит сравнение размера файла с определенным значением заданным по-умолчанию, в частности 10240
3 - при превышении этого значения происходит одно событие, при меньшем значении другое событие.

Мой вариант не работает почему-то ( Я не понимаю что не так. При вставке ссылки получается размер, это я проверил. Но при сравнении ничего не происходит вообще. ни когда больше, ни когда меньше.
Add(MainForm,2953706,21,105)
{
}
Add(If_else,4729388,805,175)
{
Type=2
Op2=Integer(10240)
link(Op1,7321043:Value,[(811,170)(734,170)])
}
Add(HTTP_Get,7735954,672,119)
{
Wait=0
link(onURLSize,7321043:doValue,[])
}
Add(Memory,7321043,728,133)
{
link(onData,4729388:doCompare,[(782,139)(782,181)])
}
Add(Button,6274293,609,133)
{
Left=10
Top=10
Width=125
Height=50
Caption="Прайс"
Data=String()
link(onClick,7735954:GetURLSize,[])
}


Редактировалось 2 раз(а), последний 2022-05-20 10:00:36
карма: 1

0
Ответов: 783
Рейтинг: 168
#12: 2022-05-20 12:07:26 ЛС | профиль | цитата
Serascer писал(а):
Но при сравнении ничего не происходит вообще. ни когда больше, ни когда меньше.

У меня всё работает...
Add(MainForm,16294866,273,119)
{
}
Add(If_else,4729388,448,119)
{
Type=2
Op1=Integer(426353)
Op2=Integer(0)
link(onTrue,148807:doEvent,[])
link(onFalse,9123052:doEvent,[(501,132)(501,146)])
}
Add(HTTP_Get,7735954,385,105)
{
Wait=0
link(onURLSize,4729388:doCompare,[])
link(URL,11141527:Text,[])
}
Add(Button,6274293,322,119)
{
Left=10
Top=10
Width=125
Height=50
Caption="Прайс"
Data=String()
link(onClick,7735954:GetURLSize,[])
}
Add(VisualStrings,11141527,385,56)
{
Lines=#37:https://forum.hiasm.com/getfile/39462|
Width=214
Height=25
}
Add(Debug,148807,525,119)
{
LogCount=100
}
Add(Debug,9123052,511,140)
{
LogCount=100
}


Редактировалось 1 раз(а), последний 2022-05-20 12:17:57
карма: 15

0
Ответов: 133
Рейтинг: 0
#13: 2022-05-20 12:28:53 ЛС | профиль | цитата
Gunta писал(а):
Serascer писал(а):
Но при сравнении ничего не происходит вообще. ни когда больше, ни когда меньше.

У меня всё работает...

|Можете объяснить мне логику работы сравнения? Почему входящие данные являются вторым операндом? Что-то не работает как надо у меня.

Редактировалось 1 раз(а), последний 2022-05-20 12:29:13
карма: 1

0
Ответов: 783
Рейтинг: 168
#14: 2022-05-20 12:43:51 ЛС | профиль | цитата
Serascer писал(а):
Почему входящие данные являются вторым операндом? Что-то не работает как надо у меня.

В данной схеме разницы нет никакой. Но сравнивать надо одинаковые типы данных. Тип данных определяется первым операндом в компоненте сравнения. Поставив константу на Op1 я просто подстраховался от "неправильного" типа входных данных.
карма: 15

0
Ответов: 133
Рейтинг: 0
#15: 2022-05-20 12:50:14 ЛС | профиль | цитата
Gunta писал(а):
Serascer писал(а):
Почему входящие данные являются вторым операндом? Что-то не работает как надо у меня.

В данной схеме разницы нет никакой. Но сравнивать надо одинаковые типы данных. Тип данных определяется первым операндом в компоненте сравнения. Поставив константу на Op1 я просто подстраховался от "неправильного" типа входных данных.

Тогда давайте предметно поговорим, потому что ничего у меня не работает.
Вот возьмем ваш файл https://forum.hiasm.com/getfile/39462. Размер в байтах у него выходит 426353.
Сравнение мне нужно проводить с размером файла в 13240.
Можете мне пожалуйста сделать схему, со сравнением, когда при превышении 13240 скажем один светодиод загорался, а если файл меньше размером, то другой.
карма: 1

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