This commit is contained in:
Carldric Clement 2023-06-04 15:37:20 +08:00 committed by GitHub
parent a0bcf8894f
commit 628d9396ee
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
20 changed files with 4500 additions and 2586 deletions

32
DB_Maker.dpr Normal file
View file

@ -0,0 +1,32 @@
library DB_Maker;
{ Important note about DLL memory management: ShareMem must be the
first unit in your library's USES clause AND your project's (select
Project-View Source) USES clause if your DLL exports any procedures or
functions that pass strings as parameters or function results. This
applies to all strings passed to and from your DLL--even those that
are nested in records and classes. ShareMem is the interface unit to
the BORLNDMM.DLL shared memory manager, which must be deployed along
with your DLL. To avoid using BORLNDMM.DLL, pass string information
using PChar or ShortString parameters. }
uses
FMX.Dialogs,
System.SysUtils,
System.Classes;
{$R *.res}
function GetDirectory: string; stdcall;
var
Directory: string;
begin
if SelectDirectory('Please Select Your Location', GetCurrentDir, Directory) then
Result:= Directory;
end;
exports
GetDirectory;
begin
end.

932
DB_Maker.dproj Normal file
View file

@ -0,0 +1,932 @@
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<ProjectGuid>{38A90E90-FD3C-4A27-BC9E-CB5D36770184}</ProjectGuid>
<ProjectVersion>19.2</ProjectVersion>
<FrameworkType>None</FrameworkType>
<Base>True</Base>
<Config Condition="'$(Config)'==''">Release</Config>
<Platform Condition="'$(Platform)'==''">Win32</Platform>
<TargetedPlatforms>1</TargetedPlatforms>
<AppType>Library</AppType>
<MainSource>DB_Maker.dpr</MainSource>
</PropertyGroup>
<PropertyGroup Condition="'$(Config)'=='Base' or '$(Base)'!=''">
<Base>true</Base>
</PropertyGroup>
<PropertyGroup Condition="('$(Platform)'=='Android' and '$(Base)'=='true') or '$(Base_Android)'!=''">
<Base_Android>true</Base_Android>
<CfgParent>Base</CfgParent>
<Base>true</Base>
</PropertyGroup>
<PropertyGroup Condition="('$(Platform)'=='Android64' and '$(Base)'=='true') or '$(Base_Android64)'!=''">
<Base_Android64>true</Base_Android64>
<CfgParent>Base</CfgParent>
<Base>true</Base>
</PropertyGroup>
<PropertyGroup Condition="('$(Platform)'=='Win32' and '$(Base)'=='true') or '$(Base_Win32)'!=''">
<Base_Win32>true</Base_Win32>
<CfgParent>Base</CfgParent>
<Base>true</Base>
</PropertyGroup>
<PropertyGroup Condition="('$(Platform)'=='Win64' and '$(Base)'=='true') or '$(Base_Win64)'!=''">
<Base_Win64>true</Base_Win64>
<CfgParent>Base</CfgParent>
<Base>true</Base>
</PropertyGroup>
<PropertyGroup Condition="'$(Config)'=='Debug' or '$(Cfg_1)'!=''">
<Cfg_1>true</Cfg_1>
<CfgParent>Base</CfgParent>
<Base>true</Base>
</PropertyGroup>
<PropertyGroup Condition="('$(Platform)'=='Win32' and '$(Cfg_1)'=='true') or '$(Cfg_1_Win32)'!=''">
<Cfg_1_Win32>true</Cfg_1_Win32>
<CfgParent>Cfg_1</CfgParent>
<Cfg_1>true</Cfg_1>
<Base>true</Base>
</PropertyGroup>
<PropertyGroup Condition="'$(Config)'=='Release' or '$(Cfg_2)'!=''">
<Cfg_2>true</Cfg_2>
<CfgParent>Base</CfgParent>
<Base>true</Base>
</PropertyGroup>
<PropertyGroup Condition="'$(Base)'!=''">
<DCC_DcuOutput>.\$(Platform)\$(Config)</DCC_DcuOutput>
<DCC_ExeOutput>.\$(Platform)\$(Config)</DCC_ExeOutput>
<DCC_E>false</DCC_E>
<DCC_N>false</DCC_N>
<DCC_S>false</DCC_S>
<DCC_F>false</DCC_F>
<DCC_K>false</DCC_K>
<GenDll>true</GenDll>
<DCC_Namespace>System;Xml;Data;Datasnap;Web;Soap;$(DCC_Namespace)</DCC_Namespace>
<SanitizedProjectName>DB_Maker</SanitizedProjectName>
</PropertyGroup>
<PropertyGroup Condition="'$(Base_Android)'!=''">
<VerInfo_Keys>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=</VerInfo_Keys>
<BT_BuildType>Debug</BT_BuildType>
<EnabledSysJars>android-support-v4.dex.jar;cloud-messaging.dex.jar;com-google-android-gms.play-services-ads-base.17.2.0.dex.jar;com-google-android-gms.play-services-ads-identifier.16.0.0.dex.jar;com-google-android-gms.play-services-ads-lite.17.2.0.dex.jar;com-google-android-gms.play-services-ads.17.2.0.dex.jar;com-google-android-gms.play-services-analytics-impl.16.0.8.dex.jar;com-google-android-gms.play-services-analytics.16.0.8.dex.jar;com-google-android-gms.play-services-base.16.0.1.dex.jar;com-google-android-gms.play-services-basement.16.2.0.dex.jar;com-google-android-gms.play-services-gass.17.2.0.dex.jar;com-google-android-gms.play-services-identity.16.0.0.dex.jar;com-google-android-gms.play-services-maps.16.1.0.dex.jar;com-google-android-gms.play-services-measurement-base.16.4.0.dex.jar;com-google-android-gms.play-services-measurement-sdk-api.16.4.0.dex.jar;com-google-android-gms.play-services-stats.16.0.1.dex.jar;com-google-android-gms.play-services-tagmanager-v4-impl.16.0.8.dex.jar;com-google-android-gms.play-services-tasks.16.0.1.dex.jar;com-google-android-gms.play-services-wallet.16.0.1.dex.jar;com-google-firebase.firebase-analytics.16.4.0.dex.jar;com-google-firebase.firebase-common.16.1.0.dex.jar;com-google-firebase.firebase-iid-interop.16.0.1.dex.jar;com-google-firebase.firebase-iid.17.1.1.dex.jar;com-google-firebase.firebase-measurement-connector.17.0.1.dex.jar;com-google-firebase.firebase-messaging.17.5.0.dex.jar;fmx.dex.jar;google-play-billing.dex.jar;google-play-licensing.dex.jar</EnabledSysJars>
</PropertyGroup>
<PropertyGroup Condition="'$(Base_Android64)'!=''">
<VerInfo_Keys>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=</VerInfo_Keys>
<BT_BuildType>Debug</BT_BuildType>
<EnabledSysJars>android-support-v4.dex.jar;cloud-messaging.dex.jar;com-google-android-gms.play-services-ads-base.17.2.0.dex.jar;com-google-android-gms.play-services-ads-identifier.16.0.0.dex.jar;com-google-android-gms.play-services-ads-lite.17.2.0.dex.jar;com-google-android-gms.play-services-ads.17.2.0.dex.jar;com-google-android-gms.play-services-analytics-impl.16.0.8.dex.jar;com-google-android-gms.play-services-analytics.16.0.8.dex.jar;com-google-android-gms.play-services-base.16.0.1.dex.jar;com-google-android-gms.play-services-basement.16.2.0.dex.jar;com-google-android-gms.play-services-gass.17.2.0.dex.jar;com-google-android-gms.play-services-identity.16.0.0.dex.jar;com-google-android-gms.play-services-maps.16.1.0.dex.jar;com-google-android-gms.play-services-measurement-base.16.4.0.dex.jar;com-google-android-gms.play-services-measurement-sdk-api.16.4.0.dex.jar;com-google-android-gms.play-services-stats.16.0.1.dex.jar;com-google-android-gms.play-services-tagmanager-v4-impl.16.0.8.dex.jar;com-google-android-gms.play-services-tasks.16.0.1.dex.jar;com-google-android-gms.play-services-wallet.16.0.1.dex.jar;com-google-firebase.firebase-analytics.16.4.0.dex.jar;com-google-firebase.firebase-common.16.1.0.dex.jar;com-google-firebase.firebase-iid-interop.16.0.1.dex.jar;com-google-firebase.firebase-iid.17.1.1.dex.jar;com-google-firebase.firebase-measurement-connector.17.0.1.dex.jar;com-google-firebase.firebase-messaging.17.5.0.dex.jar;fmx.dex.jar;google-play-billing.dex.jar;google-play-licensing.dex.jar</EnabledSysJars>
</PropertyGroup>
<PropertyGroup Condition="'$(Base_Win32)'!=''">
<DCC_UsePackage>DBXSqliteDriver;IndyIPCommon;RESTComponents;bindcompdbx;DBXInterBaseDriver;vcl;IndyIPServer;vclactnband;vclFireDAC;IndySystem;bindcompvclsmp;tethering;svnui;bindcompvclwinx;dsnapcon;FireDACADSDriver;FireDACMSAccDriver;fmxFireDAC;vclimg;FireDAC;vcltouch;vcldb;bindcompfmx;svn;FireDACSqliteDriver;FireDACPgDriver;inetdb;soaprtl;DbxCommonDriver;fmx;FireDACIBDriver;fmxdae;xmlrtl;soapmidas;vcledge;fmxobj;vclwinx;rtl;DbxClientDriver;CustomIPTransport;vcldsnap;dbexpress;IndyCore;vclx;bindcomp;appanalytics;dsnap;FireDACCommon;IndyIPClient;bindcompvcl;RESTBackendComponents;VCLRESTComponents;soapserver;dbxcds;VclSmp;adortl;vclie;bindengine;DBXMySQLDriver;CloudService;dsnapxml;FireDACMySQLDriver;dbrtl;IndyProtocols;inetdbxpress;FireDACCommonODBC;FireDACCommonDriver;inet;fmxase;$(DCC_UsePackage)</DCC_UsePackage>
<DCC_Namespace>Winapi;System.Win;Data.Win;Datasnap.Win;Web.Win;Soap.Win;Xml.Win;Bde;$(DCC_Namespace)</DCC_Namespace>
<BT_BuildType>Debug</BT_BuildType>
<VerInfo_IncludeVerInfo>true</VerInfo_IncludeVerInfo>
<VerInfo_Keys>CompanyName=;FileDescription=$(MSBuildProjectName);FileVersion=1.0.0.0;InternalName=;LegalCopyright=;LegalTrademarks=;OriginalFilename=;ProgramID=com.embarcadero.$(MSBuildProjectName);ProductName=$(MSBuildProjectName);ProductVersion=1.0.0.0;Comments=</VerInfo_Keys>
<VerInfo_Locale>1033</VerInfo_Locale>
</PropertyGroup>
<PropertyGroup Condition="'$(Base_Win64)'!=''">
<DCC_UsePackage>DBXSqliteDriver;IndyIPCommon;RESTComponents;bindcompdbx;DBXInterBaseDriver;vcl;IndyIPServer;vclactnband;vclFireDAC;IndySystem;bindcompvclsmp;tethering;bindcompvclwinx;dsnapcon;FireDACADSDriver;FireDACMSAccDriver;fmxFireDAC;vclimg;FireDAC;vcltouch;vcldb;bindcompfmx;FireDACSqliteDriver;FireDACPgDriver;inetdb;soaprtl;DbxCommonDriver;fmx;FireDACIBDriver;fmxdae;xmlrtl;soapmidas;vcledge;fmxobj;vclwinx;rtl;DbxClientDriver;CustomIPTransport;vcldsnap;dbexpress;IndyCore;vclx;bindcomp;appanalytics;dsnap;FireDACCommon;IndyIPClient;bindcompvcl;RESTBackendComponents;VCLRESTComponents;soapserver;dbxcds;VclSmp;adortl;vclie;bindengine;DBXMySQLDriver;CloudService;dsnapxml;FireDACMySQLDriver;dbrtl;IndyProtocols;inetdbxpress;FireDACCommonODBC;FireDACCommonDriver;inet;fmxase;$(DCC_UsePackage)</DCC_UsePackage>
</PropertyGroup>
<PropertyGroup Condition="'$(Cfg_1)'!=''">
<DCC_Define>DEBUG;$(DCC_Define)</DCC_Define>
<DCC_DebugDCUs>true</DCC_DebugDCUs>
<DCC_Optimize>false</DCC_Optimize>
<DCC_GenerateStackFrames>true</DCC_GenerateStackFrames>
<DCC_DebugInfoInExe>true</DCC_DebugInfoInExe>
<DCC_RemoteDebug>true</DCC_RemoteDebug>
</PropertyGroup>
<PropertyGroup Condition="'$(Cfg_1_Win32)'!=''">
<DCC_RemoteDebug>false</DCC_RemoteDebug>
</PropertyGroup>
<PropertyGroup Condition="'$(Cfg_2)'!=''">
<DCC_LocalDebugSymbols>false</DCC_LocalDebugSymbols>
<DCC_Define>RELEASE;$(DCC_Define)</DCC_Define>
<DCC_SymbolReferenceInfo>0</DCC_SymbolReferenceInfo>
<DCC_DebugInformation>0</DCC_DebugInformation>
</PropertyGroup>
<ItemGroup>
<DelphiCompile Include="$(MainSource)">
<MainSource>MainSource</MainSource>
</DelphiCompile>
<BuildConfiguration Include="Release">
<Key>Cfg_2</Key>
<CfgParent>Base</CfgParent>
</BuildConfiguration>
<BuildConfiguration Include="Base">
<Key>Base</Key>
</BuildConfiguration>
<BuildConfiguration Include="Debug">
<Key>Cfg_1</Key>
<CfgParent>Base</CfgParent>
</BuildConfiguration>
</ItemGroup>
<ProjectExtensions>
<Borland.Personality>Delphi.Personality.12</Borland.Personality>
<Borland.ProjectType>Application</Borland.ProjectType>
<BorlandProject>
<Delphi.Personality>
<Source>
<Source Name="MainSource">DB_Maker.dpr</Source>
</Source>
</Delphi.Personality>
<Deployment Version="3">
<DeployFile LocalName="$(BDS)\Redist\osx32\libcgunwind.1.0.dylib" Class="DependencyModule">
<Platform Name="OSX32">
<Overwrite>true</Overwrite>
</Platform>
</DeployFile>
<DeployFile LocalName="$(BDS)\Redist\iossimulator\libcgunwind.1.0.dylib" Class="DependencyModule">
<Platform Name="iOSSimulator">
<Overwrite>true</Overwrite>
</Platform>
</DeployFile>
<DeployFile LocalName="$(BDS)\Redist\iossimulator\libpcre.dylib" Class="DependencyModule">
<Platform Name="iOSSimulator">
<Overwrite>true</Overwrite>
</Platform>
</DeployFile>
<DeployFile LocalName="Win32\Debug\DB_Maker.dll" Configuration="Debug" Class="ProjectOutput">
<Platform Name="Win32">
<RemoteName>DB_Maker.dll</RemoteName>
<Overwrite>true</Overwrite>
</Platform>
</DeployFile>
<DeployClass Name="AdditionalDebugSymbols">
<Platform Name="iOSSimulator">
<Operation>1</Operation>
</Platform>
<Platform Name="OSX32">
<RemoteDir>Contents\MacOS</RemoteDir>
<Operation>1</Operation>
</Platform>
<Platform Name="Win32">
<Operation>0</Operation>
</Platform>
</DeployClass>
<DeployClass Name="AndroidClassesDexFile">
<Platform Name="Android">
<RemoteDir>classes</RemoteDir>
<Operation>1</Operation>
</Platform>
<Platform Name="Android64">
<RemoteDir>classes</RemoteDir>
<Operation>1</Operation>
</Platform>
</DeployClass>
<DeployClass Name="AndroidFileProvider">
<Platform Name="Android">
<RemoteDir>res\xml</RemoteDir>
<Operation>1</Operation>
</Platform>
<Platform Name="Android64">
<RemoteDir>res\xml</RemoteDir>
<Operation>1</Operation>
</Platform>
</DeployClass>
<DeployClass Name="AndroidGDBServer">
<Platform Name="Android">
<RemoteDir>library\lib\armeabi-v7a</RemoteDir>
<Operation>1</Operation>
</Platform>
</DeployClass>
<DeployClass Name="AndroidLibnativeArmeabiFile">
<Platform Name="Android">
<RemoteDir>library\lib\armeabi</RemoteDir>
<Operation>1</Operation>
</Platform>
<Platform Name="Android64">
<RemoteDir>library\lib\armeabi</RemoteDir>
<Operation>1</Operation>
</Platform>
</DeployClass>
<DeployClass Name="AndroidLibnativeArmeabiv7aFile">
<Platform Name="Android64">
<RemoteDir>library\lib\armeabi-v7a</RemoteDir>
<Operation>1</Operation>
</Platform>
</DeployClass>
<DeployClass Name="AndroidLibnativeMipsFile">
<Platform Name="Android">
<RemoteDir>library\lib\mips</RemoteDir>
<Operation>1</Operation>
</Platform>
<Platform Name="Android64">
<RemoteDir>library\lib\mips</RemoteDir>
<Operation>1</Operation>
</Platform>
</DeployClass>
<DeployClass Name="AndroidServiceOutput">
<Platform Name="Android">
<RemoteDir>library\lib\armeabi-v7a</RemoteDir>
<Operation>1</Operation>
</Platform>
<Platform Name="Android64">
<RemoteDir>library\lib\arm64-v8a</RemoteDir>
<Operation>1</Operation>
</Platform>
</DeployClass>
<DeployClass Name="AndroidServiceOutput_Android32">
<Platform Name="Android64">
<RemoteDir>library\lib\armeabi-v7a</RemoteDir>
<Operation>1</Operation>
</Platform>
</DeployClass>
<DeployClass Name="AndroidSplashImageDef">
<Platform Name="Android">
<RemoteDir>res\drawable</RemoteDir>
<Operation>1</Operation>
</Platform>
<Platform Name="Android64">
<RemoteDir>res\drawable</RemoteDir>
<Operation>1</Operation>
</Platform>
</DeployClass>
<DeployClass Name="AndroidSplashStyles">
<Platform Name="Android">
<RemoteDir>res\values</RemoteDir>
<Operation>1</Operation>
</Platform>
<Platform Name="Android64">
<RemoteDir>res\values</RemoteDir>
<Operation>1</Operation>
</Platform>
</DeployClass>
<DeployClass Name="AndroidSplashStylesV21">
<Platform Name="Android">
<RemoteDir>res\values-v21</RemoteDir>
<Operation>1</Operation>
</Platform>
<Platform Name="Android64">
<RemoteDir>res\values-v21</RemoteDir>
<Operation>1</Operation>
</Platform>
</DeployClass>
<DeployClass Name="Android_Colors">
<Platform Name="Android">
<RemoteDir>res\values</RemoteDir>
<Operation>1</Operation>
</Platform>
<Platform Name="Android64">
<RemoteDir>res\values</RemoteDir>
<Operation>1</Operation>
</Platform>
</DeployClass>
<DeployClass Name="Android_DefaultAppIcon">
<Platform Name="Android">
<RemoteDir>res\drawable</RemoteDir>
<Operation>1</Operation>
</Platform>
<Platform Name="Android64">
<RemoteDir>res\drawable</RemoteDir>
<Operation>1</Operation>
</Platform>
</DeployClass>
<DeployClass Name="Android_LauncherIcon144">
<Platform Name="Android">
<RemoteDir>res\drawable-xxhdpi</RemoteDir>
<Operation>1</Operation>
</Platform>
<Platform Name="Android64">
<RemoteDir>res\drawable-xxhdpi</RemoteDir>
<Operation>1</Operation>
</Platform>
</DeployClass>
<DeployClass Name="Android_LauncherIcon192">
<Platform Name="Android">
<RemoteDir>res\drawable-xxxhdpi</RemoteDir>
<Operation>1</Operation>
</Platform>
<Platform Name="Android64">
<RemoteDir>res\drawable-xxxhdpi</RemoteDir>
<Operation>1</Operation>
</Platform>
</DeployClass>
<DeployClass Name="Android_LauncherIcon36">
<Platform Name="Android">
<RemoteDir>res\drawable-ldpi</RemoteDir>
<Operation>1</Operation>
</Platform>
<Platform Name="Android64">
<RemoteDir>res\drawable-ldpi</RemoteDir>
<Operation>1</Operation>
</Platform>
</DeployClass>
<DeployClass Name="Android_LauncherIcon48">
<Platform Name="Android">
<RemoteDir>res\drawable-mdpi</RemoteDir>
<Operation>1</Operation>
</Platform>
<Platform Name="Android64">
<RemoteDir>res\drawable-mdpi</RemoteDir>
<Operation>1</Operation>
</Platform>
</DeployClass>
<DeployClass Name="Android_LauncherIcon72">
<Platform Name="Android">
<RemoteDir>res\drawable-hdpi</RemoteDir>
<Operation>1</Operation>
</Platform>
<Platform Name="Android64">
<RemoteDir>res\drawable-hdpi</RemoteDir>
<Operation>1</Operation>
</Platform>
</DeployClass>
<DeployClass Name="Android_LauncherIcon96">
<Platform Name="Android">
<RemoteDir>res\drawable-xhdpi</RemoteDir>
<Operation>1</Operation>
</Platform>
<Platform Name="Android64">
<RemoteDir>res\drawable-xhdpi</RemoteDir>
<Operation>1</Operation>
</Platform>
</DeployClass>
<DeployClass Name="Android_NotificationIcon24">
<Platform Name="Android">
<RemoteDir>res\drawable-mdpi</RemoteDir>
<Operation>1</Operation>
</Platform>
<Platform Name="Android64">
<RemoteDir>res\drawable-mdpi</RemoteDir>
<Operation>1</Operation>
</Platform>
</DeployClass>
<DeployClass Name="Android_NotificationIcon36">
<Platform Name="Android">
<RemoteDir>res\drawable-hdpi</RemoteDir>
<Operation>1</Operation>
</Platform>
<Platform Name="Android64">
<RemoteDir>res\drawable-hdpi</RemoteDir>
<Operation>1</Operation>
</Platform>
</DeployClass>
<DeployClass Name="Android_NotificationIcon48">
<Platform Name="Android">
<RemoteDir>res\drawable-xhdpi</RemoteDir>
<Operation>1</Operation>
</Platform>
<Platform Name="Android64">
<RemoteDir>res\drawable-xhdpi</RemoteDir>
<Operation>1</Operation>
</Platform>
</DeployClass>
<DeployClass Name="Android_NotificationIcon72">
<Platform Name="Android">
<RemoteDir>res\drawable-xxhdpi</RemoteDir>
<Operation>1</Operation>
</Platform>
<Platform Name="Android64">
<RemoteDir>res\drawable-xxhdpi</RemoteDir>
<Operation>1</Operation>
</Platform>
</DeployClass>
<DeployClass Name="Android_NotificationIcon96">
<Platform Name="Android">
<RemoteDir>res\drawable-xxxhdpi</RemoteDir>
<Operation>1</Operation>
</Platform>
<Platform Name="Android64">
<RemoteDir>res\drawable-xxxhdpi</RemoteDir>
<Operation>1</Operation>
</Platform>
</DeployClass>
<DeployClass Name="Android_SplashImage426">
<Platform Name="Android">
<RemoteDir>res\drawable-small</RemoteDir>
<Operation>1</Operation>
</Platform>
<Platform Name="Android64">
<RemoteDir>res\drawable-small</RemoteDir>
<Operation>1</Operation>
</Platform>
</DeployClass>
<DeployClass Name="Android_SplashImage470">
<Platform Name="Android">
<RemoteDir>res\drawable-normal</RemoteDir>
<Operation>1</Operation>
</Platform>
<Platform Name="Android64">
<RemoteDir>res\drawable-normal</RemoteDir>
<Operation>1</Operation>
</Platform>
</DeployClass>
<DeployClass Name="Android_SplashImage640">
<Platform Name="Android">
<RemoteDir>res\drawable-large</RemoteDir>
<Operation>1</Operation>
</Platform>
<Platform Name="Android64">
<RemoteDir>res\drawable-large</RemoteDir>
<Operation>1</Operation>
</Platform>
</DeployClass>
<DeployClass Name="Android_SplashImage960">
<Platform Name="Android">
<RemoteDir>res\drawable-xlarge</RemoteDir>
<Operation>1</Operation>
</Platform>
<Platform Name="Android64">
<RemoteDir>res\drawable-xlarge</RemoteDir>
<Operation>1</Operation>
</Platform>
</DeployClass>
<DeployClass Name="Android_Strings">
<Platform Name="Android">
<RemoteDir>res\values</RemoteDir>
<Operation>1</Operation>
</Platform>
<Platform Name="Android64">
<RemoteDir>res\values</RemoteDir>
<Operation>1</Operation>
</Platform>
</DeployClass>
<DeployClass Name="DebugSymbols">
<Platform Name="iOSSimulator">
<Operation>1</Operation>
</Platform>
<Platform Name="OSX32">
<RemoteDir>Contents\MacOS</RemoteDir>
<Operation>1</Operation>
</Platform>
<Platform Name="Win32">
<Operation>0</Operation>
</Platform>
</DeployClass>
<DeployClass Name="DependencyFramework">
<Platform Name="OSX32">
<RemoteDir>Contents\MacOS</RemoteDir>
<Operation>1</Operation>
<Extensions>.framework</Extensions>
</Platform>
<Platform Name="OSX64">
<RemoteDir>Contents\MacOS</RemoteDir>
<Operation>1</Operation>
<Extensions>.framework</Extensions>
</Platform>
<Platform Name="Win32">
<Operation>0</Operation>
</Platform>
</DeployClass>
<DeployClass Name="DependencyModule">
<Platform Name="iOSDevice32">
<Operation>1</Operation>
<Extensions>.dylib</Extensions>
</Platform>
<Platform Name="iOSDevice64">
<Operation>1</Operation>
<Extensions>.dylib</Extensions>
</Platform>
<Platform Name="iOSSimulator">
<Operation>1</Operation>
<Extensions>.dylib</Extensions>
</Platform>
<Platform Name="OSX32">
<RemoteDir>Contents\MacOS</RemoteDir>
<Operation>1</Operation>
<Extensions>.dylib</Extensions>
</Platform>
<Platform Name="OSX64">
<RemoteDir>Contents\MacOS</RemoteDir>
<Operation>1</Operation>
<Extensions>.dylib</Extensions>
</Platform>
<Platform Name="Win32">
<Operation>0</Operation>
<Extensions>.dll;.bpl</Extensions>
</Platform>
</DeployClass>
<DeployClass Required="true" Name="DependencyPackage">
<Platform Name="iOSDevice32">
<Operation>1</Operation>
<Extensions>.dylib</Extensions>
</Platform>
<Platform Name="iOSDevice64">
<Operation>1</Operation>
<Extensions>.dylib</Extensions>
</Platform>
<Platform Name="iOSSimulator">
<Operation>1</Operation>
<Extensions>.dylib</Extensions>
</Platform>
<Platform Name="OSX32">
<RemoteDir>Contents\MacOS</RemoteDir>
<Operation>1</Operation>
<Extensions>.dylib</Extensions>
</Platform>
<Platform Name="OSX64">
<RemoteDir>Contents\MacOS</RemoteDir>
<Operation>1</Operation>
<Extensions>.dylib</Extensions>
</Platform>
<Platform Name="Win32">
<Operation>0</Operation>
<Extensions>.bpl</Extensions>
</Platform>
</DeployClass>
<DeployClass Name="File">
<Platform Name="Android">
<Operation>0</Operation>
</Platform>
<Platform Name="Android64">
<Operation>0</Operation>
</Platform>
<Platform Name="iOSDevice32">
<Operation>0</Operation>
</Platform>
<Platform Name="iOSDevice64">
<Operation>0</Operation>
</Platform>
<Platform Name="iOSSimulator">
<Operation>0</Operation>
</Platform>
<Platform Name="OSX32">
<RemoteDir>Contents\Resources\StartUp\</RemoteDir>
<Operation>0</Operation>
</Platform>
<Platform Name="OSX64">
<RemoteDir>Contents\Resources\StartUp\</RemoteDir>
<Operation>0</Operation>
</Platform>
<Platform Name="Win32">
<Operation>0</Operation>
</Platform>
</DeployClass>
<DeployClass Name="iOS_AppStore1024">
<Platform Name="iOSDevice64">
<RemoteDir>..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset</RemoteDir>
<Operation>1</Operation>
</Platform>
</DeployClass>
<DeployClass Name="iPad_AppIcon152">
<Platform Name="iOSDevice64">
<RemoteDir>..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset</RemoteDir>
<Operation>1</Operation>
</Platform>
<Platform Name="iOSSimulator">
<RemoteDir>..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset</RemoteDir>
<Operation>1</Operation>
</Platform>
</DeployClass>
<DeployClass Name="iPad_AppIcon167">
<Platform Name="iOSDevice64">
<RemoteDir>..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset</RemoteDir>
<Operation>1</Operation>
</Platform>
<Platform Name="iOSSimulator">
<RemoteDir>..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset</RemoteDir>
<Operation>1</Operation>
</Platform>
</DeployClass>
<DeployClass Name="iPad_Launch2x">
<Platform Name="iOSDevice64">
<RemoteDir>..\$(PROJECTNAME).launchscreen\Assets\LaunchScreenImage.imageset</RemoteDir>
<Operation>1</Operation>
</Platform>
<Platform Name="iOSSimulator">
<RemoteDir>..\$(PROJECTNAME).launchscreen\Assets\LaunchScreenImage.imageset</RemoteDir>
<Operation>1</Operation>
</Platform>
</DeployClass>
<DeployClass Name="iPad_LaunchDark2x">
<Platform Name="iOSDevice64">
<RemoteDir>..\$(PROJECTNAME).launchscreen\Assets\LaunchScreenImage.imageset</RemoteDir>
<Operation>1</Operation>
</Platform>
<Platform Name="iOSSimulator">
<RemoteDir>..\$(PROJECTNAME).launchscreen\Assets\LaunchScreenImage.imageset</RemoteDir>
<Operation>1</Operation>
</Platform>
</DeployClass>
<DeployClass Name="iPad_Notification40">
<Platform Name="iOSDevice64">
<RemoteDir>..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset</RemoteDir>
<Operation>1</Operation>
</Platform>
<Platform Name="iOSSimulator">
<RemoteDir>..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset</RemoteDir>
<Operation>1</Operation>
</Platform>
</DeployClass>
<DeployClass Name="iPad_Setting58">
<Platform Name="iOSDevice64">
<RemoteDir>..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset</RemoteDir>
<Operation>1</Operation>
</Platform>
<Platform Name="iOSSimulator">
<RemoteDir>..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset</RemoteDir>
<Operation>1</Operation>
</Platform>
</DeployClass>
<DeployClass Name="iPad_SpotLight80">
<Platform Name="iOSDevice64">
<RemoteDir>..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset</RemoteDir>
<Operation>1</Operation>
</Platform>
<Platform Name="iOSSimulator">
<RemoteDir>..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset</RemoteDir>
<Operation>1</Operation>
</Platform>
</DeployClass>
<DeployClass Name="iPhone_AppIcon120">
<Platform Name="iOSDevice64">
<RemoteDir>..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset</RemoteDir>
<Operation>1</Operation>
</Platform>
<Platform Name="iOSSimulator">
<RemoteDir>..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset</RemoteDir>
<Operation>1</Operation>
</Platform>
</DeployClass>
<DeployClass Name="iPhone_AppIcon180">
<Platform Name="iOSDevice64">
<RemoteDir>..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset</RemoteDir>
<Operation>1</Operation>
</Platform>
<Platform Name="iOSSimulator">
<RemoteDir>..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset</RemoteDir>
<Operation>1</Operation>
</Platform>
</DeployClass>
<DeployClass Name="iPhone_Launch2x">
<Platform Name="iOSDevice64">
<RemoteDir>..\$(PROJECTNAME).launchscreen\Assets\LaunchScreenImage.imageset</RemoteDir>
<Operation>1</Operation>
</Platform>
<Platform Name="iOSSimulator">
<RemoteDir>..\$(PROJECTNAME).launchscreen\Assets\LaunchScreenImage.imageset</RemoteDir>
<Operation>1</Operation>
</Platform>
</DeployClass>
<DeployClass Name="iPhone_Launch3x">
<Platform Name="iOSDevice64">
<RemoteDir>..\$(PROJECTNAME).launchscreen\Assets\LaunchScreenImage.imageset</RemoteDir>
<Operation>1</Operation>
</Platform>
<Platform Name="iOSSimulator">
<RemoteDir>..\$(PROJECTNAME).launchscreen\Assets\LaunchScreenImage.imageset</RemoteDir>
<Operation>1</Operation>
</Platform>
</DeployClass>
<DeployClass Name="iPhone_LaunchDark2x">
<Platform Name="iOSDevice64">
<RemoteDir>..\$(PROJECTNAME).launchscreen\Assets\LaunchScreenImage.imageset</RemoteDir>
<Operation>1</Operation>
</Platform>
<Platform Name="iOSSimulator">
<RemoteDir>..\$(PROJECTNAME).launchscreen\Assets\LaunchScreenImage.imageset</RemoteDir>
<Operation>1</Operation>
</Platform>
</DeployClass>
<DeployClass Name="iPhone_LaunchDark3x">
<Platform Name="iOSDevice64">
<RemoteDir>..\$(PROJECTNAME).launchscreen\Assets\LaunchScreenImage.imageset</RemoteDir>
<Operation>1</Operation>
</Platform>
<Platform Name="iOSSimulator">
<RemoteDir>..\$(PROJECTNAME).launchscreen\Assets\LaunchScreenImage.imageset</RemoteDir>
<Operation>1</Operation>
</Platform>
</DeployClass>
<DeployClass Name="iPhone_Notification40">
<Platform Name="iOSDevice64">
<RemoteDir>..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset</RemoteDir>
<Operation>1</Operation>
</Platform>
<Platform Name="iOSSimulator">
<RemoteDir>..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset</RemoteDir>
<Operation>1</Operation>
</Platform>
</DeployClass>
<DeployClass Name="iPhone_Notification60">
<Platform Name="iOSDevice64">
<RemoteDir>..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset</RemoteDir>
<Operation>1</Operation>
</Platform>
<Platform Name="iOSSimulator">
<RemoteDir>..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset</RemoteDir>
<Operation>1</Operation>
</Platform>
</DeployClass>
<DeployClass Name="iPhone_Setting58">
<Platform Name="iOSDevice64">
<RemoteDir>..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset</RemoteDir>
<Operation>1</Operation>
</Platform>
<Platform Name="iOSSimulator">
<RemoteDir>..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset</RemoteDir>
<Operation>1</Operation>
</Platform>
</DeployClass>
<DeployClass Name="iPhone_Setting87">
<Platform Name="iOSDevice64">
<RemoteDir>..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset</RemoteDir>
<Operation>1</Operation>
</Platform>
<Platform Name="iOSSimulator">
<RemoteDir>..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset</RemoteDir>
<Operation>1</Operation>
</Platform>
</DeployClass>
<DeployClass Name="iPhone_Spotlight120">
<Platform Name="iOSDevice64">
<RemoteDir>..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset</RemoteDir>
<Operation>1</Operation>
</Platform>
<Platform Name="iOSSimulator">
<RemoteDir>..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset</RemoteDir>
<Operation>1</Operation>
</Platform>
</DeployClass>
<DeployClass Name="iPhone_Spotlight80">
<Platform Name="iOSDevice64">
<RemoteDir>..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset</RemoteDir>
<Operation>1</Operation>
</Platform>
<Platform Name="iOSSimulator">
<RemoteDir>..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset</RemoteDir>
<Operation>1</Operation>
</Platform>
</DeployClass>
<DeployClass Name="ProjectAndroidManifest">
<Platform Name="Android">
<Operation>1</Operation>
</Platform>
<Platform Name="Android64">
<Operation>1</Operation>
</Platform>
</DeployClass>
<DeployClass Name="ProjectiOSDeviceDebug">
<Platform Name="iOSDevice32">
<RemoteDir>..\$(PROJECTNAME).app.dSYM\Contents\Resources\DWARF</RemoteDir>
<Operation>1</Operation>
</Platform>
<Platform Name="iOSDevice64">
<RemoteDir>..\$(PROJECTNAME).app.dSYM\Contents\Resources\DWARF</RemoteDir>
<Operation>1</Operation>
</Platform>
</DeployClass>
<DeployClass Name="ProjectiOSEntitlements">
<Platform Name="iOSDevice32">
<RemoteDir>..\</RemoteDir>
<Operation>1</Operation>
</Platform>
<Platform Name="iOSDevice64">
<RemoteDir>..\</RemoteDir>
<Operation>1</Operation>
</Platform>
</DeployClass>
<DeployClass Name="ProjectiOSInfoPList">
<Platform Name="iOSDevice32">
<Operation>1</Operation>
</Platform>
<Platform Name="iOSDevice64">
<Operation>1</Operation>
</Platform>
<Platform Name="iOSSimulator">
<Operation>1</Operation>
</Platform>
</DeployClass>
<DeployClass Name="ProjectiOSLaunchScreen">
<Platform Name="iOSDevice64">
<RemoteDir>..\$(PROJECTNAME).launchscreen</RemoteDir>
<Operation>64</Operation>
</Platform>
<Platform Name="iOSSimulator">
<RemoteDir>..\$(PROJECTNAME).launchscreen</RemoteDir>
<Operation>64</Operation>
</Platform>
</DeployClass>
<DeployClass Name="ProjectiOSResource">
<Platform Name="iOSDevice32">
<Operation>1</Operation>
</Platform>
<Platform Name="iOSDevice64">
<Operation>1</Operation>
</Platform>
<Platform Name="iOSSimulator">
<Operation>1</Operation>
</Platform>
</DeployClass>
<DeployClass Name="ProjectOSXDebug">
<Platform Name="OSX64">
<RemoteDir>..\$(PROJECTNAME).app.dSYM\Contents\Resources\DWARF</RemoteDir>
<Operation>1</Operation>
</Platform>
</DeployClass>
<DeployClass Name="ProjectOSXEntitlements">
<Platform Name="OSX32">
<RemoteDir>..\</RemoteDir>
<Operation>1</Operation>
</Platform>
<Platform Name="OSX64">
<RemoteDir>..\</RemoteDir>
<Operation>1</Operation>
</Platform>
</DeployClass>
<DeployClass Name="ProjectOSXInfoPList">
<Platform Name="OSX32">
<RemoteDir>Contents</RemoteDir>
<Operation>1</Operation>
</Platform>
<Platform Name="OSX64">
<RemoteDir>Contents</RemoteDir>
<Operation>1</Operation>
</Platform>
</DeployClass>
<DeployClass Name="ProjectOSXResource">
<Platform Name="OSX32">
<RemoteDir>Contents\Resources</RemoteDir>
<Operation>1</Operation>
</Platform>
<Platform Name="OSX64">
<RemoteDir>Contents\Resources</RemoteDir>
<Operation>1</Operation>
</Platform>
</DeployClass>
<DeployClass Required="true" Name="ProjectOutput">
<Platform Name="Android">
<RemoteDir>library\lib\armeabi-v7a</RemoteDir>
<Operation>1</Operation>
</Platform>
<Platform Name="Android64">
<RemoteDir>library\lib\arm64-v8a</RemoteDir>
<Operation>1</Operation>
</Platform>
<Platform Name="iOSDevice32">
<Operation>1</Operation>
</Platform>
<Platform Name="iOSDevice64">
<Operation>1</Operation>
</Platform>
<Platform Name="iOSSimulator">
<Operation>1</Operation>
</Platform>
<Platform Name="Linux64">
<Operation>1</Operation>
</Platform>
<Platform Name="OSX32">
<RemoteDir>Contents\MacOS</RemoteDir>
<Operation>1</Operation>
</Platform>
<Platform Name="OSX64">
<RemoteDir>Contents\MacOS</RemoteDir>
<Operation>1</Operation>
</Platform>
<Platform Name="Win32">
<Operation>0</Operation>
</Platform>
</DeployClass>
<DeployClass Name="ProjectOutput_Android32">
<Platform Name="Android64">
<RemoteDir>library\lib\armeabi-v7a</RemoteDir>
<Operation>1</Operation>
</Platform>
</DeployClass>
<DeployClass Name="ProjectUWPManifest">
<Platform Name="Win32">
<Operation>1</Operation>
</Platform>
<Platform Name="Win64">
<Operation>1</Operation>
</Platform>
</DeployClass>
<DeployClass Name="UWP_DelphiLogo150">
<Platform Name="Win32">
<RemoteDir>Assets</RemoteDir>
<Operation>1</Operation>
</Platform>
<Platform Name="Win64">
<RemoteDir>Assets</RemoteDir>
<Operation>1</Operation>
</Platform>
</DeployClass>
<DeployClass Name="UWP_DelphiLogo44">
<Platform Name="Win32">
<RemoteDir>Assets</RemoteDir>
<Operation>1</Operation>
</Platform>
<Platform Name="Win64">
<RemoteDir>Assets</RemoteDir>
<Operation>1</Operation>
</Platform>
</DeployClass>
<ProjectRoot Platform="iOSDevice64" Name="$(PROJECTNAME).app"/>
<ProjectRoot Platform="Win64" Name="$(PROJECTNAME)"/>
<ProjectRoot Platform="iOSDevice32" Name="$(PROJECTNAME).app"/>
<ProjectRoot Platform="Linux64" Name="$(PROJECTNAME)"/>
<ProjectRoot Platform="Win32" Name="$(PROJECTNAME)"/>
<ProjectRoot Platform="OSX32" Name="$(PROJECTNAME).app"/>
<ProjectRoot Platform="Android" Name="$(PROJECTNAME)"/>
<ProjectRoot Platform="OSX64" Name="$(PROJECTNAME).app"/>
<ProjectRoot Platform="iOSSimulator" Name="$(PROJECTNAME).app"/>
<ProjectRoot Platform="Android64" Name="$(PROJECTNAME)"/>
</Deployment>
<Platforms>
<Platform value="Android">False</Platform>
<Platform value="Android64">False</Platform>
<Platform value="Win32">True</Platform>
<Platform value="Win64">False</Platform>
</Platforms>
</BorlandProject>
<ProjectFileVersion>12</ProjectFileVersion>
</ProjectExtensions>
<Import Project="$(BDS)\Bin\CodeGear.Delphi.Targets" Condition="Exists('$(BDS)\Bin\CodeGear.Delphi.Targets')"/>
<Import Project="$(APPDATA)\Embarcadero\$(BDSAPPDATABASEDIR)\$(PRODUCTVERSION)\UserTools.proj" Condition="Exists('$(APPDATA)\Embarcadero\$(BDSAPPDATABASEDIR)\$(PRODUCTVERSION)\UserTools.proj')"/>
<Import Project="$(MSBuildProjectName).deployproj" Condition="Exists('$(MSBuildProjectName).deployproj')"/>
</Project>

