Вверх ↑
Этот топик читают: Гость
Ответов: 446
Рейтинг: 7
#1: 2008-04-15 14:38:56 ЛС | профиль | цитата
Помогите с элементарным:
Раньше где то была тема по работе с иконками, по-моему, теперь же не могу найти!
Вобщем, необходимо первые 9 строк таблицы заполнять иконками от 1 до 9 вместе с поступающими данными.
Пример упрощен, для легкости восприятия.
Все иконки храняться в таблице в массиве иконок, все записи храняться в массиве строкового накопителя.
При нажатии на кнопку таблица заполняется данными, как сделать так что бы она заполнялась еще и иконками, согласно номерам строк?
Что делаю:
Включаю в свойствах таблицы в списке Images>AsignedIList>True
Получаю: Таблица заполняется тремя строчками согласно нашему списку, НО только первой иконкой, И текста тоже нет либо не видно.

Вопрос:
Как правильно с иконками работать?

Пример:
code_8846.txt
карма: 0
Время верстки: Текущее время: %time%
0
файлы: 1code_8846.txt [1.9KB] [149]
Разработчик
Ответов: 26151
Рейтинг: 2127
#2: 2008-04-15 14:45:06 ЛС | профиль | цитата
Stasie, проще пареной репы, но а твоем случае индексы надо прописывать сразу, или при заполнении строкового накопителя



Add(MainForm,14111198,448,280)
{
Left=20
Top=105
}
Add(StringTableMT,9399812,553,287)
{
Left=15
Top=35
Width=360
Height=130
ModeSp=1
SizeSp=14
ColorSp=32768
MinOwn=200
Columns=#15:Ваши записи=320|
AssignedIList=0
IconsCheck=[]
MiscIcons=[]
Icons=['Icon'=[ZIP7E07000078DA636060044229290620C9C190C1CEC020C6C0C0A001C44021061306883808383033200023943EFA8161C2B39F0C2137BF319CFFF29781E7F427067E20FEFFFF3F03C3898F0CA360148C82E10B5859597000A01C3B2E4015390626666666461C728C6C6C6CCCA372A872A0621B971C2B1313330E39B02632E4D859591971CA81D8CC38FD00D4CBC8C888334D003D42DDB48421472F00009A342336],'Icon'=[ZIP7E07000078DAED953B0EC230104467BDBB31074014349450D02071008EC331A8696810E2381C831E4845414F116C0794286C2A1005CA8BF391477666D68E0250388643846B0F4B0F0C004CC219BA3047D91F59302AA8BC1DAF77F4D7278CB717AC0E37CCF639A6BB1C455160B439A3A3A3E37F51DFC61734E79CC6161E9A1A0932A4963135C749F6A24D83A9798E9AA888BEFB74710C88C8C8405C7B59331FA5814A66F66407765DCA59C5D67C69C7F012603BBB72C09BD949D2745CB9A9699A34B134EF5238AECC34EB09DB8B573C97C8AAA7C65F0DB35DB3B804449FEF3369E577DFCF03EBA020FB],'Icon'=[ZIP7E07000078DAED923D4EC4301085BFB1C73627A0D81370000EC019A868B6A1E22C744848487B8E3D0A1780A5A3DA06D1A0ECD859697F6C475414282F8A93F8D338F39E0D62D762818D173C24B804AEECB629AE19E7B36E3C07C9F878BA7DE36BFBC3FAF193CDEB37ABFB0F5E961B8661E0F9EE9D59B366FD5F69E8C958EAA962D063AA4E130D867A89317A47C57071AF3D3C663E17E541AABA9017749A0B9553861E983B6369824DD6E1CCDCD86CC5EC1D571C8A52E7526C44A9FD155682D146669673C8FFF3E7CCD234953E4543DFDF442E8D3E4BFB2570BA7BD4F460CE457C6B6FF347500DD03E2F2426CE59FA2DFB2BED0012452270]]
StringsStrLst=#31:0;первая строка - первая иконка|31:1;вторая строка - вторая иконка|32:2;третья строка - третья икоонка|
StaticColumn=0
Point(doSelect)
Point(doAutoMakeVisible)
Point(doTblStrLst)
}
Add(Button,11475751,448,336)
{
Left=15
Top=10
Width=200
Caption="заполнить иконками и текстом"
link(onClick,9399812:doTblStrLst,[])
}


Запомни:
при включенном списке иконок -- первый столбец при инициализации есть индексы иконок,
при включенном цвете -- второй столбец при инициализации есть строка цвета.

Лучше в твоем примере, сначала заполнить строковый накопитель (по аналогии, что я прописал в примере), а потом уже инициализировать таблицу данными строкового накопителя
карма: 22

1
Голосовали:Stasie
Ответов: 446
Рейтинг: 7
#3: 2008-04-15 15:26:47 ЛС | профиль | цитата
Хорошо, спасибо, таким образом все понятно!
Продолжаем разговор

Теперь, нужно делать тоже самое при открытии файла:
code_8847.txt

Записи могут быть любые для пробы.

