Ну, блин!
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,[]) }
|