7
DB_Maker.dproj.local Normal file
View file

@ -0,0 +1,7 @@
<?xml version="1.0" encoding="utf-8"?>
<BorlandProject>
<Transactions>
<Transaction>2022/07/20 20:17:24.000.179,=C:\Users\Alvin\Documents\Embarcadero\Studio\Projects\Unit1.pas</Transaction>
<Transaction>2023/03/18 22:40:14.000.257,E:\Doc\Mini Compressor\DB_Maker.dproj=C:\Users\carld\Documents\Embarcadero\Studio\Projects\Project1.dproj</Transaction>
</Transactions>
</BorlandProject>

BIN
DB_Maker.identcache Normal file

Binary file not shown.

BIN
DB_Maker.res Normal file

Binary file not shown.

View file

@ -15,7 +15,8 @@ uses
MC_DLL in 'MC_DLL.pas',
bass in 'bass.pas',
Unit6 in 'Unit6.pas' {Form6},
Unit7 in 'Unit7.pas' {Form7};
Unit7 in 'Unit7.pas' {Form7},
Unit8 in 'Unit8.pas' {Form8};
{$R *.res}
@ -27,5 +28,6 @@ begin
Application.CreateForm(TForm5, Form5);
Application.CreateForm(TForm6, Form6);
Application.CreateForm(TForm7, Form7);
Application.CreateForm(TForm8, Form8);
Application.Run;
end.

