Вверх ↑
Этот топик читают: Гость
Ответов: 1898
Рейтинг: 623
#91: 2013-12-05 21:01:11 ЛС | профиль | цитата
nesco писал(а):
прекрасно знаешь как все это можно сделать
Вот как раз и не знал. Да и ваш пример как бы это мягко сказать - костыль на костыле.
Вроде бы стоит простая задача, разобрать TFontRec. И тут приходиться такое городить. Ну не знаю.
nesco писал(а):
сомнительные правки, усложняя понимание работы с компонентом
А вот с этим согласен.

Раз зашел разговор о птичках, может в компонент Font свойство DataType с выбором Font,String. Чтоб на onFont можно было выдавать параметры шрифта через разделитель: Name;Color;Size;Style ?
карма: 9

0
Разработчик
Ответов: 25640
Рейтинг: 2085
#92: 2013-12-05 23:22:05 ЛС | профиль | цитата
sla8a писал(а):
сказать - костыль на костыле

Один из костылей связан как раз с тем, что кто-то придумал писать стиль строкой символов, а не целым числом
sla8a писал(а):
выдавать параметры шрифта через разделитель: Name;Color;Size;Style

И что дальше делать со стилем, опять лепить костыль
карма: 19

0
Ответов: 1898
Рейтинг: 623
#93: 2013-12-05 23:39:14 ЛС | профиль | цитата
nesco писал(а):
дин из костылей связан как раз с тем, что кто-то придумал писать стиль строкой символов, а не целым числом
Если считаете что будет удобнее использовать число для обозначения стиля, то еще не поздно поменять, но по коду это получиться тоже самое, плюс не удобно при заполнении вручную. Не каждый сможет сообразить что за стиль: all=fontstyle=10.
Да и после изменения в AdjustControls костыль останется.
nesco писал(а):
И что дальше делать со стилем, опять лепить костыль

Примерно так:code_32530.txt
code_32531.txt
карма: 9

0
файлы: 2code_32530.txt [101B] [172], code_32531.txt [694B] [205]
Разработчик
Ответов: 25640
Рейтинг: 2085
#94: 2013-12-05 23:54:25 ЛС | профиль | цитата
sla8a писал(а):
Примерно так

А почему именно точка с запятой, а не запятая или что-то еще
карма: 19

0
Ответов: 1898
Рейтинг: 623
#95: 2013-12-06 00:15:06 ЛС | профиль | цитата
nesco писал(а):
А почему именно точка с запятой, а не запятая или что-то еще
Не обязательно запятую, можно и настраиваемый разделитель.
#ini
[Property]
...
DateType=Тип выдаваемых в поток данных|4|0|Font,String
Delimiter=Разделитель параметров в строке при DateType=string|2|;
code_32533.txt
карма: 9

0
файлы: 1code_32533.txt [810B] [206]
Разработчик
Ответов: 25640
Рейтинг: 2085
#96: 2013-12-06 00:30:04 ЛС | профиль | цитата
sla8a писал(а):
Не обязательно запятую, можно и настраиваемый разделитель.

А может просто вывести нижние точки, а кому надо, тот сам определит, что ему нужно Я бы пошел именно этим путем
карма: 19

0
Ответов: 1620
Рейтинг: 116
#97: 2013-12-07 00:11:33 ЛС | профиль | цитата
А может просто вывести нижние точки, а кому надо, тот сам определит

Классика!
“Зри в корень.(Козьма Прутков)”.
карма: 4

0
Разработчик
Ответов: 25640
Рейтинг: 2085
#98: 2013-12-09 15:42:48 ЛС | профиль | цитата
Продолжение безобразия. Версия 3.5 -- глумление над таблицами (пока что поддерживается управление таблицей MTStrTbl, как самой сложной). Еще добавлен clear. Пример управления таблицей есть в архиве. Да, еще -- необходимо заменить юнит hiMTStrTbl.pas

project_adjustcontrols_007.zip



карма: 19

1
файлы: 1project_adjustcontrols_007.zip [22KB] [160]
Голосовали:sla8a
Ответов: 824
Рейтинг: 135
#99: 2013-12-09 17:03:36 ЛС | профиль | цитата
Спасибо за нижние точки в Font.

nesco писал(а):
родолжение безобразия. Версия 3.5 -- глумление над таблицами (пока что поддерживается управление таблицей MTStrTbl, как самой сложной). Еще добавлен clear. Пример управления таблицей есть в архиве. Да, еще -- необходимо заменить юнит hiMTStrTbl.pas

Поюзаем....
А что конкретно поддерживается в MTStrTbl?
карма: 1

0
Разработчик
Ответов: 25640
Рейтинг: 2085
#100: 2013-12-09 17:06:16 ЛС | профиль | цитата
sashaoli писал(а):
А что конкретно поддерживается в MTStrTbl?

Все, что поддерживает MTS_Save/MTS_Load в полной версии. А еще лучше -- посмотреть пример. Что могу еще добавить, что управление столбцами и таблицей разнесено по свойствам string и text -- string управляет столбцами, text управляет таблицей. Хотел сделать наоборот, но мешает ComboBox, у него текст должен обязательно идти после списка, а в таблице наоборот -- таблица должна идти после столбцов.
карма: 19

