source upload
@@ -0,0 +1,261 @@
|
||||
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<Import Condition="Exists('$(BDS)\bin\CodeGear.Deployment.targets')" Project="$(BDS)\bin\CodeGear.Deployment.targets"/>
|
||||
<ProjectExtensions>
|
||||
<ProjectFileVersion>12</ProjectFileVersion>
|
||||
</ProjectExtensions>
|
||||
<PropertyGroup>
|
||||
<DeviceId Condition="'$(Platform)'=='Android'">CB512EA59X</DeviceId>
|
||||
<DeviceId Condition="'$(Platform)'=='Android64'"/>
|
||||
</PropertyGroup>
|
||||
<ItemGroup Condition="'$(Platform)'=='Win32'">
|
||||
<DeployFile Include="..\..\Compiled\BIN_IDExx.x_Win32__Demos\Cipher_Console.exe" Condition="'$(Config)'=='Debug'">
|
||||
<RemoteDir>Cipher_Console\</RemoteDir>
|
||||
<RemoteName>Cipher_Console.exe</RemoteName>
|
||||
<DeployClass>ProjectOutput</DeployClass>
|
||||
<Operation>0</Operation>
|
||||
<LocalCommand/>
|
||||
<RemoteCommand/>
|
||||
<Overwrite>True</Overwrite>
|
||||
<Required>True</Required>
|
||||
</DeployFile>
|
||||
</ItemGroup>
|
||||
<ItemGroup Condition="'$(Platform)'=='Win64'"/>
|
||||
<ItemGroup Condition="'$(Platform)'=='Android'">
|
||||
<DeployFile Include="$(BDS)\bin\Artwork\Android\FM_NotificationIcon_72x72.png" Condition="'$(Config)'=='Debug'">
|
||||
<RemoteDir>Cipher_Console\res\drawable-xxhdpi\</RemoteDir>
|
||||
<RemoteName>ic_notification.png</RemoteName>
|
||||
<DeployClass>Android_NotificationIcon72</DeployClass>
|
||||
<Operation>1</Operation>
|
||||
<LocalCommand/>
|
||||
<RemoteCommand/>
|
||||
<Overwrite>True</Overwrite>
|
||||
</DeployFile>
|
||||
<DeployFile Include="$(BDS)\bin\Artwork\Android\FM_LauncherIcon_36x36.png" Condition="'$(Config)'=='Debug'">
|
||||
<RemoteDir>Cipher_Console\res\drawable-ldpi\</RemoteDir>
|
||||
<RemoteName>ic_launcher.png</RemoteName>
|
||||
<DeployClass>Android_LauncherIcon36</DeployClass>
|
||||
<Operation>1</Operation>
|
||||
<LocalCommand/>
|
||||
<RemoteCommand/>
|
||||
<Overwrite>True</Overwrite>
|
||||
</DeployFile>
|
||||
<DeployFile Include="..\..\Compiled\BIN_IDExx.x_Android__Demos\AndroidManifest.xml" Condition="'$(Config)'=='Debug'">
|
||||
<RemoteDir>Cipher_Console\</RemoteDir>
|
||||
<RemoteName>AndroidManifest.xml</RemoteName>
|
||||
<DeployClass>ProjectAndroidManifest</DeployClass>
|
||||
<Operation>1</Operation>
|
||||
<LocalCommand/>
|
||||
<RemoteCommand/>
|
||||
<Overwrite>True</Overwrite>
|
||||
</DeployFile>
|
||||
<DeployFile Include="..\..\Compiled\BIN_IDExx.x_Android__Demos\colors.xml" Condition="'$(Config)'=='Debug'">
|
||||
<RemoteDir>Cipher_Console\res\values\</RemoteDir>
|
||||
<RemoteName>colors.xml</RemoteName>
|
||||
<DeployClass>Android_Colors</DeployClass>
|
||||
<Operation>1</Operation>
|
||||
<LocalCommand/>
|
||||
<RemoteCommand/>
|
||||
<Overwrite>True</Overwrite>
|
||||
</DeployFile>
|
||||
<DeployFile Include="$(BDS)\bin\Artwork\Android\FM_LauncherIcon_72x72.png" Condition="'$(Config)'=='Debug'">
|
||||
<RemoteDir>Cipher_Console\res\drawable-hdpi\</RemoteDir>
|
||||
<RemoteName>ic_launcher.png</RemoteName>
|
||||
<DeployClass>Android_LauncherIcon72</DeployClass>
|
||||
<Operation>1</Operation>
|
||||
<LocalCommand/>
|
||||
<RemoteCommand/>
|
||||
<Overwrite>True</Overwrite>
|
||||
</DeployFile>
|
||||
<DeployFile Include="$(BDS)\bin\Artwork\Android\FM_SplashImage_640x480.png" Condition="'$(Config)'=='Debug'">
|
||||
<RemoteDir>Cipher_Console\res\drawable-large\</RemoteDir>
|
||||
<RemoteName>splash_image.png</RemoteName>
|
||||
<DeployClass>Android_SplashImage640</DeployClass>
|
||||
<Operation>1</Operation>
|
||||
<LocalCommand/>
|
||||
<RemoteCommand/>
|
||||
<Overwrite>True</Overwrite>
|
||||
</DeployFile>
|
||||
<DeployFile Include="$(BDS)\bin\Artwork\Android\FM_SplashImage_960x720.png" Condition="'$(Config)'=='Debug'">
|
||||
<RemoteDir>Cipher_Console\res\drawable-xlarge\</RemoteDir>
|
||||
<RemoteName>splash_image.png</RemoteName>
|
||||
<DeployClass>Android_SplashImage960</DeployClass>
|
||||
<Operation>1</Operation>
|
||||
<LocalCommand/>
|
||||
<RemoteCommand/>
|
||||
<Overwrite>True</Overwrite>
|
||||
</DeployFile>
|
||||
<DeployFile Include="$(BDS)\bin\Artwork\Android\FM_SplashImage_426x320.png" Condition="'$(Config)'=='Debug'">
|
||||
<RemoteDir>Cipher_Console\res\drawable-small\</RemoteDir>
|
||||
<RemoteName>splash_image.png</RemoteName>
|
||||
<DeployClass>Android_SplashImage426</DeployClass>
|
||||
<Operation>1</Operation>
|
||||
<LocalCommand/>
|
||||
<RemoteCommand/>
|
||||
<Overwrite>True</Overwrite>
|
||||
</DeployFile>
|
||||
<DeployFile Include="..\..\Compiled\BIN_IDExx.x_Android__Demos\styles.xml" Condition="'$(Config)'=='Debug'">
|
||||
<RemoteDir>Cipher_Console\res\values\</RemoteDir>
|
||||
<RemoteName>styles.xml</RemoteName>
|
||||
<DeployClass>AndroidSplashStyles</DeployClass>
|
||||
<Operation>1</Operation>
|
||||
<LocalCommand/>
|
||||
<RemoteCommand/>
|
||||
<Overwrite>True</Overwrite>
|
||||
</DeployFile>
|
||||
<DeployFile Include="..\..\Compiled\BIN_IDExx.x_Android__Demos\classes.dex" Condition="'$(Config)'=='Debug'">
|
||||
<RemoteDir>Cipher_Console\classes\</RemoteDir>
|
||||
<RemoteName>classes.dex</RemoteName>
|
||||
<DeployClass>AndroidClassesDexFile</DeployClass>
|
||||
<Operation>1</Operation>
|
||||
<LocalCommand/>
|
||||
<RemoteCommand/>
|
||||
<Overwrite>True</Overwrite>
|
||||
</DeployFile>
|
||||
<DeployFile Include="$(BDS)\bin\Artwork\Android\FM_NotificationIcon_36x36.png" Condition="'$(Config)'=='Debug'">
|
||||
<RemoteDir>Cipher_Console\res\drawable-hdpi\</RemoteDir>
|
||||
<RemoteName>ic_notification.png</RemoteName>
|
||||
<DeployClass>Android_NotificationIcon36</DeployClass>
|
||||
<Operation>1</Operation>
|
||||
<LocalCommand/>
|
||||
<RemoteCommand/>
|
||||
<Overwrite>True</Overwrite>
|
||||
</DeployFile>
|
||||
<DeployFile Include="$(BDS)\bin\Artwork\Android\FM_LauncherIcon_48x48.png" Condition="'$(Config)'=='Debug'">
|
||||
<RemoteDir>Cipher_Console\res\drawable-mdpi\</RemoteDir>
|
||||
<RemoteName>ic_launcher.png</RemoteName>
|
||||
<DeployClass>Android_LauncherIcon48</DeployClass>
|
||||
<Operation>1</Operation>
|
||||
<LocalCommand/>
|
||||
<RemoteCommand/>
|
||||
<Overwrite>True</Overwrite>
|
||||
</DeployFile>
|
||||
<DeployFile Include="$(BDS)\lib\android\debug\mips\libnative-activity.so" Condition="'$(Config)'=='Debug'">
|
||||
<RemoteDir>Cipher_Console\library\lib\mips\</RemoteDir>
|
||||
<RemoteName>libCipher_Console.so</RemoteName>
|
||||
<DeployClass>AndroidLibnativeMipsFile</DeployClass>
|
||||
<Operation>1</Operation>
|
||||
<LocalCommand/>
|
||||
<RemoteCommand/>
|
||||
<Overwrite>True</Overwrite>
|
||||
</DeployFile>
|
||||
<DeployFile Include="$(NDKBasePath)\prebuilt\android-arm\gdbserver\gdbserver" Condition="'$(Config)'=='Debug'">
|
||||
<RemoteDir>Cipher_Console\library\lib\armeabi-v7a\</RemoteDir>
|
||||
<RemoteName>gdbserver</RemoteName>
|
||||
<DeployClass>AndroidGDBServer</DeployClass>
|
||||
<Operation>1</Operation>
|
||||
<LocalCommand/>
|
||||
<RemoteCommand/>
|
||||
<Overwrite>True</Overwrite>
|
||||
</DeployFile>
|
||||
<DeployFile Include="..\..\Compiled\BIN_IDExx.x_Android__Demos\libCipher_Console.so" Condition="'$(Config)'=='Debug'">
|
||||
<RemoteDir>Cipher_Console\library\lib\armeabi-v7a\</RemoteDir>
|
||||
<RemoteName>libCipher_Console.so</RemoteName>
|
||||
<DeployClass>ProjectOutput</DeployClass>
|
||||
<Operation>1</Operation>
|
||||
<LocalCommand/>
|
||||
<RemoteCommand/>
|
||||
<Overwrite>True</Overwrite>
|
||||
<Required>True</Required>
|
||||
</DeployFile>
|
||||
<DeployFile Include="..\..\Compiled\BIN_IDExx.x_Android__Demos\strings.xml" Condition="'$(Config)'=='Debug'">
|
||||
<RemoteDir>Cipher_Console\res\values\</RemoteDir>
|
||||
<RemoteName>strings.xml</RemoteName>
|
||||
<DeployClass>Android_Strings</DeployClass>
|
||||
<Operation>1</Operation>
|
||||
<LocalCommand/>
|
||||
<RemoteCommand/>
|
||||
<Overwrite>True</Overwrite>
|
||||
</DeployFile>
|
||||
<DeployFile Include="$(BDS)\bin\Artwork\Android\FM_NotificationIcon_96x96.png" Condition="'$(Config)'=='Debug'">
|
||||
<RemoteDir>Cipher_Console\res\drawable-xxxhdpi\</RemoteDir>
|
||||
<RemoteName>ic_notification.png</RemoteName>
|
||||
<DeployClass>Android_NotificationIcon96</DeployClass>
|
||||
<Operation>1</Operation>
|
||||
<LocalCommand/>
|
||||
<RemoteCommand/>
|
||||
<Overwrite>True</Overwrite>
|
||||
</DeployFile>
|
||||
<DeployFile Include="$(BDS)\bin\Artwork\Android\FM_LauncherIcon_144x144.png" Condition="'$(Config)'=='Debug'">
|
||||
<RemoteDir>Cipher_Console\res\drawable-xxhdpi\</RemoteDir>
|
||||
<RemoteName>ic_launcher.png</RemoteName>
|
||||
<DeployClass>Android_LauncherIcon144</DeployClass>
|
||||
<Operation>1</Operation>
|
||||
<LocalCommand/>
|
||||
<RemoteCommand/>
|
||||
<Overwrite>True</Overwrite>
|
||||
</DeployFile>
|
||||
<DeployFile Include="..\..\Compiled\BIN_IDExx.x_Android__Demos\styles-v21.xml" Condition="'$(Config)'=='Debug'">
|
||||
<RemoteDir>Cipher_Console\res\values-v21\</RemoteDir>
|
||||
<RemoteName>styles.xml</RemoteName>
|
||||
<DeployClass>AndroidSplashStylesV21</DeployClass>
|
||||
<Operation>1</Operation>
|
||||
<LocalCommand/>
|
||||
<RemoteCommand/>
|
||||
<Overwrite>True</Overwrite>
|
||||
</DeployFile>
|
||||
<DeployFile Include="$(BDS)\lib\android\debug\armeabi\libnative-activity.so" Condition="'$(Config)'=='Debug'">
|
||||
<RemoteDir>Cipher_Console\library\lib\armeabi\</RemoteDir>
|
||||
<RemoteName>libCipher_Console.so</RemoteName>
|
||||
<DeployClass>AndroidLibnativeArmeabiFile</DeployClass>
|
||||
<Operation>1</Operation>
|
||||
<LocalCommand/>
|
||||
<RemoteCommand/>
|
||||
<Overwrite>True</Overwrite>
|
||||
</DeployFile>
|
||||
<DeployFile Include="$(BDS)\bin\Artwork\Android\FM_SplashImage_470x320.png" Condition="'$(Config)'=='Debug'">
|
||||
<RemoteDir>Cipher_Console\res\drawable-normal\</RemoteDir>
|
||||
<RemoteName>splash_image.png</RemoteName>
|
||||
<DeployClass>Android_SplashImage470</DeployClass>
|
||||
<Operation>1</Operation>
|
||||
<LocalCommand/>
|
||||
<RemoteCommand/>
|
||||
<Overwrite>True</Overwrite>
|
||||
</DeployFile>
|
||||
<DeployFile Include="..\..\Compiled\BIN_IDExx.x_Android__Demos\splash_image_def.xml" Condition="'$(Config)'=='Debug'">
|
||||
<RemoteDir>Cipher_Console\res\drawable\</RemoteDir>
|
||||
<RemoteName>splash_image_def.xml</RemoteName>
|
||||
<DeployClass>AndroidSplashImageDef</DeployClass>
|
||||
<Operation>1</Operation>
|
||||
<LocalCommand/>
|
||||
<RemoteCommand/>
|
||||
<Overwrite>True</Overwrite>
|
||||
</DeployFile>
|
||||
<DeployFile Include="$(BDS)\bin\Artwork\Android\FM_NotificationIcon_24x24.png" Condition="'$(Config)'=='Debug'">
|
||||
<RemoteDir>Cipher_Console\res\drawable-mdpi\</RemoteDir>
|
||||
<RemoteName>ic_notification.png</RemoteName>
|
||||
<DeployClass>Android_NotificationIcon24</DeployClass>
|
||||
<Operation>1</Operation>
|
||||
<LocalCommand/>
|
||||
<RemoteCommand/>
|
||||
<Overwrite>True</Overwrite>
|
||||
</DeployFile>
|
||||
<DeployFile Include="$(BDS)\bin\Artwork\Android\FM_LauncherIcon_96x96.png" Condition="'$(Config)'=='Debug'">
|
||||
<RemoteDir>Cipher_Console\res\drawable-xhdpi\</RemoteDir>
|
||||
<RemoteName>ic_launcher.png</RemoteName>
|
||||
<DeployClass>Android_LauncherIcon96</DeployClass>
|
||||
<Operation>1</Operation>
|
||||
<LocalCommand/>
|
||||
<RemoteCommand/>
|
||||
<Overwrite>True</Overwrite>
|
||||
</DeployFile>
|
||||
<DeployFile Include="$(BDS)\bin\Artwork\Android\FM_NotificationIcon_48x48.png" Condition="'$(Config)'=='Debug'">
|
||||
<RemoteDir>Cipher_Console\res\drawable-xhdpi\</RemoteDir>
|
||||
<RemoteName>ic_notification.png</RemoteName>
|
||||
<DeployClass>Android_NotificationIcon48</DeployClass>
|
||||
<Operation>1</Operation>
|
||||
<LocalCommand/>
|
||||
<RemoteCommand/>
|
||||
<Overwrite>True</Overwrite>
|
||||
</DeployFile>
|
||||
<DeployFile Include="$(BDS)\bin\Artwork\Android\FM_LauncherIcon_192x192.png" Condition="'$(Config)'=='Debug'">
|
||||
<RemoteDir>Cipher_Console\res\drawable-xxxhdpi\</RemoteDir>
|
||||
<RemoteName>ic_launcher.png</RemoteName>
|
||||
<DeployClass>Android_LauncherIcon192</DeployClass>
|
||||
<Operation>1</Operation>
|
||||
<LocalCommand/>
|
||||
<RemoteCommand/>
|
||||
<Overwrite>True</Overwrite>
|
||||
</DeployFile>
|
||||
</ItemGroup>
|
||||
<ItemGroup Condition="'$(Platform)'=='Android64'"/>
|
||||
</Project>
|
@@ -0,0 +1,96 @@
|
||||
{*****************************************************************************
|
||||
The DEC team (see file NOTICE.txt) licenses this file
|
||||
to you under the Apache License, Version 2.0 (the
|
||||
"License"); you may not use this file except in compliance
|
||||
with the License. A copy of this licence is found in the root directory of
|
||||
this project in the file LICENCE.txt or alternatively at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing,
|
||||
software distributed under the License is distributed on an
|
||||
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||||
KIND, either express or implied. See the License for the
|
||||
specific language governing permissions and limitations
|
||||
under the License.
|
||||
*****************************************************************************}
|
||||
|
||||
/// <summary>
|
||||
/// Most simple demonstration of using a DEC cipher
|
||||
/// </summary>
|
||||
program Cipher_Console;
|
||||
|
||||
{$APPTYPE CONSOLE}
|
||||
|
||||
{$R *.res}
|
||||
|
||||
uses
|
||||
System.SysUtils,
|
||||
DECCipherBase,
|
||||
DECCipherModes,
|
||||
DECCipherFormats,
|
||||
DECCiphers;
|
||||
|
||||
var
|
||||
Cipher : TCipher_1DES;
|
||||
// We use raw byte string here since Unicode handling of Windows console
|
||||
// is not given
|
||||
SourceText : RawByteString;
|
||||
// Key for the initialization of our encryption run
|
||||
CipherKey : RawByteString;
|
||||
IV : RawByteString;
|
||||
Input,
|
||||
Output : TBytes;
|
||||
i : Integer;
|
||||
begin
|
||||
Cipher := TCipher_1DES.Create;
|
||||
|
||||
try
|
||||
try
|
||||
// Init our encryption
|
||||
CipherKey := 'Passwort';
|
||||
IV := #0#0#0#0#0#0#0#0;
|
||||
Cipher.Init(CipherKey, IV, 0);
|
||||
Cipher.Mode := cmCBCx;
|
||||
|
||||
SourceText := 'Beispielklartext';
|
||||
WriteLn('Source text: ' + SourceText);
|
||||
Input := System.SysUtils.BytesOf(SourceText);
|
||||
|
||||
// Encrypt
|
||||
Output := Cipher.EncodeBytes(Input);
|
||||
|
||||
Write('Encrypted data in hex: ');
|
||||
for i := 0 to high(Output) do
|
||||
Write(IntToHex(Output[i], 2), ' ');
|
||||
|
||||
WriteLn;
|
||||
|
||||
// Decrypt
|
||||
Cipher.Init(CipherKey, IV, 0);
|
||||
Output := Cipher.DecodeBytes(Output);
|
||||
|
||||
SourceText := RawByteString(System.SysUtils.StringOf(Output));
|
||||
|
||||
WriteLn('Decrypted data: ' + SourceText);
|
||||
|
||||
// Show that using a different key results in a different output
|
||||
WriteLn;
|
||||
|
||||
CipherKey := 'Password';
|
||||
Cipher.Init(CipherKey, IV, 0);
|
||||
Output := Cipher.DecodeBytes(Output);
|
||||
|
||||
SourceText := RawByteString(System.SysUtils.StringOf(Output));
|
||||
|
||||
WriteLn('Decrypted with different key: ' + SourceText);
|
||||
|
||||
ReadLn;
|
||||
except
|
||||
on E: Exception do
|
||||
Writeln(E.ClassName, ': ', E.Message);
|
||||
end;
|
||||
finally
|
||||
Cipher.Free;
|
||||
end;
|
||||
end.
|
@@ -0,0 +1,2 @@
|
||||
<?xml version="1.0"?>
|
||||
<TgConfig Version="3" SubLevelDisabled="False" />
|
@@ -0,0 +1,42 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- BEGIN_INCLUDE(manifest) -->
|
||||
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
package="%package%"
|
||||
android:versionCode="%versionCode%"
|
||||
android:versionName="%versionName%"
|
||||
android:installLocation="%installLocation%">
|
||||
|
||||
<!-- This is the platform API where NativeActivity was introduced. -->
|
||||
<uses-sdk android:minSdkVersion="%minSdkVersion%" android:targetSdkVersion="%targetSdkVersion%" />
|
||||
<%uses-permission%>
|
||||
<uses-feature android:glEsVersion="0x00020000" android:required="True"/>
|
||||
<application android:persistent="%persistent%"
|
||||
android:restoreAnyVersion="%restoreAnyVersion%"
|
||||
android:label="%label%"
|
||||
android:debuggable="%debuggable%"
|
||||
android:largeHeap="%largeHeap%"
|
||||
android:icon="%icon%"
|
||||
android:theme="%theme%"
|
||||
android:hardwareAccelerated="%hardwareAccelerated%">
|
||||
|
||||
<%application-meta-data%>
|
||||
<%services%>
|
||||
<!-- Our activity is a subclass of the built-in NativeActivity framework class.
|
||||
This will take care of integrating with our NDK code. -->
|
||||
<activity android:name="com.embarcadero.firemonkey.FMXNativeActivity"
|
||||
android:label="%activityLabel%"
|
||||
android:configChanges="orientation|keyboard|keyboardHidden|screenSize"
|
||||
android:launchMode="singleTask">
|
||||
<!-- Tell NativeActivity the name of our .so -->
|
||||
<meta-data android:name="android.app.lib_name"
|
||||
android:value="%libNameValue%" />
|
||||
<intent-filter>
|
||||
<action android:name="android.intent.action.MAIN" />
|
||||
<category android:name="android.intent.category.LAUNCHER" />
|
||||
</intent-filter>
|
||||
</activity>
|
||||
<%activity%>
|
||||
<%receivers%>
|
||||
</application>
|
||||
</manifest>
|
||||
<!-- END_INCLUDE(manifest) -->
|
@@ -0,0 +1,434 @@
|
||||
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<Import Condition="Exists('$(BDS)\bin\CodeGear.Deployment.targets')" Project="$(BDS)\bin\CodeGear.Deployment.targets"/>
|
||||
<ProjectExtensions>
|
||||
<ProjectFileVersion>12</ProjectFileVersion>
|
||||
</ProjectExtensions>
|
||||
<PropertyGroup>
|
||||
<DeviceId Condition="'$(Platform)'=='Android'">CB512EA59X</DeviceId>
|
||||
<DeviceId Condition="'$(Platform)'=='Android64'"/>
|
||||
</PropertyGroup>
|
||||
<ItemGroup Condition="'$(Platform)'=='Win32'">
|
||||
<DeployFile Include="..\..\Compiled\BIN_IDExx.x_Win32__Demos\Cipher_FMX.exe" Condition="'$(Config)'=='Debug'">
|
||||
<RemoteDir>Cipher_FMX\</RemoteDir>
|
||||
<RemoteName>Cipher_FMX.exe</RemoteName>
|
||||
<DeployClass>ProjectOutput</DeployClass>
|
||||
<Operation>0</Operation>
|
||||
<LocalCommand/>
|
||||
<RemoteCommand/>
|
||||
<Overwrite>True</Overwrite>
|
||||
<Required>True</Required>
|
||||
</DeployFile>
|
||||
</ItemGroup>
|
||||
<ItemGroup Condition="'$(Platform)'=='Win64'"/>
|
||||
<ItemGroup Condition="'$(Platform)'=='Android'">
|
||||
<DeployFile Include="CryptoIcon_48.png" Condition="'$(Config)'=='Debug'">
|
||||
<RemoteDir>Cipher_FMX\res\drawable-mdpi\</RemoteDir>
|
||||
<RemoteName>ic_launcher.png</RemoteName>
|
||||
<DeployClass>Android_LauncherIcon48</DeployClass>
|
||||
<Operation>1</Operation>
|
||||
<LocalCommand/>
|
||||
<RemoteCommand/>
|
||||
<Overwrite>True</Overwrite>
|
||||
</DeployFile>
|
||||
<DeployFile Include="..\..\Compiled\BIN_IDExx.x_Android__Demos\classes.dex" Condition="'$(Config)'=='Debug'">
|
||||
<RemoteDir>Cipher_FMX\classes\</RemoteDir>
|
||||
<RemoteName>classes.dex</RemoteName>
|
||||
<DeployClass>AndroidClassesDexFile</DeployClass>
|
||||
<Operation>1</Operation>
|
||||
<LocalCommand/>
|
||||
<RemoteCommand/>
|
||||
<Overwrite>True</Overwrite>
|
||||
</DeployFile>
|
||||
<DeployFile Include="$(BDS)\bin\Artwork\Android\FM_NotificationIcon_36x36.png" Condition="'$(Config)'=='Debug'">
|
||||
<RemoteDir>Cipher_FMX\res\drawable-hdpi\</RemoteDir>
|
||||
<RemoteName>ic_notification.png</RemoteName>
|
||||
<DeployClass>Android_NotificationIcon36</DeployClass>
|
||||
<Operation>1</Operation>
|
||||
<LocalCommand/>
|
||||
<RemoteCommand/>
|
||||
<Overwrite>True</Overwrite>
|
||||
</DeployFile>
|
||||
<DeployFile Include="$(BDS)\lib\android\debug\mips\libnative-activity.so" Condition="'$(Config)'=='Debug'">
|
||||
<RemoteDir>Cipher_FMX\library\lib\mips\</RemoteDir>
|
||||
<RemoteName>libCipher_FMX.so</RemoteName>
|
||||
<DeployClass>AndroidLibnativeMipsFile</DeployClass>
|
||||
<Operation>1</Operation>
|
||||
<LocalCommand/>
|
||||
<RemoteCommand/>
|
||||
<Overwrite>True</Overwrite>
|
||||
</DeployFile>
|
||||
<DeployFile Include="..\..\Compiled\BIN_IDExx.x_Android__Demos\splash_image_def.xml" Condition="'$(Config)'=='Debug'">
|
||||
<RemoteDir>Cipher_FMX\res\drawable\</RemoteDir>
|
||||
<RemoteName>splash_image_def.xml</RemoteName>
|
||||
<DeployClass>AndroidSplashImageDef</DeployClass>
|
||||
<Operation>1</Operation>
|
||||
<LocalCommand/>
|
||||
<RemoteCommand/>
|
||||
<Overwrite>True</Overwrite>
|
||||
</DeployFile>
|
||||
<DeployFile Include="CryptoIcon_96.png" Condition="'$(Config)'=='Debug'">
|
||||
<RemoteDir>Cipher_FMX\res\drawable-xhdpi\</RemoteDir>
|
||||
<RemoteName>ic_launcher.png</RemoteName>
|
||||
<DeployClass>Android_LauncherIcon96</DeployClass>
|
||||
<Operation>1</Operation>
|
||||
<LocalCommand/>
|
||||
<RemoteCommand/>
|
||||
<Overwrite>True</Overwrite>
|
||||
</DeployFile>
|
||||
<DeployFile Include="CryptoIcon_36.png" Condition="'$(Config)'=='Debug'">
|
||||
<RemoteDir>Cipher_FMX\res\drawable-ldpi\</RemoteDir>
|
||||
<RemoteName>ic_launcher.png</RemoteName>
|
||||
<DeployClass>Android_LauncherIcon36</DeployClass>
|
||||
<Operation>1</Operation>
|
||||
<LocalCommand/>
|
||||
<RemoteCommand/>
|
||||
<Overwrite>True</Overwrite>
|
||||
</DeployFile>
|
||||
<DeployFile Include="Crypto_640_480.png" Condition="'$(Config)'=='Debug'">
|
||||
<RemoteDir>Cipher_FMX\res\drawable-large\</RemoteDir>
|
||||
<RemoteName>splash_image.png</RemoteName>
|
||||
<DeployClass>Android_SplashImage640</DeployClass>
|
||||
<Operation>1</Operation>
|
||||
<LocalCommand/>
|
||||
<RemoteCommand/>
|
||||
<Overwrite>True</Overwrite>
|
||||
</DeployFile>
|
||||
<DeployFile Include="..\..\Compiled\BIN_IDExx.x_Android__Demos\strings.xml" Condition="'$(Config)'=='Debug'">
|
||||
<RemoteDir>Cipher_FMX\res\values\</RemoteDir>
|
||||
<RemoteName>strings.xml</RemoteName>
|
||||
<DeployClass>Android_Strings</DeployClass>
|
||||
<Operation>1</Operation>
|
||||
<LocalCommand/>
|
||||
<RemoteCommand/>
|
||||
<Overwrite>True</Overwrite>
|
||||
</DeployFile>
|
||||
<DeployFile Include="$(BDS)\bin\Artwork\Android\FM_NotificationIcon_96x96.png" Condition="'$(Config)'=='Debug'">
|
||||
<RemoteDir>Cipher_FMX\res\drawable-xxxhdpi\</RemoteDir>
|
||||
<RemoteName>ic_notification.png</RemoteName>
|
||||
<DeployClass>Android_NotificationIcon96</DeployClass>
|
||||
<Operation>1</Operation>
|
||||
<LocalCommand/>
|
||||
<RemoteCommand/>
|
||||
<Overwrite>True</Overwrite>
|
||||
</DeployFile>
|
||||
<DeployFile Include="..\..\Compiled\BIN_IDExx.x_Android__Demos\AndroidManifest.xml" Condition="'$(Config)'=='Debug'">
|
||||
<RemoteDir>Cipher_FMX\</RemoteDir>
|
||||
<RemoteName>AndroidManifest.xml</RemoteName>
|
||||
<DeployClass>ProjectAndroidManifest</DeployClass>
|
||||
<Operation>1</Operation>
|
||||
<LocalCommand/>
|
||||
<RemoteCommand/>
|
||||
<Overwrite>True</Overwrite>
|
||||
</DeployFile>
|
||||
<DeployFile Include="$(BDS)\lib\android\debug\armeabi\libnative-activity.so" Condition="'$(Config)'=='Debug'">
|
||||
<RemoteDir>Cipher_FMX\library\lib\armeabi\</RemoteDir>
|
||||
<RemoteName>libCipher_FMX.so</RemoteName>
|
||||
<DeployClass>AndroidLibnativeArmeabiFile</DeployClass>
|
||||
<Operation>1</Operation>
|
||||
<LocalCommand/>
|
||||
<RemoteCommand/>
|
||||
<Overwrite>True</Overwrite>
|
||||
</DeployFile>
|
||||
<DeployFile Include="..\..\Compiled\BIN_IDExx.x_Android__Demos\styles-v21.xml" Condition="'$(Config)'=='Debug'">
|
||||
<RemoteDir>Cipher_FMX\res\values-v21\</RemoteDir>
|
||||
<RemoteName>styles.xml</RemoteName>
|
||||
<DeployClass>AndroidSplashStylesV21</DeployClass>
|
||||
<Operation>1</Operation>
|
||||
<LocalCommand/>
|
||||
<RemoteCommand/>
|
||||
<Overwrite>True</Overwrite>
|
||||
</DeployFile>
|
||||
<DeployFile Include="$(BDS)\bin\Artwork\Android\FM_NotificationIcon_24x24.png" Condition="'$(Config)'=='Debug'">
|
||||
<RemoteDir>Cipher_FMX\res\drawable-mdpi\</RemoteDir>
|
||||
<RemoteName>ic_notification.png</RemoteName>
|
||||
<DeployClass>Android_NotificationIcon24</DeployClass>
|
||||
<Operation>1</Operation>
|
||||
<LocalCommand/>
|
||||
<RemoteCommand/>
|
||||
<Overwrite>True</Overwrite>
|
||||
</DeployFile>
|
||||
<DeployFile Include="Crypto_470_320.png" Condition="'$(Config)'=='Debug'">
|
||||
<RemoteDir>Cipher_FMX\res\drawable-normal\</RemoteDir>
|
||||
<RemoteName>splash_image.png</RemoteName>
|
||||
<DeployClass>Android_SplashImage470</DeployClass>
|
||||
<Operation>1</Operation>
|
||||
<LocalCommand/>
|
||||
<RemoteCommand/>
|
||||
<Overwrite>True</Overwrite>
|
||||
</DeployFile>
|
||||
<DeployFile Include="$(BDS)\bin\Artwork\Android\FM_NotificationIcon_48x48.png" Condition="'$(Config)'=='Debug'">
|
||||
<RemoteDir>Cipher_FMX\res\drawable-xhdpi\</RemoteDir>
|
||||
<RemoteName>ic_notification.png</RemoteName>
|
||||
<DeployClass>Android_NotificationIcon48</DeployClass>
|
||||
<Operation>1</Operation>
|
||||
<LocalCommand/>
|
||||
<RemoteCommand/>
|
||||
<Overwrite>True</Overwrite>
|
||||
</DeployFile>
|
||||
<DeployFile Include="CryptoIcon_72.png" Condition="'$(Config)'=='Debug'">
|
||||
<RemoteDir>Cipher_FMX\res\drawable-hdpi\</RemoteDir>
|
||||
<RemoteName>ic_launcher.png</RemoteName>
|
||||
<DeployClass>Android_LauncherIcon72</DeployClass>
|
||||
<Operation>1</Operation>
|
||||
<LocalCommand/>
|
||||
<RemoteCommand/>
|
||||
<Overwrite>True</Overwrite>
|
||||
</DeployFile>
|
||||
<DeployFile Include="$(BDS)\bin\Artwork\Android\FM_NotificationIcon_72x72.png" Condition="'$(Config)'=='Debug'">
|
||||
<RemoteDir>Cipher_FMX\res\drawable-xxhdpi\</RemoteDir>
|
||||
<RemoteName>ic_notification.png</RemoteName>
|
||||
<DeployClass>Android_NotificationIcon72</DeployClass>
|
||||
<Operation>1</Operation>
|
||||
<LocalCommand/>
|
||||
<RemoteCommand/>
|
||||
<Overwrite>True</Overwrite>
|
||||
</DeployFile>
|
||||
<DeployFile Include="CryptoIcon_144.png" Condition="'$(Config)'=='Debug'">
|
||||
<RemoteDir>Cipher_FMX\res\drawable-xxhdpi\</RemoteDir>
|
||||
<RemoteName>ic_launcher.png</RemoteName>
|
||||
<DeployClass>Android_LauncherIcon144</DeployClass>
|
||||
<Operation>1</Operation>
|
||||
<LocalCommand/>
|
||||
<RemoteCommand/>
|
||||
<Overwrite>True</Overwrite>
|
||||
</DeployFile>
|
||||
<DeployFile Include="..\..\Compiled\BIN_IDExx.x_Android__Demos\colors.xml" Condition="'$(Config)'=='Debug'">
|
||||
<RemoteDir>Cipher_FMX\res\values\</RemoteDir>
|
||||
<RemoteName>colors.xml</RemoteName>
|
||||
<DeployClass>Android_Colors</DeployClass>
|
||||
<Operation>1</Operation>
|
||||
<LocalCommand/>
|
||||
<RemoteCommand/>
|
||||
<Overwrite>True</Overwrite>
|
||||
</DeployFile>
|
||||
<DeployFile Include="CryptoIcon_192.png" Condition="'$(Config)'=='Debug'">
|
||||
<RemoteDir>Cipher_FMX\res\drawable-xxxhdpi\</RemoteDir>
|
||||
<RemoteName>ic_launcher.png</RemoteName>
|
||||
<DeployClass>Android_LauncherIcon192</DeployClass>
|
||||
<Operation>1</Operation>
|
||||
<LocalCommand/>
|
||||
<RemoteCommand/>
|
||||
<Overwrite>True</Overwrite>
|
||||
</DeployFile>
|
||||
<DeployFile Include="..\..\Compiled\BIN_IDExx.x_Android__Demos\libCipher_FMX.so" Condition="'$(Config)'=='Debug'">
|
||||
<RemoteDir>Cipher_FMX\library\lib\armeabi-v7a\</RemoteDir>
|
||||
<RemoteName>libCipher_FMX.so</RemoteName>
|
||||
<DeployClass>ProjectOutput</DeployClass>
|
||||
<Operation>1</Operation>
|
||||
<LocalCommand/>
|
||||
<RemoteCommand/>
|
||||
<Overwrite>True</Overwrite>
|
||||
<Required>True</Required>
|
||||
</DeployFile>
|
||||
<DeployFile Include="Crypto_426_320.png" Condition="'$(Config)'=='Debug'">
|
||||
<RemoteDir>Cipher_FMX\res\drawable-small\</RemoteDir>
|
||||
<RemoteName>splash_image.png</RemoteName>
|
||||
<DeployClass>Android_SplashImage426</DeployClass>
|
||||
<Operation>1</Operation>
|
||||
<LocalCommand/>
|
||||
<RemoteCommand/>
|
||||
<Overwrite>True</Overwrite>
|
||||
</DeployFile>
|
||||
<DeployFile Include="Android\Debug\classes.dex" Condition="'$(Config)'=='Debug'">
|
||||
<RemoteDir>Cipher_FMX\classes\</RemoteDir>
|
||||
<RemoteName>classes.dex</RemoteName>
|
||||
<DeployClass>AndroidClassesDexFile</DeployClass>
|
||||
<Operation>1</Operation>
|
||||
<LocalCommand/>
|
||||
<RemoteCommand/>
|
||||
<Overwrite>True</Overwrite>
|
||||
</DeployFile>
|
||||
<DeployFile Include="$(NDKBasePath)\prebuilt\android-arm\gdbserver\gdbserver" Condition="'$(Config)'=='Debug'">
|
||||
<RemoteDir>Cipher_FMX\library\lib\armeabi-v7a\</RemoteDir>
|
||||
<RemoteName>gdbserver</RemoteName>
|
||||
<DeployClass>AndroidGDBServer</DeployClass>
|
||||
<Operation>1</Operation>
|
||||
<LocalCommand/>
|
||||
<RemoteCommand/>
|
||||
<Overwrite>True</Overwrite>
|
||||
</DeployFile>
|
||||
<DeployFile Include="..\..\Compiled\BIN_IDExx.x_Android__Demos\styles.xml" Condition="'$(Config)'=='Debug'">
|
||||
<RemoteDir>Cipher_FMX\res\values\</RemoteDir>
|
||||
<RemoteName>styles.xml</RemoteName>
|
||||
<DeployClass>AndroidSplashStyles</DeployClass>
|
||||
<Operation>1</Operation>
|
||||
<LocalCommand/>
|
||||
<RemoteCommand/>
|
||||
<Overwrite>True</Overwrite>
|
||||
</DeployFile>
|
||||
<DeployFile Include="Crypto_960_720.png" Condition="'$(Config)'=='Debug'">
|
||||
<RemoteDir>Cipher_FMX\res\drawable-xlarge\</RemoteDir>
|
||||
<RemoteName>splash_image.png</RemoteName>
|
||||
<DeployClass>Android_SplashImage960</DeployClass>
|
||||
<Operation>1</Operation>
|
||||
<LocalCommand/>
|
||||
<RemoteCommand/>
|
||||
<Overwrite>True</Overwrite>
|
||||
</DeployFile>
|
||||
</ItemGroup>
|
||||
<ItemGroup Condition="'$(Platform)'=='Android64'">
|
||||
<DeployFile Include="..\..\Compiled\BIN_IDExx.x_Android64__Demos\splash_image_def.xml" Condition="'$(Config)'=='Release'">
|
||||
<RemoteDir>Cipher_FMX\res\drawable\</RemoteDir>
|
||||
<RemoteName>splash_image_def.xml</RemoteName>
|
||||
<DeployClass>AndroidSplashImageDef</DeployClass>
|
||||
<Operation>1</Operation>
|
||||
<LocalCommand/>
|
||||
<RemoteCommand/>
|
||||
<Overwrite>True</Overwrite>
|
||||
</DeployFile>
|
||||
<DeployFile Include="..\..\Compiled\BIN_IDExx.x_Android64__Demos\libCipher_FMX.so" Condition="'$(Config)'=='Release'">
|
||||
<RemoteDir>Cipher_FMX\library\lib\arm64-v8a\</RemoteDir>
|
||||
<RemoteName>libCipher_FMX.so</RemoteName>
|
||||
<DeployClass>ProjectOutput</DeployClass>
|
||||
<Operation>1</Operation>
|
||||
<LocalCommand/>
|
||||
<RemoteCommand/>
|
||||
<Overwrite>True</Overwrite>
|
||||
<Required>True</Required>
|
||||
</DeployFile>
|
||||
<DeployFile Include="..\..\Compiled\BIN_IDExx.x_Android64__Demos\classes.dex" Condition="'$(Config)'=='Release'">
|
||||
<RemoteDir>Cipher_FMX\classes\</RemoteDir>
|
||||
<RemoteName>classes.dex</RemoteName>
|
||||
<DeployClass>AndroidClassesDexFile</DeployClass>
|
||||
<Operation>1</Operation>
|
||||
<LocalCommand/>
|
||||
<RemoteCommand/>
|
||||
<Overwrite>True</Overwrite>
|
||||
</DeployFile>
|
||||
<DeployFile Include="Crypto_960_720.png" Condition="'$(Config)'=='Release'">
|
||||
<RemoteDir>Cipher_FMX\res\drawable-xlarge\</RemoteDir>
|
||||
<RemoteName>splash_image.png</RemoteName>
|
||||
<DeployClass>Android_SplashImage960</DeployClass>
|
||||
<Operation>1</Operation>
|
||||
<LocalCommand/>
|
||||
<RemoteCommand/>
|
||||
<Overwrite>True</Overwrite>
|
||||
</DeployFile>
|
||||
<DeployFile Include="..\..\Compiled\BIN_IDExx.x_Android64__Demos\styles.xml" Condition="'$(Config)'=='Release'">
|
||||
<RemoteDir>Cipher_FMX\res\values\</RemoteDir>
|
||||
<RemoteName>styles.xml</RemoteName>
|
||||
<DeployClass>AndroidSplashStyles</DeployClass>
|
||||
<Operation>1</Operation>
|
||||
<LocalCommand/>
|
||||
<RemoteCommand/>
|
||||
<Overwrite>True</Overwrite>
|
||||
</DeployFile>
|
||||
<DeployFile Include="CryptoIcon_48.png" Condition="'$(Config)'=='Release'">
|
||||
<RemoteDir>Cipher_FMX\res\drawable-mdpi\</RemoteDir>
|
||||
<RemoteName>ic_launcher.png</RemoteName>
|
||||
<DeployClass>Android_LauncherIcon48</DeployClass>
|
||||
<Operation>1</Operation>
|
||||
<LocalCommand/>
|
||||
<RemoteCommand/>
|
||||
<Overwrite>True</Overwrite>
|
||||
</DeployFile>
|
||||
<DeployFile Include="Crypto_426_320.png" Condition="'$(Config)'=='Release'">
|
||||
<RemoteDir>Cipher_FMX\res\drawable-small\</RemoteDir>
|
||||
<RemoteName>splash_image.png</RemoteName>
|
||||
<DeployClass>Android_SplashImage426</DeployClass>
|
||||
<Operation>1</Operation>
|
||||
<LocalCommand/>
|
||||
<RemoteCommand/>
|
||||
<Overwrite>True</Overwrite>
|
||||
</DeployFile>
|
||||
<DeployFile Include="..\..\Compiled\BIN_IDExx.x_Android64__Demos\AndroidManifest.xml" Condition="'$(Config)'=='Release'">
|
||||
<RemoteDir>Cipher_FMX\</RemoteDir>
|
||||
<RemoteName>AndroidManifest.xml</RemoteName>
|
||||
<DeployClass>ProjectAndroidManifest</DeployClass>
|
||||
<Operation>1</Operation>
|
||||
<LocalCommand/>
|
||||
<RemoteCommand/>
|
||||
<Overwrite>True</Overwrite>
|
||||
</DeployFile>
|
||||
<DeployFile Include="Crypto_470_320.png" Condition="'$(Config)'=='Release'">
|
||||
<RemoteDir>Cipher_FMX\res\drawable-normal\</RemoteDir>
|
||||
<RemoteName>splash_image.png</RemoteName>
|
||||
<DeployClass>Android_SplashImage470</DeployClass>
|
||||
<Operation>1</Operation>
|
||||
<LocalCommand/>
|
||||
<RemoteCommand/>
|
||||
<Overwrite>True</Overwrite>
|
||||
</DeployFile>
|
||||
<DeployFile Include="Crypto_640_480.png" Condition="'$(Config)'=='Release'">
|
||||
<RemoteDir>Cipher_FMX\res\drawable-large\</RemoteDir>
|
||||
<RemoteName>splash_image.png</RemoteName>
|
||||
<DeployClass>Android_SplashImage640</DeployClass>
|
||||
<Operation>1</Operation>
|
||||
<LocalCommand/>
|
||||
<RemoteCommand/>
|
||||
<Overwrite>True</Overwrite>
|
||||
</DeployFile>
|
||||
<DeployFile Include="CryptoIcon_96.png" Condition="'$(Config)'=='Release'">
|
||||
<RemoteDir>Cipher_FMX\res\drawable-xhdpi\</RemoteDir>
|
||||
<RemoteName>ic_launcher.png</RemoteName>
|
||||
<DeployClass>Android_LauncherIcon96</DeployClass>
|
||||
<Operation>1</Operation>
|
||||
<LocalCommand/>
|
||||
<RemoteCommand/>
|
||||
<Overwrite>True</Overwrite>
|
||||
</DeployFile>
|
||||
<DeployFile Include="CryptoIcon_192.png" Condition="'$(Config)'=='Release'">
|
||||
<RemoteDir>Cipher_FMX\res\drawable-xxxhdpi\</RemoteDir>
|
||||
<RemoteName>ic_launcher.png</RemoteName>
|
||||
<DeployClass>Android_LauncherIcon192</DeployClass>
|
||||
<Operation>1</Operation>
|
||||
<LocalCommand/>
|
||||
<RemoteCommand/>
|
||||
<Overwrite>True</Overwrite>
|
||||
</DeployFile>
|
||||
<DeployFile Include="CryptoIcon_36.png" Condition="'$(Config)'=='Release'">
|
||||
<RemoteDir>Cipher_FMX\res\drawable-ldpi\</RemoteDir>
|
||||
<RemoteName>ic_launcher.png</RemoteName>
|
||||
<DeployClass>Android_LauncherIcon36</DeployClass>
|
||||
<Operation>1</Operation>
|
||||
<LocalCommand/>
|
||||
<RemoteCommand/>
|
||||
<Overwrite>True</Overwrite>
|
||||
</DeployFile>
|
||||
<DeployFile Include="..\..\Compiled\BIN_IDExx.x_Android64__Demos\styles-v21.xml" Condition="'$(Config)'=='Release'">
|
||||
<RemoteDir>Cipher_FMX\res\values-v21\</RemoteDir>
|
||||
<RemoteName>styles.xml</RemoteName>
|
||||
<DeployClass>AndroidSplashStylesV21</DeployClass>
|
||||
<Operation>1</Operation>
|
||||
<LocalCommand/>
|
||||
<RemoteCommand/>
|
||||
<Overwrite>True</Overwrite>
|
||||
</DeployFile>
|
||||
<DeployFile Include="..\..\Compiled\BIN_IDExx.x_Android64__Demos\colors.xml" Condition="'$(Config)'=='Release'">
|
||||
<RemoteDir>Cipher_FMX\res\values\</RemoteDir>
|
||||
<RemoteName>colors.xml</RemoteName>
|
||||
<DeployClass>Android_Colors</DeployClass>
|
||||
<Operation>1</Operation>
|
||||
<LocalCommand/>
|
||||
<RemoteCommand/>
|
||||
<Overwrite>True</Overwrite>
|
||||
</DeployFile>
|
||||
<DeployFile Include="CryptoIcon_72.png" Condition="'$(Config)'=='Release'">
|
||||
<RemoteDir>Cipher_FMX\res\drawable-hdpi\</RemoteDir>
|
||||
<RemoteName>ic_launcher.png</RemoteName>
|
||||
<DeployClass>Android_LauncherIcon72</DeployClass>
|
||||
<Operation>1</Operation>
|
||||
<LocalCommand/>
|
||||
<RemoteCommand/>
|
||||
<Overwrite>True</Overwrite>
|
||||
</DeployFile>
|
||||
<DeployFile Include="CryptoIcon_144.png" Condition="'$(Config)'=='Release'">
|
||||
<RemoteDir>Cipher_FMX\res\drawable-xxhdpi\</RemoteDir>
|
||||
<RemoteName>ic_launcher.png</RemoteName>
|
||||
<DeployClass>Android_LauncherIcon144</DeployClass>
|
||||
<Operation>1</Operation>
|
||||
<LocalCommand/>
|
||||
<RemoteCommand/>
|
||||
<Overwrite>True</Overwrite>
|
||||
</DeployFile>
|
||||
<DeployFile Include="..\..\Compiled\BIN_IDExx.x_Android64__Demos\strings.xml" Condition="'$(Config)'=='Release'">
|
||||
<RemoteDir>Cipher_FMX\res\values\</RemoteDir>
|
||||
<RemoteName>strings.xml</RemoteName>
|
||||
<DeployClass>Android_Strings</DeployClass>
|
||||
<Operation>1</Operation>
|
||||
<LocalCommand/>
|
||||
<RemoteCommand/>
|
||||
<Overwrite>True</Overwrite>
|
||||
</DeployFile>
|
||||
</ItemGroup>
|
||||
</Project>
|
@@ -0,0 +1,14 @@
|
||||
program Cipher_FMX;
|
||||
|
||||
uses
|
||||
System.StartUpCopy,
|
||||
FMX.Forms,
|
||||
MainForm in 'MainForm.pas' {FormMain};
|
||||
|
||||
{$R *.res}
|
||||
|
||||
begin
|
||||
Application.Initialize;
|
||||
Application.CreateForm(TFormMain, FormMain);
|
||||
Application.Run;
|
||||
end.
|
1677
contrib/DelphiEncryptionCompendium/Demos/Cipher_FMX/Cipher_FMX.dproj
Normal file
After Width: | Height: | Size: 24 KiB |
After Width: | Height: | Size: 31 KiB |
After Width: | Height: | Size: 3.1 KiB |
After Width: | Height: | Size: 4.9 KiB |
After Width: | Height: | Size: 9.0 KiB |
After Width: | Height: | Size: 14 KiB |
After Width: | Height: | Size: 282 KiB |
After Width: | Height: | Size: 308 KiB |
After Width: | Height: | Size: 580 KiB |
After Width: | Height: | Size: 1.1 MiB |
@@ -0,0 +1,91 @@
|
||||
inherited MainForm_LgXhdpiPh: TMainForm_LgXhdpiPh
|
||||
ClientHeight = 695
|
||||
ClientWidth = 450
|
||||
DesignerMasterStyle = 0
|
||||
inherited VertScrollBox1: TVertScrollBox
|
||||
Size.Width = 450.000000000000000000
|
||||
Size.Height = 695.000000000000000000
|
||||
Viewport.Width = 445.000000000000000000
|
||||
Viewport.Height = 695.000000000000000000
|
||||
inherited LayoutTop: TLayout
|
||||
inherited Label2: TLabel
|
||||
Size.Width = 124.000000000000000000
|
||||
Size.Height = 22.000000000000000000
|
||||
end
|
||||
inherited ComboBoxHashFunction: TComboBox
|
||||
TabOrder = 3
|
||||
end
|
||||
inherited Label5: TLabel
|
||||
Size.Width = 139.000000000000000000
|
||||
Size.Height = 22.000000000000000000
|
||||
end
|
||||
inherited ComboBoxInputFormatting: TComboBox
|
||||
TabOrder = 4
|
||||
end
|
||||
inherited Label6: TLabel
|
||||
Size.Width = 178.000000000000000000
|
||||
Size.Height = 22.000000000000000000
|
||||
end
|
||||
inherited ComboBoxOutputFormatting: TComboBox
|
||||
TabOrder = 6
|
||||
end
|
||||
inherited Label1: TLabel
|
||||
Size.Width = 119.000000000000000000
|
||||
Size.Height = 22.000000000000000000
|
||||
end
|
||||
inherited EditKey: TEdit
|
||||
TabOrder = 15
|
||||
Size.Height = 32.000000000000000000
|
||||
end
|
||||
inherited Label3: TLabel
|
||||
Size.Width = 81.000000000000000000
|
||||
Size.Height = 22.000000000000000000
|
||||
end
|
||||
inherited Edit1: TEdit
|
||||
TabOrder = 14
|
||||
Size.Height = 32.000000000000000000
|
||||
end
|
||||
inherited Label4: TLabel
|
||||
Size.Width = 79.000000000000000000
|
||||
Size.Height = 22.000000000000000000
|
||||
end
|
||||
inherited EditFiller: TEdit
|
||||
TabOrder = 13
|
||||
Size.Height = 32.000000000000000000
|
||||
end
|
||||
inherited Label7: TLabel
|
||||
Size.Width = 103.000000000000000000
|
||||
Size.Height = 22.000000000000000000
|
||||
end
|
||||
inherited Label8: TLabel
|
||||
Size.Width = 139.000000000000000000
|
||||
Size.Height = 22.000000000000000000
|
||||
end
|
||||
inherited StringGrid1: TStringGrid
|
||||
Viewport.Width = 380.000000000000000000
|
||||
Viewport.Height = 68.000000000000000000
|
||||
inherited StringColumn1: TStringColumn
|
||||
Size.Width = 250.000000000000000000
|
||||
end
|
||||
end
|
||||
inherited Label9: TLabel
|
||||
Size.Width = 139.000000000000000000
|
||||
Size.Height = 22.000000000000000000
|
||||
end
|
||||
inherited Label10: TLabel
|
||||
Size.Width = 139.000000000000000000
|
||||
Size.Height = 22.000000000000000000
|
||||
end
|
||||
inherited EditPlainText: TEdit
|
||||
Size.Height = 32.000000000000000000
|
||||
end
|
||||
inherited EditCipherText: TEdit
|
||||
Size.Height = 32.000000000000000000
|
||||
end
|
||||
inherited Label11: TLabel
|
||||
Size.Width = 88.000000000000000000
|
||||
Size.Height = 22.000000000000000000
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
304
contrib/DelphiEncryptionCompendium/Demos/Cipher_FMX/MainForm.fmx
Normal file
@@ -0,0 +1,304 @@
|
||||
object FormMain: TFormMain
|
||||
Left = 0
|
||||
Top = 0
|
||||
ActiveControl = ComboBoxCipherAlgorithm
|
||||
Caption = 'FMX Cipher Demo'
|
||||
ClientHeight = 711
|
||||
ClientWidth = 425
|
||||
FormFactor.Width = 320
|
||||
FormFactor.Height = 480
|
||||
FormFactor.Devices = [Desktop]
|
||||
OnCreate = FormCreate
|
||||
OnResize = FormResize
|
||||
DesignerMasterStyle = 0
|
||||
object VertScrollBox1: TVertScrollBox
|
||||
Align = Client
|
||||
Size.Width = 425.000000000000000000
|
||||
Size.Height = 711.000000000000000000
|
||||
Size.PlatformDefault = False
|
||||
StyleLookup = 'scrollboxstyle'
|
||||
TabOrder = 0
|
||||
Viewport.Width = 409.000000000000000000
|
||||
Viewport.Height = 711.000000000000000000
|
||||
object LayoutTop: TLayout
|
||||
Size.Width = 425.000000000000000000
|
||||
Size.Height = 1170.000000000000000000
|
||||
Size.PlatformDefault = False
|
||||
TabOrder = 0
|
||||
object Label2: TLabel
|
||||
AutoSize = True
|
||||
Position.X = 16.000000000000000000
|
||||
Position.Y = 16.000000000000000000
|
||||
Size.Width = 82.000000000000000000
|
||||
Size.Height = 16.000000000000000000
|
||||
Size.PlatformDefault = False
|
||||
StyleLookup = 'labelstyle'
|
||||
TextSettings.WordWrap = False
|
||||
Text = 'Cipher function'
|
||||
end
|
||||
object ComboBoxCipherAlgorithm: TComboBox
|
||||
Anchors = [akLeft, akTop, akRight]
|
||||
Position.X = 16.000000000000000000
|
||||
Position.Y = 44.000000000000000000
|
||||
Size.Width = 385.000000000000000000
|
||||
Size.Height = 32.000000000000000000
|
||||
Size.PlatformDefault = False
|
||||
StyleLookup = 'comboboxstyle'
|
||||
TabOrder = 0
|
||||
OnChange = ComboBoxCipherAlgorithmChange
|
||||
end
|
||||
object Label5: TLabel
|
||||
AutoSize = True
|
||||
Position.X = 16.000000000000000000
|
||||
Position.Y = 88.000000000000000000
|
||||
Size.Width = 91.000000000000000000
|
||||
Size.Height = 16.000000000000000000
|
||||
Size.PlatformDefault = False
|
||||
StyleLookup = 'labelstyle'
|
||||
TextSettings.WordWrap = False
|
||||
Text = 'Input is in format'
|
||||
end
|
||||
object ComboBoxInputFormatting: TComboBox
|
||||
Anchors = [akLeft, akTop, akRight]
|
||||
Position.X = 16.000000000000000000
|
||||
Position.Y = 116.000000000000000000
|
||||
Size.Width = 385.000000000000000000
|
||||
Size.Height = 32.000000000000000000
|
||||
Size.PlatformDefault = False
|
||||
StyleLookup = 'comboboxstyle'
|
||||
TabOrder = 1
|
||||
end
|
||||
object Label6: TLabel
|
||||
AutoSize = True
|
||||
Position.X = 16.000000000000000000
|
||||
Position.Y = 160.000000000000000000
|
||||
Size.Width = 119.000000000000000000
|
||||
Size.Height = 16.000000000000000000
|
||||
Size.PlatformDefault = False
|
||||
StyleLookup = 'labelstyle'
|
||||
TextSettings.WordWrap = False
|
||||
Text = 'Desired output format'
|
||||
end
|
||||
object ComboBoxOutputFormatting: TComboBox
|
||||
Anchors = [akLeft, akTop, akRight]
|
||||
Position.X = 16.000000000000000000
|
||||
Position.Y = 188.000000000000000000
|
||||
Size.Width = 385.000000000000000000
|
||||
Size.Height = 32.000000000000000000
|
||||
Size.PlatformDefault = False
|
||||
StyleLookup = 'comboboxstyle'
|
||||
TabOrder = 2
|
||||
end
|
||||
object Label1: TLabel
|
||||
AutoSize = True
|
||||
Position.X = 16.000000000000000000
|
||||
Position.Y = 240.000000000000000000
|
||||
Size.Width = 117.000000000000000000
|
||||
Size.Height = 16.000000000000000000
|
||||
Size.PlatformDefault = False
|
||||
StyleLookup = 'labelstyle'
|
||||
TextSettings.WordWrap = False
|
||||
Text = 'Encryption key (ASCII)'
|
||||
end
|
||||
object EditKey: TEdit
|
||||
Touch.InteractiveGestures = [LongTap, DoubleTap]
|
||||
Anchors = [akLeft, akTop, akRight]
|
||||
StyleLookup = 'editstyle'
|
||||
TabOrder = 3
|
||||
Position.X = 16.000000000000000000
|
||||
Position.Y = 272.000000000000000000
|
||||
Size.Width = 385.000000000000000000
|
||||
Size.Height = 22.000000000000000000
|
||||
Size.PlatformDefault = False
|
||||
end
|
||||
object Label3: TLabel
|
||||
AutoSize = True
|
||||
Position.X = 16.000000000000000000
|
||||
Position.Y = 312.000000000000000000
|
||||
Size.Width = 130.000000000000000000
|
||||
Size.Height = 16.000000000000000000
|
||||
Size.PlatformDefault = False
|
||||
StyleLookup = 'labelstyle'
|
||||
TextSettings.WordWrap = False
|
||||
Text = 'Init vector (hexadecimal)'
|
||||
end
|
||||
object EditInitVector: TEdit
|
||||
Touch.InteractiveGestures = [LongTap, DoubleTap]
|
||||
Anchors = [akLeft, akTop, akRight]
|
||||
StyleLookup = 'editstyle'
|
||||
TabOrder = 4
|
||||
Position.X = 16.000000000000000000
|
||||
Position.Y = 344.000000000000000000
|
||||
Size.Width = 385.000000000000000000
|
||||
Size.Height = 22.000000000000000000
|
||||
Size.PlatformDefault = False
|
||||
end
|
||||
object Label4: TLabel
|
||||
AutoSize = True
|
||||
Position.X = 16.000000000000000000
|
||||
Position.Y = 384.000000000000000000
|
||||
Size.Width = 128.000000000000000000
|
||||
Size.Height = 16.000000000000000000
|
||||
Size.PlatformDefault = False
|
||||
StyleLookup = 'labelstyle'
|
||||
TextSettings.WordWrap = False
|
||||
Text = 'Filler byte (hexadecimal)'
|
||||
end
|
||||
object EditFiller: TEdit
|
||||
Touch.InteractiveGestures = [LongTap, DoubleTap]
|
||||
Anchors = [akLeft, akTop, akRight]
|
||||
StyleLookup = 'editstyle'
|
||||
TabOrder = 5
|
||||
Position.X = 16.000000000000000000
|
||||
Position.Y = 408.000000000000000000
|
||||
Size.Width = 385.000000000000000000
|
||||
Size.Height = 22.000000000000000000
|
||||
Size.PlatformDefault = False
|
||||
end
|
||||
object Label7: TLabel
|
||||
AutoSize = True
|
||||
Position.X = 16.000000000000000000
|
||||
Position.Y = 448.000000000000000000
|
||||
Size.Width = 69.000000000000000000
|
||||
Size.Height = 16.000000000000000000
|
||||
Size.PlatformDefault = False
|
||||
StyleLookup = 'labelstyle'
|
||||
TextSettings.WordWrap = False
|
||||
Text = 'Cipher mode'
|
||||
end
|
||||
object ComboBoxChainingMethod: TComboBox
|
||||
Anchors = [akLeft, akTop, akRight]
|
||||
Position.X = 16.000000000000000000
|
||||
Position.Y = 476.000000000000000000
|
||||
Size.Width = 385.000000000000000000
|
||||
Size.Height = 32.000000000000000000
|
||||
Size.PlatformDefault = False
|
||||
StyleLookup = 'comboboxstyle'
|
||||
TabOrder = 6
|
||||
end
|
||||
object CheckBoxLiveCalc: TCheckBox
|
||||
Anchors = [akLeft, akTop, akRight]
|
||||
Position.X = 16.000000000000000000
|
||||
Position.Y = 528.000000000000000000
|
||||
Size.Width = 385.000000000000000000
|
||||
Size.Height = 19.000000000000000000
|
||||
Size.PlatformDefault = False
|
||||
StyleLookup = 'checkboxstyle'
|
||||
TabOrder = 7
|
||||
Text = 'Live calculation'
|
||||
end
|
||||
object Label8: TLabel
|
||||
AutoSize = True
|
||||
Position.X = 16.000000000000000000
|
||||
Position.Y = 568.000000000000000000
|
||||
Size.Width = 93.000000000000000000
|
||||
Size.Height = 16.000000000000000000
|
||||
Size.PlatformDefault = False
|
||||
StyleLookup = 'labelstyle'
|
||||
TextSettings.WordWrap = False
|
||||
Text = 'Cipher properties'
|
||||
end
|
||||
object StringGridContext: TStringGrid
|
||||
Anchors = [akLeft, akTop, akRight]
|
||||
CanFocus = True
|
||||
ClipChildren = True
|
||||
Position.X = 16.000000000000000000
|
||||
Position.Y = 600.000000000000000000
|
||||
Size.Width = 385.000000000000000000
|
||||
Size.Height = 100.000000000000000000
|
||||
Size.PlatformDefault = False
|
||||
StyleLookup = 'gridstyle'
|
||||
TabOrder = 8
|
||||
Viewport.Width = 365.000000000000000000
|
||||
Viewport.Height = 75.000000000000000000
|
||||
object StringColumn1: TStringColumn
|
||||
Header = 'Property'
|
||||
Size.Width = 250.000000000000000000
|
||||
end
|
||||
object StringColumn2: TStringColumn
|
||||
Header = 'Value'
|
||||
end
|
||||
end
|
||||
object Label9: TLabel
|
||||
AutoSize = True
|
||||
Position.X = 16.000000000000000000
|
||||
Position.Y = 720.000000000000000000
|
||||
Size.Width = 49.000000000000000000
|
||||
Size.Height = 16.000000000000000000
|
||||
Size.PlatformDefault = False
|
||||
StyleLookup = 'labelstyle'
|
||||
TextSettings.WordWrap = False
|
||||
Text = 'Plain text'
|
||||
end
|
||||
object Label10: TLabel
|
||||
AutoSize = True
|
||||
Position.X = 16.000000000000000000
|
||||
Position.Y = 784.000000000000000000
|
||||
Size.Width = 58.000000000000000000
|
||||
Size.Height = 16.000000000000000000
|
||||
Size.PlatformDefault = False
|
||||
StyleLookup = 'labelstyle'
|
||||
TextSettings.WordWrap = False
|
||||
Text = 'Cipher text'
|
||||
end
|
||||
object EditPlainText: TEdit
|
||||
Touch.InteractiveGestures = [LongTap, DoubleTap]
|
||||
Anchors = [akLeft, akTop, akRight]
|
||||
StyleLookup = 'editstyle'
|
||||
TabOrder = 9
|
||||
Position.X = 16.000000000000000000
|
||||
Position.Y = 752.000000000000000000
|
||||
Size.Width = 385.000000000000000000
|
||||
Size.Height = 22.000000000000000000
|
||||
Size.PlatformDefault = False
|
||||
OnChangeTracking = EditPlainTextChangeTracking
|
||||
end
|
||||
object EditCipherText: TEdit
|
||||
Touch.InteractiveGestures = [LongTap, DoubleTap]
|
||||
Anchors = [akLeft, akTop, akRight]
|
||||
StyleLookup = 'editstyle'
|
||||
TabOrder = 10
|
||||
Position.X = 16.000000000000000000
|
||||
Position.Y = 816.000000000000000000
|
||||
Size.Width = 385.000000000000000000
|
||||
Size.Height = 22.000000000000000000
|
||||
Size.PlatformDefault = False
|
||||
end
|
||||
object ButtonEncrypt: TButton
|
||||
Anchors = [akLeft, akTop, akRight]
|
||||
Position.X = 16.000000000000000000
|
||||
Position.Y = 864.000000000000000000
|
||||
Size.Width = 385.000000000000000000
|
||||
Size.Height = 33.000000000000000000
|
||||
Size.PlatformDefault = False
|
||||
StyleLookup = 'buttonstyle'
|
||||
TabOrder = 11
|
||||
Text = 'Encrypt'
|
||||
OnClick = ButtonEncryptClick
|
||||
end
|
||||
object ButtonDecrypt: TButton
|
||||
Anchors = [akLeft, akTop, akRight]
|
||||
Position.X = 16.000000000000000000
|
||||
Position.Y = 920.000000000000000000
|
||||
Size.Width = 385.000000000000000000
|
||||
Size.Height = 33.000000000000000000
|
||||
Size.PlatformDefault = False
|
||||
StyleLookup = 'buttonstyle'
|
||||
TabOrder = 12
|
||||
Text = 'Decrypt'
|
||||
OnClick = ButtonDecryptClick
|
||||
end
|
||||
object LabelVersion: TLabel
|
||||
AutoSize = True
|
||||
Position.X = 16.000000000000000000
|
||||
Position.Y = 968.000000000000000000
|
||||
Size.Width = 178.000000000000000000
|
||||
Size.Height = 16.000000000000000000
|
||||
Size.PlatformDefault = False
|
||||
StyleLookup = 'labelstyle'
|
||||
TextSettings.WordWrap = False
|
||||
Text = #169' 2018-2021 by Team DEC V%0:s'
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
397
contrib/DelphiEncryptionCompendium/Demos/Cipher_FMX/MainForm.pas
Normal file
@@ -0,0 +1,397 @@
|
||||
{*****************************************************************************
|
||||
The DEC team (see file NOTICE.txt) licenses this file
|
||||
to you under the Apache License, Version 2.0 (the
|
||||
"License"); you may not use this file except in compliance
|
||||
with the License. A copy of this licence is found in the root directory of
|
||||
this project in the file LICENCE.txt or alternatively at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing,
|
||||
software distributed under the License is distributed on an
|
||||
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||||
KIND, either express or implied. See the License for the
|
||||
specific language governing permissions and limitations
|
||||
under the License.
|
||||
*****************************************************************************}
|
||||
|
||||
unit MainForm;
|
||||
|
||||
interface
|
||||
|
||||
uses
|
||||
System.SysUtils, System.Types, System.UITypes, System.Classes, System.Variants,
|
||||
FMX.Types, FMX.Controls, FMX.Forms, FMX.Graphics, FMX.Dialogs, FMX.Layouts,
|
||||
FMX.StdCtrls, FMX.ListBox, FMX.Controls.Presentation, FMX.Edit, System.Rtti,
|
||||
{$IF RTLVersion < 31}
|
||||
{$ELSE}
|
||||
FMX.Grid.Style,
|
||||
{$ENDIF}
|
||||
FMX.Grid, FMX.ScrollBox, DECCipherBase, DECFormatBase;
|
||||
|
||||
type
|
||||
/// <summary>
|
||||
/// Form of the cross platform FMX Cipher demo
|
||||
/// </summary>
|
||||
TFormMain = class(TForm)
|
||||
VertScrollBox1: TVertScrollBox;
|
||||
LayoutTop: TLayout;
|
||||
Label2: TLabel;
|
||||
ComboBoxCipherAlgorithm: TComboBox;
|
||||
Label5: TLabel;
|
||||
ComboBoxInputFormatting: TComboBox;
|
||||
Label6: TLabel;
|
||||
ComboBoxOutputFormatting: TComboBox;
|
||||
Label1: TLabel;
|
||||
EditKey: TEdit;
|
||||
Label3: TLabel;
|
||||
EditInitVector: TEdit;
|
||||
Label4: TLabel;
|
||||
EditFiller: TEdit;
|
||||
Label7: TLabel;
|
||||
ComboBoxChainingMethod: TComboBox;
|
||||
CheckBoxLiveCalc: TCheckBox;
|
||||
Label8: TLabel;
|
||||
StringGridContext: TStringGrid;
|
||||
StringColumn1: TStringColumn;
|
||||
StringColumn2: TStringColumn;
|
||||
Label9: TLabel;
|
||||
Label10: TLabel;
|
||||
EditPlainText: TEdit;
|
||||
EditCipherText: TEdit;
|
||||
ButtonEncrypt: TButton;
|
||||
ButtonDecrypt: TButton;
|
||||
LabelVersion: TLabel;
|
||||
procedure FormResize(Sender: TObject);
|
||||
procedure FormCreate(Sender: TObject);
|
||||
procedure ComboBoxCipherAlgorithmChange(Sender: TObject);
|
||||
procedure ButtonEncryptClick(Sender: TObject);
|
||||
procedure EditPlainTextChangeTracking(Sender: TObject);
|
||||
procedure ButtonDecryptClick(Sender: TObject);
|
||||
private
|
||||
procedure InitFormatCombos;
|
||||
procedure InitCipherCombo;
|
||||
procedure InitCipherModes;
|
||||
procedure ShowErrorMessage(ErrorMsg: string);
|
||||
function GetSelectedCipherMode: TCipherMode;
|
||||
function GetSettings(var InputFormatting : TDECFormatClass;
|
||||
var OutputFormatting : TDECFormatClass): Boolean;
|
||||
function GetCipherAlgorithm(var Cipher: TDECCipher): Boolean;
|
||||
public
|
||||
end;
|
||||
|
||||
var
|
||||
FormMain: TFormMain;
|
||||
|
||||
implementation
|
||||
|
||||
uses
|
||||
System.TypInfo, Generics.Collections, FMX.Platform,
|
||||
DECBaseClass, DECFormat, DECCipherModes,
|
||||
DECCipherFormats, DECCiphers, DECUtil
|
||||
{$IFDEF Android}
|
||||
,
|
||||
Androidapi.JNI.GraphicsContentViewText,
|
||||
Androidapi.Helpers,
|
||||
Androidapi.JNI.App
|
||||
{$ENDIF};
|
||||
|
||||
{$R *.fmx}
|
||||
|
||||
procedure TFormMain.ButtonDecryptClick(Sender: TObject);
|
||||
var
|
||||
Cipher : TDECCipher;
|
||||
InputFormatting : TDECFormatClass;
|
||||
OutputFormatting : TDECFormatClass;
|
||||
InputBuffer : TBytes;
|
||||
OutputBuffer : TBytes;
|
||||
begin
|
||||
if not GetSettings(InputFormatting, OutputFormatting) then
|
||||
exit;
|
||||
|
||||
if ComboBoxCipherAlgorithm.ItemIndex >= 0 then
|
||||
begin
|
||||
if not GetCipherAlgorithm(Cipher) then
|
||||
exit;
|
||||
|
||||
try
|
||||
InputBuffer := System.SysUtils.BytesOf(EditCipherText.Text);
|
||||
|
||||
if InputFormatting.IsValid(InputBuffer) then
|
||||
begin
|
||||
OutputBuffer := (Cipher as TDECFormattedCipher).DecodeBytes(InputFormatting.Decode(InputBuffer));
|
||||
|
||||
EditPlainText.Text := string(DECUtil.BytesToRawString(OutputFormatting.Encode(OutputBuffer)));
|
||||
end
|
||||
else
|
||||
ShowErrorMessage('Input has wrong format');
|
||||
finally
|
||||
Cipher.Free;
|
||||
end;
|
||||
end
|
||||
else
|
||||
ShowErrorMessage('No cipher algorithm selected');
|
||||
end;
|
||||
|
||||
procedure TFormMain.ButtonEncryptClick(Sender: TObject);
|
||||
var
|
||||
Cipher : TDECCipher;
|
||||
InputFormatting : TDECFormatClass;
|
||||
OutputFormatting : TDECFormatClass;
|
||||
InputBuffer : TBytes;
|
||||
OutputBuffer : TBytes;
|
||||
begin
|
||||
if not GetSettings(InputFormatting, OutputFormatting) then
|
||||
exit;
|
||||
|
||||
if ComboBoxCipherAlgorithm.ItemIndex >= 0 then
|
||||
begin
|
||||
if not GetCipherAlgorithm(Cipher) then
|
||||
exit;
|
||||
|
||||
try
|
||||
InputBuffer := System.SysUtils.BytesOf(EditPlainText.Text);
|
||||
|
||||
if InputFormatting.IsValid(InputBuffer) then
|
||||
begin
|
||||
OutputBuffer := (Cipher as TDECFormattedCipher).EncodeBytes(InputFormatting.Decode(InputBuffer));
|
||||
|
||||
EditCipherText.Text := string(DECUtil.BytesToRawString(OutputFormatting.Encode(OutputBuffer)));
|
||||
end
|
||||
else
|
||||
ShowErrorMessage('Input has wrong format');
|
||||
finally
|
||||
Cipher.Free;
|
||||
end;
|
||||
end
|
||||
else
|
||||
ShowErrorMessage('No cipher algorithm selected');
|
||||
end;
|
||||
|
||||
function TFormMain.GetSettings(var InputFormatting : TDECFormatClass;
|
||||
var OutputFormatting : TDECFormatClass): Boolean;
|
||||
begin
|
||||
result := false;
|
||||
|
||||
if ComboBoxInputFormatting.ItemIndex >= 0 then
|
||||
begin
|
||||
// Find the class type of the selected formatting class and create an instance of it
|
||||
InputFormatting := TDECFormat.ClassByName(
|
||||
ComboBoxInputFormatting.Items[ComboBoxInputFormatting.ItemIndex]);
|
||||
end
|
||||
else
|
||||
begin
|
||||
ShowErrorMessage('No input format selected');
|
||||
exit;
|
||||
end;
|
||||
|
||||
if ComboBoxOutputFormatting.ItemIndex >= 0 then
|
||||
begin
|
||||
// Find the class type of the selected formatting class and create an instance of it
|
||||
OutputFormatting := TDECFormat.ClassByName(
|
||||
ComboBoxOutputFormatting.Items[ComboBoxOutputFormatting.ItemIndex]);
|
||||
end
|
||||
else
|
||||
begin
|
||||
ShowErrorMessage('No output format selected');
|
||||
exit;
|
||||
end;
|
||||
|
||||
if EditKey.Text.IsEmpty or EditInitVector.Text.IsEmpty or EditFiller.Text.IsEmpty then
|
||||
begin
|
||||
ShowErrorMessage('No key, initialization vector or filler byte given');
|
||||
exit;
|
||||
end;
|
||||
|
||||
result := true;
|
||||
end;
|
||||
|
||||
function TFormMain.GetCipherAlgorithm(var Cipher : TDECCipher):Boolean;
|
||||
begin
|
||||
result := false;
|
||||
|
||||
// Find the class type of the selected cipher class and create an instance of it
|
||||
Cipher := TDECCipher.ClassByName(
|
||||
ComboBoxCipherAlgorithm.Items[ComboBoxCipherAlgorithm.ItemIndex]).Create;
|
||||
|
||||
if TFormat_HEX.IsValid(RawByteString(EditInitVector.Text)) and
|
||||
TFormat_HEX.IsValid(RawByteString(EditFiller.Text)) then
|
||||
begin
|
||||
Cipher.Init(RawByteString(EditKey.Text),
|
||||
TFormat_HEX.Decode(RawByteString(EditInitVector.Text)),
|
||||
StrToInt('0x' + EditFiller.Text));
|
||||
|
||||
Cipher.Mode := GetSelectedCipherMode;
|
||||
end
|
||||
else
|
||||
begin
|
||||
ShowErrorMessage('Init vector or filler byte not given in hexadecimal representation');
|
||||
exit;
|
||||
end;
|
||||
|
||||
result := true;
|
||||
end;
|
||||
|
||||
function TFormMain.GetSelectedCipherMode:TCipherMode;
|
||||
begin
|
||||
// Determine selected block chaining method via RTTI (runtime type information)
|
||||
result := TCipherMode(System.TypInfo.GetEnumValue(
|
||||
TypeInfo(TCipherMode),
|
||||
ComboBoxChainingMethod.Items[ComboBoxChainingMethod.ItemIndex]));
|
||||
end;
|
||||
|
||||
procedure TFormMain.ShowErrorMessage(ErrorMsg: string);
|
||||
{$IF RTLVersion > 30}
|
||||
var
|
||||
AsyncDlg : IFMXDialogServiceASync;
|
||||
{$ENDIF}
|
||||
begin
|
||||
{$IF RTLVersion > 30}
|
||||
if TPlatformServices.Current.SupportsPlatformService(IFMXDialogServiceAsync,
|
||||
IInterface(AsyncDlg)) then
|
||||
AsyncDlg.MessageDialogAsync(Translate(ErrorMsg),
|
||||
TMsgDlgType.mtError, [TMsgDlgBtn.mbOk], TMsgDlgBtn.mbOk, 0,
|
||||
procedure (const AResult: TModalResult)
|
||||
begin
|
||||
end);
|
||||
{$ELSE}
|
||||
MessageDlg(Translate(ErrorMsg),
|
||||
TMsgDlgType.mtError, [TMsgDlgBtn.mbOk], 0);
|
||||
{$ENDIF}
|
||||
end;
|
||||
|
||||
procedure TFormMain.ComboBoxCipherAlgorithmChange(Sender: TObject);
|
||||
var
|
||||
Context : TCipherContext;
|
||||
begin
|
||||
Context := TDECCipher.ClassByName(
|
||||
ComboBoxCipherAlgorithm.Items[ComboBoxCipherAlgorithm.ItemIndex]).Context;
|
||||
|
||||
StringGridContext.RowCount := 7;
|
||||
StringGridContext.Cells[0, 0] := 'Key size (bit)';
|
||||
StringGridContext.Cells[0, 1] := 'Block size (bit)';
|
||||
StringGridContext.Cells[0, 2] := 'Buffer size (bit)';
|
||||
StringGridContext.Cells[0, 3] := 'User size (bit)';
|
||||
StringGridContext.Cells[0, 4] := 'User save';
|
||||
StringGridContext.Cells[0, 5] := 'Cipher mode';
|
||||
StringGridContext.Cells[0, 6] := 'Cipher key';
|
||||
|
||||
StringGridContext.Cells[1, 0] := IntToStr(Context.KeySize*8);
|
||||
StringGridContext.Cells[1, 1] := IntToStr(Context.BlockSize*8);
|
||||
StringGridContext.Cells[1, 2] := IntToStr(Context.BufferSize*8);
|
||||
StringGridContext.Cells[1, 3] := IntToStr(Context.AdditionalBufferSize*8);
|
||||
StringGridContext.Cells[1, 4] := BoolToStr(Context.NeedsAdditionalBufferBackup, true);
|
||||
|
||||
if ctBlock in Context.CipherType then
|
||||
StringGridContext.Cells[1, 5] := 'block cipher'
|
||||
else
|
||||
StringGridContext.Cells[1, 5] := 'stream cipher';
|
||||
|
||||
if ctSymmetric in Context.CipherType then
|
||||
StringGridContext.Cells[1, 6] := 'symmetric'
|
||||
else
|
||||
StringGridContext.Cells[1, 6] := 'asymmetric';
|
||||
end;
|
||||
|
||||
procedure TFormMain.EditPlainTextChangeTracking(Sender: TObject);
|
||||
begin
|
||||
if CheckBoxLiveCalc.IsChecked then
|
||||
ButtonEncryptClick(self)
|
||||
end;
|
||||
|
||||
procedure TFormMain.FormCreate(Sender: TObject);
|
||||
var
|
||||
AppService : IFMXApplicationService;
|
||||
begin
|
||||
if TPlatformServices.Current.SupportsPlatformService(IFMXApplicationService,
|
||||
IInterface(AppService)) then
|
||||
LabelVersion.Text := format(LabelVersion.Text, [AppService.AppVersion])
|
||||
else
|
||||
LabelVersion.Text := format(LabelVersion.Text, ['']);
|
||||
|
||||
InitFormatCombos;
|
||||
InitCipherCombo;
|
||||
InitCipherModes;
|
||||
end;
|
||||
|
||||
procedure TFormMain.FormResize(Sender: TObject);
|
||||
begin
|
||||
LayoutTop.Width := VertScrollBox1.Width;
|
||||
end;
|
||||
|
||||
procedure TFormMain.InitFormatCombos;
|
||||
var
|
||||
MyClass : TPair<Int64, TDECClass>;
|
||||
Formats : TStringList;
|
||||
CopyIdx : Integer;
|
||||
begin
|
||||
Formats := TStringList.Create;
|
||||
|
||||
try
|
||||
for MyClass in TDECFormat.ClassList do
|
||||
Formats.Add(MyClass.Value.ClassName);
|
||||
|
||||
Formats.Sort;
|
||||
ComboBoxInputFormatting.Items.AddStrings(Formats);
|
||||
ComboBoxOutputFormatting.Items.AddStrings(Formats);
|
||||
|
||||
if Formats.Count > 0 then
|
||||
begin
|
||||
if Formats.Find('TFormat_Copy', CopyIdx) then
|
||||
begin
|
||||
ComboBoxInputFormatting.ItemIndex := CopyIdx;
|
||||
ComboBoxOutputFormatting.ItemIndex := CopyIdx;
|
||||
end
|
||||
else
|
||||
begin
|
||||
ComboBoxInputFormatting.ItemIndex := 0;
|
||||
ComboBoxOutputFormatting.ItemIndex := 0;
|
||||
end;
|
||||
end;
|
||||
finally
|
||||
Formats.Free;
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure TFormMain.InitCipherCombo;
|
||||
var
|
||||
MyClass : TPair<Int64, TDECClass>;
|
||||
Ciphers : TStringList;
|
||||
begin
|
||||
Ciphers := TStringList.Create;
|
||||
|
||||
try
|
||||
// Alternatively you can use TDECCipher.ClassList.GetClassList(Ciphers); but
|
||||
// then it's harder to remove TCipher_Null from the list
|
||||
for MyClass in TDECCipher.ClassList do
|
||||
begin
|
||||
if (MyClass.Value <> TCipher_Null) then
|
||||
Ciphers.Add(MyClass.Value.ClassName);
|
||||
end;
|
||||
|
||||
Ciphers.Sort;
|
||||
ComboBoxCipherAlgorithm.Items.AddStrings(Ciphers);
|
||||
|
||||
if Ciphers.Count > 0 then
|
||||
ComboBoxCipherAlgorithm.ItemIndex := 0;
|
||||
finally
|
||||
Ciphers.Free;
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure TFormMain.InitCipherModes;
|
||||
var
|
||||
Mode : TCipherMode;
|
||||
begin
|
||||
for Mode := low(TCipherMode) to high(TCipherMode) do
|
||||
begin
|
||||
ComboBoxChainingMethod.Items.Add(System.TypInfo.GetEnumName(
|
||||
TypeInfo(TCipherMode),
|
||||
Integer(Mode)));
|
||||
end;
|
||||
|
||||
if ComboBoxChainingMethod.Items.Count > 0 then
|
||||
ComboBoxChainingMethod.ItemIndex := 0;
|
||||
end;
|
||||
|
||||
end.
|
@@ -0,0 +1,51 @@
|
||||
{*****************************************************************************
|
||||
The DEC team (see file NOTICE.txt) licenses this file
|
||||
to you under the Apache License, Version 2.0 (the
|
||||
"License"); you may not use this file except in compliance
|
||||
with the License. A copy of this licence is found in the root directory of
|
||||
this project in the file LICENCE.txt or alternatively at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing,
|
||||
software distributed under the License is distributed on an
|
||||
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||||
KIND, either express or implied. See the License for the
|
||||
specific language governing permissions and limitations
|
||||
under the License.
|
||||
*****************************************************************************}
|
||||
|
||||
/// <summary>
|
||||
/// Most simple demonstration of DEC formatting routines
|
||||
/// </summary>
|
||||
program Format_Console;
|
||||
|
||||
{$APPTYPE CONSOLE}
|
||||
|
||||
{$R *.res}
|
||||
|
||||
uses
|
||||
System.SysUtils,
|
||||
DECFormat;
|
||||
|
||||
var
|
||||
s, s1 : string;
|
||||
|
||||
begin
|
||||
try
|
||||
s := 'Hello world!';
|
||||
// Convert the string to be encoded in a byte array
|
||||
// and te result into a string for output
|
||||
s1 := System.SysUtils.StringOf(TFormat_HEX.Encode(System.SysUtils.BytesOf(s)));
|
||||
WriteLn(s + ' encoded in hex is: ' + s1);
|
||||
|
||||
// the same for decoding
|
||||
WriteLn('Hex ' + s1 + ' is ' +
|
||||
System.SysUtils.StringOf(TFormat_HEX.Decode(System.SysUtils.BytesOf(s1))) +
|
||||
' unencoded');
|
||||
ReadLn;
|
||||
except
|
||||
on E: Exception do
|
||||
Writeln(E.ClassName, ': ', E.Message);
|
||||
end;
|
||||
end.
|
@@ -0,0 +1,45 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- BEGIN_INCLUDE(manifest) -->
|
||||
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
package="%package%"
|
||||
android:versionCode="%versionCode%"
|
||||
android:versionName="%versionName%"
|
||||
android:installLocation="%installLocation%">
|
||||
|
||||
<uses-sdk android:minSdkVersion="%minSdkVersion%" android:targetSdkVersion="%targetSdkVersion%" />
|
||||
<%uses-permission%>
|
||||
<uses-feature android:glEsVersion="0x00020000" android:required="True"/>
|
||||
<application android:persistent="%persistent%"
|
||||
android:restoreAnyVersion="%restoreAnyVersion%"
|
||||
android:label="%label%"
|
||||
android:debuggable="%debuggable%"
|
||||
android:largeHeap="%largeHeap%"
|
||||
android:icon="%icon%"
|
||||
android:theme="%theme%"
|
||||
android:hardwareAccelerated="%hardwareAccelerated%"
|
||||
android:resizeableActivity="false"
|
||||
android:requestLegacyExternalStorage="true">
|
||||
|
||||
<%provider%>
|
||||
<%application-meta-data%>
|
||||
<%uses-libraries%>
|
||||
<%services%>
|
||||
<!-- Our activity is a subclass of the built-in NativeActivity framework class.
|
||||
This will take care of integrating with our NDK code. -->
|
||||
<activity android:name="com.embarcadero.firemonkey.FMXNativeActivity"
|
||||
android:label="%activityLabel%"
|
||||
android:configChanges="orientation|keyboard|keyboardHidden|screenSize"
|
||||
android:launchMode="singleTask">
|
||||
<!-- Tell NativeActivity the name of our .so -->
|
||||
<meta-data android:name="android.app.lib_name"
|
||||
android:value="%libNameValue%" />
|
||||
<intent-filter>
|
||||
<action android:name="android.intent.action.MAIN" />
|
||||
<category android:name="android.intent.category.LAUNCHER" />
|
||||
</intent-filter>
|
||||
</activity>
|
||||
<%activity%>
|
||||
<%receivers%>
|
||||
</application>
|
||||
</manifest>
|
||||
<!-- END_INCLUDE(manifest) -->
|
After Width: | Height: | Size: 282 KiB |
After Width: | Height: | Size: 308 KiB |
After Width: | Height: | Size: 580 KiB |
After Width: | Height: | Size: 1.1 MiB |
After Width: | Height: | Size: 151 KiB |
After Width: | Height: | Size: 14 KiB |
After Width: | Height: | Size: 24 KiB |
After Width: | Height: | Size: 31 KiB |
After Width: | Height: | Size: 1.9 KiB |
After Width: | Height: | Size: 3.2 KiB |
After Width: | Height: | Size: 5.7 KiB |
After Width: | Height: | Size: 7.2 KiB |
@@ -0,0 +1,261 @@
|
||||
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<Import Condition="Exists('$(BDS)\bin\CodeGear.Deployment.targets')" Project="$(BDS)\bin\CodeGear.Deployment.targets"/>
|
||||
<ProjectExtensions>
|
||||
<ProjectFileVersion>12</ProjectFileVersion>
|
||||
</ProjectExtensions>
|
||||
<PropertyGroup>
|
||||
<DeviceId Condition="'$(Platform)'=='Android'"/>
|
||||
<DeviceId Condition="'$(Platform)'=='Android64'">CB512EA59X</DeviceId>
|
||||
</PropertyGroup>
|
||||
<ItemGroup Condition="'$(Platform)'=='Win32'">
|
||||
<DeployFile Include="Win32\Debug\HashBenchmark.exe" Condition="'$(Config)'=='Debug'">
|
||||
<RemoteDir>HashBenchmark\</RemoteDir>
|
||||
<RemoteName>HashBenchmark.exe</RemoteName>
|
||||
<DeployClass>ProjectOutput</DeployClass>
|
||||
<Operation>0</Operation>
|
||||
<LocalCommand/>
|
||||
<RemoteCommand/>
|
||||
<Overwrite>True</Overwrite>
|
||||
<Required>True</Required>
|
||||
</DeployFile>
|
||||
</ItemGroup>
|
||||
<ItemGroup Condition="'$(Platform)'=='Win64'"/>
|
||||
<ItemGroup Condition="'$(Platform)'=='Android'"/>
|
||||
<ItemGroup Condition="'$(Platform)'=='Android64'">
|
||||
<DeployFile Include="Crypto_426_320.png" Condition="'$(Config)'=='Debug'">
|
||||
<RemoteDir>HashBenchmark\res\drawable-small\</RemoteDir>
|
||||
<RemoteName>splash_image.png</RemoteName>
|
||||
<DeployClass>Android_SplashImage426</DeployClass>
|
||||
<Operation>1</Operation>
|
||||
<LocalCommand/>
|
||||
<RemoteCommand/>
|
||||
<Overwrite>True</Overwrite>
|
||||
</DeployFile>
|
||||
<DeployFile Include="$(BDS)\bin\Artwork\Android\FM_NotificationIcon_48x48.png" Condition="'$(Config)'=='Debug'">
|
||||
<RemoteDir>HashBenchmark\res\drawable-xhdpi\</RemoteDir>
|
||||
<RemoteName>ic_notification.png</RemoteName>
|
||||
<DeployClass>Android_NotificationIcon48</DeployClass>
|
||||
<Operation>1</Operation>
|
||||
<LocalCommand/>
|
||||
<RemoteCommand/>
|
||||
<Overwrite>True</Overwrite>
|
||||
</DeployFile>
|
||||
<DeployFile Include="Hash36.png" Condition="'$(Config)'=='Debug'">
|
||||
<RemoteDir>HashBenchmark\res\drawable-ldpi\</RemoteDir>
|
||||
<RemoteName>ic_launcher.png</RemoteName>
|
||||
<DeployClass>Android_LauncherIcon36</DeployClass>
|
||||
<Operation>1</Operation>
|
||||
<LocalCommand/>
|
||||
<RemoteCommand/>
|
||||
<Overwrite>True</Overwrite>
|
||||
</DeployFile>
|
||||
<DeployFile Include="$(BDS)\bin\Artwork\Android\FM_NotificationIcon_96x96.png" Condition="'$(Config)'=='Debug'">
|
||||
<RemoteDir>HashBenchmark\res\drawable-xxxhdpi\</RemoteDir>
|
||||
<RemoteName>ic_notification.png</RemoteName>
|
||||
<DeployClass>Android_NotificationIcon96</DeployClass>
|
||||
<Operation>1</Operation>
|
||||
<LocalCommand/>
|
||||
<RemoteCommand/>
|
||||
<Overwrite>True</Overwrite>
|
||||
</DeployFile>
|
||||
<DeployFile Include="$(BDS)\bin\Artwork\Android\FM_NotificationIcon_72x72.png" Condition="'$(Config)'=='Debug'">
|
||||
<RemoteDir>HashBenchmark\res\drawable-xxhdpi\</RemoteDir>
|
||||
<RemoteName>ic_notification.png</RemoteName>
|
||||
<DeployClass>Android_NotificationIcon72</DeployClass>
|
||||
<Operation>1</Operation>
|
||||
<LocalCommand/>
|
||||
<RemoteCommand/>
|
||||
<Overwrite>True</Overwrite>
|
||||
</DeployFile>
|
||||
<DeployFile Include="$(BDS)\lib\android\debug\armeabi-v7a\libnative-activity.so" Condition="'$(Config)'=='Debug'">
|
||||
<RemoteDir>HashBenchmark\library\lib\armeabi-v7a\</RemoteDir>
|
||||
<RemoteName>libHashBenchmark.so</RemoteName>
|
||||
<DeployClass>AndroidLibnativeArmeabiv7aFile</DeployClass>
|
||||
<Operation>1</Operation>
|
||||
<LocalCommand/>
|
||||
<RemoteCommand/>
|
||||
<Overwrite>True</Overwrite>
|
||||
</DeployFile>
|
||||
<DeployFile Include="Hash144.png" Condition="'$(Config)'=='Debug'">
|
||||
<RemoteDir>HashBenchmark\res\drawable-xxhdpi\</RemoteDir>
|
||||
<RemoteName>ic_launcher.png</RemoteName>
|
||||
<DeployClass>Android_LauncherIcon144</DeployClass>
|
||||
<Operation>1</Operation>
|
||||
<LocalCommand/>
|
||||
<RemoteCommand/>
|
||||
<Overwrite>True</Overwrite>
|
||||
</DeployFile>
|
||||
<DeployFile Include="$(BDS)\lib\android\debug\mips\libnative-activity.so" Condition="'$(Config)'=='Debug'">
|
||||
<RemoteDir>HashBenchmark\library\lib\mips\</RemoteDir>
|
||||
<RemoteName>libHashBenchmark.so</RemoteName>
|
||||
<DeployClass>AndroidLibnativeMipsFile</DeployClass>
|
||||
<Operation>1</Operation>
|
||||
<LocalCommand/>
|
||||
<RemoteCommand/>
|
||||
<Overwrite>True</Overwrite>
|
||||
</DeployFile>
|
||||
<DeployFile Include="$(BDS)\lib\android\debug\armeabi\libnative-activity.so" Condition="'$(Config)'=='Debug'">
|
||||
<RemoteDir>HashBenchmark\library\lib\armeabi\</RemoteDir>
|
||||
<RemoteName>libHashBenchmark.so</RemoteName>
|
||||
<DeployClass>AndroidLibnativeArmeabiFile</DeployClass>
|
||||
<Operation>1</Operation>
|
||||
<LocalCommand/>
|
||||
<RemoteCommand/>
|
||||
<Overwrite>True</Overwrite>
|
||||
</DeployFile>
|
||||
<DeployFile Include="Crypto_470_320.png" Condition="'$(Config)'=='Debug'">
|
||||
<RemoteDir>HashBenchmark\res\drawable-normal\</RemoteDir>
|
||||
<RemoteName>splash_image.png</RemoteName>
|
||||
<DeployClass>Android_SplashImage470</DeployClass>
|
||||
<Operation>1</Operation>
|
||||
<LocalCommand/>
|
||||
<RemoteCommand/>
|
||||
<Overwrite>True</Overwrite>
|
||||
</DeployFile>
|
||||
<DeployFile Include="Hash96.png" Condition="'$(Config)'=='Debug'">
|
||||
<RemoteDir>HashBenchmark\res\drawable-xhdpi\</RemoteDir>
|
||||
<RemoteName>ic_launcher.png</RemoteName>
|
||||
<DeployClass>Android_LauncherIcon96</DeployClass>
|
||||
<Operation>1</Operation>
|
||||
<LocalCommand/>
|
||||
<RemoteCommand/>
|
||||
<Overwrite>True</Overwrite>
|
||||
</DeployFile>
|
||||
<DeployFile Include="Android64\Debug\colors.xml" Condition="'$(Config)'=='Debug'">
|
||||
<RemoteDir>HashBenchmark\res\values\</RemoteDir>
|
||||
<RemoteName>colors.xml</RemoteName>
|
||||
<DeployClass>Android_Colors</DeployClass>
|
||||
<Operation>1</Operation>
|
||||
<LocalCommand/>
|
||||
<RemoteCommand/>
|
||||
<Overwrite>True</Overwrite>
|
||||
</DeployFile>
|
||||
<DeployFile Include="Android64\Debug\AndroidManifest.xml" Condition="'$(Config)'=='Debug'">
|
||||
<RemoteDir>HashBenchmark\</RemoteDir>
|
||||
<RemoteName>AndroidManifest.xml</RemoteName>
|
||||
<DeployClass>ProjectAndroidManifest</DeployClass>
|
||||
<Operation>1</Operation>
|
||||
<LocalCommand/>
|
||||
<RemoteCommand/>
|
||||
<Overwrite>True</Overwrite>
|
||||
</DeployFile>
|
||||
<DeployFile Include="Android64\Debug\styles.xml" Condition="'$(Config)'=='Debug'">
|
||||
<RemoteDir>HashBenchmark\res\values\</RemoteDir>
|
||||
<RemoteName>styles.xml</RemoteName>
|
||||
<DeployClass>AndroidSplashStyles</DeployClass>
|
||||
<Operation>1</Operation>
|
||||
<LocalCommand/>
|
||||
<RemoteCommand/>
|
||||
<Overwrite>True</Overwrite>
|
||||
</DeployFile>
|
||||
<DeployFile Include="$(BDS)\bin\Artwork\Android\FM_NotificationIcon_24x24.png" Condition="'$(Config)'=='Debug'">
|
||||
<RemoteDir>HashBenchmark\res\drawable-mdpi\</RemoteDir>
|
||||
<RemoteName>ic_notification.png</RemoteName>
|
||||
<DeployClass>Android_NotificationIcon24</DeployClass>
|
||||
<Operation>1</Operation>
|
||||
<LocalCommand/>
|
||||
<RemoteCommand/>
|
||||
<Overwrite>True</Overwrite>
|
||||
</DeployFile>
|
||||
<DeployFile Include="$(BDS)\bin\Artwork\Android\FM_NotificationIcon_36x36.png" Condition="'$(Config)'=='Debug'">
|
||||
<RemoteDir>HashBenchmark\res\drawable-hdpi\</RemoteDir>
|
||||
<RemoteName>ic_notification.png</RemoteName>
|
||||
<DeployClass>Android_NotificationIcon36</DeployClass>
|
||||
<Operation>1</Operation>
|
||||
<LocalCommand/>
|
||||
<RemoteCommand/>
|
||||
<Overwrite>True</Overwrite>
|
||||
</DeployFile>
|
||||
<DeployFile Include="Android64\Debug\splash_image_def.xml" Condition="'$(Config)'=='Debug'">
|
||||
<RemoteDir>HashBenchmark\res\drawable\</RemoteDir>
|
||||
<RemoteName>splash_image_def.xml</RemoteName>
|
||||
<DeployClass>AndroidSplashImageDef</DeployClass>
|
||||
<Operation>1</Operation>
|
||||
<LocalCommand/>
|
||||
<RemoteCommand/>
|
||||
<Overwrite>True</Overwrite>
|
||||
</DeployFile>
|
||||
<DeployFile Include="Android64\Debug\libHashBenchmark.so" Condition="'$(Config)'=='Debug'">
|
||||
<RemoteDir>HashBenchmark\library\lib\arm64-v8a\</RemoteDir>
|
||||
<RemoteName>libHashBenchmark.so</RemoteName>
|
||||
<DeployClass>ProjectOutput</DeployClass>
|
||||
<Operation>1</Operation>
|
||||
<LocalCommand/>
|
||||
<RemoteCommand/>
|
||||
<Overwrite>True</Overwrite>
|
||||
<Required>True</Required>
|
||||
</DeployFile>
|
||||
<DeployFile Include="Android64\Debug\classes.dex" Condition="'$(Config)'=='Debug'">
|
||||
<RemoteDir>HashBenchmark\classes\</RemoteDir>
|
||||
<RemoteName>classes.dex</RemoteName>
|
||||
<DeployClass>AndroidClassesDexFile</DeployClass>
|
||||
<Operation>1</Operation>
|
||||
<LocalCommand/>
|
||||
<RemoteCommand/>
|
||||
<Overwrite>True</Overwrite>
|
||||
</DeployFile>
|
||||
<DeployFile Include="Crypto_640_480.png" Condition="'$(Config)'=='Debug'">
|
||||
<RemoteDir>HashBenchmark\res\drawable-large\</RemoteDir>
|
||||
<RemoteName>splash_image.png</RemoteName>
|
||||
<DeployClass>Android_SplashImage640</DeployClass>
|
||||
<Operation>1</Operation>
|
||||
<LocalCommand/>
|
||||
<RemoteCommand/>
|
||||
<Overwrite>True</Overwrite>
|
||||
</DeployFile>
|
||||
<DeployFile Include="Hash72.png" Condition="'$(Config)'=='Debug'">
|
||||
<RemoteDir>HashBenchmark\res\drawable-hdpi\</RemoteDir>
|
||||
<RemoteName>ic_launcher.png</RemoteName>
|
||||
<DeployClass>Android_LauncherIcon72</DeployClass>
|
||||
<Operation>1</Operation>
|
||||
<LocalCommand/>
|
||||
<RemoteCommand/>
|
||||
<Overwrite>True</Overwrite>
|
||||
</DeployFile>
|
||||
<DeployFile Include="Android64\Debug\styles-v21.xml" Condition="'$(Config)'=='Debug'">
|
||||
<RemoteDir>HashBenchmark\res\values-v21\</RemoteDir>
|
||||
<RemoteName>styles.xml</RemoteName>
|
||||
<DeployClass>AndroidSplashStylesV21</DeployClass>
|
||||
<Operation>1</Operation>
|
||||
<LocalCommand/>
|
||||
<RemoteCommand/>
|
||||
<Overwrite>True</Overwrite>
|
||||
</DeployFile>
|
||||
<DeployFile Include="Android64\Debug\strings.xml" Condition="'$(Config)'=='Debug'">
|
||||
<RemoteDir>HashBenchmark\res\values\</RemoteDir>
|
||||
<RemoteName>strings.xml</RemoteName>
|
||||
<DeployClass>Android_Strings</DeployClass>
|
||||
<Operation>1</Operation>
|
||||
<LocalCommand/>
|
||||
<RemoteCommand/>
|
||||
<Overwrite>True</Overwrite>
|
||||
</DeployFile>
|
||||
<DeployFile Include="Hash48.png" Condition="'$(Config)'=='Debug'">
|
||||
<RemoteDir>HashBenchmark\res\drawable-mdpi\</RemoteDir>
|
||||
<RemoteName>ic_launcher.png</RemoteName>
|
||||
<DeployClass>Android_LauncherIcon48</DeployClass>
|
||||
<Operation>1</Operation>
|
||||
<LocalCommand/>
|
||||
<RemoteCommand/>
|
||||
<Overwrite>True</Overwrite>
|
||||
</DeployFile>
|
||||
<DeployFile Include="Crypto_960_720.png" Condition="'$(Config)'=='Debug'">
|
||||
<RemoteDir>HashBenchmark\res\drawable-xlarge\</RemoteDir>
|
||||
<RemoteName>splash_image.png</RemoteName>
|
||||
<DeployClass>Android_SplashImage960</DeployClass>
|
||||
<Operation>1</Operation>
|
||||
<LocalCommand/>
|
||||
<RemoteCommand/>
|
||||
<Overwrite>True</Overwrite>
|
||||
</DeployFile>
|
||||
<DeployFile Include="Hash192.png" Condition="'$(Config)'=='Debug'">
|
||||
<RemoteDir>HashBenchmark\res\drawable-xxxhdpi\</RemoteDir>
|
||||
<RemoteName>ic_launcher.png</RemoteName>
|
||||
<DeployClass>Android_LauncherIcon192</DeployClass>
|
||||
<Operation>1</Operation>
|
||||
<LocalCommand/>
|
||||
<RemoteCommand/>
|
||||
<Overwrite>True</Overwrite>
|
||||
</DeployFile>
|
||||
</ItemGroup>
|
||||
</Project>
|
@@ -0,0 +1,14 @@
|
||||
program HashBenchmark;
|
||||
|
||||
uses
|
||||
System.StartUpCopy,
|
||||
FMX.Forms,
|
||||
MainForm in 'MainForm.pas' {FormMain};
|
||||
|
||||
{$R *.res}
|
||||
|
||||
begin
|
||||
Application.Initialize;
|
||||
Application.CreateForm(TFormMain, FormMain);
|
||||
Application.Run;
|
||||
end.
|
@@ -0,0 +1,77 @@
|
||||
object FormMain: TFormMain
|
||||
Left = 0
|
||||
Top = 0
|
||||
Caption = 'Hash benchmark'
|
||||
ClientHeight = 480
|
||||
ClientWidth = 640
|
||||
FormFactor.Width = 320
|
||||
FormFactor.Height = 480
|
||||
FormFactor.Devices = [Desktop]
|
||||
OnCreate = FormCreate
|
||||
OnResize = FormResize
|
||||
DesignerMasterStyle = 0
|
||||
object Rectangle1: TRectangle
|
||||
Anchors = [akLeft, akTop, akRight]
|
||||
Fill.Color = claCadetblue
|
||||
HitTest = False
|
||||
Position.X = 8.000000000000000000
|
||||
Position.Y = 8.000000000000000000
|
||||
Size.Width = 625.000000000000000000
|
||||
Size.Height = 41.000000000000000000
|
||||
Size.PlatformDefault = False
|
||||
object b_Start: TButton
|
||||
Align = Client
|
||||
Size.Width = 625.000000000000000000
|
||||
Size.Height = 41.000000000000000000
|
||||
Size.PlatformDefault = False
|
||||
StyleLookup = 'playtoolbutton'
|
||||
TabOrder = 0
|
||||
Text = 'b_Start'
|
||||
OnClick = b_StartClick
|
||||
end
|
||||
end
|
||||
object sg_Results: TStringGrid
|
||||
Anchors = [akLeft, akTop, akRight, akBottom]
|
||||
CanFocus = True
|
||||
ClipChildren = True
|
||||
Position.X = 8.000000000000000000
|
||||
Position.Y = 56.000000000000000000
|
||||
Size.Width = 625.000000000000000000
|
||||
Size.Height = 369.000000000000000000
|
||||
Size.PlatformDefault = False
|
||||
StyleLookup = 'gridstyle'
|
||||
TabOrder = 0
|
||||
RowCount = 0
|
||||
Options = [ColumnResize, ColLines, RowLines, RowSelect, Tabs, Header]
|
||||
Viewport.Width = 621.000000000000000000
|
||||
Viewport.Height = 344.000000000000000000
|
||||
object StringColumn1: TStringColumn
|
||||
Header = 'Algorithm'
|
||||
ReadOnly = True
|
||||
end
|
||||
object StringColumn2: TStringColumn
|
||||
Header = 'Speed MB/s'
|
||||
end
|
||||
object StringColumn3: TStringColumn
|
||||
Header = 'Time (hh:mm:ss:ms)'
|
||||
end
|
||||
end
|
||||
object TimerBenchmark: TTimer
|
||||
Enabled = False
|
||||
Interval = 50
|
||||
OnTimer = TimerBenchmarkTimer
|
||||
Left = 408
|
||||
Top = 96
|
||||
end
|
||||
object b_CopyToClipboard: TButton
|
||||
Anchors = [akLeft, akRight, akBottom]
|
||||
Position.X = 8.000000000000000000
|
||||
Position.Y = 432.000000000000000000
|
||||
Size.Width = 625.000000000000000000
|
||||
Size.Height = 41.000000000000000000
|
||||
Size.PlatformDefault = False
|
||||
TabOrder = 5
|
||||
Text = 'Copy to clipboard'
|
||||
OnClick = b_CopyToClipboardClick
|
||||
end
|
||||
end
|
@@ -0,0 +1,248 @@
|
||||
{*****************************************************************************
|
||||
The DEC team (see file NOTICE.txt) licenses this file
|
||||
to you under the Apache License, Version 2.0 (the
|
||||
"License"); you may not use this file except in compliance
|
||||
with the License. A copy of this licence is found in the root directory of
|
||||
this project in the file LICENCE.txt or alternatively at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing,
|
||||
software distributed under the License is distributed on an
|
||||
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||||
KIND, either express or implied. See the License for the
|
||||
specific language governing permissions and limitations
|
||||
under the License.
|
||||
*****************************************************************************}
|
||||
unit MainForm;
|
||||
|
||||
interface
|
||||
|
||||
uses
|
||||
System.SysUtils, System.Types, System.UITypes, System.Classes, System.Variants,
|
||||
FMX.Types, FMX.Controls, FMX.Forms, FMX.Graphics, FMX.Dialogs, FMX.Platform,
|
||||
FMX.Controls.Presentation, FMX.StdCtrls, System.Rtti,
|
||||
{$IF RTLVersion < 31}
|
||||
{$ELSE}
|
||||
FMX.Grid.Style,
|
||||
{$ENDIF}
|
||||
FMX.Grid, FMX.ScrollBox, FMX.Objects, System.Diagnostics;
|
||||
|
||||
type
|
||||
TFormMain = class(TForm)
|
||||
b_Start: TButton;
|
||||
sg_Results: TStringGrid;
|
||||
StringColumn1: TStringColumn;
|
||||
StringColumn2: TStringColumn;
|
||||
StringColumn3: TStringColumn;
|
||||
Rectangle1: TRectangle;
|
||||
TimerBenchmark: TTimer;
|
||||
b_CopyToClipboard: TButton;
|
||||
procedure b_StartClick(Sender: TObject);
|
||||
procedure TimerBenchmarkTimer(Sender: TObject);
|
||||
procedure FormResize(Sender: TObject);
|
||||
procedure b_CopyToClipboardClick(Sender: TObject);
|
||||
procedure FormCreate(Sender: TObject);
|
||||
private
|
||||
/// <summary>
|
||||
/// Data which is being hashed for the benchmark
|
||||
/// </summary>
|
||||
FBenchmarkBuffer : TBytes;
|
||||
/// <summary>
|
||||
/// Stopwatch used
|
||||
/// </summary>
|
||||
FStopwatch : TStopwatch;
|
||||
/// <summary>
|
||||
/// Currently processed gridrow
|
||||
/// </summary>
|
||||
FRowIndex : Integer;
|
||||
|
||||
/// <summary>
|
||||
/// Runs the benchmark for a single class
|
||||
/// </summary>
|
||||
/// <param name="ClassName">
|
||||
/// Name of the class to benchmark
|
||||
/// </param>
|
||||
/// <param name="RowIndex">
|
||||
/// Number of the row where the results are to be displayed
|
||||
/// </param>
|
||||
procedure RunBenchmark(ClassName: string;
|
||||
RowIndex: Integer);
|
||||
/// <summary>
|
||||
/// Try to get access to the clipboard service
|
||||
/// </summary>
|
||||
/// <param name="ClipBoardInterface">
|
||||
/// Interface reference for accessing the clipboard if Result is true
|
||||
/// </param>
|
||||
/// <returns>
|
||||
/// True when access to the clipboard could be aquired
|
||||
/// </returns>
|
||||
function TryGetClipboardService(out ClipboardService: IFMXClipboardService): Boolean;
|
||||
/// <summary>
|
||||
/// Put a string into the clipboard, if possible
|
||||
/// </summary>
|
||||
/// <param name="s">
|
||||
/// String to store into the clipboard
|
||||
/// </param>
|
||||
procedure StringToClipboard(const s: string);
|
||||
public
|
||||
end;
|
||||
|
||||
var
|
||||
FormMain: TFormMain;
|
||||
|
||||
implementation
|
||||
|
||||
uses
|
||||
Generics.Collections,
|
||||
DECBaseClass, DECHashBase, DECHash;
|
||||
|
||||
const
|
||||
/// <summary>
|
||||
/// Number of times the buffer will be calculated a hash over
|
||||
/// </summary>
|
||||
cIterations = 10;
|
||||
|
||||
{$R *.fmx}
|
||||
|
||||
function TFormMain.TryGetClipboardService(out ClipboardService: IFMXClipboardService): Boolean;
|
||||
begin
|
||||
Result := TPlatformServices.Current.SupportsPlatformService(IFMXClipboardService);
|
||||
if Result then
|
||||
ClipboardService := IFMXClipboardService(TPlatformServices.Current.GetPlatformService(IFMXClipboardService));
|
||||
end;
|
||||
|
||||
procedure TFormMain.StringToClipboard(const s: string);
|
||||
var
|
||||
clp: IFMXClipboardService;
|
||||
begin
|
||||
if TryGetClipboardService(clp) then
|
||||
clp.SetClipboard(s);
|
||||
end;
|
||||
|
||||
procedure TFormMain.b_CopyToClipboardClick(Sender: TObject);
|
||||
var
|
||||
s : string;
|
||||
row, col: Integer;
|
||||
begin
|
||||
s := '';
|
||||
|
||||
for col := 0 to sg_Results.ColumnCount - 1 do
|
||||
s := s + sg_Results.Columns[col].Header + FormatSettings.ListSeparator;
|
||||
|
||||
s := s + sLineBreak;
|
||||
|
||||
for row := 0 to sg_Results.RowCount - 1 do
|
||||
begin
|
||||
for col := 0 to sg_Results.ColumnCount - 1 do
|
||||
s := s + sg_Results.Cells[col, row] + FormatSettings.ListSeparator;
|
||||
|
||||
s := s + sLineBreak;
|
||||
end;
|
||||
|
||||
StringToClipboard(s);
|
||||
end;
|
||||
|
||||
procedure TFormMain.b_StartClick(Sender: TObject);
|
||||
var
|
||||
ClassNames : TStringList;
|
||||
ClassName : string;
|
||||
i, n : Integer;
|
||||
begin
|
||||
b_CopyToClipboard.Enabled := false;
|
||||
sg_Results.RowCount := 0;
|
||||
// Create 1 MB Buffer
|
||||
SetLength(FBenchmarkBuffer, 1024*1024);
|
||||
|
||||
n := 0;
|
||||
for i := 0 to Length(FBenchmarkBuffer)-1 do
|
||||
begin
|
||||
FBenchmarkBuffer[i] := n;
|
||||
inc(n);
|
||||
|
||||
if (n > 255) then
|
||||
n := 0;
|
||||
end;
|
||||
|
||||
ClassNames := TStringList.Create;
|
||||
|
||||
try
|
||||
TDECHash.ClassList.GetClassList(ClassNames);
|
||||
ClassNames.Sort;
|
||||
|
||||
for ClassName in ClassNames do
|
||||
begin
|
||||
sg_Results.RowCount := sg_Results.RowCount + 1;
|
||||
sg_Results.Cells[0, sg_Results.RowCount - 1] := ClassName;
|
||||
end;
|
||||
|
||||
FRowIndex := 0;
|
||||
FStopwatch := TStopwatch.Create;
|
||||
TimerBenchmark.Enabled := true;
|
||||
finally
|
||||
ClassNames.Free;
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure TFormMain.FormCreate(Sender: TObject);
|
||||
begin
|
||||
b_CopyToClipboard.Enabled := false;
|
||||
|
||||
// This property is only supported from 10.4 onwards, so we set it in code
|
||||
{$IF RTLVersion >= 34}
|
||||
StringColumn2.HorzAlign := TTextAlign.Trailing;
|
||||
{$ENDIF}
|
||||
end;
|
||||
|
||||
procedure TFormMain.FormResize(Sender: TObject);
|
||||
var
|
||||
i : Integer;
|
||||
w : Single;
|
||||
begin
|
||||
w := sg_Results.Width / sg_Results.ColumnCount;
|
||||
|
||||
for i := 0 to sg_Results.ColumnCount - 1 do
|
||||
sg_Results.Columns[i].Width := w;
|
||||
end;
|
||||
|
||||
procedure TFormMain.RunBenchmark(ClassName: string; RowIndex: Integer);
|
||||
var
|
||||
Hash : TDECHash;
|
||||
HashResult : TBytes;
|
||||
i : Integer;
|
||||
begin
|
||||
Hash := TDECHash.ClassByName(ClassName).Create;
|
||||
|
||||
try
|
||||
FStopwatch.Reset;
|
||||
FStopwatch.Start;
|
||||
|
||||
for i := 0 to cIterations - 1 do
|
||||
begin
|
||||
HashResult := Hash.CalcBytes(FBenchmarkBuffer);
|
||||
end;
|
||||
|
||||
FStopwatch.Stop;
|
||||
|
||||
sg_Results.Cells[1, RowIndex] :=
|
||||
Format('%0:f', [cIterations / (FStopwatch.ElapsedMilliseconds/1000)]);
|
||||
sg_Results.Cells[2, RowIndex] := FStopwatch.Elapsed;
|
||||
finally
|
||||
Hash.Free;
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure TFormMain.TimerBenchmarkTimer(Sender: TObject);
|
||||
begin
|
||||
(Sender as TTimer).Enabled := false;
|
||||
|
||||
RunBenchmark(sg_Results.Cells[0, FRowIndex], FRowIndex);
|
||||
Inc(FRowIndex);
|
||||
|
||||
if (FRowIndex < sg_Results.RowCount) then
|
||||
(Sender as TTimer).Enabled := true
|
||||
else
|
||||
b_CopyToClipboard.Enabled := true;
|
||||
end;
|
||||
|
||||
end.
|
@@ -0,0 +1,65 @@
|
||||
{*****************************************************************************
|
||||
The DEC team (see file NOTICE.txt) licenses this file
|
||||
to you under the Apache License, Version 2.0 (the
|
||||
"License"); you may not use this file except in compliance
|
||||
with the License. A copy of this licence is found in the root directory of
|
||||
this project in the file LICENCE.txt or alternatively at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing,
|
||||
software distributed under the License is distributed on an
|
||||
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||||
KIND, either express or implied. See the License for the
|
||||
specific language governing permissions and limitations
|
||||
under the License.
|
||||
*****************************************************************************}
|
||||
|
||||
/// <summary>
|
||||
/// Most simple demonstration of DEC hash routines
|
||||
/// </summary>
|
||||
program Hash_Console;
|
||||
|
||||
{$APPTYPE CONSOLE}
|
||||
|
||||
{$R *.res}
|
||||
|
||||
uses
|
||||
System.SysUtils,
|
||||
DECFormat,
|
||||
DECHash;
|
||||
|
||||
var
|
||||
Hash : THash_RipeMD160;
|
||||
s : RawByteString;
|
||||
|
||||
W: THash_Whirlpool1;
|
||||
begin
|
||||
Hash := THash_RipeMD160.Create;
|
||||
try
|
||||
try
|
||||
// Calculate a hash value in accordance to the original author's test data
|
||||
// http://homes.esat.kuleuven.be/~bosselae/ripemd160.html
|
||||
s := 'message digest';
|
||||
|
||||
WriteLn('RipeMD160 digest (hash value) of ' + s + ' is ' + sLineBreak +
|
||||
Hash.CalcString(s, TFormat_HEX));
|
||||
|
||||
ReadLn;
|
||||
|
||||
W := THash_Whirlpool1.Create;
|
||||
|
||||
s := 'The quick brown fox jumps over the lazy dog';
|
||||
|
||||
WriteLn('RipeMD160 digest (hash value) of ' + s + ' is ' + sLineBreak +
|
||||
W.CalcString(s, TFormat_HEX));
|
||||
W.Free;
|
||||
ReadLn;
|
||||
except
|
||||
on E: Exception do
|
||||
Writeln(E.ClassName, ': ', E.Message);
|
||||
end;
|
||||
finally
|
||||
Hash.Free;
|
||||
end;
|
||||
end.
|
@@ -0,0 +1,44 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- BEGIN_INCLUDE(manifest) -->
|
||||
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
package="%package%"
|
||||
android:versionCode="%versionCode%"
|
||||
android:versionName="%versionName%"
|
||||
android:installLocation="%installLocation%">
|
||||
|
||||
<uses-sdk android:minSdkVersion="19" android:targetSdkVersion="%targetSdkVersion%" />
|
||||
<!--<uses-sdk android:minSdkVersion="%minSdkVersion%" android:targetSdkVersion="%targetSdkVersion%" /> -->
|
||||
<%uses-permission%>
|
||||
<uses-feature android:glEsVersion="0x00020000" android:required="True"/>
|
||||
<application android:persistent="%persistent%"
|
||||
android:restoreAnyVersion="%restoreAnyVersion%"
|
||||
android:label="%label%"
|
||||
android:debuggable="%debuggable%"
|
||||
android:largeHeap="%largeHeap%"
|
||||
android:icon="%icon%"
|
||||
android:theme="%theme%"
|
||||
android:hardwareAccelerated="%hardwareAccelerated%"
|
||||
android:resizeableActivity="false">
|
||||
|
||||
<%provider%>
|
||||
<%application-meta-data%>
|
||||
<%services%>
|
||||
<!-- Our activity is a subclass of the built-in NativeActivity framework class.
|
||||
This will take care of integrating with our NDK code. -->
|
||||
<activity android:name="com.embarcadero.firemonkey.FMXNativeActivity"
|
||||
android:label="%activityLabel%"
|
||||
android:configChanges="orientation|keyboard|keyboardHidden|screenSize"
|
||||
android:launchMode="singleTask">
|
||||
<!-- Tell NativeActivity the name of our .so -->
|
||||
<meta-data android:name="android.app.lib_name"
|
||||
android:value="%libNameValue%" />
|
||||
<intent-filter>
|
||||
<action android:name="android.intent.action.MAIN" />
|
||||
<category android:name="android.intent.category.LAUNCHER" />
|
||||
</intent-filter>
|
||||
</activity>
|
||||
<%activity%>
|
||||
<%receivers%>
|
||||
</application>
|
||||
</manifest>
|
||||
<!-- END_INCLUDE(manifest) -->
|
After Width: | Height: | Size: 282 KiB |
After Width: | Height: | Size: 308 KiB |
After Width: | Height: | Size: 580 KiB |
After Width: | Height: | Size: 1.1 MiB |
BIN
contrib/DelphiEncryptionCompendium/Demos/Hash_FMX/Hash.ico
Normal file
After Width: | Height: | Size: 151 KiB |
BIN
contrib/DelphiEncryptionCompendium/Demos/Hash_FMX/Hash144.png
Normal file
After Width: | Height: | Size: 14 KiB |
BIN
contrib/DelphiEncryptionCompendium/Demos/Hash_FMX/Hash192.png
Normal file
After Width: | Height: | Size: 24 KiB |
BIN
contrib/DelphiEncryptionCompendium/Demos/Hash_FMX/Hash256.png
Normal file
After Width: | Height: | Size: 31 KiB |
BIN
contrib/DelphiEncryptionCompendium/Demos/Hash_FMX/Hash36.png
Normal file
After Width: | Height: | Size: 1.9 KiB |
BIN
contrib/DelphiEncryptionCompendium/Demos/Hash_FMX/Hash48.png
Normal file
After Width: | Height: | Size: 3.2 KiB |
BIN
contrib/DelphiEncryptionCompendium/Demos/Hash_FMX/Hash72.png
Normal file
After Width: | Height: | Size: 5.7 KiB |
BIN
contrib/DelphiEncryptionCompendium/Demos/Hash_FMX/Hash96.png
Normal file
After Width: | Height: | Size: 7.2 KiB |
@@ -0,0 +1,779 @@
|
||||
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<Import Condition="Exists('$(BDS)\bin\CodeGear.Deployment.targets')" Project="$(BDS)\bin\CodeGear.Deployment.targets"/>
|
||||
<ProjectExtensions>
|
||||
<ProjectFileVersion>12</ProjectFileVersion>
|
||||
</ProjectExtensions>
|
||||
<PropertyGroup>
|
||||
<DeviceId Condition="'$(Platform)'=='Android'"/>
|
||||
<DeviceId Condition="'$(Platform)'=='Android64'"/>
|
||||
</PropertyGroup>
|
||||
<ItemGroup Condition="'$(Platform)'=='Win32'">
|
||||
<DeployFile Include="..\..\Compiled\BIN_IDExx.x_Win32__Demos\Hash_FMX.exe" Condition="'$(Config)'=='Release'">
|
||||
<RemoteDir>Hash_FMX\</RemoteDir>
|
||||
<RemoteName>Hash_FMX.exe</RemoteName>
|
||||
<DeployClass>ProjectOutput</DeployClass>
|
||||
<Operation>0</Operation>
|
||||
<LocalCommand/>
|
||||
<RemoteCommand/>
|
||||
<Overwrite>True</Overwrite>
|
||||
<Required>True</Required>
|
||||
</DeployFile>
|
||||
<DeployFile Include="Win32\Debug\Hash_FMX.exe" Condition="'$(Config)'=='Debug'">
|
||||
<RemoteDir>Hash_FMX\</RemoteDir>
|
||||
<RemoteName>Hash_FMX.exe</RemoteName>
|
||||
<DeployClass>ProjectOutput</DeployClass>
|
||||
<Operation>0</Operation>
|
||||
<LocalCommand/>
|
||||
<RemoteCommand/>
|
||||
<Overwrite>True</Overwrite>
|
||||
<Required>True</Required>
|
||||
</DeployFile>
|
||||
</ItemGroup>
|
||||
<ItemGroup Condition="'$(Platform)'=='Win64'"/>
|
||||
<ItemGroup Condition="'$(Platform)'=='Android'">
|
||||
<DeployFile Include="Crypto_640_480.png" Condition="'$(Config)'=='Release'">
|
||||
<RemoteDir>Hash_FMX\res\drawable-large\</RemoteDir>
|
||||
<RemoteName>splash_image.png</RemoteName>
|
||||
<DeployClass>Android_SplashImage640</DeployClass>
|
||||
<Operation>1</Operation>
|
||||
<LocalCommand/>
|
||||
<RemoteCommand/>
|
||||
<Overwrite>True</Overwrite>
|
||||
</DeployFile>
|
||||
<DeployFile Include="Android\Release\splash_image_def.xml" Condition="'$(Config)'=='Release'">
|
||||
<RemoteDir>Hash_FMX\res\drawable\</RemoteDir>
|
||||
<RemoteName>splash_image_def.xml</RemoteName>
|
||||
<DeployClass>AndroidSplashImageDef</DeployClass>
|
||||
<Operation>1</Operation>
|
||||
<LocalCommand/>
|
||||
<RemoteCommand/>
|
||||
<Overwrite>True</Overwrite>
|
||||
</DeployFile>
|
||||
<DeployFile Include="..\..\Compiled\BIN_IDExx.x_Android__Demos\AndroidManifest.xml" Condition="'$(Config)'=='Debug'">
|
||||
<RemoteDir>Hash_FMX\</RemoteDir>
|
||||
<RemoteName>AndroidManifest.xml</RemoteName>
|
||||
<DeployClass>ProjectAndroidManifest</DeployClass>
|
||||
<Operation>1</Operation>
|
||||
<LocalCommand/>
|
||||
<RemoteCommand/>
|
||||
<Overwrite>True</Overwrite>
|
||||
</DeployFile>
|
||||
<DeployFile Include="Hash144.png" Condition="'$(Config)'=='Debug'">
|
||||
<RemoteDir>Hash_FMX\res\drawable-xxhdpi\</RemoteDir>
|
||||
<RemoteName>ic_launcher.png</RemoteName>
|
||||
<DeployClass>Android_LauncherIcon144</DeployClass>
|
||||
<Operation>1</Operation>
|
||||
<LocalCommand/>
|
||||
<RemoteCommand/>
|
||||
<Overwrite>True</Overwrite>
|
||||
</DeployFile>
|
||||
<DeployFile Include="..\..\Compiled\BIN_IDExx.x_Android__Demos\styles.xml" Condition="'$(Config)'=='Debug'">
|
||||
<RemoteDir>Hash_FMX\res\values\</RemoteDir>
|
||||
<RemoteName>styles.xml</RemoteName>
|
||||
<DeployClass>AndroidSplashStyles</DeployClass>
|
||||
<Operation>1</Operation>
|
||||
<LocalCommand/>
|
||||
<RemoteCommand/>
|
||||
<Overwrite>True</Overwrite>
|
||||
</DeployFile>
|
||||
<DeployFile Include="$(BDS)\bin\Artwork\Android\FM_NotificationIcon_36x36.png" Condition="'$(Config)'=='Debug'">
|
||||
<RemoteDir>Hash_FMX\res\drawable-hdpi\</RemoteDir>
|
||||
<RemoteName>ic_notification.png</RemoteName>
|
||||
<DeployClass>Android_NotificationIcon36</DeployClass>
|
||||
<Operation>1</Operation>
|
||||
<LocalCommand/>
|
||||
<RemoteCommand/>
|
||||
<Overwrite>True</Overwrite>
|
||||
</DeployFile>
|
||||
<DeployFile Include="..\..\Compiled\BIN_IDExx.x_Android__Demos\classes.dex" Condition="'$(Config)'=='Debug'">
|
||||
<RemoteDir>Hash_FMX\classes\</RemoteDir>
|
||||
<RemoteName>classes.dex</RemoteName>
|
||||
<DeployClass>AndroidClassesDexFile</DeployClass>
|
||||
<Operation>1</Operation>
|
||||
<LocalCommand/>
|
||||
<RemoteCommand/>
|
||||
<Overwrite>True</Overwrite>
|
||||
</DeployFile>
|
||||
<DeployFile Include="$(BDS)\lib\android\debug\mips\libnative-activity.so" Condition="'$(Config)'=='Debug'">
|
||||
<RemoteDir>Hash_FMX\library\lib\mips\</RemoteDir>
|
||||
<RemoteName>libHash_FMX.so</RemoteName>
|
||||
<DeployClass>AndroidLibnativeMipsFile</DeployClass>
|
||||
<Operation>1</Operation>
|
||||
<LocalCommand/>
|
||||
<RemoteCommand/>
|
||||
<Overwrite>True</Overwrite>
|
||||
</DeployFile>
|
||||
<DeployFile Include="..\..\Compiled\BIN_IDExx.x_Android__Demos\strings.xml" Condition="'$(Config)'=='Debug'">
|
||||
<RemoteDir>Hash_FMX\res\values\</RemoteDir>
|
||||
<RemoteName>strings.xml</RemoteName>
|
||||
<DeployClass>Android_Strings</DeployClass>
|
||||
<Operation>1</Operation>
|
||||
<LocalCommand/>
|
||||
<RemoteCommand/>
|
||||
<Overwrite>True</Overwrite>
|
||||
</DeployFile>
|
||||
<DeployFile Include="Crypto_640_480.png" Condition="'$(Config)'=='Debug'">
|
||||
<RemoteDir>Hash_FMX\res\drawable-large\</RemoteDir>
|
||||
<RemoteName>splash_image.png</RemoteName>
|
||||
<DeployClass>Android_SplashImage640</DeployClass>
|
||||
<Operation>1</Operation>
|
||||
<LocalCommand/>
|
||||
<RemoteCommand/>
|
||||
<Overwrite>True</Overwrite>
|
||||
</DeployFile>
|
||||
<DeployFile Include="Hash96.png" Condition="'$(Config)'=='Debug'">
|
||||
<RemoteDir>Hash_FMX\res\drawable-xhdpi\</RemoteDir>
|
||||
<RemoteName>ic_launcher.png</RemoteName>
|
||||
<DeployClass>Android_LauncherIcon96</DeployClass>
|
||||
<Operation>1</Operation>
|
||||
<LocalCommand/>
|
||||
<RemoteCommand/>
|
||||
<Overwrite>True</Overwrite>
|
||||
</DeployFile>
|
||||
<DeployFile Include="$(BDS)\bin\Artwork\Android\FM_NotificationIcon_96x96.png" Condition="'$(Config)'=='Debug'">
|
||||
<RemoteDir>Hash_FMX\res\drawable-xxxhdpi\</RemoteDir>
|
||||
<RemoteName>ic_notification.png</RemoteName>
|
||||
<DeployClass>Android_NotificationIcon96</DeployClass>
|
||||
<Operation>1</Operation>
|
||||
<LocalCommand/>
|
||||
<RemoteCommand/>
|
||||
<Overwrite>True</Overwrite>
|
||||
</DeployFile>
|
||||
<DeployFile Include="Android\Release\styles-v21.xml" Condition="'$(Config)'=='Release'">
|
||||
<RemoteDir>Hash_FMX\res\values-v21\</RemoteDir>
|
||||
<RemoteName>styles.xml</RemoteName>
|
||||
<DeployClass>AndroidSplashStylesV21</DeployClass>
|
||||
<Operation>1</Operation>
|
||||
<LocalCommand/>
|
||||
<RemoteCommand/>
|
||||
<Overwrite>True</Overwrite>
|
||||
</DeployFile>
|
||||
<DeployFile Include="..\..\Compiled\BIN_IDExx.x_Android__Demos\styles-v21.xml" Condition="'$(Config)'=='Debug'">
|
||||
<RemoteDir>Hash_FMX\res\values-v21\</RemoteDir>
|
||||
<RemoteName>styles.xml</RemoteName>
|
||||
<DeployClass>AndroidSplashStylesV21</DeployClass>
|
||||
<Operation>1</Operation>
|
||||
<LocalCommand/>
|
||||
<RemoteCommand/>
|
||||
<Overwrite>True</Overwrite>
|
||||
</DeployFile>
|
||||
<DeployFile Include="Hash48.png" Condition="'$(Config)'=='Release'">
|
||||
<RemoteDir>Hash_FMX\res\drawable-mdpi\</RemoteDir>
|
||||
<RemoteName>ic_launcher.png</RemoteName>
|
||||
<DeployClass>Android_LauncherIcon48</DeployClass>
|
||||
<Operation>1</Operation>
|
||||
<LocalCommand/>
|
||||
<RemoteCommand/>
|
||||
<Overwrite>True</Overwrite>
|
||||
</DeployFile>
|
||||
<DeployFile Include="$(BDS)\lib\android\debug\armeabi\libnative-activity.so" Condition="'$(Config)'=='Debug'">
|
||||
<RemoteDir>Hash_FMX\library\lib\armeabi\</RemoteDir>
|
||||
<RemoteName>libHash_FMX.so</RemoteName>
|
||||
<DeployClass>AndroidLibnativeArmeabiFile</DeployClass>
|
||||
<Operation>1</Operation>
|
||||
<LocalCommand/>
|
||||
<RemoteCommand/>
|
||||
<Overwrite>True</Overwrite>
|
||||
</DeployFile>
|
||||
<DeployFile Include="$(BDS)\bin\Artwork\Android\FM_NotificationIcon_24x24.png" Condition="'$(Config)'=='Debug'">
|
||||
<RemoteDir>Hash_FMX\res\drawable-mdpi\</RemoteDir>
|
||||
<RemoteName>ic_notification.png</RemoteName>
|
||||
<DeployClass>Android_NotificationIcon24</DeployClass>
|
||||
<Operation>1</Operation>
|
||||
<LocalCommand/>
|
||||
<RemoteCommand/>
|
||||
<Overwrite>True</Overwrite>
|
||||
</DeployFile>
|
||||
<DeployFile Include="Crypto_470_320.png" Condition="'$(Config)'=='Release'">
|
||||
<RemoteDir>Hash_FMX\res\drawable-normal\</RemoteDir>
|
||||
<RemoteName>splash_image.png</RemoteName>
|
||||
<DeployClass>Android_SplashImage470</DeployClass>
|
||||
<Operation>1</Operation>
|
||||
<LocalCommand/>
|
||||
<RemoteCommand/>
|
||||
<Overwrite>True</Overwrite>
|
||||
</DeployFile>
|
||||
<DeployFile Include="Crypto_470_320.png" Condition="'$(Config)'=='Debug'">
|
||||
<RemoteDir>Hash_FMX\res\drawable-normal\</RemoteDir>
|
||||
<RemoteName>splash_image.png</RemoteName>
|
||||
<DeployClass>Android_SplashImage470</DeployClass>
|
||||
<Operation>1</Operation>
|
||||
<LocalCommand/>
|
||||
<RemoteCommand/>
|
||||
<Overwrite>True</Overwrite>
|
||||
</DeployFile>
|
||||
<DeployFile Include="Hash72.png" Condition="'$(Config)'=='Release'">
|
||||
<RemoteDir>Hash_FMX\res\drawable-hdpi\</RemoteDir>
|
||||
<RemoteName>ic_launcher.png</RemoteName>
|
||||
<DeployClass>Android_LauncherIcon72</DeployClass>
|
||||
<Operation>1</Operation>
|
||||
<LocalCommand/>
|
||||
<RemoteCommand/>
|
||||
<Overwrite>True</Overwrite>
|
||||
</DeployFile>
|
||||
<DeployFile Include="Hash192.png" Condition="'$(Config)'=='Debug'">
|
||||
<RemoteDir>Hash_FMX\res\drawable-xxxhdpi\</RemoteDir>
|
||||
<RemoteName>ic_launcher.png</RemoteName>
|
||||
<DeployClass>Android_LauncherIcon192</DeployClass>
|
||||
<Operation>1</Operation>
|
||||
<LocalCommand/>
|
||||
<RemoteCommand/>
|
||||
<Overwrite>True</Overwrite>
|
||||
</DeployFile>
|
||||
<DeployFile Include="$(BDS)\bin\Artwork\Android\FM_NotificationIcon_48x48.png" Condition="'$(Config)'=='Debug'">
|
||||
<RemoteDir>Hash_FMX\res\drawable-xhdpi\</RemoteDir>
|
||||
<RemoteName>ic_notification.png</RemoteName>
|
||||
<DeployClass>Android_NotificationIcon48</DeployClass>
|
||||
<Operation>1</Operation>
|
||||
<LocalCommand/>
|
||||
<RemoteCommand/>
|
||||
<Overwrite>True</Overwrite>
|
||||
</DeployFile>
|
||||
<DeployFile Include="Hash144.png" Condition="'$(Config)'=='Release'">
|
||||
<RemoteDir>Hash_FMX\res\drawable-xxhdpi\</RemoteDir>
|
||||
<RemoteName>ic_launcher.png</RemoteName>
|
||||
<DeployClass>Android_LauncherIcon144</DeployClass>
|
||||
<Operation>1</Operation>
|
||||
<LocalCommand/>
|
||||
<RemoteCommand/>
|
||||
<Overwrite>True</Overwrite>
|
||||
</DeployFile>
|
||||
<DeployFile Include="Hash72.png" Condition="'$(Config)'=='Debug'">
|
||||
<RemoteDir>Hash_FMX\res\drawable-hdpi\</RemoteDir>
|
||||
<RemoteName>ic_launcher.png</RemoteName>
|
||||
<DeployClass>Android_LauncherIcon72</DeployClass>
|
||||
<Operation>1</Operation>
|
||||
<LocalCommand/>
|
||||
<RemoteCommand/>
|
||||
<Overwrite>True</Overwrite>
|
||||
</DeployFile>
|
||||
<DeployFile Include="Android\Release\libHash_FMX.so" Condition="'$(Config)'=='Release'">
|
||||
<RemoteDir>Hash_FMX\library\lib\armeabi-v7a\</RemoteDir>
|
||||
<RemoteName>libHash_FMX.so</RemoteName>
|
||||
<DeployClass>ProjectOutput</DeployClass>
|
||||
<Operation>1</Operation>
|
||||
<LocalCommand/>
|
||||
<RemoteCommand/>
|
||||
<Overwrite>True</Overwrite>
|
||||
<Required>True</Required>
|
||||
</DeployFile>
|
||||
<DeployFile Include="Android\Release\classes.dex" Condition="'$(Config)'=='Release'">
|
||||
<RemoteDir>Hash_FMX\classes\</RemoteDir>
|
||||
<RemoteName>classes.dex</RemoteName>
|
||||
<DeployClass>AndroidClassesDexFile</DeployClass>
|
||||
<Operation>1</Operation>
|
||||
<LocalCommand/>
|
||||
<RemoteCommand/>
|
||||
<Overwrite>True</Overwrite>
|
||||
</DeployFile>
|
||||
<DeployFile Include="$(BDS)\bin\Artwork\Android\FM_NotificationIcon_72x72.png" Condition="'$(Config)'=='Debug'">
|
||||
<RemoteDir>Hash_FMX\res\drawable-xxhdpi\</RemoteDir>
|
||||
<RemoteName>ic_notification.png</RemoteName>
|
||||
<DeployClass>Android_NotificationIcon72</DeployClass>
|
||||
<Operation>1</Operation>
|
||||
<LocalCommand/>
|
||||
<RemoteCommand/>
|
||||
<Overwrite>True</Overwrite>
|
||||
</DeployFile>
|
||||
<DeployFile Include="Android\Release\styles.xml" Condition="'$(Config)'=='Release'">
|
||||
<RemoteDir>Hash_FMX\res\values\</RemoteDir>
|
||||
<RemoteName>styles.xml</RemoteName>
|
||||
<DeployClass>AndroidSplashStyles</DeployClass>
|
||||
<Operation>1</Operation>
|
||||
<LocalCommand/>
|
||||
<RemoteCommand/>
|
||||
<Overwrite>True</Overwrite>
|
||||
</DeployFile>
|
||||
<DeployFile Include="Crypto_426_320.png" Condition="'$(Config)'=='Release'">
|
||||
<RemoteDir>Hash_FMX\res\drawable-small\</RemoteDir>
|
||||
<RemoteName>splash_image.png</RemoteName>
|
||||
<DeployClass>Android_SplashImage426</DeployClass>
|
||||
<Operation>1</Operation>
|
||||
<LocalCommand/>
|
||||
<RemoteCommand/>
|
||||
<Overwrite>True</Overwrite>
|
||||
</DeployFile>
|
||||
<DeployFile Include="Hash96.png" Condition="'$(Config)'=='Release'">
|
||||
<RemoteDir>Hash_FMX\res\drawable-xhdpi\</RemoteDir>
|
||||
<RemoteName>ic_launcher.png</RemoteName>
|
||||
<DeployClass>Android_LauncherIcon96</DeployClass>
|
||||
<Operation>1</Operation>
|
||||
<LocalCommand/>
|
||||
<RemoteCommand/>
|
||||
<Overwrite>True</Overwrite>
|
||||
</DeployFile>
|
||||
<DeployFile Include="..\..\Compiled\BIN_IDExx.x_Android__Demos\colors.xml" Condition="'$(Config)'=='Debug'">
|
||||
<RemoteDir>Hash_FMX\res\values\</RemoteDir>
|
||||
<RemoteName>colors.xml</RemoteName>
|
||||
<DeployClass>Android_Colors</DeployClass>
|
||||
<Operation>1</Operation>
|
||||
<LocalCommand/>
|
||||
<RemoteCommand/>
|
||||
<Overwrite>True</Overwrite>
|
||||
</DeployFile>
|
||||
<DeployFile Include="Crypto_426_320.png" Condition="'$(Config)'=='Debug'">
|
||||
<RemoteDir>Hash_FMX\res\drawable-small\</RemoteDir>
|
||||
<RemoteName>splash_image.png</RemoteName>
|
||||
<DeployClass>Android_SplashImage426</DeployClass>
|
||||
<Operation>1</Operation>
|
||||
<LocalCommand/>
|
||||
<RemoteCommand/>
|
||||
<Overwrite>True</Overwrite>
|
||||
</DeployFile>
|
||||
<DeployFile Include="Android\Debug\classes.dex" Condition="'$(Config)'=='Debug'">
|
||||
<RemoteDir>Hash_FMX\classes\</RemoteDir>
|
||||
<RemoteName>classes.dex</RemoteName>
|
||||
<DeployClass>AndroidClassesDexFile</DeployClass>
|
||||
<Operation>1</Operation>
|
||||
<LocalCommand/>
|
||||
<RemoteCommand/>
|
||||
<Overwrite>True</Overwrite>
|
||||
</DeployFile>
|
||||
<DeployFile Include="$(NDKBasePath)\prebuilt\android-arm\gdbserver\gdbserver" Condition="'$(Config)'=='Debug'">
|
||||
<RemoteDir>Hash_FMX\library\lib\armeabi-v7a\</RemoteDir>
|
||||
<RemoteName>gdbserver</RemoteName>
|
||||
<DeployClass>AndroidGDBServer</DeployClass>
|
||||
<Operation>1</Operation>
|
||||
<LocalCommand/>
|
||||
<RemoteCommand/>
|
||||
<Overwrite>True</Overwrite>
|
||||
</DeployFile>
|
||||
<DeployFile Include="Crypto_960_720.png" Condition="'$(Config)'=='Debug'">
|
||||
<RemoteDir>Hash_FMX\res\drawable-xlarge\</RemoteDir>
|
||||
<RemoteName>splash_image.png</RemoteName>
|
||||
<DeployClass>Android_SplashImage960</DeployClass>
|
||||
<Operation>1</Operation>
|
||||
<LocalCommand/>
|
||||
<RemoteCommand/>
|
||||
<Overwrite>True</Overwrite>
|
||||
</DeployFile>
|
||||
<DeployFile Include="Hash36.png" Condition="'$(Config)'=='Release'">
|
||||
<RemoteDir>Hash_FMX\res\drawable-ldpi\</RemoteDir>
|
||||
<RemoteName>ic_launcher.png</RemoteName>
|
||||
<DeployClass>Android_LauncherIcon36</DeployClass>
|
||||
<Operation>1</Operation>
|
||||
<LocalCommand/>
|
||||
<RemoteCommand/>
|
||||
<Overwrite>True</Overwrite>
|
||||
</DeployFile>
|
||||
<DeployFile Include="Crypto_960_720.png" Condition="'$(Config)'=='Release'">
|
||||
<RemoteDir>Hash_FMX\res\drawable-xlarge\</RemoteDir>
|
||||
<RemoteName>splash_image.png</RemoteName>
|
||||
<DeployClass>Android_SplashImage960</DeployClass>
|
||||
<Operation>1</Operation>
|
||||
<LocalCommand/>
|
||||
<RemoteCommand/>
|
||||
<Overwrite>True</Overwrite>
|
||||
</DeployFile>
|
||||
<DeployFile Include="..\..\Compiled\BIN_IDExx.x_Android__Demos\splash_image_def.xml" Condition="'$(Config)'=='Debug'">
|
||||
<RemoteDir>Hash_FMX\res\drawable\</RemoteDir>
|
||||
<RemoteName>splash_image_def.xml</RemoteName>
|
||||
<DeployClass>AndroidSplashImageDef</DeployClass>
|
||||
<Operation>1</Operation>
|
||||
<LocalCommand/>
|
||||
<RemoteCommand/>
|
||||
<Overwrite>True</Overwrite>
|
||||
</DeployFile>
|
||||
<DeployFile Include="Hash36.png" Condition="'$(Config)'=='Debug'">
|
||||
<RemoteDir>Hash_FMX\res\drawable-ldpi\</RemoteDir>
|
||||
<RemoteName>ic_launcher.png</RemoteName>
|
||||
<DeployClass>Android_LauncherIcon36</DeployClass>
|
||||
<Operation>1</Operation>
|
||||
<LocalCommand/>
|
||||
<RemoteCommand/>
|
||||
<Overwrite>True</Overwrite>
|
||||
</DeployFile>
|
||||
<DeployFile Include="..\..\Compiled\BIN_IDExx.x_Android__Demos\libHash_FMX.so" Condition="'$(Config)'=='Debug'">
|
||||
<RemoteDir>Hash_FMX\library\lib\armeabi-v7a\</RemoteDir>
|
||||
<RemoteName>libHash_FMX.so</RemoteName>
|
||||
<DeployClass>ProjectOutput</DeployClass>
|
||||
<Operation>1</Operation>
|
||||
<LocalCommand/>
|
||||
<RemoteCommand/>
|
||||
<Overwrite>True</Overwrite>
|
||||
<Required>True</Required>
|
||||
</DeployFile>
|
||||
<DeployFile Include="Hash48.png" Condition="'$(Config)'=='Debug'">
|
||||
<RemoteDir>Hash_FMX\res\drawable-mdpi\</RemoteDir>
|
||||
<RemoteName>ic_launcher.png</RemoteName>
|
||||
<DeployClass>Android_LauncherIcon48</DeployClass>
|
||||
<Operation>1</Operation>
|
||||
<LocalCommand/>
|
||||
<RemoteCommand/>
|
||||
<Overwrite>True</Overwrite>
|
||||
</DeployFile>
|
||||
<DeployFile Include="Android\Release\AndroidManifest.xml" Condition="'$(Config)'=='Release'">
|
||||
<RemoteDir>Hash_FMX\</RemoteDir>
|
||||
<RemoteName>AndroidManifest.xml</RemoteName>
|
||||
<DeployClass>ProjectAndroidManifest</DeployClass>
|
||||
<Operation>1</Operation>
|
||||
<LocalCommand/>
|
||||
<RemoteCommand/>
|
||||
<Overwrite>True</Overwrite>
|
||||
</DeployFile>
|
||||
</ItemGroup>
|
||||
<ItemGroup Condition="'$(Platform)'=='Android64'">
|
||||
<DeployFile Include="..\..\Compiled\BIN_IDExx.x_Android64__Demos\splash_image_def.xml" Condition="'$(Config)'=='Release'">
|
||||
<RemoteDir>Hash_FMX\res\drawable\</RemoteDir>
|
||||
<RemoteName>splash_image_def.xml</RemoteName>
|
||||
<DeployClass>AndroidSplashImageDef</DeployClass>
|
||||
<Operation>1</Operation>
|
||||
<LocalCommand/>
|
||||
<RemoteCommand/>
|
||||
<Overwrite>True</Overwrite>
|
||||
</DeployFile>
|
||||
<DeployFile Include="Hash144.png" Condition="'$(Config)'=='Release'">
|
||||
<RemoteDir>Hash_FMX\res\drawable-xxhdpi\</RemoteDir>
|
||||
<RemoteName>ic_launcher.png</RemoteName>
|
||||
<DeployClass>Android_LauncherIcon144</DeployClass>
|
||||
<Operation>1</Operation>
|
||||
<LocalCommand/>
|
||||
<RemoteCommand/>
|
||||
<Overwrite>True</Overwrite>
|
||||
</DeployFile>
|
||||
<DeployFile Include="Hash36.png" Condition="'$(Config)'=='Debug'">
|
||||
<RemoteDir>Hash_FMX\res\drawable-ldpi\</RemoteDir>
|
||||
<RemoteName>ic_launcher.png</RemoteName>
|
||||
<DeployClass>Android_LauncherIcon36</DeployClass>
|
||||
<Operation>1</Operation>
|
||||
<LocalCommand/>
|
||||
<RemoteCommand/>
|
||||
<Overwrite>True</Overwrite>
|
||||
</DeployFile>
|
||||
<DeployFile Include="..\..\Compiled\BIN_IDExx.x_Android64__Demos\styles.xml" Condition="'$(Config)'=='Debug'">
|
||||
<RemoteDir>Hash_FMX\res\values\</RemoteDir>
|
||||
<RemoteName>styles.xml</RemoteName>
|
||||
<DeployClass>AndroidSplashStyles</DeployClass>
|
||||
<Operation>1</Operation>
|
||||
<LocalCommand/>
|
||||
<RemoteCommand/>
|
||||
<Overwrite>True</Overwrite>
|
||||
</DeployFile>
|
||||
<DeployFile Include="..\..\Compiled\BIN_IDExx.x_Android64__Demos\libHash_FMX.so" Condition="'$(Config)'=='Debug'">
|
||||
<RemoteDir>Hash_FMX\library\lib\arm64-v8a\</RemoteDir>
|
||||
<RemoteName>libHash_FMX.so</RemoteName>
|
||||
<DeployClass>ProjectOutput</DeployClass>
|
||||
<Operation>1</Operation>
|
||||
<LocalCommand/>
|
||||
<RemoteCommand/>
|
||||
<Overwrite>True</Overwrite>
|
||||
<Required>True</Required>
|
||||
</DeployFile>
|
||||
<DeployFile Include="..\..\Compiled\BIN_IDExx.x_Android64__Demos\styles-v21.xml" Condition="'$(Config)'=='Debug'">
|
||||
<RemoteDir>Hash_FMX\res\values-v21\</RemoteDir>
|
||||
<RemoteName>styles.xml</RemoteName>
|
||||
<DeployClass>AndroidSplashStylesV21</DeployClass>
|
||||
<Operation>1</Operation>
|
||||
<LocalCommand/>
|
||||
<RemoteCommand/>
|
||||
<Overwrite>True</Overwrite>
|
||||
</DeployFile>
|
||||
<DeployFile Include="..\..\Compiled\BIN_IDExx.x_Android64__Demos\classes.dex" Condition="'$(Config)'=='Release'">
|
||||
<RemoteDir>Hash_FMX\classes\</RemoteDir>
|
||||
<RemoteName>classes.dex</RemoteName>
|
||||
<DeployClass>AndroidClassesDexFile</DeployClass>
|
||||
<Operation>1</Operation>
|
||||
<LocalCommand/>
|
||||
<RemoteCommand/>
|
||||
<Overwrite>True</Overwrite>
|
||||
</DeployFile>
|
||||
<DeployFile Include="Hash144.png" Condition="'$(Config)'=='Debug'">
|
||||
<RemoteDir>Hash_FMX\res\drawable-xxhdpi\</RemoteDir>
|
||||
<RemoteName>ic_launcher.png</RemoteName>
|
||||
<DeployClass>Android_LauncherIcon144</DeployClass>
|
||||
<Operation>1</Operation>
|
||||
<LocalCommand/>
|
||||
<RemoteCommand/>
|
||||
<Overwrite>True</Overwrite>
|
||||
</DeployFile>
|
||||
<DeployFile Include="$(BDS)\lib\android\debug\armeabi\libnative-activity.so" Condition="'$(Config)'=='Debug'">
|
||||
<RemoteDir>Hash_FMX\library\lib\armeabi\</RemoteDir>
|
||||
<RemoteName>libHash_FMX.so</RemoteName>
|
||||
<DeployClass>AndroidLibnativeArmeabiFile</DeployClass>
|
||||
<Operation>1</Operation>
|
||||
<LocalCommand/>
|
||||
<RemoteCommand/>
|
||||
<Overwrite>True</Overwrite>
|
||||
</DeployFile>
|
||||
<DeployFile Include="Crypto_960_720.png" Condition="'$(Config)'=='Release'">
|
||||
<RemoteDir>Hash_FMX\res\drawable-xlarge\</RemoteDir>
|
||||
<RemoteName>splash_image.png</RemoteName>
|
||||
<DeployClass>Android_SplashImage960</DeployClass>
|
||||
<Operation>1</Operation>
|
||||
<LocalCommand/>
|
||||
<RemoteCommand/>
|
||||
<Overwrite>True</Overwrite>
|
||||
</DeployFile>
|
||||
<DeployFile Include="..\..\Compiled\BIN_IDExx.x_Android64__Demos\styles.xml" Condition="'$(Config)'=='Release'">
|
||||
<RemoteDir>Hash_FMX\res\values\</RemoteDir>
|
||||
<RemoteName>styles.xml</RemoteName>
|
||||
<DeployClass>AndroidSplashStyles</DeployClass>
|
||||
<Operation>1</Operation>
|
||||
<LocalCommand/>
|
||||
<RemoteCommand/>
|
||||
<Overwrite>True</Overwrite>
|
||||
</DeployFile>
|
||||
<DeployFile Include="Crypto_426_320.png" Condition="'$(Config)'=='Release'">
|
||||
<RemoteDir>Hash_FMX\res\drawable-small\</RemoteDir>
|
||||
<RemoteName>splash_image.png</RemoteName>
|
||||
<DeployClass>Android_SplashImage426</DeployClass>
|
||||
<Operation>1</Operation>
|
||||
<LocalCommand/>
|
||||
<RemoteCommand/>
|
||||
<Overwrite>True</Overwrite>
|
||||
</DeployFile>
|
||||
<DeployFile Include="..\..\Compiled\BIN_IDExx.x_Android64__Demos\strings.xml" Condition="'$(Config)'=='Debug'">
|
||||
<RemoteDir>Hash_FMX\res\values\</RemoteDir>
|
||||
<RemoteName>strings.xml</RemoteName>
|
||||
<DeployClass>Android_Strings</DeployClass>
|
||||
<Operation>1</Operation>
|
||||
<LocalCommand/>
|
||||
<RemoteCommand/>
|
||||
<Overwrite>True</Overwrite>
|
||||
</DeployFile>
|
||||
<DeployFile Include="Hash96.png" Condition="'$(Config)'=='Release'">
|
||||
<RemoteDir>Hash_FMX\res\drawable-xhdpi\</RemoteDir>
|
||||
<RemoteName>ic_launcher.png</RemoteName>
|
||||
<DeployClass>Android_LauncherIcon96</DeployClass>
|
||||
<Operation>1</Operation>
|
||||
<LocalCommand/>
|
||||
<RemoteCommand/>
|
||||
<Overwrite>True</Overwrite>
|
||||
</DeployFile>
|
||||
<DeployFile Include="..\..\Compiled\BIN_IDExx.x_Android64__Demos\classes.dex" Condition="'$(Config)'=='Debug'">
|
||||
<RemoteDir>Hash_FMX\classes\</RemoteDir>
|
||||
<RemoteName>classes.dex</RemoteName>
|
||||
<DeployClass>AndroidClassesDexFile</DeployClass>
|
||||
<Operation>1</Operation>
|
||||
<LocalCommand/>
|
||||
<RemoteCommand/>
|
||||
<Overwrite>True</Overwrite>
|
||||
</DeployFile>
|
||||
<DeployFile Include="Hash72.png" Condition="'$(Config)'=='Release'">
|
||||
<RemoteDir>Hash_FMX\res\drawable-hdpi\</RemoteDir>
|
||||
<RemoteName>ic_launcher.png</RemoteName>
|
||||
<DeployClass>Android_LauncherIcon72</DeployClass>
|
||||
<Operation>1</Operation>
|
||||
<LocalCommand/>
|
||||
<RemoteCommand/>
|
||||
<Overwrite>True</Overwrite>
|
||||
</DeployFile>
|
||||
<DeployFile Include="Crypto_640_480.png" Condition="'$(Config)'=='Debug'">
|
||||
<RemoteDir>Hash_FMX\res\drawable-large\</RemoteDir>
|
||||
<RemoteName>splash_image.png</RemoteName>
|
||||
<DeployClass>Android_SplashImage640</DeployClass>
|
||||
<Operation>1</Operation>
|
||||
<LocalCommand/>
|
||||
<RemoteCommand/>
|
||||
<Overwrite>True</Overwrite>
|
||||
</DeployFile>
|
||||
<DeployFile Include="..\..\Compiled\BIN_IDExx.x_Android64__Demos\AndroidManifest.xml" Condition="'$(Config)'=='Release'">
|
||||
<RemoteDir>Hash_FMX\</RemoteDir>
|
||||
<RemoteName>AndroidManifest.xml</RemoteName>
|
||||
<DeployClass>ProjectAndroidManifest</DeployClass>
|
||||
<Operation>1</Operation>
|
||||
<LocalCommand/>
|
||||
<RemoteCommand/>
|
||||
<Overwrite>True</Overwrite>
|
||||
</DeployFile>
|
||||
<DeployFile Include="..\..\Compiled\BIN_IDExx.x_Android64__Demos\splash_image_def.xml" Condition="'$(Config)'=='Debug'">
|
||||
<RemoteDir>Hash_FMX\res\drawable\</RemoteDir>
|
||||
<RemoteName>splash_image_def.xml</RemoteName>
|
||||
<DeployClass>AndroidSplashImageDef</DeployClass>
|
||||
<Operation>1</Operation>
|
||||
<LocalCommand/>
|
||||
<RemoteCommand/>
|
||||
<Overwrite>True</Overwrite>
|
||||
</DeployFile>
|
||||
<DeployFile Include="Crypto_470_320.png" Condition="'$(Config)'=='Release'">
|
||||
<RemoteDir>Hash_FMX\res\drawable-normal\</RemoteDir>
|
||||
<RemoteName>splash_image.png</RemoteName>
|
||||
<DeployClass>Android_SplashImage470</DeployClass>
|
||||
<Operation>1</Operation>
|
||||
<LocalCommand/>
|
||||
<RemoteCommand/>
|
||||
<Overwrite>True</Overwrite>
|
||||
</DeployFile>
|
||||
<DeployFile Include="Crypto_640_480.png" Condition="'$(Config)'=='Release'">
|
||||
<RemoteDir>Hash_FMX\res\drawable-large\</RemoteDir>
|
||||
<RemoteName>splash_image.png</RemoteName>
|
||||
<DeployClass>Android_SplashImage640</DeployClass>
|
||||
<Operation>1</Operation>
|
||||
<LocalCommand/>
|
||||
<RemoteCommand/>
|
||||
<Overwrite>True</Overwrite>
|
||||
</DeployFile>
|
||||
<DeployFile Include="Hash192.png" Condition="'$(Config)'=='Release'">
|
||||
<RemoteDir>Hash_FMX\res\drawable-xxxhdpi\</RemoteDir>
|
||||
<RemoteName>ic_launcher.png</RemoteName>
|
||||
<DeployClass>Android_LauncherIcon192</DeployClass>
|
||||
<Operation>1</Operation>
|
||||
<LocalCommand/>
|
||||
<RemoteCommand/>
|
||||
<Overwrite>True</Overwrite>
|
||||
</DeployFile>
|
||||
<DeployFile Include="Crypto_426_320.png" Condition="'$(Config)'=='Debug'">
|
||||
<RemoteDir>Hash_FMX\res\drawable-small\</RemoteDir>
|
||||
<RemoteName>splash_image.png</RemoteName>
|
||||
<DeployClass>Android_SplashImage426</DeployClass>
|
||||
<Operation>1</Operation>
|
||||
<LocalCommand/>
|
||||
<RemoteCommand/>
|
||||
<Overwrite>True</Overwrite>
|
||||
</DeployFile>
|
||||
<DeployFile Include="..\..\Compiled\BIN_IDExx.x_Android64__Demos\styles-v21.xml" Condition="'$(Config)'=='Release'">
|
||||
<RemoteDir>Hash_FMX\res\values-v21\</RemoteDir>
|
||||
<RemoteName>styles.xml</RemoteName>
|
||||
<DeployClass>AndroidSplashStylesV21</DeployClass>
|
||||
<Operation>1</Operation>
|
||||
<LocalCommand/>
|
||||
<RemoteCommand/>
|
||||
<Overwrite>True</Overwrite>
|
||||
</DeployFile>
|
||||
<DeployFile Include="$(BDS)\lib\android\debug\armeabi-v7a\libnative-activity.so" Condition="'$(Config)'=='Debug'">
|
||||
<RemoteDir>Hash_FMX\library\lib\armeabi-v7a\</RemoteDir>
|
||||
<RemoteName>libHash_FMX.so</RemoteName>
|
||||
<DeployClass>AndroidLibnativeArmeabiv7aFile</DeployClass>
|
||||
<Operation>1</Operation>
|
||||
<LocalCommand/>
|
||||
<RemoteCommand/>
|
||||
<Overwrite>True</Overwrite>
|
||||
</DeployFile>
|
||||
<DeployFile Include="..\..\Compiled\BIN_IDExx.x_Android64__Demos\colors.xml" Condition="'$(Config)'=='Release'">
|
||||
<RemoteDir>Hash_FMX\res\values\</RemoteDir>
|
||||
<RemoteName>colors.xml</RemoteName>
|
||||
<DeployClass>Android_Colors</DeployClass>
|
||||
<Operation>1</Operation>
|
||||
<LocalCommand/>
|
||||
<RemoteCommand/>
|
||||
<Overwrite>True</Overwrite>
|
||||
</DeployFile>
|
||||
<DeployFile Include="Hash48.png" Condition="'$(Config)'=='Release'">
|
||||
<RemoteDir>Hash_FMX\res\drawable-mdpi\</RemoteDir>
|
||||
<RemoteName>ic_launcher.png</RemoteName>
|
||||
<DeployClass>Android_LauncherIcon48</DeployClass>
|
||||
<Operation>1</Operation>
|
||||
<LocalCommand/>
|
||||
<RemoteCommand/>
|
||||
<Overwrite>True</Overwrite>
|
||||
</DeployFile>
|
||||
<DeployFile Include="$(BDS)\lib\android\debug\mips\libnative-activity.so" Condition="'$(Config)'=='Debug'">
|
||||
<RemoteDir>Hash_FMX\library\lib\mips\</RemoteDir>
|
||||
<RemoteName>libHash_FMX.so</RemoteName>
|
||||
<DeployClass>AndroidLibnativeMipsFile</DeployClass>
|
||||
<Operation>1</Operation>
|
||||
<LocalCommand/>
|
||||
<RemoteCommand/>
|
||||
<Overwrite>True</Overwrite>
|
||||
</DeployFile>
|
||||
<DeployFile Include="..\..\Compiled\BIN_IDExx.x_Android64__Demos\libHash_FMX.so" Condition="'$(Config)'=='Release'">
|
||||
<RemoteDir>Hash_FMX\library\lib\arm64-v8a\</RemoteDir>
|
||||
<RemoteName>libHash_FMX.so</RemoteName>
|
||||
<DeployClass>ProjectOutput</DeployClass>
|
||||
<Operation>1</Operation>
|
||||
<LocalCommand/>
|
||||
<RemoteCommand/>
|
||||
<Overwrite>True</Overwrite>
|
||||
<Required>True</Required>
|
||||
</DeployFile>
|
||||
<DeployFile Include="..\..\Compiled\BIN_IDExx.x_Android64__Demos\AndroidManifest.xml" Condition="'$(Config)'=='Debug'">
|
||||
<RemoteDir>Hash_FMX\</RemoteDir>
|
||||
<RemoteName>AndroidManifest.xml</RemoteName>
|
||||
<DeployClass>ProjectAndroidManifest</DeployClass>
|
||||
<Operation>1</Operation>
|
||||
<LocalCommand/>
|
||||
<RemoteCommand/>
|
||||
<Overwrite>True</Overwrite>
|
||||
</DeployFile>
|
||||
<DeployFile Include="Android64\Release\classes.dex" Condition="'$(Config)'=='Release'">
|
||||
<RemoteDir>Hash_FMX\classes\</RemoteDir>
|
||||
<RemoteName>classes.dex</RemoteName>
|
||||
<DeployClass>AndroidClassesDexFile</DeployClass>
|
||||
<Operation>1</Operation>
|
||||
<LocalCommand/>
|
||||
<RemoteCommand/>
|
||||
<Overwrite>True</Overwrite>
|
||||
</DeployFile>
|
||||
<DeployFile Include="Crypto_470_320.png" Condition="'$(Config)'=='Debug'">
|
||||
<RemoteDir>Hash_FMX\res\drawable-normal\</RemoteDir>
|
||||
<RemoteName>splash_image.png</RemoteName>
|
||||
<DeployClass>Android_SplashImage470</DeployClass>
|
||||
<Operation>1</Operation>
|
||||
<LocalCommand/>
|
||||
<RemoteCommand/>
|
||||
<Overwrite>True</Overwrite>
|
||||
</DeployFile>
|
||||
<DeployFile Include="Hash96.png" Condition="'$(Config)'=='Debug'">
|
||||
<RemoteDir>Hash_FMX\res\drawable-xhdpi\</RemoteDir>
|
||||
<RemoteName>ic_launcher.png</RemoteName>
|
||||
<DeployClass>Android_LauncherIcon96</DeployClass>
|
||||
<Operation>1</Operation>
|
||||
<LocalCommand/>
|
||||
<RemoteCommand/>
|
||||
<Overwrite>True</Overwrite>
|
||||
</DeployFile>
|
||||
<DeployFile Include="Hash72.png" Condition="'$(Config)'=='Debug'">
|
||||
<RemoteDir>Hash_FMX\res\drawable-hdpi\</RemoteDir>
|
||||
<RemoteName>ic_launcher.png</RemoteName>
|
||||
<DeployClass>Android_LauncherIcon72</DeployClass>
|
||||
<Operation>1</Operation>
|
||||
<LocalCommand/>
|
||||
<RemoteCommand/>
|
||||
<Overwrite>True</Overwrite>
|
||||
</DeployFile>
|
||||
<DeployFile Include="..\..\Compiled\BIN_IDExx.x_Android64__Demos\colors.xml" Condition="'$(Config)'=='Debug'">
|
||||
<RemoteDir>Hash_FMX\res\values\</RemoteDir>
|
||||
<RemoteName>colors.xml</RemoteName>
|
||||
<DeployClass>Android_Colors</DeployClass>
|
||||
<Operation>1</Operation>
|
||||
<LocalCommand/>
|
||||
<RemoteCommand/>
|
||||
<Overwrite>True</Overwrite>
|
||||
</DeployFile>
|
||||
<DeployFile Include="..\..\Compiled\BIN_IDExx.x_Android64__Demos\strings.xml" Condition="'$(Config)'=='Release'">
|
||||
<RemoteDir>Hash_FMX\res\values\</RemoteDir>
|
||||
<RemoteName>strings.xml</RemoteName>
|
||||
<DeployClass>Android_Strings</DeployClass>
|
||||
<Operation>1</Operation>
|
||||
<LocalCommand/>
|
||||
<RemoteCommand/>
|
||||
<Overwrite>True</Overwrite>
|
||||
</DeployFile>
|
||||
<DeployFile Include="Crypto_960_720.png" Condition="'$(Config)'=='Debug'">
|
||||
<RemoteDir>Hash_FMX\res\drawable-xlarge\</RemoteDir>
|
||||
<RemoteName>splash_image.png</RemoteName>
|
||||
<DeployClass>Android_SplashImage960</DeployClass>
|
||||
<Operation>1</Operation>
|
||||
<LocalCommand/>
|
||||
<RemoteCommand/>
|
||||
<Overwrite>True</Overwrite>
|
||||
</DeployFile>
|
||||
<DeployFile Include="Hash48.png" Condition="'$(Config)'=='Debug'">
|
||||
<RemoteDir>Hash_FMX\res\drawable-mdpi\</RemoteDir>
|
||||
<RemoteName>ic_launcher.png</RemoteName>
|
||||
<DeployClass>Android_LauncherIcon48</DeployClass>
|
||||
<Operation>1</Operation>
|
||||
<LocalCommand/>
|
||||
<RemoteCommand/>
|
||||
<Overwrite>True</Overwrite>
|
||||
</DeployFile>
|
||||
<DeployFile Include="Hash36.png" Condition="'$(Config)'=='Release'">
|
||||
<RemoteDir>Hash_FMX\res\drawable-ldpi\</RemoteDir>
|
||||
<RemoteName>ic_launcher.png</RemoteName>
|
||||
<DeployClass>Android_LauncherIcon36</DeployClass>
|
||||
<Operation>1</Operation>
|
||||
<LocalCommand/>
|
||||
<RemoteCommand/>
|
||||
<Overwrite>True</Overwrite>
|
||||
</DeployFile>
|
||||
<DeployFile Include="Hash192.png" Condition="'$(Config)'=='Debug'">
|
||||
<RemoteDir>Hash_FMX\res\drawable-xxxhdpi\</RemoteDir>
|
||||
<RemoteName>ic_launcher.png</RemoteName>
|
||||
<DeployClass>Android_LauncherIcon192</DeployClass>
|
||||
<Operation>1</Operation>
|
||||
<LocalCommand/>
|
||||
<RemoteCommand/>
|
||||
<Overwrite>True</Overwrite>
|
||||
</DeployFile>
|
||||
</ItemGroup>
|
||||
</Project>
|
@@ -0,0 +1,16 @@
|
||||
program Hash_FMX;
|
||||
|
||||
uses
|
||||
System.StartUpCopy,
|
||||
FMX.Forms,
|
||||
MainForm in 'MainForm.pas' {FormMain};
|
||||
|
||||
{$R *.res}
|
||||
|
||||
begin
|
||||
ReportMemoryLeaksOnShutdown := true;
|
||||
|
||||
Application.Initialize;
|
||||
Application.CreateForm(TFormMain, FormMain);
|
||||
Application.Run;
|
||||
end.
|
1941
contrib/DelphiEncryptionCompendium/Demos/Hash_FMX/Hash_FMX.dproj
Normal file
BIN
contrib/DelphiEncryptionCompendium/Demos/Hash_FMX/Hash_FMX.res
Normal file
@@ -0,0 +1,50 @@
|
||||
inherited Form1_SmXhdpiPh: TForm1_SmXhdpiPh
|
||||
ClientHeight = 375
|
||||
ClientWidth = 250
|
||||
DesignerMasterStyle = 0
|
||||
inherited VertScrollBox1: TVertScrollBox
|
||||
Size.Width = 250.000000000000000000
|
||||
Size.Height = 375.000000000000000000
|
||||
Viewport.Width = 245.000000000000000000
|
||||
Viewport.Height = 375.000000000000000000
|
||||
inherited LayoutBottom: TLayout
|
||||
inherited Label3: TLabel
|
||||
Size.Width = 42.000000000000000000
|
||||
Size.Height = 22.000000000000000000
|
||||
end
|
||||
inherited Label4: TLabel
|
||||
Size.Width = 150.000000000000000000
|
||||
Size.Height = 22.000000000000000000
|
||||
end
|
||||
inherited Edit1Input: TEdit
|
||||
Size.Height = 32.000000000000000000
|
||||
end
|
||||
inherited EditOutput: TEdit
|
||||
Size.Height = 32.000000000000000000
|
||||
end
|
||||
end
|
||||
inherited LayoutTop: TLayout
|
||||
inherited ComboBoxHashFunction: TComboBox
|
||||
Size.Height = 32.000000000000000000
|
||||
end
|
||||
inherited ComboBoxInputFormatting: TComboBox
|
||||
Size.Height = 32.000000000000000000
|
||||
end
|
||||
inherited ComboBoxOutputFormatting: TComboBox
|
||||
Size.Height = 32.000000000000000000
|
||||
end
|
||||
inherited Label2: TLabel
|
||||
Size.Width = 114.000000000000000000
|
||||
Size.Height = 22.000000000000000000
|
||||
end
|
||||
inherited Label5: TLabel
|
||||
Size.Width = 132.000000000000000000
|
||||
Size.Height = 22.000000000000000000
|
||||
end
|
||||
inherited Label6: TLabel
|
||||
Size.Width = 145.000000000000000000
|
||||
Size.Height = 22.000000000000000000
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
191
contrib/DelphiEncryptionCompendium/Demos/Hash_FMX/MainForm.fmx
Normal file
@@ -0,0 +1,191 @@
|
||||
object FormMain: TFormMain
|
||||
Left = 0
|
||||
Top = 0
|
||||
BorderStyle = Single
|
||||
Caption = 'DEC hash demo'
|
||||
ClientHeight = 697
|
||||
ClientWidth = 427
|
||||
FormFactor.Width = 320
|
||||
FormFactor.Height = 480
|
||||
FormFactor.Devices = [Desktop]
|
||||
OnCreate = FormCreate
|
||||
OnResize = FormResize
|
||||
DesignerMasterStyle = 3
|
||||
object VertScrollBox1: TVertScrollBox
|
||||
Align = Client
|
||||
Size.Width = 427.000000000000000000
|
||||
Size.Height = 697.000000000000000000
|
||||
Size.PlatformDefault = False
|
||||
TabOrder = 0
|
||||
Viewport.Width = 427.000000000000000000
|
||||
Viewport.Height = 697.000000000000000000
|
||||
object LayoutBottom: TLayout
|
||||
Position.Y = 304.000000000000000000
|
||||
Size.Width = 427.000000000000000000
|
||||
Size.Height = 393.000000000000000000
|
||||
Size.PlatformDefault = False
|
||||
TabOrder = 0
|
||||
object Label3: TLabel
|
||||
AutoSize = True
|
||||
Position.X = 16.000000000000000000
|
||||
Position.Y = 8.000000000000000000
|
||||
Size.Width = 42.000000000000000000
|
||||
Size.Height = 22.000000000000000000
|
||||
Size.PlatformDefault = False
|
||||
StyleLookup = 'labelstyle'
|
||||
TextSettings.WordWrap = False
|
||||
Text = 'Input'
|
||||
end
|
||||
object Label4: TLabel
|
||||
AutoSize = True
|
||||
Position.X = 16.000000000000000000
|
||||
Position.Y = 80.000000000000000000
|
||||
Size.Width = 150.000000000000000000
|
||||
Size.Height = 22.000000000000000000
|
||||
Size.PlatformDefault = False
|
||||
StyleLookup = 'labelstyle'
|
||||
TextSettings.WordWrap = False
|
||||
Text = 'Digest/Hash value'
|
||||
end
|
||||
object ButtonCalc: TButton
|
||||
Anchors = [akLeft, akTop, akRight]
|
||||
Position.X = 15.000000000000000000
|
||||
Position.Y = 144.000000000000000000
|
||||
Size.Width = 402.000000000000000000
|
||||
Size.Height = 33.000000000000000000
|
||||
Size.PlatformDefault = False
|
||||
TabOrder = 7
|
||||
Text = 'Calc'
|
||||
OnClick = ButtonCalcClick
|
||||
end
|
||||
object EditInput: TEdit
|
||||
Touch.InteractiveGestures = [LongTap, DoubleTap]
|
||||
Anchors = [akLeft, akTop, akRight]
|
||||
StyleLookup = 'editstyle'
|
||||
TabOrder = 3
|
||||
Position.X = 16.000000000000000000
|
||||
Position.Y = 44.000000000000000000
|
||||
Size.Width = 401.000000000000000000
|
||||
Size.Height = 32.000000000000000000
|
||||
Size.PlatformDefault = False
|
||||
OnChangeTracking = EditInputChangeTracking
|
||||
OnKeyUp = EditInputKeyUp
|
||||
end
|
||||
object EditOutput: TEdit
|
||||
Touch.InteractiveGestures = [LongTap, DoubleTap]
|
||||
Anchors = [akLeft, akTop, akRight]
|
||||
StyleLookup = 'editstyle'
|
||||
TabOrder = 5
|
||||
Position.X = 16.000000000000000000
|
||||
Position.Y = 108.000000000000000000
|
||||
Size.Width = 401.000000000000000000
|
||||
Size.Height = 32.000000000000000000
|
||||
Size.PlatformDefault = False
|
||||
end
|
||||
object LabelVersion: TLabel
|
||||
AutoSize = True
|
||||
Position.X = 16.000000000000000000
|
||||
Position.Y = 192.000000000000000000
|
||||
Size.Width = 272.000000000000000000
|
||||
Size.Height = 22.000000000000000000
|
||||
Size.PlatformDefault = False
|
||||
StyleLookup = 'labelstyle'
|
||||
TextSettings.WordWrap = False
|
||||
Text = #169' 2018-2021 by Team DEC V%0:s'
|
||||
end
|
||||
end
|
||||
object LayoutTop: TLayout
|
||||
Size.Width = 425.000000000000000000
|
||||
Size.Height = 305.000000000000000000
|
||||
Size.PlatformDefault = False
|
||||
TabOrder = 1
|
||||
object ComboBoxHashFunction: TComboBox
|
||||
Anchors = [akLeft, akTop, akRight]
|
||||
Position.X = 16.000000000000000000
|
||||
Position.Y = 44.000000000000000000
|
||||
Size.Width = 400.000000000000000000
|
||||
Size.Height = 32.000000000000000000
|
||||
Size.PlatformDefault = False
|
||||
StyleLookup = 'comboboxstyle'
|
||||
TabOrder = 0
|
||||
OnChange = ComboBoxHashFunctionChange
|
||||
end
|
||||
object ComboBoxInputFormatting: TComboBox
|
||||
Anchors = [akLeft, akTop, akRight]
|
||||
Position.X = 16.000000000000000000
|
||||
Position.Y = 116.000000000000000000
|
||||
Size.Width = 400.000000000000000000
|
||||
Size.Height = 32.000000000000000000
|
||||
Size.PlatformDefault = False
|
||||
StyleLookup = 'comboboxstyle'
|
||||
TabOrder = 1
|
||||
end
|
||||
object ComboBoxOutputFormatting: TComboBox
|
||||
Anchors = [akLeft, akTop, akRight]
|
||||
Position.X = 16.000000000000000000
|
||||
Position.Y = 188.000000000000000000
|
||||
Size.Width = 400.000000000000000000
|
||||
Size.Height = 32.000000000000000000
|
||||
Size.PlatformDefault = False
|
||||
StyleLookup = 'comboboxstyle'
|
||||
TabOrder = 2
|
||||
end
|
||||
object Label2: TLabel
|
||||
AutoSize = True
|
||||
Position.X = 16.000000000000000000
|
||||
Position.Y = 16.000000000000000000
|
||||
Size.Width = 114.000000000000000000
|
||||
Size.Height = 22.000000000000000000
|
||||
Size.PlatformDefault = False
|
||||
StyleLookup = 'labelstyle'
|
||||
TextSettings.WordWrap = False
|
||||
Text = 'Hash function'
|
||||
end
|
||||
object Label5: TLabel
|
||||
AutoSize = True
|
||||
Position.X = 16.000000000000000000
|
||||
Position.Y = 88.000000000000000000
|
||||
Size.Width = 139.000000000000000000
|
||||
Size.Height = 22.000000000000000000
|
||||
Size.PlatformDefault = False
|
||||
StyleLookup = 'labelstyle'
|
||||
TextSettings.WordWrap = False
|
||||
Text = 'Input is in format'
|
||||
end
|
||||
object Label6: TLabel
|
||||
AutoSize = True
|
||||
Position.X = 16.000000000000000000
|
||||
Position.Y = 160.000000000000000000
|
||||
Size.Width = 178.000000000000000000
|
||||
Size.Height = 22.000000000000000000
|
||||
Size.PlatformDefault = False
|
||||
StyleLookup = 'labelstyle'
|
||||
TextSettings.WordWrap = False
|
||||
Text = 'Desired output format'
|
||||
end
|
||||
object CheckBoxLiveCalc: TCheckBox
|
||||
Anchors = [akLeft, akTop, akRight]
|
||||
Position.X = 16.000000000000000000
|
||||
Position.Y = 232.000000000000000000
|
||||
Size.Width = 401.000000000000000000
|
||||
Size.Height = 19.000000000000000000
|
||||
Size.PlatformDefault = False
|
||||
StyleLookup = 'checkboxstyle'
|
||||
TabOrder = 3
|
||||
Text = 'Live calculation'
|
||||
end
|
||||
object CheckBoxIsPasswordHash: TCheckBox
|
||||
Anchors = [akLeft, akTop, akRight]
|
||||
Enabled = False
|
||||
Position.X = 16.000000000000000000
|
||||
Position.Y = 264.000000000000000000
|
||||
Size.Width = 401.000000000000000000
|
||||
Size.Height = 19.000000000000000000
|
||||
Size.PlatformDefault = False
|
||||
StyleLookup = 'checkboxstyle'
|
||||
TabOrder = 4
|
||||
Text = 'Is password hash algorithm'
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
273
contrib/DelphiEncryptionCompendium/Demos/Hash_FMX/MainForm.pas
Normal file
@@ -0,0 +1,273 @@
|
||||
{*****************************************************************************
|
||||
The DEC team (see file NOTICE.txt) licenses this file
|
||||
to you under the Apache License, Version 2.0 (the
|
||||
"License"); you may not use this file except in compliance
|
||||
with the License. A copy of this licence is found in the root directory of
|
||||
this project in the file LICENCE.txt or alternatively at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing,
|
||||
software distributed under the License is distributed on an
|
||||
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||||
KIND, either express or implied. See the License for the
|
||||
specific language governing permissions and limitations
|
||||
under the License.
|
||||
*****************************************************************************}
|
||||
|
||||
unit MainForm;
|
||||
|
||||
interface
|
||||
|
||||
uses
|
||||
System.SysUtils, System.Types, System.UITypes, System.Classes, System.Variants,
|
||||
FMX.Types, FMX.Controls, FMX.Forms, FMX.Graphics, FMX.Dialogs, FMX.StdCtrls,
|
||||
FMX.Controls.Presentation, FMX.ScrollBox, FMX.Memo, FMX.Layouts, FMX.ListBox,
|
||||
FMX.Edit;
|
||||
|
||||
type
|
||||
TFormMain = class(TForm)
|
||||
VertScrollBox1: TVertScrollBox;
|
||||
LayoutBottom: TLayout;
|
||||
Label3: TLabel;
|
||||
Label4: TLabel;
|
||||
ButtonCalc: TButton;
|
||||
EditInput: TEdit;
|
||||
EditOutput: TEdit;
|
||||
Label2: TLabel;
|
||||
Label5: TLabel;
|
||||
ComboBoxHashFunction: TComboBox;
|
||||
Label6: TLabel;
|
||||
ComboBoxInputFormatting: TComboBox;
|
||||
ComboBoxOutputFormatting: TComboBox;
|
||||
LayoutTop: TLayout;
|
||||
CheckBoxLiveCalc: TCheckBox;
|
||||
LabelVersion: TLabel;
|
||||
CheckBoxIsPasswordHash: TCheckBox;
|
||||
procedure FormCreate(Sender: TObject);
|
||||
procedure FormResize(Sender: TObject);
|
||||
procedure ButtonCalcClick(Sender: TObject);
|
||||
procedure ComboBoxHashFunctionChange(Sender: TObject);
|
||||
procedure EditInputChangeTracking(Sender: TObject);
|
||||
procedure EditInputKeyUp(Sender: TObject; var Key: Word; var KeyChar: Char;
|
||||
Shift: TShiftState);
|
||||
private
|
||||
/// <summary>
|
||||
/// Lists all available hash classes in the hash classes combo box
|
||||
/// </summary>
|
||||
procedure InitHashCombo;
|
||||
/// <summary>
|
||||
/// Lists all available formatting classes in the formatting classes
|
||||
/// combo boxes
|
||||
/// </summary>
|
||||
procedure InitFormatCombos;
|
||||
/// <summary>
|
||||
/// Displays a given error message text in a non modal message box
|
||||
/// </summary>
|
||||
/// <param name="ErrorMsg">
|
||||
/// Text to show as error message
|
||||
/// </param>
|
||||
procedure ShowErrorMessage(ErrorMsg: string);
|
||||
/// <summary>
|
||||
/// Returns the full class name of the selected hash class.
|
||||
/// </summary>
|
||||
/// <returns>
|
||||
/// Full class name instead of the displayed algorithm name. It does not
|
||||
/// guard agains having nothing selected.
|
||||
/// </returns>
|
||||
function GetSelectedHashClassName: string;
|
||||
public
|
||||
end;
|
||||
|
||||
var
|
||||
FormMain: TFormMain;
|
||||
|
||||
implementation
|
||||
|
||||
uses
|
||||
DECBaseClass, DECHashBase, DECHash, DECHashAUthentication, DECFormatBase,
|
||||
DECFormat, DECUtil,
|
||||
Generics.Collections, FMX.Platform
|
||||
{$IFDEF Android}
|
||||
,
|
||||
Androidapi.JNI.GraphicsContentViewText,
|
||||
Androidapi.Helpers,
|
||||
Androidapi.JNI.App
|
||||
{$ENDIF};
|
||||
|
||||
{$R *.fmx}
|
||||
|
||||
procedure TFormMain.ButtonCalcClick(Sender: TObject);
|
||||
var
|
||||
Hash : TDECHash;
|
||||
InputFormatting : TDECFormatClass;
|
||||
OutputFormatting : TDECFormatClass;
|
||||
InputBuffer : TBytes;
|
||||
OutputBuffer : TBytes;
|
||||
begin
|
||||
if ComboBoxInputFormatting.ItemIndex >= 0 then
|
||||
begin
|
||||
// Find the class type of the selected formatting class and create an instance of it
|
||||
InputFormatting := TDECFormat.ClassByName(
|
||||
ComboBoxInputFormatting.Items[ComboBoxInputFormatting.ItemIndex]);
|
||||
end
|
||||
else
|
||||
begin
|
||||
ShowErrorMessage('No input format selected');
|
||||
exit;
|
||||
end;
|
||||
|
||||
if ComboBoxOutputFormatting.ItemIndex >= 0 then
|
||||
begin
|
||||
// Find the class type of the selected formatting class and create an instance of it
|
||||
OutputFormatting := TDECFormat.ClassByName(
|
||||
ComboBoxOutputFormatting.Items[ComboBoxOutputFormatting.ItemIndex]);
|
||||
end
|
||||
else
|
||||
begin
|
||||
ShowErrorMessage('No input format selected');
|
||||
exit;
|
||||
end;
|
||||
|
||||
if ComboBoxHashFunction.ItemIndex >= 0 then
|
||||
begin
|
||||
// Find the class type of the selected hash class and create an instance of it
|
||||
Hash := TDECHash.ClassByName(GetSelectedHashClassName).Create;
|
||||
|
||||
try
|
||||
InputBuffer := System.SysUtils.BytesOf(EditInput.Text);
|
||||
|
||||
if InputFormatting.IsValid(InputBuffer) then
|
||||
begin
|
||||
OutputBuffer := Hash.CalcBytes(InputFormatting.Decode(InputBuffer));
|
||||
|
||||
EditOutput.Text := string(DECUtil.BytesToRawString(OutputFormatting.Encode(OutputBuffer)));
|
||||
end
|
||||
else
|
||||
ShowErrorMessage('Input has wrong format');
|
||||
finally
|
||||
Hash.Free;
|
||||
end;
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure TFormMain.ShowErrorMessage(ErrorMsg: string);
|
||||
{$IF RTLVersion > 30}
|
||||
var
|
||||
AsyncDlg : IFMXDialogServiceASync;
|
||||
{$ENDIF}
|
||||
begin
|
||||
{$IF RTLVersion > 30}
|
||||
if TPlatformServices.Current.SupportsPlatformService(IFMXDialogServiceAsync,
|
||||
IInterface(AsyncDlg)) then
|
||||
AsyncDlg.MessageDialogAsync(Translate(ErrorMsg),
|
||||
TMsgDlgType.mtError, [TMsgDlgBtn.mbOk], TMsgDlgBtn.mbOk, 0,
|
||||
procedure (const AResult: TModalResult)
|
||||
begin
|
||||
end);
|
||||
{$ELSE}
|
||||
MessageDlg(Translate(ErrorMsg),
|
||||
TMsgDlgType.mtError, [TMsgDlgBtn.mbOk], 0);
|
||||
{$ENDIF}
|
||||
end;
|
||||
|
||||
procedure TFormMain.ComboBoxHashFunctionChange(Sender: TObject);
|
||||
begin
|
||||
CheckBoxIsPasswordHash.IsChecked :=
|
||||
TDECHash.ClassByName(GetSelectedHashClassName).IsPasswordHash;
|
||||
end;
|
||||
|
||||
procedure TFormMain.EditInputChangeTracking(Sender: TObject);
|
||||
begin
|
||||
if CheckBoxLiveCalc.IsChecked then
|
||||
ButtonCalcClick(self);
|
||||
end;
|
||||
|
||||
procedure TFormMain.EditInputKeyUp(Sender: TObject; var Key: Word;
|
||||
var KeyChar: Char; Shift: TShiftState);
|
||||
begin
|
||||
if (Key = vkReturn) then
|
||||
ButtonCalcClick(self);
|
||||
end;
|
||||
|
||||
procedure TFormMain.FormCreate(Sender: TObject);
|
||||
var
|
||||
AppService : IFMXApplicationService;
|
||||
begin
|
||||
if TPlatformServices.Current.SupportsPlatformService(IFMXApplicationService,
|
||||
IInterface(AppService)) then
|
||||
LabelVersion.Text := format(LabelVersion.Text, [AppService.AppVersion])
|
||||
else
|
||||
LabelVersion.Text := format(LabelVersion.Text, ['']);
|
||||
|
||||
InitHashCombo;
|
||||
InitFormatCombos;
|
||||
end;
|
||||
|
||||
procedure TFormMain.InitFormatCombos;
|
||||
var
|
||||
MyClass : TPair<Int64, TDECClass>;
|
||||
Formats : TStringList;
|
||||
CopyIdx : Integer;
|
||||
begin
|
||||
Formats := TStringList.Create;
|
||||
|
||||
try
|
||||
for MyClass in TDECFormat.ClassList do
|
||||
Formats.Add(MyClass.Value.GetShortClassName);
|
||||
|
||||
Formats.Sort;
|
||||
ComboBoxInputFormatting.Items.AddStrings(Formats);
|
||||
ComboBoxOutputFormatting.Items.AddStrings(Formats);
|
||||
|
||||
if Formats.Count > 0 then
|
||||
begin
|
||||
if Formats.Find('TFormat_Copy', CopyIdx) then
|
||||
begin
|
||||
ComboBoxInputFormatting.ItemIndex := CopyIdx;
|
||||
ComboBoxOutputFormatting.ItemIndex := CopyIdx;
|
||||
end
|
||||
else
|
||||
begin
|
||||
ComboBoxInputFormatting.ItemIndex := 0;
|
||||
ComboBoxOutputFormatting.ItemIndex := 0;
|
||||
end;
|
||||
end;
|
||||
finally
|
||||
Formats.Free;
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure TFormMain.InitHashCombo;
|
||||
var
|
||||
MyClass : TPair<Int64, TDECClass>;
|
||||
Hashes : TStringList;
|
||||
begin
|
||||
Hashes := TStringList.Create;
|
||||
|
||||
try
|
||||
for MyClass in TDECHash.ClassList do
|
||||
Hashes.Add(MyClass.Value.GetShortClassName);
|
||||
|
||||
Hashes.Sort;
|
||||
ComboBoxHashFunction.Items.AddStrings(Hashes);
|
||||
|
||||
if Hashes.Count > 0 then
|
||||
ComboBoxHashFunction.ItemIndex := 0;
|
||||
finally
|
||||
Hashes.Free;
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure TFormMain.FormResize(Sender: TObject);
|
||||
begin
|
||||
LayoutTop.Width := VertScrollBox1.Width;
|
||||
LayoutBottom.Width := VertScrollBox1.Width;
|
||||
end;
|
||||
|
||||
function TFormMain.GetSelectedHashClassName: string;
|
||||
begin
|
||||
Result := 'THash_' + ComboBoxHashFunction.Items[ComboBoxHashFunction.ItemIndex];
|
||||
end;
|
||||
|
||||
end.
|
@@ -0,0 +1,73 @@
|
||||
object FormMain: TFormMain
|
||||
Left = 0
|
||||
Top = 0
|
||||
Caption = 'ProgressTest'
|
||||
ClientHeight = 187
|
||||
ClientWidth = 635
|
||||
Color = clBtnFace
|
||||
Constraints.MinHeight = 226
|
||||
Constraints.MinWidth = 350
|
||||
Font.Charset = DEFAULT_CHARSET
|
||||
Font.Color = clWindowText
|
||||
Font.Height = -11
|
||||
Font.Name = 'Tahoma'
|
||||
Font.Style = []
|
||||
OldCreateOrder = False
|
||||
DesignSize = (
|
||||
635
|
||||
187)
|
||||
PixelsPerInch = 96
|
||||
TextHeight = 13
|
||||
object Button1: TButton
|
||||
Left = 8
|
||||
Top = 16
|
||||
Width = 75
|
||||
Height = 25
|
||||
Caption = 'Encrypt'
|
||||
TabOrder = 0
|
||||
OnClick = Button1Click
|
||||
end
|
||||
object Edit1: TEdit
|
||||
Left = 104
|
||||
Top = 18
|
||||
Width = 523
|
||||
Height = 21
|
||||
Anchors = [akLeft, akTop, akRight]
|
||||
TabOrder = 1
|
||||
Text = 'D:\Test.txt'
|
||||
end
|
||||
object ProgressBar1: TProgressBar
|
||||
Left = 8
|
||||
Top = 64
|
||||
Width = 619
|
||||
Height = 17
|
||||
Anchors = [akLeft, akTop, akRight]
|
||||
TabOrder = 2
|
||||
end
|
||||
object RadioButtonMethod: TRadioButton
|
||||
Left = 8
|
||||
Top = 96
|
||||
Width = 193
|
||||
Height = 17
|
||||
Caption = 'Use method as progress event'
|
||||
Checked = True
|
||||
TabOrder = 3
|
||||
TabStop = True
|
||||
end
|
||||
object RadioButtonProcedure: TRadioButton
|
||||
Left = 8
|
||||
Top = 128
|
||||
Width = 193
|
||||
Height = 17
|
||||
Caption = 'Use procedure as progress event'
|
||||
TabOrder = 4
|
||||
end
|
||||
object RadioButtonAnonMethod: TRadioButton
|
||||
Left = 8
|
||||
Top = 162
|
||||
Width = 233
|
||||
Height = 17
|
||||
Caption = 'Use anonymous method as progress event'
|
||||
TabOrder = 5
|
||||
end
|
||||
end
|
@@ -0,0 +1,130 @@
|
||||
{*****************************************************************************
|
||||
The DEC team (see file NOTICE.txt) licenses this file
|
||||
to you under the Apache License, Version 2.0 (the
|
||||
"License"); you may not use this file except in compliance
|
||||
with the License. A copy of this licence is found in the root directory of
|
||||
this project in the file LICENCE.txt or alternatively at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing,
|
||||
software distributed under the License is distributed on an
|
||||
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||||
KIND, either express or implied. See the License for the
|
||||
specific language governing permissions and limitations
|
||||
under the License.
|
||||
*****************************************************************************}
|
||||
|
||||
/// <summary>
|
||||
/// Simple demonstration of using the IDECProgress interface for displaying
|
||||
/// progress of an operation
|
||||
/// </summary>
|
||||
unit MainForm;
|
||||
|
||||
interface
|
||||
|
||||
uses
|
||||
Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
|
||||
Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.ComCtrls, Vcl.StdCtrls, DECUtil;
|
||||
|
||||
type
|
||||
TFormMain = class(TForm)
|
||||
Button1: TButton;
|
||||
Edit1: TEdit;
|
||||
ProgressBar1: TProgressBar;
|
||||
RadioButtonMethod: TRadioButton;
|
||||
RadioButtonProcedure: TRadioButton;
|
||||
RadioButtonAnonMethod: TRadioButton;
|
||||
procedure Button1Click(Sender: TObject);
|
||||
public
|
||||
procedure OnProgress(Size, Pos: Int64; State: TDECProgressState);
|
||||
end;
|
||||
|
||||
var
|
||||
FormMain: TFormMain;
|
||||
|
||||
implementation
|
||||
|
||||
uses
|
||||
System.UITypes, DECCiphers, DECCipherBase;
|
||||
|
||||
{$R *.dfm}
|
||||
|
||||
resourcestring
|
||||
rFileNameEmptyFailure = 'No input file specified!';
|
||||
|
||||
procedure OnProgressProc(Size, Pos: Int64; State: TDECProgressState);
|
||||
begin
|
||||
FormMain.ProgressBar1.Min := 0;
|
||||
FormMain.ProgressBar1.Max := Size;
|
||||
|
||||
if (State = Finished) then
|
||||
FormMain.ProgressBar1.Position := FormMain.ProgressBar1.Max
|
||||
else
|
||||
FormMain.ProgressBar1.Position := Pos;
|
||||
end;
|
||||
|
||||
procedure TFormMain.Button1Click(Sender: TObject);
|
||||
var
|
||||
Cipher : TCipher_AES;
|
||||
TargetFile : string;
|
||||
begin
|
||||
if Edit1.Text = '' then
|
||||
begin
|
||||
MessageDlg(rFileNameEmptyFailure, mtError, [mbOK], -1);
|
||||
exit;
|
||||
end;
|
||||
|
||||
Cipher := TCipher_AES.Create;
|
||||
|
||||
try
|
||||
try
|
||||
// Init encryption
|
||||
Cipher.Init(RawByteString('Passwort1234567890'), RawByteString(#1#2#3#4#5#6#7#99), 0);
|
||||
Cipher.Mode := cmCBCx;
|
||||
|
||||
// replace file extension of input file
|
||||
TargetFile := Edit1.Text;
|
||||
Delete(TargetFile, pos('.', TargetFile), length(TargetFile));
|
||||
TargetFile := TargetFile + '.enc';
|
||||
|
||||
// depending on selected radio button demo a different progress event technique
|
||||
if RadioButtonMethod.Checked then
|
||||
Cipher.EncodeFile(Edit1.Text, TargetFile, OnProgress)
|
||||
else
|
||||
if RadioButtonProcedure.Checked then
|
||||
Cipher.EncodeFile(Edit1.Text, TargetFile, OnProgressProc)
|
||||
else
|
||||
if RadioButtonAnonMethod.Checked then
|
||||
Cipher.EncodeFile(Edit1.Text, TargetFile,
|
||||
procedure(Size, Pos: Int64; State: TDECProgressState)
|
||||
begin
|
||||
ProgressBar1.Min := 0;
|
||||
ProgressBar1.Max := Size;
|
||||
|
||||
if (State = Finished) then
|
||||
ProgressBar1.Position := ProgressBar1.Max
|
||||
else
|
||||
ProgressBar1.Position := Pos;
|
||||
end);
|
||||
except
|
||||
on E: Exception do
|
||||
MessageDlg(E.Message, mtError, [mbOK], -1);
|
||||
end;
|
||||
finally
|
||||
Cipher.Free;
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure TFormMain.OnProgress(Size, Pos: Int64; State: TDECProgressState);
|
||||
begin
|
||||
ProgressBar1.Min := 0;
|
||||
ProgressBar1.Max := Size;
|
||||
|
||||
if (State = Finished) then
|
||||
ProgressBar1.Position := ProgressBar1.Max
|
||||
else
|
||||
ProgressBar1.Position := Pos;
|
||||
end;
|
||||
|
||||
end.
|
@@ -0,0 +1,27 @@
|
||||
program ProgressDemoVCL;
|
||||
|
||||
uses
|
||||
Vcl.Forms,
|
||||
MainForm in 'MainForm.pas' {Form1},
|
||||
DECBaseClass in '..\..\Source\DECBaseClass.pas',
|
||||
DECCipherBase in '..\..\Source\DECCipherBase.pas',
|
||||
DECCipherFormats in '..\..\Source\DECCipherFormats.pas',
|
||||
DECCipherInterface in '..\..\Source\DECCipherInterface.pas',
|
||||
DECCipherModes in '..\..\Source\DECCipherModes.pas',
|
||||
DECCiphers in '..\..\Source\DECCiphers.pas',
|
||||
DECDataCipher in '..\..\Source\DECDataCipher.pas',
|
||||
DECCRC in '..\..\Source\DECCRC.pas',
|
||||
DECUtil in '..\..\Source\DECUtil.pas',
|
||||
DECTypes in '..\..\Source\DECTypes.pas',
|
||||
DECUtilRawByteStringHelper in '..\..\Source\DECUtilRawByteStringHelper.pas',
|
||||
DECFormatBase in '..\..\Source\DECFormatBase.pas',
|
||||
DECData in '..\..\Source\DECData.pas';
|
||||
|
||||
{$R *.res}
|
||||
|
||||
begin
|
||||
Application.Initialize;
|
||||
Application.MainFormOnTaskbar := True;
|
||||
Application.CreateForm(TFormMain, FormMain);
|
||||
Application.Run;
|
||||
end.
|
@@ -0,0 +1,966 @@
|
||||
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<PropertyGroup>
|
||||
<ProjectGuid>{B6DE5711-AD3F-44B0-8206-FB26B8B82A31}</ProjectGuid>
|
||||
<ProjectVersion>19.2</ProjectVersion>
|
||||
<FrameworkType>VCL</FrameworkType>
|
||||
<Base>True</Base>
|
||||
<Config Condition="'$(Config)'==''">Debug</Config>
|
||||
<Platform Condition="'$(Platform)'==''">Win32</Platform>
|
||||
<TargetedPlatforms>3</TargetedPlatforms>
|
||||
<AppType>Application</AppType>
|
||||
<MainSource>ProgressDemoVCL.dpr</MainSource>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Config)'=='Base' or '$(Base)'!=''">
|
||||
<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="('$(Platform)'=='Win64' and '$(Cfg_1)'=='true') or '$(Cfg_1_Win64)'!=''">
|
||||
<Cfg_1_Win64>true</Cfg_1_Win64>
|
||||
<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="('$(Platform)'=='Win32' and '$(Cfg_2)'=='true') or '$(Cfg_2_Win32)'!=''">
|
||||
<Cfg_2_Win32>true</Cfg_2_Win32>
|
||||
<CfgParent>Cfg_2</CfgParent>
|
||||
<Cfg_2>true</Cfg_2>
|
||||
<Base>true</Base>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="('$(Platform)'=='Win64' and '$(Cfg_2)'=='true') or '$(Cfg_2_Win64)'!=''">
|
||||
<Cfg_2_Win64>true</Cfg_2_Win64>
|
||||
<CfgParent>Cfg_2</CfgParent>
|
||||
<Cfg_2>true</Cfg_2>
|
||||
<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>
|
||||
<DCC_Namespace>System;Xml;Data;Datasnap;Web;Soap;Vcl;Vcl.Imaging;Vcl.Touch;Vcl.Samples;Vcl.Shell;$(DCC_Namespace)</DCC_Namespace>
|
||||
<Icon_MainIcon>$(BDS)\bin\delphi_PROJECTICON.ico</Icon_MainIcon>
|
||||
<UWP_DelphiLogo44>$(BDS)\bin\Artwork\Windows\UWP\delphi_UwpDefault_44.png</UWP_DelphiLogo44>
|
||||
<UWP_DelphiLogo150>$(BDS)\bin\Artwork\Windows\UWP\delphi_UwpDefault_150.png</UWP_DelphiLogo150>
|
||||
<SanitizedProjectName>ProgressDemoVCL</SanitizedProjectName>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Base_Win32)'!=''">
|
||||
<DCC_UsePackage>DBXSqliteDriver;RESTComponents;fmxase;DBXDb2Driver;DBXInterBaseDriver;vclactnband;vclFireDAC;bindcompvclsmp;emsclientfiredac;tethering;svnui;DataSnapFireDAC;JvGlobus;FireDACADSDriver;JvPluginSystem;frx27;DBXMSSQLDriver;JvMM;DatasnapConnectorsFreePascal;FireDACMSSQLDriver;vcltouch;JvBands;vcldb;bindcompfmx;svn;JvJans;DBXOracleDriver;JvNet;inetdb;JvAppFrm;VirtualTreesDR;FmxTeeUI;emsedge;JvDotNetCtrls;fmx;FireDACIBDriver;fmxdae;vcledge;JvWizards;FireDACDBXDriver;dbexpress;IndyCore;vclx;frxTee27;JvPageComps;dsnap;emsclient;DataSnapCommon;SVGIconImageListFMX;FireDACCommon;JvDB;RESTBackendComponents;DataSnapConnectors;VCLRESTComponents;soapserver;JclDeveloperTools;vclie;bindengine;DBXMySQLDriver;CloudService;FireDACOracleDriver;FireDACMySQLDriver;DBXFirebirdDriver;JvCmp;JvHMI;SVGIconPackage;FireDACCommonODBC;FireDACCommonDriver;DataSnapClient;inet;IndyIPCommon;bindcompdbx;frxDB27;JvCustom;vcl;IndyIPServer;DBXSybaseASEDriver;JvXPCtrls;IndySystem;FireDACDb2Driver;bindcompvclwinx;dsnapcon;FireDACMSAccDriver;fmxFireDAC;FireDACInfxDriver;vclimg;TeeDB;FireDAC;Jcl;JvCore;emshosting;JvCrypt;FireDACSqliteDriver;FireDACPgDriver;FireDACASADriver;DBXOdbcDriver;FireDACTDataDriver;FMXTee;soaprtl;DbxCommonDriver;JvDlgs;JvRuntimeDesign;JvManagedThreads;Tee;DataSnapServer;xmlrtl;soapmidas;DataSnapNativeClient;fmxobj;vclwinx;FireDACDSDriver;rtl;emsserverresource;DbxClientDriver;JvTimeFramework;DBXSybaseASADriver;CustomIPTransport;vcldsnap;CodeSiteExpressPkg;JvSystem;JvStdCtrls;bindcomp;appanalytics;DBXInformixDriver;IndyIPClient;bindcompvcl;frxe27;SVGIconImageList;TeeUI;JvDocking;dbxcds;VclSmp;JvPascalInterpreter;adortl;FireDACODBCDriver;JclVcl;DataSnapIndy10ServerTransport;dsnapxml;DataSnapProviderClient;dbrtl;IndyProtocols;inetdbxpress;FireDACMongoDBDriver;JvControls;JvPrintPreview;JclContainers;DataSnapServerMidas;$(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>
|
||||
<Manifest_File>$(BDS)\bin\default_app.manifest</Manifest_File>
|
||||
<DCC_ExeOutput>.\..\..\Compiled\BIN_IDExx.x_$(Platform)__Demos</DCC_ExeOutput>
|
||||
<DCC_DcuOutput>.\..\..\Compiled\DCU_IDE$(ProductVersion)_$(Platform)__Demos</DCC_DcuOutput>
|
||||
<DCC_DcpOutput>.\..\..\Compiled\DCP_IDE$(ProductVersion)_$(Platform)_$(Config)</DCC_DcpOutput>
|
||||
<DCC_BplOutput>.\..\..\Compiled\BIN_IDExx.x_$(Platform)__Demos</DCC_BplOutput>
|
||||
<DCC_UnitSearchPath>.\..\..\Compiled\DCU_IDE$(ProductVersion)_$(Platform)_$(Config);$(DCC_UnitSearchPath)</DCC_UnitSearchPath>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Base_Win64)'!=''">
|
||||
<DCC_UsePackage>DBXSqliteDriver;RESTComponents;fmxase;DBXDb2Driver;DBXInterBaseDriver;vclactnband;vclFireDAC;bindcompvclsmp;emsclientfiredac;tethering;DataSnapFireDAC;FireDACADSDriver;DBXMSSQLDriver;DatasnapConnectorsFreePascal;FireDACMSSQLDriver;vcltouch;vcldb;bindcompfmx;DBXOracleDriver;inetdb;VirtualTreesDR;FmxTeeUI;emsedge;fmx;FireDACIBDriver;fmxdae;vcledge;FireDACDBXDriver;dbexpress;IndyCore;vclx;dsnap;emsclient;DataSnapCommon;FireDACCommon;RESTBackendComponents;DataSnapConnectors;VCLRESTComponents;soapserver;vclie;bindengine;DBXMySQLDriver;CloudService;FireDACOracleDriver;FireDACMySQLDriver;DBXFirebirdDriver;FireDACCommonODBC;FireDACCommonDriver;DataSnapClient;inet;IndyIPCommon;bindcompdbx;vcl;IndyIPServer;DBXSybaseASEDriver;IndySystem;FireDACDb2Driver;bindcompvclwinx;dsnapcon;FireDACMSAccDriver;fmxFireDAC;FireDACInfxDriver;vclimg;TeeDB;FireDAC;emshosting;FireDACSqliteDriver;FireDACPgDriver;FireDACASADriver;DBXOdbcDriver;FireDACTDataDriver;FMXTee;soaprtl;DbxCommonDriver;Tee;DataSnapServer;xmlrtl;soapmidas;DataSnapNativeClient;fmxobj;vclwinx;FireDACDSDriver;rtl;emsserverresource;DbxClientDriver;DBXSybaseASADriver;CustomIPTransport;vcldsnap;bindcomp;appanalytics;DBXInformixDriver;IndyIPClient;bindcompvcl;TeeUI;dbxcds;VclSmp;adortl;FireDACODBCDriver;DataSnapIndy10ServerTransport;dsnapxml;DataSnapProviderClient;dbrtl;IndyProtocols;inetdbxpress;FireDACMongoDBDriver;DataSnapServerMidas;$(DCC_UsePackage)</DCC_UsePackage>
|
||||
<DCC_Namespace>Winapi;System.Win;Data.Win;Datasnap.Win;Web.Win;Soap.Win;Xml.Win;$(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>
|
||||
<Manifest_File>$(BDS)\bin\default_app.manifest</Manifest_File>
|
||||
</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>
|
||||
<AppEnableRuntimeThemes>true</AppEnableRuntimeThemes>
|
||||
<AppDPIAwarenessMode>PerMonitorV2</AppDPIAwarenessMode>
|
||||
<VerInfo_IncludeVerInfo>true</VerInfo_IncludeVerInfo>
|
||||
<VerInfo_Locale>1033</VerInfo_Locale>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Cfg_1_Win64)'!=''">
|
||||
<AppEnableRuntimeThemes>true</AppEnableRuntimeThemes>
|
||||
<AppDPIAwarenessMode>PerMonitorV2</AppDPIAwarenessMode>
|
||||
</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>
|
||||
<PropertyGroup Condition="'$(Cfg_2_Win32)'!=''">
|
||||
<AppEnableRuntimeThemes>true</AppEnableRuntimeThemes>
|
||||
<AppDPIAwarenessMode>PerMonitorV2</AppDPIAwarenessMode>
|
||||
<VerInfo_IncludeVerInfo>true</VerInfo_IncludeVerInfo>
|
||||
<VerInfo_Locale>1033</VerInfo_Locale>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Cfg_2_Win64)'!=''">
|
||||
<AppEnableRuntimeThemes>true</AppEnableRuntimeThemes>
|
||||
<AppDPIAwarenessMode>PerMonitorV2</AppDPIAwarenessMode>
|
||||
</PropertyGroup>
|
||||
<ItemGroup>
|
||||
<DelphiCompile Include="$(MainSource)">
|
||||
<MainSource>MainSource</MainSource>
|
||||
</DelphiCompile>
|
||||
<DCCReference Include="MainForm.pas">
|
||||
<Form>Form1</Form>
|
||||
<FormType>dfm</FormType>
|
||||
</DCCReference>
|
||||
<DCCReference Include="..\..\Source\DECBaseClass.pas"/>
|
||||
<DCCReference Include="..\..\Source\DECCipherBase.pas"/>
|
||||
<DCCReference Include="..\..\Source\DECCipherFormats.pas"/>
|
||||
<DCCReference Include="..\..\Source\DECCipherInterface.pas"/>
|
||||
<DCCReference Include="..\..\Source\DECCipherModes.pas"/>
|
||||
<DCCReference Include="..\..\Source\DECCiphers.pas"/>
|
||||
<DCCReference Include="..\..\Source\DECDataCipher.pas"/>
|
||||
<DCCReference Include="..\..\Source\DECCRC.pas"/>
|
||||
<DCCReference Include="..\..\Source\DECUtil.pas"/>
|
||||
<DCCReference Include="..\..\Source\DECTypes.pas"/>
|
||||
<DCCReference Include="..\..\Source\DECUtilRawByteStringHelper.pas"/>
|
||||
<DCCReference Include="..\..\Source\DECFormatBase.pas"/>
|
||||
<DCCReference Include="..\..\Source\DECData.pas"/>
|
||||
<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">ProgressDemoVCL.dpr</Source>
|
||||
</Source>
|
||||
<Excluded_Packages>
|
||||
<Excluded_Packages Name="$(BDSBIN)\dcloffice2k270.bpl">Microsoft Office 2000 Beispiele für gekapselte Komponenten für Automatisierungsserver</Excluded_Packages>
|
||||
<Excluded_Packages Name="$(BDSBIN)\dclofficexp270.bpl">Microsoft Office XP Beispiele für gekapselte Komponenten für Automation Server</Excluded_Packages>
|
||||
</Excluded_Packages>
|
||||
</Delphi.Personality>
|
||||
<Deployment Version="3">
|
||||
<DeployFile LocalName="Win32\Debug\ProgressDemoVCL.exe" Configuration="Debug" Class="ProjectOutput">
|
||||
<Platform Name="Win32">
|
||||
<RemoteName>ProgressDemoVCL.exe</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="Win32">True</Platform>
|
||||
<Platform value="Win64">True</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>
|
@@ -0,0 +1,74 @@
|
||||
{*****************************************************************************
|
||||
The DEC team (see file NOTICE.txt) licenses this file
|
||||
to you under the Apache License, Version 2.0 (the
|
||||
"License"); you may not use this file except in compliance
|
||||
with the license. A copy of this licence is found in the root directory of
|
||||
this project in the file LICENCE.txt or alternatively at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing,
|
||||
software distributed under the License is distributed on an
|
||||
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||||
KIND, either express or implied. See the License for the
|
||||
specific language governing permissions and limitations
|
||||
under the License.
|
||||
*****************************************************************************}
|
||||
|
||||
/// <summary>
|
||||
/// Most simple demonstration of using the pseudo random number generator
|
||||
/// </summary>
|
||||
program Random_Console;
|
||||
|
||||
{$APPTYPE CONSOLE}
|
||||
|
||||
{$R *.res}
|
||||
|
||||
uses
|
||||
System.SysUtils,
|
||||
DECRandom;
|
||||
|
||||
var
|
||||
RandomNumbers: TBytes;
|
||||
i, n : Integer;
|
||||
|
||||
begin
|
||||
try
|
||||
// Draw one random number each
|
||||
WriteLn('Random UInt32 1: ', RandomLong);
|
||||
WriteLn('Random UInt32 2: ', RandomLong);
|
||||
WriteLn;
|
||||
|
||||
WriteLn('Get a buffer of random numbers');
|
||||
|
||||
for n := 1 to 2 do
|
||||
begin
|
||||
// Get a buffer full of random bytes
|
||||
RandomNumbers := RandomBytes(5);
|
||||
|
||||
for i := Low(RandomNumbers) to High(RandomNumbers) do
|
||||
WriteLn('Random number ', i, ' ', RandomNumbers[i]);
|
||||
|
||||
WriteLn;
|
||||
end;
|
||||
|
||||
WriteLn('Fill existing buffer');
|
||||
RandomBuffer(RandomNumbers[0], length(RandomNumbers));
|
||||
|
||||
for i := Low(RandomNumbers) to High(RandomNumbers) do
|
||||
WriteLn('Random number ', i, ' ', RandomNumbers[i]);
|
||||
|
||||
WriteLn;
|
||||
|
||||
WriteLn('The way we initialize the seed now we will always get the ');
|
||||
WriteLn('same random number 1092210896 - so this is not recommended!');
|
||||
|
||||
RandomSeed(RandomNumbers, 0);
|
||||
WriteLn('Random UInt32 1: ', RandomLong);
|
||||
|
||||
ReadLn;
|
||||
except
|
||||
on E: Exception do
|
||||
Writeln(E.ClassName, ': ', E.Message);
|
||||
end;
|
||||
end.
|
@@ -0,0 +1,983 @@
|
||||
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<PropertyGroup>
|
||||
<ProjectGuid>{D55FA1A8-C7CC-4C2B-B516-EA90F34161BB}</ProjectGuid>
|
||||
<ProjectVersion>19.2</ProjectVersion>
|
||||
<FrameworkType>None</FrameworkType>
|
||||
<Base>True</Base>
|
||||
<Config Condition="'$(Config)'==''">Debug</Config>
|
||||
<Platform Condition="'$(Platform)'==''">Win32</Platform>
|
||||
<TargetedPlatforms>3</TargetedPlatforms>
|
||||
<AppType>Console</AppType>
|
||||
<MainSource>Random_Console.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>.\..\..\Compiled\DCU_IDE$(ProductVersion)_$(Platform)__Demos</DCC_DcuOutput>
|
||||
<DCC_ExeOutput>.\..\..\Compiled\BIN_IDExx.x_$(Platform)__Demos</DCC_ExeOutput>
|
||||
<DCC_HppOutput>.\..\..\Compiled\DCP_IDE$(ProductVersion)_$(Platform)_$(Config)</DCC_HppOutput>
|
||||
<DCC_ObjOutput>.\..\..\Compiled\DCU_IDE$(ProductVersion)_$(Platform)__Demos</DCC_ObjOutput>
|
||||
<DCC_BpiOutput>.\..\..\Compiled\DCP_IDE$(ProductVersion)_$(Platform)_$(Config)</DCC_BpiOutput>
|
||||
<DCC_UnitSearchPath>.\..\..\Compiled\DCU_IDE$(ProductVersion)_$(Platform)_$(Config);$(DCC_UnitSearchPath)</DCC_UnitSearchPath>
|
||||
<DCC_BplOutput>.\..\..\Compiled\BIN_IDExx.x_$(Platform)__Demos</DCC_BplOutput>
|
||||
<DCC_DcpOutput>.\..\..\Compiled\DCP_IDE$(ProductVersion)_$(Platform)_$(Config)</DCC_DcpOutput>
|
||||
<VerInfo_Locale>1031</VerInfo_Locale>
|
||||
<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>
|
||||
<SanitizedProjectName>Random_Console</SanitizedProjectName>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Base_Android)'!=''">
|
||||
<DCC_UsePackage>DBXSqliteDriver;RESTComponents;DBXInterBaseDriver;emsclientfiredac;tethering;DataSnapFireDAC;bindcompfmx;FmxTeeUI;fmx;FireDACIBDriver;FireDACDBXDriver;dbexpress;IndyCore;dsnap;emsclient;DataSnapCommon;FireDACCommon;RESTBackendComponents;soapserver;bindengine;CloudService;FireDACCommonDriver;DataSnapClient;inet;IndyIPCommon;bindcompdbx;IndyIPServer;IndySystem;fmxFireDAC;FireDAC;FireDACSqliteDriver;FMXTee;soaprtl;DbxCommonDriver;xmlrtl;soapmidas;DataSnapNativeClient;FireDACDSDriver;rtl;DbxClientDriver;CustomIPTransport;bindcomp;IndyIPClient;dbxcds;dsnapxml;DataSnapProviderClient;dbrtl;IndyProtocols;$(DCC_UsePackage)</DCC_UsePackage>
|
||||
<Android_LauncherIcon36>$(BDS)\bin\Artwork\Android\FM_LauncherIcon_36x36.png</Android_LauncherIcon36>
|
||||
<Android_LauncherIcon48>$(BDS)\bin\Artwork\Android\FM_LauncherIcon_48x48.png</Android_LauncherIcon48>
|
||||
<Android_LauncherIcon72>$(BDS)\bin\Artwork\Android\FM_LauncherIcon_72x72.png</Android_LauncherIcon72>
|
||||
<Android_LauncherIcon96>$(BDS)\bin\Artwork\Android\FM_LauncherIcon_96x96.png</Android_LauncherIcon96>
|
||||
<Android_LauncherIcon144>$(BDS)\bin\Artwork\Android\FM_LauncherIcon_144x144.png</Android_LauncherIcon144>
|
||||
<Android_SplashImage426>$(BDS)\bin\Artwork\Android\FM_SplashImage_426x320.png</Android_SplashImage426>
|
||||
<Android_SplashImage470>$(BDS)\bin\Artwork\Android\FM_SplashImage_470x320.png</Android_SplashImage470>
|
||||
<Android_SplashImage640>$(BDS)\bin\Artwork\Android\FM_SplashImage_640x480.png</Android_SplashImage640>
|
||||
<Android_SplashImage960>$(BDS)\bin\Artwork\Android\FM_SplashImage_960x720.png</Android_SplashImage960>
|
||||
<Android_NotificationIcon24>$(BDS)\bin\Artwork\Android\FM_NotificationIcon_24x24.png</Android_NotificationIcon24>
|
||||
<Android_NotificationIcon36>$(BDS)\bin\Artwork\Android\FM_NotificationIcon_36x36.png</Android_NotificationIcon36>
|
||||
<Android_NotificationIcon48>$(BDS)\bin\Artwork\Android\FM_NotificationIcon_48x48.png</Android_NotificationIcon48>
|
||||
<Android_NotificationIcon72>$(BDS)\bin\Artwork\Android\FM_NotificationIcon_72x72.png</Android_NotificationIcon72>
|
||||
<Android_NotificationIcon96>$(BDS)\bin\Artwork\Android\FM_NotificationIcon_96x96.png</Android_NotificationIcon96>
|
||||
<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>
|
||||
<Android_LauncherIcon192>$(BDS)\bin\Artwork\Android\FM_LauncherIcon_192x192.png</Android_LauncherIcon192>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Base_Android64)'!=''">
|
||||
<DCC_UsePackage>DBXSqliteDriver;RESTComponents;DBXInterBaseDriver;emsclientfiredac;tethering;DataSnapFireDAC;bindcompfmx;FmxTeeUI;fmx;FireDACIBDriver;FireDACDBXDriver;dbexpress;IndyCore;dsnap;emsclient;DataSnapCommon;FireDACCommon;RESTBackendComponents;soapserver;bindengine;CloudService;FireDACCommonDriver;DataSnapClient;inet;IndyIPCommon;bindcompdbx;IndyIPServer;IndySystem;fmxFireDAC;FireDAC;FireDACSqliteDriver;FMXTee;soaprtl;DbxCommonDriver;xmlrtl;soapmidas;DataSnapNativeClient;FireDACDSDriver;rtl;DbxClientDriver;CustomIPTransport;bindcomp;IndyIPClient;dbxcds;dsnapxml;DataSnapProviderClient;dbrtl;IndyProtocols;$(DCC_UsePackage)</DCC_UsePackage>
|
||||
<Android_LauncherIcon36>$(BDS)\bin\Artwork\Android\FM_LauncherIcon_36x36.png</Android_LauncherIcon36>
|
||||
<Android_LauncherIcon48>$(BDS)\bin\Artwork\Android\FM_LauncherIcon_48x48.png</Android_LauncherIcon48>
|
||||
<Android_LauncherIcon72>$(BDS)\bin\Artwork\Android\FM_LauncherIcon_72x72.png</Android_LauncherIcon72>
|
||||
<Android_LauncherIcon96>$(BDS)\bin\Artwork\Android\FM_LauncherIcon_96x96.png</Android_LauncherIcon96>
|
||||
<Android_LauncherIcon144>$(BDS)\bin\Artwork\Android\FM_LauncherIcon_144x144.png</Android_LauncherIcon144>
|
||||
<Android_SplashImage426>$(BDS)\bin\Artwork\Android\FM_SplashImage_426x320.png</Android_SplashImage426>
|
||||
<Android_SplashImage470>$(BDS)\bin\Artwork\Android\FM_SplashImage_470x320.png</Android_SplashImage470>
|
||||
<Android_SplashImage640>$(BDS)\bin\Artwork\Android\FM_SplashImage_640x480.png</Android_SplashImage640>
|
||||
<Android_SplashImage960>$(BDS)\bin\Artwork\Android\FM_SplashImage_960x720.png</Android_SplashImage960>
|
||||
<Android_NotificationIcon24>$(BDS)\bin\Artwork\Android\FM_NotificationIcon_24x24.png</Android_NotificationIcon24>
|
||||
<Android_NotificationIcon36>$(BDS)\bin\Artwork\Android\FM_NotificationIcon_36x36.png</Android_NotificationIcon36>
|
||||
<Android_NotificationIcon48>$(BDS)\bin\Artwork\Android\FM_NotificationIcon_48x48.png</Android_NotificationIcon48>
|
||||
<Android_NotificationIcon72>$(BDS)\bin\Artwork\Android\FM_NotificationIcon_72x72.png</Android_NotificationIcon72>
|
||||
<Android_NotificationIcon96>$(BDS)\bin\Artwork\Android\FM_NotificationIcon_96x96.png</Android_NotificationIcon96>
|
||||
<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>
|
||||
<Android_LauncherIcon192>$(BDS)\bin\Artwork\Android\FM_LauncherIcon_192x192.png</Android_LauncherIcon192>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Base_Win32)'!=''">
|
||||
<DCC_UsePackage>DBXSqliteDriver;RESTComponents;fmxase;DBXDb2Driver;DBXInterBaseDriver;vclactnband;vclFireDAC;bindcompvclsmp;emsclientfiredac;tethering;svnui;DataSnapFireDAC;JvGlobus;FireDACADSDriver;JvPluginSystem;frx27;DBXMSSQLDriver;JvMM;DatasnapConnectorsFreePascal;FireDACMSSQLDriver;vcltouch;JvBands;vcldb;bindcompfmx;svn;JvJans;DBXOracleDriver;JvNet;inetdb;JvAppFrm;VirtualTreesDR;FmxTeeUI;emsedge;JvDotNetCtrls;fmx;FireDACIBDriver;fmxdae;vcledge;JvWizards;FireDACDBXDriver;dbexpress;IndyCore;vclx;frxTee27;JvPageComps;dsnap;emsclient;DataSnapCommon;SVGIconImageListFMX;FireDACCommon;JvDB;RESTBackendComponents;DataSnapConnectors;VCLRESTComponents;soapserver;JclDeveloperTools;vclie;bindengine;DBXMySQLDriver;CloudService;FireDACOracleDriver;FireDACMySQLDriver;DBXFirebirdDriver;SVGIconPackage;JvCmp;JvHMI;FireDACCommonODBC;FireDACCommonDriver;DataSnapClient;inet;IndyIPCommon;bindcompdbx;JvCustom;frxDB27;vcl;IndyIPServer;DBXSybaseASEDriver;JvXPCtrls;IndySystem;FireDACDb2Driver;bindcompvclwinx;dsnapcon;FireDACMSAccDriver;fmxFireDAC;FireDACInfxDriver;vclimg;TeeDB;FireDAC;Jcl;JvCore;emshosting;JvCrypt;FireDACSqliteDriver;FireDACPgDriver;FireDACASADriver;DBXOdbcDriver;FireDACTDataDriver;FMXTee;soaprtl;DbxCommonDriver;JvDlgs;JvRuntimeDesign;JvManagedThreads;Tee;DataSnapServer;xmlrtl;soapmidas;DataSnapNativeClient;fmxobj;vclwinx;FireDACDSDriver;rtl;emsserverresource;DbxClientDriver;JvTimeFramework;DBXSybaseASADriver;CustomIPTransport;vcldsnap;CodeSiteExpressPkg;JvSystem;JvStdCtrls;bindcomp;appanalytics;DBXInformixDriver;IndyIPClient;bindcompvcl;frxe27;SVGIconImageList;TeeUI;JvDocking;dbxcds;VclSmp;JvPascalInterpreter;adortl;FireDACODBCDriver;JclVcl;DataSnapIndy10ServerTransport;dsnapxml;DataSnapProviderClient;dbrtl;IndyProtocols;inetdbxpress;FireDACMongoDBDriver;JvControls;JvPrintPreview;JclContainers;DataSnapServerMidas;$(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_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>
|
||||
<DCC_ConsoleTarget>true</DCC_ConsoleTarget>
|
||||
<UWP_DelphiLogo44>$(BDS)\bin\Artwork\Windows\UWP\delphi_UwpDefault_44.png</UWP_DelphiLogo44>
|
||||
<UWP_DelphiLogo150>$(BDS)\bin\Artwork\Windows\UWP\delphi_UwpDefault_150.png</UWP_DelphiLogo150>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Base_Win64)'!=''">
|
||||
<DCC_UsePackage>DBXSqliteDriver;RESTComponents;fmxase;DBXDb2Driver;DBXInterBaseDriver;vclactnband;vclFireDAC;bindcompvclsmp;emsclientfiredac;tethering;DataSnapFireDAC;FireDACADSDriver;DBXMSSQLDriver;DatasnapConnectorsFreePascal;FireDACMSSQLDriver;vcltouch;vcldb;bindcompfmx;DBXOracleDriver;inetdb;VirtualTreesDR;FmxTeeUI;emsedge;fmx;FireDACIBDriver;fmxdae;vcledge;FireDACDBXDriver;dbexpress;IndyCore;vclx;dsnap;emsclient;DataSnapCommon;FireDACCommon;RESTBackendComponents;DataSnapConnectors;VCLRESTComponents;soapserver;vclie;bindengine;DBXMySQLDriver;CloudService;FireDACOracleDriver;FireDACMySQLDriver;DBXFirebirdDriver;FireDACCommonODBC;FireDACCommonDriver;DataSnapClient;inet;IndyIPCommon;bindcompdbx;vcl;IndyIPServer;DBXSybaseASEDriver;IndySystem;FireDACDb2Driver;bindcompvclwinx;dsnapcon;FireDACMSAccDriver;fmxFireDAC;FireDACInfxDriver;vclimg;TeeDB;FireDAC;emshosting;FireDACSqliteDriver;FireDACPgDriver;FireDACASADriver;DBXOdbcDriver;FireDACTDataDriver;FMXTee;soaprtl;DbxCommonDriver;Tee;DataSnapServer;xmlrtl;soapmidas;DataSnapNativeClient;fmxobj;vclwinx;FireDACDSDriver;rtl;emsserverresource;DbxClientDriver;DBXSybaseASADriver;CustomIPTransport;vcldsnap;bindcomp;appanalytics;DBXInformixDriver;IndyIPClient;bindcompvcl;TeeUI;dbxcds;VclSmp;adortl;FireDACODBCDriver;DataSnapIndy10ServerTransport;dsnapxml;DataSnapProviderClient;dbrtl;IndyProtocols;inetdbxpress;FireDACMongoDBDriver;DataSnapServerMidas;$(DCC_UsePackage)</DCC_UsePackage>
|
||||
<DCC_ConsoleTarget>true</DCC_ConsoleTarget>
|
||||
<UWP_DelphiLogo44>$(BDS)\bin\Artwork\Windows\UWP\delphi_UwpDefault_44.png</UWP_DelphiLogo44>
|
||||
<UWP_DelphiLogo150>$(BDS)\bin\Artwork\Windows\UWP\delphi_UwpDefault_150.png</UWP_DelphiLogo150>
|
||||
<DCC_Namespace>Winapi;System.Win;Data.Win;Datasnap.Win;Web.Win;Soap.Win;Xml.Win;$(DCC_Namespace)</DCC_Namespace>
|
||||
<BT_BuildType>Debug</BT_BuildType>
|
||||
<VerInfo_Locale>1033</VerInfo_Locale>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Cfg_1)'!=''">
|
||||
<DCC_Define>DEBUG;$(DCC_Define)</DCC_Define>
|
||||
<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>
|
||||
<VerInfo_Locale>1033</VerInfo_Locale>
|
||||
<Manifest_File>(Ohne)</Manifest_File>
|
||||
</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">Random_Console.dpr</Source>
|
||||
</Source>
|
||||
<Excluded_Packages>
|
||||
<Excluded_Packages Name="C:\Users\Public\Documents\Embarcadero\Studio\21.0\bpl\LockBox3FMXDD270.bpl">TurboPack LockBox 3 FMX designtime package</Excluded_Packages>
|
||||
<Excluded_Packages Name="$(BDSBIN)\dcloffice2k270.bpl">Microsoft Office 2000 Beispiele für gekapselte Komponenten für Automatisierungsserver</Excluded_Packages>
|
||||
<Excluded_Packages Name="$(BDSBIN)\dclofficexp270.bpl">Microsoft Office XP Beispiele für gekapselte Komponenten für Automation Server</Excluded_Packages>
|
||||
</Excluded_Packages>
|
||||
</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="..\..\Compiled\BIN_IDExx.x_Win32__Demos\Random_Console.exe" Configuration="Debug" Class="ProjectOutput">
|
||||
<Platform Name="Win32">
|
||||
<RemoteName>Random_Console.exe</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="ProjectiOSDeviceResourceRules">
|
||||
<Platform Name="iOSDevice32">
|
||||
<Operation>1</Operation>
|
||||
</Platform>
|
||||
<Platform Name="iOSDevice64">
|
||||
<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">True</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>
|