Вверх ↑
Разработчик
Ответов: 26156
Рейтинг: 2127
#1: 2010-01-28 23:24:00 ЛС | профиль | цитата
Sova-Kmv, на, и не парься. Расчитано на любой промежуток и вставку любой строки между. Поля для ввода значений сам подставишь


Add(MainForm,4322833,252,217)
{
Width=403
Height=305
}
Add(Edit,16486014,294,217)
{
Left=55
Width=335
Text="ВВВАААССС"
}
Add(Button,12914289,252,266)
{
link(onClick,6389307:doConvert,[])
}
Add(RichEdit,14252179,397,266)
{
Top=20
Width=390
Height=250
ScrollBars=2
}
Add(InlineCode,6389307,329,266)
{
WorkPoints=#38:doConvert=Входящая не разбитая строка |
EventPoints=#34:onResult=Выходящая разбитая строка|
DataPoints=#4:Data|5:Count|3:Str|
Code=#15:unit HiAsmUnit;|0:|9:interface|0:|21:uses kol,Share,Debug;|0:|4:type|28: THiAsmClass = class(TDebug)|10: private|9: public|0:|18: Data:THI_Event;|19: Count:THI_Event;|17: Str:THI_Event;|22: onResult:THI_Event;|3: |52: procedure doConvert(var _Data:TData; Index:word);|5: end;|0:|14:implementation|61:procedure THiAsmClass.doConvert(var _Data:TData; Index:word);|20:var i, l: Integer;|21: txt, st:string;|18: cnt:integer;|5:begin|35: txt := ReadString(_Data, Data);|34: st := ReadString(_Data, Str);|37: cnt := ReadInteger(_Data, Count);|24: Replace(txt, ,');|3:TRY|20: l := Length(txt);|25: if l <= cnt then exit;|16: i := cnt + 1;|24: while i <= l do begin|25: Insert(st, txt, i);|25: Inc(l, Length(st));|31: Inc(i, cnt + Length(st));|7: end;|7:FINALLY|42: _hi_CreateEvent(_Data, @onResult, txt);|4:END;|4:end;|4:end.|
link(onResult,14252179:doAdd,[])
link(Data,16486014:Text,[(335,258)(300,258)])
link(Count,12713029:Value,[])
link(Str,2366746:Value,[(349,258)(384,258)])
}
Add(Memory,12713029,336,217)
{
Default=Integer(2)
}
Add(Memory,2366746,378,217)
{
Default=String(;=-)
}
карма: 22

0