Найти в Дзене
Trunc и Round в Lazarus: в чем разница и когда что использовать
При разработке приложений в среде Lazarus (Free Pascal) часто возникает необходимость преобразования вещественных чисел в целые. Две основные функции для этого — Trunc и Round. На первый взгляд они похожи, но между ними есть принципиальные различия, которые могут привести к неожиданным ошибкам, если не понимать их поведения. Функция Trunc отбрасывает дробную часть числа, возвращая целое значение, которое находится ближе к нулю. var x: Double; begin x := 3.14; ShowMessage(IntToStr(Trunc(x))); // Результат: 3 x := -3...
1 неделю назад
Удаление пробелов в начале и в конце строки в C#
При работе со строками в C# часто возникает необходимость очистить их от лишних пробельных символов в начале или конце. Это может быть полезно при обработке пользовательского ввода, парсинге файлов или работе с данными из внешних источников. Самый простой и распространённый способ удалить пробелы в начале и конце строки — использовать метод Trim(): string text = " Привет, мир! "; string cleanedText = text.Trim(); Console.WriteLine($"'{cleanedText}'"); // Вывод: 'Привет, мир!' Метод Trim() удаляет все пробельные символы (не только обычные пробелы, но и табуляцию, символы новой строки и т...
2 недели назад
Области видимости переменных PHP
Переменные в PHP имеют свою область видимости — контекст, в котором они определены и могут быть использованы. Понимание этой концепции критически важно для написания корректного и безопасного кода. В этой статье мы подробно разберём все типы областей видимости в PHP. Переменные, объявленные вне функций, классов или методов, находятся в глобальной области видимости. Они доступны только вне функций, но не внутри них по умолчанию. Чтобы использовать глобальную переменную внутри функции, необходимо применить ключевое слово global или обратиться к массиву $GLOBALS...
2 недели назад
Вложенный список в Python: один элемент или несколько?
Многие начинающие программисты сталкиваются с неожиданным поведением при работе со вложенными списками в Python. Главное правило, которое нужно запомнить: вложенный список считается одним элементом родительского списка. Рассмотрим простой пример: my_list = [1, 2, [3, 4, 5], 6] print(len(my_list)) # 4 Несмотря на то, что внутри есть три числа и один список из трёх элементов, функция len() возвращает 4...
3 недели назад
Выпадающий список в ячейке TStringGrid
В Delphi и Lazarus, когда вы используете таблицы для ввода-вывода данных, иногда (впрочем, довольно часто) необходимо, чтобы в каком-то столбце была возможность не просто вводить текст, а выбирать значение из списка. При работе с базами данных это можно сделать, например, с помощью TDBGrid с полем lookup. Но, если вы не используете базу данных, а таблица вам нужна для отображения каких-то временных данных или для выгрузки в файл (загрузки из файла), то проще использовать TStringGrid. Однако в таблице этого вида нет стандартных возможностей сделать ячейку с выпадающим списком...
3 недели назад
Как скрыть HTML-элемент от пользователя
Ну вообще для решения этого вопроса в HTML есть комментарии: <!-- Это комментарий --> Однако, если вам очень сильно захочется использовать CSS для сокрытия какого-то блока, то и это возможно. Например, так: *[class=comment]...
3 недели назад
Перебор строки в цикле в C#: методы, нюансы и производительность
Строки в C# — это неизменяемые (immutable) последовательности символов Unicode, представленные типом string. При работе с ними часто возникает необходимость поэлементного обхода: поиск символа, анализ, преобразование или просто чтение. На первый взгляд задача простая, но существуют важные особенности, связанные с кодировкой, производительностью и корректной обработкой Unicode. В этой статье разберём основные способы перебора строки и определим, когда какой метод предпочтительнее. Самый прямой и...
4 недели назад
get_included_files в PHP
В мире PHP-разработки часто приходится работать со сложной архитектурой, где файлы подключают друг друга (пример см. здесь). В процессе отладки или проверки кода порой сложно понять, какой файл откуда был вызван и какие зависимости были загружены. Функция get_included_files() — это простой, но мощный инструмент ядра PHP, который позволяет заглянуть в «черный ящик» автозагрузки и подключения файлов. Функция get_included_files() возвращает массив, содержащий имена (абсолютные пути) всех файлов, которые...
1 месяц назад
Списки в Python
Список (list) — это одна из самых полезных структур данных в Python. Его можно представить как коробку, в которой можно хранить множество вещей (элементов) в определенном порядке. Главные особенности: Список создается с помощью квадратных скобок []. Элементы внутри разделяются запятыми. В Python счет элементов начинается с нуля. Можно считать с конца, используя отрицательные индексы (также, как и в строках): print(fruits[-1]) # Выведет: апельсин print(fruits[-2]) # Выведет: банан Если нужно получить несколько элементов подряд, используются срезы...
1 месяц назад
Тип Comp в Lazarus: История, особенности и практическое применение
Среди множества встроенных типов данных в Lazarus и Free Pascal Compiler (FPC) тип Comp занимает особое, почти мифическое место. Разработчики, приходящие из Delphi, часто используют его по привычке, а новички находят в старом коде и недоумевают: что это за "странный" тип, который вроде бы и вещественный, но ведет себя как целый? В этой статье мы подробно разберем, что представляет собой тип Comp, в чем его ключевые отличия от других типов и, самое главное, существуют ли ситуации, где он незаменим...
1 месяц назад
Какие устройства нельзя подключать в синий USB-порт: мифы и реальность
Это отличный вопрос, который затрагивает тему, окруженную множеством мифов. Давайте разберемся, что такое синий USB-порт, чем он отличается от обычного, и главное — можно ли сломать устройство, подключив его «не туда». Краткий ответ: подключать можно любые устройства в любой порт, это безопасно. Слухи о том, что что-то сломается — это миф. Однако, чтобы получить максимальную скорость или корректную зарядку, важно понимать разницу между портами. Ниже подробный разбор. Главное отличие кроется не в цвете как таковом, а в стандарте, который за ним чаще всего закреплен...
115 читали · 1 месяц назад
Почему базы данных на схемах изображаются в виде цилиндров: Краткая история символа
Если вы когда-либо видели схему архитектуры программного обеспечения или диаграмму потоков данных, вы наверняка замечали, что базы данных на них почти всегда обозначаются одним и тем же символом — цилиндром. Эта визуальная метафора настолько устоялась, что мы редко задумываемся, откуда она взялась. Ответ кроется в физических носителях информации первых компьютеров. Задолго до появления привычных нам жестких дисков с круглыми пластинами, в 1950-х и 1960-х годах, компьютеры использовали для хранения данных так называемую барабанную память (drum memory)...
1 месяц назад