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

Лидеры

  1. ENERGY

    ENERGY

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


    • Баллы

      4

    • Постов

      568


  2. Barbanel

    Barbanel

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


    • Баллы

      4

    • Постов

      414


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

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

    Модераторы


    • Баллы

      2

    • Постов

      2 517


  4. Ay^Wao corporation

    Ay^Wao corporation

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


    • Баллы

      2

    • Постов

      1


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

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

  1. Всем привет! Не реклама, просто думаю это будет интересно. Был в прошлый четверг на семинаре от TMS, где они представляли свою новую разработку: создание приложений для Web на Delphi, прямо в IDE. Пайплайн примерно такой: -в студию устанавливается плагин, который добавляет в опции проекта и опции ИДЕ настройки для веб -создается приложение на основе ихнего шаблона, и использует FNC-компоненты (ессно от TMS) -приложение пишется практически как обычное VCL-приложение на языке Delphi, только в пространстве имен FNC -для использования контролов на форме (т.е. в окне браузера) они перевели практически все необходимые контролы -после компиляции студия запускает браузер, и ваше приложение работает в браузере. Как это работает: -под капотом ихний собственный т.н. DelphiToJavaScript Compiler, построенный на основе опенсорсного FPC -этот компилятор читает дельфи-код и преобразовывает его в яваскритп -есть возможность использовать как шаблон формы свой собственный HTML -HTML также может быть сгенерирован компилятором автоматически -можно использовать CSS -можно подгружать свои собственные js-библиотеки (не показывали как, но утверждают что можно) -после запуска студия открывает браузер и стартует ваше приложение в браузере -приложение можно дебажить, НО: -а) только в браузере -б) браузер получает от студии map-файл с инфой для отладки, и отображает исходный код на дельфи (это показали, действительно в браузере код на дельфи, и деже отображаются значения переменных) -можно подключаться к БД посредством REST-технологии, все запросы к БД при этом работают асинхронно дополнение) можно писать серверное приложение, которое будет принимать и обрабатывать эти запросы к БД, т.е. аналог фронтэнда и бэкэнда можно писать на дельфи -приложение выполняется полностью в браузере -минимальный размер приложения был от 250кб, утверждалось что если пройтись спец. оптимизатором по ява-коду, то будет еще меньше Мое личное имхо: очень интересно, мы будем это у себя пробовать. Лично я раньше не очень уважал TMS и их поделки, но пообщавшись с их командой изменил свое мнение, эта работа действительно очень впечалила. PS. это не реклама и я никак не причастен к TMS и этой разработке, просто считаю что это интересная тема, и залуживает чтобы ее немного осветили.
    2 балла
  2. Обычно я делаю класс TCore, в котором все необходимое и настройки и переменные, я стараюсь формы и логику всегда отделять (раньше для Windows я вообще отделял логику и ядро в DLL ). Формы нужны только для отображения содержимого. Этот класс создаю в dpr до всех форм, Core соответсвенно в отдельном модуле, и глобальная переменная gCore там же в interface. Этот Core.pas подключаю уже везде. Это очень практично.
    2 балла
  3. Автор: Максим Сысоев Репозиторий: Github Связь со мной: Telegram Telega π - Библиотека для работы с Telegram Bot API в Delphi Библиотека для работы с Telegram Bot API Зависимости RAD Studio CE CloudAPI Примеры Получение Username бота program Project5; {$APPTYPE CONSOLE} {$R *.res} uses TelegaPi.Bot, TelegaPi.Types, System.SysUtils; var Telegram: TTelegramBot; begin Telegram := TTelegramBot.Create({$I TokenTelegramBot.inc}); try { TODO -oUser -cConsole Main : Insert code here } Writeln(Telegram.getMe.Username); except on E: Exception do Writeln(E.ClassName, ': ', E.Message); end; Readln; Telegram.Free; end. Пример автоответчика Напишите ему "привет" Код: https://gist.github.com/ms301/c7281f443f481115b7643116535e697d
    1 балл
  4. А я могу понять автора, хотя и с оговоркой. Вы правы, способ не кроссплатформенный, но мы и не знаем, под какую ОС пишет ТС. Если под Винду, то почему бы и нет. Если нужно кроссплатформенное решение, то GlobalConst.pas прекрасно подойдет, никто не спорит. Но, подобными вопросами полезно задаваться и решать их в познавательных и исследовательских целях, чтобы лучше узнать инструмент, который используешь в работе. ТС не знал такого способа, теперь узнает, прокачает свои скилы, разве ж это плохо))) Да и даже чисто с практической точки зрения, бывают задачи, которые просто невозможно решить, не прибегая к хакам. Так что знать о них нужно, но применять с умом и осторожностью, ибо они не панацея!!!
    1 балл
  5. @estra Так лучше не делать, т.к. решение не кроссплатформенное. Не пойму что мешает автору завести отдельный pas модуль, например GlobalConst.pas и там объявить эту глобальную переменную и затем подключать этот модуль куда угодно. Это надуманная проблема.
    1 балл
  6. Спасибо, этот продукт тоже попробуем.
    1 балл
  7. Для WEB и студии судя по их форуму, очень хорош этот продукт: http://www.unigui.com/ Форум пользователей сковзит позитивом.
    1 балл
  8. Существует (если нельзя, но очень хочется, то можно). Правда проверял его работоспособность в VCL, в FM проверьте сами. program Project2; uses Vcl.Forms, Unit1 in 'Unit1.pas' {Form1}; var MyVariableInt: Integer; MyVariableBool: Boolean; MyVariableStr: string; exports MyVariableInt, MyVariableBool, MyVariableStr; {$R *.res} begin MyVariableInt := 456; MyVariableBool := True; MyVariableStr := 'qwerty'#0; Application.Initialize; Application.MainFormOnTaskbar := True; Application.CreateForm(TForm1, Form1); Application.Run; end. unit Unit1; interface uses Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics, Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls; type TForm1 = class(TForm) Button1: TButton; procedure Button1Click(Sender: TObject); private { Private declarations } public { Public declarations } end; var Form1: TForm1; implementation {$R *.dfm} procedure TForm1.Button1Click(Sender: TObject); var i: ^Integer; begin i := GetProcAddress(HInstance, 'MyVariableInt'); if Assigned(i) then ShowMessage(IntToStr(i^)); i := GetProcAddress(HInstance, 'MyVariableBool'); if Assigned(i) then ShowMessage(BoolToStr(Boolean(i^))); i := GetProcAddress(HInstance, 'MyVariableStr'); if Assigned(i) then ShowMessage(PChar(i^)); end; end.
    1 балл
  9. ENERGY

    AndroidTV

    Captain here! Соберите пустое приложение, где отключены все разрешения. Если установится, значит проблема в разрешениях. Captain flies away
    1 балл
  10. Barbanel

    Видео для Google Play

    Привет, мы пытались сделать видео сами, и даже при том, что в команде есть дизайнеры и просто люди со вкусом, пришли к выводу что лучше доверить это профессионалам. В итоге мы заказали видео в компании, которая специализируется на этом. Результатом довольны. Использовали DU Recorder. Нареканий на скорость и качество видео нет. В худшем случае, выпроси у когонить мощное устройство и запиши видео на нем, потом перекинешь видео себе и обработаешь.
    1 балл
  11. kami

    Сбой при загрузке в Google Play

    Здесь ничего не меняли? (ну, Target, само собой должен быть Android)
    1 балл
  12. Евгений Корепов

    AndroidTV

    Тогда посмотрите какие разрешения вы устанавливаете приложению (Your app uses hardware features (such as a touchscreen or camera) that are not available on TV) . Может вы требуете что то, что нет физически на приставке.
    1 балл
  13. '%3D' вместо "=", '%26' вместо "&" - это стандартная методика отправки данных, называется url encoding. Принимающая сторона производит обратный процесс url decoding. Это нормальный процесс экранирования спецсимволов для HTTP протокола. Если вы не хотите использовать encoding (хотя в ContentType := 'application/x-www-form-urlencoded' вы утверждаете обратное), по используйте опцию poDoNotEncode в опциях параметра (http://docwiki.embarcadero.com/Libraries/Tokyo/en/REST.Types.TRESTRequestParameterOption) А лучше используйте штатный THTTPClient (System.Net.HTTPClient) и будет счастье, потому как TRest, рожденный в недрах безумия Эмбы, преподнесет вам не мало неприятных сюрпризов.
    1 балл
  14. Все дело привычки Лучше Андроид Студио наверное не найти
    1 балл
  15. Если нужно менять цвет, то выбирайте TRectangle, как выше писали. Он полностью заменяет TPanel + имеет много возможностей по оформлению заливки и рамки, даже углы можно закруглить и т.п.
    1 балл
  16. У меня в настройках Delphi - SDK 24, поменял манифест на 26, откомпилил и закинул на Google Play - вроде прошло. Но будем ждать августа. Я так думаю, гугловцы пошли на этот шаг еще и для того, чтобы почистить Play Market от старых и необновляемых приложений.
    1 балл
  17. Опубликовать врядли - какой профит получит компания Google от вашего приложения для избранных? Можно попробовать бета-режим: Используйте закрытое тестирование для целевых групп. Выберите этот вариант, чтобы протестировать приложение в небольшой группе пользователей (например, среди сотрудников компании или отдела). Закрытое бета-тестирование может проводиться для отдельных адресов электронной почты, сообщества Google+ или группы Google.
    1 балл
  18. блин копался в почте не смог найти ссылку, но вроде достаточно отправить в службу поддержки google play и указать обязательно имя пакета приложения. я отправлял на двух языках скан копии (в pdf)
    1 балл
  19. jalols

    Добавить текст

    Как добавить текст на мемо где Caret стоит, нашел для делфи такой код Memo1.InsertAfter(Memo1.CaretPosition, 'txt', [TInsertOption.MoveCaret]); [TInsertOption.MoveCaret] как используется это часть на C++ еще один вопрос зачем нет у Memo WantTabs, как то можно добавить такое функционал?
    1 балл
Эта таблица лидеров рассчитана в Москва/GMT+03:00
×
×
  • Создать...