Форум программистов, компьютерный форум, киберфорум
Delphi
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
Старый
Создание Single Page Application на фреймах
Запись от krapotkin размещена 16.11.2025 в 20:20
Показов 11932 Комментарии 3
Метки delphi, spa

Статья исключительно для начинающих. Подходы оригинальностью не блещут.

В век Веб все очень привыкли к дизайну Single-Page-Application .
Быстренько разберем подход "на фреймах".
Мы делаем одну главную форму, на которой меняем "начинку".
Разница с "классическим"...
Аватар для krapotkin
Старый
Рейтинг: 5.00. Голосов: 1.
Lazarus. Таблица с объединением ячеек.
Запись от Massaraksh7 размещена 21.03.2025 в 15:54 / Библиотека матвычислений на Delphi.
Показов 6614 Комментарии 0
Метки delphi, lazarus

Понадобилась представление на экране таблицы с объединёнными ячейками. И не одной, а штук триста, и все разные. На Delphi я использовал для этих целей TStringGrid, и то, кривовато получалось. А в Lazarus - не получается вообще. Тут при установленном свойстве DefaultDrawing всё равно рисует то, что...
Аватар для Massaraksh7
Айлурофил
Старый
Окончание
Запись от Massaraksh7 размещена 09.03.2025 в 11:32 / Библиотека матвычислений на Delphi.
Показов 2471 Комментарии 2
Метки delphi

Анимация динамики просадки фундамента за несколько лет.
Видео
Аватар для Massaraksh7
Айлурофил
Старый
Концепция variadic
Запись от CoderHuligan размещена 04.03.2025 в 20:00
Показов 2921 Комментарии 9
Метки delphi

Мне не очень нравится (а кому это нравится?) что у нас есть отдельно компилятор, отдельно линковщик, причем со своим собственным командным языком. При этом усложнении надо знать помимо языка компилятора, еще и язык ликера. Но кто их знает в совершенстве? Обычно достаточно знать...
Аватар для CoderHuligan
Старый
Рейтинг: 5.00. Голосов: 1.
Реализуем вызовы HTTP API
Запись от krapotkin размещена 01.10.2023 в 12:54
Показов 3674 Комментарии 0
Метки delphi, http, rest api, web api

Мотивация

В настоящее время на смену родному для делфи клиент-серверному приложению, подключенному намертво к базе данных,
пришли те, что получают данные через HTTP запросы к какому-то API.
В современных версиях делфи есть библиотека REST API, но к ней иногда возникают вопросики...
Аватар для krapotkin
Старый
How To Store Cross Platform App Settings In JSON
Запись от krapotkin размещена 19.12.2022 в 11:33
Показов 1745 Комментарии 0
Метки delphi, json

написал вот статейку
https://blogs.embarcadero.com/... gs-in-json
Аватар для krapotkin
Старый
Рейтинг: 5.00. Голосов: 4.
Пострение карт поверхностей
Запись от Newby52 размещена 09.06.2022 в 06:44
Показов 1016 Комментарии 2
Метки delphi

Объект, который создаёт карту двумерной поверхности в двух вариантах:
- в виде изолиний
- в виде карты цветов
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
unit IsoLines;
 
interface
 
uses Math, Graphics, Windows, Common;
 
type InterpolFunc = Function(X,Y:Extended):Extended;
 
type T3DPoint=record
              x:Extended;
              y:Extended;
              z:Extended;
              end;
 
type T2DLine =record
...
Аватар для Newby52
Старый
Рейтинг: 5.00. Голосов: 2.
АнтиМат 1.0 - проверяем текст на оскорбительность (Исходники прилагаются)
Запись от DjSens размещена 12.10.2021 в 22:03
Показов 4569 Комментарии 21

Чтобы облегчить себе модерацию сообщений в моём будущем проекте, я написал алгоритм проверки текста на оскорбительность.
С огромным чёрным списком и со списком слов-исключений "белый список" (чтоб не реагировало на слова типа "команда" или "пЛОХой").

