From 1812f938293cb4fd17a8637a6bda51cb576650d6 Mon Sep 17 00:00:00 2001 From: Patrick PREMARTIN Date: Sun, 13 Nov 2022 15:04:54 +0100 Subject: [PATCH] project source code (version 20221113) --- src/FediverseGETURLTester.dpr | 20 + src/FediverseGETURLTester.dproj | 1462 +++++++++++++++++++++++++++++++ src/fMain.fmx | 442 ++++++++++ src/fMain.pas | 228 +++++ src/info.plist.TemplateOSX.xml | 21 + 5 files changed, 2173 insertions(+) create mode 100644 src/FediverseGETURLTester.dpr create mode 100644 src/FediverseGETURLTester.dproj create mode 100644 src/fMain.fmx create mode 100644 src/fMain.pas create mode 100644 src/info.plist.TemplateOSX.xml diff --git a/src/FediverseGETURLTester.dpr b/src/FediverseGETURLTester.dpr new file mode 100644 index 0000000..a2e57bd --- /dev/null +++ b/src/FediverseGETURLTester.dpr @@ -0,0 +1,20 @@ +program FediverseGETURLTester; + +uses + System.StartUpCopy, + FMX.Forms, + fMain in 'fMain.pas' {frmMain}, + u_urlOpen in '..\lib-externe\librairies\u_urlOpen.pas', + Olf.FMX.AboutDialog in '..\lib-externe\BoiteDeDialogueAPropos\sources\Olf.FMX.AboutDialog.pas', + Olf.FMX.AboutDialogForm in '..\lib-externe\BoiteDeDialogueAPropos\sources\Olf.FMX.AboutDialogForm.pas' {OlfAboutDialogForm}, + Olf.RTL.Params in '..\lib-externe\librairies\Olf.RTL.Params.pas', + uChecksumVerif in '..\lib-externe\librairies\uChecksumVerif.pas', + u_md5 in '..\lib-externe\librairies\u_md5.pas'; + +{$R *.res} + +begin + Application.Initialize; + Application.CreateForm(TfrmMain, frmMain); + Application.Run; +end. diff --git a/src/FediverseGETURLTester.dproj b/src/FediverseGETURLTester.dproj new file mode 100644 index 0000000..2c2c14d --- /dev/null +++ b/src/FediverseGETURLTester.dproj @@ -0,0 +1,1462 @@ + + + {47AE0CCD-6230-47B2-B855-BC7CB8023743} + 19.5 + FMX + True + Debug + Win32 + 135299 + Application + FediverseGETURLTester.dpr + iMac + MacOSX10.14.sdk + + + true + + + true + Base + true + + + true + Base + true + + + true + Base + true + + + true + Base + true + + + true + Base + true + + + true + Base + true + + + true + Base + true + + + true + Base + true + + + true + Base + true + + + true + Base + true + + + true + Cfg_1 + true + true + + + true + Cfg_1 + true + true + + + true + Cfg_1 + true + true + + + true + Cfg_1 + true + true + + + true + Base + true + + + true + Cfg_2 + true + true + + + true + Cfg_2 + true + true + + + true + Cfg_2 + true + true + + + true + Cfg_2 + true + true + + + .\$(Platform)\$(Config) + .\$(Platform)\$(Config) + false + false + false + false + false + System;Xml;Data;Datasnap;Web;Soap;$(DCC_Namespace) + true + true + true + true + true + true + true + true + $(BDS)\bin\delphi_PROJECTICON.ico + $(BDS)\bin\delphi_PROJECTICNS.icns + FediverseGETURLTester + + + fmx;DbxCommonDriver;bindengine;IndyIPCommon;emsclient;FireDACCommonDriver;IndyProtocols;RadiantShapesFmx_Design;IndyIPClient;dbxcds;FmxTeeUI;bindcompfmx;Olf.FMX.AboutBoxPackage;ibmonitor;FireDACSqliteDriver;DbxClientDriver;soapmidas;fmxFireDAC;dbexpress;inet;DataSnapCommon;fmxase;dbrtl;FireDACDBXDriver;CustomIPTransport;DBXInterBaseDriver;IndySystem;RadiantShapesFmx;ibxbindings;bindcomp;FireDACCommon;IndyCore;RESTBackendComponents;bindcompdbx;rtl;RESTComponents;DBXSqliteDriver;IndyIPServer;dsnapxml;DataSnapClient;DataSnapProviderClient;DataSnapFireDAC;emsclientfiredac;FireDAC;FireDACDSDriver;xmlrtl;tethering;ibxpress;dsnap;CloudService;FMXTee;DataSnapNativeClient;soaprtl;soapserver;FireDACIBDriver;$(DCC_UsePackage) + package=com.embarcadero.$(MSBuildProjectName);label=$(MSBuildProjectName);versionCode=1;versionName=1.0.0;persistent=False;restoreAnyVersion=False;installLocation=auto;largeHeap=False;theme=TitleBar;hardwareAccelerated=true;apiKey= + Debug + true + $(BDS)\bin\Artwork\Android\FM_LauncherIcon_36x36.png + $(BDS)\bin\Artwork\Android\FM_LauncherIcon_48x48.png + $(BDS)\bin\Artwork\Android\FM_LauncherIcon_72x72.png + $(BDS)\bin\Artwork\Android\FM_LauncherIcon_96x96.png + $(BDS)\bin\Artwork\Android\FM_LauncherIcon_144x144.png + $(BDS)\bin\Artwork\Android\FM_LauncherIcon_192x192.png + $(BDS)\bin\Artwork\Android\FM_SplashImage_426x320.png + $(BDS)\bin\Artwork\Android\FM_SplashImage_470x320.png + $(BDS)\bin\Artwork\Android\FM_SplashImage_640x480.png + $(BDS)\bin\Artwork\Android\FM_SplashImage_960x720.png + $(BDS)\bin\Artwork\Android\FM_NotificationIcon_24x24.png + $(BDS)\bin\Artwork\Android\FM_NotificationIcon_36x36.png + $(BDS)\bin\Artwork\Android\FM_NotificationIcon_48x48.png + $(BDS)\bin\Artwork\Android\FM_NotificationIcon_72x72.png + $(BDS)\bin\Artwork\Android\FM_NotificationIcon_96x96.png + annotation-1.2.0.dex.jar;asynclayoutinflater-1.0.0.dex.jar;billing-4.0.0.dex.jar;browser-1.0.0.dex.jar;cloud-messaging.dex.jar;collection-1.0.0.dex.jar;coordinatorlayout-1.0.0.dex.jar;core-1.5.0-rc02.dex.jar;core-common-2.0.1.dex.jar;core-runtime-2.0.1.dex.jar;cursoradapter-1.0.0.dex.jar;customview-1.0.0.dex.jar;documentfile-1.0.0.dex.jar;drawerlayout-1.0.0.dex.jar;firebase-annotations-16.0.0.dex.jar;firebase-common-20.0.0.dex.jar;firebase-components-17.0.0.dex.jar;firebase-datatransport-18.0.0.dex.jar;firebase-encoders-17.0.0.dex.jar;firebase-encoders-json-18.0.0.dex.jar;firebase-iid-interop-17.1.0.dex.jar;firebase-installations-17.0.0.dex.jar;firebase-installations-interop-17.0.0.dex.jar;firebase-measurement-connector-19.0.0.dex.jar;firebase-messaging-22.0.0.dex.jar;fmx.dex.jar;fragment-1.0.0.dex.jar;google-play-licensing.dex.jar;interpolator-1.0.0.dex.jar;javax.inject-1.dex.jar;legacy-support-core-ui-1.0.0.dex.jar;legacy-support-core-utils-1.0.0.dex.jar;lifecycle-common-2.0.0.dex.jar;lifecycle-livedata-2.0.0.dex.jar;lifecycle-livedata-core-2.0.0.dex.jar;lifecycle-runtime-2.0.0.dex.jar;lifecycle-service-2.0.0.dex.jar;lifecycle-viewmodel-2.0.0.dex.jar;listenablefuture-1.0.dex.jar;loader-1.0.0.dex.jar;localbroadcastmanager-1.0.0.dex.jar;play-services-ads-20.1.0.dex.jar;play-services-ads-base-20.1.0.dex.jar;play-services-ads-identifier-17.0.0.dex.jar;play-services-ads-lite-20.1.0.dex.jar;play-services-base-17.5.0.dex.jar;play-services-basement-17.6.0.dex.jar;play-services-cloud-messaging-16.0.0.dex.jar;play-services-drive-17.0.0.dex.jar;play-services-games-21.0.0.dex.jar;play-services-location-18.0.0.dex.jar;play-services-maps-17.0.1.dex.jar;play-services-measurement-base-18.0.0.dex.jar;play-services-measurement-sdk-api-18.0.0.dex.jar;play-services-places-placereport-17.0.0.dex.jar;play-services-stats-17.0.0.dex.jar;play-services-tasks-17.2.0.dex.jar;print-1.0.0.dex.jar;room-common-2.1.0.dex.jar;room-runtime-2.1.0.dex.jar;slidingpanelayout-1.0.0.dex.jar;sqlite-2.0.1.dex.jar;sqlite-framework-2.0.1.dex.jar;swiperefreshlayout-1.0.0.dex.jar;transport-api-3.0.0.dex.jar;transport-backend-cct-3.0.0.dex.jar;transport-runtime-3.0.0.dex.jar;user-messaging-platform-1.0.0.dex.jar;versionedparcelable-1.1.1.dex.jar;viewpager-1.0.0.dex.jar;work-runtime-2.1.0.dex.jar + + + fmx;DbxCommonDriver;bindengine;IndyIPCommon;emsclient;FireDACCommonDriver;IndyProtocols;RadiantShapesFmx_Design;IndyIPClient;dbxcds;FmxTeeUI;bindcompfmx;Olf.FMX.AboutBoxPackage;ibmonitor;FireDACSqliteDriver;DbxClientDriver;soapmidas;fmxFireDAC;dbexpress;inet;DataSnapCommon;dbrtl;FireDACDBXDriver;CustomIPTransport;DBXInterBaseDriver;IndySystem;RadiantShapesFmx;ibxbindings;bindcomp;FireDACCommon;IndyCore;RESTBackendComponents;bindcompdbx;rtl;RESTComponents;DBXSqliteDriver;IndyIPServer;dsnapxml;DataSnapClient;DataSnapProviderClient;DataSnapFireDAC;emsclientfiredac;FireDAC;FireDACDSDriver;xmlrtl;tethering;ibxpress;dsnap;CloudService;FMXTee;DataSnapNativeClient;soaprtl;soapserver;FireDACIBDriver;$(DCC_UsePackage) + package=com.embarcadero.$(MSBuildProjectName);label=$(MSBuildProjectName);versionCode=1;versionName=1.0.0;persistent=False;restoreAnyVersion=False;installLocation=auto;largeHeap=False;theme=TitleBar;hardwareAccelerated=true;apiKey= + Debug + true + $(BDS)\bin\Artwork\Android\FM_LauncherIcon_36x36.png + $(BDS)\bin\Artwork\Android\FM_LauncherIcon_48x48.png + $(BDS)\bin\Artwork\Android\FM_LauncherIcon_72x72.png + $(BDS)\bin\Artwork\Android\FM_LauncherIcon_96x96.png + $(BDS)\bin\Artwork\Android\FM_LauncherIcon_144x144.png + $(BDS)\bin\Artwork\Android\FM_LauncherIcon_192x192.png + $(BDS)\bin\Artwork\Android\FM_SplashImage_426x320.png + $(BDS)\bin\Artwork\Android\FM_SplashImage_470x320.png + $(BDS)\bin\Artwork\Android\FM_SplashImage_640x480.png + $(BDS)\bin\Artwork\Android\FM_SplashImage_960x720.png + $(BDS)\bin\Artwork\Android\FM_NotificationIcon_24x24.png + $(BDS)\bin\Artwork\Android\FM_NotificationIcon_36x36.png + $(BDS)\bin\Artwork\Android\FM_NotificationIcon_48x48.png + $(BDS)\bin\Artwork\Android\FM_NotificationIcon_72x72.png + $(BDS)\bin\Artwork\Android\FM_NotificationIcon_96x96.png + annotation-1.2.0.dex.jar;asynclayoutinflater-1.0.0.dex.jar;billing-4.0.0.dex.jar;browser-1.0.0.dex.jar;cloud-messaging.dex.jar;collection-1.0.0.dex.jar;coordinatorlayout-1.0.0.dex.jar;core-1.5.0-rc02.dex.jar;core-common-2.0.1.dex.jar;core-runtime-2.0.1.dex.jar;cursoradapter-1.0.0.dex.jar;customview-1.0.0.dex.jar;documentfile-1.0.0.dex.jar;drawerlayout-1.0.0.dex.jar;firebase-annotations-16.0.0.dex.jar;firebase-common-20.0.0.dex.jar;firebase-components-17.0.0.dex.jar;firebase-datatransport-18.0.0.dex.jar;firebase-encoders-17.0.0.dex.jar;firebase-encoders-json-18.0.0.dex.jar;firebase-iid-interop-17.1.0.dex.jar;firebase-installations-17.0.0.dex.jar;firebase-installations-interop-17.0.0.dex.jar;firebase-measurement-connector-19.0.0.dex.jar;firebase-messaging-22.0.0.dex.jar;fmx.dex.jar;fragment-1.0.0.dex.jar;google-play-licensing.dex.jar;interpolator-1.0.0.dex.jar;javax.inject-1.dex.jar;legacy-support-core-ui-1.0.0.dex.jar;legacy-support-core-utils-1.0.0.dex.jar;lifecycle-common-2.0.0.dex.jar;lifecycle-livedata-2.0.0.dex.jar;lifecycle-livedata-core-2.0.0.dex.jar;lifecycle-runtime-2.0.0.dex.jar;lifecycle-service-2.0.0.dex.jar;lifecycle-viewmodel-2.0.0.dex.jar;listenablefuture-1.0.dex.jar;loader-1.0.0.dex.jar;localbroadcastmanager-1.0.0.dex.jar;play-services-ads-20.1.0.dex.jar;play-services-ads-base-20.1.0.dex.jar;play-services-ads-identifier-17.0.0.dex.jar;play-services-ads-lite-20.1.0.dex.jar;play-services-base-17.5.0.dex.jar;play-services-basement-17.6.0.dex.jar;play-services-cloud-messaging-16.0.0.dex.jar;play-services-drive-17.0.0.dex.jar;play-services-games-21.0.0.dex.jar;play-services-location-18.0.0.dex.jar;play-services-maps-17.0.1.dex.jar;play-services-measurement-base-18.0.0.dex.jar;play-services-measurement-sdk-api-18.0.0.dex.jar;play-services-places-placereport-17.0.0.dex.jar;play-services-stats-17.0.0.dex.jar;play-services-tasks-17.2.0.dex.jar;print-1.0.0.dex.jar;room-common-2.1.0.dex.jar;room-runtime-2.1.0.dex.jar;slidingpanelayout-1.0.0.dex.jar;sqlite-2.0.1.dex.jar;sqlite-framework-2.0.1.dex.jar;swiperefreshlayout-1.0.0.dex.jar;transport-api-3.0.0.dex.jar;transport-backend-cct-3.0.0.dex.jar;transport-runtime-3.0.0.dex.jar;user-messaging-platform-1.0.0.dex.jar;versionedparcelable-1.1.1.dex.jar;viewpager-1.0.0.dex.jar;work-runtime-2.1.0.dex.jar + + + fmx;DbxCommonDriver;bindengine;IndyIPCommon;emsclient;FireDACCommonDriver;IndyProtocols;RadiantShapesFmx_Design;IndyIPClient;dbxcds;FmxTeeUI;bindcompfmx;Olf.FMX.AboutBoxPackage;ibmonitor;FireDACSqliteDriver;DbxClientDriver;soapmidas;fmxFireDAC;dbexpress;inet;DataSnapCommon;fmxase;dbrtl;FireDACDBXDriver;CustomIPTransport;DBXInterBaseDriver;IndySystem;RadiantShapesFmx;ibxbindings;bindcomp;FireDACCommon;IndyCore;RESTBackendComponents;bindcompdbx;rtl;RSVclImpact;RESTComponents;DBXSqliteDriver;IndyIPServer;dsnapxml;DataSnapClient;DataSnapProviderClient;DataSnapFireDAC;emsclientfiredac;FireDAC;FireDACDSDriver;xmlrtl;tethering;ibxpress;dsnap;CloudService;FMXTee;DataSnapNativeClient;soaprtl;soapserver;FireDACIBDriver;$(DCC_UsePackage) + CFBundleName=$(MSBuildProjectName);CFBundleDevelopmentRegion=fr;CFBundleDisplayName=$(MSBuildProjectName);CFBundleIdentifier=$(MSBuildProjectName);CFBundleInfoDictionaryVersion=7.1;CFBundleVersion=1.0.0;CFBundleShortVersionString=1.0.0;CFBundlePackageType=APPL;CFBundleSignature=????;LSRequiresIPhoneOS=true;CFBundleAllowMixedLocalizations=YES;CFBundleExecutable=$(MSBuildProjectName);UIDeviceFamily=iPhone & iPad;NSLocationAlwaysUsageDescription=The reason for accessing the location information of the user;NSLocationWhenInUseUsageDescription=The reason for accessing the location information of the user;NSLocationAlwaysAndWhenInUseUsageDescription=The reason for accessing the location information of the user;UIBackgroundModes=;NSContactsUsageDescription=The reason for accessing the contacts;NSPhotoLibraryUsageDescription=The reason for accessing the photo library;NSPhotoLibraryAddUsageDescription=The reason for adding to the photo library;NSCameraUsageDescription=The reason for accessing the camera;NSFaceIDUsageDescription=The reason for accessing the face id;NSMicrophoneUsageDescription=The reason for accessing the microphone;NSSiriUsageDescription=The reason for accessing Siri;ITSAppUsesNonExemptEncryption=false;NSBluetoothAlwaysUsageDescription=The reason for accessing bluetooth;NSBluetoothPeripheralUsageDescription=The reason for accessing bluetooth peripherals;NSCalendarsUsageDescription=The reason for accessing the calendar data;NSRemindersUsageDescription=The reason for accessing the reminders;NSMotionUsageDescription=The reason for accessing the accelerometer;NSSpeechRecognitionUsageDescription=The reason for requesting to send user data to Apple's speech recognition servers + iPhoneAndiPad + true + Debug + $(MSBuildProjectName) + $(BDS)\bin\Artwork\iOS\iPhone\FM_ApplicationIcon_1024x1024.png + $(BDS)\bin\Artwork\iOS\iPhone\FM_ApplicationIcon_120x120.png + $(BDS)\bin\Artwork\iOS\iPhone\FM_ApplicationIcon_180x180.png + $(BDS)\bin\Artwork\iOS\iPhone\FM_LaunchImage_2x.png + $(BDS)\bin\Artwork\iOS\iPhone\FM_LaunchImageDark_2x.png + $(BDS)\bin\Artwork\iOS\iPhone\FM_LaunchImage_3x.png + $(BDS)\bin\Artwork\iOS\iPhone\FM_LaunchImageDark_3x.png + $(BDS)\bin\Artwork\iOS\iPhone\FM_SpotlightSearchIcon_80x80.png + $(BDS)\bin\Artwork\iOS\iPhone\FM_SpotlightSearchIcon_120x120.png + $(BDS)\bin\Artwork\iOS\iPhone\FM_SettingIcon_58x58.png + $(BDS)\bin\Artwork\iOS\iPhone\FM_SettingIcon_87x87.png + $(BDS)\bin\Artwork\iOS\iPhone\FM_NotificationIcon_40x40.png + $(BDS)\bin\Artwork\iOS\iPhone\FM_NotificationIcon_60x60.png + $(BDS)\bin\Artwork\iOS\iPad\FM_ApplicationIcon_152x152.png + $(BDS)\bin\Artwork\iOS\iPad\FM_ApplicationIcon_167x167.png + $(BDS)\bin\Artwork\iOS\iPad\FM_LaunchImage_2x.png + $(BDS)\bin\Artwork\iOS\iPad\FM_LaunchImageDark_2x.png + $(BDS)\bin\Artwork\iOS\iPad\FM_SpotlightSearchIcon_80x80.png + $(BDS)\bin\Artwork\iOS\iPad\FM_SettingIcon_58x58.png + $(BDS)\bin\Artwork\iOS\iPad\FM_NotificationIcon_40x40.png + + + fmx;DbxCommonDriver;bindengine;IndyIPCommon;emsclient;FireDACCommonDriver;IndyProtocols;IndyIPClient;dbxcds;FmxTeeUI;bindcompfmx;ibmonitor;FireDACSqliteDriver;DbxClientDriver;soapmidas;fmxFireDAC;dbexpress;inet;DataSnapCommon;fmxase;dbrtl;FireDACDBXDriver;CustomIPTransport;DBXInterBaseDriver;IndySystem;ibxbindings;bindcomp;FireDACCommon;IndyCore;RESTBackendComponents;bindcompdbx;rtl;RESTComponents;DBXSqliteDriver;IndyIPServer;dsnapxml;DataSnapClient;DataSnapProviderClient;DataSnapFireDAC;emsclientfiredac;FireDAC;FireDACDSDriver;xmlrtl;tethering;ibxpress;dsnap;CloudService;FMXTee;DataSnapNativeClient;soaprtl;soapserver;FireDACIBDriver;$(DCC_UsePackage) + CFBundleName=$(MSBuildProjectName);CFBundleDevelopmentRegion=fr;CFBundleDisplayName=$(MSBuildProjectName);CFBundleIdentifier=$(MSBuildProjectName);CFBundleInfoDictionaryVersion=7.1;CFBundleVersion=1.0.0;CFBundleShortVersionString=1.0.0;CFBundlePackageType=APPL;CFBundleSignature=????;LSRequiresIPhoneOS=true;CFBundleAllowMixedLocalizations=YES;CFBundleExecutable=$(MSBuildProjectName);UIDeviceFamily=iPhone & iPad;NSLocationAlwaysUsageDescription=The reason for accessing the location information of the user;NSLocationWhenInUseUsageDescription=The reason for accessing the location information of the user;NSLocationAlwaysAndWhenInUseUsageDescription=The reason for accessing the location information of the user;UIBackgroundModes=;NSContactsUsageDescription=The reason for accessing the contacts;NSPhotoLibraryUsageDescription=The reason for accessing the photo library;NSPhotoLibraryAddUsageDescription=The reason for adding to the photo library;NSCameraUsageDescription=The reason for accessing the camera;NSFaceIDUsageDescription=The reason for accessing the face id;NSMicrophoneUsageDescription=The reason for accessing the microphone;NSSiriUsageDescription=The reason for accessing Siri;ITSAppUsesNonExemptEncryption=false;NSBluetoothAlwaysUsageDescription=The reason for accessing bluetooth;NSBluetoothPeripheralUsageDescription=The reason for accessing bluetooth peripherals;NSCalendarsUsageDescription=The reason for accessing the calendar data;NSRemindersUsageDescription=The reason for accessing the reminders;NSMotionUsageDescription=The reason for accessing the accelerometer;NSSpeechRecognitionUsageDescription=The reason for requesting to send user data to Apple's speech recognition servers + iPhoneAndiPad + true + $(BDS)\bin\Artwork\iOS\iPhone\FM_ApplicationIcon_1024x1024.png + $(BDS)\bin\Artwork\iOS\iPhone\FM_ApplicationIcon_120x120.png + $(BDS)\bin\Artwork\iOS\iPhone\FM_ApplicationIcon_180x180.png + $(BDS)\bin\Artwork\iOS\iPhone\FM_LaunchImage_2x.png + $(BDS)\bin\Artwork\iOS\iPhone\FM_LaunchImageDark_2x.png + $(BDS)\bin\Artwork\iOS\iPhone\FM_LaunchImage_3x.png + $(BDS)\bin\Artwork\iOS\iPhone\FM_LaunchImageDark_3x.png + $(BDS)\bin\Artwork\iOS\iPhone\FM_SpotlightSearchIcon_80x80.png + $(BDS)\bin\Artwork\iOS\iPhone\FM_SpotlightSearchIcon_120x120.png + $(BDS)\bin\Artwork\iOS\iPhone\FM_SettingIcon_58x58.png + $(BDS)\bin\Artwork\iOS\iPhone\FM_SettingIcon_87x87.png + $(BDS)\bin\Artwork\iOS\iPhone\FM_NotificationIcon_40x40.png + $(BDS)\bin\Artwork\iOS\iPhone\FM_NotificationIcon_60x60.png + $(BDS)\bin\Artwork\iOS\iPad\FM_ApplicationIcon_152x152.png + $(BDS)\bin\Artwork\iOS\iPad\FM_ApplicationIcon_167x167.png + $(BDS)\bin\Artwork\iOS\iPad\FM_LaunchImage_2x.png + $(BDS)\bin\Artwork\iOS\iPad\FM_LaunchImageDark_2x.png + $(BDS)\bin\Artwork\iOS\iPad\FM_SpotlightSearchIcon_80x80.png + $(BDS)\bin\Artwork\iOS\iPad\FM_SettingIcon_58x58.png + $(BDS)\bin\Artwork\iOS\iPad\FM_NotificationIcon_40x40.png + + + DataSnapServer;fmx;emshosting;DbxCommonDriver;bindengine;FireDACCommonODBC;emsclient;FireDACCommonDriver;IndyProtocols;dbxcds;emsedge;Olf.FMX.AboutBoxPackage;inetdb;FireDACSqliteDriver;DbxClientDriver;FireDACASADriver;soapmidas;dbexpress;FireDACInfxDriver;inet;DataSnapCommon;dbrtl;FireDACOracleDriver;CustomIPTransport;FireDACMSSQLDriver;DataSnapIndy10ServerTransport;DataSnapConnectors;FireDACMongoDBDriver;IndySystem;FireDACTDataDriver;bindcomp;FireDACCommon;DataSnapServerMidas;FireDACODBCDriver;emsserverresource;IndyCore;RESTBackendComponents;rtl;FireDACMySQLDriver;FireDACADSDriver;RESTComponents;dsnapxml;DataSnapClient;DataSnapFireDAC;emsclientfiredac;FireDACPgDriver;FireDAC;xmlrtl;dsnap;CloudService;FireDACDb2Driver;DataSnapNativeClient;DatasnapConnectorsFreePascal;soaprtl;soapserver;FireDACIBDriver;$(DCC_UsePackage) + /usr/bin/gnome-terminal -- "%debuggee%" + ..\assets\icone\fgut.ico + ..\assets\icone\fgut.icns + (vide) + none + true + CFBundleName=$(MSBuildProjectName);CFBundleDisplayName=$(MSBuildProjectName);CFBundleIdentifier=$(MSBuildProjectName);CFBundleVersion=1.0.0;CFBundleShortVersionString=1.0.0;CFBundlePackageType=APPL;CFBundleSignature=????;CFBundleAllowMixedLocalizations=YES;CFBundleExecutable=$(MSBuildProjectName);NSHighResolutionCapable=true;LSApplicationCategoryType=public.app-category.utilities;NSLocationUsageDescription=The reason for accessing the location information of the user;NSContactsUsageDescription=The reason for accessing the contacts;NSCalendarsUsageDescription=The reason for accessing the calendar data;NSRemindersUsageDescription=The reason for accessing the reminders;NSCameraUsageDescription=The reason for accessing the camera;NSMicrophoneUsageDescription=The reason for accessing the microphone;NSMotionUsageDescription=The reason for accessing the accelerometer;NSDesktopFolderUsageDescription=The reason for accessing the Desktop folder;NSDocumentsFolderUsageDescription=The reason for accessing the Documents folder;NSDownloadsFolderUsageDescription=The reason for accessing the Downloads folder;NSNetworkVolumesUsageDescription=The reason for accessing files on a network volume;NSRemovableVolumesUsageDescription=The reason for accessing files on a removable volume;NSSpeechRecognitionUsageDescription=The reason for requesting to send user data to Apple's speech recognition servers + + + DataSnapServer;fmx;DbxCommonDriver;bindengine;IndyIPCommon;FireDACCommonODBC;emsclient;FireDACCommonDriver;IndyProtocols;RadiantShapesFmx_Design;IndyIPClient;dbxcds;FmxTeeUI;bindcompfmx;DBXFirebirdDriver;Olf.FMX.AboutBoxPackage;inetdb;ibmonitor;FireDACSqliteDriver;DbxClientDriver;FireDACASADriver;soapmidas;fmxFireDAC;dbexpress;DBXMySQLDriver;inet;DataSnapCommon;fmxase;dbrtl;FireDACDBXDriver;FireDACOracleDriver;fmxdae;CustomIPTransport;FireDACMSSQLDriver;DataSnapIndy10ServerTransport;DBXInterBaseDriver;FireDACMongoDBDriver;IndySystem;RadiantShapesFmx;FireDACTDataDriver;ibxbindings;bindcomp;FireDACCommon;DataSnapServerMidas;FireDACODBCDriver;IndyCore;RESTBackendComponents;bindcompdbx;rtl;FireDACMySQLDriver;RESTComponents;DBXSqliteDriver;IndyIPServer;dsnapxml;DataSnapClient;DataSnapProviderClient;DataSnapFireDAC;emsclientfiredac;FireDACPgDriver;FireDAC;FireDACDSDriver;inetdbxpress;xmlrtl;tethering;ibxpress;dsnap;CloudService;DBXSybaseASADriver;DBXOracleDriver;DBXInformixDriver;fmxobj;FMXTee;DataSnapNativeClient;soaprtl;soapserver;FireDACIBDriver;$(DCC_UsePackage) + CFBundleName=$(MSBuildProjectName);CFBundleDisplayName=$(MSBuildProjectName);CFBundleIdentifier=fr.olfsoftware.fediversegeturltester;CFBundleVersion=1.0.0;CFBundleShortVersionString=1.0.0;CFBundlePackageType=APPL;CFBundleSignature=????;CFBundleAllowMixedLocalizations=YES;CFBundleExecutable=$(MSBuildProjectName);NSHighResolutionCapable=true;LSApplicationCategoryType=public.app-category.utilities;NSLocationUsageDescription=The reason for accessing the location information of the user;NSContactsUsageDescription=The reason for accessing the contacts;NSCalendarsUsageDescription=The reason for accessing the calendar data;NSRemindersUsageDescription=The reason for accessing the reminders;NSCameraUsageDescription=The reason for accessing the camera;NSMicrophoneUsageDescription=The reason for accessing the microphone;NSMotionUsageDescription=The reason for accessing the accelerometer;NSDesktopFolderUsageDescription=The reason for accessing the Desktop folder;NSDocumentsFolderUsageDescription=The reason for accessing the Documents folder;NSDownloadsFolderUsageDescription=The reason for accessing the Downloads folder;NSNetworkVolumesUsageDescription=The reason for accessing files on a network volume;NSRemovableVolumesUsageDescription=The reason for accessing files on a removable volume;NSSpeechRecognitionUsageDescription=The reason for requesting to send user data to Apple's speech recognition servers + Debug + true + /usr/X11/bin/xterm -e "%debuggee%" + ..\assets\icone\fgut.ico + ..\assets\icone\fgut.icns + (vide) + none + true + + + DataSnapServer;fmx;DbxCommonDriver;bindengine;IndyIPCommon;FireDACCommonODBC;emsclient;FireDACCommonDriver;IndyProtocols;IndyIPClient;dbxcds;FmxTeeUI;bindcompfmx;DBXFirebirdDriver;inetdb;ibmonitor;FireDACSqliteDriver;DbxClientDriver;FireDACASADriver;soapmidas;fmxFireDAC;dbexpress;DBXMySQLDriver;inet;DataSnapCommon;fmxase;dbrtl;FireDACDBXDriver;FireDACOracleDriver;fmxdae;CustomIPTransport;FireDACMSSQLDriver;DataSnapIndy10ServerTransport;DBXInterBaseDriver;FireDACMongoDBDriver;IndySystem;FireDACTDataDriver;ibxbindings;bindcomp;FireDACCommon;DataSnapServerMidas;FireDACODBCDriver;IndyCore;RESTBackendComponents;bindcompdbx;rtl;FireDACMySQLDriver;RESTComponents;DBXSqliteDriver;IndyIPServer;dsnapxml;DataSnapClient;DataSnapProviderClient;DataSnapFireDAC;emsclientfiredac;FireDACPgDriver;FireDAC;FireDACDSDriver;inetdbxpress;xmlrtl;tethering;ibxpress;dsnap;CloudService;DBXSybaseASADriver;DBXOracleDriver;DBXInformixDriver;fmxobj;FMXTee;DataSnapNativeClient;soaprtl;soapserver;FireDACIBDriver;$(DCC_UsePackage) + CFBundleName=$(MSBuildProjectName);CFBundleDisplayName=$(MSBuildProjectName);CFBundleIdentifier=fr.olfsoftware.fediversegeturltester;CFBundleVersion=1.0.0;CFBundleShortVersionString=1.0.0;CFBundlePackageType=APPL;CFBundleSignature=????;CFBundleAllowMixedLocalizations=YES;CFBundleExecutable=$(MSBuildProjectName);NSHighResolutionCapable=true;LSApplicationCategoryType=public.app-category.utilities;NSLocationUsageDescription=The reason for accessing the location information of the user;NSContactsUsageDescription=The reason for accessing the contacts;NSCalendarsUsageDescription=The reason for accessing the calendar data;NSRemindersUsageDescription=The reason for accessing the reminders;NSCameraUsageDescription=The reason for accessing the camera;NSMicrophoneUsageDescription=The reason for accessing the microphone;NSMotionUsageDescription=The reason for accessing the accelerometer;NSDesktopFolderUsageDescription=The reason for accessing the Desktop folder;NSDocumentsFolderUsageDescription=The reason for accessing the Documents folder;NSDownloadsFolderUsageDescription=The reason for accessing the Downloads folder;NSNetworkVolumesUsageDescription=The reason for accessing files on a network volume;NSRemovableVolumesUsageDescription=The reason for accessing files on a removable volume;NSSpeechRecognitionUsageDescription=The reason for requesting to send user data to Apple's speech recognition servers + Debug + true + /usr/X11/bin/xterm -e "%debuggee%" + ..\assets\icone\fgut.ico + ..\assets\icone\fgut.icns + (vide) + none + true + + + vclwinx;DataSnapServer;fmx;emshosting;vclie;DbxCommonDriver;bindengine;IndyIPCommon;VCLRESTComponents;DBXMSSQLDriver;FireDACCommonODBC;emsclient;FireDACCommonDriver;appanalytics;IndyProtocols;vclx;RadiantShapesFmx_Design;IndyIPClient;dbxcds;vcledge;bindcompvclwinx;FmxTeeUI;emsedge;bindcompfmx;DBXFirebirdDriver;Olf.FMX.AboutBoxPackage;inetdb;ibmonitor;FireDACSqliteDriver;DbxClientDriver;FireDACASADriver;RSVclSVG;Tee;soapmidas;vclactnband;TeeUI;fmxFireDAC;dbexpress;FireDACInfxDriver;DBXMySQLDriver;VclSmp;inet;DataSnapCommon;vcltouch;fmxase;RSVML;DBXOdbcDriver;dbrtl;FireDACDBXDriver;FireDACOracleDriver;fmxdae;TeeDB;FireDACMSAccDriver;CustomIPTransport;FireDACMSSQLDriver;DataSnapIndy10ServerTransport;RSFMXSVG;DataSnapConnectors;vcldsnap;DBXInterBaseDriver;FireDACMongoDBDriver;IndySystem;RadiantShapesFmx;FireDACTDataDriver;vcldb;ibxbindings;vclFireDAC;office2K;bindcomp;FireDACCommon;DataSnapServerMidas;FireDACODBCDriver;emsserverresource;IndyCore;RESTBackendComponents;bindcompdbx;rtl;FireDACMySQLDriver;RSVclImpact;FireDACADSDriver;RESTComponents;DBXSqliteDriver;vcl;IndyIPServer;dsnapxml;dsnapcon;DataSnapClient;DataSnapProviderClient;adortl;RSVclCommon;DBXSybaseASEDriver;DBXDb2Driver;vclimg;DataSnapFireDAC;emsclientfiredac;FireDACPgDriver;FireDAC;FireDACDSDriver;inetdbxpress;xmlrtl;tethering;Olf.VCL.AboutBoxPackage;ibxpress;RSCommon;RSFMXImpact;bindcompvcl;dsnap;CloudService;DBXSybaseASADriver;DBXOracleDriver;FireDACDb2Driver;DBXInformixDriver;vclib;fmxobj;bindcompvclsmp;FMXTee;DataSnapNativeClient;DatasnapConnectorsFreePascal;soaprtl;soapserver;FireDACIBDriver;$(DCC_UsePackage) + Winapi;System.Win;Data.Win;Datasnap.Win;Web.Win;Soap.Win;Xml.Win;Bde;$(DCC_Namespace) + Debug + true + CompanyName=;FileDescription=$(MSBuildProjectName);FileVersion=1.0.0.0;InternalName=;LegalCopyright=2022 Patrick Prémartin - Olf Software;LegalTrademarks=;OriginalFilename=;ProgramID=fr.olfsoftware.fediversegeturltester;ProductName=$(MSBuildProjectName);ProductVersion=1.0.0.0;Comments= + 1033 + $(BDS)\bin\default_app.manifest + ..\assets\icone\fgut-44x44.png + ..\assets\icone\fgut-150x150.png + ..\assets\icone\fgut.ico + ..\assets\icone\fgut.icns + PerMonitorV2 + true + + + vclwinx;DataSnapServer;fmx;emshosting;vclie;DbxCommonDriver;bindengine;IndyIPCommon;VCLRESTComponents;DBXMSSQLDriver;FireDACCommonODBC;emsclient;FireDACCommonDriver;appanalytics;IndyProtocols;vclx;RadiantShapesFmx_Design;IndyIPClient;dbxcds;vcledge;bindcompvclwinx;FmxTeeUI;emsedge;bindcompfmx;DBXFirebirdDriver;Olf.FMX.AboutBoxPackage;inetdb;ibmonitor;FireDACSqliteDriver;DbxClientDriver;FireDACASADriver;Tee;soapmidas;vclactnband;TeeUI;fmxFireDAC;dbexpress;FireDACInfxDriver;DBXMySQLDriver;VclSmp;inet;DataSnapCommon;vcltouch;fmxase;DBXOdbcDriver;dbrtl;FireDACDBXDriver;FireDACOracleDriver;fmxdae;TeeDB;FireDACMSAccDriver;CustomIPTransport;FireDACMSSQLDriver;DataSnapIndy10ServerTransport;DataSnapConnectors;vcldsnap;DBXInterBaseDriver;FireDACMongoDBDriver;IndySystem;RadiantShapesFmx;FireDACTDataDriver;vcldb;ibxbindings;vclFireDAC;office2K;bindcomp;FireDACCommon;DataSnapServerMidas;FireDACODBCDriver;emsserverresource;IndyCore;RESTBackendComponents;bindcompdbx;rtl;FireDACMySQLDriver;FireDACADSDriver;RESTComponents;DBXSqliteDriver;vcl;IndyIPServer;dsnapxml;dsnapcon;DataSnapClient;DataSnapProviderClient;adortl;DBXSybaseASEDriver;DBXDb2Driver;vclimg;DataSnapFireDAC;emsclientfiredac;FireDACPgDriver;FireDAC;FireDACDSDriver;inetdbxpress;xmlrtl;tethering;Olf.VCL.AboutBoxPackage;ibxpress;bindcompvcl;dsnap;CloudService;DBXSybaseASADriver;DBXOracleDriver;FireDACDb2Driver;DBXInformixDriver;vclib;fmxobj;bindcompvclsmp;FMXTee;DataSnapNativeClient;DatasnapConnectorsFreePascal;soaprtl;soapserver;FireDACIBDriver;$(DCC_UsePackage) + Winapi;System.Win;Data.Win;Datasnap.Win;Web.Win;Soap.Win;Xml.Win;$(DCC_Namespace) + Debug + true + CompanyName=;FileDescription=$(MSBuildProjectName);FileVersion=1.0.0.0;InternalName=;LegalCopyright=2022 Patrick Prémartin - Olf Software;LegalTrademarks=;OriginalFilename=;ProgramID=fr.olfsoftware.fediversegeturltester;ProductName=$(MSBuildProjectName);ProductVersion=1.0.0.0;Comments= + 1033 + $(BDS)\bin\default_app.manifest + ..\assets\icone\fgut-44x44.png + ..\assets\icone\fgut-150x150.png + ..\assets\icone\fgut.ico + ..\assets\icone\fgut.icns + none + true + + + DEBUG;$(DCC_Define) + true + false + true + true + true + true + true + + + true + true + ..\assets\icone\fgut.ico + ..\assets\icone\fgut.icns + DeveloperID + 1 + CFBundleName=$(MSBuildProjectName);CFBundleDisplayName=$(MSBuildProjectName);CFBundleIdentifier=fr.olfsoftware.fediversegeturltester;CFBundleVersion=1.0.1;CFBundleShortVersionString=1.0.0;CFBundlePackageType=APPL;CFBundleSignature=????;CFBundleAllowMixedLocalizations=YES;CFBundleExecutable=$(MSBuildProjectName);NSHighResolutionCapable=true;LSApplicationCategoryType=public.app-category.utilities;NSLocationUsageDescription=The reason for accessing the location information of the user;NSContactsUsageDescription=The reason for accessing the contacts;NSCalendarsUsageDescription=The reason for accessing the calendar data;NSRemindersUsageDescription=The reason for accessing the reminders;NSCameraUsageDescription=The reason for accessing the camera;NSMicrophoneUsageDescription=The reason for accessing the microphone;NSMotionUsageDescription=The reason for accessing the accelerometer;NSDesktopFolderUsageDescription=The reason for accessing the Desktop folder;NSDocumentsFolderUsageDescription=The reason for accessing the Documents folder;NSDownloadsFolderUsageDescription=The reason for accessing the Downloads folder;NSNetworkVolumesUsageDescription=The reason for accessing files on a network volume;NSRemovableVolumesUsageDescription=The reason for accessing files on a removable volume;NSSpeechRecognitionUsageDescription=The reason for requesting to send user data to Apple's speech recognition servers + + + DeveloperID + 1 + CFBundleName=$(MSBuildProjectName);CFBundleDisplayName=$(MSBuildProjectName);CFBundleIdentifier=fr.olfsoftware.fediversegeturltester;CFBundleVersion=1.0.1;CFBundleShortVersionString=1.0.0;CFBundlePackageType=APPL;CFBundleSignature=????;CFBundleAllowMixedLocalizations=YES;CFBundleExecutable=$(MSBuildProjectName);NSHighResolutionCapable=true;LSApplicationCategoryType=public.app-category.utilities;NSLocationUsageDescription=The reason for accessing the location information of the user;NSContactsUsageDescription=The reason for accessing the contacts;NSCalendarsUsageDescription=The reason for accessing the calendar data;NSRemindersUsageDescription=The reason for accessing the reminders;NSCameraUsageDescription=The reason for accessing the camera;NSMicrophoneUsageDescription=The reason for accessing the microphone;NSMotionUsageDescription=The reason for accessing the accelerometer;NSDesktopFolderUsageDescription=The reason for accessing the Desktop folder;NSDocumentsFolderUsageDescription=The reason for accessing the Documents folder;NSDownloadsFolderUsageDescription=The reason for accessing the Downloads folder;NSNetworkVolumesUsageDescription=The reason for accessing files on a network volume;NSRemovableVolumesUsageDescription=The reason for accessing files on a removable volume;NSSpeechRecognitionUsageDescription=The reason for requesting to send user data to Apple's speech recognition servers + + + false + PerMonitorV2 + true + 1033 + 1 + CompanyName=;FileDescription=$(MSBuildProjectName);FileVersion=1.0.0.1;InternalName=;LegalCopyright=2022 Patrick Prémartin - Olf Software;LegalTrademarks=;OriginalFilename=;ProgramID=fr.olfsoftware.fediversegeturltester;ProductName=$(MSBuildProjectName);ProductVersion=1.0.0.0;Comments= + + + PerMonitorV2 + true + true + 1033 + ..\assets\icone\fgut.ico + ..\assets\icone\fgut.icns + AppStore + 1 + CompanyName=;FileDescription=$(MSBuildProjectName);FileVersion=1.0.0.1;InternalName=;LegalCopyright=2022 Patrick Prémartin - Olf Software;LegalTrademarks=;OriginalFilename=;ProgramID=fr.olfsoftware.fediversegeturltester;ProductName=$(MSBuildProjectName);ProductVersion=1.0.0.0;Comments= + + + false + RELEASE;$(DCC_Define) + 0 + 0 + + + DeveloperID + 1 + CFBundleName=$(MSBuildProjectName);CFBundleDisplayName=$(MSBuildProjectName);CFBundleIdentifier=fr.olfsoftware.fediversegeturltester;CFBundleVersion=1.0.1;CFBundleShortVersionString=1.0.0;CFBundlePackageType=APPL;CFBundleSignature=????;CFBundleAllowMixedLocalizations=YES;CFBundleExecutable=$(MSBuildProjectName);NSHighResolutionCapable=true;LSApplicationCategoryType=public.app-category.utilities;NSLocationUsageDescription=The reason for accessing the location information of the user;NSContactsUsageDescription=The reason for accessing the contacts;NSCalendarsUsageDescription=The reason for accessing the calendar data;NSRemindersUsageDescription=The reason for accessing the reminders;NSCameraUsageDescription=The reason for accessing the camera;NSMicrophoneUsageDescription=The reason for accessing the microphone;NSMotionUsageDescription=The reason for accessing the accelerometer;NSDesktopFolderUsageDescription=The reason for accessing the Desktop folder;NSDocumentsFolderUsageDescription=The reason for accessing the Documents folder;NSDownloadsFolderUsageDescription=The reason for accessing the Downloads folder;NSNetworkVolumesUsageDescription=The reason for accessing files on a network volume;NSRemovableVolumesUsageDescription=The reason for accessing files on a removable volume;NSSpeechRecognitionUsageDescription=The reason for requesting to send user data to Apple's speech recognition servers + + + DeveloperID + 1 + CFBundleName=$(MSBuildProjectName);CFBundleDisplayName=$(MSBuildProjectName);CFBundleIdentifier=fr.olfsoftware.fediversegeturltester;CFBundleVersion=1.0.1;CFBundleShortVersionString=1.0.0;CFBundlePackageType=APPL;CFBundleSignature=????;CFBundleAllowMixedLocalizations=YES;CFBundleExecutable=$(MSBuildProjectName);NSHighResolutionCapable=true;LSApplicationCategoryType=public.app-category.utilities;NSLocationUsageDescription=The reason for accessing the location information of the user;NSContactsUsageDescription=The reason for accessing the contacts;NSCalendarsUsageDescription=The reason for accessing the calendar data;NSRemindersUsageDescription=The reason for accessing the reminders;NSCameraUsageDescription=The reason for accessing the camera;NSMicrophoneUsageDescription=The reason for accessing the microphone;NSMotionUsageDescription=The reason for accessing the accelerometer;NSDesktopFolderUsageDescription=The reason for accessing the Desktop folder;NSDocumentsFolderUsageDescription=The reason for accessing the Documents folder;NSDownloadsFolderUsageDescription=The reason for accessing the Downloads folder;NSNetworkVolumesUsageDescription=The reason for accessing files on a network volume;NSRemovableVolumesUsageDescription=The reason for accessing files on a removable volume;NSSpeechRecognitionUsageDescription=The reason for requesting to send user data to Apple's speech recognition servers + + + PerMonitorV2 + AppStore + 1 + CompanyName=;FileDescription=$(MSBuildProjectName);FileVersion=1.0.0.1;InternalName=;LegalCopyright=2022 Patrick Prémartin - Olf Software;LegalTrademarks=;OriginalFilename=;ProgramID=fr.olfsoftware.fediversegeturltester;ProductName=$(MSBuildProjectName);ProductVersion=1.0.0.0;Comments= + + + PerMonitorV2 + 2 + CompanyName=;FileDescription=$(MSBuildProjectName);FileVersion=1.0.0.2;InternalName=;LegalCopyright=2022 Patrick Prémartin - Olf Software;LegalTrademarks=;OriginalFilename=;ProgramID=fr.olfsoftware.fediversegeturltester;ProductName=$(MSBuildProjectName);ProductVersion=1.0.0.0;Comments= + AppStore + + + + MainSource + + +
frmMain
+ fmx +
+ + + +
OlfAboutDialogForm
+ fmx +
+ + + + + Base + + + Cfg_1 + Base + + + Cfg_2 + Base + +
+ + Delphi.Personality.12 + Application + + + + FediverseGETURLTester.dpr + + + Package Serveurs Office 2000 Embarcadero C++Builder + Package Serveurs Office XP Embarcadero C++Builder + Composants Microsoft Office XP Sample Automation Server Wrapper + + + + + + true + + + + + true + + + + + true + + + + + Assets\ + Logo150x150.png + true + + + + + Assets\ + Logo150x150.png + true + + + + + Logo150x150.png + true + + + + + Logo150x150.png + true + + + + + Assets\ + Logo44x44.png + true + + + + + Assets\ + Logo44x44.png + true + + + + + Logo44x44.png + true + + + + + Logo44x44.png + true + + + + + FediverseGETURLTester.icns + true + + + + + FediverseGETURLTester.icns + true + + + + + FediverseGETURLTester.icns + true + + + + + FediverseGETURLTester.icns + true + + + + + true + + + + + Info.plist + true + + + + + FediverseGETURLTester + true + + + + + true + + + + + Info.plist + true + + + + + FediverseGETURLTester + true + + + + + true + + + + + Info.plist + true + + + + + FediverseGETURLTester + true + + + + + true + + + + + Info.plist + true + + + + + FediverseGETURLTester + true + + + + + true + + + + + FediverseGETURLTester.exe + true + + + + + true + + + + + FediverseGETURLTester.exe + true + + + + + true + + + + + FediverseGETURLTester.exe + true + + + + + true + + + + + FediverseGETURLTester.exe + true + + + + + 1 + + + Contents\MacOS + 1 + + + 0 + + + + + classes + 64 + + + classes + 64 + + + + + res\xml + 1 + + + res\xml + 1 + + + + + library\lib\armeabi-v7a + 1 + + + + + library\lib\armeabi + 1 + + + library\lib\armeabi + 1 + + + + + library\lib\armeabi-v7a + 1 + + + + + library\lib\mips + 1 + + + library\lib\mips + 1 + + + + + library\lib\armeabi-v7a + 1 + + + library\lib\arm64-v8a + 1 + + + + + library\lib\armeabi-v7a + 1 + + + + + res\drawable + 1 + + + res\drawable + 1 + + + + + res\values + 1 + + + res\values + 1 + + + + + res\values-v21 + 1 + + + res\values-v21 + 1 + + + + + res\values + 1 + + + res\values + 1 + + + + + res\drawable + 1 + + + res\drawable + 1 + + + + + res\drawable-xxhdpi + 1 + + + res\drawable-xxhdpi + 1 + + + + + res\drawable-xxxhdpi + 1 + + + res\drawable-xxxhdpi + 1 + + + + + res\drawable-ldpi + 1 + + + res\drawable-ldpi + 1 + + + + + res\drawable-mdpi + 1 + + + res\drawable-mdpi + 1 + + + + + res\drawable-hdpi + 1 + + + res\drawable-hdpi + 1 + + + + + res\drawable-xhdpi + 1 + + + res\drawable-xhdpi + 1 + + + + + res\drawable-mdpi + 1 + + + res\drawable-mdpi + 1 + + + + + res\drawable-hdpi + 1 + + + res\drawable-hdpi + 1 + + + + + res\drawable-xhdpi + 1 + + + res\drawable-xhdpi + 1 + + + + + res\drawable-xxhdpi + 1 + + + res\drawable-xxhdpi + 1 + + + + + res\drawable-xxxhdpi + 1 + + + res\drawable-xxxhdpi + 1 + + + + + res\drawable-small + 1 + + + res\drawable-small + 1 + + + + + res\drawable-normal + 1 + + + res\drawable-normal + 1 + + + + + res\drawable-large + 1 + + + res\drawable-large + 1 + + + + + res\drawable-xlarge + 1 + + + res\drawable-xlarge + 1 + + + + + res\values + 1 + + + res\values + 1 + + + + + 1 + + + Contents\MacOS + 1 + + + 0 + + + + + Contents\MacOS + 1 + .framework + + + Contents\MacOS + 1 + .framework + + + Contents\MacOS + 1 + .framework + + + 0 + + + + + 1 + .dylib + + + 1 + .dylib + + + 1 + .dylib + + + Contents\MacOS + 1 + .dylib + + + Contents\MacOS + 1 + .dylib + + + Contents\MacOS + 1 + .dylib + + + 0 + .dll;.bpl + + + + + 1 + .dylib + + + 1 + .dylib + + + 1 + .dylib + + + Contents\MacOS + 1 + .dylib + + + Contents\MacOS + 1 + .dylib + + + Contents\MacOS + 1 + .dylib + + + 0 + .bpl + + + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + Contents\Resources\StartUp\ + 0 + + + Contents\Resources\StartUp\ + 0 + + + Contents\Resources\StartUp\ + 0 + + + 0 + + + + + ..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset + 1 + + + ..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset + 1 + + + + + ..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset + 1 + + + ..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset + 1 + + + + + ..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset + 1 + + + ..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset + 1 + + + + + ..\$(PROJECTNAME).launchscreen\Assets\LaunchScreenImage.imageset + 1 + + + ..\$(PROJECTNAME).launchscreen\Assets\LaunchScreenImage.imageset + 1 + + + + + ..\$(PROJECTNAME).launchscreen\Assets\LaunchScreenImage.imageset + 1 + + + ..\$(PROJECTNAME).launchscreen\Assets\LaunchScreenImage.imageset + 1 + + + + + ..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset + 1 + + + ..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset + 1 + + + + + ..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset + 1 + + + ..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset + 1 + + + + + ..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset + 1 + + + ..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset + 1 + + + + + ..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset + 1 + + + ..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset + 1 + + + + + ..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset + 1 + + + ..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset + 1 + + + + + ..\$(PROJECTNAME).launchscreen\Assets\LaunchScreenImage.imageset + 1 + + + ..\$(PROJECTNAME).launchscreen\Assets\LaunchScreenImage.imageset + 1 + + + + + ..\$(PROJECTNAME).launchscreen\Assets\LaunchScreenImage.imageset + 1 + + + ..\$(PROJECTNAME).launchscreen\Assets\LaunchScreenImage.imageset + 1 + + + + + ..\$(PROJECTNAME).launchscreen\Assets\LaunchScreenImage.imageset + 1 + + + ..\$(PROJECTNAME).launchscreen\Assets\LaunchScreenImage.imageset + 1 + + + + + ..\$(PROJECTNAME).launchscreen\Assets\LaunchScreenImage.imageset + 1 + + + ..\$(PROJECTNAME).launchscreen\Assets\LaunchScreenImage.imageset + 1 + + + + + ..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset + 1 + + + ..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset + 1 + + + + + ..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset + 1 + + + ..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset + 1 + + + + + ..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset + 1 + + + ..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset + 1 + + + + + ..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset + 1 + + + ..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset + 1 + + + + + ..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset + 1 + + + ..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset + 1 + + + + + ..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset + 1 + + + ..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset + 1 + + + + + 1 + + + 1 + + + + + ..\$(PROJECTNAME).app.dSYM\Contents\Resources\DWARF + 1 + + + ..\$(PROJECTNAME).app.dSYM\Contents\Resources\DWARF + 1 + + + ..\$(PROJECTNAME).app.dSYM\Contents\Resources\DWARF + 1 + + + + + ..\ + 1 + + + ..\ + 1 + + + ..\ + 1 + + + + + 1 + + + 1 + + + 1 + + + + + ..\$(PROJECTNAME).launchscreen + 64 + + + ..\$(PROJECTNAME).launchscreen + 64 + + + + + 1 + + + 1 + + + 1 + + + + + ..\$(PROJECTNAME).app.dSYM\Contents\Resources\DWARF + 1 + + + ..\$(PROJECTNAME).app.dSYM\Contents\Resources\DWARF + 1 + + + + + ..\ + 1 + + + ..\ + 1 + + + ..\ + 1 + + + + + Contents + 1 + + + Contents + 1 + + + Contents + 1 + + + + + Contents\Resources + 1 + + + Contents\Resources + 1 + + + Contents\Resources + 1 + + + + + library\lib\armeabi-v7a + 1 + + + library\lib\arm64-v8a + 1 + + + 1 + + + 1 + + + 1 + + + 1 + + + Contents\MacOS + 1 + + + Contents\MacOS + 1 + + + Contents\MacOS + 1 + + + 0 + + + + + library\lib\armeabi-v7a + 1 + + + + + 1 + + + 1 + + + + + Assets + 1 + + + Assets + 1 + + + + + Assets + 1 + + + Assets + 1 + + + + + + + + + + + + + + + + False + False + False + False + True + True + True + True + True + + + 12 + + + + +
diff --git a/src/fMain.fmx b/src/fMain.fmx new file mode 100644 index 0000000..0ede5b6 --- /dev/null +++ b/src/fMain.fmx @@ -0,0 +1,442 @@ +object frmMain: TfrmMain + Left = 0 + Top = 0 + ActiveControl = btnClose + Caption = 'Fediverse GET URL Tester' + ClientHeight = 480 + ClientWidth = 640 + FormFactor.Width = 320 + FormFactor.Height = 480 + FormFactor.Devices = [Desktop] + OnCreate = FormCreate + DesignerMasterStyle = 0 + object ToolBar1: TToolBar + Size.Width = 640.000000000000000000 + Size.Height = 40.000000000000000000 + Size.PlatformDefault = False + TabOrder = 0 + object btnClose: TButton + Align = Left + Cancel = True + Margins.Left = 5.000000000000000000 + Margins.Top = 5.000000000000000000 + Margins.Right = 5.000000000000000000 + Margins.Bottom = 5.000000000000000000 + Position.X = 185.000000000000000000 + Position.Y = 5.000000000000000000 + Size.Width = 80.000000000000000000 + Size.Height = 30.000000000000000000 + Size.PlatformDefault = False + TabOrder = 2 + Text = 'Close' + OnClick = btnCloseClick + end + object btnAbout: TButton + Align = Left + Margins.Left = 5.000000000000000000 + Margins.Top = 5.000000000000000000 + Margins.Right = 5.000000000000000000 + Margins.Bottom = 5.000000000000000000 + Position.X = 5.000000000000000000 + Position.Y = 5.000000000000000000 + Size.Width = 80.000000000000000000 + Size.Height = 30.000000000000000000 + Size.PlatformDefault = False + TabOrder = 0 + Text = 'About' + OnClick = btnAboutClick + end + object btnRegisterLicense: TButton + Align = Left + Margins.Left = 5.000000000000000000 + Margins.Top = 5.000000000000000000 + Margins.Right = 5.000000000000000000 + Margins.Bottom = 5.000000000000000000 + Position.X = 95.000000000000000000 + Position.Y = 5.000000000000000000 + Size.Width = 80.000000000000000000 + Size.Height = 30.000000000000000000 + Size.PlatformDefault = False + TabOrder = 1 + Text = 'Register' + OnClick = btnRegisterLicenseClick + end + end + object StatusBar1: TStatusBar + Position.Y = 458.000000000000000000 + ShowSizeGrip = True + Size.Width = 640.000000000000000000 + Size.Height = 22.000000000000000000 + Size.PlatformDefault = False + TabOrder = 5 + object lblStatusText: TLabel + Align = Client + Margins.Left = 5.000000000000000000 + Margins.Right = 5.000000000000000000 + Size.Width = 630.000000000000000000 + Size.Height = 22.000000000000000000 + Size.PlatformDefault = False + Text = 'lblStatusText' + TabOrder = 1 + end + end + object OlfAboutDialog1: TOlfAboutDialog + Titre = 'Fediverse GET URL Tester' + VersionNumero = '20221113' + MultiResBitmap.Height = 256 + MultiResBitmap.Width = 256 + MultiResBitmap = < + item + Width = 256 + Height = 256 + PNG = { + 89504E470D0A1A0A0000000D49484452000001000000010008060000005C72A8 + 66000000017352474200AECE1CE90000000467414D410000B18F0BFC61050000 + 1FBB49444154785EEDDD077815C5DA07F077774F0AA924340111144185D0A320 + 5800054451C182D72B2A228A0545142F284208BD7A452F5E40C0C255F914F5AA + 340B867815A52614691604A4B7E424A49EDDF9F69D4C949E9C9A72FE3F1F9E3D + 3B4B9364DE9DF2CE0C0100000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000784353570872499B4568942BBB6AB6704590A5394873 + 85866846A8A9E96186667F9F58C2B21C8E7CCA35F3F41047766148446672533A + 419A26D46F0115100240101BBB25BBB628B47A086175D74CD1810C23944CE130 + 1D9AA65BA6A159A49341BAC5DF277635B73F9876A96917159A820A0D419976F1 + 1293AC4F293376457227CDA57E6BA820100082C8F8F4CC1E2E8B9235A13526DD + 0C27CD70A847DEB34CCB1246AED0C51183C49CD0F098E943AFD0B3D45328A710 + 002AB1495BADE8FCBCAC172D4D7B84C88C31C808518FFCCF0E08A6304EE88658 + 66E8FA53C39B471F544FA01C4100A88492D3B23AE9E47A8F2CAA6937EB75555C + 764C3B18187A96FD171933B265EC34550AE500024025316BAD083964644E3035 + 7AC2EEA35751C5E58E6559F99AA62F888D8C1A30A8B19EAF8AA18C20005470B2 + E2EBCE05A459B7F9B44FEF6FC2746964BC5B9811DD1F8387650701A0024B5E9F + F9B4D0ADA901EDDBFB984966A1A185BC34A245D46455040184005001256D38DE + DAE1D253C9D0A25451C567D13121E89A916D62B6AA12080004800A849BFB0742 + 32BF2197E8A01B46A5FBDA99A6294837E68F6A15F3A02A023F4300A82026ACCE + B8C46588AD3259A792B3E3C0711166B64C4E88DFAD8AC04FCA7E8A084A342E2D + 634081217E0986CACFECC64D9C96AFFD3E3A2DB38F2A023F410BA01C4B4A4971 + 38E25A7D6DC7E9EB5551F011D6F411ADAA3EA3EEC0C71000CAA9A4CD07A3F4FC + 2ABB7583E25451D012245246B68CEDAC6EC1871000CA21AEFC9A5DF90D54FEBF + 9822CDD53A263159D32C55023E800050CE70FE7E6E4EF62E54FE3399827E1521 + D14D9213B40255045E32D415CA81F1ABAC6A05E4DC67E85AB42A8293E81AC593 + 5570C3F5B542DF4A4D4DC53E043E8059807262D27787A30BC39C7BF4729CC75F + 1ED8DFB0ED8D5ECF2E1042A0F5EA030800E5405252925E1015B61C95BF7434D2 + EE1E979E35990841C05B080065CD7E93397A0E19657FBAB2A8004AC3AEFA4346 + A739313DE82544D032367AFDD19B353D64B1BA0537199675D58BADABAE51B7E0 + 26048032347A43E6659AD0B6A95BF08449C75C22BA5E72A296A34AC00DE80294 + 91A4949DE1C2A5AD53B7E02983E23587F34D0C0A7A0601A08C18D5E29FD40D8A + 54B7E00583B4DE63379CC0BA010F206A9681899B732E2A74B976A95BF005D3B4 + 5C615A8DE484AAC7540994025A0001C64DD5FCFCC237D42DF88A61E88E427DA4 + BA8352420B20C092D39C1D748DBE53B7E063BA454D87B78ED9A26EA104680104 + 100FFCD9957F89BA053FB048BC8C01C1D2430008203DA6EA2DF625A6E80EFC42 + D7BA8D4FCFEEA8EEA004080001C2876F92C3785BDD821F999A35427D84122000 + 0488C395D9591798F60B048DB44EA3D71C6DA66EE13CD0570A005EECE3E83564 + 1B9168A48AC0CF8410AF8F6C15FBA4BA3D2BDE728D6A3409A7D01A3A9DC8D4C3 + 0A7443AF1EE332B20EB842236AB93EDE9B6AA676EA54A90F2D41002885A424A1 + 87DF9919AB0957A46986C6B874AB9E6669B584A65D409A966790D82B0CC77ECA + 2B38687F0B390BE2A2B3922FD6F2D42F47CA6F19A9124E35865C1E732469E7CE + F090DC1A71565E414DA11B37D88FBAEB422490A65F50F433CF4308A75D4D56D8 + 5FEB6F49D7579805F98773F2CCE353AEA951294E3E4600381B21B4A9DBB3AAE5 + E65313D3341F3104F5767B475E93B6DB1DAC7F52A86399282C1C62374B07AA27 + 102082C4BB1A590D4C93DA1B3E3E47C16E616CD40D6D46E109F34BCACB3890DC + E9E23F037E458200709229E956648E75A2BDAE9BFF24D29BAA628012098B5E36 + 1DD68C15476377A756A0B30E11006C492B33E28D70ED214DD7A6AA22008F9824 + 32754D1B625AE6C2E4567119AAB8DC0AEA00307D8915E6AC9DFD80FDAF305B15 + 01F88C5DB94685BB68C690C49823AAA8DC09D20020B4A4B48C16BAA57F67F7E3 + 3035E781CC037FD0F1BDBBE8F8BE5D64384229AEEE4554ADFEA514111BAF7E06 + 14B32C3123C732874F4A8CCF5445E546D005805942841C58EF1C61577C248BB8 + E9B7D5A9B4F23F3368EF9634CA3E7250959E2AAE6E7DBAA8455BEA3A2899626A + D555A5204CD3D20DD1B3718BB825BD35CD54C5652EA80240529AA86A58CE4D9A + A15DA88AA014F66FDF488B260CA13D1B5793B02CFB8D1F42095D7B51CD4B9B50 + 75FBADEF2AC8A7A3BB7FA5DD1B56D1AF3F7CC323E4A4E93A5D766D37BA6BFC1C + 0A8BC42EE7C5048974B340DC997C55D5DF5451990A9A00307CDDB1FAE1BAB68D + 34235C154129ACF9702E2D99FA02B9F2F3A8CE152DE8966153A9F6E5CD2924EC + EC1B18E7641CA5DDE9ABE8A31103282F2B93C2A362A8FF9B5F50AD4698543999 + 10D63D66CBD885657DD251500480A4D519973842F55FD52D94D297D393E8FBB7 + 5FE5B716DD33E92DBAA2730FD20D877A7A7E85F9B9B472FE0C5A3E638CDD1A30 + A8CFAB1F50A30E37AAA7C0EC96D28766C69E7EC99D12B25551C055FA00306653 + 4E3DD3CCDF6990815390DCB0F6A337E9B37183A94A4C1CF57B6391C76FF06DA9 + 4BE9FD67EF939F9F5DBC91622F40EFEB64A64B1C17A12231B979D974092A7500 + 18BAF6586C1587761495DF3D077FFE8966F6E9446661010DFCF007AAD9F00AF5 + C4335BBEF99C163CD7874223226958CA4E728486A927C07880904C4A1C79555C + 9A2A0A984ABB1AF003218C2843FB0195DF7D9F4F784EF6F9EF9E30D7EBCACF9A + 74BE95DAFDFD31CA3F914DA96F4C51A5504C330C5D0B35D68FDB90C5EB1402AA + 920600A16D4BCF9A68FFCB7AFFDD1B647E5FF73DED4EFF510EF835BDF17655EA + BDEECF4DA090F02AB4E28DC932B8C0992C21BE4E4E73F652B70151290340D2BA + 430D358D86A85B70C38FEFCF94537D373F3FA9D4037EA5C1D382D7F42D3AC96B + FBB7CBE415CEA46BF4F1980DCEEBD4ADDF55BA00C04D7F4D0F5DA96EC14DBB37 + AC96F3FC759BB65625BE735DBF6749D70D5A3AED4555026725283529FD6882BA + F3AB4A1700766C70DE6768460D750B6E38FEC7EF9475783F35B19BFE8E30DFA7 + 4BF0E05F48952A328DD87415AA52381B9DF4F431AB8FD653B77E53A90240D2E6 + CDA18234ECBBE7A1433BB7CB2BF7FFFDC508299A01E06E069C9B4E8621428D1F + 93760ABF26AE55AA001056D8A068C2193C92B97FB7BC56AD7391BCFA43EDCB9A + CB2B0240C934D2EB388E67CD4812C26FF5B4D20480A414E130356B9EBA050F70 + 0E3FE37EBABF5866A5DE62CFF774EAA7A767F86E3AE63495260038E2F2FCDE5F + AAECAA5D74A9BCF2C21E7F39F45BD1D6883C2B00A5A36BC6C753D2B36AAA5B9F + AA3C5F05AD60AEFA041E2A6EFAEFDBBA415EFDA130AFE8187F0400F7E458D6FB + FEE80A548AAF823C7443689DD42D788897F6F21AFE6D2B16DB15355795FA0EA7 + 16F3EF5BE3E2C672AA114A4FD7B5CE8E34673B75EB33952200E41FCFC4AE3E3E + 52AFF995727DFFDE9FD6AB12DF499935490EFE751B3C5695803B4C8BBE4C4AF1 + EDAC40A5080091B17A6FF511BC746DDF6748D334FA7CDC60B22CDF6E5CB372FE + BFE4B5613B34D63C6138B44847D5ACFBD5AD4F548E8E58210D569FC04B9C01D8 + 20F15A3958B769D947AAD47B1F8F784CEE11D0E5E951580DE8054B33FF3D78E5 + EEB3EFC6E2810A1F0078FA8F0CBA4CDD820FDCF6D22B72C79F4F463E2EB703F3 + D6FAFFCEA7F4C50B64C5EF703FCE47F1062708C547C4DDA66EBD56E103407C5D + 81E5BE3EC68381778C9D29E7ECDF7CF4563AB063B37AE2BEB4CFDEA54FC70C92 + 7DFFA73F594B46887B072CC1992C32DF9CBE63874F9A51153E001C73EE4700F0 + 83842EBDA8DBB3E328CF9941B3EFBF41BEC5DDB564F23FE893514FCA40D27FDE + 32B96330784F27BD4A566EAD56EAD62B157E47A0A4CD22CAE1CAAA1407359647 + 5B5316D1FFFDA3AF9CC2AB756913EAFACC686AD4A18B1C283C1B1E38E4609132 + 7322390FED93CDFEC7DE4B95BF167C475862FDC8563189F617A2287DD3431522 + 003CFFDD61B9AF7444153A637F6923D4A8A1998E74755B217145F9F1FD59F4EB + AA14CA3E728872338FCB0133C6F3E5A1915114155F936A36BC9CAEBAFB61BAA4 + 6D47F92C500EEFDC414BA70EA39FBFFF5ADE57898D933B05C5D6AA43D51B34B6 + 8343211DFE6D1B651EDC4B877EDDFA670EC1D5F73D4E9D1E1D267F3EF89E4B98 + 71DE1E3F56AE0240D2E68C78BD50B4B0BFEDAFD484686DBF642E372DEB72C330 + 2ADDB031378BBF9DF7326D58B440A6DE16E7E133DE3BAF865DB1B8BF7CE4F79F + 2927F3987A5224A26A35AADFEA6ABA65E8E4806EB2C91982E98BDEA3759FBC43 + 05392754E9A9F8EFC341AA59B73B29EEC206AA14FC41B3C4832FB58E7D47DD7A + A4CC03C0D835D9B5AD10B3BB46563FBBE27750C5951657741E18FBE6DFE3E5BA + 787661B3446AF7B701320927AAFA05145A25429617E3E637B70AF8ED9AB6E87D + DAB474A15C4FCF6BF613BAF4A41E2F4C0BE8E11BFC6767ECDB4DB9CE0C3946A0 + 193A558989A72AD1B1329D1869BE8161121D152DA26B7A73B640990580E4F519 + 570A5D1B62901634493CBC29E6BCFEDDE59B94FBD08977F5A38E8F3C4F3135EB + A89F513ADCC4E6BE3927EBE4653BE5E11BBD46FF5B6EBE09C1C51511159BDC58 + 77AA5BB7053C004CD858D0A6C0953B99739B555150E037E6EC076EA4AC2307A8 + 419B0E74FB8857EDFE7323F5D433F927B268F58773E9CB5746CAB182CE8FBF48 + D73DFC9C7A0AC140685AF3912DA237A95BB7052C004CB3FBF7B92E7DAA69997D + 75DD2857630FFEB67FDB067AA36F57F9E66E7FDF1374D373E37DDA4CE69D7CE7 + 0FBC930A727328F18EBE74FBC857D513A8FCB4D9235A460F50376E0B48672D79 + 4366F71C97BE47103D146C95FFC4B1C334E7A16E641614D09D636651F7E727FA + BC8FCC2D8A810B57C9FEF7DA8FDFA2EFDE9EAE9E04DEF7F3FFE5D7FD04E034A6 + D9F7EE0F3C4F86F37B00484ECF78995CD662FBE3A9235B4180A7F2F8841D7E33 + 7719944C2D6FBD573D2919CFA77313BFB438C9E6E1B94B292C328ABE7A3599B6 + FFEF0BF524B052668E975D9D936735C08F0C3DB44913F2786D80DF02405292D0 + 47A71D5FA2933E583782EBAD5F6CE10BFD65DF9FA7C4AE79F069557A7E7CF6FE + ABBDAEA4516DE2696C87BA34B17343FAFA5F63D4D3F3AB5ABB1EDD37FDFFECCA + 67D187C3FAC9D647A08545C6C81382CF354D087E9097E5F11261BF0400DE9D97 + 7A666CD634A3BB2A0A3ACE837BE5997851D56BD15D13E6A8D2F3E3B736A7DD1E + DEB99D22ABD5A43A4D5ACA4A9C3A670ABDFD44E90E8CB938F15AEAFCD80BB2F5 + F0CDCC09AA3470AA5DD4505EF3B333E51502402FF078BB309F07007EF33BF2EB + 6C7404F1B15CDCFC9DFF546F39D577CFA4374BB5C9E689E347E883A17D497738 + 64537EE8D73FD3E3EF7D4B4397FF4217B5684BBFAC5C4EAB16CC563FFBFC3A3C + F0B40C3C9CB013E8FE7842D7A240B52BED077905FF0BD11C1ECFA8F93C00E83D + 9DABC87004F5F25C4EF039B06313C5D7BB841AB4B946959EDF6FAB56C866739B + 9E0FC841BD6251764BE08E3133E5E7B51F97EEC8033E83EF862786CB04A29459 + 1355696034BFB928F0A52F7A5F9580BF599AE6F156613E0D0063D63BE7EA9A96 + A86E83D6B773A7C92B9FAE5B5A077FD92AAF095D7BCAEBC9389070B24FF6B143 + AAA464AD6EBB4F068F2D5F7F26B7F80A14FE7B864644D12F3FA4C87467080061 + 5DA23EB9CD670160547AE6FDA6301F52B7418BBFE9B9E9CDA3F1EE9CAF1753B3 + B6BCF2C29BD3E56565CA3E7D6895D26F7DC889418DAFE92A67227E5BFDAD2A0D + 8CF0E858F9EFC0998FE07F9A306AA98F6EF34900787EAB156D98628E11A4A3FD + 27E3663C7FF3C7D5BD5895944EF10ABF156F4C914DF7937DFFCE6B725CE1922B + DD3B34F68A4E3DE49577F90DA48B5A16B54879FD02F89F25A86C03404C5E760A + CF47AADBA0F6C7A6B5F2DABECF13F25A5ABC0BCFF5FD87C8D983A9DD9BD2D2A9 + 2FD0CAFFCC9049443C0BC0ABEC3889C81D0DAFEE2407207F5DB542950446A701 + 4365B2931182ADBF03C1FE1247DA2F088F5EBE5E0780D1E9D93D2CCBF4FD59D2 + 15D4EE0DABE4B55EF3ABE4D51D1D1F1D2A07EFB28F1C94959F83008FA6F3619D + 0FCF5972C62AC192F0BE7E3C1B90B177D719AD0A7FAA71F16534F2C783015DAA + 0C9EF13A0058A6F94EB026FA9C0DAFDFE751F0F87AEE750118EF9EC34160F0E7 + E974DF2B0BE420E280FFA4C81F9EAEADE7B105CE2ACC3E5AFA01445FC0CEBF01 + 649A96FD3DE751EAA557012039ED782FBBEE63BB9793F0E61DBA23C46E963954 + 89FB78D4FFF28E3753F3EE77D385096DBCFABD8A971A17E42233AFB2D2347DAF + FAE836AF0280DDEB98A53E8252DE36C328CEC9D7FC78E22F942D53D7F6AB8F6E + F3F8BB75D2BAC3750C93AAA95B50C2A362C97215FAFC541D4F651D2EFADE0809 + F3E9895225DAFEED329A3FF02EFAF7BDD7D23F6F6D49133A5E4C936E6C44AFDC + D68A66F5E9441F0CEBF7E7802978471774407D749BC77DF7E434E7525DA39BD4 + 2D28BCD51767DF3DF9C14ABAA071822A2DD9BE2DE9F4FDFCD7E8F06FDBE5E69A + AEFC5CF9F6E66DBF38B986BB059C66DBFAF63E6E7509A6756F4ACE83FB2869CD + 61AFBA12A5C139071FBD34406635F2766127E33101DE4A8CCF07385974F50BE8 + 8ACE3DE8D6175F5625E036219247B48A1DA5EEDCE2710018B5CEE9348C3377E9 + 0D765B572CA6F79EB9976E1F319D12EF2C392F8A77DA5D3265A81C3C2CC69B82 + C6D52D1AF4CBC938F6E75B9CF1DE7FAD6FBF4FEED95FD209BB9C0138B67D1DB9 + 5478D0A7BE3FECF3644BA70C937B11F0D267FE7B7126628B5B7ACBFF8F2A3171 + F2FF89F11666F9F60F4E78E284A99FBEFA4406BA88D878EAF0C053D8D1C81386 + E830A259EC4A75E7168F02C0B08DBBE2225DB14748C7EE8FA7E3E497F1D7D797 + 4760F34938E7C26FC2451387D0EA0F8A560A7222D0F5F6373FEF9F1F195F4396 + 15E34A756CCF6FF4D3D79FCA34634E34E255770FCDFEFCBC536DDB5297D2BB83 + EEA1B67F7B947A0C9BAA4A7D8BA7173957E18FCDEBE4F807EF54DCBAE7FD720A + B23478D094139D8AD3A71BB6ED447D677D2A3F43E9E8B939170CBFFA8283EAD6 + 2D1E55E0482BF62954FEB30B8B2A6A1465ECDF23AFE7923A77AAACFCBCC5F763 + EFAEA087667D46975C75FD19959FF1FC3F77273847E01F5FEF90B303BCCA6FDE + 23B7D85D853CF5B3CE549C017845C75BE4D5D778D1D3B49B9BC9CACFCB907905 + 63DB7B1E2D75E567FCE6EFF254123DB764B3EC0EF0D908D37BB6293763281541 + 41B59A45073178C0ED4A9C2484FD6B749F1E515C99703F9BDF80BCFFDFB976E5 + E18AB37CC6588A8CAB4E033F5CE9D69A01FE35778E9B4D6DEE78D06E15ECA4E5 + AF9FFDAC7DAE40DC02E035090D124BB722D11DFCE69FFD6017D93DE1CD4E1E9C + F9DFB306AFD2E2EDCC9E5DB249B600B83BF45AAF2BD5132851C19673BF054AE0 + 760008FD39AB9ADD7AC5E8FF7974ECFFBCBC7E36F619793D1D37E51927FD44D7 + 285A04E40E4EEFBD69F0587970C8A62F3E56A5A75ABBF04DB99948B36E779D31 + 56C0BB0EF15B963712FDE9ABFF7AF4B69DD7FF1699B6CC9B9C761D34BAC4F188 + D2E081420E24B52F6B4E4776FD42EF0DFEBB7A02E726BE4A4E48F038CDD3ED00 + 609ED06AEA9AE9B3F3C92B237E9B71024FD6A17DB461C907AAF42F7CE436670B + B6B8D9F3231178C55D9D2B5A9E35C38FBB053C1BC101A2F3E32FA8D2BFF0AAC2 + ACC30768C7775FD182E71FA0F1D7D693BB16FFF0DECC526DE5F5BFB75E9129CF + F55BB7976705FA32F781FF5D1E9DBF5CB65CB80B83A9C2F3B32C7D8AFAE811B7 + 0701C7ACCF6C4FC2FA1F1986EFBEEA9510EF0538EDE604D9C77D21F577555A84 + 73FDF76C5EEB75DF9CDF92DC0D687C4D1755522465E604B91D188FAADFF4EC38 + 557A2A0E12077FD9220F1859F3E1BC3F8F1FE337399FFBD7F8DA6E7244FEF4F5 + 073C78C9FB14F2BE7FDCE7E7B506FE70FC8FDFE9E51ECDE59E06BC2B129C9DCB + 61554B4EA87AEAD9716E70BF126B7A282A7FC9626BD793476C73C5E2E6F2C9B8 + D2F862608E57109E5EF979DC819714F3819C1D1FF9872A3D13E717F0D8C38D03 + 47D2D06F7EA1810B7F94E715C4D4AA235B28BC02F1DBB967CE1C2C9BF6A2ACFC + 370E1CE1B7CACFAAD6AD2F8F4AE3164E7197094E659169D2E1588F4F0562EEB7 + 00D2B23A922652D42D9C07BF65B9AFCD837E57DB7DE5EE43FCBB49276F263AAB + 4F672ACCCDA1FE6F7DE1D18A449E93E7B72F1F66C25B939D3EB0C7AD1A6EDDBC + 98BACBEFA7FEF21806B73678AA73C8B22DAA14FE22268D68193B4CDD78046F72 + 3FE2B72C4FF1715FFC47BB7FEDCF5D7A39B1E6CD476F933B07DDF6D22B1E557E + 56BC92B169979E67547E9EDAE460C6390B8138F29BA74879C0B32CB637AF08EC + 17CC2BEAA3C71000FC8C2B11070161FFB762D6447AFFB93EEA89EF70DEFDAC3E + 1DE5941CF7DB5BF77A403DF12DDE9598C700DAF7795295F8170F2EB6BDF75199 + D1B8E3BB2F5529308BE8285D55D3EB35DE08000150AB51D3A244979A7568CBF2 + CFE8B53BDBFA64749B730D78AA91A7CB0A7373E5D1639C54C36F717FD8B7355D + 5E79EC2150F8AC43F6FBDAEFE4158AD881F8296F8E052FE67600D075615AA689 + 739FDCC4FDD8A73F5E438D3ADC28CFF99FFDE08DF4D680DB657FDA5D9C0ABC62 + F6249ADAED0A5AB3709E1CA9E73EBF3B478F79A2F8A8B2E2BCFE4028DECF60DF + B60DF20A454EE4142E521FBDE276003049CBB06B7FE0F697AA44786EFBFED716 + CAB45FFEC6E6B4D77FF668215B04BC9886F3FDCF85DFF69C3A3CA7DF4D34E1FA + 06B4FCF571B242F228FEB376EBC2D33EBF3B8A03405844E0D68015EF6370F262 + A96067BFFD274FB9A646E90F8E3C0FF76701561FAD47A1219BED8F314525E009 + 5E1ABBF59BCFED37F964391F5F8CDFAE7CBE1E2F01E64D35794B70F923FBAFD9 + 1E0E246DFF3680DAFDED518F32093DC56716F24CC3F0EFFE907FBF40E0ADC5C7 + 76A823F7197CFA9335AA34B8B9841997DC2AEED4F5D61E723B004CDF618539B3 + 32779361787C1E199C8A47D6F76C5C4D699FBD4B7F6C5E2FE7D94FC6C939B51A + 35A12637DC4E8DAFED2A13757C917AEBAE59F777966317CF7FB195626AD555A5 + FEC5FB0A8CBFEE226A76D35DD47BE23C551AD4DE1AD132C667E76F78345A3426 + 3D6B86DD10716FDF6B28355EFEEB2A285ADFC18B8BB855509AF305FD8D0F28E5 + 330A07FD771D556FD04895FA17AF5B98F9F7EBA9DBE03174CD83835469F0F236 + F3EF741ECD020811FABAFA087EC0837A9C42CC3FB8A95D1E2A3FBBF4EA1BE475 + CFA6C035C58BF70948E87A87BC06B9FEBEACFCCCA30030B255D84F16591EAF41 + 868AE9CA3B1F925D0FDEC0231078B683C749F8B0D3AAB5EBA9D2E0640A6B7F4D + 57F43BEAD6673CCE03D0848661D920C35D11DE9BF0E0CF3FC9710B7F3BBE7797 + 4C4DAEDEA0B12A095E2186DE7940A256A86E7DC6E300201C8EFEEA230491E223 + CF964D1B2EAFFEC219873CE5C9494DC13EF8A791357278B3E8EDEAD6A73C0E00 + 49CD22D79826F9642E122A8E3677F4959B8C6EFEEA13BFCECDF37986BC6C9AA7 + FF0235E0581E09CDDA5CC3153BD18E847E49BEF33800305D1749EA2304097E23 + DF36FC15799DFB707799A3E06BFC7BF299023CF8D96F4E604F362E6F8C2AFE69 + FA17F32A00982D63A69B028381C1E6D2F637C89600AFD57FE7C93B645293AF70 + D39FB32379009057357AB3CF60C5E7B87678E318BF2E85F42A00F06204430B19 + AA6E2188142F39DEB3710DCDE9DBB5545B899584B31D79BF01DE4485D735F0C6 + A7C1CA74687F1FD132C2EF2BA07CB26C6CD4BA4CA76168814B10877281D72770 + 537DE7DAFFC9C54E0FCCF84866297A8297347F30B4AF4C82E25D957B8D9AA19E + 041F4D584F0D6F193BC3EE66F97DD19D572D8062BAAE5F6DB7D9BC5E9A08150B + CFCFF79DFD1975B87FA09C16FCD75DEDE8EDC77B9E91CA7C3EBC0E8233FDFEF3 + 746F59F9B9E20773E517644D2E6C19FB7A202A3FF3D9C2F1D169CEE99A464FAB + 5B0832BBD27EA085C31F91CB9B79238F9A975C4E0DDB75A2CBAEBB498EE2F3A2 + 251E38E44D4C8FEFFD9DD2172FA03D1B56CB034E18EFFF77FB8857E5DE09414B + A3E11BB72F9BF461EFDE013B15C567018084D046A565EE3774DD7F3B4542B926 + 0F2349592C4F3DE2C34E4FC66B1A84FDBCF8B8F2621C243A0D1846F55B5DAD4A + 829330C5C3235AC7BC19A8377F31DF0500DB94742BF204390F1BA4E3DC8020E7 + 3CB48FF6FEB45E660D72BE4086DD45E020107F6103796068BD668974C1E5CDE5 + 7A87606709D123A965CC127FCDF59F8F4F03001BB7C3AA519893B9D72023F0EB + 55012A1491210AA8DDC8AB62FD92E5571A3E19043CD9F0C6FA61C30C6B6492E9 + B7E405808ACE7ED5BF1B111F5DA72C2B3FF3790BA0D80B1BB36A4514BA78E390 + 5055040036A1EBB798CD2297F962534F6FF92D00B0E93F1E897186EB6B891CC1 + 9BCC0DF097B762F20A060D6A57DDABD37C7CC9AF0180F171E28E0D5913ED8F45 + 47E602041B611E7009E386E456D15BCB62A0EF7CFC1E008A8D5997539F74D746 + FB4FC466A2101C5CE27787C3B863D927919B529335972A2D5702160058528A70 + 38AA663D645AE62CC33002FA6703048C29D24444D8BDE6E5613F97877EFEF994 + 49254C5A2B2274CDF9189135554720804AC0344596FD527BD295E35A9C7C75EC + F1F2D6D43F9732AD7CBCC5F831E7D18BC911BAC0415A0B550C5021089376E80E + 9A5298A72FA2AB220F95F7B7FDD9949BB7EF73E9FB23A34C47ACC3087F4690E8 + 65FFC50277001D40094CD33C4886B1DCAEF52B44BEB9941CF9C79213EBE6A8C7 + 1556B96D7EF3784176DC81B0A8881023FCA0C310D5627C9EB4047086AC2CD20A + 849557CB65E61C122222BCBA496DA8C07EBB97CB413C00000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000000080B240F4FF7EBA5E + A0F2BA78A10000000049454E44AE426082} + FileName = + 'C:\Users\olfso\Documents\Embarcadero\Studio\Projets\Fediverse\as' + + 'sets\icone\fgut-256x256.png' + end> + URL = 'https://developpeur-pascal.fr/fediverse-get-url-tester.html' + onURLClick = OlfAboutDialog1URLClick + Langue = EN + Left = 448 + Top = 24 + end + object edtURLToGet: TEdit + Touch.InteractiveGestures = [LongTap, DoubleTap] + Align = Top + TabOrder = 1 + Position.X = 5.000000000000000000 + Position.Y = 45.000000000000000000 + Margins.Left = 5.000000000000000000 + Margins.Top = 5.000000000000000000 + Margins.Right = 5.000000000000000000 + Margins.Bottom = 5.000000000000000000 + Size.Width = 630.000000000000000000 + Size.Height = 30.000000000000000000 + Size.PlatformDefault = False + TextPrompt = 'URL to GET' + end + object btnGETasJSON: TButton + Align = Top + Default = True + Margins.Left = 5.000000000000000000 + Margins.Top = 5.000000000000000000 + Margins.Right = 5.000000000000000000 + Margins.Bottom = 5.000000000000000000 + Position.X = 5.000000000000000000 + Position.Y = 85.000000000000000000 + Size.Width = 630.000000000000000000 + Size.Height = 30.000000000000000000 + Size.PlatformDefault = False + TabOrder = 2 + Text = 'Send GET as application/ld+json' + OnClick = btnGETasJSONClick + end + object btnGETasHTML: TButton + Align = Top + Margins.Left = 5.000000000000000000 + Margins.Top = 5.000000000000000000 + Margins.Right = 5.000000000000000000 + Margins.Bottom = 5.000000000000000000 + Position.X = 5.000000000000000000 + Position.Y = 125.000000000000000000 + Size.Width = 630.000000000000000000 + Size.Height = 30.000000000000000000 + Size.PlatformDefault = False + TabOrder = 3 + Text = 'Send GET as text/html' + OnClick = btnGETasHTMLClick + end + object mmoResult: TMemo + Touch.InteractiveGestures = [Pan, LongTap, DoubleTap] + DataDetectorTypes = [] + ReadOnly = True + TextSettings.WordWrap = True + Align = Client + Margins.Left = 5.000000000000000000 + Margins.Top = 5.000000000000000000 + Margins.Right = 5.000000000000000000 + Margins.Bottom = 5.000000000000000000 + Size.Width = 630.000000000000000000 + Size.Height = 288.000000000000000000 + Size.PlatformDefault = False + TabOrder = 4 + Viewport.Width = 626.000000000000000000 + Viewport.Height = 284.000000000000000000 + end + object zLockScreen: TLayout + Align = Contents + Size.Width = 640.000000000000000000 + Size.Height = 480.000000000000000000 + Size.PlatformDefault = False + TabOrder = 7 + object LockScreenIndicator: TAniIndicator + Align = Center + end + object LockScreenBackground: TRectangle + Align = Contents + Fill.Color = claAliceblue + Opacity = 0.300000011920929000 + Size.Width = 640.000000000000000000 + Size.Height = 480.000000000000000000 + Size.PlatformDefault = False + Stroke.Kind = None + end + end +end diff --git a/src/fMain.pas b/src/fMain.pas new file mode 100644 index 0000000..58adfb5 --- /dev/null +++ b/src/fMain.pas @@ -0,0 +1,228 @@ +unit fMain; + +interface + +uses + System.SysUtils, System.Types, System.UITypes, System.Classes, + System.Variants, + FMX.Types, FMX.Controls, FMX.Forms, FMX.Graphics, FMX.Dialogs, + Olf.FMX.AboutDialog, FMX.Controls.Presentation, FMX.StdCtrls, FMX.Edit, + FMX.Memo.Types, FMX.Layouts, FMX.Objects, FMX.ScrollBox, FMX.Memo; + +type + TfrmMain = class(TForm) + ToolBar1: TToolBar; + OlfAboutDialog1: TOlfAboutDialog; + btnClose: TButton; + btnAbout: TButton; + StatusBar1: TStatusBar; + btnRegisterLicense: TButton; + lblStatusText: TLabel; + edtURLToGet: TEdit; + btnGETasJSON: TButton; + btnGETasHTML: TButton; + mmoResult: TMemo; + LockScreenBackground: TRectangle; + zLockScreen: TLayout; + LockScreenIndicator: TAniIndicator; + procedure btnAboutClick(Sender: TObject); + procedure OlfAboutDialog1URLClick(const AURL: string); + procedure FormCreate(Sender: TObject); + procedure btnRegisterLicenseClick(Sender: TObject); + procedure btnCloseClick(Sender: TObject); + procedure btnGETasJSONClick(Sender: TObject); + procedure btnGETasHTMLClick(Sender: TObject); + private + { Déclarations privées } + public + { Déclarations publiques } + procedure CheckLicense; + procedure UnlockScreen; + procedure LockScreen; + procedure GETWithAcceptHeader(AcceptHeader: string); + end; + +var + frmMain: TfrmMain; + +implementation + +{$R *.fmx} + +uses + u_urlOpen, Olf.RTL.Params, System.IOUtils, System.StrUtils, uChecksumVerif, + System.Net.HttpClient; + +{$IFDEF RELEASE} +{$I '..\_PRIVE\PrivateConsts.pas'} +{$ELSE} + +const + _LicensePriv = '{6093192A-F09F-4F2D-8B92-0C9E08412120}'; +{$ENDIF} + +procedure TfrmMain.btnAboutClick(Sender: TObject); +begin + OlfAboutDialog1.Execute; +end; + +procedure TfrmMain.btnCloseClick(Sender: TObject); +begin + Close; +end; + +procedure TfrmMain.btnGETasHTMLClick(Sender: TObject); +begin + GETWithAcceptHeader('text/html'); +end; + +procedure TfrmMain.btnGETasJSONClick(Sender: TObject); +begin + GETWithAcceptHeader + ('application/ld+json; profile="https://www.w3.org/ns/activitystreams"'); +end; + +procedure TfrmMain.btnRegisterLicenseClick(Sender: TObject); +begin + // TODO : à compléter + + url_Open_In_Browser + ('https://boutique.olfsoftware.fr/l/FediverseGETURLTester'); +end; + +procedure TfrmMain.CheckLicense; +var + dt: tdatetime; + nbd: byte; + LicenseKey, LicenseEmail, LicenseVerif: string; +begin + LicenseKey := tparams.getValue('LicenseKey', ''); + LicenseEmail := tparams.getValue('LicenseEmail', ''); + LicenseVerif := tparams.getValue('LicenseToken', ''); + if (not LicenseVerif.IsEmpty) and checksumverif.check(LicenseVerif, + LicenseKey, LicenseEmail, _LicensePriv) then + begin + lblStatusText.text := ''; + lblStatusText.HitTest := false; + btnRegisterLicense.Visible := false; + end + else + begin + btnRegisterLicense.Visible := true; + + dt := tparams.getValue('LastStart', Now); + nbd := tparams.getValue('DaysOfUse', 30); + if (dt <> Now) and (nbd > 0) then + begin + dec(nbd); + tparams.getValue('DaysOfUse', nbd); + end; + tparams.setValue('LastStart', Now); + tparams.Save; + + if (nbd > 0) then + lblStatusText.text := + 'This is a shareware program. If you use it please buy a license. (' + + nbd.tostring + ' day' + ifthen(nbd > 1, 's', '') + ' left)' + else + begin + lblStatusText.text := + 'This is a shareware program. Free use period has expired. Please buy a license.'; + showmessage(lblStatusText.text); + end; + lblStatusText.HitTest := true; + lblStatusText.OnClick := btnRegisterLicense.OnClick; + end; +end; + +procedure TfrmMain.FormCreate(Sender: TObject); +begin +{$IFDEF DEBUG} + caption := '[DEBUG] ' + caption; +{$ENDIF} + UnlockScreen; + lblStatusText.text := ''; + CheckLicense; + edtURLToGet.SetFocus; +end; + +procedure TfrmMain.GETWithAcceptHeader(AcceptHeader: string); +var + url: string; +begin + if edtURLToGet.text.IsEmpty then + begin + edtURLToGet.SetFocus; + raise exception.Create('Please fill the URL to GET.'); + end + else + url := edtURLToGet.text; + LockScreen; + try + tthread.CreateAnonymousThread( + procedure + var + server: thttpclient; + response: ihttpresponse; + begin + try + server := thttpclient.Create; + try + server.Accept := AcceptHeader; + response := server.Get(url); + tthread.Synchronize(nil, + procedure + begin + mmoResult.Lines.Clear; + mmoResult.Lines.Add('URL : ' + url); + mmoResult.Lines.Add('Status code : ' + + response.StatusCode.tostring); + mmoResult.Lines.Add('Status text : ' + response.StatusText); + mmoResult.Lines.Add(''); + mmoResult.Lines.Add(response.ContentAsString(TEncoding.UTF8)); + end); + finally + server.Free; + end; + finally + tthread.Synchronize(nil, + procedure + begin + UnlockScreen; + end); + end; + end).Start; + except + UnlockScreen; + end; +end; + +procedure TfrmMain.LockScreen; +begin + zLockScreen.Visible := true; + zLockScreen.bringtofront; + LockScreenIndicator.enabled := true; +end; + +procedure TfrmMain.OlfAboutDialog1URLClick(const AURL: string); +begin + url_Open_In_Browser(AURL); +end; + +procedure TfrmMain.UnlockScreen; +begin + LockScreenIndicator.enabled := false; + zLockScreen.Visible := false; +end; + +initialization + +{$IFDEF DEBUG} + tparams.setFolderName(tpath.Combine(tpath.Combine(tpath.GetHomePath, + 'OlfSoftware'), 'FediverseGetURLTester-debug')); +{$ELSE} + tparams.setFolderName(tpath.Combine(tpath.Combine(tpath.GetHomePath, + 'OlfSoftware'), 'FediverseGetURLTester')); +{$ENDIF} + +end. diff --git a/src/info.plist.TemplateOSX.xml b/src/info.plist.TemplateOSX.xml new file mode 100644 index 0000000..e396ed8 --- /dev/null +++ b/src/info.plist.TemplateOSX.xml @@ -0,0 +1,21 @@ + + + + +<%VersionInfoPListKeys%> +<%ExtraInfoPListKeys%> +NSAppTransportSecurity + +NSExceptionDomains + +localhost + +NSIncludesSubdomains + +NSExceptionAllowsInsecureHTTPLoads + + + + + +