-
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. FastReportVCL – merge / concat many reports
I needed report from runtime and disign time to be merged, so below is simpliest way to do this…
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 |
procedure TReportSettingsEventsForm.concatReports(AresultReport: TfrxReport; a: array of TfrxReport); var i: Integer; ms: TMemoryStream; guid: TGUID; filename: string; guid2: TGUID; filename2: string; begin for i := Low(a) to High(a) do begin ms := TMemoryStream.Create(); try Createguid(guid); filename := guid.ToString() + '.fp3'; a[i].SaveToFile(filename); AresultReport.LoadFromFile(filename); AresultReport.PrepareReport(false); finally ms.free(); if TFile.Exists(filename) then TFile.Delete(filename); end; end; end; |
example of use
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
procedure TReportSettingsEventsForm.showReport; var a: array of TfrxReport; begin frxResources.LoadFromFile('Russian.frc'); // setting language PrepareDynamicReport(); MainReport.Clear(); a := [TitlePage_Runtime, Data_DesignTime, frxReport1]; concatReports(MainReport, a); with MainReport do begin PreviewOptions.ThumbnailVisible := true; ShowPreparedReport(); end; end; |
Building a composite report (batch printing) In some cases it is required to organize printing … Continue reading
Posted in Delphi, FastReport
Comments Off on Delphi. FastReportVCL – merge / concat many reports
Delphi. FastReportVCL – change language to Russian, example
for exmaple we will change language of previewer to russian find dir where languages are (for ex.)
|
1 |
C:\Program Files (x86)\FastReport 5 VCL Enterprise\Res\Russian |
open cmd and type
|
1 |
cd C:\Program Files (x86)\FastReport 5 VCL Enterprise\Res\Russian |
type
|
1 |
mk.bat |
you will recieve Russian.frc file In runtime call
|
1 |
uses frxRes; frxResources.LoadFromFile('russian.frc'); |
Posted in Delphi, FastReport
Comments Off on Delphi. FastReportVCL – change language to Russian, example
Delphi. TRichView. Замена текста на текст и контрола на текст
Понадобилось, было не очевидно, решил записать Способ №1 – на примере замены текста на таг итема (взято отсюда)
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
procedure TTestReportConstructor.ReplaceItemToTag(RVData: TCustomRVData; const OldText, NewText: String); var i,r,c: Integer; table: TRVTableItemInfo; s:string; //TRVRawByteString; begin for i := 0 to RVData.Items.Count-1 do if RVData.GetItemStyle(i)>=0 then begin // this is a text item s := RVData.GetItemText(i); //RVData.Items[i]; // call your function for replacing OldText with NewText in s here if s=OldText then s:=NewText; RVData.SetItemText(i,s); //RVData.Items[i] := s; end else if RVData.GetItemStyle(i)=rvsTable then begin table := TRVTableItemInfo(RVData.GetItem(i)); for r := 0 to table.Rows.Count-1 do for c := 0 to table.Rows[r].Count-1 do if table.Cells[r,c]<>nil then ReplaceItemToTag(table.Cells[r,c].GetRVData, OldText, NewText); table.Changed; end; end; |
Применение, пусть текст задан так [R]Что-то[/R], а в этом итеме “Какой-то таг”, тогда пройтись по всем итемам и заменить текст на … Continue reading
Delphi. Делаем template на свойства
В С# есть отличная конструкция при объявлении свойства {get;set}, при этом поля создаются автоматически. Отлично, подумал я и решил как-то упростить себе задачу объявления полей и свойств в Delphi. Вдохновившись постом Влада Баженова на тему создания шаблонов. я зашел в … Continue reading
Posted in Delphi
Comments Off on Delphi. Делаем template на свойства
Алгоритм Дейкстеры – поиск минимального пути на графе при не отрицательных весах ребер
Информация с Интуита… Итак, пусть граф задан матрицей смежности. Линейный массив dist будет хранить длины текущих путей от вершины s до всех остальных вершин. В начале этот массив будет инициирован числами MaxLongInt, символизирующими “бесконечность”. По окончании работы алгоритма в этом массиве останутся только минимальные значения длин … Continue reading
Posted in Delphi
Comments Off on Алгоритм Дейкстеры – поиск минимального пути на графе при не отрицательных весах ребер
Алгоритмы. Топологическая сортировка методом DFS
На входе бесконтурный орграф (если есть контуры то привет тебе товарищ, не сработает в чистом виде этот алгоритм). На выходе нужно получить упорядоченный список вершин графа. Для простоты зададим граф матрицей смежности… Берем за основу DFS и при каждом проходе … Continue reading
Posted in Delphi
Comments Off on Алгоритмы. Топологическая сортировка методом DFS
Delphi. Алгоритмы. DFS. Поиск в глубину рекурсивно
Своими словами. Берем первую вершину, смотрим, нет ли у нее инцидентных ребер (прямых потомков), если есть помечаем, повторяем процедуру для найденной вершины, и так до конца глубины. Возвращаемся, идем к соседней вершине, и так далее. interface
|
1 2 |
var IsVisitedGlobal:array [1..N] of boolean; |
init visited array … Continue reading
Delphi. Алгоритмы. BFS – обход графа в ширину
Теория хорошо описана на Вики. Суть в этой гифке ниже. Моя скромная реализация для представления графа в виде матрицы смежности. Ноль в матрице смежности означает отсутствие ребра между вершинами. Единица – наличие. В основе обхода в ширину – такая … Continue reading
Delphi. Алгоритмы. Создание графа на списках смежности
Повторяем основы. Теорию переписывать не буду, лишь моя скромная реализация базовых функций – добавить ребро, удалить ребро, найти ребро. Из которых впоследствии можно сделать граф на списках смежности. Основная идея графа на списках смежности как я понял для себя ещё … Continue reading
Posted in Delphi
Comments Off on Delphi. Алгоритмы. Создание графа на списках смежности
Delphi. VCL и не только. Делаем фильтр. Почти быстро и просто
Выглядеть он будет у нас вот так… Можно добавлять бесконечное число параметров для фильтрования. Это начальная версия, я расскажу идею, там ещё много всего надо доработать, но как идея вполне рабочая.