Дарю исходники всем желающим, можете перевести алгоритм...
Аватар для DjSens
Старый
Про "таски"
Запись от krapotkin размещена 03.03.2021 в 08:37
Показов 4555 Комментарии 0
Метки delphi

Про TThread стало понятнее. Давайте про TTask поговорим.

Обычно все начинают с чтения этого блога. Там все написано хорошо, но иногда остаются вопросы.

Про таски надо размышлять так:
видали в полицейских боевиках брифинг перед операцией?
вот это то же самое
мы проводим брифинг, раздаем каждому...
Аватар для krapotkin
Старый
Рейтинг: 4.00. Голосов: 1.
TestBufferedFileStream
Запись от qwertehok размещена 25.05.2020 в 23:04
Показов 1282 Комментарии 0
Метки delphi

Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
procedure TestBufferedFileStream(const sFileName: String; 
                                 const iBufferSize: Integer);
var
  fs: TBufferedFileStream;
  sr: TStreamReader;
  sw: TStopwatch;
  st: String;
begin
  sw := TStopwatch.StartNew;
  fs := TBufferedFileStream.Create(sFileName, fmOpenRead, iBufferSize);
  try
    sr := TStreamReader.Create(fs);
    try
      while not sr.EndOfStream do
...
Старый
Рейтинг: 5.00. Голосов: 1.
Учет ТМЦ
Запись от krapotkin размещена 13.06.2019 в 09:44
Показов 4804 Комментарии 4
Метки delphi

Очень часто встречаются темы "как перенести товары из одной таблицы в другую", "как при продаже обновить остатки", "как перед продажей проверить количество на складе"
И все эти темы относятся к классическому XYZ.
Не нужно так делать.

Золотой пули конечно нет, но общий подход при любой работе с ценностями - товарами, деньгами, информацией - таков:
ничего не стоит редактировать и удалять, нужно вести регистрацию событий.
...
Аватар для krapotkin
Старый
Рейтинг: 5.00. Голосов: 2.
Резюмешечка)
Запись от krapotkin размещена 16.04.2019 в 10:07
Показов 3737 Комментарии 7
Метки delphi

Что я успел за эти годы поделать на Делфи?
Каждый раз, глядя в свое резюме, перебираю в памяти эти программки.

Первая моя работа - на делфи 2 - я писал распознавание диаграммных лент.
В то время, да и сейчас, работа со сканером - это нифига не общий момент. Пришлось...
Аватар для krapotkin
Старый
Пара нюансов при создании службы (Windows Service) и не только
Запись от Jin X размещена 26.03.2019 в 16:27
Показов 16029 Комментарии 0

Пара нюансов при создании службы (Windows Service) и не только

Пишу службу (Windows Service) на Delphi через VCL. В том же EXE-шнике делаю конфигуратор с оконным интерфейсом.
Получается так:
  • При запуске с опцией /install служба устанавливается (встроенная фича TServiceApplication).
  • При запуске с опцией /uninstall служба удаляется (встроенная фича TServiceApplication).
  • При запуске с опцией /config запускается конфигуратор.
  • Запуск службы
...
Аватар для Jin X
Asm/C++/Delphi/Py/PHP/VBA
Старый
DateTimePicker – либо дата, либо время... или нет
Запись от Jin X размещена 14.03.2019 в 21:00
Показов 15194 Комментарии 4

DateTimePicker – либо дата, либо время... или нет?

Что не так?

На днях я столкнулся с такой проблемой. В DelphiC++Builder) имеется компонент класса TDateTimePicker, позволяющий пользователю вполне удобным образом выбирать дату или время. Ключевой момент: дату ИЛИ время. Что именно – определяется опубликованным (published) свойством Kind, которое может принимать значение dtkDate или dtkTime...
Аватар для Jin X
Asm/C++/Delphi/Py/PHP/VBA
Старый
Настройка путей стороннего компонента
Запись от DenNik размещена 25.02.2019 в 12:41
Показов 4103 Комментарии 0

