-
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: November 2015
Delphi. MSHTML. Загрузка страницы и парсинг
Все началось с того, что я учился парсингу из Delphi. Хотелось понять возможности Delphi в этом направлении. В сети очень, очень много разнообразной информации, тема давным давно изучена многими людьми, но для меня это новая информация. В данном посте я … Continue reading
Delphi. Как загрузить сайт для парсинга?
Наверное, самый простой способ загрузить сайт для парсинга это компонент TIdHTTP и его метод Get. Если открыть официальную документацию компонентов Indy, то можно увидеть следующее описание метода Get, компонента TidHTTP
1 2 3 |
function Get( AURL: string ): string; overload; |
И ещё одна его перегруженная версия, которая грузит сайт в … Continue reading
Posted in Delphi, Delphi и сети, Без рубрики
Comments Off on Delphi. Как загрузить сайт для парсинга?
Firemonkey. Мелкие формы или высокое разрешение.
Программируя на 15 дюймовом ноутбуке, заметил, что в XE7 разрешение приложений вполне приемлемое. А вот в XE10 Seattle на FireMonkey приложениях все стало очень мелким. При этом размеры у них абсолютно одинаковые 640 480. Пару дней искал в чем дело, … Continue reading
Posted in Без рубрики
Comments Off on Firemonkey. Мелкие формы или высокое разрешение.
Регулярные выражения. Практика
В прошлом посте я разбирался с теорией, сейчас попробую попрактиковаться в Delphi с разными примерами из разных блогов. Элементарно
1 2 3 4 5 6 7 8 9 10 |
//uses RegularExpressions ... procedure TForm.Button1Click(Sender: TObject); var RegEx: TRegEx; begin RegEx := TRegEx.Create('Hello');// Определяем то, что ищем, собственно регулярное выражение //Далее определяем текст, в котором ищем if RegEx.IsMatch('Hello world') then Caption := 'match'; end; |
Теперь тоже самое, но с использованием метасимволов
1 2 3 4 5 6 7 8 |
procedure TForm.ButtonClick(Sender: TObject); var RegEx:TRegEx; begin RegEx := TRegEx.Create('^H[\w]+o\b'); if RegEx.IsMatch('Hello world') then form.Caption := 'match'; end; |
Что написано в последнем коде? Разберем регулярное выражение
Posted in Delphi, Без рубрики, Регулярные выражения
Comments Off on Регулярные выражения. Практика
Регулярные выражения.Теория
Заинтересовался темой регулярных выражений. Серию постов про регулярные выражения, пишу для себя, чтобы разобраться и систематизировать информацию. Но если для Вас пост окажется полезным – буду рад. Зачем? Насколько я понимаю – для того, чтобы минимальным количеством кода находить информацию в тексте. … Continue reading
Posted in Delphi, Без рубрики, Регулярные выражения
Comments Off on Регулярные выражения.Теория
Как подключиться к удаленной БД MySQL и открыть другую форму после успешного подключения?
Что делаем? Пишем программу, которая открывает 2 форму, после успешного подключения к БД. Пишем в Delphi FireMonkey HD Application Исходные компоненты 1 форма – главная, откроется после успешного подключения
Работа с дисками, папками, файлами. Обзор System.IOUtils
uses System.IOUtils Список и размер дисков
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
procedure TForm1.bGetDisksClick(Sender: TObject); var SDA:TStringDynArray; i:integer; begin Combobox1.Clear; SDA:=Tdirectory.GetLogicalDrives; for i := 0 to High(SDA) do Combobox1.Items.Add(SDA[i]); Combobox1.ItemIndex:=0; end; //Размер диска (на примере диска С это номер 3 функции DiskSize) //Выводим в ListBox ListBox1.Clear; ListBox1.Items.Add( inttostr( DiskSize(3))+' bytes' ) ; |
Сбор сведений о каталогах и файлах
1 2 3 4 5 6 7 8 9 |
procedure TForm1.GetDirsAndFilesClick(Sender: TObject); var SDA:TStringDynArray; i:integer; begin SDA:=TDirectory.GetFileSystemEntries('C:\','*.*'); ListBox1.Clear; for i := 0 to High(SDA) do ListBox1.Items.Add(SDA[i]); end; {Также полезные функции GetFiles и GetDirectories} |
Posted in Delphi, FireMonkey, Без рубрики
Comments Off on Работа с дисками, папками, файлами. Обзор System.IOUtils
TAction simple example (Copy Cut Paste)
На форме FireMonkey – Memo, ActionList, MainMenu В ActionList добавим 3 элемента acCopy acCut acPaste Напишем обработчики для элементов ActionList
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
procedure TForm1.acCopyExecute(Sender: TObject); begin Memo.CopyToClipboard; end; procedure TForm1.acCutExecute(Sender: TObject); begin Memo.CutToClipboard; end; procedure TForm1.acPasteExecute(Sender: TObject); begin Memo.PasteFromClipboard; end; |
Далее – актуализируем через Update
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
procedure TForm1.acCopyUpdate(Sender: TObject); begin acCopy.Enabled := (Memo.SelLength>0); end; procedure TForm1.acCutUpdate(Sender: TObject); begin acCut.Enabled:=(Memo.SelLength>0) end; procedure TForm1.acPasteUpdate(Sender: TObject); var Clip:IFMXClipboardService; s:string; begin if TPlatformServices.Current.SupportsPlatformService(IFMXClipboardService,IInterface(Clip)) then begin s:=Clip.GetClipboard.ToString; acPaste.Enabled:=s.Length>0 end else acPaste.Enabled:=false; end; |
Posted in Delphi, FireMonkey
Comments Off on TAction simple example (Copy Cut Paste)
PopupMenu
Самый простой способ подключить TPopupMenu – воспользоваться свойством PopupMenu. На рис. ниже пример для компонента TImage Но, к сожалению не у всех компонентов есть это свойство, например, его нет у TForm. Если у компонента нет свойства Popup, то можно подключить … Continue reading
Posted in Delphi, FireMonkey, Без рубрики
Comments Off on PopupMenu
PHP, трабл с кодировкой (решено)
в php.ini переменную output_buffering поставить в значение On в файле скрипта, в самом начале, БЕЗ ЕДИНОГО ПРОБЕЛА прописать
1 |
<?php header('Content-Type: text/html; charset=utf-8'); ?> |
Posted in PHP, Без рубрики
Comments Off on PHP, трабл с кодировкой (решено)