Конференция "Прочее" » Лучшая версия Delphi
 
  • Дмитрий Белькевич © (06.04.17 08:18) [260]
    Стоит он 4.5 доллара. Синхронизации от него я так и не добился пока что, файлы, как оказалось, закачивает через раз. И, вообще, удобство (уже поюзав) на троечку.
    И это, что характерно, никак с кнопками не связано :)
  • Kerk © (06.04.17 11:44) [261]
    Коммандной строки достаточно для всего. Продукт, которому нужен графический интерфейс, коммерчески мертв.

    Поражаешься иногда людям. 14 страниц разговаривать и не вынести из постов оппонентов НИЧЕГО? Ну ладно не соглашаться, но понять-то хотя бы чуточку можно... капец.
  • Дмитрий Белькевич © (06.04.17 11:57) [262]
    Рома, не нервничай так :) Всё мы уже поняли. Удобнее писать под JS - флаг, как говорится, в руки и барабан на шею :)
    Я бы вообще так не делал, а поднимал бы свою инфраструктуру. Что мы у себя, например, и делаем, и не космос это всё стоит. Ну да ладно, вы уже себе выбрали решение - занимайтесь.

    p.s. Разобрался я с синхронизацией всё таки :)
  • Игорь Шевченко © (06.04.17 12:04) [263]

    > Коммандной строки достаточно для всего. Продукт, которому
    > нужен графический интерфейс, коммерчески мертв.


    Марксизм не догма, а руководство к действию. Зачем-то в винду Powershell встроили.
  • Дмитрий Белькевич © (06.04.17 12:24) [264]

    > Продукт, которому нужен графический интерфейс, коммерчески
    > мертв


    Ты это MS'офту расскажи :)))
  • Kerk © (06.04.17 13:15) [265]

    > Дмитрий Белькевич ©   (06.04.17 11:57) [262]
    >
    > Рома, не нервничай так :) Всё мы уже поняли. Удобнее писать
    > под JS - флаг, как говорится, в руки и барабан на шею :)

    Вы мне 14 страниц рассказывали про то, какие в FMX крутые стили, эффекты и прочая шелуха, совершенно игнорируя тот факт, что мне эти ваши бантики нафиг не сдались. чтобы этим вот закончить? Ну ладно. Пусть так.

    > Дмитрий Белькевич ©   (06.04.17 12:24) [264]
    >
    > > Продукт, которому нужен графический интерфейс, коммерчески
    > > мертв
    >
    > Ты это MS'офту расскажи :)))

    Что ему рассказать? Про то, что качественные пользовательские интерфейсы - это коммерческая смерть? Так ты и расскажи.

    > Я бы вообще так не делал, а поднимал бы свою инфраструктуру.
    >  Что мы у себя, например, и делаем, и не космос это всё
    > стоит. Ну да ладно, вы уже себе выбрали решение - занимайтесь.

    В 2003 году все так делали. В 2017м году больше волнует стоимость масштабирования. Поднять сотню новых серверов? Пара команд в консоли и готово. Или даже держать приложения в контейнерах, чтобы абстрагироваться от серверов совсем. Или вообще использовать serverless-функции. А ведь можно не только расти, но и уменьшаться при необходимости, то есть платить только за те ресурсы, которые реально нужны. И все это без толпы сисадминов и DBA в галстуках.
  • Дмитрий Белькевич © (06.04.17 13:50) [266]

    > Вы мне 14 страниц рассказывали про то, какие в FMX крутые
    > стили, эффекты и прочая шелуха, совершенно игнорируя тот
    > факт, что мне эти ваши бантики нафиг не сдались.


    Угу. А это я, конечно всё понаписал :)


    > Дьявол кроется в мелочах.
    >
    > Вот простейший пример. Обычная кнопка. В FMX и VCL. Видишь
    > разницу?
    >
    > http://yankovsky.me/fmx-button.gif
    > http://yankovsky.me/vcl-button.gif
    >
    > Я даже не буду приводить в пример какие-то баги. Достаточно
    > таких вот неуловимых мелочей, которые отличают родное приложение
    > от стилизации под родное приложение.



    > И когда у конкурентов все лакировано и блестит, а тебя тут
    > работает, тут не очень, а тут скотчем замотано - это как
    > минимум вызывает вопросы.
    >



    > Кроссплатформенность - это хорошо. Но это всегда компромисс.
    >  Никогда не будет кроссплатформенное приложение работать
    > как родное. И тут не в Delphi дело.
  • Дмитрий Белькевич © (06.04.17 13:58) [267]

    > В 2003 году все так делали. В 2017м году больше волнует
    > стоимость масштабирования.


    Хорошо, не буду судить о твоём случае, не зная точно задачу.
  • Кто б сомневался © (06.04.17 15:17) [268]

    > Продукт, которому нужен графический интерфейс, коммерчески
    > мертв.


    Во первых почему это звучит как аксиома?
    Вот уже лет 25 вокруг куча противоположных примеров, начиная с самой Windows и всяких WYSIWYG средств разработки.

    Во вторых про графику мы начали говорить с твоей подачи. ¯\_(ツ)_/¯
    Я акцентировал внимание на другом, - на том что с Delphi можно сделать один проект, один код и один GUI для 4 платформ. А это экономно в плане времени, да и удобства. Да чего-то там не хватает, но и это можно найти или купить в виде компонент.
    Я говорил про разработку самых обычных программ для мобильных и Desktop устройств для пользователей. Не про разработку чего-то в северной части.
  • Belkin © (06.04.17 18:37) [269]

    > Кто б сомневался ©   (06.04.17 15:17) [268]
    >
    > Я акцентировал внимание на другом, - на том что с Delphi
    > можно сделать один проект, один код и один GUI для 4 платформ.


    Всё-таки создание интерфейса для Windows и создание интерфейса для мобильных ОС - не одно и тоже
  • Дмитрий Белькевич © (06.04.17 21:54) [270]
    Для этого под мобильные ОС и под Windows пишутся разные интерфейсы. У нас (да я думаю, у большинства так) и веб-клиент выглядит совершенно по-разному.
    FMX, насколько я знаю, специально под это заточен.
  • Кто б сомневался © (06.04.17 22:59) [271]

    > Belkin ©   (06.04.17 18:37) [269]
    > Всё-таки создание интерфейса для Windows и создание интерфейса
    > для мобильных ОС - не одно и тоже


    Если сделать унифицированный интерфейс, как например Comodo Firewall или Antivirus  в стиле мобильного планшета - то это вполне возможно.
    А так одно GUI для Windows - MacOS, другое для Android-iOS.
  • Кто б сомневался © (07.04.17 00:12) [272]
    Кто б сомневался ©   (06.04.17 22:59) [271]

    Тем более что современный Windows Metro это и есть планшетный, мобильный стиль GUI - разница с мобильными версиями небольшая.
  • Belkin © (07.04.17 12:36) [273]
    Когда я пишу прогу под Windows, то первым делом на главную форму кидаю TMainMenu, тулбар и статусбар. Практически не задумываясь.

    А когда пишу под Андроид, то долго думаю, как и с какими компонентами лучше
  • ухты © (09.04.17 04:29) [274]
    http://delphimaster.net/view/15-1446991183
    както скучно прошлый раз было, хотя вопросы похожие )
  • Kerk © (10.04.17 11:14) [275]

    > ухты ©   (09.04.17 04:29) [274]

    Были люди в наше время... :)
  • Belkin © (10.04.17 20:16) [276]

    > Kerk ©   (10.04.17 11:14) [275]
    >
    >
    > > ухты ©   (09.04.17 04:29) [274]
    >
    > Были люди в наше время... :)


    Так наоборот, он имеет в виду, что сейчас активнее
  • Eraser © (10.04.17 21:46) [277]

    > Кто б сомневался ©   (30.03.17 13:04) [125]
    >
    > > т.е. есть пустая форма, нужно перехватывать событие OnKeyDown
    >
    >
    > Перехватываю OnKeyUp на Android - вроде не замечал проблем.
    > . Все стандартно.

    Добрался до дома и до андроидофона, соответственно. Протестировал - ожидаемо, ничего не перехватывается. Тестировал на последнем Берлине.

    Вот такой нехитрый код


    unit Unit1;

    interface

    uses
     System.SysUtils, System.Types, System.UITypes, System.Classes,
     System.Variants,
     FMX.Types, FMX.Controls, FMX.Forms, FMX.Graphics, FMX.Dialogs,
     FMX.Controls.Presentation, FMX.StdCtrls, FMX.VirtualKeyboard,
     FMX.Platform;

    type
     TForm1 = class(TForm)
       Button1: TButton;
       procedure Button1Click(Sender: TObject);
       procedure FormKeyDown(Sender: TObject; var Key: Word; var KeyChar: Char;
         Shift: TShiftState);
       procedure FormKeyUp(Sender: TObject; var Key: Word; var KeyChar: Char;
         Shift: TShiftState);
     private
       { Private declarations }
     public
       { Public declarations }
     end;

    var
     Form1: TForm1;

    implementation

    {$R *.fmx}

    procedure TForm1.Button1Click(Sender: TObject);
    var
     Keyboard: IFMXVirtualKeyboardService;
    begin
     Keyboard := TPlatformServices.Current.GetPlatformService(IFMXVirtualKeyboardService) as IFMXVirtualKeyboardService;
     Keyboard.ShowVirtualKeyboard(Self);
    end;

    procedure TForm1.FormKeyDown(Sender: TObject; var Key: Word; var KeyChar: Char;
     Shift: TShiftState);
    begin
     ShowMessage('FormKeyDown');
    end;

    procedure TForm1.FormKeyUp(Sender: TObject; var Key: Word; var KeyChar: Char;
     Shift: TShiftState);
    begin
     ShowMessage('FormKeyUp');
    end;

    end.

    Жмем на Button1 - появляется виртуальная клавиатура.
    Клавиши на виртуальной клавиатуре не срабатывают, я бы сильно удивился, если бы начали срабатывать.
    Хардверные кнопки, конечно же, срабатывают.
  • Кто б сомневался © (11.04.17 11:57) [278]

    > Kerk ©   (04.04.17 11:35) [233]
    >
    > Вот тут кстати можно ознакомиться с переписью дураков


    А здесь Delphi за прошлый год с 11 места перешла на 9.

    https://www.tiobe.com/tiobe-index/


    > Eraser ©   (10.04.17 21:46) [277]


    Я только хардверные кнопки ловил, не в курсе это проблемы.

    Почитал, это проблема Android и это описано  мануале, на Java такая же проблема, все точно также - софт кнопки не ловятся, хардверные ловятся:

    https://developer.android.com/reference/android/view/KeyEvent.html

    As soft input methods can use multiple and inventive ways of inputting text, there is no guarantee that any key press on a soft keyboard will generate a key event: this is left to the IME's discretion, and in fact sending such events is discouraged. You should never rely on receiving KeyEvents for any key on a soft input method. In particular, the default software keyboard will never send any key event to any application targetting Jelly Bean or later, and will only send events for some presses of the delete and return keys to applications targetting Ice Cream Sandwich or earlier.

    https://developer.android.com/training/keyboard-input/commands.html#SingleKey

    Note: When handling keyboard events with the KeyEvent class and related APIs, you should expect that such keyboard events come only from a hardware keyboard. You should never rely on receiving key events for any key on a soft input method (an on-screen keyboard).

    http://stackoverflow.com/questions/11273243/android-get-keyboard-key-press
  • Игорь Шевченко © (11.04.17 12:07) [279]
    Кто б сомневался ©   (11.04.17 11:57) [278]


    > А здесь Delphi за прошлый год с 11 места перешла на 9.


    Ты всерьез считаешь это достижением ? :))
 
Конференция "Прочее" » Лучшая версия Delphi
Есть новые Нет новых   [118456   +54][b:0.001][p:0.001]