Вверх ↑
Этот топик читают: Гость
Ответов: 8888
Рейтинг: 823
#1: 2014-03-10 01:34:14 ЛС | профиль | цитата
Хотел использовать предустановку по точке doRandSeed, фигушки: говорит что процедура _work_doRandSeed не обозначена
*.ini писал(а):
doRandSeed%Quality%=Предопределяет последовательность...
а в *.pas свойство _prop_Quality обозначено как функция, да ещё и Real
*.pas писал(а):
.
_prop_Quality:function:real;
.
.
procedure THIRandom._work_doRandSeed0;
.
.
procedure THIRandom._work_doRandSeed1;
Аналогичное свойство Mode(Integer,Real) имет формат byte
Пытался чуть переделать установив byte, а в процедурах использовать
if _prop_Quality=0 then
SRnd:=Simple
else SRnd:=Xorshift128;
да запутался в трёх соснах Искал тему, где Galkov выкладывал изменения, даже через Google не нашёл
Остаётся надеяться на дружескую помощь
карма: 19

0
vip
#1.1контекстная реклама от партнеров
Ответов: 9906
Рейтинг: 351
#2: 2014-03-10 10:46:46 ЛС | профиль | цитата
Хм... и правда "не все чисто" на SVN
У меня так.

Для режима 128 -- в качестве предустановки нужна hex-строка из 32-х символов.
((для simple -- просто целое))

Для приема с точки RandSeed -- аналогично
карма: 9

0
файлы: 1rnd128.rar [1.9KB] [289]
Ответов: 8888
Рейтинг: 823
#3: 2014-03-10 10:54:09 ЛС | профиль | цитата
Galkov, спасибо! Взял, к вечеру доложусь, сейчас некогда, пирожки печём
карма: 19

0
Разработчик
Ответов: 26067
Рейтинг: 2121
#4: 2014-03-10 11:25:09 ЛС | профиль | цитата
Вы мне лучше скажите -- стоит обновлять SVN или будете продолжать тестирование
карма: 22

0
Ответов: 9906
Рейтинг: 351
#5: 2014-03-10 11:33:40 ЛС | профиль | цитата
У меня проблем нет.

Послушаем теперь начальника транспортного цеха. Пусть и он нам доложит - как там у него дела ((с) Жванецкий)
карма: 9

0
Ответов: 8888
Рейтинг: 823
#6: 2014-03-10 15:31:34 ЛС | профиль | цитата
Galkov,
rnd128_error.jpg
Версия 184 (на 185 то же самое)
карма: 19

0
файлы: 1rnd128_error.jpg [32.9KB] [399]
Ответов: 9906
Рейтинг: 351
#7: 2014-03-11 07:24:33 ЛС | профиль | цитата
Ну и чем я могу помочь

------------ Дoбавленo в 07.24:
Жаль, что нам так и не удалось послушать начальника транспортного цеха ((с) Жванецкий)

nesco, ну хоть ты скажи чего: у тебя тоже Undeclared identifier: _work_doRandSeed, или как
карма: 9

