Перейти к содержанию
Fire Monkey от А до Я

Равиль Зарипов (ZuBy)

Модераторы
  • Постов

    2 517
  • Зарегистрирован

  • Посещение

  • Победитель дней

    264

Сообщения, опубликованные Равиль Зарипов (ZuBy)

  1. чтобы получить статус GPS (для Android) включен или нет, нужно использовать следующий код

    function CheckGPSActive: boolean;
    // uses
    // Androidapi.JNIBridge, Androidapi.JNI.Location,  Androidapi.JNI.JavaTypes,
    // Androidapi.JNI.GraphicsContentViewText, Androidapi.Helpers
    {$IFDEF ANDROID}
    var
      LocManagerObj: JObject;
      LocationManager: JLocationManager;
      allProviders: JList;
      I: Integer;
    begin
      Result := false;
      // запрашиваем сервис Location
      LocManagerObj := SharedActivityContext.getSystemService(TJContext.JavaClass.LOCATION_SERVICE);
      if Assigned(LocManagerObj) then
      begin
        // получаем LocationManager
        LocationManager := TJLocationManager.Wrap((LocManagerObj as ILocalObject).GetObjectID);
        if Assigned(LocationManager) then
        begin
          // запрашиваем список всех провайдеров
          allProviders := LocationManager.getProviders(true);
          // выводим список
          if Assigned(allProviders) then
          begin
            with TStringList.Create do
            begin
              for I := 0 to allProviders.size - 1 do
                Add(JStringToString(allProviders.get(I).toString));
              if ((IndexOf('gps') >= 0) or (IndexOf('network') >= 0)) then
                Result := true;
              Free;
            end;
          end;
        end;
      end;
    {$ELSE}
    
    begin
      Result := false;
    {$ENDIF}
    end;
  2. Сейчас сделал поиск по файлам "*.bak", и единственное что изменил Update1 для Андроид, это System.RegularExpressionsAPI в "Embarcadero\Studio\16.0\lib\android" и "Embarcadero\Studio\16.0\source\rtl\common". Все, остальной список изменений остался виртуальным.

    Я что то делаю не так? 

    что то я суть потерял, какой поиск? ты о чем?

  3. во первых колонки есть! смотреть внимаельно в опциях TListBox

    Columns = 1, поменяй на 2

     

    для Add есть еще один способ, просто указать парент

      LItem:=TListBoxItem.Create(nil);
      LItem.Parent := ListBox1;
      ...

    для Delete

    if Assigned(ListBox1.Selected) then
      ListBox1.Items.Delete(listbox1.Selected.index);

    зачем нужно делать переименование??

     

    а перемещение где-то было в стандартных демо если не ошибаюсь

  4. я так понимаю это будет встроенно в настольную версию клиента для форума, т.к. бесплатных аналогов нет.

    плюс расширение библиотеки FGX, отлично просто.

    ждём, надеюсь андроид не обидете?

  5. ну логические операции для пользователя, например заказ товара на TTabControl

    1. Товар -> 2. Детали -> 3. Оплата -> 4. Подтверждение

    это все через SetActiveTabWithTransition(Таб, TTabTransition.Slide, TTabTransitionDirection.Normal);

     

    остальные опции, типа регистрации можно сделать на отдельной форме

  6. Вы используете индейцев. Из коробки не работает. Для SSL нужно прописывать uses "IdSSLOpenSSLHeaders_Static". В корне папки с проектом должны лежать статические библиотеки: libcrypto.a и libssl.a. Деплоить их ненадо, просто должны лежать в корне проекта.

    это  для iOS только получается?

  7. SMTP.Host:= 'smtp.yandex.ru' ; // хост
    SMTP.Port:= 465 ; // порт
    Smtp.Username:='TestUser'; 
    Smtp.Password:='pass123';


    SMTP.UseTLS :=utUseImplicitTLS ;

    IdSSLIOHandlerSocketOpenSSL1 := TIdSSLIOHandlerSocketOpenSSL.Create(nil);
    IdSSLIOHandlerSocketOpenSSL1.Destination := SMTP.Host+':'+IntToStr(SMTP.Port);
    IdSSLIOHandlerSocketOpenSSL1.Host := SMTP.Host;
    IdSSLIOHandlerSocketOpenSSL1.Port := SMTP.Port;
    IdSSLIOHandlerSocketOpenSSL1.DefaultPort := 0;

    IdSSLIOHandlerSocketOpenSSL1.SSLOptions.Method := sslvTLSv1; // Уверен что именно этот метод используется??
    IdSSLIOHandlerSocketOpenSSL1.SSLOptions.Mode := sslmUnassigned;

     

    SMTP.IOHandler := IdSSLIOHandlerSocketOpenSSL1;

    MailMessage.Body.Clear;

    MailMessage.Body.Add('Первая строка');
    MailMessage.Body.Add('Вторая строка');

    SMTP.Connect;
    mailMessage.CharSet := 'UTF-8';
    mailMessage.CharSet:='UTF-8';


    MailMessage.ContentType:='multipart/mixed; charset=UTF-8';
    MailMessage.ContentType:='text/plain; charset=KOI8-R';


    MailMessage.Subject:=UTF8Encode('Reserve') ; // тема
    MailMessage.From.Address:='testadres@yandex.ru' ;
    MailMessage.From.Domain:= 'yandex.ru'; // домен
    MailMessage.From.User:= 'TestUser';
    MailMessage.From.Name:=UTF8Encode('TestUserName');

    MailMessage.Recipients.EMailAddresses:='TestUser0@list.ru'; // получатель и копия
    //2192100@list.ru

    MailMessage.IsEncoded:=true;

    SMTP.Send(MailMessage);
    SMTP.Disconnect;

     

     

    ==================================

    А теперь еще раз на код посмотри и сделай все правильно

×
×
  • Создать...