Вверх ↑
Этот топик читают: Гость
Ответов: 254
Рейтинг: 6
#1: 2017-07-28 10:25:42 ЛС | профиль | цитата
Добрый день! Есть стандартный пример использования графики


Add(MainForm,12413584,42,245)
{
Width=931
Height=456
}
Add(DocumentTemplate,15557505,280,189)
{
Name="MainPage"
link(Bitmap,13572165:Bitmap,[(286,177)(262,177)(262,233)(223,233)])
}
BEGIN_SDK
Add(Print_Table,15348492,11,41)
{
Name="mtable"
X=14
Y=44
Width=903
Height=203
Columns=#9:ФИО|217|0|7:1|217|1|
RowHeight=20
Spacing=1
TableTrans=0
TBorderStyle=5
HeadFont=[Comic Sans MS,10,1,0,1]
HeadBackColor=12303291
CellBackColor=15658734
}
END_SDK
Add(PaintBox,13572165,217,189)
{
Left=10
Top=40
Width=905
Height=385
Color=16777215
Layout="horz"
WidthScale=100
HeightScale=100
ClearBeforeDraw=0
link(onBeforeDraw,15557505:doDraw,[])
}
Add(PC_TableRow,1179918,441,245)
{
ItemName="mtable"
Document="MainPage"
link(onAddRow,13344997:doEvent1,[])
}
Add(PC_TableSetCell,3777948,525,245)
{
ItemName="mtable"
Document="MainPage"
link(Text,10867376:Item,[(531,233)(429,233)(429,289)(391,289)])
link(Col,1498554:Value,[])
}
Add(Hub,13344997,490,245)
{
link(onEvent1,3777948:doText,[])
link(onEvent2,13831645:doFor,[(514,258)(514,321)])
}
Add(Memory,1498554,532,189)
{
Default=Integer(0)
}
Add(PC_TableSetCell,6703915,686,315)
{
ItemName="mtable"
Document="MainPage"
link(Col,7462851:Value,[])
link(Row,1179918:Row,[(706,296)(447,296)])
}
Add(VBoxLayout,10551583,238,427)
{
Name="horz"
Space=3
Padding=2
}
Add(StrList,12798864,371,168)
{
Strings=#9:Иванов И.|9:Петров П.|10:Сидоров К.|10:Иванова М.|10:Петрова С.|11:Сидорова К.|
}
Add(ArrayEnum,10867376,385,245)
{
link(onItem,1179918:doAddRow,[])
link(Array,12798864:Array,[])
}
Add(Button,9618318,98,245)
{
Left=15
Top=10
link(onClick,12070866:doEvent1,[])
}
Add(Hub,12070866,161,245)
{
link(onEvent1,10867376:doEnum,[])
link(onEvent2,13572165:doRefresh,[(196,258)(196,195)])
}
Add(For,13831645,525,315)
{
Start=1
End=31
link(onEvent,3471255:doRandom,[])
}
Add(Random,3471255,595,315)
{
Min=1
Max=10
link(onRandom,6703915:doText,[])
}
Add(Memory,7462851,693,238)
{
Default=Integer(1)
}


Пробовал сделать двумя вариантами, но результата нужного не добился.
Вариант 1

Add(StrList,12798864,371,168)
{
Strings=#9:Иванов И.|9:Петров П.|10:Сидоров К.|10:Иванова М.|10:Петрова С.|11:Сидорова К.|
}
Add(ArrayEnum,10867376,385,245)
{
link(Array,12798864:Array,[])
}


Вариант 2

Add(StrList,12798864,371,168)
{
Strings=#9:Иванов И.|9:Петров П.|10:Сидоров К.|10:Иванова М.|10:Петрова С.|11:Сидорова К.|
}
Add(ArrayEnum,10867376,385,245)
{
link(Array,12798864:Array,[])
}

карма: 0

0
vip
#1.1контекстная реклама от партнеров
Разработчик
Ответов: 26061
Рейтинг: 2120
#2: 2017-07-28 12:15:17 ЛС | профиль | цитата
Схема