View file

@ -181,12 +181,10 @@
<DCC_ExeOutput>.\$(Config)\Bin\</DCC_ExeOutput>
<VerInfo_IncludeVerInfo>true</VerInfo_IncludeVerInfo>
<VerInfo_Locale>1033</VerInfo_Locale>
<VerInfo_MajorVer>21</VerInfo_MajorVer>
<VerInfo_Keys>CompanyName=FileForums.Com;FileDescription=$(MSBuildProjectName);FileVersion=21.10.11.0;InternalName=;LegalCopyright=Created by Carldric Clement;LegalTrademarks=;OriginalFilename=;ProgramID=com.embarcadero.$(MSBuildProjectName);ProductName=$(MSBuildProjectName);ProductVersion=1.0.0.0;Comments=</VerInfo_Keys>
<VerInfo_MajorVer>22</VerInfo_MajorVer>
<VerInfo_Keys>CompanyName=FileForums.Com;FileDescription=$(MSBuildProjectName);FileVersion=22.0.0.0;InternalName=;LegalCopyright=Created by Carldric Clement;LegalTrademarks=;OriginalFilename=;ProgramID=com.embarcadero.$(MSBuildProjectName);ProductName=$(MSBuildProjectName);ProductVersion=1.0.0.0;Comments=</VerInfo_Keys>
<Icon_MainIcon>MiniCompressor_Icon.ico</Icon_MainIcon>
<AppExecutionLevel>requireAdministrator</AppExecutionLevel>
<VerInfo_MinorVer>10</VerInfo_MinorVer>
<VerInfo_Release>11</VerInfo_Release>
</PropertyGroup>
<PropertyGroup Condition="'$(Cfg_2_Win64)'!=''">
<AppEnableRuntimeThemes>true</AppEnableRuntimeThemes>
@ -229,6 +227,10 @@
<Form>Form7</Form>
<FormType>fmx</FormType>
</DCCReference>
<DCCReference Include="Unit8.pas">
<Form>Form8</Form>
<FormType>fmx</FormType>
</DCCReference>
<BuildConfiguration Include="Release">
<Key>Cfg_2</Key>
<CfgParent>Base</CfgParent>

