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

zairkz

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

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

  • Посещение

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

    12

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

  1. Like
    zairkz отреагировална Равиль Зарипов (ZuBy) в Тормоза при первом переключении вкладок TTabControl   
    Решение Ярослава
  2. Like
    zairkz отреагировална Adm123 в "Общение" сервиса и приложения через intent   
    Тут вышло недопонимание. Процитированный мной пост ZuBy вовсе не был обращен ко мне, но на тот момент почему-то отображался у меня последним. Видимо, форум после обновления не совсем "очнулся". Так что это не в счёт.
    А пример из посла Rusland я, конечно, видел и передачи информации из сервиса в приложение добился. Проблема в другом - как сделать, чтоб приложение информацию принимало, но не вылезало рри этом на рабочий стол.
  3. Like
    zairkz отреагировална Brovin Yaroslav в Обновление форума   
    Победил сортировку по умолчанию. Теперь для рубрики Вопрос/Ответ по умолчанию используется сортировка по дате публикации.
  4. Like
    zairkz отреагировална krapotkin в Push под iOS   
    ах ты ж, решил))
    если сгенерить Provisioning profile под приложение, и правильно выбрать его в настройках проекта, то все нормализуется...
  5. Like
    zairkz отреагировална Равиль Зарипов (ZuBy) в DeviceInfo - модуль для получения информации о девайсе   
    Обновленная версия, кое что подправил теперь нет ошибки на IOS 64 bit
    результат (Android, IPhone 4S, IPhone 6, MacOS Yosemite на виртуалке, Windows 10)

    Добавлена функция isGPSActive [ANDROID], определяет включен ли сенсор на устройстве
    DeviceInfo.zip
  6. Like
    zairkz отреагировална kami в Tedit от TMS   
    Да никто вас не отфутболивает. Но, с учетом того, что TMS-ом среди участников форума (вроде как) пользуется не так уж много народа - вряд ли стоит ожидать глобального понимания проблемы. Тем более - если она не воспроизводится у других.
    Кроме того - если не получается создать минимальный воспроизводимый пример, вряд ли смогут помочь и сами TMS-овцы, и тем более - Embarcadero-вцы.
    Судя по исходникам TMS - начиная с XE7 они используют свою реализацию для Edit-а, основанную на TStyledControl. И эта реализация по беглому взгляду не должна отличаться на Seattle и Seattle Upd1. Поэтому в решении проблемы поможет только MVCE - Minimal, Complete, and Verifiable example
  7. Like
    zairkz отреагировална Brovin Yaroslav в Обновление форума   
    Над этим я пока работаю. Так как по дефолту такой настройки нету. Буду думать, как сделать сортировку по умолчанию по дате.
  8. Like
    zairkz отреагировална rareMax в Kernow Software FMX Components for XE7, XE8 & XE10 Seattle   
    Давненько еще нашел этот пак компонентов, но не было времени ознакомиться с ним ближе. Сегодня посмотрел демки - думаю нашему сообществу понравится эта библиотека. Описание оригинальное с гитхаба.
    Как скачать:
    GetIT(нет лицензии на студию? смотрим ниже) Прямая ссылка на последнюю версию С помощью GIT-клиента: https://github.com/gmurt/KernowSoftwareFMX.git .Можете либо встроенным в делфи, либо своим любимым. Могу посоветовать SourceTreeApp. Рекомендую именно этот способ - вам не придется постоянно перекачивать компонент для обновления. Достаточно в приложении нажать одну кнопку - и компонент обновился. 
    Kernow Software FMX Components for XE7, XE8 & XE10 Seattle.
    (May work with earlier versions but untested)
    Firemonkey Slide menu, ListView and Segment buttons for Delphi. Inherits from a non-visual component to keep things simple.
    Includes demo with source. Demo App also available on app store: https://itunes.apple.com/gb/app/kscomponents-reference/id1031179701?mt=8
    Feel free to support the components with a donation ;-)
    If you'd like to support the ksComponents project, you can do so at the following link ;-)
    http://www.kernow-software.co.uk/?page_id=397
    TksTableView
    Cached table view provides native performance regardless of the number of text/items/graphics added support for embedded switches support for embedded buttons support for embedded segment buttons Canvas style methods for adding text/shapes/images Built-in support for Image, Title, SubTitle, Detail and Accessory elements Check list option support - single check or multi check Custom check mark colours Image cropping (square, round rect or circle) "Indicator" colours - add colour indicators to each row "Sticky" headers TksSlideMenu
    set menu background colour set selected item colour set font colours add images to items fade background left or right aligned menus inherites from non-visual Tcomponent for quick integration into existing projects uses bitmap caching for optimised performance TksSegmentButtons
    segment button component support for iOS style badges TksFormTransition
    component for animating transitions between forms TksTabControl
    Tab control component with support for different colours/themes Large number of built-in icons Support for iOS style badges TksNetHttpClient
    enhanced http client with ASync Get method TksTileMenu
    simple but effective main menu component TksChatView
    component for building iOS style chat applications TksSpeedButton
    TSpeedButton descendant with support for iOS style badges Any suggestions for updates are welcome :-)
  9. Like
    zairkz отреагировална rareMax в Kernow Software FMX Components for XE7, XE8 & XE10 Seattle   
  10. Like
    zairkz отреагировална xenon54 в [XE8][Win][Android] AES-256 Шифрование и LockBox   
    Честно говоря, никогда не разбирался с AES'ом. Я раньше юзал ГОСТ 28147-89. Сам его реализовал на делфях со вставками асемблера, ибо без него скорость шифрования и расшифрования была катастрафически мала(со вставками скорость выросла на 2 или 3 порядка, точно не помню). Результат всегда получался одинаковый при шифровании одного и того же содержимого и одного и того же ключа. Что там в этом AES'е х... фиг его знает.
  11. Like
    zairkz отреагировална Равиль Зарипов (ZuBy) в Проблемы с отрисовкой   
    что за код находится в обработчиках OnClick этих кнопок?
    есть подозрение что программист делает не то)
     
  12. Like
    zairkz отреагировална Brovin Yaroslav в Обновление форума   
    Специально запретил вставлять картинки по ссылке. Поскольку при удалении картинки с другого хостинга, в сообщение будет битая ссылка. Добавлять картинки как обычные вложения, а потом вставлять в тему сообщения. Так есть 100% гарантия, что изображение останется на нашем хостинге.
  13. Like
    zairkz отреагировална Brovin Yaroslav в [TTabControl] Как задать иконку у вкладки компонента TTabControl?   
    Картинку можно указать двумя способами:
    Способ 1
    У каждой вкладки TTabControl есть свойство TTabItem.CustomIcon позволяющее загрузить картинку на вкладку.
    Способ 2. С использование TImageList
    Если картинки располагаются в TImageList компоненте, то нужно вначале привязать TImageList к TTabControl.Images. А затем выбрать индекс картинки у вкладки TTabItem.ImageIndex.
  14. Like
    zairkz отреагировална xenon54 в [TidHTTP] Не срабатывает Timeout   
    Помнится я целый день на гугл потратил в поисках этого...
    А насчет того что быстрей срабатывает чем установлен таймаут, что-то тут не то, я ради интереса засекал сегодня, отрабатывает четко по таймауту.
  15. Like
    zairkz получил реакцию от petyaas в С помощью каких компонентов проще всего реализовать онлайн чат?   
    Можно помучаться с TListView, но я остановился на TPresentedScrollBox и стилизованных Label'ах (облачки сообщений, под разные scale на png 9patch), скорость скролла хорошая, плюс есть боунсы и тд.
    Приложил исходники проекта, также в архиве отдельно chat.style
    procedure TForm2.ChatUp(UsID: integer; LastId: integer; CText: string); var   Labb: TLabel;   Marg: Single;   LT: TLayout; begin   LT := TLayout.Create(PR);   LT.Parent := PR.Content;   LT.Margins.Top := 2;   LT.Align := TAlignLayout.Top;   LT.Position.Y := PR.ContentBounds.Height + 50;   Marg := PR.Width * 0.20;   Labb := TLabel.Create(PR);   Labb.Parent := PR;   Labb.Align := TAlignLayout.Top;   Labb.AutoSize := True;   Labb.WordWrap := True;   Labb.TextSettings.WordWrap := True;   if UsID = 0 then   begin     Labb.Margins.Left := Marg;     Labb.Margins.Right := 4;     Labb.TextAlign := TTextAlign.Trailing;     Labb.StyleLookup := 'labelchat_green';   end   else   begin     Labb.Margins.Right := Marg;     Labb.Margins.Left := 4;     Labb.TextAlign := TTextAlign.Leading;     Labb.StyleLookup := 'labelchat_white';   end;   Labb.NeedStyleLookup;   Labb.Text := ' ' + CText + ' ';   LT.Height := Labb.Height + 4;   Labb.Parent := LT;   if UsID = 0 then     Labb.Align := TAlignLayout.Right   else     Labb.Align := TAlignLayout.Left; end; Первые признаки шизофрении:

    Chat.zip
  16. Like
    zairkz отреагировална TrueCrypt в Обработка WM_GETMINMAXINFO   
    Более гибкий вариант, работающий как под х86, так и под х64:
    unit Forms.Persistent; interface uses System.SysUtils, System.Types, System.UITypes, System.Classes, System.Variants, {$IF Defined(WIN32) OR Defined(WIN64)} System.Generics.Collections, Winapi.Windows, FMX.Platform.Win, Winapi.Messages, {$ENDIF} FMX.Types, FMX.Controls, FMX.Forms, FMX.Graphics, FMX.Dialogs; type TfrmPersistent = class(TForm) {$IF Defined(WIN32) OR Defined(WIN64)} private class var Callbacks: TDictionary<HWND, Pointer>; class constructor ClassCreate; class destructor ClassDestroy; protected procedure CreateHandle; override; procedure DestroyHandle; override; {$ENDIF} end; implementation {$R *.fmx} {$IF Defined(WIN32) OR Defined(WIN64)} { TfrmPersistent } function WindowProc(hwnd: HWND; uMsg: UINT; wParam: WPARAM; lParam: LPARAM): LRESULT; stdcall; var frm: TCommonCustomForm; oldProc: Pointer; begin frm := FindWindow(hwnd); if Assigned(frm) and (uMsg = WM_GETMINMAXINFO) then begin with PMinMaxInfo(LParam)^.ptMinTrackSize, frm do begin X := 950 + Width - ClientWidth; Y := 500 + Height - ClientHeight; end; Result := 0; end else if TfrmPersistent.Callbacks.TryGetValue(hwnd, oldProc) and Assigned(oldProc) then Result := CallWindowProc(oldProc, hwnd, uMsg, wParam, lParam) else Result := DefWindowProc(hwnd, uMsg, wParam, lParam); end; procedure TfrmPersistent.CreateHandle; var wnd: HWND; begin inherited CreateHandle; wnd := FormToHWND(Self); if wnd <> 0 then begin Callbacks.Add(wnd, Ptr(GetWindowLongPtr(wnd, GWLP_WNDPROC))); SetWindowLongPtr(wnd, GWLP_WNDPROC, NativeInt(@WindowProc)); end; end; procedure TfrmPersistent.DestroyHandle; var wnd: HWND; oldProc: Pointer; begin wnd := FormToHWND(Self); if (wnd <> 0) and Callbacks.TryGetValue(wnd, oldProc) then SetWindowLongPtr(wnd, GWLP_WNDPROC, NativeInt(oldProc)); inherited DestroyHandle; end; class constructor TfrmPersistent.ClassCreate; begin Callbacks := TDictionary<HWND, Pointer>.Create; end; class destructor TfrmPersistent.ClassDestroy; begin Callbacks.Free; end; {$ENDIF} end. Похоже, что при компиляции в х64, вложенные процедуры как-то хитро компилируются, в итоге либо кривой стек возникает, либо еще что, поэтому пришлось колбек вынести в глобальный метод.
  17. Like
    zairkz отреагировална TrueCrypt в Обработка WM_GETMINMAXINFO   
    Благодарю за ответ, пытался исходник поредактировать — винда на права доступа ругалась. Сделал так:
    unit Forms.Persistent; interface uses System.SysUtils, System.Types, System.UITypes, System.Classes, System.Variants, {$IF Defined(WIN32) OR Defined(WIN64)} Winapi.Windows, FMX.Platform.Win, Winapi.Messages, {$ENDIF} FMX.Types, FMX.Controls, FMX.Forms, FMX.Graphics, FMX.Dialogs; type TfrmPersistent = class(TForm) {$IF Defined(WIN32) OR Defined(WIN64)} private FHwnd: HWND; FOldWndProc: LONG_PTR; protected procedure CreateHandle; override; procedure DestroyHandle; override; {$ENDIF} end; implementation {$R *.fmx} {$IF Defined(WIN32) OR Defined(WIN64)} { TfrmPersistent } procedure TfrmPersistent.CreateHandle; function WindowProc(hwnd: HWND; uMsg: UINT; wParam: WPARAM; lParam: LPARAM): LRESULT; stdcall; var frm: TCommonCustomForm; begin frm := FindWindow(hwnd); Assert(frm.InheritsFrom(TfrmPersistent)); if Assigned(frm) then begin if uMsg = WM_GETMINMAXINFO then begin with PMinMaxInfo(LParam)^.ptMinTrackSize, frm do begin X := 950 + Width - ClientWidth; Y := 500 + Height - ClientHeight; end; Result := 0; end else Result := CallWindowProc(Ptr(TfrmPersistent(frm).FOldWndProc), hwnd, uMsg, WParam, lParam); end else Result := DefWindowProc(hwnd, uMsg, wParam, lParam); end; begin inherited CreateHandle; FHwnd := WindowHandleToPlatform(Handle).Wnd; FOldWndProc := GetWindowLongPtr(FHwnd, GWL_WNDPROC); SetWindowLongPtr(FHwnd, GWL_WNDPROC, NativeInt(@WindowProc)); end; procedure TfrmPersistent.DestroyHandle; begin Assert(FHwnd <> 0); SetWindowLongPtr(FHwnd, GWL_WNDPROC, FOldWndProc); inherited DestroyHandle; end; {$ENDIF} end. Может кому пригодится.
  18. Like
    zairkz отреагировална rareMax в [TidTCPClient] В IdTCPClient возникает Max line length exceeded при чтении   
    Для начала - я бы попробовал обновить инди. Та версия, что поставляется с Делфи - немного отстает. Постоянно выходят багфиксы. Скачать последнюю версию можно с помошью SVN клиента(ваш любимый либо встроенный в ИДЕ): https://svn.atozed.com:444/svn/Indy10  Имя:  Indy-Public-RO пароль пустой оставь
  19. Like
    zairkz отреагировална ra.eremeev в Не отображает иконки приложения   
    Какой-то глюк - проблема самоустранилась через некоторое время. Когда уже надежду всю потерял.
    Ничего не менял и не перепрописывал. Просто иконки стали появляться и все.
    Всем спасибо!
  20. Like
    zairkz отреагировална Vitaldj в Не отображает иконки приложения   
    Пути Господне не исповедимы! 
  21. Like
    zairkz отреагировална sviat9440 в Проблемы с отрисовкой   
    Уже понял... ))) все ок!))
  22. Like
    zairkz отреагировална Brovin Yaroslav в Обновление форума   
    Кнопку добавил. Теперь при прокручивании вниз, слева появляется кнопка по всей высоте сайта для прокрутки контента вверх
  23. Like
    zairkz отреагировална rareMax в Обновление форума   
    Я как то предлагал поставить плавающую кнопку "вверх". Прошу и в этот раз. Сейчас это более актуально, в связи с тем что сайт "пожирнее" стал. Приходится еще больше колесом крутить..
  24. Like
    zairkz получил реакцию от kami в С помощью каких компонентов проще всего реализовать онлайн чат?   
    Можно помучаться с TListView, но я остановился на TPresentedScrollBox и стилизованных Label'ах (облачки сообщений, под разные scale на png 9patch), скорость скролла хорошая, плюс есть боунсы и тд.
    Приложил исходники проекта, также в архиве отдельно chat.style
    procedure TForm2.ChatUp(UsID: integer; LastId: integer; CText: string); var   Labb: TLabel;   Marg: Single;   LT: TLayout; begin   LT := TLayout.Create(PR);   LT.Parent := PR.Content;   LT.Margins.Top := 2;   LT.Align := TAlignLayout.Top;   LT.Position.Y := PR.ContentBounds.Height + 50;   Marg := PR.Width * 0.20;   Labb := TLabel.Create(PR);   Labb.Parent := PR;   Labb.Align := TAlignLayout.Top;   Labb.AutoSize := True;   Labb.WordWrap := True;   Labb.TextSettings.WordWrap := True;   if UsID = 0 then   begin     Labb.Margins.Left := Marg;     Labb.Margins.Right := 4;     Labb.TextAlign := TTextAlign.Trailing;     Labb.StyleLookup := 'labelchat_green';   end   else   begin     Labb.Margins.Right := Marg;     Labb.Margins.Left := 4;     Labb.TextAlign := TTextAlign.Leading;     Labb.StyleLookup := 'labelchat_white';   end;   Labb.NeedStyleLookup;   Labb.Text := ' ' + CText + ' ';   LT.Height := Labb.Height + 4;   Labb.Parent := LT;   if UsID = 0 then     Labb.Align := TAlignLayout.Right   else     Labb.Align := TAlignLayout.Left; end; Первые признаки шизофрении:

    Chat.zip
  25. Like
    zairkz получил реакцию от Kitty в С помощью каких компонентов проще всего реализовать онлайн чат?   
    Можно помучаться с TListView, но я остановился на TPresentedScrollBox и стилизованных Label'ах (облачки сообщений, под разные scale на png 9patch), скорость скролла хорошая, плюс есть боунсы и тд.
    Приложил исходники проекта, также в архиве отдельно chat.style
    procedure TForm2.ChatUp(UsID: integer; LastId: integer; CText: string); var   Labb: TLabel;   Marg: Single;   LT: TLayout; begin   LT := TLayout.Create(PR);   LT.Parent := PR.Content;   LT.Margins.Top := 2;   LT.Align := TAlignLayout.Top;   LT.Position.Y := PR.ContentBounds.Height + 50;   Marg := PR.Width * 0.20;   Labb := TLabel.Create(PR);   Labb.Parent := PR;   Labb.Align := TAlignLayout.Top;   Labb.AutoSize := True;   Labb.WordWrap := True;   Labb.TextSettings.WordWrap := True;   if UsID = 0 then   begin     Labb.Margins.Left := Marg;     Labb.Margins.Right := 4;     Labb.TextAlign := TTextAlign.Trailing;     Labb.StyleLookup := 'labelchat_green';   end   else   begin     Labb.Margins.Right := Marg;     Labb.Margins.Left := 4;     Labb.TextAlign := TTextAlign.Leading;     Labb.StyleLookup := 'labelchat_white';   end;   Labb.NeedStyleLookup;   Labb.Text := ' ' + CText + ' ';   LT.Height := Labb.Height + 4;   Labb.Parent := LT;   if UsID = 0 then     Labb.Align := TAlignLayout.Right   else     Labb.Align := TAlignLayout.Left; end; Первые признаки шизофрении:

    Chat.zip
×
×
  • Создать...