Add(MainForm,12413584,84,287)
{
Width=931
Height=456
}
Add(DocumentTemplate,15557505,322,231)
{
Name="MainPage"
link(Bitmap,13572165:Bitmap,[(328,219)(304,219)(304,275)(265,275)])
}
BEGIN_SDK
Add(Print_Table,15348492,11,41)
{
Name="mtable"
X=14
Y=44
Width=903
Height=203
Columns=#9:ФИО|217|0|7:1|217|1|
RowHeight=20
Spacing=1
TableTrans=0
TBorderStyle=5
HeadFont=[Comic Sans MS,10,1,0,1]
HeadBackColor=12303291
CellBackColor=15658734
}
END_SDK
Add(PaintBox,13572165,259,231)
{
Left=10
Top=40
Width=905
Height=385
Color=16777215
Layout="horz"
WidthScale=100
HeightScale=100
ClearBeforeDraw=0
link(onBeforeDraw,15557505:doDraw,[])
}
Add(PC_TableRow,1179918,483,287)
{
ItemName="mtable"
Document="MainPage"
link(onAddRow,13344997:doEvent1,[])
}
Add(PC_TableSetCell,3777948,567,287)
{
ItemName="mtable"
Document="MainPage"
link(Text,10867376:Item,[(573,275)(471,275)(471,331)(433,331)])
link(Col,1498554:Value,[])
}
Add(Hub,13344997,532,287)
{
link(onEvent1,3777948:doText,[])
link(onEvent2,13831645:doFor,[(556,300)(556,363)])
}
Add(Memory,1498554,574,231)
{
Default=Integer(0)
}
Add(PC_TableSetCell,6703915,728,357)
{
ItemName="mtable"
Document="MainPage"
link(Col,7462851:Value,[])
link(Row,1179918:Row,[(748,338)(489,338)])
}
Add(VBoxLayout,10551583,140,364)
{
Name="horz"
Space=3
Padding=2
}
Add(StrList,12798864,413,210)
{
Strings=#9:Иванов И.|9:Петров П.|10:Сидоров К.|10:Иванова М.|10:Петрова С.|11:Сидорова К.|
}
Add(ArrayEnum,10867376,427,287)
{
link(onItem,1179918:doAddRow,[])
link(Array,12798864:Array,[])
}
Add(Button,9618318,140,287)
{
Left=15
Top=10
link(onClick,12070866:doEvent1,[])
}
Add(Hub,12070866,203,287)
{
link(onEvent1,10867376:doEnum,[])
link(onEvent2,11475917:doWork3,[(235,300)])
}
Add(For,13831645,567,357)
{
Start=1
End=31
link(onEvent,3471255:doRandom,[])
}
Add(Random,3471255,637,357)
{
Min=1
Max=10
link(onRandom,6703915:doText,[])
}
Add(Memory,7462851,735,280)
{
Default=Integer(1)
}
Add(PC_TableSetCell,15139738,175,182)
{
ItemName="mtable"
Document="MainPage"
link(Col,4763335:Text,[])
link(Row,1526416:Index,[(195,173)(167,173)(167,222)(111,222)])
}
Add(Button,2887362,42,182)
{
Left=100
Top=10
Caption="Set"
link(onClick,1526416:doEnum,[])
}
Add(Edit,4763335,182,112)
{
Left=185
Top=10
Text="0"
}
Add(HubEx,11475917,231,231)
{
link(onEvent,13572165:doRefresh,[])
}
Add(Label,767462,182,77)
{
Left=165
Top=10
Width=14
Height=17
Caption="Y:"
}
Add(StrList,1677725,84,119)
{
Strings=#9:Иванов И.|9:Петров П.|10:Сидоров К.|10:Иванова М.|10:Петрова С.|11:Сидорова К.|
}
Add(ArrayEnum,1526416,98,182)
{
link(onItem,15139738:doText,[])
link(onEndEnum,11475917:doWork2,[(137,195)(137,237)])
link(Array,1677725:Array,[])
}

карма: 22

0
Ответов: 254
Рейтинг: 6
#3: 2017-07-28 12:23:16 ЛС | профиль | цитата
nesco, немного не то, чего хотел добиться в своих примерах.
Мне надо не добавлять строки новыес данными, а чтобы во втором столбце также можно было добавлять слова (по аналогии с первым столбцом).

--- Добавлено в 2017-07-28 12:27:43

nesco, сорри. не ту кнопку нажимал

--- Добавлено в 2017-07-28 12:37:31

Отлично, спасибо большое nesco! Понял твой пример и переделал под себя


