Помогите начинающему

Вопросы программирования и использования MSEide + MSEgui.

Модератор: Модераторы

Сообщение al_exus » 06.11.2007 12:09:13

Уже помогли. Парсер нужно отключать если используется джойн
al_exus
новенький
 
Сообщения: 24
Зарегистрирован: 20.09.2007 00:18:11

Сообщение shade » 24.01.2008 22:53:33

1. В Delphi/Lazarus у каждого визуального компонента есть свойство Align, что-то не найду аналога в MSE... Я понимаю, что можно зафиксировать нужные размеры с помощью anchors, но ручками задавать начальные размеры не очень удобно.

2. Можно ли как-то в TDrawGrid сделать так, чтобы последний столбец растягивался и занимал всю оставшуюся область, т.е. чтобы справа не оставалось пустого пространства, т.е. суммарная ширина всех столбцов должна быть равной TDrawGrid.ClientWidth При этом пользователь должен иметь возможность изменять ширину всех остальных столбцов. Пробовал указать co_fixwidth и co_proportional, но это не совсем то, что нужно...

3. Можно ли как-то задать отступы между границей элемента меню и текстом? А то по умолчанию текст прям в притык к границе - смотриться как-то не красиво. А в главном меню, вообще все элемнты всливаются и визуально выглядят как идин большой элемент. Они должны быть как-то визуально друг от друга отделяться.

PS: задавать для каждого элемента меню компонент TImageList не очень-то удобно, а вручную указывать индекс картинки ещё более не удобно.
Аватара пользователя
shade
энтузиаст
 
Сообщения: 879
Зарегистрирован: 21.02.2006 20:15:48
Откуда: http://shamangrad.net/

Сообщение debi12345 » 25.01.2008 00:33:30

1. В Delphi/Lazarus у каждого визуального компонента есть свойство Align...

В 99% реальных задач, anchors и bounds_*min/max - рулят. В комбинации с TSpacer/TSplitter - вполне заменяют LayoutManagement (увидеть в действии можно в проекте ROZNITSA в PUBLIC.BINARIES).
Кстати, если сбросить оппозитные якоря - виджет растягивается на весь соответствующий размер контейнера.

2. Можно ли как-то в TDrawGrid сделать так, чтобы последний столбец растягивался и занимал всю оставшуюся область...

co_fill - причем не обязательно последний столбец.

co_proportional - когда хочется расширять при максимизации контейнера.

3. Можно ли как-то задать отступы между границей элемента меню и текстом? ...

Да, нужно уронить на форму TFtameTemplate, в нем назначить отступы - и потом этот шаблон назначить меню ( его подменю, элементам,...)

PS: задавать для каждого элемента меню компонент TImageList не очень-то удобно, а вручную указывать индекс картинки ещё более не удобно.

Да уж - проблема :) Был бы счастлив, если бы вся "работа" в этом заключалась. Это же отдых от ненавистного кодирования !
Хотя само головное меню имеет свойство imagelist. Разве оно не наследуются в субменю ?
Аватара пользователя
debi12345
долгожитель
 
Сообщения: 5761
Зарегистрирован: 10.05.2006 23:41:15
Откуда: Ташкент (Узбекистан)

Сообщение swa1 » 25.01.2008 13:17:30

Можете передать просьбу Мартину?
В модуле msecommport изменить\добавить:
1- возможность установки baudrate как custom - т.е. любой.
2-добавить параметр Databits (5,6,7,8 )

Аргумент- уж больно нужно для работы с нестандартными утройствами.
К примеру- на данный момент, мне необходима работа со следующими параметрами:
baudrate := 100
stopbits := 1
databits:=5

И еще, подкинте кто ни будь, реально работающий код для постоянного слежения за портом в ассинхронном режиме (типа терминала).

И в догонку, есть ли аналог Tmaskedit
Аватара пользователя
swa1
новенький
 
Сообщения: 80
Зарегистрирован: 25.09.2007 11:04:08
Откуда: Ялта

Сообщение shade » 25.01.2008 22:19:23

