Вверх ↑
Ответов: 62
Рейтинг: 0
#1: 2010-08-08 18:30:54 ЛС | профиль | цитата
Tad
Спасибо, хорошая схема буду развивать дальше
------------ Дoбавленo в 18.30:
Tad Вот вариант схемы .Часть взял твою, особенно понравилась организация счетчика . Вопрос Стоит-ли расширять таблицу вправо для занесения дополнительных данных или лучше создать новую таблицу.Сомнения в том , что если таблица одна ,ее можно записать в один файл (как на примере), а если таблицы две (как записать в один файл)


Add(MainForm,13533940,273,154)
{
Width=670
Height=740
BorderStyle=1
Position=1
link(onCreate,13531138:doEvent2,[(317,174)(317,118)])
}
Add(Button,53310,896,161)
{
Left=180
Top=35
Width=80
Font=[Arial,8,0,0,1]
Hint="Записать в файл"
Caption="Сохранить"
link(onClick,4511240:doSave,[(936,167)(936,202)])
}
Add(Label,85963,273,210)
{
Left=225
Top=90
Height=18
Font=[Arial,10,0,0,1]
Caption="Высота"
AutoSize=1
Alignment=1
}
Add(Edit,70870,504,252)
{
Left=225
Top=110
Width=90
Height=21
Font=[Arial,10,0,0,1]
TabOrder=1
Hint="Введите высоту фасада"
Text=""
Alignment=1
DataType=1
Point(doSetFocus)
Point(doSelectAll)
link(onEnter,8598128:doEvent1,[])
}
Add(Label,64905,280,224)
{
Left=225
Top=170
Width=70
Font=[Arial,10,0,0,1]
Caption="Количество"
AutoSize=1
Alignment=1
}
Add(Edit,65912,504,154)
{
Left=225
Top=150
Width=90
Height=21
Font=[Arial,10,0,0,1]
TabOrder=2
Hint="Введите ширину фасада"
Text=""
Alignment=1
DataType=1
Point(doSetFocus)
Point(doSelectAll)
link(onEnter,3458436:doEvent1,[])
}
Add(Label,21476,273,203)
{
Left=225
Top=130
Font=[Arial,10,0,0,1]
Caption="Ширина"
AutoSize=1
Alignment=1
}
Add(Button,55985,896,301)
{
Left=95
Top=35
Width=80
Font=[Arial,8,0,0,1]
Hint="Открыть сохраненный список"
Caption="Открыть"
link(onClick,3556273:doEvent1,[])
}
Add(Button,91075,273,378)
{
Left=225
Top=220
Width=90
Height=110
Font=[Arial,12,0,0,1]
TabOrder=4
Hint="Внести данный фасад в таблицу"
Caption="Добавить"
Point(doSetFocus)
link(onClick,15065934:doEvent1,[])
}
Add(Edit,97742,623,105)
{
Left=225
Top=190
Width=75
Font=[Arial,10,0,0,1]
TabOrder=3
Hint="Введите колличество фасадов"
Text=""
Alignment=1
DataType=1
Point(doSetFocus)
Point(doSelectAll)
link(onChange,160199:doWork1,[(661,111)(661,99)(466,99)])
link(onEnter,11553050:doEvent1,[])
}
Add(UpDown,6192076,483,112)
{
Left=300
Top=190
Width=15
Font=[Arial,10,0,0,1]
TabOrder=4
Max=100
Min=1
Point(onMouseDown)
link(onPosition,6241274:doWork2,[])
}
Add(Hub,15065934,329,378)
{
OutCount=6
link(onEvent1,10103446:doWork2,[])
link(onEvent2,11801876:doNext,[(381,391)(381,321)])
link(onEvent3,14112277:doAdd,[])
link(onEvent4,10103446:doWork3,[(361,405)])
link(onEvent5,12034547:doAdd,[(392,412)(392,216)])
link(onEvent6,1038788:doEvent2,[(403,419)(403,279)])
}
Add(Counter,7381743,420,154)
{
}
Add(LineBreak,12528569,364,168)
{
Caption="Clear"
link(Out,7381743:doReset,[])
Primary=[10627494,0,-63]
}
Add(HubEx,7122155,602,392)
{
link(onEvent,12985991:doRowAction,[])
}
Add(GetDataEx,3201953,630,189)
{
link(Data,3207110:reCalc,[])
}
Add(Button,1305043,273,105)
{
Left=10
Top=35
Width=80
Font=[Arial,8,0,0,1]
Hint="Создать новый список"
Caption="Новый"
link(onClick,13531138:doEvent1,[])
}
Add(Hub,13531138,329,105)
{
InCount=3
OutCount=4
link(onEvent1,10627494:In,[])
link(onEvent2,160199:doWork2,[])
link(onEvent3,12519356:In,[])
link(onEvent4,1038788:doEvent1,[(353,132)(353,272)])
}
Add(LineBreak,6561929,595,14)
{
Caption="Clear"
link(Out,8265910:doClear,[])
Primary=[12519356,-231,105]
}
Add(GetDataEx,3521198,420,189)
{
link(Data,7381743:Count,[])
}
Add(HubEx,10103446,357,378)
{
Angle=3
link(onEvent,7381743:doNext,[(361,160)])
}
Add(HubEx,160199,462,112)
{
link(onEvent,6192076:doPosition,[])
}
Add(MathParse,3207110,623,154)
{
MathStr="%1*2"
Point(reCalc)
link(X1,14092384:Var2,[])
}
Add(Hub,1038788,462,266)
{
InCount=2
link(onEvent1,70870:doSetFocus,[])
link(onEvent2,70870:doSelectAll,[])
}
Add(Hub,2932688,469,168)
{
link(onEvent1,65912:doSetFocus,[])
link(onEvent2,65912:doSelectAll,[])
}
Add(Hub,8598128,546,259)
{
link(onEvent1,70870:doText2,[(572,265)(572,245)(492,245)(492,265)])
link(onEvent2,2932688:doEvent1,[(581,272)(581,224)(457,224)(457,174)])
}
Add(Hub,3458436,546,161)
{
OutCount=3
link(onEvent1,65912:doText2,[(571,167)(571,149)(492,149)(492,167)])
link(onEvent2,97742:doSetFocus,[(592,174)(592,125)])
link(onEvent3,97742:doSelectAll,[(605,181)(605,132)])
}
Add(Hub,11553050,679,112)
{
link(onEvent1,6241274:doWork1,[(707,118)(707,87)(585,87)])
link(onEvent2,91075:doSetFocus,[(717,125)(717,57)(261,57)(261,384)])
}
Add(HubEx,6241274,581,112)
{
link(onEvent,97742:doText2,[])
}
Add(GetDataEx,14092384,623,140)
{
link(Data,97742:Text,[])
}
Add(Math,2287857,581,315)
{
OpType=1
Op2=96
ResultType=0
link(Op1,5720355:Var3,[(587,201)])
}
Add(Math,7970954,462,315)
{
OpType=1
Op2=96
ResultType=0
link(onResult,2287857:doOperation,[])
link(Op1,3274682:Var1,[(468,306)])
}
Add(Label,5462686,280,217)
{
Left=10
Top=345
Width=430
Height=17
Caption="Детали профиля Детали наполнения"
}
Add(Label,13339545,290,230)
{
Left=10
Top=70
Width=442
Height=17
Caption="Размеры Параметры профиля"
}
Add(Label,6368157,288,227)
{
Left=340
Top=195
Width=143
Height=20
Font=[Arial,10,0,0,1]
Caption="Параметры наполнения"
AutoSize=1
Alignment=1
}
Add(MTStrTbl,2452207,840,56)
{
Left=5
Top=370
Width=650
Height=310
Font=[MS Sans Serif,10,1,0,1]
Name="tab"
ModeSp=1
Columns=#4:№=50|10:Размер=130|9:Кол-во=70|4: =60|10:Высота=130|10:Ширина=130|9:Кол-во=70|
ColumnWidth=70
TextAlign=1
Grid=0
}
Add(InfoTip,6675968,798,21)
{
Info=#7:Таблица|
Font=[MS Sans Serif,8,1,0,1]
Width=127
Height=95
}
Add(MST_Clear,8265910,658,14)
{
MSTControl="tab"
}
Add(MST_RowAction,12985991,651,392)
{
MSTControl="tab"
link(onChange,1992671:doWork2,[])
}
Add(MST_Save,4511240,945,196)
{
FileName="probe.tab"
SaveColumn=1
MSTControl="tab"
Point(doDelimiter)
link(onSaveToStream,810760:doCompress,[])
}
Add(MST_Load,476788,1078,371)
{
FileName="probe.tab"
ColNameHeader=1
MSTControl="tab"
Point(doDelimiter)
}
Add(Button,16023419,896,203)
{
Left=335
Top=30
Width=100
TabOrder=-1
Caption="SaveToStream"
link(onClick,4511240:doSaveToStream,[])
}
Add(Button,11515267,896,385)
{
Left=440
Top=30
Width=100
TabOrder=1
Caption="LoadFromStream"
link(onClick,6854200:doEvent1,[])
}
Add(ZLIB,810760,987,203)
{
link(onStream,3778120:doCopyFromStream,[])
}
Add(FileStream,3778120,1029,189)
{
FileName="probe.pak"
Mode=1
AutoCopy=0
Point(doCopyFromStream)
}
Add(FileStream,12435322,987,385)
{
FileName="probe.pak"
Point(doCopyFromStream)
link(onLoad,1283012:doDeCompress,[])
}
Add(Hub,6854200,945,385)
{
link(onEvent1,12435322:doOpen,[])
link(onEvent2,12435322:doClose,[])
}
Add(ZLIB,1283012,1029,378)
{
link(onStream,476788:doLoadFromStream,[])
}
Add(InfoTip,3820112,889,140)
{
Info=#32:Запись в файл или файловый поток|
Width=246
Height=123
}
Add(InfoTip,10017316,889,273)
{
Info=#36:Чтение из файла или файлового потока|
Width=246
Height=158
}
Add(Hub,2749219,833,392)
{
link(onEvent1,4511240:doDelimiter,[(880,398)(880,216)])
link(onEvent2,476788:doDelimiter,[(882,405)(882,427)(1068,427)(1068,391)])
}
Add(Edit,8583535,777,329)
{
Left=545
Top=5
Font=[MS Sans Serif,8,1,0,1]
Text=";"
link(onChange,1992671:doWork1,[(821,335)(821,313)(732,313)])
}
Add(DoData,3961529,777,392)
{
link(onEventData,2749219:doEvent1,[])
link(Data,8583535:Text,[])
}
Add(HubEx,1992671,728,392)
{
link(onEvent,3961529:doData,[])
}
Add(MT_AddData,14112277,497,392)
{
Count=7
link(onAdd,7122155:doWork2,[])
link(Data1,3521198:Var1,[(503,291)(415,291)(415,194)])
link(Data2,3274682:Var2,[])
link(Data3,3201953:Var3,[(517,291)(646,291)(646,194)])
link(Data4,11801876:Count,[(524,373)(419,373)])
link(Data5,7970954:Result,[(531,362)(468,362)])
link(Data6,2287857:Result,[(538,357)(587,357)])
link(Data7,14092384:Var3,[(545,364)(664,364)(664,145)])
}
Add(MT_AddData,12034547,497,210)
{
Count=3
link(onAdd,7122155:doWork1,[(606,216)])
link(Data1,3521198:Var3,[(503,194)])
link(Data2,5720355:Var2,[])
link(Data3,3201953:Var1,[(517,194)])
}
Add(Hub,3556273,966,301)
{
link(onEvent1,13531138:doEvent3,[(1123,307)(1123,96)(317,96)(317,125)])
link(onEvent2,476788:doLoad,[(1068,314)(1068,377)])
}
Add(GetDataEx,5720355,504,196)
{
link(Data,65912:Text,[])
}
Add(GetDataEx,3274682,504,301)
{
link(Data,70870:Text,[])
}
Add(Counter,11801876,413,315)
{
link(onNext,7970954:doOperation,[])
}

И еще вопрос. Куда лучше запоминать таблицу в файл или в поток?
карма: 0

0