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

Andy

Пользователи
  • Постов

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

  • Посещение

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

    1

Сообщения, опубликованные Andy

  1. 2 минуты назад, krapotkin сказал:

    конечно, любые public оно будет тянуть

    просто вот у меня как-то нечасто объекты без вложенных внутри списков/массивов

    а с этим уже не все так просто

    Я передавал "родными" компонентами и вложенные массивы, и массивы классов - проблем не встретил

     

  2. 27 минут назад, krapotkin сказал:

    у родной нет таких клевых штук как alias('');

    Да, согласен. Но если автор хочет "родными", то выглядит это так:

    type
      TTelegaUser = Class
      private
        FID: Integer;
        FFirst_Name: String;
        FLast_Name: String;
        FUsername: String;
      published
        property ID: Integer read FID write FID;
        property First_Name: String read FFirst_Name write FFirst_Name;
        property Last_Name: String read FLast_Name write FLast_Name;
        property Username: String read FUsername write FUsername;
      End;
    
    .....
    
    
    procedure TForm1.Button1Click(Sender: TObject);
    var
      TelegaUser: TTelegaUser;
    begin
      TelegaUser := TJson.JsonToObject<TTelegaUser>(MEMO1.Lines.Text);
    end;
        
    ........    

    В memo1 лежит ваш JSON

    {"id":122041176,"first_name":"Delphi in TelegAPI","username":"test_delphi_api_bot"}

    Важно чтобы у класса Свойства назывались точно так-же как в JSON.

  3.  

    Вот так

    uses Winapi.ShellAPI, Winapi.Windows;
     
    procedure TForm1.Button1Click(Sender: TObject);
    var
      FullProgPath: String;
    begin
      FullProgPath:='C:\Temp\1.exe'; // полный путь к exe
      ShellExecute(0, PChar('open'), PChar(FullProgPath), PChar(''), PChar(ExtractFilePath(FullProgPath)),
        SW_SHOWNORMAL);
      Application.Terminate;
    end;
    

    Насколько я понимаю, это не сработает, если запрещен запуск второй версии приложения и/или настроен монопольный доступ к бд (то есть только 1 коннект).

     

     

    В этом случае придется писать службу которая будет отвечать за перезапуск приложения или писать скрипты (или *.bat)...

  4. Вроде же не все смартфоны\планшеты поддерживаются? Только с Neon. Не думаю что у каждого клиента кафе будут соответствующие девайсы. Да и как показывает форум на разных аппаратах могут неожиданно вылезти неприятные баги... Имхо fmx пока можно использовать под корпоративные решения, где есть возможность выдвигать требования к железу.

  5. При динамическом создании объектов указываете свойства OnMouseDown, OnMouseMove и пр. из примера видео? Про мигания: какая платформа? Пример кода?

    P.S. Мне нравятся Ваши вопросы - с интересом слежу... Но иногда кажется что Вы - первый раз за develop...

  6. 1. Поробуйте поменять местами строки в Длл

    frxDBDataset1.UserName:='Rekv';

    frxDBDataset1.DataSet:=Temp;

    2. Как вариант вызвать Designer в Длл и просмотреть в нем какие там получились Датасеты и поля (но это смотря какая версия фастрепорта)

  7. Ради эксперимента пробовал на ScrollBox кидать (runtime) достаточное кол-во объектов (TRectangle) - более 100. Правда стили не использовал. На 4 аппратах (2013, 2014, 2010 годов), т.е. с разными процессорами  и ОЧЕНЬ разной производительностью проблем с вылетом или тормозами не заметил. Так - что: 

    1) Какие контролы кидаете?  это вычеркнул, не внимательно прочел в Вашем посте...

    2) Попробуйте отключить стили

    3) Если контролы "кидаете" в рантайм - проверьтесь на освобождение ресурсов, выход за рэйндж и пр.

  8. Да, почитал другие источники. Получается или две формы, или руками менять расположение. Причем второй вариант предпочтительней, чтобы не переносит данные, как отметил

  9. Доброго дня всем! Такой вопроса: у меня на форме два ListView. В портретной ориентации первый над вторым. Существуют ли штатные механизмы в Delphi (типа view) для изменения положения этих контролов при смене ориентации экрана (например повернули в ландшафт и первый контроль стал слева от второго)?

    Или только ручками в коде?

  10. Вы резво начали :). Давайте потихоньку. Я создаю проект. Какие компоненты IBX необходимы? И, кроме этого, как использовать библиотеку Embedded сервера?

     

    Компоненты IBX и FireDAC сами работают с библиотекой сервера (fbembed.dll). Если выбираешь работать с IBX то IBDatabase, IBTransaction, IBDataset или IBQuery (первый умеет делать не только select, но и insert, delete, update, а второй только select (ну почти, если не подключать IBSQLUpdate). Имхо IBX лучше для начала изучения, но потом советую перейти на FireDAC.

     

    Кидаешь на форму IBDatabase, IBTransaction, IBDataset. Связываешь между собой (думаю разберешься там все интуитивно). В IBDataset.SelectSQL пишешь свой первый запрос: select id, field from TABLE

     

    Дальше можно через ComponentEditor (ПКМ да IBDataset) - Dataset Editor или ручками в свойствах InsertSQL, UpdateSQL, DeleteSQL создать запросы на вставку, обновление и удаление записей из таблицы. Тут лучше первый вариант (там есть кнопка Generate SQL) - так быстрее разберешься что к чему.

     

    Пока все, Удачи

  11. Coral векторная графика, а ты рисуешь растровой.

     Простите, сударь, а можно рисовать непосредственно векторной графикой?)

    Вообще-то можно: WMF, SVG... Да и сама FMX вектор-базированная библиотека. А вот рисовать и сохранять сабж в растре - полное извращение

  12. Как вариант - на базе http-протокола делать запросы к серверу и получать ответы в виде xml..

    Indy под делфи 7 имеются.. xml сформировать проблем нет.. точно также как на андроиде разобрать..

    это конечно вариант, но тогда мы теряем "всю прелесть" RAD, т.е. придется все обработчики (парсинг) http запросов писать вручную. DataSnap нас лишает этих затрат человеко/часов , но берет с нас "мзду" в виде производительности... давно пытаюсь найти простую альтернативу с генерацией "чистого" и форматируемого ответа (в частности JSON)

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