Вверх ↑
Этот топик читают: Гость
Ответов: 204
Рейтинг: 2
#1: 2018-03-11 14:09:54 ЛС | профиль | цитата
Возможно ли в BaloonToolTips выводить многострочные подсказки?

На данный момент есть несколько больших подсказок по 5-8 строк которые нужно выводить, но все они лепятся в одну строку!
Есть ли возможность заставить BaloonToolTips воспринимать и выводить несколько строк?
карма: 1

0
vip
#1.1контекстная реклама от партнеров
Ответов: 2059
Рейтинг: 131
#2: 2018-03-11 15:21:30 ЛС | профиль | цитата
ogrif, наверное надо правильно хранить строки не разделённые "переводом строки", а заканчивающиеся нулём, тогда и не будет возникать вопросов.
Т.е. Строка, это не 0D0A на конце, а когда ноль.
http://forum.hiasm.com/getfile/38334
Тогда и подсказки многострочеые и т.д.

Все хотят, как лучше, а получается , как всегда - через жопу!

Редактировалось 6 раз(а), последний 2018-03-11 15:40:24
карма: 6

0
Ответов: 204
Рейтинг: 2
#3: 2018-03-11 16:05:29 ЛС | профиль | цитата
flint2 писал(а):
ogrif, наверное надо правильно хранить строки не разделённые "переводом строки", а заканчивающиеся нулём, тогда и не будет возникать вопросов.
Т.е. Строка, это не 0D0A на конце, а когда ноль.
http://forum.hiasm.com/getfile/38334
Тогда и подсказки многострочеые и т.д.


наверно я слишком туп для этого!
может пример???
карма: 1

0
Ответов: 2059
Рейтинг: 131
#4: 2018-03-11 16:56:08 ЛС | профиль | цитата
ogrif, в данный момент времени мне весьма проблемотично соединить кубики, но.. они разбегаются...
Но смысл в том, что, куда не глянь, это одна строка с нулём на конце, а строки, почему-то называют то, что заканчивается #13. (называется - у кого, чего болит, тот о том и говорит. Даже код звукового сигнала - это символ строки, равно как и перевод каретки.)
В delphi, тоже строка заканчивается нулём, только в счётчике(Length(String)) последний байт не учитывается.
По этому, "многострочый" массив (не список!!! ) (как и все - Memo, StrList, RichEdit, HiLightMemo и т.д.) - это ничто иное, как одна строка в которой есть знаки #10#13.

Завтра постараюсь на кубиках и пальцах показать.

Редактировалось 5 раз(а), последний 2018-03-11 17:22:57
карма: 6

0
Ответов: 204
Рейтинг: 2
#5: 2018-03-11 18:50:05 ЛС | профиль | цитата
flint2 писал(а):
ogrif, в данный момент времени мне весьма проблемотично соединить кубики, но.. они разбегаются...
Но смысл в том, что, куда не глянь, это одна строка с нулём на конце, а строки, почему-то называют то, что заканчивается #13. (называется - у кого, чего болит, тот о том и говорит. Даже код звукового сигнала - это символ строки, равно как и перевод каретки.)
В delphi, тоже строка заканчивается нулём, только в счётчике(Length(String)) последний байт не учитывается.
По этому, "многострочый" массив (не список!!! ) (как и все - Memo, StrList, RichEdit, HiLightMemo и т.д.) - это ничто иное, как одна строка в которой есть знаки #10#13.


Так в том-то и дело, что чисто теоретически я это понимаю. Ведь даже к компоненту "memo" на точке есть пояснение что строки разделены символами 10 и 13!



Но, куда пихать эти символы? В какую дырку компонента стучаться чтобы он эти символы не воспринимал как прочий текст??!!


карма: 1

0
Ответов: 18
Рейтинг: 20
#6: 2018-03-11 21:47:26 ЛС | профиль | цитата
ogrif писал(а):

Но, куда пихать эти символы? В какую дырку компонента стучаться чтобы он эти символы не воспринимал как прочий текст??!!



Add(StrList,16121834,294,273)
{
Strings=#4:даша|4:маша|4:каша|
}
Add(Button,13087862,126,343)
{
Left=25
Top=20
link(onClick,15063593:doEvent1,[])
}
Add(BaloonToolTips,16021945,287,343)
{
Title="внимание"
Icon=1
link(Text,16121834:Text,[])
}
Add(Hub,15063593,175,343)
{
OutCount=3
link(onEvent1,16021945:doCreate,[])
link(onEvent2,16021945:doShow,[(263,356)(263,363)])
link(onEvent3,4123405:doTimer,[(207,363)(207,370)])
}
Add(Timer,4123405,217,364)
{
Interval=3000
Enable=1
AutoStop=1
link(onTimer,16021945:doDestroy,[(270,370)(270,356)])
}


Возможно так?
карма: 1

0
Ответов: 2200
Рейтинг: 673
#7: 2018-03-11 22:20:16 ЛС | профиль | цитата
Можно проще.
Как вариант