Значит если я так же создаю файл с прописанными индексами как показано в верхнем примере (nesco), то все работает теперь правильно. ОДНАКО, записи будут скорее всего без этих индексов и естественно ничего не получается...
Догадываюсь:
Что нужно как то инициализировать список строк строками (0,1,2, и тд) но такую функцию нашел только для строкового накопителя.
Что мне нужно сделать?

P.S. Заранее, прошу прощения, но очень хочется разобраться с mt таблицей...
------------ Дoбавленo:

А все, сейчас попробую
------------ Дoбавленo:

А то прочитал ответ до того как ты его подправил
------------ Дoбавленo:

Вобщем, не разобрался я пока как это легко и просто реализовать и подумал, лучше уже готовые файлы загружать с нужными мне столбцами
карма: 0
Время верстки: Текущее время: %time%
0
файлы: 1code_8847.txt [1.8KB] [155]
Разработчик
Ответов: 26151
Рейтинг: 2127
#4: 2008-04-15 18:07:14 ЛС | профиль | цитата
Ну что тут делать-то


Add(MainForm,14111198,497,357)
{
Left=20
Top=105
}
Add(StringTableMT,9399812,560,287)
{
Left=15
Top=35
Width=360
Height=130
ModeSp=1
SizeSp=14
ColorSp=32768
MinOwn=200
Columns=#15:Ваши записи=320|
AssignedIList=0
IconsCheck=[]
MiscIcons=[]
Icons=['Icon'=[ZIP7E07000078DA636060044229290620C9C190C1CEC020C6C0C0A001C44021061306883808383033200023943EFA8161C2B39F0C2137BF319CFFF29781E7F427067E20FEFFFF3F03C3898F0CA360148C82E10B5859597000A01C3B2E4015390626666666461C728C6C6C6CCCA372A872A0621B971C2B1313330E39B02632E4D859591971CA81D8CC38FD00D4CBC8C888334D003D42DDB48421472F00009A342336],'Icon'=[ZIP7E07000078DAED953B0EC230104467BDBB31074014349450D02071008EC331A8696810E2381C831E4845414F116C0794286C2A1005CA8BF391477666D68E0250388643846B0F4B0F0C004CC219BA3047D91F59302AA8BC1DAF77F4D7278CB717AC0E37CCF639A6BB1C455160B439A3A3A3E37F51DFC61734E79CC6161E9A1A0932A4963135C749F6A24D83A9798E9AA888BEFB74710C88C8C8405C7B59331FA5814A66F66407765DCA59C5D67C69C7F012603BBB72C09BD949D2745CB9A9699A34B134EF5238AECC34EB09DB8B573C97C8AAA7C65F0DB35DB3B804449FEF3369E577DFCF03EBA020FB],'Icon'=[ZIP7E07000078DAED923D4EC4301085BFB1C73627A0D81370000EC019A868B6A1E22C744848487B8E3D0A1780A5A3DA06D1A0ECD859697F6C475414282F8A93F8D338F39E0D62D762818D173C24B804AEECB629AE19E7B36E3C07C9F878BA7DE36BFBC3FAF193CDEB37ABFB0F5E961B8661E0F9EE9D59B366FD5F69E8C958EAA962D063AA4E130D867A89317A47C57071AF3D3C663E17E541AABA9017749A0B9553861E983B6369824DD6E1CCDCD86CC5EC1D571C8A52E7526C44A9FD155682D146669673C8FFF3E7CCD234953E4543DFDF442E8D3E4BFB2570BA7BD4F460CE457C6B6FF347500DD03E2F2426CE59FA2DFB2BED0012452270]]
StringsStrLst=#29:первая строка - первая иконка|29:вторая строка - вторая иконка|30:третья строка - третья икоонка|
StaticColumn=0
Point(doSelect)
Point(doAutoMakeVisible)
Point(doTblStrLst)
Point(StrLstArray)
}
Add(Button,11475751,497,413)
{
Left=15
Top=10
Width=200
Caption="заполнить иконками и текстом"
link(onClick,4402848:doEnum,[])
}
Add(ArrayEnum,4402848,574,413)
{
link(onItem,10311747:doString,[])
link(onEndEnum,9399812:doTblStrLst,[(618,426)(618,384)(548,384)(548,342)])
link(Array,12409232:Var2,[])
}
Add(FormatStr,10311747,630,413)
{
Mask="%1;%2"
link(onFString,11127183:doWrite,[])
link(Str1,9566506:Var2,[])
}
Add(ArrayRW,11127183,686,406)
{
link(Array,12409232:Var3,[(692,366)])
link(Index,9566506:Var3,[(699,394)])
}
Add(GetDataEx,12409232,567,357)
{
link(Data,9399812:StrLstArray,[])
}
Add(GetDataEx,9566506,623,385)
{
Angle=3
link(Data,4402848:Index,[(609,394)(609,457)(587,457)])
}

карма: 22