Add(MainForm,12413584,21,63)
{
Width=931
Height=456
}
Add(DocumentTemplate,15557505,217,21)
{
Name="MainPage"
link(Bitmap,13572165:Bitmap,[(223,9)(208,9)(208,62)(174,62)])
}
BEGIN_SDK
Add(Print_Table,15348492,11,41)
{
Name="mtable"
X=14
Y=44
Width=903
Height=203
Columns=#9:ФИО|217|0|9:1|217|1 |7:2|217|1|
RowHeight=20
Spacing=1
TableTrans=0
TBorderStyle=5
HeadFont=[Comic Sans MS,10,1,0,1]
HeadBackColor=12303291
CellBackColor=15658734
}
END_SDK
Add(PaintBox,13572165,168,21)
{
Left=10
Top=40
Width=905
Height=385
Color=16777215
Layout="horz"
WidthScale=100
HeightScale=100
ClearBeforeDraw=0
link(onBeforeDraw,15557505:doDraw,[])
}
Add(PC_TableRow,1179918,378,70)
{
ItemName="mtable"
Document="MainPage"
link(onAddRow,3777948:doText,[])
}
Add(PC_TableSetCell,3777948,427,70)
{
ItemName="mtable"
Document="MainPage"
link(Text,10867376:Item,[(433,58)(370,58)(370,111)(335,111)])
link(Col,1498554:Value,[])
}
Add(Memory,1498554,434,14)
{
Default=Integer(0)
}
Add(VBoxLayout,10551583,70,469)
{
Name="horz"
Space=3
Padding=2
}
Add(StrList,12798864,315,14)
{
Strings=#9:Иванов И.|9:Петров П.|10:Сидоров К.|10:Иванова М.|10:Петрова С.|11:Сидорова К.|
}
Add(ArrayEnum,10867376,329,70)
{
link(onItem,1179918:doAddRow,[])
link(Array,12798864:Array,[])
}
Add(Button,9618318,77,63)
{
Left=15
Top=10
link(onClick,12070866:doEvent1,[])
}
Add(Hub,12070866,126,63)
{
OutCount=5
link(onEvent1,13572165:doRefresh,[(154,69)(154,27)])
link(onEvent2,10867376:doEnum,[])
link(onEvent3,1526416:doEnum,[(198,83)(198,174)])
link(onEvent4,5284326:doEnum,[(161,90)(161,328)])
}
Add(PC_TableSetCell,15139738,280,168)
{
ItemName="mtable"
Document="MainPage"
link(Col,12689381:Value,[])
link(Row,1526416:Index,[(300,156)(268,156)(268,212)(237,212)])
}
Add(StrList,1677725,210,105)
{
Strings=#3:111|3:222|3:333|3:444|3:555|3:777|
}
Add(ArrayEnum,1526416,224,168)
{
link(onItem,15139738:doText,[])
link(Array,1677725:Array,[])
}
Add(Memory,12689381,287,119)
{
Default=Integer(1)
}
Add(PC_TableSetCell,3575077,231,322)
{
ItemName="mtable"
Document="MainPage"
link(Col,11398776:Value,[])
link(Row,5284326:Index,[(251,310)(223,310)(223,366)(195,366)])
}
Add(StrList,4042394,168,259)
{
Strings=#4:бла1|4:бла2|4:бла3|4:бла4|4:бла5|4:бла7|
}
Add(ArrayEnum,5284326,182,322)
{
link(onItem,3575077:doText,[])
link(Array,4042394:Array,[])
}
Add(Memory,11398776,238,259)
{
Default=Integer(2)
}


Редактировалось 2 раз(а), последний 2017-07-28 12:37:31
карма: 0

0
Разработчик
Ответов: 26061
Рейтинг: 2120
#4: 2017-07-28 12:48:23 ЛС | профиль | цитата
Если номер колонки отличен от 0, то вместо установки Memory можешь прописать номер колонки прямо в свойствах
карма: 22

0
Ответов: 254
Рейтинг: 6
#5: 2017-07-28 13:46:36 ЛС | профиль | цитата
nesco, ага с этим разобрался

А как сделать так, чтобы строки автоматически добавлялись? Сейчас как понимаю количество прописано в компоненте. А где задавать в ручную количество строк не нашел.
карма: 0

0
Разработчик
Ответов: 26061
Рейтинг: 2120
#6: 2017-07-28 13:56:24 ЛС | профиль | цитата
Строки добавляются извне при помощи PC_TableRow по одной, колонки не добавляются никак.
карма: 22

0
Ответов: 254
Рейтинг: 6
#7: 2017-07-28 13:59:58 ЛС | профиль | цитата
не пойму. Например, я хочу добавить 3 строки, то каким образом сделать это? Я не вижу параметра, через который можно было бы это сделать.
То есть у меня в листбоксе 4 параметра, то как мне добавить в таком случае 4 строки?

--- Добавлено в 2017-07-28 14:13:12

Точнее как высоту Document Template задать? не в свойствах, а путем передачи параметров?

Редактировалось 1 раз(а), последний 2017-07-28 14:13:12
карма: 0

0
Разработчик
Ответов: 26061
Рейтинг: 2120
#8: 2017-07-28 14:25:35 ЛС | профиль | цитата
Medvedoc писал(а):
Например, я хочу добавить 3 строки, то каким образом сделать это?

Как в любой таблице, в данном случае, используя PC_TableRow вместо Add.

Medvedoc писал(а):
Точнее как высоту Document Template задать? не в свойствах, а путем передачи параметров?

Высотой таблицы извне управлять нельзя, только на этапе создания.
карма: 22

0
Ответов: 254
Рейтинг: 6
#9: 2017-07-28 16:20:14 ЛС | профиль | цитата
а как в примере nesco можно выводить строки например с 3 или 5?

--- Добавлено в 2017-07-28 16:34:04

или может кто подскажет как сделать запрос в базу данных для вывода с конкретной строки?

Редактировалось 1 раз(а), последний 2017-07-28 16:34:04
карма: 0

0
Разработчик
Ответов: 26061
Рейтинг: 2120
#10: 2017-07-28 17:40:51 ЛС | профиль | цитата
Medvedoc писал(а):
а как в примере nesco можно выводить строки например с 3 или 5?

Как в любой табличной матрице -- ставишь на Row номер строки и прокручиваешь по циклу колонки от 0 до N с соответствующим занесением текста по doText в этой же итерации цикла после установки номера колонки.
карма: 22

0
10
Сообщение
...
Прикрепленные файлы
(файлы не залиты)