View file

@ -30,5 +30,6 @@
<Transaction>2023/03/07 15:35:28.000.414,=E:\Doc\Mini Compressor\bass.pas</Transaction>
<Transaction>2023/03/08 14:28:15.000.130,=E:\Doc\Mini Compressor\Unit6.pas</Transaction>
<Transaction>2023/03/16 22:20:50.000.979,=E:\Doc\Mini Compressor\Unit7.pas</Transaction>
<Transaction>2023/03/20 12:18:19.000.987,=E:\Doc\Mini Compressor\Unit8.pas</Transaction>
</Transactions>
</BorlandProject>

Binary file not shown.

Binary file not shown.

View file

@ -9,6 +9,9 @@
<Projects Include="MiniCompressor_Library.dproj">
<Dependencies/>
</Projects>
<Projects Include="DB_Maker.dproj">
<Dependencies/>
</Projects>
</ItemGroup>
<ProjectExtensions>
<Borland.Personality>Default.Personality.12</Borland.Personality>
@ -35,14 +38,23 @@
<Target Name="MiniCompressor_Library:Make">
<MSBuild Projects="MiniCompressor_Library.dproj" Targets="Make"/>
</Target>
<Target Name="DB_Maker">
<MSBuild Projects="DB_Maker.dproj"/>
</Target>
<Target Name="DB_Maker:Clean">
<MSBuild Projects="DB_Maker.dproj" Targets="Clean"/>
</Target>
<Target Name="DB_Maker:Make">
<MSBuild Projects="DB_Maker.dproj" Targets="Make"/>
</Target>
<Target Name="Build">
<CallTarget Targets="MiniCompressor;MiniCompressor_Library"/>
<CallTarget Targets="MiniCompressor;MiniCompressor_Library;DB_Maker"/>
</Target>
<Target Name="Clean">
<CallTarget Targets="MiniCompressor:Clean;MiniCompressor_Library:Clean"/>
<CallTarget Targets="MiniCompressor:Clean;MiniCompressor_Library:Clean;DB_Maker:Clean"/>
</Target>
<Target Name="Make">
<CallTarget Targets="MiniCompressor:Make;MiniCompressor_Library:Make"/>
<CallTarget Targets="MiniCompressor:Make;MiniCompressor_Library:Make;DB_Maker:Make"/>
</Target>
<Import Project="$(BDS)\Bin\CodeGear.Group.Targets" Condition="Exists('$(BDS)\Bin\CodeGear.Group.Targets')"/>
</Project>