debi12345 писал(а):В 99% реальных задач, anchors и bounds_*min/max - рулят. В комбинации с TSpacer/TSplitter - вполне заменяют LayoutManagement (увидеть в действии можно в проекте ROZNITSA в PUBLIC.BINARIES).
Кстати, если сбросить оппозитные якоря - виджет растягивается на весь соответствующий размер контейнера.

75% написаного не понял. Да, я не спорю что anchors достаточно. Но Align просто удобно - указал alTop и контрол сам приянулся к верху. А тут нужно ручками, ручками... помоему это как-то не очень согласуется с вашей идеологией "запредельных ленивцев"... или я супер-пупер запредельный ленивец?... В крайнем случае можно было бы не делать свойства, а в дизайнтайме в контекстном сделать подменю "расположение" с пунктами "прижать к верху", "прижать к низу", "растянуть" и т.п. + не помешала бы возможность выделить несколько элементов и выровнять их по верхнему/нижнему/правому/левому краю... как это можно сделать в Delphi.

debi12345 писал(а):co_fill - причем не обязательно последний столбец.

О, почти то, что нужно, я бы даже сказал так и пойдет, но... меняя ширину других столбцов можно так расширить столбец, что сумарная ширина столбцов будет больше ClientWidth и появиться горизонтальный ScrollBar, допустим я хотел бы запретить такой исход события...

debi12345 писал(а):Да, нужно уронить на форму TFtameTemplate, в нем назначить отступы - и потом этот шаблон назначить меню ( его подменю, элементам,...)

Почти добился нужного эффекта... Я так понял нужно заклинать свойство framei - но оно задает внешний отступ (в CSS это margin), думаю было логичным также влиять на внутренний отступ (в CSS это padding), т.е. между границей и текстом, а не границей и окружающими элементами. Осталось только иконки как-то отжать от края - можно конечно сами иконки подредактировать - но может есть какое-то более я прямое решение?
Изображение

debi12345 писал(а):Да уж - проблема :) Был бы счастлив, если бы вся "работа" в этом заключалась. Это же отдых от ненавистного кодирования !

Для меня это самая скучная часть работы...

debi12345 писал(а):Хотя само головное меню имеет свойство imagelist. Разве оно не наследуются в субменю ?

Похоже что не наследуется... баг?... MSE 1.6
https://mseide-msegui.svn.sourceforge.n ... elease_1_6

Feature request
1. ImageList, MainMenu и их друзья - Задавать иконки числами очень не удобно, в Delphi хотя бы можно выбирать иконки попросматривая их уменьшенные миниатюры. А нельзя ли адресовать иконки по имени? Например каждой иконке назначать какой-то вменяемый строковый идентификатор. А потом для выбора иконок сделать ComboBox с перечислением идентификоторов (в алфавитном порядке)

2. Выбор цвета - список контстант в инспекторе объектов не отсортирован. Если бы он был отсортирован, то найти соответсвующую константу будет проще. А наличие иконок соответствующих цветов было бы совсем замечательно.

3. Align, см. выше

4. padding - см. выше
Аватара пользователя
shade
энтузиаст
 
Сообщения: 879
Зарегистрирован: 21.02.2006 20:15:48
Откуда: http://shamangrad.net/

Сообщение Attid » 25.01.2008 22:41:12

shade
а ты разве по английски не ботаешь ? че сам в конфу не сходишь ?
Аватара пользователя
Attid
долгожитель
 
Сообщения: 2585
Зарегистрирован: 27.10.2006 17:29:15
Откуда: 44°32′23.63″N 41°2′25.2″E

Сообщение debi12345 » 25.01.2008 23:37:23

а ты разве по английски не ботаешь ? че сам в конфу не сходишь ?

100% - не стоит стесняться. Там все такие "знатоки"..,
Аватара пользователя
debi12345
долгожитель
 
Сообщения: 5761
Зарегистрирован: 10.05.2006 23:41:15
Откуда: Ташкент (Узбекистан)

Сообщение debi12345 » 25.01.2008 23:46:23

swa1 писал(а):Можете передать просьбу Мартину?
В модуле msecommport изменить\добавить:
1- возможность установки baudrate как custom - т.е. любой.
2-добавить параметр Databits (5,6,7,8 )

