Вверх ↑
Этот топик читают: Гость
Ответов: 302
Рейтинг: 1
#286: 2026-03-09 15:07:56 ЛС | профиль | цитата
Gunta писал(а):

Не знаю, на сколько правильно я тебя понял.

Почти)) Поле выбора строки в 3й столбец. Если в первой колонке, к примеру, пишем цифру 5, то в 3 столбце выбирается Склад. То есть в последнем столбце выбор слова: Аптека, Улица, Фонарь, Склад.

Если ввели число 12, то Аптеку выбрать автоматически например.

Редактировалось 2 раз(а), последний 2026-03-09 15:15:28
карма: 1

0
Ответов: 1129
Рейтинг: 224
#287: 2026-03-09 19:09:57 ЛС | профиль | цитата
Gitarist писал(а):
Почти)) Поле выбора строки в 3й столбец. Если в первой колонке, к примеру, пишем цифру 5, то в 3 столбце выбирается Склад. То есть в последнем столбце выбор слова: Аптека, Улица, Фонарь, Склад.

Это как-то так должно выглядеть?
Add(ComboBox,13629484,602,196)
{
Left=200
Top=55
Height=21
Strings=#1:1|1:2|1:3|1:4|1:5|1:6|1:7|1:8|1:9|2:10|2:11|2:12|2:13|
Text="Выбрать склад"
DataType=1
Point(doLeft)
Point(doTop)
Point(doWidth)
Point(doHeight)
Point(doSetFocus)
Point(doBringToFront)
Point(doSendToBack)
link(onClick,6141217:doEvent1,[(641,209)(641,167)(137,167)(137,237)])
}
Add(MainForm,2488458,203,35)
{
link(onCreate,9296762:doFor,[])
}
Add(MTStrTbl,9028172,126,42)
{
Width=384
Height=135
Align=2
Font=[MS Sans Serif,10,0,0,1]
Name="qwerty"
Columns=#8:Столбец1|8:Столбец2|8:Столбец3|
}
Add(MST_UseEditCtrl,6210253,259,231)
{
MSTControl="qwerty"
Point(doSetCell)
Point(Row)
Point(Col)
link(onCellSize,16732929:doValue,[(305,237)(305,181)])
link(onEnterCell,14012923:doEvent,[])
link(onEscCell,13629484:doSendToBack,[(319,258)(319,293)(508,293)(508,272)])
link(Row,6210253:Index,[(265,222)(251,222)(251,278)(279,278)])
link(Col,14806455:Value,[])
}
Add(MST_RowAction,9055796,350,49)
{
MSTControl="qwerty"
}
Add(For,9296762,259,49)
{
End=10
InData=0
link(onEvent,11751671:doAdd,[])
}
Add(MT_MultiData,12352329,539,224)
{
Count=4
Point(Data)
link(onData1,13629484:doLeft,[])
link(onData2,13629484:doTop,[])
link(onData3,13629484:doWidth,[])
link(onData4,13629484:doHeight,[])
link(Data,16732929:Value,[])
}
Add(MT_Memory,16732929,539,175)
{
}
Add(Hub,5403016,490,238)
{
InCount=2
OutCount=4
link(onEvent1,13629484:doText,[(515,244)(515,223)])
link(onEvent2,12352329:doSeparateMT,[(529,251)(529,230)])
link(onEvent3,13629484:doSetFocus,[])
link(onEvent4,13629484:doBringToFront,[])
}
Add(MT_AddData,11751671,301,49)
{
Count=3
Data=String()
link(onAdd,9055796:doRowAction,[])
}
Add(IndexToChanel,14012923,329,238)
{
Count=3
Point(Index)
link(onEvent1,6558673:doData,[])
link(Index,14826422:Var3,[(335,229)(314,229)(314,271)])
link(onEvent3,10595021:doData,[])
}
Add(StrList,388713,413,105)
{
Strings=#6:Аптека|5:Улица|6:Фонарь|5:Склад|
}
Add(StrList,11263867,371,105)
{
Strings=#1:1|1:2|1:3|1:4|1:5|1:6|1:7|1:8|1:9|2:10|2:11|2:12|2:13|
}
Add(DoData,6558673,371,238)
{
link(onEventData,5403016:doEvent1,[])
link(Data,11263867:Text,[])
}
Add(DoData,10595021,413,252)
{
link(onEventData,5403016:doEvent2,[(452,258)(452,251)])
link(Data,388713:Text,[])
}
Add(Hub,6141217,147,231)
{
link(onEvent1,6210253:doSetData,[])
link(onEvent2,4438744:doEvent,[])
}
Add(Memory,14806455,266,182)
{
Default=Integer(2)
}
Add(IndexToChanel,4438744,182,238)
{
Point(Index)
link(onEvent1,6210253:doSetCell,[])
link(Index,14826422:Var1,[(188,229)(223,229)(223,271)])
}
Add(GetDataEx,14826422,266,266)
{
link(Data,6210253:SubItem,[])
}


