Перейти к содержанию
Fire Monkey от А до Я

AngryOwl

Пользователи
  • Постов

    394
  • Зарегистрирован

  • Посещение

  • Победитель дней

    45

Активность репутации

  1. Like
    AngryOwl отреагировална Brovin Yaroslav в Нет доступа к сайту   
    Доступ восстановлен.
  2. Like
    AngryOwl отреагировална Error в Глобальные переменные в Delphi - зло?   
    http://www.gunsmoker.ru/2011/04/blog-post.html
  3. Like
    AngryOwl отреагировална Brovin Yaroslav в Описание TfgRadioGroup   
    Описание
    Назначение: Компонент предназначен для отображения группы TRadioButton и осуществления выбор. Поддерживает стилизацию.  Поддерживаемые платформы: Windows, OSX, iOS, Android Демо проект: Samples\RadioGroupDemo\RadioGroupDemo.dproj  
    Возможности
    Стилизация через указание двух картинок отображающих голос и пустой голос Настройки отображения заголовка группы TfgRadiouGroup.TextOptions.TitleTextSettings Возможность выбрать настройки отображения заголовка группы из стиля TfgRadioGroup.TextOptions.StyledTitleTextSettings Настройки отображения текста TRadioGroup TfgRadiouGroup.TextOptions.ButtonTextSettings Возможность выбрать настройки отображения текста TRadioGroup из стиля TfgRadioGroup.TextOptions.StyledButtonTextSettings Текущий выбранный вариант TfgRadioGroup.ItemIndex Возможность разбить варианты на колонки TfgRadioGroup.AlignOptions.Columns Возможность указать отступы для вариантов по вертикале и горизонател TfgRadioGroup.AlignOptions.HorzSpace, TfgRadioGroup.AlignOptions.VertSpace  Возможность узнать, когда пользователь делает выбор TfgRadioGroup.OnChanged
  4. Like
    AngryOwl получил реакцию от Евгений Корепов в Использование своего шрифта под Windows   
    В общем можно сделать, конечно, установку шрифта в инсталлере программы. И это будет оптимальным решением.
    Но можно обойтись и без него.
    Не буду расписывать детали, просто закину приложение и фрагменты кода. Думаю разберетесь. Естественно изменив на свои шрифты и т.п.
    Все нижеперечисленное - в файл проекта DPR, перед Application.Initialize;
    const CKey = '\Software\Microsoft\Windows NT\CurrentVersion\Fonts'; CFontFileName = 'spherelive.ttf'; CFontName = 'spherelive (TrueType)'; procedure ExecuteWait(const sProgramm: string; const sParams: string = ''; fHide: Boolean = false); var ShExecInfo: TShellExecuteInfo; begin FillChar(ShExecInfo, sizeof(ShExecInfo), 0); with ShExecInfo do begin cbSize := sizeof(ShExecInfo); fMask := SEE_MASK_NOCLOSEPROCESS; lpFile := PChar(sProgramm); lpParameters := PChar(sParams); lpVerb := 'open'; if (not fHide) then nShow := SW_SHOW else nShow := SW_HIDE end; try if (ShellExecuteEx(@ShExecInfo) and (ShExecInfo.hProcess <> 0)) then try WaitForSingleObject(ShExecInfo.hProcess, INFINITE) finally CloseHandle(ShExecInfo.hProcess); end; except On E : Exception do ShowMessage('font install Exception: ' + E.Message); end; end; if not IsFontRegistered(TPath.Combine(ExtractFilePath(ParamStr(0)), CFontFileName), CFontName) then if FileExists(TPath.Combine(ExtractFilePath(ParamStr(0)), 'RegFontC.exe')) then ExecuteWait(TPath.Combine(ExtractFilePath(ParamStr(0)), 'RegFontC.exe')); Application.Initialize; Где будет лежать файл со шрифтом - это уже ваше дело. Можно его куда угодно поместить. Хоть в ресурсы, хоть файлом просто, хоть с инета скачать.
    P.S. Ну и конечно - это все именно под винду...
    RegFont.zip
  5. Like
    AngryOwl отреагировална Равиль Зарипов (ZuBy) в Как сделать стандартные диалоговые окна не такими скучными?   
    ну вот такая есть штука у меня
     
    Это нативные окошки пока только под андроид
    NativeView.zip
  6. Like
    AngryOwl отреагировална Fedor K в Как можно реализовать таблицу?   
    Для таких таблиц лучше ее рисовать на ListView. Пока не видел достойных гридов для Андроид.
    Пример реализации:
     
  7. Like
    AngryOwl отреагировална kami в Суперский сайт!   
    если уж до конца соблюдать стилистику магистра Йоды, то надо говорить примерно так:
    "в раздел интересующий зайти должен ты, сверху-справа кнопку нужную найдешь".
  8. Like
    AngryOwl получил реакцию от Kitty в Размещение кнопок на картинке фона   
    В Designmode разместите кнопки "как видите" их на форме (как они должны быть расположены), а потом левой кнопке поставьте Align = None и Anchors[akLeft,akBottom], а правой Align = None и Anchors[akRight,akBottom]. Думаю, что этого будет достаточно.
    P.S. Ну и как все будет закончено с их расположением, поставьте им Locked = True (дабы не сместить их ненароком)
  9. Like
    AngryOwl отреагировална Vitaldj в Не запускается проект (FireDac + SQLite)   
    Взять можно отсюда: http://www.sqlite.org/download.html
  10. Like
    AngryOwl отреагировална enatechno в Не запускается проект (FireDac + SQLite)   
    На других ПК рядом с Вашим ехе-файлом нужно положить dll-библиотеку SQLite
  11. Like
    AngryOwl получил реакцию от dnekrasov в Конфликт Hint и BorderStyle   
    Ну вот! Я же говорил как-то - жаль нельзя поставить "Мне нравится" несколько раз!
    Кто-то тут плачется все время, "вдруг Delphi умрет" ... "Delphi уже мертв" ... "FMX не сегодня завтра умрет" ...
    Я программирую на Pascal с 91го года. Начинал c Turbo Pascal 5.0. И с тех пор мне пытаются втереть "погромизды" - что Pascal/Delphi давно умер ... Тоже самое касается среды RAD Studio.
    Так вот благодаря таким людям как Ярослав, Андрей, Равиль и многим многим другим, он не только не умер. Он еще и, в большинстве случаев!, даст форы многим другим языкам и IDE.
    Так-что еще раз спасибо за решение проблемы! (скажите мне - в каких средах или языках их (проблем) нет! ))))
  12. Like
    AngryOwl отреагировална Равиль Зарипов (ZuBy) в Конфликт Hint и BorderStyle   
    ну и кому хочется сделать Ballon, а не прямоугольник
    копируем в проект и открываем FMX.Controls.Win.pas Ctrl+F -> constructor TWindowsHint.Create(const AHandle: TWindowHandle); FToolTipHandle := CreateWindowEx(0, TOOLTIPS_CLASS, nil, WS_POPUP or TTS_ALWAYSTIP or TTS_BALLOON, 0, 0, 300, 300, FNativeControlHandle, 0, hInstance, nil); TTS_BALLON - сделает закругленные подсказки со стрелкой сохраняем Готово!  
  13. Like
    AngryOwl отреагировална Равиль Зарипов (ZuBy) в Конфликт Hint и BorderStyle   
    я тут посидел немного, сделал костыль. особо не заморачивался
    копируем в проект и открываем FMX.Forms.pas Ctrl+F -> procedure TCommonCustomForm.SetShowHint(const Value: Boolean);  
    procedure TCommonCustomForm.SetShowHint(const Value: Boolean); begin FShowHint := Value; ReleaseLastHinted; // ZuBy *** if (not(csDesigning in ComponentState)) then begin FreeAndNil(FSharedHint); FSharedHint := THint.CreateNewInstance(Handle); end; // *** ZuBy end; сохраняем в событии OnCreate, OnShow пишем ShowHint := true; Готово!  
  14. Like
    AngryOwl получил реакцию от enatechno в Не происходит событие отжатия кнопки мыши   
    Можно. Используйте события не OnClick или OnItemClick и т.д., а событие OnMouseUp у самого TListBox.
    Типа так:
    procedure TfmMain.lbxMouseUp(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Single); var LI : TListBoxItem; p : TPointF; begin if Assigned(Sender as TListBox) then begin LI := TListBox(Sender).ItemByPoint(X, Y); if Assigned(LI as TListBoxItem) then begin LI.IsSelected := True; TTask.Run(procedure begin if Button = TMouseButton.mbLeft then Do_какая-то_процедура(LI.Index) // просто пример else if Button = TMouseButton.mbRight then TThread.Synchronize(nil, procedure begin p := MessageEvent.GetMousePos; PopupMenu1.Popup(p.X, p.Y); // для вызова контекстного меню выделенного ListBoxItem end); end); end; end; end; P.S. Отмечу, что использовал TTask и TThread.Synchronize далеко не случайно!
    Во-первых TTask.Run запустит ваш обработчик нажатия на выделенный элемент в отдельном потоке, что не будет "тормозить" "выделение" самого ListBoxItem и вообще), а во-вторых - "внутри" вызванного потока сделал синхронизацию с основным потоком, при выводе контекстного меню для ListBoxItem, так как это гарантирует корректную работу с GUI в FMX.
  15. Like
    AngryOwl отреагировална Brovin Yaroslav в [Статья] Жизненный цикл объектов в Delphi. Часть 1. Windows, OSX. Что же использовать Destroy, Free, FreeAndNil или DisposeOf?   
    Ссылка: http://yaroslavbrovin.ru/object_life_cycle_in_delphi_part_1_windows_osx-ru/ Автор: Ярослав Бровин С появлением мобильных платформ в мире Delphi, произошли серьезные изменения в жизненном цикле объектов. Послужившие причиной многих проблем и вопросов, а как правильно кроссплатформенно удалять объекты. В этой статье детально рассматриваем жизненный цикл объектов на разных платформах и даём ответы на важные вопросы, которые могут побеспокоить даже опытных Delphi разработчиков.
  16. Like
    AngryOwl отреагировална Равиль Зарипов (ZuBy) в [Статья] Онлайн-сервисы в помощь разработчику по дизайну   
    Ссылка: http://blog.rzaripov.kz/2017/01/blog-post.html
    Автор: Зарипов Равиль @ZuBy
    Описание: Онлайн-сервисы в помощь разработчику по дизайну
     
     
  17. Like
    AngryOwl получил реакцию от Шамсуддин в Не происходит событие отжатия кнопки мыши   
    Можно. Используйте события не OnClick или OnItemClick и т.д., а событие OnMouseUp у самого TListBox.
    Типа так:
    procedure TfmMain.lbxMouseUp(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Single); var LI : TListBoxItem; p : TPointF; begin if Assigned(Sender as TListBox) then begin LI := TListBox(Sender).ItemByPoint(X, Y); if Assigned(LI as TListBoxItem) then begin LI.IsSelected := True; TTask.Run(procedure begin if Button = TMouseButton.mbLeft then Do_какая-то_процедура(LI.Index) // просто пример else if Button = TMouseButton.mbRight then TThread.Synchronize(nil, procedure begin p := MessageEvent.GetMousePos; PopupMenu1.Popup(p.X, p.Y); // для вызова контекстного меню выделенного ListBoxItem end); end); end; end; end; P.S. Отмечу, что использовал TTask и TThread.Synchronize далеко не случайно!
    Во-первых TTask.Run запустит ваш обработчик нажатия на выделенный элемент в отдельном потоке, что не будет "тормозить" "выделение" самого ListBoxItem и вообще), а во-вторых - "внутри" вызванного потока сделал синхронизацию с основным потоком, при выводе контекстного меню для ListBoxItem, так как это гарантирует корректную работу с GUI в FMX.
  18. Like
    AngryOwl получил реакцию от krapotkin в Перспективы RAD   
    Вот читал, читал... Прям даже интересно стало)))))
    В итоге [Gingercat] написал все, что я думаю)) Жаль нельзя ДВА раза поставить, что мне коммент понравился))
  19. Like
    AngryOwl отреагировална Gingercat в Перспективы RAD   
    Эх, попкорн закончился) Доброго вечера всем.
    Вот вы тут развели ср..., прям диву даешься. Неужели тут кто то всерьез верит, что Rad Studio похоронят - вы чего? СМена кадровой политики - абсолютно нормальное явление в любой организации, которая не сидит на месте. Другой вопрос - что послужило толчком? Но не суть. Тут прочитал - вот мол никто на FMX не пишет - вы судите по тому, сколько информации (удивленный смайл). Неужто кто то всерьез думает, что солидные компании, которые базируются на Rad Studio, будет трубить на каждом углу - смотрите, у нас софт написан на Rad Studio? (если быть точным, то с использованием, не придирайтесь)) ЗАЧЕМ оно им?
    С такой ценовой политикой, достаточно нескольких сотен пользователей для безбедной жизни, хотя думаю их в разы больше.
    А вот про баги и тд - улыбнуло. Есть у меня опыт небольшой работы и с FMX под ANdroid, и куда больший по десктоп, естественно под VCL. Есть опыт с плюсами и шарпом на Visual Studio тоже под десктоп. Ну и Qt немного. И судя по своему скромному опыту, еще вопрос - где больше багов, когда начинаешь копать глубже. Тута вон галку снял, и софт с 99% уверенностью запустится у всех, а Visual Studio - без опыта, один процесс настройки зависимостей проекта в новых версиях - тот еще гемморой. А потом начинаешь пользователям долбить - скачайте рантайм, а вот еще ддлку эту, а у вас версия Фреймворка не та))) Адекватно собрать статически слинкованный Qt мне так и не удалось, точнее удалось под MinGW - не впечатлило.
    Похоже многие забыли - FMX, Rad, Visual, pascal,  c++, c#, и тд, и тп - это только инструмент, все зависит от того, кто его держит. 
    Kitty - мне очень интересно - отчего такая потребность - закопают или нет? А кто мешает перебраться, в случае необходимости в другую среду - знания то лишними не будут. Напоминает покупку первой машины - месяцами выбирают (количество критериев зашкаливает - и чтоб то не сломалось, и не устарело, и тд), в итоге покупается что то непотребное, просто из-за подхода, при этом количество нервов потраченных...) вы же не на всю жизнь покупаете) Так и тут - ну случится беда, закопают - так правильно сказали: может через пару лет и Андроид гавкнет - что теперь не писать под него.
    В крайнем случае можно на время перебирания в другую среду остаться на старой версии. Хотя, вынужден извиниться, возможно у вас действительно вперед смотрящие, долгосрочные проекты, тогда стоит думать сейчас (ни в коем случае не сарказм). Но положа руку на сердце, поверьте - выбор то не велик, к сожалению, когда дело доходит до чего - то большего, чем Hello World.
     
    P.S. не первый год пытаюсь переползти в Visual Studio - именно написание кода там куда более комфортное, но увы - так и не смог) сошелся на Dll-ках, из Visual Studio, и основе в Rad Studio - довольно удобно и комфортно.
  20. Like
    AngryOwl отреагировална #WAMACO в Перспективы RAD   
    никому я ничего не указывал, просто если Вам "книга" не интересна, надо уметь набраться сил и закрыть ее, а не понукать тут своими домыслами по поводу FMX! :))
  21. Like
    AngryOwl отреагировална kami в Перспективы RAD   
    К сожалению, кнопка "Жалоба" не работает, поэтому пишу прямо здесь:
    Господа модераторы, может хватит уже смотреть спустя рукава на непозволительный тон и оскорбительные высказывания от haword ?
    И вообще, коллеги - не кормите троллей. Человек для себя уже всё давно решил, а здесь просто пытается утвердить свое мнение.
    haword , идите на хабр. Там вас поддержат, они любят такие речи. Здесь не те, кто "колется, плачет, но продолжает жрать кактус", а люди несколько иного настроя.
     
  22. Like
    AngryOwl отреагировална #WAMACO в Перспективы RAD   
    закапать могут все что угодно!
    может быть через 10 лет java не будет, так что теперь под Android не писать, а может и Android самого не будет... такими аналогиями мыслить далеко можно зайти!
    кому нравится Android Studio тот его и использует! Могу только порадоваться! Мне не нравится, но это не повод ее хаять! 
    P.S. 
    надо будет и на Android Studio без проблем сделаю, но тошнит от нее... :))
  23. Like
    AngryOwl отреагировална Alex Bozhko в Перспективы RAD   
    Вставлю свои пять копеек.
    Про изначально не понравилось в FireMonkey...
    Да, действительно, сначала было как у классика - "Да ты же, парень, прыгаешь в длину!" Т. е. брал Андроид и лепил десктопное приложение под него. Потом пришло понимание того, что так делать не надо. Взял тот же Андроид и начал смотреть, а как же там сделан GUI. После этого как-то отпала необходимость в гридах и прочих прелестях VCL. а вот не нравится то, что LiveBinding использовать невозможно. в принципе. Т. е. сейчас я ручками заполняю контролы из датасетов, и опять же ручками обрабатываю. Не сложно, но долго. Даже возникла идея, а не вооружиться ли старыми мануалами и не написать ли свои db-aware контролы. Отсюда сразу вопрос, нет ли каких-то принципиальных ограничений для этого? Почему пока есть  только одна реализация чего-то подобного, которая нереальных денег стоит.
    Вторая вещь, которая мне не нравится, скорее организационная. Отсутствие преемственности кода. Вот ни разу не удалось запустить приложение, собранное на предыдущей версии FM без каких-либо правок. ну, да ладно.
    Потом я немного полистал литературу по Android Studio. И вот теперь задумался. Ведь FM приложения они по архитектуре несколько отличаются... А действительно, можно ли на FM написать всё то, что можно сделать в той же Андроид Студии? ну, пусть не сейчас, пусть в перспективе. Т.е. возможно ли это в принципе? Или это жертва, которую придётся приносить на алтарь кросс-платформенности?
     
  24. Like
    AngryOwl отреагировална Vitaldj в Перспективы RAD   
    Да сколько можно говорить!!!! Забудьте грид на мобилах!!! Привыкли писать под десктоп и пытаются тут эти знания прикрутить.
    Много, врать не буду, но многие и не только из за мобильности.
     
    Тоже очень много! Особенно хорош последний релиз берлин 10.1 с up2. У меня так даже на win XP заработало стабильно! 
  25. Like
    AngryOwl отреагировална Rusland в Перспективы RAD   
    Есть часть правды в этих словах. Сейчас вижу как лагерь Дельфи программистов разделился на две части - те кто решили использовать FMX для мобильной разработки и старая гвардия, которая осталась сидеть на VCL. Причем вторые люто ненавидят саму Firemonkey (и их можно понять - первые версии больше походили на недоделанную игрушку, поэтому такое и восприятие)  А был бы один  фреймворк, пришлось бы всем плыть в одной лодке. Но видимо не так то просто было сделать это, поэтому имеем то что имеем.  
    PS. А вдруг кто-то сольет все исходники студии, компиляторов и т.д. в интернет и начнут Дельфи развивать энтузиасты. Сразу небывалый интерес проявится 
×
×
  • Создать...