Аргумент- уж больно нужно для работы с нестандартными утройствами.
К примеру- на данный момент, мне необходима работа со следующими параметрами:
baudrate := 100
stopbits := 1
databits:=5

И еще, подкинте кто ни будь, реально работающий код для постоянного слежения за портом в ассинхронном режиме (типа терминала).



================

> Word-by-word transpation:
> ------------------------
>
> The "msecommport" unit - to extend to have :
>
> 1- ability to set arbitarry bit rate
> 2 -parameter "databits" (5,6,7,8 )
>
> Needed to work with non-standard devices, for example, me need the
> following parameters :
>
> baudrate := 100
> stopbits := 1
> databits:=5
>
I don't think this is supported by the usual UART's and the API.

> And please, someone, give some really working code to monitor on serial
> port in async mode ( like a terminal ).

Hm, I didn't know that one really uses this components, they are merely
thought for my internal use in order to implement my serial control
protocols. One can use trs232.readstring in order to read pending text.

For terminal applications tpipereader and tterminal are better suited, see
MSEide target console for an example. Eventually it is possible to use
trs232.handle to connect a tpipereader (not tested).

Martin
===============
То есть стандартные UART-микрухи на китайских материнках не имеют режима произвольного бодрэйта ? Так ?

Насчет маскедита... Скажу из своего опыта (начиная с VisualBasic) - не мучайтесь с этим компонентом ! Я пытался его слепить, а потом понял, что легче и разумнее и функциональнее - проверять вводимый текст через регулярные выражения (в них же отсеивать символы, имитирующие "маску" ).
Аватара пользователя
debi12345
долгожитель
 
Сообщения: 5761
Зарегистрирован: 10.05.2006 23:41:15
Откуда: Ташкент (Узбекистан)

Сообщение swa1 » 26.01.2008 01:19:57

debi12345 писал(а):I don't think this is supported by the usual UART's and the API.

debi12345 писал(а):То есть стандартные UART-микрухи на китайских материнках не имеют режима произвольного бодрэйта ? Так ?

Об этом многие говорят, но в реалии я использую скорости 100,200,250 и 500....Причем используется это уже в работе. (программа написана под delphi и работает, для com используется библиотека Async)
Т.е. ОЧЕНЬ БОЛЬШОЙ ПОЖАЛУЙСТА.
И по поводу databits тоже.

Далее :) (только вроде начинаешь думать, что что то понимаешь, как тебя обязательно в этом разубеждают).

Для чего нужны:
taction или tnoguiaction?
tthreadcomp - это что то вроде гуевского thread ?
tpipereadercomp - ???
Аватара пользователя
swa1
новенький
 
Сообщения: 80
Зарегистрирован: 25.09.2007 11:04:08
Откуда: Ялта

Сообщение debi12345 » 26.01.2008 09:01:29

Об этом многие говорят, но в реалии я использую скорости 100,200,250 и 500....Причем используется это уже в работе. (программа написана под delphi и работает, для com используется библиотека Async)
Т.е. ОЧЕНЬ БОЛЬШОЙ ПОЖАЛУЙСТА.
И по поводу databits тоже.
=============
Думаю, от вас потребуется алгоритм программирования UART-ов на такие битрэйты.
Аватара пользователя
debi12345
долгожитель
 
Сообщения: 5761
Зарегистрирован: 10.05.2006 23:41:15
Откуда: Ташкент (Узбекистан)

Сообщение Attid » 26.01.2008 12:09:41

swa1
я под МСЕ юзаю для компорта synaser

насколько я знаю

taction обычный акшен
tnoguiaction акшен без гуи (нет хоткеев и т.д.) что использовать в сервисах к примеру ..
tthreadcomp - это что то вроде гуевского thread ? угу
tpipereadercomp - ??? коммпонент для работы с именовыными каналами.
Аватара пользователя
Attid
долгожитель
 
Сообщения: 2585
Зарегистрирован: 27.10.2006 17:29:15
Откуда: 44°32′23.63″N 41°2′25.2″E

Сообщение shade » 27.01.2008 23:17:49