Gitarist писал(а):
Если ввели число 12, то Аптеку выбрать автоматически например.

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

Редактировалось 2 раз(а), последний 2026-03-09 19:32:25
карма: 20

0
Ответов: 302
Рейтинг: 1
#288: 2026-03-11 19:17:59 ЛС | профиль | цитата
Gunta писал(а):
Пока не уловил, какая связь между первым и третим столбцами?

Нужно сделать так:
Представьте обычную таблицу с 3мя колонками (столбцами). В первом столбце мы пишем любые слова, цифры итд. Во втором то же самое. А в третьем поле выбора, можно выбрать Аптека, Улица, Фонарь, Склад.
Логика: если мы в первом столбце вводим цифру "3" или "5" то в третьем столбце автоматически должно выбраться "Склад".

--- Добавлено в 2026-03-11 19:19:11

Gunta писал(а):
Это как-то так должно выглядеть?

Нет, поле выбора должно быть только в 3м столбце.

Редактировалось 1 раз(а), последний 2026-03-11 19:19:11
карма: 1

0
Ответов: 1129
Рейтинг: 224
#289: 2026-03-12 04:36:24 ЛС | профиль | цитата
Gitarist писал(а):
Логика: если мы в первом столбце вводим цифру "3" или "5" то в третьем столбце автоматически должно выбраться "Склад".


Add(Edit,2089335,476,287)
{
Left=840
Top=110
Text=""
Point(doLeft)
Point(doTop)
Point(doWidth)
Point(doHeight)
Point(doSetFocus)
Point(doBringToFront)
Point(doSendToBack)
link(onChange,10233942:doEvent1,[])
link(onEnter,10233942:doEvent2,[])
}
Add(ComboBox,13629484,476,413)
{
Left=200
Top=55
Height=21
Strings=#6:Аптека|5:Улица|6:Фонарь|0:|
Text="Выбрать склад"
DataType=1
Point(doLeft)
Point(doTop)
Point(doWidth)
Point(doHeight)
Point(doSetFocus)
Point(doBringToFront)
Point(doSelectString)
Point(doSendToBack)
link(onClick,8098852:doWork2,[])
}
Add(MainForm,2488458,343,84)
{
link(onCreate,9296762:doFor,[])
}
Add(MTStrTbl,9028172,266,91)
{
Width=384
Height=135
Align=5
Font=[MS Sans Serif,10,0,0,1]
Name="qwerty"
Columns=#8:Столбец1|8:Столбец2|8:Столбец3|
}
Add(MST_UseEditCtrl,6210253,217,434)
{
MSTControl="qwerty"
link(onCellSize,1349585:doValue,[(256,440)(256,244)])
link(onEnterCell,14012923:doEvent,[])
link(onEscCell,13933826:doEvent1,[(256,461)(256,489)])
}
Add(MST_RowAction,9055796,483,98)
{
MSTControl="qwerty"
}
Add(For,9296762,399,98)
{
End=10
InData=0
link(onEvent,11751671:doAdd,[])
}
Add(MT_MultiData,12352329,427,441)
{
Count=4
Point(Data)
link(onData1,13629484:doLeft,[])
link(onData2,13629484:doTop,[])
link(onData3,13629484:doWidth,[])
link(onData4,13629484:doHeight,[])
link(Data,15992899:Var1,[(433,362)(419,362)(419,278)])
}
Add(Hub,5403016,378,455)
{
OutCount=4
link(onEvent1,12352329:doSeparateMT,[(403,461)(403,447)])
link(onEvent2,13629484:doSetFocus,[(417,468)(417,475)])
link(onEvent3,13629484:doBringToFront,[(410,475)(410,482)])
link(onEvent4,13629484:doSelectString,[(403,482)(403,489)])
}
Add(MT_AddData,11751671,441,98)
{
Count=3
Data=String()
link(onAdd,9055796:doRowAction,[])
}
Add(IndexToChanel,14012923,273,441)
{
Count=3
Point(Index)
link(onEvent1,14489200:doWork2,[])
link(onEvent2,14489200:doWork3,[(322,454)])
link(onEvent3,5403016:doEvent1,[])
link(Index,6210253:SubItem,[(279,432)(265,432)(265,474)(230,474)])
}
Add(StrList,388713,567,259)
{
Strings=#0:|0:|0:|5:Склад|0:|5:Склад|
Point(doGetString)
Point(onGetString)
link(onGetString,5187061:doWrite,[])
}
Add(MT_MultiData,12166355,427,301)
{
Count=4
Point(Data)
link(onData1,2089335:doLeft,[])
link(onData2,2089335:doTop,[])
link(onData3,2089335:doWidth,[])
link(onData4,2089335:doHeight,[])
link(Data,15992899:Var2,[])
}
Add(MT_Memory,1349585,427,238)
{
}
Add(Hub,10202633,371,315)
{
OutCount=4
link(onEvent1,2089335:doText2,[(396,321)(396,300)])
link(onEvent2,12166355:doSeparateMT,[(403,328)(403,307)])
link(onEvent3,2089335:doSetFocus,[])
link(onEvent4,2089335:doBringToFront,[])
}
Add(GetDataEx,15992899,427,273)
{
link(Data,1349585:Value,[])
}
Add(HubEx,14489200,318,441)
{
Angle=3
link(onEvent,10202633:doEvent1,[(322,321)])
}
Add(Hub,10233942,525,287)
{
InCount=2
link(onEvent1,388713:doGetString,[])
link(onEvent2,8098852:doWork1,[(561,300)])
}
Add(HubEx,8098852,557,420)
{
Angle=1
link(onEvent,6210253:doSetData,[(561,516)(207,516)(207,440)])
}
Add(MatrixRW,5187061,637,259)
{
link(Matrix,11591553:Matrix,[])
link(X,4648589:Value,[(657,243)(685,243)])
link(Y,6210253:Index,[(664,250)(686,250)(686,512)(237,512)])
}
Add(MST_Matrix,11591553,637,203)
{
MSTControl="qwerty"
}
Add(Memory,4648589,679,203)
{
Default=Integer(2)
}
Add(Hub,13933826,322,483)
{
link(onEvent1,2089335:doSendToBack,[(347,489)(347,349)])
link(onEvent2,13629484:doSendToBack,[])
}

