Перейти к содержанию
  • Регистрация

Лидеры


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

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

  1. 4 балла
    Все невизуальные компоненты, которые не используют код FMX прекрасно работают.
  2. 3 балла
    krapotkin

    Разбор JSON с мультизапросом

    вы просто без разделителей склеиваете три разных JSON-массива вам бы каждый из них описать отдельно. да и вообще принято логически законченные участки кода выделять в отдельные функции function GetValuesAsJson($query) { ..... } тогда будет например '{"Arr1":'. GetValuesAsJson($query1). ', "Arr2":'.GetValuesAsJson($query2).', "Arr3":'.GetValuesAsJson($query3).'}' ну и разбор полученного объекта например с помощью XSuperObject. Примеры есть на офсайте https://github.com/onryldz/x-superobject
  3. 1 балл
    slav_z

    Проверить существование TJSONObject

    Да нормально работает на XE8 и 10.3 procedure TForm6.Button1Click(Sender: TObject); var A: TJSONObject; begin A := TJSONObject(TJSONObject.ParseJSONValue('здесь неправильный json')); if Assigned(A) then A.ToString; end;
  4. 1 балл
    Ra72

    Мобильная разработка на Delphi 10.3 (Professional)

    Да, ответили следующее: Сделать Update лицензии, если "...with Mobile" не появилось, тогда удалить лицензию и повторно зарегистрировать. Update мне не помог, а вот удаление лицензии в License Manager-е и регистрация заново - помогло.
  5. 1 балл
    Евгений Корепов

    Разбор JSON с мультизапросом

    Мимо проходил. Вот вам код на php (собираем все данные в один массив и энкодим в json) $QueryArray = array( "SELECT ... FROM `...`;", "SELECT ... FROM `...`;", "SELECT ... FROM `...`;", "SELECT ... FROM `...`;", ); $Index = 0; $ResultArray = array(); foreach ($QueryArray as $query) { if ($mysqli_result = mysqli_query($DBLink, $query)) while ($row = mysqli_fetch_array($mysqli_result, MYSQLI_ASSOC)) $ResultArray[$Index][] = $row; $Index++; } $ResultJSON = json_encode($ResultArray, JSON_PRETTY_PRINT | JSON_UNESCAPED_UNICODE); echo $ResultJSON;
  6. 1 балл
    MrDevillio

    TNetHTTPRequest как отправить в body русский текст?

    Спасибо вам большое. И правда, перемудрил, вот так работает:
  7. 1 балл
    Ну так примерно var Fulltext: string; WS: NomenPortType; Begin WS := GetNomenPortType (False, '', nil, Domen); Fulltext := WS.InfoNom(KodVxod); // В переменную Fulltext присваивается ответ от сервера 1С. InfoNom - функция в 1С. End;
  8. 1 балл
    Dmitry Stolyarov

    Разбор JSON с мультизапросом

    krapotkin, спасибо! Публикую, может кому-то пригодится.. на стороне PHP: $query1 = "SELECT ... FROM `...`;"; $query2 = "SELECT ... FROM `...`;"; $query3 = "SELECT ... FROM `...`;"; $query4 = "SELECT ... FROM `...`;"; function GetValuesAsJson($query, $Link) { if ($DBResult = mysqli_query($Link, $query)) { $ResultArray = array(); $Index = 0; while ($row = mysqli_fetch_array($DBResult, MYSQLI_ASSOC)) { $ResultArray[$Index] = $row; $Index++; } $ResultJSON = json_encode($ResultArray, JSON_PRETTY_PRINT | JSON_UNESCAPED_UNICODE); return $ResultJSON; mysqli_free_result($DBResult); } }; echo '{"Arr1":'. GetValuesAsJson($query1, $DBLink).', "Arr2":'.GetValuesAsJson($query2, $DBLink).', "Arr3":'.GetValuesAsJson($query3, $DBLink).', "Arr4":'.GetValuesAsJson($query4, $DBLink).'}'; mysqli_close($DBLink); на стороне delphi: xJS := SO(aJSON); with xJS.A['Arr1'] do // имя массива begin for j := 0 to length - 1 do begin xObj := O[j]; Memo1.Lines.Add(xObj.S['cities_name']); // собираем нужные данные ... end;
  9. 1 балл
    Slym, спасибо за ответ! Я, после написнаия своего вопроса, еще немного помыслил и в итоге: if ((ssCtrl in Shift)and (Key = vkRight)) then PerspEffect1.TopRight := TPointF.Create(PerspEffect1.TopRight.X + 5, PerspEffect1.TopRight.Y); По горячим клавишам можно растягивать TImage, как нужно.
  10. 1 балл
    PerspEffect1.TopLeft := PerspEffect1.TopLeft+ TPointF.Create(5,0);
  11. 1 балл
    Демо проект с быстрым списком (его подготовил Андрей Зубов) FastSimpleList.apk
  12. 1 балл
    вот так NotificationCenter1.ApplicationIconBadgeNumber := 0;
  13. 1 балл
    Введение Появление экранов повышенной плотность физических точек, привело с одной стороны к проблеме адаптации графического интерфейса под разные разрешения экранов при их одинаковых физических размерах, с другой к увеличению четкости и качества картинки. Например, если раньше на iPhone 3 при размере экрана 3,5 дюйма позволял отобразить 320х480 точек, то на устройстве iPhone 4 при таком же физическом размере экрана, экран мог уже отображать 640х960 точек. Это хорошо видно на увеличенном изображении обычного экрана и ретина экрана на рисунке ниже (слева - не ретина, справа - ретина (2х)). Справа количество физических точек ровно в четыре раза больше, чем слева: Для разработчика это могло означать, что интерфейс привязанный к разрешению 320х480 на Retina экране будет занимать только четверть экрана. Естественно, что использование разрешения экрана в физических координатах не удобно с этой точки зрения. Именно по этому появились логические координаты, которые гарантируют, что тот же пользовательский интерфейс для iPhone 3, будет иметь такие же размеры (физические) и на экране с ретиной. FireMonkey работает в логических координатах. Это означает, что на iPhone 3 - 4 мы работаем с логическим разрешением 320x480 точек. Однако, при отображении интерфейса на iPhone 4 c (с двойной плотностью пикселей по сравнению с iPhone 3), интерфейс автоматически масштабируется на физическое разрешение 640х960 с коэффициентом масштабирования равным 2. Практика Теперь посмотрим, как получить всю эту информацию. Вся информация об экране (логический размер и коэффициент масштабирования) находится в сервисе IFMXScreenService. Чтобы получить физическое разрешение экрана, нужно логический размер умножить на коэффициент масштабирования. Код ниже показывает, как получить доступ к этому сервису и извлечь требуемые параметры: var ScreenService: IFMXScreenService; LogicScreenSize: TPoint; ScreenScale: Single; begin // Запрашиваем сервис экрана, для получения информации о размере и текущем коэффициенте масштабирования if TPlatformServices.Current.SupportsPlatformService(IFMXScreenService, IInterface(ScreenService)) then begin LogicScreenSize := ScreenService.GetScreenSize.Round; ScreenScale := ScreenService.GetScreenScale; LabelLogicScreenSize.Text := Format('Логический размер: %d, %d', [LogicScreenSize.X, LogicScreenSize.Y]); LabelPhysicScreenSize.Text := Format('Физический размер: %f, %f', [LogicScreenSize.X * ScreenScale, LogicScreenSize.Y * ScreenScale]); LabelScreenScale.Text := Format('Коэффициент масштабирования: %f',[ScreenService.GetScreenScale]); end; end; Результат кода приведен на снимке экранов ниже для iPad устройств с ретиной экраном и без:
Эта таблица лидеров рассчитана в Москва/GMT+03:00
×
×
  • Создать...