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

Лидеры

  1. Brovin Yaroslav

    Brovin Yaroslav

    Администраторы


    • Баллы

      17

    • Постов

      2 124


  2. Равиль Зарипов (ZuBy)

    Равиль Зарипов (ZuBy)

    Модераторы


    • Баллы

      9

    • Постов

      2 517


  3. zairkz

    zairkz

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


    • Баллы

      9

    • Постов

      135


  4. #WAMACO

    #WAMACO

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


    • Баллы

      8

    • Постов

      776


Популярный контент

Показан контент с высокой репутацией 16.03.2016 во всех областях

  1. Добрый вечер, уважаемые форумчане, Вместе с Андреем Ефимовым мы проделали огромную работу, чтобы сделать наш форум еще удобнее и лучше, а так же решить ряд проблем, возникших в недавнее время. Работа над технической составляющей форума закончена. Однако, работа над структуризацией и модерированием тем начинается, чтобы сделать форум еще удобнее и эффективнее в решении ваших задач. Основные нововведения Быстрый вход. Использование нескольких систем входа на сайт (VK, Facebook, Google, Microsoft, Linked-In, Twitter) Введение нового формата ответов: Вопрос/Ответ. Теперь при вводе вопроса, ценится полнота и исчерпанность ответа. Это, возможно, потребует изменение структуры форума, чтобы разделять вопросы от обсуждений. Пока этот формат в процессе оценки. Мгновенные оповещения. Поддержка оповещений браузером. Теперь, если ваш браузер открыт, а форум закрыт, то при получении сообщения или новых ответов в ваших темах, вы получите системное уведомление.
    6 баллов
  2. Можно помучаться с 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
    6 баллов
  3. krapotkin

    Обновление форума

    блин, имхо, плохое умолчание (( и опять имхо же дизайн уж слишком раздольный получился 2-3 поста на FullHD - как-то жирно. даже в окне редактора высота строки 300%
    3 балла
  4. TksChatView component for building iOS style chat applications
    2 балла
  5. #WAMACO

    Обновление форума

    Было бы очень хорошо вставлять видео, чтобы можно было размещать небольшие ролики, показывающие наглядно какие-то проблемы, их решения, небольшие мастер классы от профи!
    2 балла
  6. Лимит вообще убрал. Спасибо за информацию.
    2 балла
  7. Я понял, постараюсь сделать такой же блок, который был в предыдущей версии форума.
    2 балла
  8. Спорно, а если я в конце дня хочу посмотреть все сообщения за день! В старом варианте, я сразу видел сообщения за сегодня, за вчера и т.д.
    2 балла
  9. Еще нужно сгруппировать "последние сообщения, а то одна тема везде
    2 балла
  10. Andy

    Обновление форума

    Если есть возможность в мобильной версии форума "Последние темы" поднять в начало страницы. Думаю дл многих актуально...
    2 балла
  11. исправьте отображение Города под аватаркой. и не всегда темы становятся прочитанными... не удобно а уведомлением вообще классно стало жить!
    2 балла
  12. #WAMACO

    Обновление форума

    Супер! Гораздо удобнее! А мобильное приложение планируется?
    2 балла
  13. XXXXXX

    Обновление форума

    Отличные изменения. Ещё было бы неплохо увидеть закреплённую верхнюю панель при скролле вниз, ну или плавающую кнопку которая будет скролить вверх
    2 балла
  14. Добрый день, Чтобы его запустить, нужно установить свойство Enabled = True Это свойство его включает. На платформе Windows вы его не видите потому, что первая фаза анимированных кругов начинается с пустого кадра.
    2 балла
  15. Еще бы не плохо в Последние сообщения видеть дату последнего сообщения в теме, а не дату создания.
    2 балла
  16. Safari 6 Chrome 27 Firefox 22
    2 балла
  17. Для начала - я бы попробовал обновить инди. Та версия, что поставляется с Делфи - немного отстает. Постоянно выходят багфиксы. Скачать последнюю версию можно с помошью SVN клиента(ваш любимый либо встроенный в ИДЕ): https://svn.atozed.com:444/svn/Indy10 Имя: Indy-Public-RO пароль пустой оставь
    2 балла
  18. А еще вроде как новые устройства на Intel Atom поддерживают эмуляцию, поэтому вам только старые устройства отключить на которых приложения вообще не запустятся. На эмуляторе Intela нормально все работает если правильно делать. А "работающие и пользующиеся популярностью приложения" наврятли оно таким станет, если у ~30% пользователей не будет возможность даже скачать (Допустим 30% скачало, из них 10% не запустилось). Кроме того все надеемся на новые версии студии в котором будет поддержка Intel
    2 балла
  19. Кнопку добавил. Теперь при прокручивании вниз, слева появляется кнопка по всей высоте сайта для прокрутки контента вверх
    1 балл
  20. 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. Может кому пригодится.
    1 балл
  21. Brovin Yaroslav

    Обновление форума

    Так и сейчас работает. Нужно просто ссылку вставить на YouTube видео:
    1 балл
  22. #WAMACO

    Обновление форума

    да, только просмотр не переходя на YouTube! вот это бы замечательно отличало данный форум от многих других!
    1 балл
  23. Пожалуйста сделайте возможность нажимать нравиться больше чем 10 раз на день, уж очень мне многое нравиться, а лайкнуть не могу)), лимит 30 хотя бы.
    1 балл
  24. #WAMACO

    Обновление форума

    и еще, если можно, чуть покомпактнее дизайн сделать, огромные отступы между строк, большие аватарки слева в сообщениях и информация по ним... получается на экран 15-дюймого Apple Mac помещается 2,5 топика из одного приложения!
    1 балл
  25. Brovin Yaroslav

    Обработка WM_GETMINMAXINFO

    Нет. Как вариант, можно модифицировать FMX.Platform.Win и просто добавить пересылку Dispatch сообщений прямо форме. Тогда в самой форме можно будет по VCL-ному перехватывать сообщения. Открываем модуль FMX.Platform.Win.pas и находим процедуру ориентировочно 2088 строчка: function WndProc(hwnd: HWND; uMsg: UINT; wParam: WPARAM; lParam: LPARAM): LRESULT; stdcall; В тело добавляем код по пересылке сообщения: begin { TODO -okewald -cVerify : We need to ensure Result is initialized. } Result := 0; LForm := FindWindow(hwnd); // Вставка по пересылке сообщения форме if LForm <> nil then begin TMsg.Msg := uMsg; TMsg.WParam := wParam; TMsg.LParam := lParam; TMsg.Result := 0; LForm.Dispatch(TMsg); uMsg := TMsg.Msg; wParam := TMsg.WParam; lParam := TMsg.LParam; end; После этого в форме можно перехватывать сообщение: uses ..., Winapi.Messages; type TForm19 = class(TForm) private procedure WMGetMinMaxInfo(var AMessage: TMessage); message WM_GETMINMAXINFO; end; var Form19: TForm19; implementation {$R *.fmx} { TForm19 } procedure TForm19.WMGetMinMaxInfo(var AMessage: TMessage); begin end; Если надо возвращать результат, как в случае с WM_GETMINMAXINFO, то в FMX.Platform
    1 балл
  26. krapotkin

    Обновление форума

    размазывания ответов не вижу. в основном, наводящие вопросы и предложения как попробовать и где посмотреть... думаю, разделение приведет только к полным непоняткам, где обсуждения, где ответы и так структуру сайта без поллитра сейчас не охватить. а так еще две непонятно чем разных сущности в одном интерфейсе...
    1 балл
  27. Обновленная версия, кое что подправил теперь нет ошибки на IOS 64 bit результат (Android, IPhone 4S, IPhone 6, MacOS Yosemite на виртуалке, Windows 10) Добавлена функция isGPSActive [ANDROID], определяет включен ли сенсор на устройстве DeviceInfo.zip
    1 балл
  28. Brovin Yaroslav

    Обновление форума

    Пробел между Городом и название добавил под фотографией пользователя. Посмотрите новый вариант блока последних сообщений. Возможно такой формат будет удобнее.
    1 балл
  29. но и не топик стартера, а пользователя оставивший последнее сообщение
    1 балл
  30. Все Спасибо!!!! действительно последний коментарий оказался решающим!!!! я накрываю мою основную форму панелью и поэтому не вижу индикатор! Спасибо всем!
    1 балл
  31. а почему индикатор лежит в листбоксе? как он там покажется? может, он должен быть в listItem ?
    1 балл
  32. точно могу сказать только про HTTP/S, TCP, Location Sensor, Map, воспроизведение звука еще вспомнилось что с камерой был косяк, но детали не вспомню.
    1 балл
  33. все баги которые написал решаемы, так что я пока не вижу смысла не поддерживать Intel. Приложение ведет себя более менее адекватно, пользоваться можно поворот - можно отключить тосты - своя реализация у меня анимация - можно не использовать ListBox - использовать ListView работа с формой (неправильный расчёт) - два варианта: 1) использовать модифицированный файл 2) FullScreen режим
    1 балл
  34. Добрый день, Для Windows нативные версии этих контролов не поддерживают прозрачность. Под Андроид нативных версий нету Для iOS платформы эти контролы позволяют указывать прозрачный фон. Для этого нужно принудительно прописать следующие значение стиля в StyleLookup: TEdit - transparentedit TMemo - transparentmemo При этом не смотря на то, что в дизайн тайме фон может остаться, в рантайме нативные контролы будут использовать прозрачный фон.
    1 балл
  35. enatechno

    stringGrid + цвет ячейки

    http://fire-monkey.ru/topic/887-tstringgrid-kak-podsvetit-zadnii-fon-iacheiki-v-zavisimos/ http://fire-monkey.ru/topic/287-izmenenie-svoistva-shrifta-odnoi-iacheiki-v-firemonkey-tstringgrid-delphi-xe6/
    1 балл
  36. Равиль Зарипов (ZuBy)

    Notification

    перенесли ведь сюда uses System.Notification
    1 балл
  37. Набросал пример отрисовки текста по дуге: procedure TForm1.FormPaint(Sender: TObject; Canvas: TCanvas; const ARect: TRectF); const S: String = 'Пример отрисовки текста по заданной траектории (дуга)'; var i: Integer; A, Ao, R, TextLen: Single; Rect: TRectF; M1, M2: TMatrix; // uses System.Math.Vectors begin // if Canvas.BeginScene then begin Randomize; R := 400; Ao := DegToRad(150); // uses System.Math A := (Pi - Ao) / 2; Canvas.Font.Size := 32; Canvas.Stroke.Kind := TBrushKind.Solid; Canvas.StrokeThickness := 3; Canvas.Fill.Color := TAlphaColors.Palegreen xor $80000000; Canvas.FillEllipse(TRectF.Create(0, 0, 2 * R, 2 * R), 1); TextLen := Canvas.TextWidth(S); if TextLen > R * Ao then Caption := 'АХТУНГ!'; // длина текста больше выделенной под него дуги (будет наложение букв) for i := 1 to S.Length do begin Rect.Left := 0; Rect.Top := R; Rect.Width := Canvas.TextWidth(S[i]); Rect.Height := Canvas.TextHeight(S[i]); A := A + Ao / (S.Length - 1); M1 := TMatrix.CreateTranslation(- Rect.CenterPoint.X, - Rect.CenterPoint.Y) * TMatrix.CreateRotation(A - A - Pi / 2) * TMatrix.CreateTranslation(Rect.CenterPoint.X, Rect.CenterPoint.Y); M2 := TMatrix.CreateTranslation(-R, -R) * TMatrix.CreateRotation(A) * TMatrix.CreateTranslation(R, R); Canvas.SetMatrix(M1 * M2); Canvas.Fill.Color := TAlphaColor(Random(MaxInt) or $FF000000); Canvas.FillText(Rect, S[i], False, 1, [{TFillTextFlag.RightToLeft}], TTextAlign.Leading, TTextAlign.Center); end; // Canvas.EndScene; end; end;
    1 балл
Эта таблица лидеров рассчитана в Москва/GMT+03:00
×
×
  • Создать...