Ответы пользователя по тегу Delphi
  • Как сравнить два изображения на delphi с процентной погрешностью?

    2ord
    @2ord
    Сделать привязку к библиотеке pHash и сравнивать хеши по расстоянию Хемминга.
    Ответ написан
    Комментировать
  • Почему Mediaplayer выводит звук видео, но само видео нет?

    2ord
    @2ord
    Может, кодеков не хватает.
    Ответ написан
    Комментировать
  • Как распаковать gz файл в Delphi?

    2ord
    @2ord
    Изобретаем zcat и grep в Делфях?

    Распаковывать лог 150 МБ прямо в TMemo не рекомендую: забьет всю доступную ОЗУ и все повиснет нафиг.

    Лучше так:
    zcat big_log.gz | grep "то что ищем"
    "Просматривать" результат лучше постранично, при помощи pipe.
    Ответ написан
  • Стоит ли учить Delphi или что то другое посоветуете?

    2ord
    @2ord
    Если интересны веб-технологии, то нужно определиться что больше нравится: работа с визуальной частью (разработчик фронтенд) или обработка данных на стороне сервера, API (разработчик бэкенд).
    У фронтенд упор сегодня идёт на JavaScript, может присутствовать анимация (не только в играх). У бэкенд - ассортимент языков широк, плюс-минус все претенденты равны, но заведомо точно непопулярны языки типа C/C++/Pascal/Ada/Fortran.
    Во фронтенде будет много логики обработки получаемых с сервера данных для отображения представления (view). В бэкенде много логики откуда брать и как хранить данные, преобразовывать в нужный формат и выдавать веб-клиенту.
    Техники оптимизации используются на обеих сторонах, каждая по-своему.
    Ответ написан
    3 комментария
  • На чем основывать базу для списка контактов?

    2ord
    @2ord
    > платформа конечная Android
    СУБД SQLite, однозначно!
    SQL довольно простой язык. Для работы с данными не могу представить как можно без него обойтись.
    Ответ написан
    Комментировать
  • Как проиграть звук (mp3) на разные звуковые устройства?

    2ord
    @2ord
    Использовать библиотеку BASS
    Multiple outputs
    Simultaneously use multiple soundcards, and move channels between them

    BASS is free for non-commercial use.

    Суть состоит в получении списка доступных для проигрывания устройств и передачи потока на них.
    Ответ написан
    Комментировать
  • Где можно взять готовые программы для delphi?

    2ord
    @2ord
    Для студентов в особенности должен быть полезен собранный мною следующий материал:
    Turbo Pascal Archive (можно скачать ZIP архив)
    и оттуда же: списки
    Ответ написан
  • Как сделать приложение для обработки данных и экспортом в XLS/DOC/PDF?

    2ord
    @2ord
    Эту задачу можно решить и в Delphi, и в PHP и других языках. Просто в случае Delphi программа может работать на Windows/Wine и тогда помимо основной ОС ничего не нужно, а в случае PHP нужно запускать веб-сервер.

    Тогда если выбирать самый простой и, при этом, являющийся масштабируемым вариантом, то проще отталкиваться от Delphi:
    1. язык Delphi прост в освоении
    2. Delphi распространён среди ВУЗов и, как правило, среди разработчиков корпоративного ПО
    3. В Delphi быстро и легко создаются программы c графическим интерфейсом
    4. Для Delphi есть бесплатный аналог Lazarus для запуска на других платформах помимо Windows/x86


    Что необходимо для Delphi/Lazarus:
    1. иметь лицензию для разработки в Delphi или использовать Lazarus
    2. иметь компоненты для создания XLS/ODS, PDF.
    3. разработать ПО предметной области в виде подключаемой библиотеки .DLL (.so для Unix). Эту библиотеку можно использовать впоследствии при помощи сторонних средств и языков программирования, включая тот же PHP.
    4. скорее всего, данные нужно будет хранить в базе данных. Тогда нужно освоить основы языка SQL (это просто). Из самых простых вариантов СУБД - использование (как правило, бесплатное) SQLite, которая широко распространена на ОС мобильных устройств.
    5. написать техническую документацию для последующей поддержки написанного ПО другими лицами
    6. выбрать тип свободной лицензии
    Проектирование ПО

    Предполагая написание ПО в Delphi/Lazarus, предложу написание подключаемой библиотеки таким образом, чтобы работа в ней происходила исключительно с данными, не затрагивая каких-либо особенностей языка и, уж тем более, графической основы Delphi - VCL. Это позволит оперировать с этой библиотекой на уровне обработки данных, а всю графическую часть и взаимодействие с пользователем - выполнять в основной части программы.

    Схематично это можно отобразить так:
    Пользователь <-> графический интерфейс программы на Delphi  <-> библиотека DLL (расчёты)
                                        ^
                                        |
                                        v
                                   СУБД/файлы

    Библиотека должна получать на входе набор данных в виде массива/составных структур данных (записей). Также и на выходе.
    Оформление расчётов в библиотеке позволит программе быть более жизнеспособной и гибкой.
    Ответ написан
  • Какой язык программирования наиболее удобен для приложения с локальной базой данных?

    2ord
    @2ord
    Схема создания приложений для Андроида такова:
    flow.jpg
    Создавать байткод в .class файлах могут не только компиляторы языка Java, но и компиляторы большого множества других языков. Байткод Java исполняется в среде исполнения Java VM и её аналоге, Dalvik VM:
    dalvik.jpg
    На портативных устройствах Android установлен runtime Dalvik VM, а на настольных (сегодня это уже размытое понятие) - полноценная Java SE Runtime Environment.
    Одно дело - скомпилировать байткод в файл, а другое дело - исполнять инструкции байткода из файла.
    Так, Java SE Runtime Environment использует оконную систему низлежащей ОС. В Windows - Windows API, а Linux - X server API. Несмотря на разницу в оконных системах, у них много общего.
    А вот на портативных устройствах экраны другие и вместо мыши - касание экрана или перо. Причём, из-за того, что размеры экрана малы, то построение графического интерфейса для настольных и портативных устройств сильно отличается.
    Тенденция последних лет - это так называемый "адаптивный дизайн", когда графический интерфейс подстраивается под особенности экрана: автоматически изменяются размеры графических элементов, перескакивают на следущую строку и т.д.

    Для написания настольных приложений Delphi подходит.
    Для Андроида же можно создавать программы на Free Pascal в связке с laz4android.
    Ответ написан
    Комментировать
  • Сложен ли язык программирования "C"?

    2ord
    @2ord
    1. Это будет трудно, но возможно. Придётся переключиться на уровень ближе к железу, забыть о верификации типов и прочих плюсах языков Delphi, C#. Особенно трудно будет если окромя готовых компонентов сами не создавали. В Си будет всё ручками. Готовьтесь воевать с утечками памяти и переполнением буфера.
    2. Язык Си - невизуальный. Но есть немало GUI toolkits.
    Ответ написан
    Комментировать
  • Почему умер Delphi?

    2ord
    @2ord
    Просто кто-то хочет, чтобы он умер, а он не умирает, хоть ты тресни!
    Ответ написан
    Комментировать
  • Как лучше сделать проверку на черный список?

    2ord
    @2ord
    Зачем для каждого элемента списка проверять N^2 раз?

    Читаем про линейный поиск

    В общем случае для массива A это выглядит так:
    i := 0;
    while (i < N) and (A[i] <> x) do
      inc(i);


    Установить i := 0
    Цикл i пока список закончился или искомый элемент не соответствует данному из списка
      увеличивать i
    Конец цикла
    Если i не больше чем количество элементов списка, то найден в списке. // msg:='Пользователь с id'+ids[i]+' в черном списке';
    Иначе - не найден.


    И, вообще, стоит подумать об использовании SQLite.
    Ответ написан
    Комментировать
  • Приходится перевыполнять ХП в SSMS чтобы заработала отчетность в Delphi?

    2ord
    @2ord
    Со связкой Delphi+Mssql не работал, но я бы порекомендовал выполнить stress testing ХП сначала локально на сервере БД (если можно), а затем удалённо.
    Дополнительно проверить генерирует ли запрос большой трафик
    и тем временем вести мониторинг загрузки БД в режиме реального времени.
    Ну а, вообще, если сама обработка запроса медленна, то склонен считать, что виновата связка ОС+БД.
    Ответ написан
    Комментировать