Ru-Board.club
← Вернуться в раздел «Прикладное программирование»

» Вопросы по Embarcadero RAD Studio XE5-XE8,10.x(Seattle, Berl

Автор: ZloyBrawler
Дата сообщения: 27.09.2014 22:33

Цитата:
Где можно почитать про атрибуты в Delphi (TCustomAttribute)? Кто нибудь их использовал так, как это делается в c#?

Подозреваю что так http://delphi2010.ru/%D0%B8%D1%81%D0%BF%D0%BE%D0%BB%D1%8C%D0%B7%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5-%D0%B0%D1%82%D1%80%D0%B8%D0%B1%D1%83%D1%82%D0%BE%D0%B2-%D0%B8-%D0%BD%D0%B0%D1%81%D0%BB%D0%B5%D0%B4%D0%BD%D0%B8%D0%BA/
Автор: Eternal_Shield
Дата сообщения: 28.09.2014 11:08
SuPriTo

Цитата:
Где можно почитать про атрибуты в Delphi (TCustomAttribute)? Кто нибудь их использовал так, как это делается в c#?

У меня много где используются. Очень удобная вещь. Если будут вопросы, то можно в скайп/пм/аську.
Автор: NickNNN
Дата сообщения: 29.09.2014 10:41
Добрый день

Подскажите один момент. Уперся, не могу побороть.

Нужно на FMX.Canvas нарисовать линию толщиной 1 пиксель. делаю:

PaintBox1.Canvas.Stroke.Color := TAlphaColors.Black;
PaintBox1.Canvas.StrokeThickness := 1;
PaintBox1.Canvas.DrawLine(PointF(100,100),PointF(100,400),1);

Визуально линий получается толщиной пикселя 2-3. Такое чувство, что выполняется какой-то антиалайзинг или еще что-то подобное. Все свойства Stroke перепробовал, не помогает

Положил рядом объект Line, установил толщину 1, все нормально.

Что не так?

Благодарю

www.vsgroup.ua/downloads/line.png - красным обвел то, что рисуется из кода
Автор: protoror
Дата сообщения: 30.09.2014 07:48
NickNNN
ответ:
http://stackoverflow.com/questions/10592874/firemonkey-fmx-bitmap-and-colours
Автор: NickNNN
Дата сообщения: 30.09.2014 08:38
protoror, спасибо!

Вот нашел еще ссылку, тут более подробно: http://roman.yankovsky.me/?p=1018

Сейчас пока работаю на XE3, оставил все как есть. Мобильная версия будет собираться под XE7, там уже поправлю где нужно

P.S. За день привык к такому виду, может и оставлю
Автор: dred2k
Дата сообщения: 01.10.2014 08:16
Кто-нибудь применял AQTime, который предназначен для XE7, для D2010 ? Кричит, что предназначен для XE и выше, при этом когда я ставил его на станцию с XE6, в окне инсталла ясно видел чек-бокс возможной интеграции с 2010 и даже младше. По каким, интересно, признакам он определяет установленные IDE ? Буду признателен за инфу, самому глубокие эксперименты проводить - нет сейчас возможности.

Добавлено:
Вопрос решен в сжатые сроки.
Помог procmon из sysinternals. Инсталл ищет ключи HKLM\Software\Embarcadero... Подставил ветку - проглотило. Но радость была преждевременной - много там чек-боксов, но подавляющее большинство незачеканых по умолчанию доступны лишь в версии Pro. Так что облом.
Автор: SuPriTo
Дата сообщения: 02.10.2014 10:57
Подскажите, есть ли библиотека для работы с 8 байтным вещественным числом с фиксированной точкой, на подобии Decimal? Может быть кто-то уже реализовывал такое. К сожалению, в делфи нет такого типа. Код должен быть реализован полностью на ObjectPascal.
Тип Currency - не подходит.
Автор: AlekXL
Дата сообщения: 02.10.2014 12:30

Цитата:
Подскажите, есть ли библиотека для работы с 8 байтным вещественным числом с фиксированной точкой, на подобии Decimal? Может быть кто-то уже реализовывал такое. К сожалению, в делфи нет такого типа. Код должен быть реализован полностью на ObjectPascal.
Тип Currency - не подходит.

это что, студенческая лаба? В Delphi нет такого типа, и если не находишь в гугле такого кода, то его и нет. Ибо в нем нет практической пользы.
Автор: Rudia
Дата сообщения: 02.10.2014 14:38
SuPriTo
Как реализовать свой тип. Авось пригодится.
Автор: SuPriTo
Дата сообщения: 02.10.2014 14:43
Rudia
Да, я ищу что-то подобное только с 8-10 байтными вещественными числами с фиксированной точкой.
Автор: alexgala
Дата сообщения: 02.10.2014 21:31
кто тестировал в XE7 - Firemonkey, ? улучшилась работа по сравнению с XЕ6, стоит ли новые проэкты пробывать в ХЕ7 ?
Автор: protoror
Дата сообщения: 03.10.2014 09:11
alexgala
тоже интересует этот вопрос. В особенности в скорости отрисовки контролов.
Автор: awasarax
Дата сообщения: 03.10.2014 20:12
Кто что знает про связку Windows Legacy и Delphi?
Вскоре микрософт будет продвигать свои универсальные приложения.
Чем здесь ответит Embracadero
Автор: alexgala
Дата сообщения: 04.10.2014 06:24
Вопрос к спецам: LiveBinding - есть изменения по скорости работы от версии к версии XE2-XE7? Я так понимаю в FMX это одна из больших проблем.
Автор: Frodo_Torbins
Дата сообщения: 04.10.2014 12:12
awasarax
Ничего не слышал об этом Windows Legacy. Что это за зверь такой?
Что касается Delphi, то созданные в ней проги как работали в WinXP, так и будут работать еще долгие годы. А Win2k, думаю, уже никого не интересует.
Автор: NickNNN
Дата сообщения: 04.10.2014 12:55
Вот и я наконец добрался до XE7 и Android. Немного нервы помотало ARC, пока понял в чем причина, для собственных классов ссылки на объекты пришлось переделать вместо TList на TObjectList и все заработало.

А вот от отсутствия ShowModal на платформе Android теперь не знаю что делать.

Нехитрыми махинациями было сделано так:


Код:
QuerySizeF.ShowModal(
procedure(ModalResult: TModalResult)
begin
end
);

while QuerySizeF.Visible do Application.ProcessMessages;
Автор: krapotkin
Дата сообщения: 04.10.2014 21:20
в андроид сама концепция не предполагает, что есть окна, которые нельзя просто так закрыть
Автор: Frodo_Torbins
Дата сообщения: 04.10.2014 21:38
NickNNN
Лучше переделайте. Переход на использование анонимных методов в диалогах произошел не просто так, а именно из-за Андроида.
Автор: NickNNN
Дата сообщения: 05.10.2014 00:35
krapotkin, Frodo_Torbins, спасибо! Буду переделывать логику

Единственное возник нюанс - при обычном ShowModal на Андроиде предыдущая форма закрывается, а окно на 1 TEdit и 2 Кнопки даже на 7 дюймах выглядит не очень.

Поставит тип окна как Popup - не работает виртуальная клавиатура в TEDit (так и должно быть или глюк XE7 ? )

Из всего понравилась реализация InbutBox - окно показывается над основной формой и смещается относительно виртуальной клавиатуры. Хотел посмотреть исходный код реализации - дошел до FMX.Platform.IFMXDialogService - дальше исходников нет.

Может кто-то подскажет пример создания своей модальной формы поверх существующего окна? В принципе нашел неплохой пример - https://www.youtube.com/watch?v=sD2UgY6DWzc (RAD Studio XE5 -- Creating a custom MessageBox ) - но не понял как сделать чтобы при открытии виртуальной клавиатуры бокс смещался

Спасибо!

P.S. Когда будет что показывать, обязательно дам ссылку. Делается мобильный клиент для оконной программы. Собственно графический построитель переписан на FMX и уже работает, осталось переделать интерфейс под "пальцы"

Автор: protoror
Дата сообщения: 05.10.2014 10:17
NickNNN
интересно, с нетерпением жду результата. Тоже есть мысль переделать электронные ювелирные каталоги под андроид.
Автор: kaz_av
Дата сообщения: 05.10.2014 21:12
Семерочные (XE7) приложения под ведроид запускаться стали быстрее, но все прочее тормозит, как и раньше. Тормозить умудряется даже 3D. Появилась возможность задействовать нативные контролы, правда только под iOS и только парочку. В общем, пару-тройку следующих версий можно смело пропускать

NickNNN

Цитата:
Хотел посмотреть исходный код реализации - дошел до FMX.Platform.IFMXDialogService - дальше исходников нет.


Смотри FMX.Platform.Android, там найдешь реализацию IFMXDialogService.
Автор: protoror
Дата сообщения: 05.10.2014 21:20

Цитата:
Появилась возможность задействовать нативные контролы, правда только под iOS и только парочку.

спасибо за инфу, как я понял в принципе корпоративные приложения писать можно, пусть и шевелятся медленно, зато работают.
Автор: NickNNN
Дата сообщения: 05.10.2014 21:22
kaz_av, спасибо. Увидел. Но уже как всегда не нужно (точнее сейчас только для общего развития )

Перепробовал миллион способов создания модальной формы. В итоге остановился на:

1. Обычная форма, ShowModal(procedure ... )
2. Форму сделал прозрачную
3. На форме Trectangle, Color=Black, Opticaly=0,5, align = context
4. на форме Trectangle, align = center - тут собственно весь интерфейс формы

В итоге она показывается как бы по центру экрана, затеняет существующую форму и дает внешний вид классической модальной формы. Как бы результат достигнут

А логику реализации модального ввода конечно пришлось переделывать - до ввода данных и собственно процедуру после ввода данных
Автор: protoror
Дата сообщения: 06.10.2014 08:04
NickNNN
собственно непонятно другое, зачем делать модальное окно?
Ведь по сути оно и в виндовс приложениях не желательно, гораздо лучше докодить и сделать все без модала. Да это гораздо более затратно с точки зрения программирования, но гораздо лучше с точки зрения юзабилити.
В принципе модальные окна в винде еще куда не шло, но на андроид лепить свой велосипед поперек гайдлайнов как то не хорошо.
Автор: NickNNN
Дата сообщения: 06.10.2014 08:49

Цитата:
собственно непонятно другое, зачем делать модальное окно?


Скорее всего привычка. Но 15 лет делал так, как сделать по другому пока не понимаю.

Например, у меня банальная задача. Нужно кликнуть на размер изделия (определенную область битмапа), человек должен вести новый размер, после выполняется функция изменения размера. Как без модального ввода?

Собственно при построении окна там много моментов когда пользователь что-то выбирает (произвольно), далее заполняет параметры и выполняется функция добавления элемента.
Автор: X11
Дата сообщения: 06.10.2014 09:12

Цитата:
.ShowModal

в андроиде нет модельных форм
Автор: NickNNN
Дата сообщения: 06.10.2014 09:29

Цитата:
в андроиде нет модельных форм


Чем стандартное MessageDLG не модальное окно в классическом понимании?
Автор: protoror
Дата сообщения: 06.10.2014 09:32

Цитата:
Например, у меня банальная задача. Нужно кликнуть на размер изделия (определенную область битмапа), человек должен вести новый размер, после выполняется функция изменения размера. Как без модального ввода?

почему бы просто не использовать инлайн элемент, т.е. по клику сразу показывать тот же edit с вводом значения, зачем городить отдельный модальный диалог?
Автор: NickNNN
Дата сообщения: 06.10.2014 09:42
protoror, как такое сделать inline ? Там еще и корректность ввода должна проверяться

http://updates.vsgroup.ua/downloads/inline.png

Я не спорю, при обычном вводе нечего делать новую форму. Но у меня производственная программа, без модального ввода с отдельной формой будет сделать гораздо сложнее в определенных случаях
Автор: protoror
Дата сообщения: 06.10.2014 09:52
NickNNN
для начала надо поправить юзабилити этой формы. Мне например не ясно зачем нужно 2 абсолютно одинаковых типа соединения. Если в одном изделии используется сразу 2 типа соединения, дак можно по клику на один тип выводить первую часть данных для ввода, а по клику на вторую вторую часть, причем эти части будут абсолютно одинаковыми, и форма урежется в 2 раза!
Вообще конечно чтобы давать какие то советы по юзабилити надо въехать в специфику, зачастую формы урезаются с десятка контролов до нескольких штук.

А по поводу вашего вопроса, на панельке выводить инлайн уже не катит?

Страницы: 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129

Предыдущая тема: Отмена встречи в Outlook из Excel VBA


Форум Ru-Board.club — поднят 15-09-2016 числа. Цель - сохранить наследие старого Ru-Board, истории становления российского интернета. Сделано для людей.