Все сервисы Хабра

Сообщество IT-специалистов

Ответы на любые вопросы об IT

Профессиональное развитие в IT

Удаленная работа для IT-специалистов

Войти на сайт
  • Все вопросы
  • Все теги
  • Пользователи

Хабр Q&A — вопросы и ответы для IT-специалистов

Получайте ответы на вопросы по любой теме из области IT от специалистов в этой теме.

Узнать больше
другие проекты хабра
  • Хабр
  • Карьера
  • Фриланс
Задать вопрос
OCTAGRAM

OCTAGRAM

  • 39
    вклад
  • 3
    вопроса
  • 116
    ответов
  • 16%
    решений
Лайки
  • Информация
  • Ответы
  • Вопросы
  • Комментарии
  • Подписки
  • Нравится
  • Достижения
  • Можно писать код, чтобы сразу он запускался при запуске программы?

    ZERGeich
    ZERGeich @ZERGeich
    Если приложение без форм - то в основном теле после Application.Initialize;
    Если при наличии формы - то по событию onFormCreate
    Ответ написан 21 апр.
    Комментировать
    Комментировать
  • Почему данный код не работает в Delphi 10.4?

    tsklab
    Константин Цветков @tsklab
    Здесь отвечаю на вопросы.
    Потому что 10.4 это UNICODE, вы читаете GetClipboardData(CF_TEXT).
    Надо GetClipboardData(CF_UNICODETEXT).
    Ответ написан 11 дек. 2022
    1 комментарий
    1 комментарий
  • Почему множество из стандартной библиотеке работает некорректно?

    Александр Ананьев @SaNNy32
    for (set<int>& s : Sets)
    Ответ написан более года назад
    1 комментарий
    1 комментарий
  • Каким образом запросить новый ключ на Delphi 10.3 Community Edition?

    tsklab
    Константин Цветков @tsklab
    Здесь отвечаю на вопросы.
    Заполните форму.
    В комментариях.
    Ответ написан более года назад
    Комментировать
    Комментировать
  • Можно ли использовать Telegram в связке с приложением под Windows?

    HemulGM
    Hemul GM @HemulGM Куратор тега Delphi
    Delphi Developer, сис. админ
    Для этого достаточно написать одну строку.
    TDownload.GetRequest('https://api.telegram.org/' + TG_BOT_TOKEN + '/sendMessage?chat_id=' + ChatId + '&text=' + TURLEncoding.URL.Encode(Text));

    Где TDownload.GetRequest просто выполняет простой GET запрос без чтения ответа, а TG_BOT_TOKEN - это строка токена бота, которая будет выдана при создании бота в Телеграм
    Пример токена бота "bot1234567899:GFGJDGSDJFHGJSD_sdFdfskjdfhskdf"

    GetRequest можешь использовать такой, или интегрировать
    uses System.Net.HTTPClient;
    function GetRequest(URL: string): Boolean;
    var
      HTTP: THTTPClient;
    begin
      Result := False;
      if URL.IsEmpty then
        Exit;
      HTTP := THTTPClient.Create;
      HTTP.HandleRedirects := True;
      try
        try
          Result := HTTP.Get(URL).StatusCode = 200;
        finally
          HTTP.Free;
        end;
      except
        Result := False;
      end;
    end;


    TURLEncoding находится тут System.NetEncoding.

    Самым сложным наверно будет получить ChatId чата, в который нужно будет писать. Если самому себе, то это Id юзера. Т.е. тебе нужно просто будет составить список ChatId (Id нужных пользователей) и выполнить запрос с каждым ChatId.
    Ответ написан более года назад
    4 комментария
    4 комментария
  • Можно ли подключиться к phpMyAdmin в Delphi?

    HemulGM
    Hemul GM @HemulGM Куратор тега Delphi
    Delphi Developer, сис. админ
    phpMyAdmin - это уже клиент, который подключается к БД. Тебе нужно подключается к БД, к которой подключается phpMyAdmin.

    Сразу пишу. Ставь свежую версию делфи, а не используй среду 2002 года. Ставишь Delphi Community Edition 10.3 с офф. сайта. Создаешь проект. Используешь FireDac подключение. Там всё будет понятно.
    Ответ написан более года назад
    19 комментариев
    19 комментариев
  • Правильный ли цикл для точек в области?

    kalapanga @kalapanga
    Во-первых, здесь нет никакого цикла.
    Во-вторых, проверка нахождения точки внутри области реализована неправильно. Даже из общих соображений понятно, что проверка попадания точки в область не может выполнятся проверкой на равенство координат точки чему-либо. Там должна быть проверка на больше-меньше.
    Длинное условие проверки попадания на границу не проверял, лень. Но что-то в нём подозрительно мало логических И (and). Скорее всего оно неверное.
    Ответ написан более года назад
    Комментировать
    Комментировать
  • Как реализовать политику CORS в fetch?

    Seasle
    Александр @Seasle Куратор тега JavaScript
    \( ゚ヮ゚)/
    - res.writeHead(200, { 'Content-Type': 'text/plain' });
    + res.writeHead(200, {
    +     'Content-Type': 'text/plain',
    +     'Access-Control-Allow-Origin': '*'
    + });
    Ответ написан более года назад
    4 комментария
    4 комментария
  • Какие версии Delphi сейчас актуальны для разработки desktop-приложения?

    HemulGM
    Hemul GM @HemulGM Куратор тега Delphi
    Delphi Developer, сис. админ
    Актуальны все версии после 10.х.
    RAD Studio - это среда разработки, которая позволяет писать и на Delphi и на C++
    Delphi - это среда, в которой можно писать только на Delphi.

    Использовать всегда стоит самую последнюю версию. Последняя бесплатная версия (Community Edition) - это 10.3.3.
    Ответ написан более года назад
    14 комментариев
    14 комментариев
  • Подскажите системы оплаты, типа Robokassa, но с возможностью приёма платежей от PayPal

    Colobock
    Colobock @Colobock
    PayPal
    Ответ написан более трёх лет назад
    4 комментария
    4 комментария
  • Как делается Preflight запрос?

    REZ1DENT3
    Максим Бабичев @REZ1DENT3
    web-developer
    Preflight запрос делает браузер автоматически, вам об этом заботиться не нужно.
    https://developer.mozilla.org/en-US/docs/Glossary/...

    A preflight request is automatically issued by a browser and in normal cases, front-end developers don't need to craft such requests themselves. It appears when request is qualified as "to be preflighted" and omitted for simple requests.
    Ответ написан более двух лет назад
    17 комментариев
    17 комментариев
  • Как можно оптимизировать код?

    kalapanga @kalapanga
    "Как оптимизировать код" - неверный вопрос. Код можно оптимизировать, если есть критерии оптимизации. А у Вас не только критериев нет, Вы даже не написали, что программа делать должна, с какими данными работать. Так что думаю, если программа делает то, что задумано, то не стоит ничего "оптимизировать". Лучше лишний раз на ошибки проверьте.
    Если уж Вам сильно хочется замечаний, то вот некоторые. Часть можете считать придирками, но есть и более важные.
    Сверху вниз.
    Глобальная переменная I. Потенциальный источник ошибок. В каких-то процедурах она перекрывается локальной переменной, в каких-то нет. Легко неуследить и использовать не ту, что нужно. (Глобальную переименовать)
    Нелогичное название процедуры MatrixInput. Да, там формируется матрица, но при этом она не вводится (Input), а наоборот выводится - write(...)! (Для лучшей читабельности кода назовите например FillMatrix)
    В этой же процедуре не контролируется выход индекса за границу в строке
    M[I,J]:=S[N*(i-1)+j];
    Раз уж выделили этот кусочек в отдельную процедуру, в её начале надо проверить корректность входных параметров.
    В процедуре CheckAndFixString вместо цикла
    while length(S)<NeedLength do S:=S+'#'
    лучше так
    S := S + StringOfChar('#', NeedLength - length(S));
    Здесь длина строки нужна только один раз, а не на каждом проходе цикла.
    Основная программа.
    Главная ошибка - "захардкоженные" имена файлов. Вы принесли кому-то Вашу программу. Откуда у него такие каталоги?
    Или используйте ini-файл с путями к файлам или хотябы оставьте в коде только имена файлов и ищите их в каталоге программы.
    Здесь же вторая ошибка - отсутствие обработки ошибок при работе с файлами. Если например нужного файла нет программа свалится с ошибкой вместо информативного сообщения пользователю.
    Ответ написан более двух лет назад
    113 комментариев
    113 комментариев
  • Как сделать динамический массив в данном коде?

    HemulGM
    Hemul GM @HemulGM Куратор тега Delphi
    Delphi Developer, сис. админ
    type MyArrayType = array [1..SizeArray, 1..SizeArray] of string[1];

    .. И зачем string[1] - если это просто Char
    type MyArrayType = array of array of Char;
    Ответ написан более двух лет назад
    4 комментария
    4 комментария
  • На чём пишут современные приложения под Windows?

    HemulGM
    Hemul GM @HemulGM Куратор тега Windows
    Delphi Developer, сис. админ
    Delphi + VCL/FMX.

    Попробуй FMX. Удивишься возможностям) и кроссплатформенности (win, linux, macos, android, ios).

    Современная, бесплатная (если для себя) среда, похожая на VS. Новые технологии, наборы компонентов и быстрая работа самого софта, включая быструю сборку. Мощный дизайнер форм и тд.
    Ответ написан более двух лет назад
    3 комментария
    3 комментария
  • Как подключить стороннюю библиотеку в Delphi?

    Александр Ананьев @SaNNy32
    Используйте COM
    Ответ написан более двух лет назад
    4 комментария
    4 комментария
  • Бесплатный OS X сервер для разработчиков ещё дают?

    yakovmanshin
    Yakov @yakovmanshin
    Software Engineer
    Как отдельный выпуск ОС, предназначенный для установки на серверы, Mac OS X Server перестал существовать в 2011 году (последней версией был Snow Leopard Server). Начиная с Lion, Server — это приложение в Mac App Store, сейчас оно стоит $20.

    С годами из этого приложения удаляли отдельные функции, выкидывая их совсем — как, например, почтовый сервер, веб-сервер и т.д. — или перенося в клиентскую ОС — так поступили с кэшированием обновлений, Time Machine-сервером, Xcode-сервером и т.д. В разделе поддержки есть страница со статусами серверных функций и альтернативными решениями.

    Сегодня приложение Server в Mac App Store годится только для администрирования iOS-устройств под MDM (судя по оценке 1.7, пользователи этому не рады).
    Ответ написан более двух лет назад
    Комментировать
    Комментировать
  • Что нужно исправить что бы не появлялась ошибка крос домен?

    inoise
    Иван Шумов @inoise
    Solution Architect, AWS Certified, Serverless
    Шли годы, люди так и не научились копировать текст ошибки в Google.

    Это CORS. На клиенте это не обойти. Только если ставить свой «прокси» сервер
    Ответ написан более двух лет назад
    4 комментария
    4 комментария
  • Почему в массив размером N можно положить больше чем N элементов?

    GavriKos
    GavriKos @GavriKos
    Потому что си.
    Он не проверяет как вы там корректно или нет с памятью работаете.
    Кстати еще очень зависит от настроек компилятора - в условном дебаге и релизе может быть разное поведение
    Ответ написан более двух лет назад
    Комментировать
    Комментировать
  • Как мне перенаправить поддомен на другой IP адрес?

    Rsa97
    Rsa97 @Rsa97
    Для правильного вопроса надо знать половину ответа
    Хост должен называться либо archive либо archive.test.ru. (с точкой в конце).
    При отсутствии точки в конце названия, к нему автоматически дописывается суффикс домена и вы получаете archive.test.ru.test.ru.
    Ответ написан более двух лет назад
    Комментировать
    Комментировать
  • Как в консольном C# приложении обратиться к Терминалу Linux?

    sergueik
    сергей кузьмин @sergueik
    шелл понимает а c# код не знает что такое тильда
    Ответ написан более двух лет назад
    2 комментария
    2 комментария
Оценили как «Нравится»
  • 1
  • 2
  • Следующие →
Самые активные сегодня
  • Drno
    • 7 ответов
    • 0 вопросов
  • vabka
    Василий Банников
    • 6 ответов
    • 0 вопросов
  • AUser0
    • 5 ответов
    • 0 вопросов
  • scoffs
    Семён Окулов
    • 5 ответов
    • 0 вопросов
  • sasmoney
    sasmoney
    • 4 ответа
    • 0 вопросов
  • dimonchik2013
    Dimonchik
    • 4 ответа
    • 0 вопросов
  • © Habr
  • О сервисе
  • Правила
  • Обратная связь
  • Блог

Войдите на сайт

Чтобы задать вопрос и получить на него квалифицированный ответ.
Войти через центр авторизации