Jump to content
View in the app

A better way to browse. Learn more.

FGX Native

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Featured Replies

Очень ждем хоть в каком нибудь варианте, пока вынуждены пользоваться всякими сторонними компонентами что не позволяет воспользоваться вашими наработками

Определенно, крайне важная фича. Хотелось бы ее попробовать в проектах как можно быстрее.

В 18.01.2020 в 08:40, gats сказал:

надеюсь, скоро появится эта функция

Ярослав вроде говорил, что в ближайшем обновлении.

В 20.01.2020 в 06:00, Yaroslav Brovin сказал:

План на ближайшие релизы такой:

  1. Расширение функционала карт: полигоны и полилинии
  2. Пуш уведомления.
  3. Сканер бар кодов.

А что не так с Пушами?

  • 4 weeks later...

Ну, что могу сказать, получилось.

Библиотека Ярослава к этому готова

Если это необходимо, постараюсь сегодня выложить пример.

2 часа назад, Stas сказал:

Ну, что могу сказать, получилось.

Библиотека Ярослава к этому готова

Если это необходимо, постараюсь сегодня выложить пример.

Было бы очень здорово ознакомиться с примером! Респект!

2 часа назад, Cinemaizer сказал:

Было бы очень здорово ознакомиться с примером! Респект!

Пытаюсь привести в божеский вид

Штрих-код киевской примы без фильтра я уже получил, осталось добиться нормальной остановки камеры

Падаем-с.

З.ы используется Google vision api

Уважаемые друзья, прежде всего хочу попросить у вас прощения, что не успел привести это в божеский вид, потому даю только наметки.

Возможно у кого-то возникнут более разумные идеи , чтобы это работало как следует.

Итак начинаем 

Прежде всего нам понадобится 

1) Кнопка для начала сканирования

2)Мемо для отображения результатов

3) TfgVideoControl для показа действий с камерой.

4) Два маленьких литра коньяка

Мы создаем имплементацию интерфейса 

type
TDetector_Processor = class(TfgAndroidListener<TfgAndroidControl>,JDetector_Processor)
public
    procedure receiveDetections(const AArg0: TJDetector_Detections);
    procedure release;
  end;


procedure TDetector_Processor.receiveDetections(
  const AArg0: TJDetector_Detections);
var J:TJSparseArray;
    B:TJBarcode;
    D:TDetector_Processor;
begin
 J:=AArg0.getDetectedItems;
 if (J.size<>0)  then
 begin
  D:=Self;
  B:=TJBarcode.Wrap(J.valueAt(0));
  TThread.Synchronize(nil,procedure
  begin
   FormMain.fgMemo1.Lines.Text:=JStringToString(B.displayValue);

 end);


 end;

end;

procedure TDetector_Processor.release;
begin
 ;
end;

Собственно говоря, он отвечает за распознавание штрих-кода.

Далее при создании формы, нам необходимо создать этот объект

 

processor:=TDetector_Processor.Create(TfgAndroidControl(TfgAndroidControlHandle(fgMemo1.Handle).NativeControl)); //Я не знаю, почему я так сделал

На кнопку мы вешаем следующий код

//Мы просим разрешения сканировать, и при получении оного пытаемся это делать.

TfgPermissionService.RequestPermissionsAsync(['android.permission.CAMERA', 'android.permission.WRITE_EXTERNAL_STORAGE'],
    procedure(const APermissionInfo: TArray<TfgPermissionInfo>) begin
      case APermissionInfo[0].CheckResult of
        TPermissionCheckResult.Granted:
         begin
          DoScan;
         end

        else
          TfgToast.Show('Camera permission is not granted. Cannot scan barcode.', TfgToastDuration.Long);
      end;
    end);

Теперь собственно, сама процедура


procedure TFormMain.doScan;
begin
 detector:=TJBarcodeDetector_Builder.Create(TfgAndroidHelper.Context).setBarcodeFormats(TJBarcode.ALL_FORMATS).build();
 detector.setProcessor(processor);
 cameraSource:=TJCameraSource_Builder.Create(TfgAndroidHelper.Context,detector).
 setRequestedPreviewSize(1920, 1080).setAutoFocusEnabled(true).build();
  cameraSource.start(
       TfgAndroidVideoControl(TfgAndroidControlHandle(fgVideoControl1.Handle).NativeControl).VideoView.getHolder());

end;

Конечно про используемые модули.

uses ...,Java.Bridge,FGX.Animation, FGX.Dialogs, FGX.Log,FGX.Helpers.Android,FGX.Image.Android,FGX.VideoControl.Android,Android.Api.ActivityAndView,FGX.Permissions,FGX.Toasts,

И в interface 

Android.Api.PlayServices.Vision

Благодарю за внимание, и прошу прощения, что так сумбурно.

Спасибо большое, но может просто приложить архив, в котором все будет в виде файлов проекта? Что то в таком виде не получается ничего (

Edited by Cinemaizer

Сделал очень ректально.

Но уже работает и не падает (я надеюсь)

Хотел бы комментарии Ярослава. (Касательно таймеров)

Спасибо

 

BarcodeDetector.rar

Edited by Stas

Респект! Пример рабочий! Сканер работает быстро. Очень даже. Причем равно как с qr-кодами, так и с ean-13. 

  • 3 weeks later...
11 часов назад, Yaroslav Brovin сказал:

Новый компонент распознавания баркодов добавлен в 1.1.2.0

По крайне мере, я старался.

Create an account or sign in to comment

Recently Browsing 0

  • No registered users viewing this page.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.