Add(MainForm,2953706,301,168)
{
}
Add(Button,13087862,301,217)
{
Left=25
Top=20
link(onClick,15063593:doEvent1,[])
}
Add(BaloonToolTips,16021945,462,217)
{
Title="внимание"
Icon=1
link(Text,14237753:Value,[])
}
Add(Hub,15063593,350,217)
{
OutCount=3
link(onEvent1,16021945:doCreate,[])
link(onEvent2,16021945:doShow,[(438,230)(438,237)])
link(onEvent3,4123405:doTimer,[(382,237)(382,244)])
}
Add(Timer,4123405,392,238)
{
Interval=3000
Enable=1
AutoStop=1
link(onTimer,16021945:doDestroy,[(445,244)(445,230)])
}
Add(Memory,14237753,469,168)
{
Default=String(даша\rмаша\10наша\r\nпростокваша\10\13каша)
}
ogrif писал(а):
Но, куда пихать эти символы?
\10\13 или \r\n вставляются в строку с текстом.

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

0
Ответов: 2059
Рейтинг: 131
#8: 2018-03-12 18:35:03 ЛС | профиль | цитата
ogrif,
Собственно я вот чего хотел сказать, но был не в состоянии:
http://forum.hiasm.com/getfile/38335
В компоненте StrListEx многострочные тексты добавляются, как одна строка оканчивающаяся нулём.
Надо обратить внимание на StoreFormat. Это способ хранения строк в файле (для методов сохранения/загрузки из файла/потока). Text - строки в файле разделяются байтами перевода строки 0D0Ah. Эти символы не могут содержаться в самих строках. Binary - строки разделяются байтом 00h.
Многострочные тексты добавляются в список из потока или поля str, как одна строка через doAdd.
Это было сделано специально для многострочных подсказок.
Раньше я делал так:

Add(ChildForm,11836615,805,126)
{
}
BEGIN_SDK
Add(EditMulti,15003133,21,21)
{
EventCount=1
WorkCount=4
VarCount=2
Width=503
Height=340
link(doWork1,7849133:doEvent1,[(45,27)(45,62)])
link(doWork2,1564723:doVisible,[(35,34)(35,139)])
link(doWork3,1564723:doCaption,[(35,41)(35,111)])
link(doWork4,4841449:doLoad,[(182,48)(182,258)])
}
Add(MainForm,1564723,49,105)
{
Left=35
Top=105
Width=508
Height=229
Visible=1
Caption="комментарий"
BorderStyle=4
Point(doVisible)
link(onDeactivate,4841449:doSave,[(205,118)(205,265)])
}
Add(Button,9887133,91,175)
{
Top=185
Caption="OK"
link(onClick,11421190:doEvent1,[])
}
Add(Memo,5902294,238,49)
{
Width=506
Height=180
ScrollBars=2
}
Add(Memory,10872048,259,126)
{
}
Add(DoData,10419727,259,182)
{
link(onEventData,4841449:doReplace,[(317,188)(317,279)])
link(Data,10872048:Value,[])
}
Add(Hub,11421190,175,175)
{
OutCount=3
link(onEvent1,54857:doReplace,[(201,181)(201,163)(121,163)(121,139)])
link(onEvent2,10419727:doData,[])
link(onEvent3,1564723:doClose,[(201,195)(201,163)(23,163)(23,132)])
}
Add(Replace,54857,126,133)
{
SubStr="\r\n"
DestStr=""
link(onReplace,2221787:doValue,[(184,139)(184,160)(30,160)(30,174)])
link(Str,5902294:Text,[(132,124)(244,124)])
}
Add(Memory,2221787,42,168)
{
}
Add(StrList,4841449,343,224)
{
FileName="hhhh"
Point(doGetString)
Point(onGetString)
Point(doReplace)
link(Str,2221787:Value,[(349,212)(48,212)])
link(onGetString,15846449:doReplace,[(383,237)(383,251)])
}
Add(Hub,7849133,70,56)
{
link(onEvent1,4841449:doGetString,[(214,62)(214,272)])
link(onEvent2,10872048:doValue,[(172,69)(172,132)])
}
Add(Hub,14923393,182,28)
{
OutCount=3
link(onEvent1,15003133:onEvent1,[(360,34)(360,27)])
link(onEvent2,5902294:doClear,[(217,41)(217,62)])
link(onEvent3,5902294:doAdd,[(217,48)(217,55)])
}
Add(Replace,15846449,392,245)
{
SubStr=""
DestStr="\r\n"
link(onReplace,14923393:doEvent1,[(436,251)(436,143)(170,143)(170,34)])
}
END_SDK

Заменял \r\n на букву "зю", например "", а потом опять восстанавливал.

Будем надеется, что понятно.
Башка трещит...
3,5 пузыря вчера на грудь принял, не считая пива, а здоровье уже не то.
Надо обороты сбавлять!

Понимаю, что неправильное похмелье приводит к длительному запою.

Редактировалось 2 раз(а), последний 2018-03-12 18:49:03
карма: 6

0
Ответов: 204
Рейтинг: 2
#9: 2018-03-13 08:02:25 ЛС | профиль | цитата
А всем спасибо за науку!
вы не поверите! Я пихал в строку символы 10, 13 и про \r\n я знал, но почему то у меня не работало! Скопировал ваши примеры и вдруг произошла магия! Заработало строки переносятся!!! Странно всё это!

Спасибо за примеры и разъяснения! )

flint2.
Не щадите вы себя! 3,5 пузыря! Мдее, я бы от вдвое меньшего потерялся. )))

Редактировалось 1 раз(а), последний 2018-03-13 08:06:28
карма: 1

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