-
MY PROJECTS
-
Recent Posts
- SpringBoot.Making our first starter and autoconfiguration
- Spring. Creating main annotation to start business logic
- Spring.Reading from properties file
- Spring.How to define spring version inside springBoot ?
- SpringBoot App inside Docker
- Kafka.FirstExperience
- Docker.MySql and Lost connection to MySQL server at ‘reading initial communication packet’, system error: 0
- Gradle.Tips
- Spring.AppConfig
- Leetcode.Best-time-to-buy-and-sell-stock
- LeetCode.ClimbStairs.Fibbonacci
- Leetcode.Roman-to-integer
- LeetCode.Palindrome-number
- Java.DesignPatterns.Lightweight
- Java.DesignPatterns.Proxy
- Java.DesignPatterns.Facade
- Java.DesignPatterns.Composite
- Java.DesignPatterns.Bridge
- Java. Strange OOP thing
- Java.Classpath
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)
- Регулярные выражения
- Тестирование приложений
Monthly Archives: January 2017
Delphi. Компонент DBGalleryViewer
Вот так он выглядит в тестовой программе. Работает поверх MySQL, переписать под другую базу, думаю, не составить труда. Основная цель – просмотреть файлы конкретного пользователя на сервере и что-то сделать с выделенными элементами. Также реализованы поиск вхождений по имени и точный … Continue reading
Posted in Delphi, Компонентостроение, Мои компоненты
Comments Off on Delphi. Компонент DBGalleryViewer
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 Простейший способ измерить время