View file

@ -1,7 +1,7 @@
<?xml version="1.0" encoding="utf-8"?>
<BorlandProject>
<Transactions/>
<Default.Personality>
<Projects ActiveProject="E:\Doc\Mini Compressor\MiniCompressor_Library.dproj"/>
</Default.Personality>
<Transactions/>
<Default.Personality>
<Projects ActiveProject="E:\Doc\Mini Compressor\MiniCompressor.dproj"/>
</Default.Personality>
</BorlandProject>

View file

@ -1,6 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<BorlandProject>
<Transactions>
<Transaction>2023/03/07 14:35:22.000.081,E:\Doc\Mini Compressor\MC_Ini.dproj=E:\Doc\Mini Compressor\MiniCompressor_Library.dproj</Transaction>
<Transaction>2023/03/07 14:35:22.000.081,E:\Doc\Mini Compressor\MiniCompressor_Library.dproj=E:\Doc\Mini Compressor\MC_Ini.dproj</Transaction>
</Transactions>
</BorlandProject>

3640
Unit1.fmx

File diff suppressed because it is too large Load diff

163
Unit1.pas
View file

@ -1,4 +1,4 @@
unit Unit1;
unit Unit1;
interface
@ -359,6 +359,14 @@ type
MenuItem21: TMenuItem;
MenuItem31: TMenuItem;
Button41: TButton;
MenuItem13: TMenuItem;
CheckBox12: TCheckBox;
Button42: TButton;
CheckBox13: TCheckBox;
Button43: TButton;
CheckBox14: TCheckBox;
Button44: TButton;
Image5: TImage;
procedure FormCreate(Sender: TObject);
procedure SearchEditButton1Click(Sender: TObject);
procedure SearchEditButton2Click(Sender: TObject);
@ -454,6 +462,13 @@ type
procedure Button40Click(Sender: TObject);
procedure MenuItem30Click(Sender: TObject);
procedure Button41Click(Sender: TObject);
procedure MenuItem13Click(Sender: TObject);
procedure CheckBox12Change(Sender: TObject);
procedure Button42Click(Sender: TObject);
procedure CheckBox13Change(Sender: TObject);
procedure Button43Click(Sender: TObject);
procedure CheckBox14Change(Sender: TObject);
procedure Button44Click(Sender: TObject);
private
{ Private declarations }
public
@ -482,7 +497,7 @@ uses
CmdOut,
XHashNet,
bass,
Unit2, Unit3, Unit4, Unit5, Unit6, Unit7;
Unit2, Unit3, Unit4, Unit5, Unit6, Unit7, Unit8;
{$R *.fmx}
@ -873,6 +888,8 @@ begin
ArcTime1.Enabled := True;
Edit38.Text := '';
Edit39.Text := '';
CheckBox12.Visible:= True;
Button42.Visible:= True;
if CheckBox9.IsChecked = True then
with TForm5.Create(nil) do
@ -1126,6 +1143,9 @@ begin
Edit6.Visible := False;
Edit38.Visible := False;
Edit39.Visible := False;
CheckBox12.Visible := False;
CheckBox12.IsChecked := False;
Button42.Visible:= False;
end;
procedure TForm1.Button20Click(Sender: TObject);
@ -1560,6 +1580,8 @@ begin
Edit40.Visible := True;
Edit41.Visible := True;
ArcTime1.Enabled := True;
CheckBox13.Visible := True;
Button43.Visible := True;
if CheckBox10.IsChecked = True then
with TForm5.Create(nil) do
@ -1729,6 +1751,9 @@ begin
Edit36.Visible := False;
Edit40.Visible := False;
Edit41.Visible := False;
CheckBox13.Visible := False;
CheckBox13.IsChecked := False;
Button43.Visible := False;
end;
procedure TForm1.Button32Click(Sender: TObject);
@ -2471,6 +2496,36 @@ begin
ExecAndNoWait(GetAnySource('..\Compression\FreeArc'), '');
end;
procedure TForm1.Button42Click(Sender: TObject);
begin
sndPlaySound(GetAnySource('..\Resources\MC_OK.wav'),SND_ASYNC);
if MessageBox(0,'Are you sure you want to stop any progress?', 'Really?',
MB_ICONEXCLAMATION or MB_OKCANCEL) = IDOK then
begin
ISCmdStop;
end;
end;
procedure TForm1.Button43Click(Sender: TObject);
begin
sndPlaySound(GetAnySource('..\Resources\MC_OK.wav'),SND_ASYNC);
if MessageBox(0,'Are you sure you want to stop any progress?', 'Really?',
MB_ICONEXCLAMATION or MB_OKCANCEL) = IDOK then
begin
ISCmdStop;
end;
end;
procedure TForm1.Button44Click(Sender: TObject);
begin
sndPlaySound(GetAnySource('..\Resources\MC_OK.wav'),SND_ASYNC);
if MessageBox(0,'Are you sure you want to stop any progress?', 'Really?',
MB_ICONEXCLAMATION or MB_OKCANCEL) = IDOK then
begin
ISCmdStop;
end;
end;
procedure TForm1.Button4Click(Sender: TObject);
var
Command7z, Thread7z, Method7z, Password7z, Archive7z, Source7z,
@ -2492,6 +2547,8 @@ begin
ArcTime1.Enabled := True;
Edit42.Text := '';
Edit43.Text := '';
CheckBox14.Visible := True;
Button44.Visible := True;
if CheckBox11.IsChecked = True then
with TForm5.Create(nil) do
@ -2672,6 +2729,9 @@ begin
Edit12.Visible := False;
Edit42.Visible := False;
Edit43.Visible := False;
CheckBox14.Visible := False;
CheckBox14.IsChecked := False;
Button44.Visible := False;
end;
procedure TForm1.Button5Click(Sender: TObject);
@ -2731,6 +2791,42 @@ begin
TabControl4.TabIndex := 1;
end;
procedure TForm1.CheckBox12Change(Sender: TObject);
begin
if Checkbox12.IsChecked then
begin
ISCmdSuspend;
CheckBox12.Text := '►';
end else begin
ISCmdResume;
CheckBox12.Text := '||';
end;
end;
procedure TForm1.CheckBox13Change(Sender: TObject);
begin
if Checkbox13.IsChecked then
begin
ISCmdSuspend;
CheckBox13.Text := '►';
end else begin
ISCmdResume;
CheckBox13.Text := '||';
end;
end;
procedure TForm1.CheckBox14Change(Sender: TObject);
begin
if Checkbox14.IsChecked then
begin
ISCmdSuspend;
CheckBox14.Text := '►';
end else begin
ISCmdResume;
CheckBox14.Text := '||';
end;
end;
procedure TForm1.CheckBox1Change(Sender: TObject);
begin
if CheckBox1.IsChecked then
@ -2846,6 +2942,16 @@ var
AFD1, AFD2, AFD3: int64;
BASS_UrlRadio: string;
begin
BassHandle := TWinWindowHandle(Handle).Wnd;
BASS_Init(-1, 44100, 0, BassHandle, 0);
BASS_Start();
BASS_SetConfig(BASS_CONFIG_NET_PLAYLIST, 1);
BASS_PluginLoad('bassopus.dll', BASS_Unicode);
BASS_PluginLoad('basshls.dll', BASS_Unicode);
Image5.Bitmap.LoadFromFile(GetAnySource('..\Resources\Transparent.png'));
AFDate:= Now;
AFD1 := StrToInt64(IniRead(GetAnySource('..\Resources\AFD.db'),'April_Fools_Date','Day'));
AFD2 := StrToInt64(IniRead(GetAnySource('..\Resources\AFD.db'),'April_Fools_Date','Month'));
@ -3207,6 +3313,15 @@ begin
ExecAndNoWait(GetAnySource('..\Tools\GraphicStudio.exe'), '');
end;
procedure TForm1.MenuItem13Click(Sender: TObject);
begin
with TForm8.Create(nil) do
begin
ShowModal;
Free;
end;
end;
procedure TForm1.MenuItem19Click(Sender: TObject);
var
ChangeJPGFile: string;
@ -3415,49 +3530,9 @@ begin
end;
procedure TForm1.MenuItem26Click(Sender: TObject);
var
OutDB: string;
Dir: string;
begin
if SelectDirectory('Select Folder', GetCurrentDir, Dir) then
OutDB:= Dir;
if OutDB <> '' then
begin
ExecAndWait(TWinWindowHandle(Form1).Wnd,
GetAnySource('..\Resources\ISDone_List_Manual_SFX.exe'),'',
GetAnySource('..\Resources'));
ExecAndWait(TWinWindowHandle(Form1).Wnd,
'C:\Windows\notepad.exe',
GetAnySource('..\Resources\ISD_List_Manual_SFX.txt'), 'C:\Windows');
ExecAndWait(TWinWindowHandle(Form1).Wnd,
GetAnySource('..\Resources\uha.exe'),
'a -r+ -ed- -p- -m1 -mm+ -md+ -md32768 -b32768 "' + OutDB + '\Setup.db"' + '"ISDone_resource\*" @ISD_List_Manual_SFX.txt', GetAnySource('..\Resources'));
Application.ProcessMessages;
Sleep(150);
if FileExists(GetAnySource('..\Resources\ISD_List_Manual_SFX.txt')) then
DeleteFile(GetAnySource('..\Resources\ISD_List_Manual_SFX.txt'));
if FileExists(OutDB +'\Setup.db') then
begin
sndPlaySound(GetAnySource('..\Resources\MC_OK.wav'),SND_ASYNC);
MessageBox(0, 'Your DB was created.', 'Successful',
MB_ICONINFORMATION or MB_OK);
end
else if not FileExists(OutDB +'\Setup.db') then
begin
sndPlaySound(GetAnySource('..\Resources\MC_OK.wav'),SND_ASYNC);
MessageBox(0, 'Your DB was not to created.', 'Unsuccessful',
MB_ICONINFORMATION or MB_OK);
end;
end
else if OutDB = '' then
begin
sndPlaySound(GetAnySource('..\Resources\MC_OK.wav'),SND_ASYNC);
MessageBox(0, 'Failed to located directory.', 'Error',
MB_ICONEXCLAMATION or MB_OK);
end;
ExecAndWait(MC_Handle, GetAnySource('..\Resources\DB_Maker.exe'), '',
GetAnySource('..\Resources'));
end;
procedure TForm1.MenuItem28Click(Sender: TObject);