2
Голосовали:Stasie, Валерий
Ответов: 446
Рейтинг: 7
#5: 2008-04-15 23:09:51 ЛС | профиль | цитата
nesco, Спасибо!
Который раз убеждаюсь, что HiAsm велик и могуч.
А если серьезно, что очень много можно реализовать посредством форматной строки.
Это как с примером про перевод каретки в строке в таблице.
Ну не получается у меня думать в ту сторону, до перебора массивая я додумался,
а в остальном искал ответ на поверхности.

+2

карма: 0
Время верстки: Текущее время: %time%
0
Ответов: 3851
Рейтинг: 159
#6: 2008-04-16 09:42:41 ЛС | профиль | цитата
nesco, напрашивается вывод: очень нужна справка по твоей таблице, с примерами. В tutorial конечно. Я этой таблицей редко пользуюсь потому, что многие вещи для меня неочевидны, а простую таблицу я знаю лучше, и значит сделаю быстрее - форум не всегда доступен.
карма: 0
начавший
0
Разработчик
Ответов: 26151
Рейтинг: 2127
#7: 2008-04-16 10:06:15 ЛС | профиль | цитата
Андрей. писал(а):
этой таблицей редко пользуюсь потому, что многие вещи для меня неочевидны

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

0
Ответов: 446
Рейтинг: 7
#8: 2008-04-16 11:45:32 ЛС | профиль | цитата
Можно ли еще один вопрос по таблице?
Как заставить ее растягиваться вниз вместе с формой? Т.е. если я хочу растягивать ее в лево - в право, то использую сплиттер, предусмотренный таблицей... А как точно также тягать ее верх-вниз? Типа режима caClient, но только для заданной области, т.к. у меня под таблицей есть кнопки управления?
code_8854.txt
карма: 0
Время верстки: Текущее время: %time%
0
файлы: 1code_8854.txt [750B] [163]
Ответов: 9906
Рейтинг: 351
#9: 2008-04-16 11:56:14 ЛС | профиль | цитата
Таблица-то тут причем


#sha
Add(StringTableMT,9399812,112,84)
{
Width=392
Height=314
Align=5
Color=5
Ctl3D=5
Columns=#15:Ваши записи=320|
AssignedIList=0
IconsCheck=[]
MiscIcons=[]
Icons=[]
StaticColumn=0
Point(doSelect)
Point(doAutoMakeVisible)
Point(doTblStrLst)
Point(StrLstArray)
}
Add(ChildPanelEx,15548155,168,112)
{
}
BEGIN_SDK
Add(EditMultiEx,7610754,21,21)
{
}
Add(Panel,986630,35,105)
{
Left=35
Top=105
Width=507
Height=67
Align=4
BorderWidth=0
BevelInner=0
BevelWidth=0
Point(doColor)
}
Add(CheckBox,2426359,98,56)
{
Left=5
Top=5
Width=225
Caption="Кнопочки управления"
}
Add(Label,15629743,98,105)
{
Left=5
Top=45
Width=373
Height=17
Caption="вместе с ее размерами, но с определенными отсутпами со всех сторон"
}
Add(Label,10451619,147,105)
{
Left=5
Top=30
Width=355
Height=17
Caption="хорошо бы если бы она могла быть привязана к форме и зменяться"
}
END_SDK
карма: 9

1
Голосовали:Stasie
Ответов: 446
Рейтинг: 7
#10: 2008-04-16 12:03:39 ЛС | профиль | цитата
О, ура, Galkov, СПАСИБО.

Galkov писал(а):
Таблица-то тут причем


Ну, кто ж его знает. Первый раз с такой задачей столкнулся.

------------ Дoбавленo:


как хитро то сделано...
карма: 0
Время верстки: Текущее время: %time%
0
Ответов: 8926
Рейтинг: 823
#11: 2008-04-16 12:20:31 ЛС | профиль | цитата
Stasie, иногда свойства Align не могут сделать вид, какой хочется, тогда надо использовать точки размеров и считать:
code_8855.txt
карма: 19

2
файлы: 1code_8855.txt [1.6KB] [245]
Голосовали:Stasie, Валерий
Ответов: 446
Рейтинг: 7
#12: 2008-04-16 12:27:49 ЛС | профиль | цитата
Леонид писал(а):
Stasie, иногда свойства Align не могут сделать вид, какой хочется, тогда надо использовать точки размеров и считать:

Ясно, спасибо.

P.S. все эти вещи как то усложняют работу с таблицами...
карма: 0
Время верстки: Текущее время: %time%
0
Разработчик
Ответов: 26151
Рейтинг: 2127
#13: 2008-04-16 16:18:36 ЛС | профиль | цитата
Леонид писал(а):
иногда свойства Align не могут сделать вид, какой хочется, тогда надо использовать точки размеров и считать

Stasie писал(а):
все эти вещи как то усложняют работу с таблицами...

Это везде так, а не только в HiAsm'e. Возми стандартное окно "Мой Компьютер" в режиме таблицы и постарайся сжать или разжать окно по горизонтали -- так же точно рамка будет наезжать на столбцы и включать скрол.
карма: 22

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