карма: 20

0
Ответов: 302
Рейтинг: 1
#290: 2026-03-12 23:55:03 ЛС | профиль | цитата
Да, Gunta, все отлично, спасибо большое.
Схемище такая замороченная получилась.
А к этому всему можно прикрутить перемещение строк мышью? с помощью этого например https://forum.hiasm.com/topic/68358 ?
карма: 1

0
Ответов: 1129
Рейтинг: 224
#291: 2026-03-13 06:59:03 ЛС | профиль | цитата
Gitarist писал(а):
Схемище такая замороченная получилась.

Возможно, кто-то предложит схему проще.
Gitarist писал(а):
А к этому всему можно прикрутить перемещение строк мышью? с помощью этого например https://forum.hiasm.com/topic/68358 ?

А кто мешает? Попробуй.
карма: 20

0
Ответов: 1129
Рейтинг: 224
#292: 2026-09-20 13:02:28 ЛС | профиль | цитата
sla8a писал(а):
6. Шрифт (размер) названия групп можно изменить? А то даже при увеличении размера шрифта в таблице, шрифт групп остается маленьким (8 скорее всего).

nesco писал(а):
6. Я даже не в курсе. Системных сообщений по изменению шрифта групп не существует. Может он как-то наследуется, но я пока не знаю как.

Случайно получилось изменить размер и цвет шрифта, который используется в названии групп. Баловался со стилями формы и вдруг изменился шрифт в примере от nesco . Ну а потом пошло-поехало.

Немного переделал пример от sla8a
https://forum.hiasm.com/getfile/40650
В StringTable можно тоже группировать строки.
https://forum.hiasm.com/getfile/40649
карма: 20

0
файлы: 2Группировка в StringTable.zip [4.7KB] [4], Группировка в MTStrTbl.zip [2.2KB] [4]
Разработчик
Ответов: 26357
Рейтинг: 2151
#293: 2026-09-20 19:38:01 ЛС | профиль | цитата
Один из методов создания ссылок в таблице

Схема