И всё таки я не понимаю как можно в MSE обходиться без Align, просветите.

Создаю пустой проект из шалобна default
По умолчанию создается формочка размерами 403x280
Я бросаю на формочку ttoolbar и хочу добиться положения которое он принял бы в Lazarus, если указать alTop: я перемещаю его влево и вверх, чтобы Left, Top равнялись 0, т.к. контрол выравнивается по сетке, это проблем не вызывает. Но ведь его ещё нужно прижать к правому краю - привязыка к сетке мешает... Ну да ладно, размер формы 403 (bounds.cx = 403), ttoolbar без рамки, потому его ширина тоже должна быть 403. Устанавливаю 403 - компонет визуально стоит на нужном месте, но у форму появляется горизонтальная прокрутка, ставлю 402, заметен зазор в 1 пиксель (особенно, если сделать фон для ttoolbar отличным от фона самой формы) прокрутка как была, так и осталась, ставлю 401 - прокрутка исчезла, зазор в 2 пикселя...

Баг?... или есть какое-то (не очевидное?) решение...

Аналогичные проблемы возникнут, когда нужно будет прижать (в притык! а не с зазором) две панели к границам окна и поставить между ними tspliter... Прижать панели к сплитеру не составляет труда - сам делает, а как к границам окна? как боросться с полосами прокрутки.
Аватара пользователя
shade
энтузиаст
 
Сообщения: 879
Зарегистрирован: 21.02.2006 20:15:48
Откуда: http://shamangrad.net/

Сообщение debi12345 » 27.01.2008 23:35:36

Shift/Ctrl+Left/Right - тонкая подгонка размера и позиции независмо от сетки.

Вырубленные верхний и нижний якоря = растягивание на всю высоту контейнера. Аналогично для горизонтали.

За один пискел не воюйте, проектируйте геометрию с запасом - всегда есть вероятность ошибок округления, которые и родят/уберут прокрутку.
Аватара пользователя
debi12345
долгожитель
 
Сообщения: 5761
Зарегистрирован: 10.05.2006 23:41:15
Откуда: Ташкент (Узбекистан)

Сообщение Attid » 27.01.2008 23:35:57

новая кровь это хорошо =) новые идеи =) я оставил зазор в милиметр и меня это не растраивает, но идея сделать это по менюшке мне нравится, если деби не задаст, в понедельник спрошу мартина
Аватара пользователя
Attid
долгожитель
 
Сообщения: 2585
Зарегистрирован: 27.10.2006 17:29:15
Откуда: 44°32′23.63″N 41°2′25.2″E

Сообщение swa1 » 28.01.2008 17:03:40

debi12345 писал(а):Думаю, от вас потребуется алгоритм программирования UART-ов на такие битрэйты.

Зачем?....Может вполне достаточно ввести в msecommport
что бы скорость можно было выставить не только через селектор, а и вписать ручками.... А то все берется только из commbaudratety. Пусть сделают, а я попробую сам.
Attid писал(а):я под МСЕ юзаю для компорта synaser

А вот это как раз и есть вторая часть... Synaser у меня заработал на любой скорости и любыми настройками (в гранях разумного).
Но...Я никак не могу заставить работать его в потоках (разбор в топике о com портах)....Т.К. Потоки в FPC -Глючные (Attid - почти цитирую вас). А тут смотрю вроде, что то свое организовал Мартин с этими потоками, нитями + еще несколько положительных сторон для той програмки, что лепится.
Хотя опять же в linux не потоки, а процессы вроде...Это как одно и тоже или нет?
Attid писал(а):коммпонент для работы с именовыными каналами.

Не совсем понял, для чего...Как использовать...А лучше что почитать?
tthreadcomp - чой то у меня никак не работает. Я то и в дельфи долго книжки и статьи читал, а тут без примеров и доки.... совсем тоска.
Аватара пользователя
swa1
новенький
 
Сообщения: 80
Зарегистрирован: 25.09.2007 11:04:08
Откуда: Ялта

Пред.След.

Вернуться в MSEide + MSEgui

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 2

Рейтинг@Mail.ru