-
Постов
135 -
Зарегистрирован
-
Посещение
-
Победитель дней
12
Активность репутации
-
zairkz отреагировална kami в vkbdhelper - поднятие компонентов над клавиатурой
Вам нужны координаты клавиатуры (пересчитанные из Screen в Client) и AbsoluteRect поля ввода.
if vkbdRect.IntersectsWith(EditAbsoluteRect) then // пересекаются. Однако, следует обратить внимание на оба issue в комментариях - сообщенный приложению размер клавиатуры не всегда соответствует действительности.
-
zairkz отреагировална kami в vkbdhelper - поднятие компонентов над клавиатурой
Коллеги, прошу при возможности протестировать очередную модификацию модуля.
К сожалению, Santya видимо покинул форум надолго, так что отработать решение проблемы и возможные недостатки на "первом подопытном" не удалось.
Основные изменения: очень многое переписал. По большому счету от исходного модуля осталась идея и два фундаментальных момента.
Как обычно, спасибо Rusland за тестирование. Осталось проверить, как ведет себя модуль с ScrollBox-ами, которые не растянуты на всю форму.
vkbdhelper.zip
-
zairkz отреагировална master webs в RAD 11 на подходе?
в теме начали сравнивать Visual Studio, Lazarus
месяц назад купил prof версию и не желею есть подписка на год , если человек занимается разработками отбить затраты не сотавит труда хотите бесплатно качайте Android Studio и x-code
-
zairkz отреагировална krapotkin в Перестает работать выделение ListView
наконец все отвыкнут хранить данные на экране ))
если нужно что-то сохранять, используйте переменные и структуры данных
по ним восстанавливайте состояние формы
-
zairkz отреагировална master webs в Перестает работать выделение ListView
кстати у меня приложение на фреймах главная форма всегда пустая и фреймы подгружаю динамически нет никаких проблем и загрузка приложения намного быстрее
-
zairkz отреагировална Rusland в GPS
Попробовал сравнивать последнюю координату и 10ую. При стоянке выдает скорость от 0.2 до 0.7км/ч, ну хоть как-то можно использовать для определения топтания на месте.
function TAndroidServiceDM.GetSpeed(Lat,Lon: double; Dat:integer; LC: TList<TCoords>):double; var Speed: double; SecBetween: integer; DstBetween: real; begin Speed:=-1; if LC.Count>=10 then begin SecBetween:=Dat-LC[9].Dat; DstBetween:=GetDistance(Lat,Lon,LC[9].Lat,LC[9].Lon); if (SecBetween<>0) then Speed:=3.6*DstBetween/SecBetween; end; Result:=Speed; end; Проверил в движении, скорость получается с запазданием и долго показывает скорость когда объект уже остановился, что собственно логично, но по крайней мере скорость почти идентична той что выдает программа Статус GPS.
-
zairkz отреагировална Rusland в GPS
Написал функцию которая считает среднюю скорость по трем последним координатам... так скорость скачает от 0 до 120км/ч.
Координаты выбрасываются непредсказуемо в любое время, чем меньше время между координатами, тем больше v = s / t (разброс дистанции 10-25метров). И это при том что объект стоит на месте.
Допустим между двумя координатами прошла 1 секунда, а расстояние 20м. Значит скорость v=20м/сек=72км/ч
Ну и как на это можно ориентироваться?
-
zairkz отреагировална Rusland в Получение GPS координат из сервиса
PS. Первое решение оказалось рабочим... не знаю почему у меня вчера отказывалось нормально работать Пользуйтесь.
PPS. Надеюсь Embarcadero исправит этот баг в следующей версии и не придется делать столько телодвижений )
Странно что после закрытия программы сервис перестает слать координаты - значок GPS пропадает. Хотя в Настройки->Приложения->Работающие я вижу как процесс перезапускается.
-
zairkz отреагировална Rusland в GPS
Собственно то что написал и есть пример. Но собственно нужно еще протестировать как будет работать при движении (я пока тестил когда объект неподвижен).
GetDistance я брал вроде у ZuBy:
function TFormMain.GetDistance(const aStart, aEnd: TMapCoordinate): Double; const // определение расстояния между двумя точками Radius = 6372795; // примерный радиус земли PiDiv180=Pi/180; var CosLatStart, SinLatStart, CosLatEnd, SinLatEnd, Delta, CosDelta, SinDelta, X, Y: Double; begin try CosLatStart := Cos(aStart.Latitude * PiDiv180); CosLatEnd := Cos(aEnd.Latitude * PiDiv180); SinLatStart := Sin(aStart.Latitude * PiDiv180); SinLatEnd := Sin(aEnd.Latitude * PiDiv180); Delta := (aEnd.Longitude * PiDiv180) - (aStart.Longitude * PiDiv180); CosDelta := Cos(Delta); SinDelta := Sin(Delta); Y := Sqrt(((CosLatEnd*SinDelta)*(CosLatEnd*SinDelta))+ ((CosLatStart*SinLatEnd-SinLatStart*CosLatEnd*CosDelta) *(CosLatStart*SinLatEnd-SinLatStart*CosLatEnd*CosDelta))); X := SinLatStart * SinLatEnd + CosLatStart * CosLatEnd * CosDelta; Result := Round(ArcTan2(Y, X) * Radius); except Result := -1; end; end;
Alexander, Решение рабочее.
-
zairkz отреагировална Равиль Зарипов (ZuBy) в Custom Font
Шаблон проекта с кастомным шрифтом FontAwesome
Намного удобней и менее затратно использовать Шрифт с Иконками, чем заботиться о качестве картинок, скейлах, их хранении и загрузке
Поэтому давно перешел на шрифты, пару скриншотов (без использования картинок)
Seattle CustomFont.7z
Berlin CustomFont(Berlin).zip
WINDOWS/MACOS - установить шрифт в систему
IOS - в деплой добавить шрифт и с помощью IOS9Fix прописать в .plist следующее:
ANDROID - в деплой добавить шрифт (Remote Path -> assets\internal) и подключить к проекту измененные файлы FMX.FontGlyphs.Android.pas, FMX.FontGlyphs.pas
-
zairkz отреагировална Равиль Зарипов (ZuBy) в StatusBar Color
Шаблон для проектов с покраской статус бара для мобильных платформ
UPDATE: StatusBarColor.7z
UPDATE2: StatusBarColor_update.zip
-
zairkz отреагировална ivadimos в StatusBar Color
ой красавчик, как раз вчера загонялся с этим.
Спасибо, попробую)
-
zairkz отреагировална Alex Bozhko в RAD 11 на подходе?
На моей памяти впервые была скидка живыми деньгами. Я о последней акции - минус 30% для индивидуальных разработчиков. Скажу так, народ реально заинтересовался. Надеюсь это был пробный шар, и подобные акции будут и дальше.
-
zairkz отреагировална Равиль Зарипов (ZuBy) в Вопрос по компонентам
возможно так и есть, но я никогда ими не пользовался и не собираюсь, там есть какой-то тупой компонент с процентами. бред полный...
у меня это все в хелпере для TPResentedScrollBox, удобно да и под контролем
-
zairkz отреагировална krapotkin в Вопрос по компонентам
upd. не. вру.
из-за необходимости выравнивать разномерные компоненты там запутанный многопроходный процесс.
происходит медленнее
ручные расчеты рулят
-
zairkz отреагировална Равиль Зарипов (ZuBy) в Вопрос по компонентам
Вот так делал для себя
PresentedButtonsRecalPosition.7z
-
zairkz отреагировална Brovin Yaroslav в Ошибка "Bitmap size too big"
Нет. Это значит, что не нужно загружать 4 Мб фотографию в TImage с целью отобразить ее в итоге в размере 400х200. Нет, просто присваивайте в Bitmap TBtmapSurface. Bitmap.Assign(BitmapSurface) Методы по загрузки из файлов и потоков есть. Смотрите TBitmapCodecManager -
zairkz отреагировална Brovin Yaroslav в Хакнули регистрацию?
Скорее всего это все вручную делают. Единственное средство - это Модерация первого сообщения. Чтобы первый пост всегда модерировался. Если все ок, то тогда с пользователя снимается премодерация. Посмотрим за ситуацией недельку и примем решение.
Мы уже включали ее, когда год назад было активное наползновение спамеров.
-
zairkz отреагировална Равиль Зарипов (ZuBy) в Вызвать настройки GPS в Android
интентом вызывается, вот так
procedure TForm4.GPSSettings; {$IFDEF ANDROID} var Intent: JIntent; {$ENDIF} begin {$IFDEF ANDROID} Intent := TJIntent.Create; Intent := TJIntent.JavaClass.init(TJSettings.JavaClass.ACTION_LOCATION_SOURCE_SETTINGS); TAndroidHelper.Activity.startActivity(Intent); {$ENDIF} end;
-
zairkz отреагировална mrseagull в RAD 11 на подходе?
Microsoft сильный игрок, Visual Studio тоже не в почете свое время была. Из-за размаха своего Microsoft может делать свои продукты бесплатными, с одной стороны и уходя в минус с этим продуктов (в смысле денег), а с другой стороны захватить рынок. ИМХО конечно, но мне кажется для IDERA будет хорошим шагом сделать часть минимальную бесплатную для разработок, иначе Microsoft опять обыграем этот продукт. ИМХО.
-
zairkz отреагировална Равиль Зарипов (ZuBy) в RAD 11 на подходе?
Остаетесь надеяться что IDERA не подведет и в течении года хотя бы могли компилировать "Hello World". Может Делфи оживит эту платформу, главное действовать быстро, пока ниша пуста
-
zairkz отреагировална RoschinSpb в Добавить слой сразу ко многим изображениям
Спасибо за добрые слова, редко когда их можно услышать
Если хотите что-нибудь новенького, то сформулируйте это для начала хотя бы на родном языке так, чтобы окружающие могли понять. После этого записываем предложение на языке Шекспира и Welcome to https://quality.embarcadero.com
В данном случае это не отписка, а вполне реальное объяснение корпоративных правил. Для выполнения любых работ нужно формальное обоснование и одобрение насяльника. Пожелание, или отчет об ошибке от пользователя это довольно веская причина для того, чтобы работы были запланированы.
-
zairkz получил реакцию от Kitty в OnButtonClick vs OnItemClick
procedure TForm1.ListView1ItemClickEx(const Sender: TObject; ItemIndex: integer; const [Ref] LocalClickPos: TPointF; const ItemObject: TListItemDrawable);
begin
if ItemObject is TListItemTextButton then
begin
//Bla Bla Bla вообщем сюда перенесите OnButtonClick .
end;
//Next Bla Bla Bla
end;
-
zairkz получил реакцию от Равиль Зарипов (ZuBy) в OnButtonClick vs OnItemClick
procedure TForm1.ListView1ItemClickEx(const Sender: TObject; ItemIndex: integer; const [Ref] LocalClickPos: TPointF; const ItemObject: TListItemDrawable);
begin
if ItemObject is TListItemTextButton then
begin
//Bla Bla Bla вообщем сюда перенесите OnButtonClick .
end;
//Next Bla Bla Bla
end;
-
zairkz получил реакцию от Равиль Зарипов (ZuBy) в Android Qml
WTF? Можно поподробнее?) но кажется вы форумом ошиблись