Add(MainForm,2953706,378,371)
{
Width=605
Height=347
BorderStyle=1
Position=1
link(onCreate,6151580:doEnum,[])
}
Add(MT_String,9025356,511,371)
{
link(onResult,599471:doRowAction,[])
}
Add(MST_RowAction,599471,567,371)
{
MSTControl="Keys_tbl"
}
Add(MST_DrawManager,3370509,378,329)
{
Name="draw"
IconSize=24
TabGrid=0
LightTextSel=1
ColorRowSel=0
}
Add(IconsManager,10876738,378,287)
{
Name="icon"
ImgSize=24
Icons=[]
}
Add(StrList,1577315,434,336)
{
Strings=#44:0;0x2C1d7aD408ed47FeA866f1C861dA8fdFcd15a9d1|44:1;0xe65f0e6021613898587BfA71249160113883F228|44:2;0x40653f763571Fe7636DA37d78d6A77f05050613C|44:3;0x605cbA0Fe7c16162fb276436bB3B6DFe33A89b96|44:4;0x55C2a4b94D58b71e0a05ac12F40E5743755FaBC7|44:5;0x3AC92C3B934078Bf4bb8BA0038C9e7C4ff588a68|44:6;0xd8e45701eb12BEEfd22C0da91B896F7B0709174c|44:7;0xb07795fCe361d67F278638e7edC1f8D5cC91fBb9|44:8;0x124B1023536d0bD4f2f6Cb477B23615f6dd34cd9|44:9;0xC9f48b4e8d05774DA446e4fe8220f875C2280E41|
}
Add(ArrayEnum,6151580,448,385)
{
link(onItem,9025356:doMTString,[])
link(Array,1577315:Array,[])
}
Add(MTStrTbl,7547136,644,364)
{
Left=10
Top=5
Width=580
Height=277
Font=[Microsoft Sans Serif,8,0,0,204]
HideFocus=0
WinStyle=2
Name="Keys_tbl"
Columns=#11:Number=0==2|11:Keys=555==2|
ColorItems=0
Grid=0
TrackSelect=0
SmallIconsManager="icon"
DrawManager="draw"
Point(doSetFocus)
Point(ItemAtPos)
Point(onMouseDown)
link(FormatCell,12632151:GetData,[])
link(onMouseDown,13574439:doData,[])
}
Add(EventFromData,12632151,658,259)
{
link(onEvent,656861:doEvent1,[])
}
Add(Hub,656861,707,259)
{
OutCount=3
link(onEvent1,11843391:doValue,[(732,265)(732,139)])
link(onEvent2,446403:doSeparateMT,[])
link(onEvent3,11033117:doSeparateMT,[(753,279)(753,349)])
}
Add(If_else,7209985,994,294)
{
link(onTrue,14621163:doString,[])
link(onFalse,11520743:doWork2,[])
link(Op2,11843391:Value2,[])
}
Add(MT_MultiData,446403,770,266)
{
From=1
link(onData1,11813791:doCompare,[(809,272)(809,230)])
link(onData2,15587250:doCompare,[])
}
Add(HubEx,8424190,1120,294)
{
Angle=3
link(onEvent,12632151:doData,[(1124,118)(648,118)(648,265)])
}
Add(MT_MultiMem,11843391,994,133)
{
Point(Data)
link(Data,7547136:ItemAtPos,[(1000,124)(636,124)(636,411)(678,411)])
}
Add(If_else,11813791,826,224)
{
Type=5
link(onTrue,12878610:doWork1,[])
link(onFalse,12878610:doWork2,[])
link(Op2,11843391:Value1,[(839,180)(1000,180)])
}
Add(ChanelToIndex,12878610,875,224)
{
link(onIndex,552098:doValue,[])
}
Add(Memory,552098,931,224)
{
Default=Integer(0)
link(onData,858126:doValue,[])
}
Add(IndexToChanel,9742871,931,273)
{
Point(Index)
link(onEvent1,11520743:doWork1,[(1040,279)])
link(onEvent2,7209985:doCompare,[(984,286)(984,300)])
link(Index,552098:Value,[])
}
Add(HubEx,11520743,1036,301)
{
Angle=1
link(onEvent,15448758:doWork1,[])
}
Add(MST_SetColors,15311895,1064,168)
{
MSTControl="Keys_tbl"
}
Add(MT_MultiMem,858126,1064,224)
{
From=2
Count=1
Point(Data)
link(Data,15311895:GenColors,[])
}
Add(FormatStr,14621163,1064,294)
{
DataCount=1
Mask="%1,16711680,Lucida Console,12,4"
link(onFString,8424190:doWork2,[])
link(Str1,14623166:Var2,[])
}
Add(FormatStr,8984947,1050,343)
{
DataCount=1
Mask="%1,0,Lucida Console,12,0"
link(onFString,8424190:doWork3,[(1124,349)])
link(Str1,14623166:Var1,[(1056,271)])
}
Add(GetDataEx,14623166,1064,266)
{
link(Data,858126:Value1,[])
}
Add(FormatStr,14693764,826,343)
{
DataCount=1
Mask="https://www.blockchain.com/eth/address/%1"
Point(FString)
}
Add(MT_MultiData,11033117,770,343)
{
Count=1
link(onData1,14693764:doString,[])
}
Add(DoData,13574439,826,392)
{
link(onEventData,6561554:doText2,[])
link(Data,14693764:FString,[])
}
Add(Edit,6561554,882,385)
{
Left=15
Top=290
Width=575
Text=""
}
Add(If_else,15587250,826,273)
{
Op1=Integer(1)
link(onTrue,9742871:doEvent,[])
link(onFalse,15448758:doWork2,[(921,286)(921,349)])
}
Add(HubEx,15448758,1036,343)
{
link(onEvent,8984947:doString,[])
}


Редактировалось 4 раз(а), последний 2026-09-20 19:48:02
карма: 23

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