Задача такая:
Нужно хранить список строк (список, - потому что строки должны добавляется, заменятся/удалятся по индексу).
Строки могут содержать 0A 0Dh (10 13) - перевод строки. Короче говоря, обычная строка с нулём.
StrList работает до перезапуска приложения, пока не загрузил (сначала конечно сохранил) список из файла.
То есть компонент разбивает строки по индексам по признаку 10 13.
Пока сделал так:
Make(delphi)
ver(4.04 build 185)
Add(MainForm,2953706,21,105)
{
Width=532
Height=406
}
Add(Memo,5902294,182,91)
{
Width=236
Height=230
Strings=#3:эти|6:строки|4:надо|7:хранить|9:по одному|8:индексу.|
ScrollBars=2
}
Add(Memo,12080701,399,247)
{
Left=250
Width=271
Height=230
ScrollBars=2
}
Add(UpDown,3533713,28,259)
{
Left=15
Top=330
Position=3
link(onPosition,5529659:doText,[])
}
Add(Edit,5529659,77,259)
{
Left=65
Top=330
Text="3"
}
Add(Button,9136544,14,343)
{
Left=55
Top=250
Caption="запись"
link(onClick,6813609:doEvent1,[])
}
Add(StrList,4841449,259,224)
{
FileName="hhhh"
Strings=#0:|0:|0:|0:|0:|0:|0:|0:|0:|0:|0:|
Point(doGetString)
Point(onGetString)
Point(doReplace)
link(Str,5231541:Value,[])
link(onGetString,15846449:doReplace,[(299,237)(299,251)])
}
Add(Replace,15846449,308,245)
{
SubStr=""
DestStr="
"
link(onReplace,16305687:doEvent1,[])
}
Add(Replace,54857,182,175)
{
SubStr="
"
DestStr=""
link(onReplace,5231541:doValue,[])
link(Str,5902294:Text,[])
}
Add(DoData,8336849,112,350)
{
link(onEventData,4841449:doReplace,[(202,356)(202,279)])
link(Data,15437649:Var3,[(118,317)])
}
Add(Hub,6813609,63,343)
{
link(onEvent1,54857:doReplace,[(133,349)(133,181)])
link(onEvent2,8336849:doData,[])
}
Add(Memory,5231541,259,175)
{
}
Add(Hub,16305687,357,245)
{
link(onEvent1,12080701:doClear,[(385,251)(385,260)])
link(onEvent2,12080701:doAdd,[(385,258)(385,253)])
}
Add(DoData,14198965,91,406)
{
link(onEventData,4841449:doGetString,[(202,412)(202,272)])
link(Data,15437649:Var2,[])
}
Add(GetDataEx,15437649,91,312)
{
Angle=3
link(Data,3533713:Position,[(34,317)])
}
Add(Button,3426285,28,406)
{
Left=320
Top=250
Caption="чтение"
link(onClick,14198965:doData,[])
}
Add(Label,8079583,91,42)
{
Left=35
Top=290
Width=81
Height=17
Caption="номер индекса"
}
P.S.
Что означает фраза "Инициализирует список строками в виде: <Строка1,Строка2,...>" в похожих компонентах?
Очень лаконичное описание.
Разделителем является запятая?