-
MY PROJECTS
-
Recent Posts
- SQL.How can you compare two nullable values safely, and how does IS DISTINCT FROM differ from <>?
- SQL.How are NULL values ordered by ORDER BY, how do defaults differ between databases, and how can you control their placement?
- SQL.How does NULL propagate through arithmetic expressions, and how can COALESCE and NULLIF help handle missing values and division by zero?
- SQL.How does NULL affect join conditions, and why can filtering the right-hand table in WHERE remove unmatched rows from a LEFT JOIN?
- SQL.How do GROUP BY and DISTINCT treat NULL values, even though NULL = NULL evaluates to UNKNOWN?
- SQL.How do aggregate functions handle NULL, and what is the difference between COUNT(*), COUNT(column), and COUNT(DISTINCT column)?
- SQL.How does NULL affect IN and NOT IN, and why can NOT EXISTS be a safer choice when a subquery returns nullable values?
- SQL.How do WHERE, HAVING, and CHECK constraints treat conditions that evaluate to UNKNOWN?
- SQL.Why do column = NULL and column <> NULL not work as expected, and when should you use IS NULL and IS NOT NULL?
- SQL.What is SQL’s three-valued logic (TRUE, FALSE, UNKNOWN), and how do AND, OR, and NOT behave with UNKNOWN?
- ChromeDevTools.Watch all failed requests
- SQL.What are domain types (or constraints on data types), and how do they help enforce data correctness?
- SQL.How does SQL handle comparisons between different data types (for example, string vs number), and why is this dangerous?
- SQL.What is the difference between DATE, TIME, TIMESTAMP, and TIMESTAMPTZ, and which one should be used for business events?
- SQL.How do numeric types like INTEGER, BIGINT, DECIMAL, and FLOAT differ in terms of precision and use cases?
- SQL.What problems can arise from implicit type casting in SQL, and how can it affect indexes?
- SQL.How does NULL differ from 0, an empty string, or FALSE in SQL?
- SQL.What is the difference between CHAR, VARCHAR, and TEXT, and when would you choose each?
- SQL.What is MVCC ?
- SQL.What is AutoVacuum Postgres ?
Categories
- Aptana
- Azure
- C#
- DataSnap
- DBExpress
- Delphi
- Delphi и сети
- Delphi. Язык программирования
- ExtJS
- FastReport
- FireDAC
- FireMonkey
- GIT
- ICS
- IDE
- IIS
- Indy
- InnoSetup
- javascript
- jQuery
- JSON
- LiveBindings
- MSHTML
- MySQL
- PHP
- REST
- Ribbons
- SMS
- SQL инструкции
- SVN
- TRichView
- UniGui
- WebBroker
- WinAPI
- Windows
- Алгоритмы
- Без рубрики
- Деревья
- Ищу ответ
- Компонентостроение
- Мои компоненты
- Начальный уровень
- Обработка исключений
- Парсинг
- Потоки(Threads)
- Регулярные выражения
- Тестирование приложений
Category Archives: Delphi
Delphi. FireDAC добавление параметров в запрос. Шпаргалочка
Добавляем параметр в FDQuery, Допустим у нас есть запрос, скажем такой
|
1 2 |
SELECT COUNT(*) as CountOfRecords FROM coffeetest_db.foldersandfilesonserver where isFolder=0 and users_id=:users_id; |
И нам нужно добавить параметр users_id в FDQuery. Визуальный подход Вообще говоря, если вставить этот запрос в визуальный редактор FDQuery, то параметр обнаружится сам Единственное, надо будет указать … Continue reading
Delphi. Алгоритмы. Галерея своими руками или как выложить плитками фрэйм
Давно хотел записать это, так как часто пригождается, думаю транслировать на другие языки не составит труда. Итак, вот что у нас получится… Я пока не стал выкладывать никакие картинки, просто хочу здесь описать саму логику алгоритма. Сам алгоритм я взял … Continue reading
Алгоритмы. Delphi. C#. PHP. JS. Бинарный поиск в массивах на 4 языках
Продолжаем мультиязычные посты. Сегодня бинарный поиск. Все программы будут состоять из 2 частей – рандомное заполнение массивов с сортировкой. И вторая часть – собственно бинарный поиск. Delphi (бинарный поиск) Собственно реализация Функции бинарного поиска Integer и String массивов. Массивы предварительно … Continue reading
Posted in C#, Delphi, javascript, PHP
Comments Off on Алгоритмы. Delphi. C#. PHP. JS. Бинарный поиск в массивах на 4 языках
Delphi. Делаем простой DBPaginator на примере MySQL
Понадобилось ручное листание страниц (определенного заранее числа записей на странице). Пользуюсь FireDAC, знаю, что там это уже реализовано, но после нескольких попыток понял, что хочу сделать такую штуку сам, поскольку явно пригодится в других языках и технологиях. Итак, вот что … Continue reading
Delphi. WinAPI. CheckFileAccess – проверка прав файла на чтение / запись / исполнение и других
Под uses пишем
|
1 2 3 |
{$IF RTLVersion >= 20.00} {$DEFINE USEUNICODE} {$IFEND} |
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
const FILE_READ_DATA = $0001; FILE_WRITE_DATA = $0002; FILE_APPEND_DATA = $0004; FILE_READ_EA = $0008; FILE_WRITE_EA = $0010; FILE_EXECUTE = $0020; FILE_READ_ATTRIBUTES = $0080; FILE_WRITE_ATTRIBUTES = $0100; FILE_GENERIC_READ = (STANDARD_RIGHTS_READ or FILE_READ_DATA or FILE_READ_ATTRIBUTES or FILE_READ_EA or SYNCHRONIZE); FILE_GENERIC_WRITE = (STANDARD_RIGHTS_WRITE or FILE_WRITE_DATA or FILE_WRITE_ATTRIBUTES or FILE_WRITE_EA or FILE_APPEND_DATA or SYNCHRONIZE); FILE_GENERIC_EXECUTE = (STANDARD_RIGHTS_EXECUTE or FILE_READ_ATTRIBUTES or FILE_EXECUTE or SYNCHRONIZE); FILE_ALL_ACCESS = STANDARD_RIGHTS_REQUIRED or SYNCHRONIZE or $1FF; |
Функция из одного проекта со StackOverFlow
Posted in Delphi
Comments Off on Delphi. WinAPI. CheckFileAccess – проверка прав файла на чтение / запись / исполнение и других
Delphi. WinAPI. Получение дескриптора безопасности файла
Получение дескриптора безопасности файла По мотивам обсуждения на форуме Способ №1
|
1 2 3 4 5 6 7 8 9 10 11 |
// Loading from DLL function ConvertSecurityDescriptorToStringSecurityDescriptor_( SecurityDescriptor: PSECURITY_DESCRIPTOR; RequestedStringSDRevision: DWORD; SecurityInformation: SECURITY_INFORMATION; StringSecurityDescriptor: PPChar; StringSecurityDescriptorLen: PCardinal ): Boolean; stdcall; external 'ADVAPI32.DLL' name {$IFDEF USEUNICODE}'ConvertSecurityDescriptorToStringSecurityDescriptorW'{$ELSE} 'ConvertSecurityDescriptorToStringSecurityDescriptorA'{$ENDIF}; |
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
function TfMain.GetSecurityDescriptorInfoAboutFile(AFilePath:String):Boolean; var SD: PSECURITY_DESCRIPTOR; Len: Cardinal; s: PChar; begin GetFileSecurity(PChar(AFilePath), DACL_SECURITY_INFORMATION, nil, 0, Len); SD := HeapAlloc(GetProcessHeap, 8, Len); GetFileSecurity(PChar(AFilePath), DACL_SECURITY_INFORMATION, SD, Len, Len); ConvertSecurityDescriptorToStringSecurityDescriptor_(SD, SDDL_REVISION_1, DACL_SECURITY_INFORMATION, @s, @Len); HeapFree(GetProcessHeap, 0, SD); memo.Lines.Add(s) end; |
Способ №2 – дает информацию не только о DACL_SECURITY_INFORMATION, но и о SID владельца объекта и группы
Delphi. Мои компоненты. Компонент idHTTPClient. Отправка файлов по HTTP протоколу чанками, удаление файлов, отображение через базу данных
Данный компонент для загрузки на сервер файлов, отображения файлов, удаления, поиска, сортировки и так далее. Пользователь, в некотором документе хочет добавить файл – открывается клиент этого компонента – он видит те файлы, которые он уже загрузил ранее, и может загрузить … Continue reading
Posted in Delphi, Мои компоненты
Comments Off on Delphi. Мои компоненты. Компонент idHTTPClient. Отправка файлов по HTTP протоколу чанками, удаление файлов, отображение через базу данных
Простейший способ измерить время
Добавляем TTImer в программу Фиксируем начальное время и запускаем таймер в OnCreate или на какой-то кнопке
|
1 2 |
FStartDateTime:=Now(); tWorkingTime.Enabled:=True; |
Обработка таймера
|
1 2 3 4 5 6 7 |
procedure TfHTTPServer.tWorkingTimeTimer(Sender: TObject); var workingTime: TDateTime; begin workingTime := Now - FStartDateTime; lTimeOfWorking.Caption := FormatDateTime('hh:mm:ss',WorkingTime); end; |
Люблю быстрые и простые решения
Posted in Delphi
Comments Off on Простейший способ измерить время
Delphi. Алгоритмы. Создание уникального имени через добавление номера в конце в скобках. Например SomeFile(1), SomeFile(2) и др.
Итак, пусть у нас в некоторой директории находится файл SomeFile, сделаем так, чтобы при добавлении следующего файла с именем SomeFile, в директории оказался файл SomeFile(1), SomeFile(2), SomeFile(3). При отсутствии этого файла в директорию копируется просто файл. Данная задача возникла в … Continue reading