Вверх ↑
Этот топик читают: Гость
Ответов: 257
Рейтинг: -2
#1: 2013-10-26 16:40:00 ЛС | профиль | цитата
Не уверен что смогу понятно объяснить. При введении текста в поле ввода, сделал поиск по списку строк, хочу сделать чтоб результаты этого поиска выводились в повляющуюся форму (таблицу или даже не знаю как) под самим полем ввода. По-другому: примерно такой эффект можно наблюдать когда вводишь поисковый запрос в гугле или яндексе,т.е. вывод нескольких вариантов из возможных. Поиск по таблице я сделал, не могу понять как сделать вывод в "появляющееся что-то" под полем, куда вводим текст ( то, что в схеме сейчас выводится в таблицу, должно быть именно "там", при чем высота этого "там" должна изменяться в зависимости от кол. строчек)

code_32162.txt


карма: 0

0
файлы: 1code_32162.txt [1.3KB] [225]
Ответов: 1058
Рейтинг: 76
#2: 2013-10-26 17:13:13 ЛС | профиль | цитата
mudfactory писал(а):
при чем высота этого "там" должна изменяться в зависимости от кол. строчек)

А если к-во выводимых строк большое и авторазмер отдалит границу всплывающей рамки далеко за пределы не только формы, а и екрана?
карма: 0

0
Ответов: 257
Рейтинг: -2
#3: 2013-10-26 17:18:15 ЛС | профиль | цитата
Я сделаю ограничение - например показывать не больше 5 строк
карма: 0

0
Гость
Ответов: 17029
Рейтинг: 0
#4: 2013-10-26 17:26:52 правка | ЛС | профиль | цитата


Редактировалось 3 раз(а), последний 2017-06-14 18:45:58
карма: 0

0
Ответов: 1058
Рейтинг: 76
#5: 2013-10-26 17:29:36 ЛС | профиль | цитата
Разместить всплывающую табличку под полем ввода с 0-вой высотой. Далее при нахождении слов-подсказок считать сколько строк найдено и умножить на вывоту строки в таблице(зависит от установленого шрифта). После выбора нужной строки из таблицы сбрасывать ее высоту на 0.

карма: 0

0
Ответов: 257
Рейтинг: -2
#6: 2013-10-26 17:37:42 ЛС | профиль | цитата
Тут дело в том, что это должны быть именно таблица, так как при появлении ее (со списком строк соответствующих поиску), нужно будет кликнуть по какой-нибудь строке, далее первая часть пойдет в поле ввода, куда слово для поиска вводится, а вторая - в другое поле (число).

То есть в принципе можно сформулировать так: как сделать чтоб высота таблицы зависила от колличества строк в ней, при этом если строк нет - таблицу не видно
------------ Дoбавленo в 17.37:
вот визуальное представление, чтоб более понятно было что пытаюсь сделать

Add(MainForm,6980269,213,140)
{
Left=20
Top=105
Width=714
Height=434
}
Add(Edit,11127762,70,140)
{
Left=70
Top=140
Width=435
}
Add(MTStrTbl,2938730,231,329)
{
Left=71
Top=159
Width=435
Height=100
Ctl3D=1
Columns=#1:1|1:2|
Style=4
}


карма: 0

0
Разработчик
Ответов: 26153
Рейтинг: 2127
#7: 2013-10-26 17:42:51 ЛС | профиль | цитата
mudfactory писал(а):
как сделать чтоб высота таблицы зависила от колличества строк в ней, при этом если строк нет - таблицу не видно

tom-it же уже дал ответ, как такое сделать
карма: 22

0
Ответов: 257
Рейтинг: -2
#8: 2013-10-26 17:55:28 ЛС | профиль | цитата
nesco писал(а):
tom-it же уже дал ответ, как такое сделать


смущает привязка у шрифту. Сейчас попробую
карма: 0

0
Ответов: 16884
Рейтинг: 1239
#9: 2013-10-26 18:02:57 ЛС | профиль | цитата
mudfactory писал(а):
вот визуальное представление
того, что ты хочешь сделать:
code_32163.txt
карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
файлы: 1code_32163.txt [116B] [139]
Ответов: 257
Рейтинг: -2
#10: 2013-10-26 18:16:43 ЛС | профиль | цитата
нет, это не то. Вот набросал, но чего то не получается...посмотрите