1758
Unit5.fmx

File diff suppressed because it is too large Load diff

View file

@ -34,12 +34,24 @@ type
FloatAnimation4: TFloatAnimation;
FA_SplitTime: TTimer;
SevenZip_Time: TTimer;
FA_SingleTime2: TTimer;
FA_SplitTime2: TTimer;
SevenZip_Time2: TTimer;
FloatAnimation5: TFloatAnimation;
XHash_ProcessingTime: TTimer;
Rectangle3: TRectangle;
FloatAnimation6: TFloatAnimation;
procedure FormCreate(Sender: TObject);
procedure Memo1ChangeTracking(Sender: TObject);
procedure FA_SingleTimeTimer(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure FA_SplitTimeTimer(Sender: TObject);
procedure SevenZip_TimeTimer(Sender: TObject);
procedure FA_SingleTime2Timer(Sender: TObject);
procedure FA_SplitTime2Timer(Sender: TObject);
procedure SevenZip_Time2Timer(Sender: TObject);
procedure FloatAnimation5Finish(Sender: TObject);
procedure XHash_ProcessingTimeTimer(Sender: TObject);
private
{ Private declarations }
public
@ -107,12 +119,9 @@ begin
Result := CancelAll;
end;
procedure TForm5.FA_SplitTimeTimer(Sender: TObject);
procedure TForm5.FA_SplitTime2Timer(Sender: TObject);
begin
FloatAnimation4.Enabled := True;
FloatAnimation1.Enabled := True;
FA_SplitTime.Enabled := False;
FA_SplitTime2.Enabled := False;
Memo1.Lines.Clear;
CancelAll := False;
@ -127,13 +136,20 @@ begin
MB_OK or MB_ICONEXCLAMATION);
end;
Application.ProcessMessages;
Sleep(3000);
XHash_ProcessingTime.Enabled := True;
FloatAnimation6.Enabled := True;
end;
if MessageBox(0,'Do you want to save your result?','Creating MD5',
MB_YESNO or MB_ICONQUESTION) = ID_YES then
Memo1.Lines.SaveToFile(Form1.Edit33.Text + '\MD5Result.txt');
procedure TForm5.FA_SplitTimeTimer(Sender: TObject);
begin
FloatAnimation4.Enabled := True;
FloatAnimation1.Enabled := True;
FA_SplitTime.Enabled := False;
FA_SplitTime2.Enabled := True;
end;
procedure TForm5.FloatAnimation5Finish(Sender: TObject);
begin
Close;
end;
@ -173,11 +189,9 @@ begin
Memo1.GoToTextEnd;
end;
procedure TForm5.SevenZip_TimeTimer(Sender: TObject);
procedure TForm5.SevenZip_Time2Timer(Sender: TObject);
begin
FloatAnimation4.Enabled := True;
FloatAnimation1.Enabled := True;
SevenZip_Time.Enabled := False;
SevenZip_Time2.Enabled := False;
Memo1.Lines.Clear;
@ -193,21 +207,34 @@ begin
MB_OK or MB_ICONEXCLAMATION);
end;
Application.ProcessMessages;
Sleep(3000);
if MessageBox(0,'Do you want to save your result?','Creating MD5',
MB_YESNO or MB_ICONQUESTION) = ID_YES then
Memo1.Lines.SaveToFile(Form1.Edit9.Text + '\MD5Result.txt');
Close;
XHash_ProcessingTime.Enabled := True;
FloatAnimation6.Enabled := True;
end;
procedure TForm5.FA_SingleTimeTimer(Sender: TObject);
procedure TForm5.SevenZip_TimeTimer(Sender: TObject);
begin
FloatAnimation4.Enabled := True;
FloatAnimation1.Enabled := True;
FA_SingleTime.Enabled := False;
SevenZip_Time.Enabled := False;
SevenZip_Time2.Enabled := True;
end;
procedure TForm5.XHash_ProcessingTimeTimer(Sender: TObject);
begin
XHash_ProcessingTime.Enabled := False;
FloatAnimation6.Enabled := False;
Rectangle3.Opacity:= 0;
if MessageBox(0,'Do you want to save your result?','Creating MD5',
MB_YESNO or MB_ICONQUESTION) = ID_YES then
Memo1.Lines.SaveToFile(Form1.Edit2.Text + '\MD5Result.txt');
FloatAnimation5.Enabled := True;
end;
procedure TForm5.FA_SingleTime2Timer(Sender: TObject);
begin
FA_SingleTime2.Enabled:= False;
Memo1.Lines.Clear;
@ -223,14 +250,17 @@ begin
MB_OK or MB_ICONEXCLAMATION);
end;
Application.ProcessMessages;
Sleep(3000);
XHash_ProcessingTime.Enabled := True;
FloatAnimation6.Enabled := True;
end;
if MessageBox(0,'Do you want to save your result?','Creating MD5',
MB_YESNO or MB_ICONQUESTION) = ID_YES then
Memo1.Lines.SaveToFile(Form1.Edit2.Text + '\MD5Result.txt');
procedure TForm5.FA_SingleTimeTimer(Sender: TObject);
begin
FloatAnimation4.Enabled := True;
FloatAnimation1.Enabled := True;
Close;
FA_SingleTime.Enabled := False;
FA_SingleTime2.Enabled:= True;
end;
end.