Итак, мы установили новый компонент, в котором присутствуют также исходники (то бишь pas-файлы). Теперь нужно настроить пути в IDE, чтобы проект с участием компонента компилировался. Я неоднократно устанавливал сторонние компоненты, кое-как настраивал пути и все это кое-как работало . А "кое-как" проявлялось вот в чём:
иногда при компиляции проекта я обнаруживал, что все DCU, относящиеся к компоненту, копировались в папку с проектом, причём при...
Аватар для DenNik
Житель Земли
Старый
Рейтинг: 4.00. Голосов: 1.
Что не так с Form1.Caption
Запись от krapotkin размещена 18.09.2018 в 22:19
Показов 5074 Комментарии 3
Метки delphi

Очень распространенная ошибка новичков это обращение в методах класса к переменным этого же класса
Почему это распространено - да потому что Delphi с доисторических времен при создании формы создает не только класс, ее описывающий, но и переменную этого класса, и даже автоматически создает объект и хранит его в этой переменной
Delphi
1
2
3
4
5
6
TForm1=class(TForm)
...
end;
 
var
  Form1: TForm1;
и новичкам кажется что это такое специальное...
Аватар для krapotkin
Старый
Рейтинг: 5.00. Голосов: 1.
Delphi Community Edition
Запись от krapotkin размещена 29.07.2018 в 16:48
Показов 17018 Комментарии 12
Метки delphi

Свершилось чудо.
Июль 2018 !
Делфи получила бесплатную версию. Community Edition
Про Starter не напоминайте. Она урезана по самое не хочу.

Это практически полная версия Delphi Professional. Не забываем, что недавно в Professional поместили еще и Mobile Pack!!!
Можно писать для Win32, Win64, Andriod....
Аватар для krapotkin
Старый
Индикатор загрузки
Запись от krapotkin размещена 24.06.2018 в 09:08
Показов 4934 Комментарии 4
Метки delphi

Встречаются два вида долгих операций
Прогресс одних мы знаем и можем вывести в процентах. Например, состояние расчета или скачивание большого файла.
Другие операции неизвестно сколько времени займут, а иногда и вообще неизвестно, закончатся ли.

При проектировании интерфейса нужно запомнить одно
Сама операция должна быть вынесена в отдельный поток. А индикатор должен крутиться в главном.

Общая идея
1. Стартовать индикатор...
Аватар для krapotkin
Старый
Использование Firebird вместо ADO
Запись от krapotkin размещена 12.06.2018 в 09:16
Показов 3704 Комментарии 3
Метки db, delphi, firebird

Итак, после статьи Что не так с ADO нужно предложить альтернативу страдающим школьникам на древней как фекалии мамонта D7.

Начиная с Delphi 7 есть прекрасный альтернативный вариант - бесплатная (а не пиратский Access !) БД Firebird и компоненты IBX
с чудной документацией https://www.ibase.ru/ibx/
Для управления этой БД так же лицензионно-халявно идет IBExpert - прекрасное средство управления БД Firebird/Interbase
http://www.ibexpert.com/rus/ibe_sfx.exe
...
Аватар для krapotkin
Старый
Рейтинг: 5.00. Голосов: 1.
Что не так с ADO
Запись от krapotkin размещена 12.06.2018 в 08:54
Показов 3778 Комментарии 5
Метки db, delphi

Технология и компоненты ADO в силу некоторых причин на этом форуме пользуется абсолютно незаслуженной популярностью.
На самом же деле, ОСОБЕННО если вы новичок, то вы получаете не более простое, а наоборот, наиболее сложное решение ваших задач по работе с БД.