code_32164.txt
------------ Дoбавленo в 18.16:
даже вот так

Add(StrList,95883,378,161)
{
Strings=#13:купить хлеб;1|15:купить молоко;1|13:купить яйца;1|23:купить вареную курицу;1|21:купить живую курицу;1|15:продать почку;1|16:продать курицу;1|
}
Add(MainForm,14009111,98,147)
{
Width=788
Height=355
}
Add(ArrayEnum,3171046,392,260)
{
link(onItem,3565472:doCompare,[(457,266)(457,308)])
link(Array,95883:Array,[])
}
Add(FormatStr,12502415,301,295)
{
Mask="*%1*"
link(onFString,5253579:doEvent1,[])
}
Add(StrMask,3565472,466,302)
{
Point(doMask)
link(onTrue,3526823:doRowAction,[])
}
Add(Hub,5253579,348,295)
{
OutCount=4
link(onEvent1,9089074:doClear,[(446,301)(446,258)])
link(onEvent2,3565472:doMask,[(414,308)(414,315)])
link(onEvent3,3171046:doEnum,[(377,315)(377,266)])
link(onEvent4,12135397:doOperation,[(416,322)(416,482)])
}
Add(Replace,9190340,247,295)
{
SubStr=" "
DestStr="*"
link(onReplace,12502415:doString,[])
}
Add(Edit,5556344,147,294)
{
Left=65
Top=35
Width=430
Text=""
link(onChange,13936639:doEvent1,[])
}
Add(MTStrTbl,3244816,455,413)
{
Left=65
Top=55
Width=425
Height=0
Name="1"
Columns=#1:1|1:2|
Style=2
Point(doHeight)
}
Add(MST_RowAction,3526823,580,309)
{
MSTControl="1"
}
Add(Button,1896560,112,35)
{
Left=10
Top=270
}
Add(MST_Clear,9089074,490,252)
{
MSTControl="1"
}
Add(If_else,14108228,147,343)
{
Op2=String()
link(onTrue,3607840:doEvent1,[])
link(Op1,5556344:Text,[])
}
Add(Hub,13936639,196,294)
{
link(onEvent1,9190340:doReplace,[(228,300)(228,301)])
link(onEvent2,14108228:doCompare,[(220,307)(220,334)(135,334)(135,349)])
}
Add(MST_Clear,5321734,259,343)
{
MSTControl="1"
}
Add(Math,12135397,469,476)
{
Op2=20
link(onResult,5767628:doWork3,[(513,482)(513,454)(443,454)])
link(Op1,3244816:Count,[])
}
Add(Hub,3607840,210,343)
{
link(onEvent1,5321734:doClear,[])
link(onEvent2,2887308:doData,[(248,356)(248,405)])
}
Add(DoData,2887308,273,399)
{
Data=Integer(0)
link(onEventData,5767628:doWork2,[(373,405)(373,440)])
}
Add(HubEx,5767628,439,434)
{
Angle=3
link(onEvent,3244816:doHeight,[(443,426)])
}



только не могу понять почему строки на столбцы не разделяются и как сделать чтоб у таблицы высота была 0 сразу при открытии
карма: 0

0
файлы: 1code_32164.txt [1.7KB] [194]
Ответов: 196
Рейтинг: 43
#11: 2013-10-26 18:26:21 ЛС | профиль | цитата
В Math сложение на умножение замени!
карма: 2

0
Ответов: 257
Рейтинг: -2
#12: 2013-10-26 18:27:46 ЛС | профиль | цитата
Да блин, запарился. Там стиль другой еще таблицы стоял, поэтому колонки не отображала. Вот:

code_32165.txt

Только не понятно как сделать чтоб при открытии программы таблица сразу была высотой в 0 (без протягивания связи с элемента форма)
карма: 0

0
файлы: 1code_32165.txt [2.1KB] [210]
Ответов: 196
Рейтинг: 43
#13: 2013-10-26 18:31:42 ЛС | профиль | цитата
mudfactory писал(а):
(без протягивания связи с элемента форма)

Да хоть так:
code_32166.txt
карма: 2

0
файлы: 1code_32166.txt [2.3KB] [231]
Ответов: 257
Рейтинг: -2
#14: 2013-10-26 18:34:52 ЛС | профиль | цитата
Жесть) Почему вы выводе точки нельзя сразу свойство задать в элементе без подачи данных на эту точку...
карма: 0

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