0
Ответов: 16884
Рейтинг: 1239
#8: 2014-03-11 09:48:29 ЛС | профиль | цитата
Galkov писал(а):
У меня проблем нет.
А тестовую схемку можно увидеть ?
У меня писал(а):
C:\HiAsm185\Elements\delphi\code\hiMainForm_33B7DB0.pas(78) Error: Undeclared identifier: '_work_doRandSeed'
Win 7 32
карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
Ответов: 9906
Рейтинг: 351
#9: 2014-03-11 11:19:19 ЛС | профиль | цитата
Твою маман
Сколько можно разгребать чужое дерьмо
------------ Дoбавленo в 10.49:
Извините, это я не Вам.
У меня "звездочек" нет на этих двух методах (дома)
------------ Дoбавленo в 11.19:
Tad писал(а):
А тестовую схемку можно увидеть ?
Можно (хотя с моей стороны этот вопрос был бы более адекватен):
Add(MainForm,1199071,259,119)
{
Height=645
link(onCreate,11245043:doEvent1,[])
}
Add(Random,452685,343,161)
{
Quality=1
link(onRandom,12423584:doEvent1,[])
}
Add(Edit,2217972,469,154)
{
Left=20
Top=15
Width=345
Font=[Lucida Console,8,1,0,204]
Alignment=1
ClearAfterEnter=1
Point(doSelectAll)
link(onEnter,2064196:doEvent1,[])
link(Str,11283587:Var3,[(475,138)])
}
Add(Hub,2064196,518,161)
{
link(onEvent1,452685:doRandSeed,[(550,167)(550,209)(333,209)(333,181)])
link(onEvent2,2217972:doSelectAll,[(543,174)(543,195)(459,195)(459,174)])
}
Add(Button,12642888,259,161)
{
Left=20
Top=50
link(onClick,452685:doRandom,[])
}
Add(Hub,12423584,399,161)
{
link(onEvent1,8985380:doWork2,[])
link(onEvent2,6010795:doAdd,[(424,174)(424,90)])
}
Add(Memo,6010795,469,84)
{
Left=15
Top=80
Width=345
Height=500
Font=[Lucida Console,8,1,0,204]
ScrollBars=2
link(Str,11283587:Var2,[(475,75)(447,75)])
}
Add(GetDataEx,11283587,441,133)
{
Angle=2
link(Data,452685:RandSeed,[(447,201)(356,201)])
}
Add(Hub,11245043,308,133)
{
link(onEvent1,452685:doRandomize,[(333,139)(333,174)])
link(onEvent2,8985380:doWork1,[(438,146)])
}
Add(HubEx,8985380,434,161)
{
link(onEvent,2217972:doText2,[])
}
rnd129.png
Типа -- без проблем
Редактировалось 1 раз(а), последний 2017-07-08 16:27:12
карма: 9

0
Ответов: 8888
Рейтинг: 823
#10: 2014-03-11 12:24:06 ЛС | профиль | цитата
Galkov писал(а):
..Жаль, что нам так и не удалось послушать...
[flood]У меня "уважительная" причина: день варенья, чуть-чуть не юбилей [/flood]
При компиляции не выставляется индекс к процедуре _work_doRandSeed, должно быть _work_doRandSeed0 или _work_doRandSeed1
randseed.jpg
карма: 19

0
файлы: 1randseed.jpg [47.1KB] [345]
Ответов: 9906
Рейтинг: 351
#11: 2014-03-11 13:59:44 ЛС | профиль | цитата
Galkov писал(а):
У меня "звездочек" нет на этих двух методах

Леонид, просто тупо убери эти "звездочки". И все должно пройти.
Демо-пример: открой INI-файл (Ctrl+G) для элемента Math. И прилепи "звездочку" перед doOperation%OpType%.
Перезапусти среду, и -- получишь те же яйца, только в профиль. Math перестанет компилироваться (если связь на doOperation подключена).
Вот такая вот подлянка.

Мораль: убери "звездочки" в файле Random.INI перед методами doRandSeed%Quality% и RandSeed%Quality%
Да, эти точки станут "принудительно видимы". Но среду я поменять уже не могу.
карма: 9

0
Ответов: 8888
Рейтинг: 823
#12: 2014-03-11 19:36:33 ЛС | профиль | цитата
Ну, блин!
Galkov, спасибо!
------------ Дoбавленo в 19.36:
На радостях сделал программку для хранения паролей (с плагиатом от Tad )