0
Ответов: 824
Рейтинг: 135
#101: 2013-12-09 18:31:30 ЛС | профиль | цитата
Есть вопрос...
Как ведет себя компонент в сочетании с контейнерами?
Конечно я могу сам проверить, но лучше пусть разработчики ответят, тем самым упреждая тот же вопрос от других и ошибки в схемах.
карма: 1

0
Разработчик
Ответов: 25640
Рейтинг: 2085
#102: 2013-12-09 19:29:15 ЛС | профиль | цитата
sashaoli писал(а):
Конечно я могу сам проверить

Ну так и протестируй, а потом нам рссскажешь. Должен работать, а вот насколько правильно... Думаю, что с динамическими могут быть проблемы из-за одинаковых интерфейсных имен
карма: 19

0
Ответов: 1898
Рейтинг: 623
#103: 2013-12-09 19:38:11 ЛС | профиль | цитата
nesco, спасибо за работу с таблицей. Пару вопросов:
1. Runtime error:
Add(MainForm,2953706,49,168){
Width=438
Height=400
Position=1
link(onCreate,8753744:doData,[])
}
Add(Label,1080893,378,77)
{
Left=5
Top=5
Name="myLabel"
AddHint(31,-12,54,13,Name)
}
Add(Edit,15599937,385,126)
{
Left=5
Top=25
Name="myEdit"
AddHint(39,-12,46,13,Name)
}
Add(ListBox,9986329,413,175)
{
Left=5
Top=55
Name="myList"
Strings=#1:a|1:b|1:c|
AddHint(28,-22,44,13,Name)
}
Add(AdjustControls,8635604,175,175)
{
IncludePropList=#3:all|0:|
Point(doEnumParameters)
Point(onEnumParameters)
link(onEnumParameters,6346362:doStr,[])
}
Add(DoData,8753744,105,182)
{
Data=String(all)
link(onEventData,8635604:doEnumParameters,[])
AddHint(-2,-26,35,13,Data)
}
Add(ListBox,8080871,301,182)
{
Left=165
Top=5
Width=255
Height=355
Font=[MS Sans Serif,12,0,0,1]
}
Add(MT_String,6346362,238,182)
{
Delimeter="="
link(onResult,8080871:doAdd,[])
}
2. А почему у Label и Edit свойство Text не используется (вместо него Strings)? Думаю нужно заблокировать выдачу Strings у Label и Edit. code_32570.txt
3. Все таки не правильно что EnumParameters выдает данные в такой последовательности: (NameControl, Value, Property). Почему не поправить в Ini.pas: code_32571.txt и не сделать логичную выдачу данных в поток (NameControl, Property, Value). Тем более что подача в такой последовательности (как сейчас) в Ini не правильна. Почему подстраивается AdjustControl под эту "фичу"?
sashaoli писал(а):
Конечно я могу сам проверить, но лучше пусть разработчики ответят
sashaoli, элемент в стадии разработки и разработчик не всегда может учесть все возможные варианты. Если вы можете сами протестировать, то почему бы не сделать это?

карма: 9

0
файлы: 2code_32570.txt [920B] [205], code_32571.txt [312B] [173]
Разработчик
Ответов: 25640
Рейтинг: 2085
#104: 2013-12-09 20:09:13 ЛС | профиль | цитата
sla8a писал(а):
А почему у Label и Edit свойство Text не используется (вместо него Strings)?

Я специально оставил Text только у двойных контролов и по-другому считаю нецелесообразно из-за путаницы. Пусть у всех текст программируется стрингсом.
sla8a писал(а):
Почему подстраивается AdjustControl под эту "фичу"?

Потому, что эти выходы используются именно для работы с элементом INI. Я не собираюсь смотреть на правильность последовательности, я расчитываю на уменьшение количества элементов для наиболее частого использования, если поставить правильно, то элемент INI потребует дополнительную обвязку, сначала так и было, и я считаю это не логичным. INI-элемент править нельзя, тк возможно нарушение совместимости со старыми схемами
------------ Дoбавленo в 20.02:
sla8a писал(а):
Runtime error

А зачем там "all", он там не работате
------------ Дoбавленo в 20.09:
sla8a, добавь в _work_doEnumNameControls

  tmpControl := PControl(ListOfNameControls.Objects[ListOfNameControls.IndexOf(name)]);
if not Assigned(tmpControl) then exit; // защита от несуществующего контрола
карма: 19

0
Ответов: 16839
Рейтинг: 1232
#105: 2013-12-09 20:10:25 ЛС | профиль | цитата
sla8a писал(а):
Почему не поправить в Ini.pas
Цитата из фильма "Берегись автомобиля" писал(а):
• - А не замахнуться ли нам, на Вильяма нашего Шекспира? А что? И замахнемся!

карма: 24
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
Сообщение
...
Прикрепленные файлы
(файлы не залиты)