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

zairkz

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

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

  • Посещение

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

    12

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

  1. Like
    zairkz отреагировална rareMax в С помощью каких компонентов проще всего реализовать онлайн чат?   
    TksChatView
    component for building iOS style chat applications
  2. 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
  3. 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
  4. Like
    zairkz отреагировална masmat в Как запустить приложение ВКонтакте из своего приложения?   
    Отвечу сам
     
    procedure TForm1.ButtonClick(Sender: TObject); const cVkPackage = 'com.vkontakte.android'; var   Manager: JPackageManager;   Info: JActivityInfo;   List: JList;   I: Integer;   ResolveInfo: JResolveInfo;   NativeCompName:JComponentName;   Intent: JIntent; begin   Intent:=TJIntent.Create;   Intent.setAction(TJIntent.JavaClass.ACTION_VIEW);   Intent.setData(StrToJURI('https://vk.com/адрес_группы'));   Manager :=SharedActivity.getPackageManager;   List:=Manager.queryIntentActivities(Intent,0);   for I := 0 to List.size-1 do     begin      ResolveInfo:=TJResolveInfo.Wrap((List.get(i)as ILocalObject).GetObjectID);      Info:=TJActivityInfo.Wrap((ResolveInfo.activityInfo as ILocalObject).GetObjectID);      if SameText(JStringToString(Info.packageName),cVkPackage) then        begin          NativeCompName:=TJComponentName.JavaClass.init(ResolveInfo.activityInfo.applicationInfo.packageName,ResolveInfo.activityInfo.name);          Intent.addCategory(TJIntent.JavaClass.CATEGORY_LAUNCHER);          Intent.setFlags(TJIntent.JavaClass.FLAG_ACTIVITY_NEW_TASK or TJIntent.JavaClass.FLAG_ACTIVITY_RESET_TASK_IF_NEEDED);          Intent.setComponent(NativeCompName);          SharedActivity.startActivity(Intent);        end;     end; end;
  5. Like
    zairkz отреагировална 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/
     
  6. 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
  7. Like
    zairkz получил реакцию от RapsodRF в С помощью каких компонентов проще всего реализовать онлайн чат?   
    Можно помучаться с 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
  8. Like
    zairkz отреагировална Brovin Yaroslav в Обновление форума   
    Так и сейчас работает. Нужно просто ссылку вставить на YouTube видео:
     
  9. Like
    zairkz отреагировална #WAMACO в Обновление форума   
    да, только просмотр не переходя на YouTube!
    вот это бы замечательно отличало данный форум от многих других!
  10. Like
    zairkz отреагировална #WAMACO в Обновление форума   
    Было бы очень хорошо вставлять видео, чтобы можно было размещать небольшие ролики, показывающие наглядно какие-то проблемы, их решения, небольшие мастер классы от профи!
  11. Like
    zairkz отреагировална #WAMACO в Обновление форума   
    и еще, если можно, чуть покомпактнее дизайн сделать, огромные отступы между строк, большие аватарки слева в сообщениях и информация по ним...  
    получается на экран 15-дюймого Apple Mac помещается 2,5 топика из одного приложения!
  12. Like
    zairkz отреагировална Brovin Yaroslav в Обновление форума   
    Лимит вообще убрал. Спасибо за информацию.
  13. Like
    zairkz отреагировална Brovin Yaroslav в [TAniIndicator] Почему у меня не виден TAniIndicator, помещенный в TListBox?   
    Добрый день,
    Чтобы его запустить, нужно установить свойство
    Enabled = True Это свойство его включает. На платформе Windows вы его не видите потому, что первая фаза анимированных кругов начинается с пустого кадра.
  14. Like
    zairkz отреагировална krapotkin в [TAniIndicator] Почему у меня не виден TAniIndicator, помещенный в TListBox?   
    а почему индикатор лежит в листбоксе? как он там покажется?
    может, он должен быть в listItem ?
  15. Like
    zairkz получил реакцию от Равиль Зарипов (ZuBy) в Обновление форума   
    Пожалуйста сделайте возможность нажимать нравиться больше чем 10 раз на день, уж очень мне многое нравиться, а лайкнуть не могу)), лимит 30 хотя бы.
  16. Like
    zairkz отреагировална krapotkin в Обновление форума   
    размазывания ответов не вижу. в основном, наводящие вопросы и предложения как попробовать и где посмотреть...
    думаю, разделение приведет только к полным непоняткам, где обсуждения, где ответы
    и так структуру сайта без поллитра сейчас не охватить.
    а так еще две непонятно чем разных сущности в одном интерфейсе...
  17. Like
    zairkz отреагировална Равиль Зарипов (ZuBy) в Обновление форума   
    Еще нужно сгруппировать "последние сообщения, а то одна тема везде

  18. Like
    zairkz отреагировална krapotkin в Обновление форума   
    блин, имхо, плохое умолчание ((
    и опять имхо же дизайн уж слишком раздольный получился 
    2-3 поста на FullHD - как-то жирно. даже в окне редактора высота строки 300% 
  19. Like
    zairkz отреагировална Andy в Обновление форума   
    Если есть возможность в мобильной версии форума "Последние темы" поднять в начало страницы. Думаю дл многих актуально... 
  20. Like
    zairkz отреагировална Равиль Зарипов (ZuBy) в Обновление форума   
    исправьте отображение Города под аватаркой.
    и не всегда темы становятся прочитанными... не удобно
    а уведомлением вообще классно стало жить!
  21. Like
    zairkz отреагировална #WAMACO в Обновление форума   
    Супер! Гораздо удобнее!
    А мобильное приложение планируется?
  22. Like
    zairkz отреагировална XXXXXX в Обновление форума   
    Отличные изменения. Ещё было бы неплохо увидеть закреплённую верхнюю панель при скролле вниз, ну или плавающую кнопку которая будет скролить вверх
  23. Like
    zairkz отреагировална 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
  24. Like
    zairkz получил реакцию от Rusland в Исключить устройства с Intel Atom как не поддерживаемые   
    А еще вроде как новые устройства на Intel Atom поддерживают эмуляцию, поэтому вам только старые устройства отключить на которых приложения вообще не запустятся. На эмуляторе Intela нормально все работает если правильно делать. А "работающие и пользующиеся популярностью приложения" наврятли оно таким станет, если у ~30% пользователей не будет возможность даже скачать (Допустим 30% скачало, из них 10% не запустилось). Кроме того все надеемся на новые версии студии в котором будет поддержка Intel
     
  25. Like
    zairkz отреагировална Brovin Yaroslav в [TMemo] [TEdit] Как использовать прозрачный фон для нативных контролов под iOS?   
    Добрый день,
    Для Windows нативные версии этих контролов не поддерживают прозрачность.
    Под Андроид нативных версий нету
    Для iOS платформы эти контролы позволяют указывать прозрачный фон. Для этого нужно принудительно прописать следующие значение стиля в StyleLookup:
    TEdit - transparentedit TMemo - transparentmemo При этом не смотря на то, что в дизайн тайме фон может остаться, в рантайме нативные контролы будут использовать прозрачный фон.
×
×
  • Создать...