Add(MainForm,2953706,518,56)
{
Width=360
Height=324
Caption="Sundries"
link(onCreate,5866661:doEvent1,[])
}
Add(StringTable,7245674,343,140)
{
Left=5
Top=55
Width=330
Height=195
FileName="sundries.txt"
Columns=#15:Направление=100|9:Логин=100|10:Пароль=100|
Grid=0
StaticColumn=0
Point(Index)
Point(Matrix)
}
Add(Edit,12387099,273,56)
{
Left=5
Top=5
Width=95
Text=""
ClearAfterEnter=1
Point(doSetFocus)
Point(doSelectAll)
link(onEnter,2269328:doEvent1,[(312,69)(312,76)])
}
Add(Edit,13329437,350,56)
{
Left=110
Top=5
Width=95
Text=""
ClearAfterEnter=1
Point(doSetFocus)
Point(doSelectAll)
link(onEnter,786588:doEvent1,[(389,69)(389,76)])
}
Add(Edit,13698044,427,56)
{
Left=215
Top=5
Width=95
Text=""
ClearAfterEnter=1
Point(doSetFocus)
Point(doSelectAll)
link(onEnter,9451383:doSetFocus,[(466,69)(466,48)(151,48)(151,125)])
}
Add(FormatStr,13755288,273,119)
{
DataCount=3
Mask="%1;%2;%3"
link(onFString,7245674:doAdd,[(319,125)(319,146)])
link(Str1,12387099:Text,[])
link(Str2,13329437:Text,[(286,96)(356,96)])
link(Str3,13698044:Text,[(293,103)(433,103)])
}
Add(Button,3833789,161,168)
{
Left=205
Top=30
Width=65
Caption="Удалить"
link(onClick,271878:doData,[])
}
Add(Button,1764363,161,231)
{
Left=280
Top=260
Width=65
Caption="Сохранить"
link(onClick,2803255:doEvent1,[])
}
Add(Button,9451383,161,119)
{
Left=80
Top=30
Width=65
Caption="Добавить"
Point(doSetFocus)
link(onClick,15442061:doEvent1,[])
}
Add(DoData,271878,224,168)
{
link(onEventData,7245674:doDelete,[(277,174)(277,160)])
link(Data,7245674:Index,[(230,159)(265,159)(265,187)(363,187)])
}
Add(Edit,4647443,609,56)
{
Left=65
Top=261
Width=215
Text="Пароль! 0123456789ABCDEF"
Point(doSetFocus)
Point(doSelectAll)
link(onChange,9782296:doTest,[])
}
Add(Button,1687363,161,308)
{
Top=260
Width=65
Caption="Открыть"
link(onClick,8757741:doEvent1,[])
}
Add(InlineCode,9782296,658,56)
{
WorkPoints=#6:doTest|
EventPoints=#5:onRes|
VarPoints=#
DataPoints=#
Code=#15:unit HiAsmUnit;|13:// Author Tad|0:|9:interface|0:|29:uses Windows,kol,Share,Debug;|0:|4:type|28: THiAsmClass = class(TDebug)|10: private|0:|9: public|4: |24: onRes : THI_Event;|51: PROCEDURE doTest(var _Data:TData; Index:Word);|0:|5: end;|0:|14:implementation|0:|29:PROCEDURE THiAsmClass.doTest;|16:var s,ss:string;|16: i,j:integer;|5:BEGIN|9: ss:='';|21: s:=toString(_Data);|19: CharUpper(@s[1]);|15: j:=Length(s);|68: for i:=1 to j do if s[i] in ['0'..'9','A'..'F'] then ss:=ss+s[i];|34: if j>32 then ss:=Copy(ss,1,32);|47: if j<32 then for i:=1 to 32-j do ss:=ss+'0';|24: _hi_onEvent(onRes,ss);|4:END;|0:|0:|4:end.|
link(onRes,4647443:doText2,[(700,62)(700,48)(599,48)(599,69)])
}
Add(Hub,2269328,322,70)
{
link(onEvent1,13329437:doSetFocus,[])
link(onEvent2,13329437:doSelectAll,[])
}
Add(Hub,786588,399,70)
{
link(onEvent1,13698044:doSetFocus,[])
link(onEvent2,13698044:doSelectAll,[])
}
Add(Hub,15442061,231,119)
{
OutCount=3
link(onEvent1,13755288:doString,[])
link(onEvent2,12387099:doSetFocus,[(256,132)(256,76)])
link(onEvent3,12387099:doSelectAll,[(263,139)(263,83)])
}
Add(Random,8014647,637,196)
{
Quality=1
}
Add(DoData,2669461,518,196)
{
link(onEventData,8014647:doRandSeed,[(557,202)(557,216)])
link(Data,11605543:Var1,[(524,180)])
}
Add(DoData,5409879,791,469)
{
link(onEventData,13282957:doWrite,[(830,475)(830,482)(403,482)(403,356)])
link(Data,2090061:Var2,[])
}
Add(Hub,8757741,210,308)
{
link(onEvent1,7245674:doLoad,[(284,314)(284,167)])
link(onEvent2,12635642:doWork2,[])
}
Add(Hub,2803255,210,231)
{
OutCount=4
link(onEvent1,2669461:doData,[(275,237)(275,202)])
link(onEvent2,8240642:doFor,[])
link(onEvent3,7245674:doSave,[(291,251)(291,174)])
link(onEvent4,12635642:doWork1,[(242,258)])
}
Add(Hub,1267326,252,315)
{
link(onEvent1,13615483:doData,[(599,321)(599,363)])
link(onEvent2,14370029:doFor,[(291,328)(291,349)])
}
Add(Convertor,800340,553,245)
{
Mode=3
link(onResult,16661445:doEvent1,[])
}
Add(Convertor,14019552,693,252)
{
Mode=6
link(onResult,16295183:doStrCat,[])
}
Add(Str_Enum,13384283,504,245)
{
Delimiter=""
link(onEnum,800340:doConvert,[])
link(onEndEnum,9567085:doData,[(543,258)(543,307)])
}
Add(StrCat,16295183,749,252)
{
Point(doClear)
link(Str1,14814305:Var1,[(755,243)(741,243)(741,292)])
}
Add(MathParse,324943,637,252)
{
MathStr="(%1 + %2) mod 256"
link(onResult,14019552:doConvert,[])
link(X1,8014647:Random,[])
}
Add(Hub,16661445,595,245)
{
link(onEvent1,8014647:doRandom,[(627,251)(627,202)])
link(onEvent2,324943:doCalc,[])
}
Add(For,8240642,301,238)
{
IncludeEnd=1
link(onEvent,8012362:doFor,[])
link(End,2497121:Var1,[(314,229)])
}
Add(For,8012362,371,238)
{
End=2
link(onEvent,15212855:doRead,[])
}
Add(MatrixRW,15212855,434,238)
{
link(onRead,11925144:doEvent1,[])
link(Matrix,8723950:Var3,[(440,229)])
link(X,8012362:Position,[(454,222)(412,222)(412,278)(377,278)])
link(Y,8240642:Position,[(461,215)(359,215)(359,279)(307,279)])
}
Add(DoData,9567085,749,301)
{
link(onEventData,15212855:doWrite,[(788,307)(788,315)(424,315)(424,251)])
link(Data,14814305:Var2,[])
}
Add(GetDataEx,14814305,749,287)
{
link(Data,16295183:Result,[])
}
Add(Hub,11925144,476,238)
{
link(onEvent1,16295183:doClear,[(732,244)(732,265)])
link(onEvent2,13384283:doEnum,[])
}
Add(Convertor,11229560,609,413)
{
Mode=5
link(onResult,13450427:doEvent1,[])
}
Add(Str_Enum,1606898,490,350)
{
Delimiter=""
link(onEnum,6891007:doValue,[])
link(onEndEnum,5409879:doData,[(531,363)(531,475)])
}
Add(StrCat,12415410,560,413)
{
link(onStrCat,11229560:doConvert,[])
link(Str1,6891007:Value2,[])
link(Str2,6891007:Value1,[(573,391)(559,391)])
}
Add(MemFifo,6891007,553,350)
{
link(onData,4950548:doOperation,[(592,356)(592,398)(438,398)(438,419)])
}
Add(Math,4950548,448,413)
{
OpType=8
Op2=2
ResultType=0
link(onResult,12789601:doCompare,[])
link(Op1,1606898:NumSubStr,[(454,392)(496,392)])
}
Add(If_else,12789601,490,413)
{
Op2=Integer(0)
link(onTrue,12415410:doStrCat,[])
}
Add(MathParse,16570349,686,420)
{
MathStr="(256 - %1 + %2) mod 256"
ResultType=0
link(onResult,13619899:doConvert,[])
link(X1,12551071:Random,[])
}
Add(Random,12551071,686,357)
{
Quality=1
}
Add(DoData,13615483,609,357)
{
link(onEventData,12551071:doRandSeed,[(652,363)(652,377)])
link(Data,11605543:Var2,[])
}
Add(Hub,13450427,651,413)
{
link(onEvent1,12551071:doRandom,[(676,419)(676,363)])
link(onEvent2,16570349:doCalc,[])
}
Add(Convertor,13619899,735,420)
{
Mode=4
link(onResult,3226601:doStrCat,[])
}
Add(StrCat,3226601,791,420)
{
Point(doClear)
link(Str1,2090061:Var1,[(797,411)(783,411)(783,460)])
}
Add(GetDataEx,2090061,791,455)
{
link(Data,3226601:Result,[])
}
Add(For,14370029,301,343)
{
IncludeEnd=1
link(onEvent,5080301:doFor,[])
link(End,2497121:Var2,[(314,285)(349,285)])
}
Add(For,5080301,350,343)
{
End=2
link(onEvent,13282957:doRead,[])
}
Add(MatrixRW,13282957,413,343)
{
link(onRead,883117:doEvent1,[])
link(Matrix,8723950:Var2,[])
link(X,5080301:Position,[(433,334)(392,334)(392,384)(356,384)])
link(Y,14370029:Position,[(440,327)(342,327)(342,383)(307,383)])
}
Add(GetDataEx,2497121,343,224)
{
link(Data,7245674:Count,[])
}
Add(Hub,883117,462,343)
{
link(onEvent1,3226601:doClear,[(774,349)(774,433)])
link(onEvent2,1606898:doEnum,[])
}
Add(HubEx,12635642,238,315)
{
link(onEvent,1267326:doEvent1,[])
}
Add(GetDataEx,8723950,413,224)
{
link(Data,7245674:Matrix,[(419,187)(370,187)])
}
Add(GetDataEx,11605543,609,175)
{
link(Data,4647443:Text,[])
}
Add(Hub,5866661,567,70)
{
link(onEvent1,4647443:doSetFocus,[])
link(onEvent2,4647443:doSelectAll,[])
}
карма: 19

0
Ответов: 16884
Рейтинг: 1239
#13: 2014-03-11 22:49:29 ЛС | профиль | цитата
Что-то не то с плагиатом.
1. Ограничение в 32 знака прекрасно реализуется свойством MaxLenField
2. Мне кажется, что вместо Copy(ss,1,32) лучше, в таких случаях, применять SetLength(ss,32). (Проверить надо)
3. Про бардак при вводе любых знаков, кроме '0'..'9','A'..'F', даже писать лень
Предлагаю:
code_33222.txt
карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
файлы: 1code_33222.txt [1.5KB] [320]
Ответов: 8888
Рейтинг: 823
#14: 2014-03-11 23:25:24 ЛС | профиль | цитата
Tad, так оказывается и правда есть такое свойство MaxLenField сейчас открыл 158 версию, там нетучки
С Вашего позволения сохраню код 33222 для будущих плагиатов
карма: 19

0
Ответов: 16884
Рейтинг: 1239
#15: 2014-03-11 23:34:22 ЛС | профиль | цитата
Но если нужно обязательно 32-х знаковое HEX, то выравнивание до 32 стоит перенести в RND.

карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
15
Сообщение
...
Прикрепленные файлы
(файлы не залиты)