-
MY PROJECTS
-
Recent Posts
- Java.DBMigrationTools.What’s the impact of changing database credentials or URL during migration?
- Java.DBMigrationTools.What are common security concerns with migration tools?
- Java.DBMigrationTools.How can you ensure a schema migration is idempotent?
- Java.DBMigrationTools.How do you test migrations during pull request validation?
- Java.DBMigrationTools.How do you support rollbacks in Flyway (if at all)?
- Java.DBMigrationTools.How do you version control large changelog histories?
- Java.DBMigrationTools.How do you use migration tools in GitOps-based workflows?
- Java.DBMigrationTools.How do you detect and prevent duplicate changesets?
- Java.DBMigrationTools.How do you debug a failed migration in a pipeline?
- Java.DBMigrationTools.What causes a checksum mismatch and how do you fix it?
- Java.DBMigrationTools.How would you structure your changelog/migration folder hierarchy?
- Java.DBMigrationTools.How do you create migrations for read replicas or sharded systems?
- Java.DBMigrationTools.How can you log or monitor applied migrations in production?
- Java.DBMigrationTools.What strategies help avoid merge conflicts in changelog files?
- Java.DBMigrationTools.How do you simulate a migration on a dev database before applying to prod?
- Algo.Theory.Trees.TraverseOrders
- Java.DBMigrationTools.What’s the best approach to seed data with a migration tool?
- Java.DBMigrationTools.How do you deal with legacy databases in a migration tool?
- Java.DBMigrationTools.How do you write migrations that work in both MySQL and Postgres?
- Java.DBMigrationTools.CREATE INDEX without CONCURRENTLY (Postgres) and No non-transactional DDL when migrate
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: FireMonkey
Delphi. FireMonkey. Модальные окна
В Android нет модальных окон, в Windows они есть. Обойти это можно так.
|
1 2 3 4 5 6 7 8 9 10 11 |
procedure TfrmParent.TestModalWindowClick(Sender: TObject); var f: TForm1; begin f := TForm1.Create(Self); f.ShowModal(procedure(ModalResult : TModalResult) begin if ModalResult = mrOK then // do something here end); end; |
Уничтожить форму можно в момент закрытия
|
1 2 3 4 |
procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction); begin Action := TCloseAction.caFree; end; |
Гениально и просто !) Взял отсюда
Posted in Delphi, FireMonkey
Comments Off on Delphi. FireMonkey. Модальные окна
Delphi. FireMonkey. Get IMEI
Получение IMEI, пример работает на Delphi Berlin
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
function TSplashForm.GetIMEI: string; var obj: JObject; tm: JTelephonyManager; identifier: String; begin obj := SharedActivityContext.getSystemService(TJContext.JavaClass.TELEPHONY_SERVICE); if obj <> nil then begin tm := TJTelephonyManager.Wrap( (obj as ILocalObject).GetObjectID ); if obj<>nil then identifier := JStringToString(tm.getDeviceId); end; if identifier = '' then identifier := JStringToString(TJSettings_Secure.JavaClass.getString(SharedActivity.getContentResolver,TJSettings_Secure.JavaClass.ANDROID_ID)); Result:=identifier; end; |
Posted in Delphi, FireMonkey
Comments Off on Delphi. FireMonkey. Get IMEI
Delphi. FireMonkey. Настраиваем SDK, NDK, Java
Пишу небольшое приложение на FireMonkey для Android, пару часов настраивал вкладку SDK Manager, скачивал SDK, NDK, JRE, выставлял пути сам пару часов, бился об ошибки, но Delphi оказался умнее, надо было просто нажать кнопку на Add и далее Delphi ищет … Continue reading
Posted in Delphi, FireMonkey
Comments Off on Delphi. FireMonkey. Настраиваем SDK, NDK, Java
Delphi. FireMonkey. Первое приложение под Android – “Позвони маме”
В Delphi, насколько я вижу, под Android можно писать на Firemonkey – и тогда мы получим нативное приложение. А можно писать при помощи UniGUI фрэймворка и тогда мы получим приложение работающее через браузер, основанное на популярной библиотеке jQueryMobile. Плюс первого … Continue reading
Posted in Delphi, FireMonkey, Без рубрики
Comments Off on Delphi. FireMonkey. Первое приложение под Android – “Позвони маме”
Delphi. Get | Post запросы. Работа с cookie. HTTP Analyzer
Итак, в данном материале – расширим немного работу с Get | Post запросами. “Пошпионим” немного за веб-сервисами с помощью замечательной программы HTTP Analyzer, по-другому именуемой “сниффер”. Для тех, кто не знаком с тем, что это такое – привожу краткое определение … Continue reading
Posted in Delphi, Delphi и сети, FireMonkey, Indy, Парсинг
Comments Off on Delphi. Get | Post запросы. Работа с cookie. HTTP Analyzer
Работа с дисками, папками, файлами. Обзор 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
Ресурсы
Зачем нужны ресурсы? Чтобы защитить нужные файлы от изменений, скрыть от пользователя. И также, насколько я понимаю, если проводить аналогию с физическим миром это что-то вроде склада, где по отдельному идентификатору можно вызвать то или иное изображение, видео или другой … Continue reading
Posted in Delphi, FireMonkey
Comments Off on Ресурсы