View file

@ -1,6 +1,8 @@
object Form7: TForm7
Left = 0
Top = 0
BorderIcons = []
BorderStyle = Single
Caption = 'Thank you for using this demo'
ClientHeight = 178
ClientWidth = 369
@ -85,7 +87,7 @@ object Form7: TForm7
Position.X = 8.000000000000000000
Position.Y = 144.000000000000000000
TabOrder = 7
Text = 'BUT NOW!'
Text = 'BUY NOW!'
OnClick = Button1Click
end
object Button2: TButton

120
Unit8.fmx Normal file
View file

@ -0,0 +1,120 @@
object Form8: TForm8
Left = 0
Top = 0
Caption = 'Break Out'
ClientHeight = 480
ClientWidth = 640
Position = MainFormCenter
StyleBook = Form1.StyleBook1
FormFactor.Width = 320
FormFactor.Height = 480
FormFactor.Devices = [Desktop]
OnCreate = FormCreate
OnShow = FormShow
DesignerMasterStyle = 0
object Viewport3D1: TViewport3D
Align = Client
Color = claDodgerblue
Size.Width = 640.000000000000000000
Size.Height = 480.000000000000000000
Size.PlatformDefault = False
object Light1: TLight
Color = claWhite
LightType = Directional
SpotCutOff = 180.000000000000000000
Position.X = 4.614208221435547000
Position.Y = -1.398325920104980000
RotationAngle.X = 328.015075683593800000
RotationAngle.Y = 29.824996948242190000
Width = 1.000000000000000000
Height = 1.000000000000000000
Depth = 1.000000000000000000
Quanternion =
'(0.266231685876846,-0.247383743524551,-0.0709009170532227,-0.928' +
'92187833786)'
object FloatAnimation1: TFloatAnimation
Enabled = True
Duration = 0.200000002980232200
Loop = True
OnProcess = FloatAnimation1Process
OnFinish = FloatAnimation1Finish
PropertyName = 'RotationCenter.Y'
StartValue = 0.000000000000000000
StopValue = 1.000000000000000000
end
end
object Dummy1: TDummy
Width = 20.000000000000000000
Height = 14.000000000000000000
Depth = 1.000000000000000000
object StrokeCube1: TStrokeCube
Color = claWhite
Width = 20.000000000000000000
Height = 14.000000000000000000
Depth = 0.001000000047497451
end
object RoundCube1: TRoundCube
Tag = 1
Position.X = -0.002413034439086914
Position.Y = 4.730693340301514000
Width = 2.000000000000000000
Height = 0.500000000000000000
Depth = 1.000000000000000000
OnMouseDown = RoundCube1MouseDown
OnMouseMove = RoundCube1MouseMove
OnRender = RoundCube2Render
MaterialSource = LightMaterialSource1
end
object Sphere1: TSphere
Position.X = 7.289718151092529000
Position.Y = 2.276752471923828000
Width = 1.000000000000000000
Height = 1.000000000000000000
Depth = 1.000000000000000000
OnRender = Sphere1Render
MaterialSource = LightMaterialSource1
end
end
object ColorKeyAnimation1: TColorKeyAnimation
Duration = 0.200000002980232200
Keys = <
item
Value = claYellow
end
item
Key = 1.000000000000000000
Value = claDodgerblue
end>
PropertyName = 'Color'
StartFromCurrent = False
end
object Text1: TText
Align = Top
Size.Width = 640.000000000000000000
Size.Height = 40.000000000000000000
Size.PlatformDefault = False
Text = 'Break Out'
TextSettings.Font.Size = 24.000000000000000000
TextSettings.Font.StyleExt = {00070000000200000004000000}
TextSettings.FontColor = claChartreuse
end
end
object LightMaterialSource1: TLightMaterialSource
Diffuse = claWhite
Ambient = xFF202020
Emissive = claNull
Specular = xFF606060
Shininess = 30
Left = 48
Top = 424
end
object LightMaterialSource2: TLightMaterialSource
Diffuse = claTomato
Ambient = xFF202020
Emissive = claNull
Specular = xFF606060
Shininess = 30
Left = 304
Top = 424
end
end

297
Unit8.pas Normal file
View file