Как правильно подключаться к БД
Ваша программа и БД только во время разработки будет лежать в определенном вами месте. Как только...
Аватар для krapotkin
Старый
Пишем тест. Уровень Beginner. Урок 1
Запись от krapotkin размещена 19.05.2018 в 18:28
Показов 5456 Комментарии 20
Метки delphi

Давайте еще раз. Напишем очередной тест

Раз пошла такая пьянка, делаем полный разбор, начиная с проектирования
Что нам нужно знать о программе
Хранение данных.
Первое что надо обдумать. Сейчас думать не будем вообще, потому что уровень Beginner.
Пусть у нас есть текстовый файл, который содержит две строки в начале
первая...
Аватар для krapotkin
Старый
Что нужно знать о датасетах и DB-компонентах
Запись от krapotkin размещена 16.05.2018 в 09:10
Показов 6576 Комментарии 18
Метки db, delphi

Ахтунг! Аттеншн! Внимание!
1. Все DB-компоненты ОТОБРАЖАЮТ текущую запись и поле датасета, к которому они подключены. НЕ ХРАНЯТ!!!
Они являются элементами ИНТЕРФЕЙСА - т.е. штуками для работы пользователя! Не программиста!!!
Нет смысла брать текст из DBEdit, его надо брать из поля датасета, к которому этот DBEdit подключен.
И наоборот, писать туда значение - такая же...
Аватар для krapotkin
Старый
Рейтинг: 5.00. Голосов: 2.
SQL запросы и параметры
Запись от krapotkin размещена 11.05.2018 в 10:37
Показов 26992 Комментарии 0

ВВЕДЕНИЕ. ЛИКБЕЗ
Как всегда, в тот момент, когда несколько подзадолбало отвечать на одни и те же вопросы, садишься и пишешь статью, чтобы потом не разжевывать самые азы, а эффектно пулять ссылкой)

Итак. Работа с БД - это то, из-за чего Делфи, как минимум, на десятилетие, стала...
Аватар для krapotkin
Старый
Рейтинг: 5.00. Голосов: 2.
ProcessMessages
Запись от krapotkin размещена 30.08.2017 в 06:54
Показов 13344 Комментарии 9
Метки delphi

Как только я вижу в чьем-то коде Application.ProcessMessages, я сразу вспоминаю -
несчастные случаи на стройке

Поясню:
Вся программа на делфи выглядит примерно так
Delphi
1
2
3
Application.Initialize;
Application.CreateForm(Form1,TForm1);
Application.Run;
вот если посмотреть код в Application.Run, мы увидим (весьма примерно)
Delphi
1
2
while not Application.Terminated do
  Application.ProcessMessages;
итого. пока приложению...
Аватар для krapotkin
Старый
Рейтинг: 5.00. Голосов: 2.
Процесс инициализации программы, с настройками и подключением к БД
Запись от krapotkin размещена 20.08.2017 в 20:01
Показов 8304 Комментарии 2
Метки db, delphi

Пока не началось
Все шаги по разбору на старте приложения я стараюсь выполнять в переопределенном конструкторе главной формы.
Это не догма, просто так удобнее.
Мы можем делать это и в событии OnCreate, но тогда если мы решили выйти из приложения, то сначала все равно создастся и криво покажется форма и после этого сразу мигнет и пойдет на выход.
Чтобы исключить эти спецэффекты пишем в классе формы переопределение конструктора
Delphi
1
2
TMainForm=class(TForm)
...
...
Аватар для krapotkin
Старый
Программа и ее настройки
Запись от krapotkin размещена 20.08.2017 в 17:55
Показов 9275 Комментарии 5
Метки delphi

Сразу после создания своей самой лучшей программы, встает вопрос, а нельзя ли например запоминать, к какой БД я подключался, каково состояние Form18.CheckBox1.Checked было при выходе из программы, и много других крайне нужных вещей.

Ответ очевиден. Думать об этом стоит ДО создания самой лучшей программы.

