-
Постов
135 -
Зарегистрирован
-
Посещение
-
Победитель дней
12
Активность репутации
-
zairkz отреагировална Евгений Корепов в Сообщения чата в виде сообщений в iphone.
Симпатично, черт побери! ;-)
-
zairkz отреагировална Rusland в Сообщения чата в виде сообщений в iphone.
Подправил uChatBox.pas под себя, заменил TLabel на TText, теперь проблем с отрисовкой бордюра не наблюдаю. Добавил выделение заголовка и градиент в "облачка".
ChatBox.zip
-
zairkz отреагировална Kitty в Однократный push
Вот и склоняюсь к SQLite. Спасибо. Просто думала, что все уже давно наработано для однократных уведомлений - есть рекомендации и решения, и не надо ничего додумывать, оказываеться нет.
-
zairkz отреагировална Rusland в Однократный push
Полагаю, что на этом поприще на Firemonkey вы первая
Вообще тема Beacon очень интересная.
-
zairkz отреагировална Error в Теряется работоспособность программы скомпилированной в Berlin на Win Xp
Поддержка XP в Rad Studio давно прекращена, поэтому глюки под XP могут быть любые.
Скорее всего текстуры теряются по какой-то причине, попробуй использовать прорисовку с помощью GDI+, для этого надо в главном файле приложения снять флаг FMX.Types.GlobalUseDirect2D := False;
-
zairkz получил реакцию от Rusland в С помощью каких компонентов проще всего реализовать онлайн чат?
Извиняюсь что долго, перепроверьте процедуру, с размером облок вроде все нормально:
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; По поводу очистке
Опишите клас:
TOpenScrollBox = class(TPresentedScrollBox);
до TForm_Main = class(TForm)
...
и процедурка
procedure ClearChildren(AScrollBox: TPresentedScrollBox); begin Assert(AScrollBox <> nil); TOpenScrollBox(AScrollBox).Content.DeleteChildren; AScrollBox.Repaint; end;
-
zairkz получил реакцию от Rusland в Русский язык при загрузке фото
Лучше сделайте сразу правильно, все равно придете к этому, при загрузке фото на сервер переименовывайте файл, общепринятый вариант дать определенное стандартное имя, например наименование вашего проекта и время в формате unix, например:
Name+1424238237362, далее от имени сгенерировать MD5 хэш, и записать его в базу, после чего вернуть в ответ имя нового файла если нужен. Таким образом даже если будут одинаковые файлы имена не повторятся, а вот Random без проверки точно повторится, да и проверять надо постоянно базу шерстить.
-
zairkz получил реакцию от Равиль Зарипов (ZuBy) в Exception в System
Может элементарные вещи, но хочу уточнить пару моментов:
0. HTTPclient - это ведь INDY компонент, TidHTTP?
1. Запросы каждые 10 секунд, на время выполнения операции отключается ли таймер?
2. Отлавливаете ли exception в запросах HTTPClient?
3. Включен и работает ли TimeOut в запросе HTTPClient?
4. HTTPclient создается динамически для каждого запроса или статичный компонент?
5. Если сервер возвращает ошибку (правильную ошибку которую вы ожидаете) или же заканчивается TimeOut запроса какие действия? Таймер продолжает работать или остановка процесса?
6. При успешном выполнении операции вызывается Синхронизация или же визуальных действий не происходит?
-
zairkz получил реакцию от master webs в Русский язык при загрузке фото
Лучше сделайте сразу правильно, все равно придете к этому, при загрузке фото на сервер переименовывайте файл, общепринятый вариант дать определенное стандартное имя, например наименование вашего проекта и время в формате unix, например:
Name+1424238237362, далее от имени сгенерировать MD5 хэш, и записать его в базу, после чего вернуть в ответ имя нового файла если нужен. Таким образом даже если будут одинаковые файлы имена не повторятся, а вот Random без проверки точно повторится, да и проверять надо постоянно базу шерстить.
-
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
-
zairkz получил реакцию от Равиль Зарипов (ZuBy) в Русский язык при загрузке фото
Лучше сделайте сразу правильно, все равно придете к этому, при загрузке фото на сервер переименовывайте файл, общепринятый вариант дать определенное стандартное имя, например наименование вашего проекта и время в формате unix, например:
Name+1424238237362, далее от имени сгенерировать MD5 хэш, и записать его в базу, после чего вернуть в ответ имя нового файла если нужен. Таким образом даже если будут одинаковые файлы имена не повторятся, а вот Random без проверки точно повторится, да и проверять надо постоянно базу шерстить.
-
-
zairkz отреагировална krapotkin в Exception в System
да
только с меня второй день требуют чтобы я их извел под корень((
обещают всякие нехорошие вещи )
я бы всю программу в try - except завернул ))
пробовал fgxApplication.OnException
туда не приходит (((
-
zairkz отреагировална lev.vorobyov в XE8 anroid built release
Буквы в название большие написал) FDConnection1.Params.Values['DataBase'] :=GetHomePath+PathDelim+'Sales.Db3' было 'SALES.Db3'
-
zairkz отреагировална Andrey Efimov в Мини чат на ListView
У нас, есть такие темы:
Чат - элементы форм
Сообщения чата в виде сообщений в iphone
Чат со смайлами
-
zairkz отреагировална Кривяков Виталий в Exception в System
Добрый день!
Похожая ситуация была, когда я не уследил за обращениями из не основного потока к экранным компонентам - работает, работает, а потом бац и "Все, они пропали" (с) South park.
-
zairkz отреагировална Евгений Корепов в Сообщения чата в виде сообщений в iphone.
procedure TForm1.FormCreate(Sender: TObject); begin chat:=TChatBox.Create(Layout1); Chat.Align:=TAlignLayout.Client; Chat.MsgWidthPercentage:=66; Chat.CalloutLength:=10; Chat.CalloutXRadius:=5; Chat.CalloutYRadius:=5; Chat.MessageFontSize:=14; Layout1.AddObject(Chat); end; Как то так...
-
zairkz отреагировална krapotkin в google клавиатура
У edit есть свойство ReturnKeyType
нужно установить его в Next
но некоторые клавиатуры косячат и могут игнорить эту установку
гугл вроде норм. работает
-
zairkz получил реакцию от Ra72 в Срабатывает OnClick на ListBox при скроллинге
Используйте свойство OnTap
Для удобства разработки можно повторить команды OnTap в OnClick в директивах:
Procedure ListBoxOnClicl;;;
begin
{$IFDEF MSWINDOWS}
BlaBla
{$ENDIF}
end;
-
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
-
-
-
zairkz получил реакцию от Rusland в Плавность прокрутки
Ну во первых у вас не прогрузились стили, попробуйте использовать процедуру по предварительной прогрузке стилей в теме ниже,
Во вторых можно попробовать DisableDisapear, с небольшим количеством компонентов вполне нормальное решение, тоже в теме ниже:
В третьих например можно разместить скрытый TImage на вкладке TabItema, при этом разместить контролы в Лайауте и при анимации снять скриншот Лайаута, затем скрыть Лайаут и показать Timage. С TabControl я не пробовал, но с MultiView (Push - выталкивание меню в iOS) вполне пригодна
-
zairkz получил реакцию от Rusland в Срабатывает OnClick на ListBox при скроллинге
Используйте свойство OnTap
Для удобства разработки можно повторить команды OnTap в OnClick в директивах:
Procedure ListBoxOnClicl;;;
begin
{$IFDEF MSWINDOWS}
BlaBla
{$ENDIF}
end;
-