@ -0,0 +1,297 @@
unit Unit8;
interface
uses
System.SysUtils, System.Types, System.UITypes, System.Classes, System.Variants,
FMX.Types, FMX.Controls, FMX.Forms, FMX.Graphics, FMX.Dialogs, FMX.Viewport3D,
FMX.MaterialSources, FMX.Types3D, System.Math.Vectors, FMX.Controls3D,
FMX.Objects3D, FMX.Ani, Windows, FMX.Utils, FMX.Objects;
type
TForm8 = class(TForm)
Viewport3D1: TViewport3D;
LightMaterialSource1: TLightMaterialSource;
LightMaterialSource2: TLightMaterialSource;
Light1: TLight;
RoundCube1: TRoundCube;
FloatAnimation1: TFloatAnimation;
Sphere1: TSphere;
Dummy1: TDummy;
StrokeCube1: TStrokeCube;
ColorKeyAnimation1: TColorKeyAnimation;
Text1: TText;
procedure FormCreate(Sender: TObject);
procedure Dummy1Render(Sender: TObject; Context: TContext3D);
procedure FloatAnimation1Process(Sender: TObject);
procedure FloatAnimation1Finish(Sender: TObject);
procedure RoundCube2Render(Sender: TObject; Context: TContext3D);
procedure RoundCube1MouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Single; RayPos, RayDir: TVector3D);
procedure Sphere1Render(Sender: TObject; Context: TContext3D);
procedure RoundCube1MouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Single; RayPos, RayDir: TVector3D);
procedure FormShow(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
var
BassHandle, BassSoundFX1, BassSoundFX2, BassSoundFX3: HWND;
BassSoundFile1, BassSoundFile2, BassSoundFile3: PChar;
BassVolume: Single;
Speed: Single;
PointIn: TPoint3D;
procedure MoveBall;
procedure NextLevel;
function SizeOf3D(const a3DObj: TControl3D): TPoint3D;
end;
var
Form8: TForm8;
implementation
uses
bass,
Unit1;
function GetAnySource(Filename: string): PChar;
begin
Result:= PChar(IncludeTrailingBackslash(GetCurrentDir) + Filename);
end;
{$R *.fmx}
procedure TForm8.Dummy1Render(Sender: TObject; Context: TContext3D);
begin
// Context.SetCameraAngleOfView(0.01);
// with Dummy1.Scale do Point:= Point3D(1, 1, 1) * 0.01 / 45;
end;
procedure TForm8.FloatAnimation1Finish(Sender: TObject);
begin
NextLevel;
end;
procedure TForm8.FloatAnimation1Process(Sender: TObject);
begin
MoveBall;
end;
procedure TForm8.FormCreate(Sender: TObject);
begin
BassSoundFile1:= GetAnySource('..\Resources\Game\Brick_Destroy.mp3');
BassSoundFX1:= BASS_StreamCreateFile(False, BassSoundFile1, 0, 0, BASS_SAMPLE_FLOAT or BASS_UNICODE);
BassSoundFile2:= GetAnySource('..\Resources\Game\Wall_Hit.mp3');
BassSoundFX2:= BASS_StreamCreateFile(False, BassSoundFile2, 0, 0, BASS_SAMPLE_FLOAT or BASS_UNICODE);
BassSoundFile3:= GetAnySource('..\Resources\Game\Out.mp3');
BassSoundFX3:= BASS_StreamCreateFile(False, BassSoundFile3, 0, 0, BASS_SAMPLE_FLOAT or BASS_UNICODE);
end;
procedure TForm8.FormShow(Sender: TObject);
var
V: IViewport3D;
begin
Viewport3D1.UsingDesignCamera := True;
V:= Viewport3D1;
with TDummy(V.CurrentCamera.Parent) do ResetRotationAngle;
Speed := 0.15;
PointIn := NullPoint3D;
RandSeed:= 23;
NextLevel;
end;
procedure TForm8.MoveBall;
var
D, P, M: TPoint3D;
A, S: Integer;
R: TRoundCube;
begin
D:= Sphere1.Position.DefaultValue;
P:= Dummy1.AbsoluteToLocal3D(Sphere1.AbsolutePosition);
M:= (SizeOf3D(Dummy1) - SizeOf3D(Sphere1)) * 0.5;
P:= P + D.Normalize * Speed;
if ((P.X > M.X) and (D.X > 0)) or ((P.X < -M.X) and (D.X < 0)) then
begin
S:= 1;
if D.Y < 0 then
S:= -1;
if Abs(D.Normalize.Y * 180) < 15 then
D.Y:= s;
D.X := -D.X;
end;
if ((P.Y > M.Y) and (D.Y > 0)) or ((P.Y < -M.Y) and (D.Y < 0)) then
begin
D.Y := -D.Y;
if P.Y > M.Y then
begin
BASS_ChannelPlay(BassSoundFX3, True);
FloatAnimation1.StopAtCurrent;
Exit;
end;
end;
D.Z:= 0;
PointIn.Z:= 0;
with Dummy1 do
for A := ChildrenCount-1 downto 0 do
begin
if not (Children[A] is TRoundCube) then Continue;
R:= TRoundCube(Children[A]);
if R.Tag < 0 then
begin
if Speed <> 0 then PointIn.X:= PointIn.X + 1;
RemoveObject(R);
FreeAndNil(R);
end else
if R.Tag = 0 then
PointIn.Z:= PointIn.Z + 1;
end;
with Sphere1.Position do
Point:= Point + D.Normalize * Speed;
Text1.Text := 'Score: ' + IntToStr(Trunc(PointIn.X))
+ ' | Level: ' + IntToStr(Trunc(PointIn.Y))
+ ' | Block: ' + IntToStr(Trunc(PointIn.Z));
Sphere1.Position.DefaultValue := D;
if (PointIn.Z < 1) then FloatAnimation1.StopAtCurrent;
end;
procedure TForm8.NextLevel;
var
Z, S: TPoint3D;
A, B, C, E: Integer;
R: TRoundCube;
Y, X, F, L: Single;
begin
with Dummy1 do
for A := ChildrenCount-1 downto 0 do
begin
if not (Children[A] is TRoundCube) then Continue;
R:= TRoundCube(Children[A]);
if R.Tag < 1 then
begin
RemoveObject(R);
FreeAndNil(R);
end;
end;
if Speed > 0.55 then Speed:= Speed + 0.01;
Sphere1.Position.Point:= Point3D(8, 3, 0);
Sphere1.Position.DefaultValue:= Point3D(-0.65, -1, 0);
Y:= Dummy1.Height * -0.5 + 2;
C:= 2 + Random(4);
F:= 0.5;
for A := 1 to C do
begin
Z:= Point3D(1 + Random * 2, 0.5 + Random * 0.5, 0.5 + Random * 0.5);
E:= Trunc(Dummy1.Width / (Z.X + F));
L:= (E * Z.X) + ((E - 1) * F);
L:= (Dummy1.Width - L) * 0.5;
X:= (Dummy1.Width * 0.5) + (L + Z.X * 0.5);
S:= Point3D(X- 20, Y, 0);
for B := 0 to E - 1 do
begin
R:= TRoundCube.Create(nil);
R.MaterialSource:= LightMaterialSource2;
R.SetSize(Z.X, Z.Y, Z.Z);
Dummy1.AddObject(R);
R.Position.Point := S;
R.Tag := 0;
S:= S + Point3D(F+ Z.X, 0, 0);
R.OnRender := RoundCube2Render;
end;
Y:= Y + F + Z.Y;
end;
PointIn.Y := PointIn.Y + 1;
FloatAnimation1.Start;
end;
procedure TForm8.RoundCube1MouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Single; RayPos, RayDir: TVector3D);
begin
if ssLeft in Shift then
with TControl3D(Sender).Position do
DefaultValue:= Point - (RayDir * RayPos.Length) * Point3D(1, 0, 0);
end;
procedure TForm8.RoundCube1MouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Single; RayPos, RayDir: TVector3D);
begin
if ssLeft in Shift then
with TControl3D(Sender).Position do
Point:= DefaultValue + (RayDir * RayPos.Length) * Point3D(1, 0, 0);
end;
procedure TForm8.RoundCube2Render(Sender: TObject; Context: TContext3D);
var
K: TRoundCube;
P, Z, D, R, M: TPoint3D;
C: TAlphaColor;
begin
K:= TRoundCube(Sender);
with K do
begin
P:= AbsoluteToLocal3D(Sphere1.AbsolutePosition);
Z:= Point3D(1/Width, 1/Height, 1/Depth);
end;
R:= SizeOf3D(K);
M:= (R + SizeOf3D(Sphere1)) * 0.5;
if K.Tag = 0 then
begin
//C:= TAlphaColors.Yellow;
C:= Vector3DToColor(K.Position.Point.Normalize * 20);
LightMaterialSource2.Diffuse := C;
(*
if P.Length < 5 then
begin
Context.DrawLine(NullPoint3D, P * Z, 1, C);
Context.DrawCube(NullPoint3D, (R + P * Speed) * Z, 1, C);
end;
*)
end;
if (Abs(P.X) < M.X) and (Abs(P.Y) < M.Y) then
begin
if K.Tag = 0 then
begin
K.Tag := -1;
ColorKeyAnimation1.Start;
BASS_ChannelPlay(BassSoundFX1, True);
end else
BASS_ChannelPlay(BassSoundFX2, True);
D:= Sphere1.Position.Point - K.Position.Point;
Sphere1.Position.DefaultValue := D;
end;
end;
function TForm8.SizeOf3D(const a3DObj: TControl3D): TPoint3D;
begin
Result:= NullPoint3D;
if a3DObj <> nil then
with a3DObj do
Result:= Point3D(Width, Height, Depth);
end;
procedure TForm8.Sphere1Render(Sender: TObject; Context: TContext3D);
begin
(*
with Sphere1 do
Context.DrawLine(NullPoint3D,
Position.DefaultValue.Normalize * Point3D(1/Width, 1/Height, 1/Depth) * 5, 1, TAlphaColors.Red);
*)
end;
end.