Итак, для хранения настроек программы нам понадобятся
1. Класс
Delphi
1
TMySettings = class ... end;
2. Класс или запись
Delphi
1
2
TDBSettings = record
  server:string;
...
Аватар для krapotkin
Старый
Рейтинг: 3.67. Голосов: 6.
Про потоки
Запись от krapotkin размещена 13.08.2017 в 10:03
Показов 32348 Комментарии 59
Метки delphi

Сразу, в первой строке.
Потоки не должны ничего читать и писать в формах и компонентах!!!
Все, что нужно им для работы, задавайте им до старта, и забирайте результат после выполнения

Сама концепция потоков проста. Вы можете мыслить их как корабль, отправляющийся...
Аватар для krapotkin
Старый
Рейтинг: 1.00. Голосов: 1.
Как правильно сделать форму логина
Запись от krapotkin размещена 13.08.2017 в 08:46
Показов 14840 Комментарии 30
Метки delphi

Как ни странно, но часто создание сценария входа в программу становится довольно сложным препятствием при построении архитектуры приложения у молодых программистов. Давайте попробуем сделать хороший пример.

Итак, сначала должен быть сценарий. Вот он.
Стартует...
Аватар для krapotkin
Старый
Рейтинг: 3.67. Голосов: 3.
Создание и использование форм
Запись от krapotkin размещена 13.08.2017 в 08:09
Показов 14812 Комментарии 23
Метки delphi

Формы это то что придумано для взаимодействия вашей модели данных с пользователем.
Совсем НЕ для хранения глобальных переменных, настроек и прочей требухи.
Они должны создаваться в тот момент, когда понадобились, и уничтожаться после использования.
Поэтому первое,...
Аватар для krapotkin
Новые блоги и статьи
Debian 13: Установка Lazarus QT5
ВитГо 09.05.2026
Эта инструкция моя компиляция инструкций volvo https:/ / www. cyberforum. ru/ blogs/ 203668/ 10753. html и его же старой инструкции по установке Lazarus с gtk2. . .
Нейросеть на алгоритме "эстафета хвоста" как перспектива.
Hrethgir 06.05.2026
На десерт, когда запущу сервер. Статья тут https:/ / habr. com/ ru/ articles/ 1030914/ . Автор я сам, нейросеть только помогает в вопросах которые мне не известны - не знаю людей которые знали-бы. . .
Асинхронный приём данных из COM-порта
Argus19 01.05.2026
Асинхронный приём данных из COM-порта Купил на aliexpress термопринтер QR701. Он оказался странным. Поключил к Arduino Nano. Был очень удивлён. Наотрез отказывается печатать русские буквы. Чтобы. . .
попытка написать игровой сервер на C++
pyirrlicht 29.04.2026
попытка написать игровой сервер на плюсах с открытым бесконечным миром. возможно получится прикрутить интерпретатор питон для кастомизации игровой логики. что есть на текущий момент:. . .
Контроль уникальности выбранного документа-основания при изменении реквизита
Maks 28.04.2026
Алгоритм из решения ниже разработан на примере нетипового документа "ЗаявкаНаРемонтСпецтехники", разработанного в КА2. Задача: уведомлять пользователя, если указанная заявка (документ-основание). . .
Благородство как наказание
Maks 24.04.2026
У хорошего человека отношения с женщинами всегда складываются трудно. А я человек хороший. Заявляю без тени смущения, потому что гордиться тут нечем. От хорошего человека ждут соответствующего. . .
Валидация и контроль данных табличной части документа перед записью
Maks 22.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в КА2. Задача: контроль и валидация данных табличной части документа перед записью с учетом регламента компании. . .
Отчёт о затраченных материалах за определенный период с макетом печатной формы
Maks 21.04.2026
Отчёт из решения ниже размещён в конфигурации КА2. Задача: разработка отчёта по затраченным материалам за определённый период, с возможностью вывода печатной формы отчёта с шапкой и подвалом. В. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru