-
Постов
190 -
Зарегистрирован
-
Посещение
-
Победитель дней
35
Активность репутации
-
sinuke получил реакцию от panmilkos в Возможно ли сделать такой интерфейс с ЛистВью?
Ну вот набросал примерчик. Он упрощенный, но смысл такой же примерно (код листвью со скриншота выше выложить не могу просто из-за того, что там идут зависимости от модели данных).
Лично я все рисую кодом - так полный контроль того, что выводится на экран. И собственно так можно выводить практически что угодно. И не нужны никакие монструозные ТМС компоненты
ListView_Schedule_Sample.zip
-
sinuke получил реакцию от FAN в Возможно ли сделать такой интерфейс с ЛистВью?
Ну вот набросал примерчик. Он упрощенный, но смысл такой же примерно (код листвью со скриншота выше выложить не могу просто из-за того, что там идут зависимости от модели данных).
Лично я все рисую кодом - так полный контроль того, что выводится на экран. И собственно так можно выводить практически что угодно. И не нужны никакие монструозные ТМС компоненты
ListView_Schedule_Sample.zip
-
sinuke получил реакцию от dervish00 в Возможно ли сделать такой интерфейс с ЛистВью?
Ну вот набросал примерчик. Он упрощенный, но смысл такой же примерно (код листвью со скриншота выше выложить не могу просто из-за того, что там идут зависимости от модели данных).
Лично я все рисую кодом - так полный контроль того, что выводится на экран. И собственно так можно выводить практически что угодно. И не нужны никакие монструозные ТМС компоненты
ListView_Schedule_Sample.zip
-
sinuke получил реакцию от Ingalime в Возможно ли сделать такой интерфейс с ЛистВью?
Ну вот набросал примерчик. Он упрощенный, но смысл такой же примерно (код листвью со скриншота выше выложить не могу просто из-за того, что там идут зависимости от модели данных).
Лично я все рисую кодом - так полный контроль того, что выводится на экран. И собственно так можно выводить практически что угодно. И не нужны никакие монструозные ТМС компоненты
ListView_Schedule_Sample.zip
-
sinuke получил реакцию от Равиль Зарипов (ZuBy) в Возможно ли сделать такой интерфейс с ЛистВью?
Ну вот набросал примерчик. Он упрощенный, но смысл такой же примерно (код листвью со скриншота выше выложить не могу просто из-за того, что там идут зависимости от модели данных).
Лично я все рисую кодом - так полный контроль того, что выводится на экран. И собственно так можно выводить практически что угодно. И не нужны никакие монструозные ТМС компоненты
ListView_Schedule_Sample.zip
-
sinuke получил реакцию от Alexander в Возможно ли сделать такой интерфейс с ЛистВью?
Ну вот набросал примерчик. Он упрощенный, но смысл такой же примерно (код листвью со скриншота выше выложить не могу просто из-за того, что там идут зависимости от модели данных).
Лично я все рисую кодом - так полный контроль того, что выводится на экран. И собственно так можно выводить практически что угодно. И не нужны никакие монструозные ТМС компоненты
ListView_Schedule_Sample.zip
-
sinuke получил реакцию от osvirt в Возможно ли сделать такой интерфейс с ЛистВью?
да, легко
вот мое расписание в листвью
-
sinuke получил реакцию от DMS в XSuperObject
не знаю как с null'ом, но вот MemberView - это массив (в квадратных же скобках). тут проще. что-то типа такого:
var MemView: ISuperArray; myJSON: ISuperObject; ... myJSON := SO('сюда загоняем json'); MemView := myJSON.A['MemberView']; if MemView.Length = 0 then {Пустой массив} П.С. глянул то, как можно проверить на null, вышло следующее (вроде работает):
var x: ISuperObject; begin x := SO('{"value":null}'); if x.Null['value'] = jNull then ShowMessage('null') else ShowMessage(x.I['value'].ToString) end;
-
sinuke получил реакцию от DMS в Возможно ли сделать такой интерфейс с ЛистВью?
да, легко
вот мое расписание в листвью
-
sinuke получил реакцию от Alex7wrt в Возможно ли сделать такой интерфейс с ЛистВью?
да, легко
вот мое расписание в листвью
-
sinuke получил реакцию от AngryOwl в Возможно ли сделать такой интерфейс с ЛистВью?
да, легко
вот мое расписание в листвью
-
sinuke получил реакцию от Sergiy_83 в Индекс выбранного элемента
А обработчик вешаете на ListBox или на итемы? Просто итемат листбокса можно задавать свои обработчики OnClick:
procedure TForm1.ListBoxItem1Click(Sender: TObject); begin ShowMessage((Sender as TListBoxItem).Index.ToString); end; А можно задать обработчик OnItemClick у самого листбокса, и индекс узнавать например так:
procedure TForm1.ListBox1ItemClick(const Sender: TCustomListBox; const Item: TListBoxItem); begin ShowMessage(Item.Index.ToString); end;
-
sinuke получил реакцию от FREEFAR в Обновление приложения
ну я бы сделал так:
поместил нужный файл в ресурсы (при этом в деплойменте галочку рядом с этим файлом убрал). при первом запуске проверял бы - если файл отсутсвует, то копируем из ресурсов в нужное место. а если файл уже присутствует, то ничего не делаем
-
sinuke получил реакцию от Ingalime в Обновление приложения
Ну можно примерно так (не делал проверку на исключения)
procedure TForm1.FormShow(Sender: TObject); var LRes: TResourceStream; LFileName: string; begin LFileName := TPath.Combine(TPath.GetDocumentsPath, '1.txt'); if not TFile.Exists(LFileName) then begin LRes := TResourceStream.Create(HInstance, 'SOMEFILE', RT_RCDATA); try LRes.SaveToFile(LFileName); finally FreeAndNil(LRes); ShowMessage('Файл скопирован из ресурсов'); end; end else ShowMessage('Файл уже существует'); end; 1.txt - имя вашего файла
TPath.GetDocumentsPath - возвращает путь как раз к папке \assets\internal
SOMEFILE - имя ресурса, который добавлен в проект. При этом после добавления файла в ресурсы обязательно нужно зайти в Deployment и убрать галочку с добавленного файла (при добавлении в ресурсы файл автоматически добавляется в деплоймент)
Вот тестовый проектик. Делал правда в Starter-версии, поэтому Android не доступен. Но принцип ничем не отличается
ResFile.zip
-
sinuke получил реакцию от S_007 в Обновление приложения
Ну можно примерно так (не делал проверку на исключения)
procedure TForm1.FormShow(Sender: TObject); var LRes: TResourceStream; LFileName: string; begin LFileName := TPath.Combine(TPath.GetDocumentsPath, '1.txt'); if not TFile.Exists(LFileName) then begin LRes := TResourceStream.Create(HInstance, 'SOMEFILE', RT_RCDATA); try LRes.SaveToFile(LFileName); finally FreeAndNil(LRes); ShowMessage('Файл скопирован из ресурсов'); end; end else ShowMessage('Файл уже существует'); end; 1.txt - имя вашего файла
TPath.GetDocumentsPath - возвращает путь как раз к папке \assets\internal
SOMEFILE - имя ресурса, который добавлен в проект. При этом после добавления файла в ресурсы обязательно нужно зайти в Deployment и убрать галочку с добавленного файла (при добавлении в ресурсы файл автоматически добавляется в деплоймент)
Вот тестовый проектик. Делал правда в Starter-версии, поэтому Android не доступен. Но принцип ничем не отличается
ResFile.zip
-
sinuke получил реакцию от S_007 в Обновление приложения
ну я бы сделал так:
поместил нужный файл в ресурсы (при этом в деплойменте галочку рядом с этим файлом убрал). при первом запуске проверял бы - если файл отсутсвует, то копируем из ресурсов в нужное место. а если файл уже присутствует, то ничего не делаем
-
sinuke получил реакцию от Равиль Зарипов (ZuBy) в Что невозможно сделать на Delphi для Android?
продублирую сюда свое "исследование"
-
sinuke получил реакцию от ENERGY в Что невозможно сделать на Delphi для Android?
продублирую сюда свое "исследование"
-
sinuke получил реакцию от ENERGY в Что невозможно сделать на Delphi для Android?
Про память возможно и не точно. Я в чатике проводил "исследование" месяца 1,5 назад...
-
sinuke получил реакцию от Равиль Зарипов (ZuBy) в Что невозможно сделать на Delphi для Android?
ну я ж не виноват, что ЛВ такой удачный и быстрый)) ну а по поводу АС... ну уже начал ковырять. посмотрим что из этого выйдет ))
-
sinuke получил реакцию от Равиль Зарипов (ZuBy) в Что невозможно сделать на Delphi для Android?
Про память возможно и не точно. Я в чатике проводил "исследование" месяца 1,5 назад...
-
sinuke получил реакцию от Rusland в Монетизация TBannerAd
считать можно. там вроде есть событие onClick - там и можно считать.
но за клик никаких баллов (пусть и внутри только приложения) начислять нельзя - это прямо противоречит правилам программы AdSense и AdMob. за это забанят пожизненно и никакая апелляция не поможет.
плюс могу забанить за недействительные клики, когда с одного устройства будет много кликов (накрутка). даже если это сделает ваш конкурент - вас могут забанить. забанить могут даже за частые показы на одном и том же устройстве. поэтому показ и клики нужно продумать - допустим не более 10 показов и не более 5 кликов за сеанс. Нужно себя обезопасить, чтобы потом можно было доказать Гуглу, что вы настроены на честный зароботок
п.с. в AdMob есть видеореклама с вознаграждением. вот за просмотр (!) этой рекламы можно будет начислять какие-то баллы. но TBannerAd ее не поддерживает (как и модуль, который тут есть для межстраничной рекламы)
-
sinuke получил реакцию от Ingalime в Как перемещать картинки на Андроиде?
В OnGesure обрабатывать начало жеста, его окончание и собственно сам жест (Pan).
Вот когда-то для себя делал демку
test_touchanim.zip
-
sinuke получил реакцию от DMS в Как перемещать картинки на Андроиде?
В OnGesure обрабатывать начало жеста, его окончание и собственно сам жест (Pan).
Вот когда-то для себя делал демку
test_touchanim.zip
-
sinuke получил реакцию от Anatoliy в Ошибки при переходе в Токио
Как я понимаю модуль FMX.FontGlyphs.Android.pas подключен из Берлинской версии студии. Вам нужен этот файлик для Токио. Как я понимаю, используете что-то типа FontAwesome. Например, на гитхабе Равиля этот файл есть версии и для Берлин и для Токио.