Browse Source

Refactor: remove Delphi support

Herman Schoenfeld 7 years ago
parent
commit
f482739591
70 changed files with 181 additions and 6412 deletions
  1. 4 1
      .gitignore
  2. 1 1
      PascalCoinMiner.lpi
  3. 7 4
      PascalCoinMiner.pp
  4. 23 41
      PascalCoinWallet.dpr
  5. 0 0
      PascalCoinWallet.ico
  6. 55 5
      PascalCoinWallet.lpi
  7. BIN
      PascalCoinWallet.res
  8. 0 36
      PascalCoinWalletLazarus.dpr
  9. 0 366
      PascalCoinWalletLazarus.lpi.bak
  10. BIN
      Resources/WalletImages/PascalCoin.ico
  11. 0 302
      Units/Forms/UFRMAbout.dfm
  12. 3 28
      Units/Forms/UFRMAbout.pas
  13. 1 1
      Units/Forms/UFRMAccountInfo.lfm
  14. 1 1
      Units/Forms/UFRMAccountInfo.pas
  15. 0 262
      Units/Forms/UFRMAccountSelect.dfm
  16. 1 11
      Units/Forms/UFRMAccountSelect.pas
  17. 1 4
      Units/Forms/UFRMLogs.pas
  18. 0 66
      Units/Forms/UFRMMemoText.dfm
  19. 2 9
      Units/Forms/UFRMMemoText.pas
  20. 1 5
      Units/Forms/UFRMMessages.pas
  21. 0 86
      Units/Forms/UFRMNewPrivateKeyType.dfm
  22. 2 12
      Units/Forms/UFRMNewPrivateKeyType.pas
  23. 1 5
      Units/Forms/UFRMNodes.pas
  24. 0 86
      Units/Forms/UFRMNodesIp.dfm
  25. 3 12
      Units/Forms/UFRMNodesIp.pas
  26. 0 1068
      Units/Forms/UFRMOperation.dfm
  27. 2 12
      Units/Forms/UFRMOperation.pas
  28. 0 4
      Units/Forms/UFRMOperationExplorer.pas
  29. 0 381
      Units/Forms/UFRMPascalCoinWalletConfig.dfm
  30. 2 17
      Units/Forms/UFRMPascalCoinWalletConfig.pas
  31. 0 426
      Units/Forms/UFRMPayloadDecoder.dfm
  32. 2 12
      Units/Forms/UFRMPayloadDecoder.pas
  33. 0 220
      Units/Forms/UFRMSaleAccounts.dfm
  34. 2 0
      Units/Forms/UFRMSaleAccounts.pas
  35. 4 1
      Units/Forms/UFRMSyncronizationDialog.pas
  36. 0 1723
      Units/Forms/UFRMWallet.dfm
  37. 2 2
      Units/Forms/UFRMWallet.lfm
  38. 5 16
      Units/Forms/UFRMWallet.pas
  39. 0 800
      Units/Forms/UFRMWalletKeys.dfm
  40. 4 15
      Units/Forms/UFRMWalletKeys.pas
  41. 1 12
      Units/PascalCoin/UAES.pas
  42. 2 15
      Units/PascalCoin/UAccounts.pas
  43. 1 5
      Units/PascalCoin/UBaseTypes.pas
  44. 1 3
      Units/PascalCoin/UBlockChain.pas
  45. 2 5
      Units/PascalCoin/UChunk.pas
  46. 1 5
      Units/PascalCoin/UConst.pas
  47. 1 3
      Units/PascalCoin/UCrypto.pas
  48. 1 23
      Units/PascalCoin/UECIES.pas
  49. 1 3
      Units/PascalCoin/UFileStorage.pas
  50. 1 3
      Units/PascalCoin/ULog.pas
  51. 2 9
      Units/PascalCoin/UNetProtocol.pas
  52. 1 3
      Units/PascalCoin/UNode.pas
  53. 1 3
      Units/PascalCoin/UOpTransaction.pas
  54. 7 17
      Units/PascalCoin/UOpenSSL.pas
  55. 1 3
      Units/PascalCoin/UOpenSSLdef.pas
  56. 1 8
      Units/PascalCoin/UPoolMining.pas
  57. 2 5
      Units/PascalCoin/URPC.pas
  58. 1 3
      Units/PascalCoin/UServerApp.pas
  59. 1 11
      Units/PascalCoin/UTCPIP.pas
  60. 1 7
      Units/PascalCoin/UThread.pas
  61. 1 43
      Units/PascalCoin/UTime.pas
  62. 1 3
      Units/PascalCoin/UWalletKeys.pas
  63. 9 32
      Units/PascalCoin/config.inc
  64. 1 3
      Units/Utils/UAppParams.pas
  65. 2 4
      Units/Utils/UCommon.pas
  66. 1 3
      Units/Utils/UCommonUI.pas
  67. 1 34
      Units/Utils/UFolderHelper.pas
  68. 4 23
      Units/Utils/UGridUtils.pas
  69. 1 77
      Units/Utils/UJSONFunctions.pas
  70. 1 3
      Units/Utils/UWizard.pas

+ 4 - 1
.gitignore

@@ -16,10 +16,13 @@ libeay64.dll
 *.dproj.local
 *.dproj.local
 *.lps
 *.lps
 *.dcu
 *.dcu
-backup/
 lib/
 lib/
 PascalCoinWallet_Icon.ico
 PascalCoinWallet_Icon.ico
 
 
+#Lazarus backup files
+*.bak
+backup/
+
 ## Development miner batch file
 ## Development miner batch file
 Run*.bat
 Run*.bat
 
 

+ 1 - 1
PascalCoinMiner.lpi

@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <?xml version="1.0" encoding="UTF-8"?>
 <CONFIG>
 <CONFIG>
   <ProjectOptions>
   <ProjectOptions>
-    <Version Value="9"/>
+    <Version Value="10"/>
     <PathDelim Value="\"/>
     <PathDelim Value="\"/>
     <General>
     <General>
       <Flags>
       <Flags>

+ 7 - 4
PascalCoinMiner.pp

@@ -177,7 +177,10 @@ begin
   FLock.Acquire;
   FLock.Acquire;
   try
   try
     msg := formatdatetime('hh:nn:ss',now)+' '+CT_LogType[logtype]+' '+logtext;
     msg := formatdatetime('hh:nn:ss',now)+' '+CT_LogType[logtype]+' '+logtext;
-    FLastLogs.AddObject(msg,TObject(PtrInt(logtype)));
+    // TODO - test logtype is properly casted/stored/retrieved/accessed.
+    // Confirm casting doesn't lose bits in 32/64 bit archs
+    // OLD: FLastLogs.AddObject(msg,TObject(PtrInt(logtype)));
+    FLastLogs.AddObject(msg,TObject(Int(QWord(logtype))));
     i := FLastLogs.Count-CT_MaxLogs;
     i := FLastLogs.Count-CT_MaxLogs;
     if (i<0) then i:=0;
     if (i<0) then i:=0;
     nline := CT_Line_Logs+FDeviceThreads.Count;
     nline := CT_Line_Logs+FDeviceThreads.Count;
@@ -273,7 +276,7 @@ var
     devt : TCustomMinerDeviceThread;
     devt : TCustomMinerDeviceThread;
     s : String;
     s : String;
   Begin
   Begin
-    tc := GetTickCount;
+    tc := GetTickCount64;
     repeat
     repeat
       If FPoolMinerThread.PoolMinerClient.Connected then begin
       If FPoolMinerThread.PoolMinerClient.Connected then begin
         for i:=0 to FDeviceThreads.Count-1 do begin
         for i:=0 to FDeviceThreads.Count-1 do begin
@@ -283,8 +286,8 @@ var
       while (Not Terminated) do begin
       while (Not Terminated) do begin
         sleep(100);
         sleep(100);
         //devt := TCustomMinerDeviceThread(FDeviceThreads[0]);
         //devt := TCustomMinerDeviceThread(FDeviceThreads[0]);
-        If (tc + 1000)<GetTickCount then begin
-          tc := GetTickCount;
+        If (tc + 1000)<GetTickCount64 then begin
+          tc := GetTickCount64;
           //ms := devt.DeviceStats;
           //ms := devt.DeviceStats;
           For i:=0 to FDeviceThreads.Count-1 do begin
           For i:=0 to FDeviceThreads.Count-1 do begin
             devt := TCustomMinerDeviceThread(FDeviceThreads[i]);
             devt := TCustomMinerDeviceThread(FDeviceThreads[i]);

+ 23 - 41
PascalCoinWallet.dpr

@@ -1,51 +1,33 @@
 program PascalCoinWallet;
 program PascalCoinWallet;
 
 
+{$mode delphi}
+
 uses
 uses
+  {$IFDEF LINUX}cthreads,{$ENDIF}
+  Interfaces,
+  sysutils,
+  UOpenSSL,
+  UCrypto,
   Forms,
   Forms,
-  UBlockChain in 'Units\PascalCoin\UBlockChain.pas',
-  UCrypto in 'Units\PascalCoin\UCrypto.pas',
-  UTime in 'Units\PascalCoin\UTime.pas',
-  UWalletKeys in 'Units\PascalCoin\UWalletKeys.pas',
-  UOpTransaction in 'Units\PascalCoin\UOpTransaction.pas',
-  UNetProtocol in 'Units\PascalCoin\UNetProtocol.pas',
-  UAccounts in 'Units\PascalCoin\UAccounts.pas',
-  UConst in 'Units\PascalCoin\UConst.pas',
-  UThread in 'Units\PascalCoin\UThread.pas',
-  ULog in 'Units\PascalCoin\ULog.pas',
-  UNode in 'Units\PascalCoin\UNode.pas',
-  UECIES in 'Units\PascalCoin\UECIES.pas',
-  UFRMWallet in 'Units\Forms\UFRMWallet.pas' {FRMWallet},
-  UFolderHelper in 'Units\Utils\UFolderHelper.pas',
-  UAppParams in 'Units\Utils\UAppParams.pas',
-  UGridUtils in 'Units\Utils\UGridUtils.pas',
-  UFRMPascalCoinWalletConfig in 'Units\Forms\UFRMPascalCoinWalletConfig.pas' {FRMPascalCoinWalletConfig},
-  UFRMAbout in 'Units\Forms\UFRMAbout.pas' {FRMAbout},
-  UFRMOperation in 'Units\Forms\UFRMOperation.pas' {FRMOperation},
-  UFRMWalletKeys in 'Units\Forms\UFRMWalletKeys.pas' {FRMWalletKeys},
-  UFRMNewPrivateKeyType in 'Units\Forms\UFRMNewPrivateKeyType.pas' {FRMNewPrivateKeyType},
-  UFRMPayloadDecoder in 'Units\Forms\UFRMPayloadDecoder.pas' {FRMPayloadDecoder},
-  UFRMNodesIp in 'Units\Forms\UFRMNodesIp.pas' {FRMNodesIp},
-  UTCPIP in 'Units\PascalCoin\UTCPIP.pas',
-  UJSONFunctions in 'Units\Utils\UJSONFunctions.pas',
-  URPC in 'Units\PascalCoin\URPC.pas',
-  UPoolMining in 'Units\PascalCoin\UPoolMining.pas',
-  UFileStorage in 'Units\PascalCoin\UFileStorage.pas',
-  UOpenSSL in 'Units\PascalCoin\UOpenSSL.pas',
-  UOpenSSLdef in 'Units\PascalCoin\UOpenSSLdef.pas',
-  UAES in 'Units\PascalCoin\UAES.pas',
-  UFRMAccountSelect in 'Units\Forms\UFRMAccountSelect.pas' {FRMAccountSelect},
-  UFRMAccountInfo in 'Units\Forms\UFRMAccountInfo.pas' {FRMAccountInfo},
-  UFRMMemoText in 'Units\Forms\UFRMMemoText.pas' {FRMMemoText},
-  UChunk in 'Units\PascalCoin\UChunk.pas',
-  UBaseTypes in 'Units\PascalCoin\UBaseTypes.pas',
-  UCommon in 'Units\Utils\UCommon.pas';
-
-{$R *.res}
+  UFRMWallet,
+  UUserInterface;
 
 
+//{$R *.res}
+var
+   mainForm : TFRMWallet;
 begin
 begin
+  // Start OpenSSL dll
+  if Not LoadSSLCrypt then
+    raise Exception.Create('Cannot load '+SSL_C_LIB+#10+'To use this software make sure this file is available on you system or reinstall the application');
+  TCrypto.InitCrypto;
+
   Application.Initialize;
   Application.Initialize;
-  Application.MainFormOnTaskbar := True;
+  {$IFDEF WINDOWS}{$Warnings OFF}
+  Application.MainFormOnTaskBar := True;
+  {$Warnings ON}{$ENDIF}
   Application.Title := 'Pascal Coin Wallet, Miner & Explorer';
   Application.Title := 'Pascal Coin Wallet, Miner & Explorer';
-  Application.CreateForm(TFRMWallet, FRMWallet);
+  Application.CreateForm(TFRMWallet, mainForm);
+  TUserInterface.Start(mainForm);
   Application.Run;
   Application.Run;
 end.
 end.
+

+ 0 - 0
PascalCoinWalletLazarus.ico → PascalCoinWallet.ico


+ 55 - 5
PascalCoinWalletLazarus.lpi → PascalCoinWallet.lpi

@@ -11,7 +11,7 @@
       </Flags>
       </Flags>
       <SessionStorage Value="InProjectDir"/>
       <SessionStorage Value="InProjectDir"/>
       <MainUnit Value="0"/>
       <MainUnit Value="0"/>
-      <Title Value="PascalCoinWalletLazarus"/>
+      <Title Value="PascalCoin Wallet"/>
       <UseAppBundle Value="False"/>
       <UseAppBundle Value="False"/>
       <ResourceType Value="res"/>
       <ResourceType Value="res"/>
       <Icon Value="0"/>
       <Icon Value="0"/>
@@ -38,9 +38,9 @@
         <PackageName Value="LCL"/>
         <PackageName Value="LCL"/>
       </Item1>
       </Item1>
     </RequiredPackages>
     </RequiredPackages>
-    <Units Count="54">
+    <Units Count="66">
       <Unit0>
       <Unit0>
-        <Filename Value="PascalCoinWalletLazarus.dpr"/>
+        <Filename Value="PascalCoinWallet.dpr"/>
         <IsPartOfProject Value="True"/>
         <IsPartOfProject Value="True"/>
       </Unit0>
       </Unit0>
       <Unit1>
       <Unit1>
@@ -315,16 +315,66 @@
         <Filename Value="Units\Utils\UCommon.pas"/>
         <Filename Value="Units\Utils\UCommon.pas"/>
         <IsPartOfProject Value="True"/>
         <IsPartOfProject Value="True"/>
       </Unit53>
       </Unit53>
+      <Unit54>
+        <Filename Value="Units\PascalCoin\UGPUMining.pas"/>
+        <IsPartOfProject Value="True"/>
+      </Unit54>
+      <Unit55>
+        <Filename Value="Units\PascalCoin\upcdaemon.pas"/>
+        <IsPartOfProject Value="True"/>
+      </Unit55>
+      <Unit56>
+        <Filename Value="Units\PascalCoin\UPoolMinerThreads.pas"/>
+        <IsPartOfProject Value="True"/>
+      </Unit56>
+      <Unit57>
+        <Filename Value="Units\PascalCoin\UServerApp.pas"/>
+        <IsPartOfProject Value="True"/>
+      </Unit57>
+      <Unit58>
+        <Filename Value="Units\PascalCoin\USha256.pas"/>
+        <IsPartOfProject Value="True"/>
+      </Unit58>
+      <Unit59>
+        <Filename Value="Units\Utils\generics.dictionaries.inc"/>
+        <IsPartOfProject Value="True"/>
+      </Unit59>
+      <Unit60>
+        <Filename Value="Units\Utils\generics.dictionariesh.inc"/>
+        <IsPartOfProject Value="True"/>
+      </Unit60>
+      <Unit61>
+        <Filename Value="Units\Utils\UWizard.lfm"/>
+        <IsPartOfProject Value="True"/>
+      </Unit61>
+      <Unit62>
+        <Filename Value="Units\Forms\UFRMAccountInfo.pas"/>
+        <IsPartOfProject Value="True"/>
+        <HasResources Value="True"/>
+      </Unit62>
+      <Unit63>
+        <Filename Value="Units\Forms\UFRMMemoText.pas"/>
+        <IsPartOfProject Value="True"/>
+        <HasResources Value="True"/>
+      </Unit63>
+      <Unit64>
+        <Filename Value="Units\Forms\UFRMSaleAccounts.pas"/>
+        <IsPartOfProject Value="True"/>
+      </Unit64>
+      <Unit65>
+        <Filename Value="Units\Forms\UFRMWalletKeys2.pas"/>
+        <IsPartOfProject Value="True"/>
+      </Unit65>
     </Units>
     </Units>
   </ProjectOptions>
   </ProjectOptions>
   <CompilerOptions>
   <CompilerOptions>
     <Version Value="11"/>
     <Version Value="11"/>
     <PathDelim Value="\"/>
     <PathDelim Value="\"/>
     <Target>
     <Target>
-      <Filename Value="PascalCoinWalletLazarus"/>
+      <Filename Value="PascalCoinWallet"/>
     </Target>
     </Target>
     <SearchPaths>
     <SearchPaths>
-      <IncludeFiles Value="$(ProjOutDir)"/>
+      <IncludeFiles Value="$(ProjOutDir);Units\PascalCoin;Units\Utils"/>
       <OtherUnitFiles Value="Synapse\lib;Units\Forms;Units\PascalCoin;Units\Utils;Units\SQLite3"/>
       <OtherUnitFiles Value="Synapse\lib;Units\Forms;Units\PascalCoin;Units\Utils;Units\SQLite3"/>
       <UnitOutputDirectory Value="lib\$(TargetCPU)-$(TargetOS)"/>
       <UnitOutputDirectory Value="lib\$(TargetCPU)-$(TargetOS)"/>
     </SearchPaths>
     </SearchPaths>

BIN
PascalCoinWallet.res


+ 0 - 36
PascalCoinWalletLazarus.dpr

@@ -1,36 +0,0 @@
-program PascalCoinWalletLazarus;
-
-{$IFDEF FPC}
-  {$MODE Delphi}
-{$ENDIF}
-
-uses
-{$IFDEF FPC}
-  {$IFDEF LINUX}cthreads,{$ENDIF}
-  Interfaces,
-{$ENDIF}
-  sysutils,
-  UOpenSSL,
-  UCrypto,
-  Forms,
-  UFRMWallet,
-  UUserInterface;
-
-//{$R *.res}
-var
-   mainForm : TFRMWallet;
-begin
-  // Start OpenSSL dll
-  if Not LoadSSLCrypt then
-    raise Exception.Create('Cannot load '+SSL_C_LIB+#10+'To use this software make sure this file is available on you system or reinstall the application');
-  TCrypto.InitCrypto;
-
-  Application.Initialize;
-  {$IFDEF WINDOWS}{$Warnings OFF}
-  Application.MainFormOnTaskBar := True;
-  {$Warnings ON}{$ENDIF}
-  Application.Title := 'Pascal Coin Wallet, Miner & Explorer';
-  Application.CreateForm(TFRMWallet, mainForm);
-  TUserInterface.Start(mainForm);
-  Application.Run;
-end.

+ 0 - 366
PascalCoinWalletLazarus.lpi.bak

@@ -1,366 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<CONFIG>
-  <ProjectOptions>
-    <Version Value="10"/>
-    <PathDelim Value="\"/>
-    <General>
-      <Flags>
-        <MainUnitHasUsesSectionForAllUnits Value="False"/>
-        <MainUnitHasCreateFormStatements Value="False"/>
-        <MainUnitHasTitleStatement Value="False"/>
-      </Flags>
-      <SessionStorage Value="InProjectDir"/>
-      <MainUnit Value="0"/>
-      <Title Value="PascalCoinWalletLazarus"/>
-      <UseAppBundle Value="False"/>
-      <ResourceType Value="res"/>
-      <Icon Value="0"/>
-    </General>
-    <i18n>
-      <EnableI18N LFM="False"/>
-    </i18n>
-    <VersionInfo>
-      <StringTable ProductVersion=""/>
-    </VersionInfo>
-    <BuildModes Count="1">
-      <Item1 Name="Default" Default="True"/>
-    </BuildModes>
-    <PublishOptions>
-      <Version Value="2"/>
-    </PublishOptions>
-    <RunParams>
-      <local>
-        <FormatVersion Value="1"/>
-      </local>
-    </RunParams>
-    <RequiredPackages Count="1">
-      <Item1>
-        <PackageName Value="LCL"/>
-      </Item1>
-    </RequiredPackages>
-    <Units Count="52">
-      <Unit0>
-        <Filename Value="PascalCoinWalletLazarus.dpr"/>
-        <IsPartOfProject Value="True"/>
-      </Unit0>
-      <Unit1>
-        <Filename Value="Units\PascalCoin\UBlockChain.pas"/>
-        <IsPartOfProject Value="True"/>
-      </Unit1>
-      <Unit2>
-        <Filename Value="Units\PascalCoin\UCrypto.pas"/>
-        <IsPartOfProject Value="True"/>
-      </Unit2>
-      <Unit3>
-        <Filename Value="Units\PascalCoin\UTime.pas"/>
-        <IsPartOfProject Value="True"/>
-      </Unit3>
-      <Unit4>
-        <Filename Value="Units\PascalCoin\UWalletKeys.pas"/>
-        <IsPartOfProject Value="True"/>
-      </Unit4>
-      <Unit5>
-        <Filename Value="Units\PascalCoin\UOpTransaction.pas"/>
-        <IsPartOfProject Value="True"/>
-      </Unit5>
-      <Unit6>
-        <Filename Value="Units\PascalCoin\UNetProtocol.pas"/>
-        <IsPartOfProject Value="True"/>
-      </Unit6>
-      <Unit7>
-        <Filename Value="Units\PascalCoin\UAccounts.pas"/>
-        <IsPartOfProject Value="True"/>
-      </Unit7>
-      <Unit8>
-        <Filename Value="Units\PascalCoin\UConst.pas"/>
-        <IsPartOfProject Value="True"/>
-      </Unit8>
-      <Unit9>
-        <Filename Value="Units\PascalCoin\UThread.pas"/>
-        <IsPartOfProject Value="True"/>
-      </Unit9>
-      <Unit10>
-        <Filename Value="Units\PascalCoin\ULog.pas"/>
-        <IsPartOfProject Value="True"/>
-      </Unit10>
-      <Unit11>
-        <Filename Value="Units\PascalCoin\UNode.pas"/>
-        <IsPartOfProject Value="True"/>
-      </Unit11>
-      <Unit12>
-        <Filename Value="Units\PascalCoin\UECIES.pas"/>
-        <IsPartOfProject Value="True"/>
-      </Unit12>
-      <Unit13>
-        <Filename Value="Units\Forms\UFRMWallet.pas"/>
-        <IsPartOfProject Value="True"/>
-        <ComponentName Value="FRMWallet"/>
-        <HasResources Value="True"/>
-        <ResourceBaseClass Value="Form"/>
-      </Unit13>
-      <Unit14>
-        <Filename Value="Units\Utils\UFolderHelper.pas"/>
-        <IsPartOfProject Value="True"/>
-      </Unit14>
-      <Unit15>
-        <Filename Value="Units\Utils\UAppParams.pas"/>
-        <IsPartOfProject Value="True"/>
-      </Unit15>
-      <Unit16>
-        <Filename Value="Units\Utils\UGridUtils.pas"/>
-        <IsPartOfProject Value="True"/>
-      </Unit16>
-      <Unit17>
-        <Filename Value="Units\Forms\UFRMPascalCoinWalletConfig.pas"/>
-        <IsPartOfProject Value="True"/>
-        <ComponentName Value="FRMPascalCoinWalletConfig"/>
-        <HasResources Value="True"/>
-        <ResourceBaseClass Value="Form"/>
-      </Unit17>
-      <Unit18>
-        <Filename Value="Units\Forms\UFRMAbout.pas"/>
-        <IsPartOfProject Value="True"/>
-        <ComponentName Value="FRMAbout"/>
-        <HasResources Value="True"/>
-        <ResourceBaseClass Value="Form"/>
-      </Unit18>
-      <Unit19>
-        <Filename Value="Units\Forms\UFRMOperation.pas"/>
-        <IsPartOfProject Value="True"/>
-        <ComponentName Value="FRMOperation"/>
-        <HasResources Value="True"/>
-        <ResourceBaseClass Value="Form"/>
-      </Unit19>
-      <Unit20>
-        <Filename Value="Units\Forms\UFRMWalletKeys.pas"/>
-        <IsPartOfProject Value="True"/>
-        <ComponentName Value="FRMWalletKeys"/>
-        <HasResources Value="True"/>
-        <ResourceBaseClass Value="Form"/>
-      </Unit20>
-      <Unit21>
-        <Filename Value="Units\Forms\UFRMNewPrivateKeyType.pas"/>
-        <IsPartOfProject Value="True"/>
-        <ComponentName Value="FRMNewPrivateKeyType"/>
-        <HasResources Value="True"/>
-        <ResourceBaseClass Value="Form"/>
-      </Unit21>
-      <Unit22>
-        <Filename Value="Units\Forms\UFRMPayloadDecoder.pas"/>
-        <IsPartOfProject Value="True"/>
-        <ComponentName Value="FRMPayloadDecoder"/>
-        <HasResources Value="True"/>
-        <ResourceBaseClass Value="Form"/>
-      </Unit22>
-      <Unit23>
-        <Filename Value="Units\Forms\UFRMNodesIp.pas"/>
-        <IsPartOfProject Value="True"/>
-        <ComponentName Value="FRMNodesIp"/>
-        <HasResources Value="True"/>
-        <ResourceBaseClass Value="Form"/>
-      </Unit23>
-      <Unit24>
-        <Filename Value="Units\PascalCoin\UTCPIP.pas"/>
-        <IsPartOfProject Value="True"/>
-      </Unit24>
-      <Unit25>
-        <Filename Value="Units\Utils\UJSONFunctions.pas"/>
-        <IsPartOfProject Value="True"/>
-      </Unit25>
-      <Unit26>
-        <Filename Value="Units\PascalCoin\URPC.pas"/>
-        <IsPartOfProject Value="True"/>
-      </Unit26>
-      <Unit27>
-        <Filename Value="Units\PascalCoin\UPoolMining.pas"/>
-        <IsPartOfProject Value="True"/>
-      </Unit27>
-      <Unit28>
-        <Filename Value="Units\PascalCoin\UOpenSSL.pas"/>
-        <IsPartOfProject Value="True"/>
-      </Unit28>
-      <Unit29>
-        <Filename Value="Units\PascalCoin\UOpenSSLdef.pas"/>
-        <IsPartOfProject Value="True"/>
-      </Unit29>
-      <Unit30>
-        <Filename Value="Units\PascalCoin\UFileStorage.pas"/>
-        <IsPartOfProject Value="True"/>
-      </Unit30>
-      <Unit31>
-        <Filename Value="Units\PascalCoin\config.inc"/>
-        <IsPartOfProject Value="True"/>
-      </Unit31>
-      <Unit32>
-        <Filename Value="Units\PascalCoin\UAES.pas"/>
-        <IsPartOfProject Value="True"/>
-      </Unit32>
-      <Unit33>
-        <Filename Value="Units\PascalCoin\UChunk.pas"/>
-        <IsPartOfProject Value="True"/>
-      </Unit33>
-      <Unit34>
-        <Filename Value="Units\Forms\UFRMAccountSelect.pas"/>
-        <IsPartOfProject Value="True"/>
-        <ComponentName Value="FRMAccountSelect"/>
-        <HasResources Value="True"/>
-        <ResourceBaseClass Value="Form"/>
-      </Unit34>
-      <Unit35>
-        <Filename Value="Units\PascalCoin\UBaseTypes.pas"/>
-        <IsPartOfProject Value="True"/>
-      </Unit35>
-      <Unit36>
-        <Filename Value="Units\Utils\UCommon.pas"/>
-        <IsPartOfProject Value="True"/>
-      </Unit36>
-      <Unit37>
-        <Filename Value="Units\Utils\UWizard.pas"/>
-        <IsPartOfProject Value="True"/>
-        <ComponentName Value="WizardHostForm"/>
-        <HasResources Value="True"/>
-        <ResourceBaseClass Value="Form"/>
-      </Unit37>
-      <Unit38>
-        <Filename Value="Units\Utils\generics.collections.pas"/>
-        <IsPartOfProject Value="True"/>
-        <UnitName Value="Generics.Collections"/>
-      </Unit38>
-      <Unit39>
-        <Filename Value="Units\Utils\generics.defaults.pas"/>
-        <IsPartOfProject Value="True"/>
-        <UnitName Value="Generics.Defaults"/>
-      </Unit39>
-      <Unit40>
-        <Filename Value="Units\Utils\generics.hashes.pas"/>
-        <IsPartOfProject Value="True"/>
-        <UnitName Value="Generics.Hashes"/>
-      </Unit40>
-      <Unit41>
-        <Filename Value="Units\Utils\generics.helpers.pas"/>
-        <IsPartOfProject Value="True"/>
-        <UnitName Value="Generics.Helpers"/>
-      </Unit41>
-      <Unit42>
-        <Filename Value="Units\Utils\generics.memoryexpanders.pas"/>
-        <IsPartOfProject Value="True"/>
-        <UnitName Value="Generics.MemoryExpanders"/>
-      </Unit42>
-      <Unit43>
-        <Filename Value="Units\Utils\generics.strings.pas"/>
-        <IsPartOfProject Value="True"/>
-        <UnitName Value="Generics.Strings"/>
-      </Unit43>
-      <Unit44>
-        <Filename Value="Units\Forms\UFRMMessages.pas"/>
-        <IsPartOfProject Value="True"/>
-        <ComponentName Value="FRMMessages"/>
-        <HasResources Value="True"/>
-        <ResourceBaseClass Value="Form"/>
-      </Unit44>
-      <Unit45>
-        <Filename Value="Units\Forms\UFRMNodes.pas"/>
-        <IsPartOfProject Value="True"/>
-        <ComponentName Value="FRMNodes"/>
-        <HasResources Value="True"/>
-        <ResourceBaseClass Value="Form"/>
-      </Unit45>
-      <Unit46>
-        <Filename Value="Units\Forms\UFRMLogs.pas"/>
-        <IsPartOfProject Value="True"/>
-        <ComponentName Value="FRMLogs"/>
-        <HasResources Value="True"/>
-        <ResourceBaseClass Value="Form"/>
-      </Unit46>
-      <Unit47>
-        <Filename Value="Units\Forms\UFRMOperationExplorer.pas"/>
-        <IsPartOfProject Value="True"/>
-        <ComponentName Value="FRMOperationExplorer"/>
-        <HasResources Value="True"/>
-        <ResourceBaseClass Value="Form"/>
-      </Unit47>
-      <Unit48>
-        <Filename Value="Units\Forms\UFRMBlockExplorer.pas"/>
-        <IsPartOfProject Value="True"/>
-        <ComponentName Value="FRMBlockExplorer"/>
-        <HasResources Value="True"/>
-        <ResourceBaseClass Value="Form"/>
-      </Unit48>
-      <Unit49>
-        <Filename Value="Units\Forms\UFRMPendingOperations.pas"/>
-        <IsPartOfProject Value="True"/>
-        <ComponentName Value="FRMPendingOperations"/>
-        <HasResources Value="True"/>
-        <ResourceBaseClass Value="Form"/>
-      </Unit49>
-      <Unit50>
-        <Filename Value="Units\Forms\UFRMAccountExplorer.pas"/>
-        <IsPartOfProject Value="True"/>
-        <ComponentName Value="FRMAccountExplorer"/>
-        <HasResources Value="True"/>
-        <ResourceBaseClass Value="Form"/>
-      </Unit50>
-      <Unit51>
-        <Filename Value="Units\Forms\UFRMSyncronizationDialog.pas"/>
-        <IsPartOfProject Value="True"/>
-        <ComponentName Value="FRMSyncronizationDialog"/>
-        <HasResources Value="True"/>
-        <ResourceBaseClass Value="Form"/>
-      </Unit51>
-    </Units>
-  </ProjectOptions>
-  <CompilerOptions>
-    <Version Value="11"/>
-    <PathDelim Value="\"/>
-    <Target>
-      <Filename Value="PascalCoinWalletLazarus"/>
-    </Target>
-    <SearchPaths>
-      <IncludeFiles Value="$(ProjOutDir)"/>
-      <OtherUnitFiles Value="Synapse\lib;Units\Forms;Units\PascalCoin;Units\Utils;Units\SQLite3"/>
-      <UnitOutputDirectory Value="lib\$(TargetCPU)-$(TargetOS)"/>
-    </SearchPaths>
-    <Parsing>
-      <SyntaxOptions>
-        <SyntaxMode Value="Delphi"/>
-      </SyntaxOptions>
-    </Parsing>
-    <CodeGeneration>
-      <Optimizations>
-        <OptimizationLevel Value="0"/>
-      </Optimizations>
-    </CodeGeneration>
-    <Linking>
-      <Options>
-        <Win32>
-          <GraphicApplication Value="True"/>
-        </Win32>
-      </Options>
-    </Linking>
-    <Other>
-      <Verbosity>
-        <ShowHintsForUnusedUnitsInMainSrc Value="True"/>
-        <ShowHintsForSenderNotUsed Value="True"/>
-      </Verbosity>
-      <CustomOptions Value="-vd
--dBorland
--dVer150
--dDelphi7
--dCompiler6_Up
--dPUREPASCAL"/>
-    </Other>
-  </CompilerOptions>
-  <Debugging>
-    <Exceptions Count="3">
-      <Item1>
-        <Name Value="EAbort"/>
-      </Item1>
-      <Item2>
-        <Name Value="ECodetoolError"/>
-      </Item2>
-      <Item3>
-        <Name Value="EFOpenError"/>
-      </Item3>
-    </Exceptions>
-  </Debugging>
-</CONFIG>

BIN
PascalCoinWalletLazarus.res → Resources/WalletImages/PascalCoin.ico


+ 0 - 302
Units/Forms/UFRMAbout.dfm

@@ -1,302 +0,0 @@
-object FRMAbout: TFRMAbout
-  Left = 0
-  Top = 0
-  ActiveControl = bbClose
-  BorderIcons = [biSystemMenu]
-  BorderStyle = bsDialog
-  Caption = 'About...'
-  ClientHeight = 415
-  ClientWidth = 522
-  Color = clBtnFace
-  Font.Charset = DEFAULT_CHARSET
-  Font.Color = clWindowText
-  Font.Height = -11
-  Font.Name = 'Tahoma'
-  Font.Style = []
-  OldCreateOrder = False
-  Position = poOwnerFormCenter
-  OnCreate = FormCreate
-  PixelsPerInch = 96
-  TextHeight = 13
-  object Image1: TImage
-    Left = 15
-    Top = 15
-    Width = 62
-    Height = 62
-    AutoSize = True
-    Picture.Data = {
-      0954506E67496D61676589504E470D0A1A0A0000000D494844520000003E0000
-      003E080600000073C1A8440000000473424954080808087C0864880000000970
-      48597300000B1200000B1201D2DD7EFC0000001C74455874536F667477617265
-      0041646F62652046697265776F726B7320435336E8BCB28C0000001674455874
-      4372656174696F6E2054696D650030362F30372F313610A27E9700000EDA4944
-      415478DACD9B095813D716804F4280A860E1A9A0A295A556AD0B88F6A9CF85A4
-      6E6D5DC08A05956A5050BFAA155EAD56AB125CD0BA22D65A5C58DCAAA012A5D5
-      F75C4AA2A2A8AD605D9E5A41A08A80A2AC822CC93B77320943329384B53DDF77
-      BE994C6692FBDF73EFB9E79E7B87A752A9A0B984C7E3F5C3C367A843511D506D
-      512D51F9B4AA68AD462D43CD45CD404D413D8165BBDF6C656B6A7084F5C2C322
-      54F7364241CEE01EF679A2BE9DCC5C9DDA594FF8673757AEE78ACA2A8B2FDE7D
-      F6F876E6CB925F7ECFA9C173C7AA6A652BFCEA1AEA0E2CE7B9BF1D38C2BE8B87
-      25A8939CECAD1FCE1ADDA37AE1F83EFDDE6A63D1B631BF9B915BFCF4C8C5F4C7
-      61F1A9EDCA2AAA49251C42DD8D65CEFE4BC111B8271E969BF179C3BD873A6786
-      CD78BFBB73C7B60E8DAE498E4AF05E7F3E2335E3C5DBF8F1206A2496FDCF1605
-      4760D257BF429DE733DCE556E4FCE1EE8DB56E032AC0053F8662F977B7083842
-      937E7AB47D5BE1EB6B5BBCEC9ACBC2C6E4DA83FC8713D7FCB72CBFA8FC117E9C
-      8F1CCF9B0D1CA1A760B35E279D36206F858FFBB0A68649CB2880C2B237E0686F
-      0D8E76D6D4B5CCFC12C8CC2B019B3696E0E6DC4EEF199F6FCFCBE32E6774C1D3
-      79C872A149C11158888725D6ADCCA79C5B33CE62500FBB778D3C411E621C19A2
-      52A26A46B1BA225A96088A3BCF2064EA00C0CAA5AE490FFF06A13FFE061E7D3A
-      817CFD04D67F4BBC9E756BD2BAB376354AD56AE4F9A129C137E1D034EE698C9F
-      03675F26803C335AC9399F055CA586D6C0AB6AE87325F5AD8D6F0C19D620E19B
-      31E035D891B332D88434FD512B7EAE29ADA88A3005DE203802932164AB95D07C
-      C49398E95D58A109209FC00AF0C8A7C1F9B4D2566705A75559435540614919D8
-      FA445377A56E9FAC6DD68EB30F43567E294407894032D2704323B14057FF43D9
-      25E555C7F16318B25536147C395ADA8FD3D27C735401AD66740530C0752DAE69
-      E25AF01A2DB83C3513C44B8FAB6F4B9C535B86096AA79D14361E447D3B1B3324
-      05DF4572E8095A7E23B2C5D61B9C38B2B6AD2D9665474D73D183A6AC8CD06602
-      063C0DCD8097AC8B87CCDC57750C5E7BA2A23FABCF9F3C2F86F49C42B06A650E
-      035C3A50D70AB1D9DF7A5C403D419A3A11D212886A9C1F9B90663F74C94901F6
-      F9395C0E8F151CA1BBA3F73E9BBCD1B352CF911168330B54731D8BD3AAB13836
-      7BDEE060A3166AA860080C419E7D399B3F717838DC91DA7145C652A3E0084DAC
-      7B7EC1F8DEAF77CC1DEAC10ECD04D785575B5C7EF31188E76D6B36708D74B3B3
-      02D937630D0D7585783A0D39CB8D814BEDDE6A3531EFE067FD75BE4058CB5A68
-      72A49A3B0B3C82C7245E01FF907DCD0EAE112E1F60EF772015839CEF90338A13
-      9C9E469E4DDFE35BAD179151C0960C8B6B2A80CDF26620DD9500A1BB8EB71838
-      FA21488B98ACD7F7497F1FBC5846203D90358F0B3C0E63EF0E47968C14D5799A
-      C0106801073C5F73ACB5B8482205C58DBB2D064EC4739023C8568CD1BBEEBEE8
-      C4258CED15C8BA520F1CA19DD1A15D2C383CD3BAAE17C7262EB0A4C12D6B2D2F
-      A0C1F9CC0AD0787933B01938158A4ACAD8AD63DD06DC7A3A82665C7F925700E9
-      7FE683556B4B18D0A32B5E57E2B542F4F22FEB0DFF78DF543DAB93898D4BE011
-      2C1CE5E8F274C1F7A1B59D59AD4D010B6BC105421DAB5BD4E9F38525E560EB3E
-      99B3701E83FA81FCE006E4AB06A8A982A0B0BDB0FDE019F014B9816C63205E7B
-      833EE22AF887C543D70E6D21E27331849FB8018ADB3946C1174DEC03E181FF62
-      B3FA65B4FA05E495EA821763DF2ED6EBDB4C68CD3905AFDB0A6AC1E5D7EF82D8
-      771167E142822420FDC28F06AF0491DFD7D82DEE41C83C2F90067C44814B2313
-      2134EA1C78B87603F9661F80EA0A08DA9504DB4FDD3608CE15D3D356E7236F67
-      2D38427FEA646F1D9CB177EAE03A7793E14BA08116D2A04206B04EF3A79B7C78
-      D409080E0DE72C5CF4D69520998C7D51594581DBF4FF04BBC56B48080F06AF11
-      7D2870D19C2DA0484D87108908A47E43287072DDD17F3F15C272097172854724
-      ACDF594D89FA5F5945F56C64BEAA01BFB2C66F608DDE54935890095EC7FA5C15
-      6001927FAF85D8B89F380B97747C3788B0B993665EF8AA006CDDBCA8EBA9F11B
-      C0AD7B478444C0F1CB202BF725447FFD094846F7C27B2BA8EBD20357A9D99A21
-      6186BC4C597BF4E6E595077FCD42663F124863C40125584B557AA1A906888216
-      D6B5BA80A302105CE43D1714577EE52E58FE1DCAD204449E7C5DDB2D5477E3B5
-      96E5B907A82B697B008ECF9DA86BE43BD9E5FB8053D00681D3CD9D4CBC3A10F0
-      81381139501A3FABA7DE9D4C6026AC990EB80E3CAF236732155CFBF48234B98C
-      067903E1BB0F60B78800D79E4E90766233755D9E9206E2C08D6A884B61D47D54
-      85A0122717BCE70AE7EF1B9AB713B198B437BBAA5AF90101DF32D2D561C0F9B5
-      E374C2535E2DA0B990012BD46F058C9690F9EC05380D18CBF9C79EE3C682ECC0
-      F76A186CBE412BBE85EDFB8E82E7A82120DBB184828B49B800FEABF642B78EB6
-      90796CA9169AA864D31988BDF080F3F76762EC1E8353582EC139BBE2C2ADA767
-      08F8953D0B47F003C6F41C54179CE9D85AB1589B5D65679361D2CC059C7F1CB2
-      EC4B902E594083A0139BE40F8A945408412F2FFDDC9BBA2EFDEE0884FE20038F
-      FEEF807C4780F65E72B499BC934A567089B1793BDDCF9F13F0CC532BC716EA25
-      FBB5E02CCDDCBC556D5F679EA34AB7EE85D04D3B39FF38E1C768F0FA48ACB5A0
-      4DF761E8D14B2161D72AF012BBAB2B636608287EBB0F21011F825442EE2D5777
-      8BF82B101CA90043C216C030859EB59911F0227406EC99953A0E8CADC9EBB708
-      AF598BE1E4995FB80B76E71A383AD851D0852F9F836D8F11D4F5D4C49DE8D11D
-      A8EB8EA3E743D6B302885E390D2463FB51D7D21E6441FFB9D106A1B94256A690
-      44858D6F4C05017F83E016FAB7F0580085463DBCDBE8E970EB2E771F54156523
-      4825D5BFE517AF80D85BED81557F9CD636675EDFA9D4B5A49DF341D4AF0BC814
-      6920592FC342BF3108656A96863761773101AF41703EEB1D7A7D9A0BBE7658E3
-      7519C4F9871E4307833CF1907A2843EF1DFE432C044BB7816B2F67483B194141
-      CBAFA68278F63AEAFEE8155321E6A71450A43D360A638AB519E095045C89E03C
-      D63B3471791DEBB2043334BCFCFA3D10FB2C30E9CF9B524832222DC21B6CDA58
-      98743F82D71806D74C5074C1758035814B8C2C09FC176F68516812A2CAC326B0
-      66608C815721B880FD0E1E7B88AA999D69A1D5E0D4301471E06F0D4D835711F0
-      72041772DE556726A681B7A803AC51D1CC55A0B87EDBF412344248B291F46943
-      439701F022029E8771BA907B85C48CB559D7998ED253529B21FED42CAB398558
-      3968625F83AB2A26803F25E0773080A936B45BA16EB3B6D09B869263615915D8
-      0E9BDB6CC0C4814946F6A052CAA63A3136A103186A7DE7F4BACFDEB75EFE697F
-      EED54F6D5AD992C5D202EA28BF9901E2391BB90BDEB9833A70A117121E653F83
-      A7F9AFA0BD8D15F4762663AF12725F14C383EC7C105A0860502F07ECBBEDB129
-      5B81A8B71DB839D9364905EE3B77FF5A40C4452A645D8593940FF42629BA4203
-      EAA79BD479B6F0B84B10BCF518E7E3D16BE78164E270EDF29168761886A50F20
-      24701C4803C6527373E9DE33101A755E9D75D9E24B073A95EA844513093D49F9
-      9980BB9B0BF8272A1302BA197D4A9B5165E6D6D5E0927571107BFA06E7A3497B
-      968068400FCAB2A054828D28088A4ACB21E1DB59E035AC179586122D8CC46025
-      1342660C05E9F44174A05369B458F511EB29D1F74A2BAABC0838F1E839E97B7C
-      5F9BB4BBA14E3A5993571780E88B282C7406E763AA1BDF6B170D0B8BCBC076D4
-      52EA7A6AF4227073B1A3ACEAE8B30DB2F28A20FACB31EA19564D15B0ADA33754
-      E838FD8D4AA5B2D3A49E4EAEF11BF80F937739305750CCD4B9749E780DE7EDAE
-      DD3B43DAFEC55A70F9CD3F40BC20525D218AD5EAA4232A6F6418752D698317F6
-      6BFB2685261216977AF99B0337F29179B206FCE33642C1E6D2F859BD4CFE15ED
-      AA8939643E2F0527BF48CE5B3D87BD07B2F57E5AF0F0B86408FEEE0CB8BAD843
-      DAEED9D452B11CE371F15771EACAE0481D35565C028FA464E416AF41E6D31A70
-      12B991E65E59AFCD3CF4A600594A164C5ACD9D5C0C99E981F36A0FD02C20643E
-      7B0599B985382C99ABA32EA57A6340DAA33CB5E3336186555FA1F36DA4EFF446
-      E6D7CCBCFAB2FECEED3FBEB9FD937A6FEA91FE7813420F73271713A493C06B68
-      77F507ED36107A6380767380B2C96199E2BBF182FCE8A5F464E45D41F132C049
-      EC978D562FABEF162EAFB567E1E4B54CCEEF1FC748C0D19E0E0C995B4140B311
-      A8798538B576D362F36B94AA919A5D91BA8B869BD0EA83EB6B75B72F8E6B772E
-      B0892A914474CD0FC825B4B5159AE5233670B262A748D9EC55657C4B57AD68F6
-      A9B089B1746F730BDDB7C98EE9BEC89ACB0A4EC3CFB07BAB5590DEC6000E91DF
-      CE01F1726EC7662CDDDBDC426F0CD8AEBB11880DBC351E623F1DE6DCFEE8D251
-      464B1C73E121F887CB39BFDF1630849A58FC15428FDBA5C8F891EE775C9B7FC8
-      8C80CCDA9E1B9CB541EDCE432E313501D8D44276420C5B7AAAB4BA463915191F
-      9A044EC30F31E3F36293377AAA0CF577CDCE432E797544D2A869644384B1D76D
-      19F29D62E533B2C1CFDB4A68BEFA49CC74CEAD9C9A6D986C6268C9B639A1BBFA
-      1FCA2A29AFDA8F1FB7215F4DBDC169F8D508EFCD064F36E0D9223897B4B44767
-      6CE9DC696C3FABA99B78E7B56D6D31F7ECEA8F5B339B3D014FCB78C1F91C73FB
-      754B4063F37E8ACD3B8E395E370A9C860FE4F37861B215639E1A73782D2DC491
-      8D0D395D82F0648D698FA1CDBB0D0127AB2D235137FB0C7779A9B749E82F9285
-      91C98A5DA7EFBD83E16820B29C31F5B986BC9AE18C879DD8EFDF3EBF769CA03E
-      115E530A89C8862C3E998FC109D9BEE5871C05F579BEC16F21D1EF97EDC2D8FE
-      D1B165A39C5AEADD14D297E7EEBC7413636F27FC48B29B0791A1B8DEE56FE4EB
-      5724D0218B658BB002EE61053837E7EB57CBF7DFF8E358728623366B92D58C68
-      F1D7AF582A80E48966A0CEC62EA05C36C5ADC077844BA35B01B1EE8E9FEEFC1E
-      75EE81E0715E0999D0EFA1819F35E6779B0C5CA712C812C77C54B185805F35BC
-      77A79CF7DEB685D16E0E36237A7772E20A84745FB14C799067575651DD11BF22
-      A9DBCD7FCB572C0D540249597F08EA976A891324413B19D8490C4BD25DE4CFC9
-      D04356FCC9AE3DE2A8D2519350FF839A83E56B96D4CCFF0184B915F49D084B6C
-      0000000049454E44AE426082}
-  end
-  object Label1: TLabel
-    Left = 90
-    Top = 15
-    Width = 382
-    Height = 25
-    Caption = 'Pascal Coin Wallet, Miner && Explorer'
-    Font.Charset = DEFAULT_CHARSET
-    Font.Color = clBlack
-    Font.Height = -21
-    Font.Name = 'Tahoma'
-    Font.Style = [fsBold]
-    ParentFont = False
-  end
-  object lblBuild: TLabel
-    Left = 15
-    Top = 356
-    Width = 30
-    Height = 13
-    Caption = 'Build:'
-    Font.Charset = DEFAULT_CHARSET
-    Font.Color = clWindowText
-    Font.Height = -11
-    Font.Name = 'Tahoma'
-    Font.Style = [fsBold]
-    ParentFont = False
-  end
-  object lblProtocolVersion: TLabel
-    Left = 15
-    Top = 375
-    Width = 50
-    Height = 13
-    Caption = 'Protocol:'
-    Font.Charset = DEFAULT_CHARSET
-    Font.Color = clWindowText
-    Font.Height = -11
-    Font.Name = 'Tahoma'
-    Font.Style = [fsBold]
-    ParentFont = False
-  end
-  object Label2: TLabel
-    Left = 90
-    Top = 320
-    Width = 65
-    Height = 13
-    Caption = 'Source Code:'
-  end
-  object Label3: TLabel
-    Left = 90
-    Top = 339
-    Width = 135
-    Height = 13
-    Caption = 'Check For New Versions:'
-    Font.Charset = DEFAULT_CHARSET
-    Font.Color = clWindowText
-    Font.Height = -11
-    Font.Name = 'Tahoma'
-    Font.Style = [fsBold]
-    ParentFont = False
-  end
-  object Label4: TLabel
-    Left = 170
-    Top = 320
-    Width = 240
-    Height = 13
-    Cursor = crHandPoint
-    Caption = 'https://github.com/PascalCoin/PascalCoin'
-    Font.Charset = DEFAULT_CHARSET
-    Font.Color = clBlue
-    Font.Height = -11
-    Font.Name = 'Tahoma'
-    Font.Style = [fsBold]
-    ParentFont = False
-    OnClick = Label4Click
-  end
-  object Label5: TLabel
-    Left = 237
-    Top = 339
-    Width = 253
-    Height = 13
-    Cursor = crHandPoint
-    Caption = 'https://sourceforge.net/projects/pascalcoin'
-    Font.Charset = DEFAULT_CHARSET
-    Font.Color = clBlue
-    Font.Height = -11
-    Font.Name = 'Tahoma'
-    Font.Style = [fsBold]
-    ParentFont = False
-    OnClick = Label5Click
-  end
-  object Memo1: TMemo
-    Left = 90
-    Top = 46
-    Width = 401
-    Height = 275
-    BevelInner = bvNone
-    BevelOuter = bvNone
-    BorderStyle = bsNone
-    Ctl3D = False
-    Lines.Strings = (
-      'Copyright (c) 2016 Albert Molina'
-      ''
-      
-        'This software is a Node of the Pascal Coin P2P Cryptocurrency. A' +
-        ' Crypto currency '
-      
-        'without need of historical operations. It can be used to Mine an' +
-        'd Explore blocks '
-      'and operations.'
-      ''
-      
-        'Distributed under the MIT software license, see the accompanying' +
-        ' file LICENSE  or '
-      'visit http://www.opensource.org/licenses/mit-license.php.'
-      ''
-      
-        'THIS IS EXPERIMENTAL SOFTWARE. Use it for educational purposes o' +
-        'nly.'
-      ''
-      
-        'This product includes software developed by the OpenSSL Project ' +
-        'and Denis '
-      
-        'Grinyuk (https://github.com/Arvur/OpenSSL-Delphi), and some cryp' +
-        'tographic '
-      
-        'functions inspirated in code written by Ladar Levison and Marco ' +
-        'Ferrante. Original '
-      'source code is written in Pascal Language and is available at '
-      'https://github.com/PascalCoin/PascalCoin'
-      ''
-      'If you like it, consider a donation using BitCoin:'
-      '16K3HCZRhFUtM8GdWRcfKeaa6KsuyxZaYk')
-    ParentColor = True
-    ParentCtl3D = False
-    ReadOnly = True
-    TabOrder = 0
-  end
-  object bbClose: TBitBtn
-    Left = 380
-    Top = 358
-    Width = 111
-    Height = 31
-    Caption = 'Close'
-    DoubleBuffered = True
-    Kind = bkOK
-    ParentDoubleBuffered = False
-    TabOrder = 1
-  end
-end

+ 3 - 28
Units/Forms/UFRMAbout.pas

@@ -1,8 +1,6 @@
 unit UFRMAbout;
 unit UFRMAbout;
 
 
-{$IFDEF FPC}
-  {$MODE Delphi}
-{$ENDIF}
+{$mode delphi}
 
 
 { Copyright (c) 2016 by Albert Molina
 { Copyright (c) 2016 by Albert Molina
 
 
@@ -20,11 +18,7 @@ unit UFRMAbout;
 interface
 interface
 
 
 uses
 uses
-{$IFnDEF FPC}
-  pngimage, Windows,
-{$ELSE}
   LCLIntf, LCLType, LMessages,
   LCLIntf, LCLType, LMessages,
-{$ENDIF}
   Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
   Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
   Dialogs, ExtCtrls, StdCtrls, Buttons;
   Dialogs, ExtCtrls, StdCtrls, Buttons;
 
 
@@ -56,29 +50,14 @@ type
 implementation
 implementation
 
 
 uses
 uses
-{$IFnDEF FPC}
-  ShellApi,
-{$ELSE}
-{$ENDIF}
   UFolderHelper, UConst, UNode;
   UFolderHelper, UConst, UNode;
 
 
-{$IFnDEF FPC}
-  {$R *.dfm}
-{$ELSE}
-  {$R *.lfm}
-{$ENDIF}
+{$R *.lfm}
+
 
 
 procedure TFRMAbout.FormCreate(Sender: TObject);
 procedure TFRMAbout.FormCreate(Sender: TObject);
-{$IFnDEF FPC}
-Var fvi : TFileVersionInfo;
-{$ENDIF}
 begin
 begin
-  {$IFDEF FPC}
   lblBuild.Caption :=  'Build: '+CT_ClientAppVersion;
   lblBuild.Caption :=  'Build: '+CT_ClientAppVersion;
-  {$ELSE}
-  fvi := TFolderHelper.GetTFileVersionInfo(Application.ExeName);
-  lblBuild.Caption :=  'Build: '+fvi.FileVersion;
-  {$ENDIF}
   lblProtocolVersion.Caption := Format('BlockChain Protocol: %d (%d)  -  Net Protocol: %d (%d)',[TNode.Node.Bank.SafeBox.CurrentProtocol,CT_BlockChain_Protocol_Available,
   lblProtocolVersion.Caption := Format('BlockChain Protocol: %d (%d)  -  Net Protocol: %d (%d)',[TNode.Node.Bank.SafeBox.CurrentProtocol,CT_BlockChain_Protocol_Available,
     CT_NetProtocol_Version, CT_NetProtocol_Available]);
     CT_NetProtocol_Version, CT_NetProtocol_Available]);
 end;
 end;
@@ -96,11 +75,7 @@ end;
 
 
 procedure TFRMAbout.OpenURL(Url: String);
 procedure TFRMAbout.OpenURL(Url: String);
 begin
 begin
-  {$IFDEF FPC}
   OpenDocument(pchar(URL))
   OpenDocument(pchar(URL))
-  {$ELSE}
-  shellexecute(0, 'open', pchar(URL), nil, nil, SW_SHOW)
-  {$ENDIF}
 end;
 end;
 
 
 end.
 end.

+ 1 - 1
Units/Forms/UFRMAccountInfo.dfm → Units/Forms/UFRMAccountInfo.lfm

@@ -98,4 +98,4 @@ object FRMAccountInfo: TFRMAccountInfo
     TabOrder = 0
     TabOrder = 0
     Text = 'ebPublicKey'
     Text = 'ebPublicKey'
   end
   end
-end
+end

+ 1 - 1
Units/Forms/UFRMAccountInfo.pas

@@ -24,6 +24,6 @@ type
 
 
 implementation
 implementation
 
 
-{$R *.dfm}
+{$R *.lfm}
 
 
 end.
 end.

+ 0 - 262
Units/Forms/UFRMAccountSelect.dfm

@@ -1,262 +0,0 @@
-object FRMAccountSelect: TFRMAccountSelect
-  Left = 332
-  Top = 227
-  BorderIcons = [biSystemMenu, biMaximize]
-  Caption = 'Accounts'
-  ClientHeight = 322
-  ClientWidth = 657
-  Color = clBtnFace
-  Font.Charset = DEFAULT_CHARSET
-  Font.Color = clWindowText
-  Font.Height = -11
-  Font.Name = 'Tahoma'
-  Font.Style = []
-  OldCreateOrder = True
-  Position = poOwnerFormCenter
-  OnCreate = FormCreate
-  OnDestroy = FormDestroy
-  PixelsPerInch = 96
-  TextHeight = 13
-  object pnlAccountsTop: TPanel
-    Left = 451
-    Top = 0
-    Width = 206
-    Height = 282
-    Align = alRight
-    BevelOuter = bvNone
-    TabOrder = 0
-    ExplicitLeft = 331
-    object cbOnlyForSale: TCheckBox
-      Left = 10
-      Top = 65
-      Width = 81
-      Height = 19
-      Caption = 'Only for sale'
-      TabOrder = 2
-    end
-    object bbSearch: TBitBtn
-      Left = 50
-      Top = 236
-      Width = 91
-      Height = 36
-      Caption = 'Search'
-      DoubleBuffered = True
-      Glyph.Data = {
-        F6060000424DF606000000000000360000002800000018000000180000000100
-        180000000000C0060000120B0000120B00000000000000000000FF00FFFF00FF
-        FF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00
-        FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF
-        00FFFF00FFFF00FFABA7A68C8888C09596FF00FFFF00FFFF00FFFF00FFFF00FF
-        FF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00
-        FFFF00FFFF00FFFF00FFFF00FFACA8A786868A2A669A4B7BA0C09494FF00FFFF
-        00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FF
-        FF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FF9B9D9D5492C22E99FF1B7C
-        CB557A97C19595FF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF
-        00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FF3DADFF
-        57C1FF4DB1FF3196FA197CC9537997C19495FF00FFFF00FFFF00FFFF00FFFF00
-        FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF
-        00FFFF00FFFF00FF41ABFF5DBFFE4DAFFF3196FA197BC85A7A97C29594FF00FF
-        FF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00
-        FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FF42ABFE5CC0FE4DAFFF3096FA19
-        7AC8587A96C19494FF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FF
-        FF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FF42AC
-        FE5CC0FE4DAFFF2E94FA187AC75F7C97BB9396FF00FFFF00FFFF00FFFF00FFFF
-        00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FF
-        FF00FFFF00FFFF00FF44ADFE5CBFFE4DB0FF2D94F81979C6437397FF00FFFF00
-        FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF
-        00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FF46AEFE5CBFFE4CB0FF3F97ED
-        577B94FF00FFFF00FFFF00FFAE837EAE837EAE837EAE837EAE837EFF00FFFF00
-        FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FF46
-        AFFE66C5FFA3CCF1BEB3AB867170A9807AAE837EE5D8BDFFFFE2FFFFE2FFFFE0
-        EEDFC6AE837EAE837EFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00
-        FFFF00FFFF00FFFF00FFFF00FFFF00FFDCBFB8C69E8ED8BDA3FFFFDDFFFFDDFF
-        FFDBFFFFDAFFFFDBFFFFDDFFFFE9DEC9B7AE837EFF00FFFF00FFFF00FFFF00FF
-        FF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFAE857FDEC0A5FFF3
-        C1FCF1C8FFFFDAFFFFD9FFFFDAFFFFE0FFFFE4FFFFEFFFFFFFDDCAC8AE837EFF
-        00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FF
-        AE837EFFEFB9F5D4A5FBF0C6FFFFDBFFFFDAFFFFDDFFFFEBFFFFF5FFFFFBFFFF
-        FDFFFFFEAE837EFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF
-        00FFFF00FFAE837EECD5B4F8D6A2F2C997FCEDC4FFFFDBFFFFDAFFFFE0FFFFF0
-        FFFFFEFFFFFDFFFFF5FFFFEBE1D3B8AE837EFF00FFFF00FFFF00FFFF00FFFF00
-        FFFF00FFFF00FFFF00FFFF00FFAE837EFFF3BFF4CB95F0C18EF9E5BAFEFDD7FF
-        FFDCFFFFDFFFFFECFFFFF8FFFFF8FFFFECFFFFE0FFFFE3AE837EFF00FFFF00FF
-        FF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFAE837EFFF4C0F3C994EEB8
-        84F5D5A5FDF3CBFFFFDCFFFFDDFFFFE2FFFFE8FFFFE9FFFFE2FFFFDDFFFFE3AE
-        837EFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFAE837E
-        FFF5C3F6D19CEEB27DF1C593F7E0B3FDF7D0FFFFDCFFFFDDFFFFDDFFFFDDFFFF
-        DBFFFFDAFFFFE1AE837EFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF
-        00FFFF00FFAE837EECD5B4FDE6B2F3C996F2C792F3D09CF8E3B5FCF5CDFFFFDA
-        FFFFDCFFFFDBFFFFDBFFFFDCE2D3B8AE837EFF00FFFF00FFFF00FFFF00FFFF00
-        FFFF00FFFF00FFFF00FFFF00FFFF00FFAE837EFFFED0FCF0D6F8E0BEF4CF9DF3
-        CD9AF6D8AAFBEABFFDF4CBFCF7CFFEF8D1FFFFDEAE837EFF00FFFF00FFFF00FF
-        FF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFAE837EE0CAB2FFFF
-        FFFEF9F2F8E1BEF1C48DEEBA85F1C491F4D1A1F8DEB0FFF7C6DDC7AEAE837EFF
-        00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FF
-        FF00FFAE837ED9C6C0FFFFFFFFF7D7F8DAA6F4CB95F5CD99F9D9A6FFF1BBDEC2
-        A9AE837EFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF
-        00FFFF00FFFF00FFFF00FFFF00FFAE837EAE837EE8D5B4FFF9C5FFF5C0FFF5C2
-        EED8B7AE837EAE837EFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00
-        FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFAE837EAE
-        837EAE837EAE837EAE837EFF00FFFF00FFFF00FFFF00FFFF00FF}
-      ParentDoubleBuffered = False
-      TabOrder = 10
-      OnClick = bbSearchClick
-    end
-    object cbOnlyForPrivateSaleToMe: TCheckBox
-      Left = 10
-      Top = 111
-      Width = 148
-      Height = 19
-      Caption = 'Only for private sale to me'
-      TabOrder = 4
-    end
-    object cbAccountsBalance: TCheckBox
-      Left = 10
-      Top = 134
-      Width = 104
-      Height = 19
-      Caption = 'Accounts Balance'
-      TabOrder = 5
-    end
-    object cbMyAccounts: TCheckBox
-      Left = 10
-      Top = 10
-      Width = 81
-      Height = 19
-      Caption = 'My Accounts'
-      TabOrder = 0
-      OnClick = cbMyAccountsClick
-    end
-    object cbMyPrivateKeys: TComboBox
-      Left = 10
-      Top = 35
-      Width = 176
-      Height = 21
-      Style = csDropDownList
-      TabOrder = 1
-      OnChange = cbMyPrivateKeysChange
-    end
-    object cbOnlyForPublicSale: TCheckBox
-      Left = 10
-      Top = 88
-      Width = 111
-      Height = 19
-      Caption = 'Only for public sale'
-      TabOrder = 3
-    end
-    object ebMinBalance: TEdit
-      Left = 16
-      Top = 160
-      Width = 73
-      Height = 21
-      TabOrder = 6
-      OnExit = ebMinBalanceExit
-    end
-    object ebMaxBalance: TEdit
-      Left = 103
-      Top = 160
-      Width = 73
-      Height = 21
-      TabOrder = 7
-      OnExit = ebMaxBalanceExit
-    end
-    object cbAccountsName: TCheckBox
-      Left = 10
-      Top = 186
-      Width = 93
-      Height = 19
-      Caption = 'Accounts name'
-      TabOrder = 8
-    end
-    object ebAccountName: TEdit
-      Left = 18
-      Top = 209
-      Width = 158
-      Height = 21
-      TabOrder = 9
-    end
-  end
-  object pnlBottom: TPanel
-    Left = 0
-    Top = 282
-    Width = 657
-    Height = 40
-    Align = alBottom
-    BevelOuter = bvNone
-    TabOrder = 1
-    ExplicitWidth = 537
-    DesignSize = (
-      657
-      40)
-    object Label17: TLabel
-      Left = 5
-      Top = 10
-      Width = 48
-      Height = 13
-      Caption = 'Accounts:'
-      Color = clBtnFace
-      ParentColor = False
-    end
-    object lblAccountsCount: TLabel
-      Left = 60
-      Top = 10
-      Width = 18
-      Height = 13
-      Caption = '000'
-      Color = clBtnFace
-      ParentColor = False
-    end
-    object Label19: TLabel
-      Left = 136
-      Top = 10
-      Width = 41
-      Height = 13
-      Caption = 'Balance:'
-      Color = clBtnFace
-      ParentColor = False
-    end
-    object lblAccountsBalance: TLabel
-      Left = 200
-      Top = 10
-      Width = 18
-      Height = 13
-      Caption = '000'
-      Color = clBtnFace
-      ParentColor = False
-    end
-    object bbSelect: TBitBtn
-      Left = 450
-      Top = 5
-      Width = 95
-      Height = 30
-      Anchors = [akTop, akRight]
-      Caption = 'Select'
-      DoubleBuffered = True
-      Kind = bkOK
-      ParentDoubleBuffered = False
-      TabOrder = 0
-      ExplicitLeft = 330
-    end
-    object bbCancel: TBitBtn
-      Left = 554
-      Top = 5
-      Width = 95
-      Height = 30
-      Anchors = [akTop, akRight]
-      DoubleBuffered = True
-      Kind = bkCancel
-      ParentDoubleBuffered = False
-      TabOrder = 1
-      ExplicitLeft = 434
-    end
-  end
-  object dgAccounts: TDrawGrid
-    Left = 0
-    Top = 0
-    Width = 451
-    Height = 282
-    Align = alClient
-    TabOrder = 2
-    ExplicitWidth = 331
-  end
-end

+ 1 - 11
Units/Forms/UFRMAccountSelect.pas

@@ -1,8 +1,6 @@
 unit UFRMAccountSelect;
 unit UFRMAccountSelect;
 
 
-{$IFDEF FPC}
-  {$MODE Delphi}
-{$ENDIF}
+{$MODE Delphi}
 
 
 { Copyright (c) 2016 by Albert Molina
 { Copyright (c) 2016 by Albert Molina
 
 
@@ -20,11 +18,7 @@ unit UFRMAccountSelect;
 interface
 interface
 
 
 uses
 uses
-{$IFnDEF FPC}
-  Windows,
-{$ELSE}
   LCLIntf, LCLType, LMessages,
   LCLIntf, LCLType, LMessages,
-{$ENDIF}
   Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
   Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
   Dialogs, UAccounts, Grids, StdCtrls, Buttons, ExtCtrls, UWalletKeys, UNode,
   Dialogs, UAccounts, Grids, StdCtrls, Buttons, ExtCtrls, UWalletKeys, UNode,
   UGridUtils, UConst, UThread;
   UGridUtils, UConst, UThread;
@@ -131,11 +125,7 @@ type
 
 
 implementation
 implementation
 
 
-{$IFnDEF FPC}
-  {$R *.dfm}
-{$ELSE}
   {$R *.lfm}
   {$R *.lfm}
-{$ENDIF}
 
 
 Uses strutils;
 Uses strutils;
 
 

+ 1 - 4
Units/Forms/UFRMLogs.pas

@@ -5,11 +5,7 @@ unit UFRMLogs;
 interface
 interface
 
 
 uses
 uses
-  {$IFnDEF FPC}
-    pngimage, Windows, AppEvnts, ShlObj,
-  {$ELSE}
     LCLIntf,
     LCLIntf,
-  {$ENDIF}
     SysUtils, Classes, Graphics, Controls, Forms,
     SysUtils, Classes, Graphics, Controls, Forms,
     Dialogs, ExtCtrls,  StdCtrls,
     Dialogs, ExtCtrls,  StdCtrls,
     ULog, UBlockChain;
     ULog, UBlockChain;
@@ -35,6 +31,7 @@ var
 
 
 implementation
 implementation
 uses  UUserInterface;
 uses  UUserInterface;
+
 {$R *.lfm}
 {$R *.lfm}
 
 
 { TFRMLogs }
 { TFRMLogs }

+ 0 - 66
Units/Forms/UFRMMemoText.dfm

@@ -1,66 +0,0 @@
-object FRMMemoText: TFRMMemoText
-  Left = 0
-  Top = 0
-  BorderIcons = [biSystemMenu]
-  Caption = 'Information'
-  ClientHeight = 428
-  ClientWidth = 745
-  Color = clBtnFace
-  Font.Charset = DEFAULT_CHARSET
-  Font.Color = clWindowText
-  Font.Height = -11
-  Font.Name = 'Tahoma'
-  Font.Style = []
-  OldCreateOrder = False
-  Position = poOwnerFormCenter
-  OnCreate = FormCreate
-  PixelsPerInch = 96
-  TextHeight = 13
-  object pnlBottom: TPanel
-    Left = 0
-    Top = 373
-    Width = 745
-    Height = 55
-    Align = alBottom
-    BevelOuter = bvNone
-    TabOrder = 0
-    ExplicitTop = 245
-    ExplicitWidth = 619
-    DesignSize = (
-      745
-      55)
-    object bbCancel: TBitBtn
-      Left = 620
-      Top = 14
-      Width = 116
-      Height = 31
-      Anchors = [akTop, akRight]
-      DoubleBuffered = True
-      Kind = bkCancel
-      ParentDoubleBuffered = False
-      TabOrder = 0
-      ExplicitLeft = 494
-    end
-  end
-  object Memo: TMemo
-    Left = 0
-    Top = 0
-    Width = 745
-    Height = 373
-    Align = alClient
-    Font.Charset = DEFAULT_CHARSET
-    Font.Color = clWindowText
-    Font.Height = -16
-    Font.Name = 'Tahoma'
-    Font.Style = []
-    Lines.Strings = (
-      'Memo')
-    ParentFont = False
-    ReadOnly = True
-    ScrollBars = ssBoth
-    TabOrder = 1
-    WordWrap = False
-    ExplicitWidth = 619
-    ExplicitHeight = 245
-  end
-end

+ 2 - 9
Units/Forms/UFRMMemoText.pas

@@ -3,11 +3,7 @@ unit UFRMMemoText;
 interface
 interface
 
 
 uses
 uses
-{$IFnDEF FPC}
-  Windows,
-{$ELSE}
   LCLIntf, LCLType, LMessages,
   LCLIntf, LCLType, LMessages,
-{$ENDIF}
   Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
   Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
   Dialogs, StdCtrls, Buttons, ExtCtrls;
   Dialogs, StdCtrls, Buttons, ExtCtrls;
 
 
@@ -26,11 +22,8 @@ type
 
 
 implementation
 implementation
 
 
-{$IFnDEF FPC}
-  {$R *.dfm}
-{$ELSE}
-  {$R *.lfm}
-{$ENDIF}
+{$R *.lfm}
+
 
 
 procedure TFRMMemoText.FormCreate(Sender: TObject);
 procedure TFRMMemoText.FormCreate(Sender: TObject);
 begin
 begin

+ 1 - 5
Units/Forms/UFRMMessages.pas

@@ -5,11 +5,7 @@ unit UFRMMessages;
 interface
 interface
 
 
 uses
 uses
-  {$IFnDEF FPC}
-    pngimage, Windows, AppEvnts, ShlObj,
-  {$ELSE}
-    LCLIntf, LCLType,
-  {$ENDIF}
+  LCLIntf, LCLType,
   SysUtils, Classes, Graphics, Controls, Forms,
   SysUtils, Classes, Graphics, Controls, Forms,
   Dialogs, StdCtrls, Menus,
   Dialogs, StdCtrls, Menus,
   UNode, UNetProtocol, UCrypto, UFRMWallet,UConst;
   UNode, UNetProtocol, UCrypto, UFRMWallet,UConst;

+ 0 - 86
Units/Forms/UFRMNewPrivateKeyType.dfm

@@ -1,86 +0,0 @@
-object FRMNewPrivateKeyType: TFRMNewPrivateKeyType
-  Left = 0
-  Top = 0
-  BorderIcons = [biSystemMenu]
-  BorderStyle = bsDialog
-  Caption = 'New Private Key'
-  ClientHeight = 229
-  ClientWidth = 311
-  Color = clBtnFace
-  Font.Charset = DEFAULT_CHARSET
-  Font.Color = clWindowText
-  Font.Height = -11
-  Font.Name = 'Tahoma'
-  Font.Style = []
-  OldCreateOrder = False
-  Position = poOwnerFormCenter
-  OnCreate = FormCreate
-  OnDestroy = FormDestroy
-  PixelsPerInch = 96
-  TextHeight = 13
-  object Label1: TLabel
-    Left = 30
-    Top = 25
-    Width = 27
-    Height = 13
-    Caption = 'Name'
-  end
-  object ebName: TEdit
-    Left = 70
-    Top = 22
-    Width = 206
-    Height = 21
-    TabOrder = 0
-    Text = 'ebName'
-  end
-  object rgKeyType: TRadioGroup
-    Left = 30
-    Top = 60
-    Width = 246
-    Height = 105
-    Caption = ' Key Type: '
-    Items.Strings = (
-      'asdf')
-    TabOrder = 1
-  end
-  object bbOk: TBitBtn
-    Left = 112
-    Top = 181
-    Width = 75
-    Height = 25
-    Caption = 'OK'
-    Default = True
-    DoubleBuffered = True
-    Glyph.Data = {
-      DE010000424DDE01000000000000760000002800000024000000120000000100
-      0400000000006801000000000000000000001000000000000000000000000000
-      80000080000000808000800000008000800080800000C0C0C000808080000000
-      FF0000FF000000FFFF00FF000000FF00FF00FFFF0000FFFFFF00333333333333
-      3333333333333333333333330000333333333333333333333333F33333333333
-      00003333344333333333333333388F3333333333000033334224333333333333
-      338338F3333333330000333422224333333333333833338F3333333300003342
-      222224333333333383333338F3333333000034222A22224333333338F338F333
-      8F33333300003222A3A2224333333338F3838F338F33333300003A2A333A2224
-      33333338F83338F338F33333000033A33333A222433333338333338F338F3333
-      0000333333333A222433333333333338F338F33300003333333333A222433333
-      333333338F338F33000033333333333A222433333333333338F338F300003333
-      33333333A222433333333333338F338F00003333333333333A22433333333333
-      3338F38F000033333333333333A223333333333333338F830000333333333333
-      333A333333333333333338330000333333333333333333333333333333333333
-      0000}
-    NumGlyphs = 2
-    ParentDoubleBuffered = False
-    TabOrder = 2
-    OnClick = bbOkClick
-  end
-  object bbCancel: TBitBtn
-    Left = 201
-    Top = 181
-    Width = 75
-    Height = 25
-    DoubleBuffered = True
-    Kind = bkCancel
-    ParentDoubleBuffered = False
-    TabOrder = 3
-  end
-end

+ 2 - 12
Units/Forms/UFRMNewPrivateKeyType.pas

@@ -1,8 +1,6 @@
 unit UFRMNewPrivateKeyType;
 unit UFRMNewPrivateKeyType;
 
 
-{$IFDEF FPC}
-  {$MODE Delphi}
-{$ENDIF}
+{$MODE Delphi}
 
 
 { Copyright (c) 2016 by Albert Molina
 { Copyright (c) 2016 by Albert Molina
 
 
@@ -20,11 +18,7 @@ unit UFRMNewPrivateKeyType;
 interface
 interface
 
 
 uses
 uses
-{$IFnDEF FPC}
-  Windows,
-{$ELSE}
   LCLIntf, LCLType, LMessages,
   LCLIntf, LCLType, LMessages,
-{$ENDIF}
   Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
   Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
   Dialogs, StdCtrls, Buttons, ExtCtrls, UWalletKeys,UCrypto;
   Dialogs, StdCtrls, Buttons, ExtCtrls, UWalletKeys,UCrypto;
 
 
@@ -55,11 +49,7 @@ implementation
 uses
 uses
   UAccounts, UConst ;
   UAccounts, UConst ;
 
 
-{$IFnDEF FPC}
-  {$R *.dfm}
-{$ELSE}
-  {$R *.lfm}
-{$ENDIF}
+{$R *.lfm}
 
 
 procedure TFRMNewPrivateKeyType.bbOkClick(Sender: TObject);
 procedure TFRMNewPrivateKeyType.bbOkClick(Sender: TObject);
 begin
 begin

+ 1 - 5
Units/Forms/UFRMNodes.pas

@@ -5,11 +5,7 @@ unit UFRMNodes;
 interface
 interface
 
 
 uses
 uses
-  {$IFnDEF FPC}
-    pngimage, Windows, AppEvnts, ShlObj,
-  {$ELSE}
-    LCLIntf, LCLType,
-  {$ENDIF}
+  LCLIntf, LCLType,
   Messages, SysUtils, Classes, Graphics, Controls, Forms,
   Messages, SysUtils, Classes, Graphics, Controls, Forms,
   Dialogs, ExtCtrls, StdCtrls,
   Dialogs, ExtCtrls, StdCtrls,
   ULog,  UBlockChain, UNode, Menus,  UNetProtocol,  UFRMWallet;
   ULog,  UBlockChain, UNode, Menus,  UNetProtocol,  UFRMWallet;

+ 0 - 86
Units/Forms/UFRMNodesIp.dfm

@@ -1,86 +0,0 @@
-object FRMNodesIp: TFRMNodesIp
-  Left = 0
-  Top = 0
-  BorderIcons = [biSystemMenu]
-  BorderStyle = bsSingle
-  Caption = 'Nodes IP'
-  ClientHeight = 367
-  ClientWidth = 334
-  Color = clBtnFace
-  Font.Charset = DEFAULT_CHARSET
-  Font.Color = clWindowText
-  Font.Height = -11
-  Font.Name = 'Tahoma'
-  Font.Style = []
-  OldCreateOrder = False
-  Position = poOwnerFormCenter
-  OnCreate = FormCreate
-  PixelsPerInch = 96
-  TextHeight = 13
-  object Label1: TLabel
-    Left = 30
-    Top = 25
-    Width = 143
-    Height = 13
-    Caption = 'Available Nodes Ip to connect'
-  end
-  object memoNodesIp: TMemo
-    Left = 30
-    Top = 45
-    Width = 276
-    Height = 226
-    Lines.Strings = (
-      'memoNodesIp')
-    ScrollBars = ssBoth
-    TabOrder = 0
-  end
-  object bbOk: TBitBtn
-    Left = 138
-    Top = 317
-    Width = 75
-    Height = 25
-    Caption = 'OK'
-    Default = True
-    DoubleBuffered = True
-    Glyph.Data = {
-      DE010000424DDE01000000000000760000002800000024000000120000000100
-      0400000000006801000000000000000000001000000000000000000000000000
-      80000080000000808000800000008000800080800000C0C0C000808080000000
-      FF0000FF000000FFFF00FF000000FF00FF00FFFF0000FFFFFF00333333333333
-      3333333333333333333333330000333333333333333333333333F33333333333
-      00003333344333333333333333388F3333333333000033334224333333333333
-      338338F3333333330000333422224333333333333833338F3333333300003342
-      222224333333333383333338F3333333000034222A22224333333338F338F333
-      8F33333300003222A3A2224333333338F3838F338F33333300003A2A333A2224
-      33333338F83338F338F33333000033A33333A222433333338333338F338F3333
-      0000333333333A222433333333333338F338F33300003333333333A222433333
-      333333338F338F33000033333333333A222433333333333338F338F300003333
-      33333333A222433333333333338F338F00003333333333333A22433333333333
-      3338F38F000033333333333333A223333333333333338F830000333333333333
-      333A333333333333333338330000333333333333333333333333333333333333
-      0000}
-    NumGlyphs = 2
-    ParentDoubleBuffered = False
-    TabOrder = 1
-    OnClick = bbOkClick
-  end
-  object bbCancel: TBitBtn
-    Left = 231
-    Top = 317
-    Width = 75
-    Height = 25
-    DoubleBuffered = True
-    Kind = bkCancel
-    ParentDoubleBuffered = False
-    TabOrder = 2
-  end
-  object cbTryOnlyWithThisServers: TCheckBox
-    Left = 35
-    Top = 285
-    Width = 271
-    Height = 17
-    Caption = 'Try to connect ONLY with this servers'
-    TabOrder = 3
-    OnClick = cbTryOnlyWithThisServersClick
-  end
-end

+ 3 - 12
Units/Forms/UFRMNodesIp.pas

@@ -1,17 +1,11 @@
 unit UFRMNodesIp;
 unit UFRMNodesIp;
 
 
-{$IFDEF FPC}
-  {$MODE Delphi}
-{$ENDIF}
+{$MODE Delphi}
 
 
 interface
 interface
 
 
 uses
 uses
-{$IFnDEF FPC}
-  Windows,
-{$ELSE}
   LCLIntf, LCLType, LMessages,
   LCLIntf, LCLType, LMessages,
-{$ENDIF}
   Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
   Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
   Dialogs, StdCtrls, Buttons, UAppParams;
   Dialogs, StdCtrls, Buttons, UAppParams;
 
 
@@ -40,11 +34,8 @@ implementation
 uses
 uses
   UNetProtocol, UNode, UConst;
   UNetProtocol, UNode, UConst;
 
 
-{$IFnDEF FPC}
-  {$R *.dfm}
-{$ELSE}
-  {$R *.lfm}
-{$ENDIF}
+{$R *.lfm}
+
 
 
 { TFRMNodesIp }
 { TFRMNodesIp }
 
 

+ 0 - 1068
Units/Forms/UFRMOperation.dfm

@@ -1,1068 +0,0 @@
-object FRMOperation: TFRMOperation
-  Left = 498
-  Top = 222
-  BorderIcons = [biSystemMenu]
-  BorderStyle = bsSingle
-  Caption = 'New Operation'
-  ClientHeight = 493
-  ClientWidth = 608
-  Color = clBtnFace
-  Font.Charset = DEFAULT_CHARSET
-  Font.Color = clWindowText
-  Font.Height = -11
-  Font.Name = 'Tahoma'
-  Font.Style = []
-  OldCreateOrder = True
-  Position = poOwnerFormCenter
-  OnCreate = FormCreate
-  OnDestroy = FormDestroy
-  PixelsPerInch = 96
-  TextHeight = 13
-  object lblAccountCaption: TLabel
-    Left = 25
-    Top = 20
-    Width = 43
-    Height = 13
-    Caption = 'Account:'
-    Color = clBtnFace
-    ParentColor = False
-  end
-  object lblAccountBalance: TLabel
-    Left = 432
-    Top = 15
-    Width = 149
-    Height = 19
-    Caption = 'lblAccountBalance'
-    Color = clBtnFace
-    Font.Charset = DEFAULT_CHARSET
-    Font.Color = clGreen
-    Font.Height = -16
-    Font.Name = 'Tahoma'
-    Font.Style = [fsBold]
-    ParentColor = False
-    ParentFont = False
-  end
-  object lblBalanceCaption: TLabel
-    Left = 387
-    Top = 20
-    Width = 41
-    Height = 13
-    Caption = 'Balance:'
-    Color = clBtnFace
-    ParentColor = False
-  end
-  object lblAccountsCount: TLabel
-    Left = 387
-    Top = 58
-    Width = 18
-    Height = 13
-    Caption = 'XXX'
-    Color = clBtnFace
-    ParentColor = False
-  end
-  object bbExecute: TBitBtn
-    Left = 300
-    Top = 445
-    Width = 130
-    Height = 31
-    Caption = 'Execute (F12)'
-    DoubleBuffered = True
-    Glyph.Data = {
-      DE010000424DDE01000000000000760000002800000024000000120000000100
-      0400000000006801000000000000000000001000000000000000000000000000
-      80000080000000808000800000008000800080800000C0C0C000808080000000
-      FF0000FF000000FFFF00FF000000FF00FF00FFFF0000FFFFFF00333333333333
-      3333333333333333333333330000333333333333333333333333F33333333333
-      00003333344333333333333333388F3333333333000033334224333333333333
-      338338F3333333330000333422224333333333333833338F3333333300003342
-      222224333333333383333338F3333333000034222A22224333333338F338F333
-      8F33333300003222A3A2224333333338F3838F338F33333300003A2A333A2224
-      33333338F83338F338F33333000033A33333A222433333338333338F338F3333
-      0000333333333A222433333333333338F338F33300003333333333A222433333
-      333333338F338F33000033333333333A222433333333333338F338F300003333
-      33333333A222433333333333338F338F00003333333333333A22433333333333
-      3338F38F000033333333333333A223333333333333338F830000333333333333
-      333A333333333333333338330000333333333333333333333333333333333333
-      0000}
-    NumGlyphs = 2
-    ParentDoubleBuffered = False
-    TabOrder = 2
-    OnClick = actExecuteExecute
-  end
-  object bbCancel: TBitBtn
-    Left = 465
-    Top = 445
-    Width = 116
-    Height = 31
-    DoubleBuffered = True
-    Kind = bkCancel
-    ParentDoubleBuffered = False
-    TabOrder = 3
-  end
-  object PageControlLocked: TPageControl
-    Left = 25
-    Top = 72
-    Width = 556
-    Height = 351
-    ActivePage = tsOperation
-    TabOrder = 1
-    object tsOperation: TTabSheet
-      TabVisible = False
-      object lblFee: TLabel
-        Left = 15
-        Top = 188
-        Width = 69
-        Height = 13
-        Caption = 'Operation Fee'
-        Color = clBtnFace
-        ParentColor = False
-      end
-      object lblSignerAccount: TLabel
-        Left = 176
-        Top = 188
-        Width = 131
-        Height = 13
-        Caption = 'Signer account (Fee payer)'
-        Color = clBtnFace
-        ParentColor = False
-      end
-      object sbSearchSignerAccount: TSpeedButton
-        Left = 411
-        Top = 184
-        Width = 23
-        Height = 22
-        Glyph.Data = {
-          36030000424D3603000000000000360000002800000010000000100000000100
-          18000000000000030000120B0000120B00000000000000000000FF00FF4A667C
-          BE9596FF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00
-          FFFF00FFFF00FFFF00FF6B9CC31E89E84B7AA3C89693FF00FFFF00FFFF00FFFF
-          00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FF4BB4FE51B5FF
-          2089E94B7AA2C69592FF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00
-          FFFF00FFFF00FFFF00FFFF00FF51B7FE51B3FF1D87E64E7AA0CA9792FF00FFFF
-          00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FF
-          51B7FE4EB2FF1F89E64E7BA2B99497FF00FFFF00FFFF00FFFF00FFFF00FFFF00
-          FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FF52B8FE4BB1FF2787D95F6A76FF
-          00FFB0857FC09F94C09F96BC988EFF00FFFF00FFFF00FFFF00FFFF00FFFF00FF
-          FF00FFFF00FF55BDFFB5D6EDBF9D92BB9B8CE7DAC2FFFFE3FFFFE5FDFADAD8C3
-          B3B58D85FF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFCEA795FD
-          EEBEFFFFD8FFFFDAFFFFDBFFFFE6FFFFFBEADDDCAE837FFF00FFFF00FFFF00FF
-          FF00FFFF00FFFF00FFFF00FFC1A091FBDCA8FEF7D0FFFFDBFFFFE3FFFFF8FFFF
-          FDFFFFFDC6A99CFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFC1A091FEE3ACF1
-          C491FCF2CAFFFFDDFFFFE4FFFFF7FFFFF7FFFFE9EEE5CBB9948CFF00FFFF00FF
-          FF00FFFF00FFFF00FFC2A191FFE6AEEEB581F7DCAEFEFDD8FFFFDFFFFFE3FFFF
-          E4FFFFE0F3ECD2BB968EFF00FFFF00FFFF00FFFF00FFFF00FFBC978CFBE7B7F4
-          C791F2C994F8E5B9FEFCD8FFFFDDFFFFDCFFFFE0E2D2BAB68E86FF00FFFF00FF
-          FF00FFFF00FFFF00FFFF00FFD9C3A9FFFEE5F7DCB8F2C994F5D4A5FAE8BDFDF4
-          C9FDFBD6B69089FF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFB58D85E8
-          DEDDFFFEF2F9D8A3F4C48CF9D49FFDEAB8D0B49FB89086FF00FFFF00FFFF00FF
-          FF00FFFF00FFFF00FFFF00FFFF00FFAD827FC9AA9EEFE0B7EFDFB2E7CEACB890
-          86B89086FF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF
-          00FFFF00FFBA968ABB988CB79188FF00FFFF00FFFF00FFFF00FF}
-        OnClick = sbSearchSignerAccountClick
-      end
-      object gbPayload: TGroupBox
-        Left = 13
-        Top = 211
-        Width = 521
-        Height = 119
-        Caption = ' Payload: '
-        TabOrder = 2
-        object lblEncryptPassword: TLabel
-          Left = 38
-          Top = 76
-          Width = 50
-          Height = 13
-          Caption = 'Password:'
-          Color = clBtnFace
-          ParentColor = False
-        end
-        object Label4: TLabel
-          Left = 255
-          Top = 15
-          Width = 67
-          Height = 13
-          Caption = 'Payload data:'
-          Color = clBtnFace
-          ParentColor = False
-        end
-        object lblEncryptionErrors: TLabel
-          Left = 255
-          Top = 96
-          Width = 246
-          Height = 13
-          AutoSize = False
-          Caption = 'Errors detected'
-          Color = clBtnFace
-          Font.Charset = DEFAULT_CHARSET
-          Font.Color = clRed
-          Font.Height = -11
-          Font.Name = 'Tahoma'
-          Font.Style = []
-          ParentColor = False
-          ParentFont = False
-        end
-        object lblPayloadLength: TLabel
-          Left = 483
-          Top = 15
-          Width = 18
-          Height = 13
-          Alignment = taRightJustify
-          Caption = '000'
-          Color = clBtnFace
-          ParentColor = False
-        end
-        object rbEncryptedWithEC: TRadioButton
-          Left = 15
-          Top = 35
-          Width = 207
-          Height = 19
-          Caption = 'Encrypted with dest account public key'
-          Checked = True
-          TabOrder = 1
-          TabStop = True
-          OnClick = memoPayloadClick
-        end
-        object rbEncrptedWithPassword: TRadioButton
-          Left = 15
-          Top = 53
-          Width = 141
-          Height = 19
-          Caption = 'Encrypted with password'
-          TabOrder = 2
-          OnClick = memoPayloadClick
-        end
-        object rbNotEncrypted: TRadioButton
-          Left = 15
-          Top = 93
-          Width = 162
-          Height = 19
-          Caption = 'Dont encrypt (Public payload)'
-          TabOrder = 4
-          OnClick = memoPayloadClick
-        end
-        object ebEncryptPassword: TEdit
-          Left = 94
-          Top = 73
-          Width = 122
-          Height = 21
-          TabOrder = 3
-          OnChange = ebEncryptPasswordChange
-          OnClick = memoPayloadClick
-        end
-        object memoPayload: TMemo
-          Left = 255
-          Top = 37
-          Width = 246
-          Height = 57
-          Font.Charset = DEFAULT_CHARSET
-          Font.Color = clBlack
-          Font.Height = -16
-          Font.Name = 'Tahoma'
-          Font.Style = []
-          ParentFont = False
-          TabOrder = 5
-          WantReturns = False
-          OnChange = memoPayloadClick
-          OnClick = memoPayloadClick
-        end
-        object rbEncryptedWithOldEC: TRadioButton
-          Left = 15
-          Top = 16
-          Width = 159
-          Height = 19
-          Caption = 'Encrypted with old public key'
-          TabOrder = 0
-          OnClick = memoPayloadClick
-        end
-      end
-      object ebFee: TEdit
-        Left = 90
-        Top = 184
-        Width = 70
-        Height = 21
-        TabOrder = 1
-      end
-      object PageControlOpType: TPageControl
-        Left = 13
-        Top = 11
-        Width = 521
-        Height = 167
-        ActivePage = tsChangeInfo
-        TabOrder = 0
-        OnChange = PageControlOpTypeChange
-        object tsTransaction: TTabSheet
-          Caption = 'Transaction'
-          object lblDestAccount: TLabel
-            Left = 13
-            Top = 32
-            Width = 95
-            Height = 13
-            Caption = 'Destination account'
-            Color = clBtnFace
-            ParentColor = False
-          end
-          object lblAmount: TLabel
-            Left = 72
-            Top = 61
-            Width = 37
-            Height = 13
-            Caption = 'Amount'
-            Color = clBtnFace
-            ParentColor = False
-          end
-          object lblTransactionErrors: TLabel
-            Left = 13
-            Top = 10
-            Width = 331
-            Height = 13
-            AutoSize = False
-            Caption = 'Errors detected'
-            Color = clBtnFace
-            Font.Charset = DEFAULT_CHARSET
-            Font.Color = clRed
-            Font.Height = -11
-            Font.Name = 'Tahoma'
-            Font.Style = []
-            ParentColor = False
-            ParentFont = False
-          end
-          object sbSearchDestinationAccount: TSpeedButton
-            Left = 208
-            Top = 29
-            Width = 23
-            Height = 22
-            Glyph.Data = {
-              36030000424D3603000000000000360000002800000010000000100000000100
-              18000000000000030000120B0000120B00000000000000000000FF00FF4A667C
-              BE9596FF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00
-              FFFF00FFFF00FFFF00FF6B9CC31E89E84B7AA3C89693FF00FFFF00FFFF00FFFF
-              00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FF4BB4FE51B5FF
-              2089E94B7AA2C69592FF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00
-              FFFF00FFFF00FFFF00FFFF00FF51B7FE51B3FF1D87E64E7AA0CA9792FF00FFFF
-              00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FF
-              51B7FE4EB2FF1F89E64E7BA2B99497FF00FFFF00FFFF00FFFF00FFFF00FFFF00
-              FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FF52B8FE4BB1FF2787D95F6A76FF
-              00FFB0857FC09F94C09F96BC988EFF00FFFF00FFFF00FFFF00FFFF00FFFF00FF
-              FF00FFFF00FF55BDFFB5D6EDBF9D92BB9B8CE7DAC2FFFFE3FFFFE5FDFADAD8C3
-              B3B58D85FF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFCEA795FD
-              EEBEFFFFD8FFFFDAFFFFDBFFFFE6FFFFFBEADDDCAE837FFF00FFFF00FFFF00FF
-              FF00FFFF00FFFF00FFFF00FFC1A091FBDCA8FEF7D0FFFFDBFFFFE3FFFFF8FFFF
-              FDFFFFFDC6A99CFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFC1A091FEE3ACF1
-              C491FCF2CAFFFFDDFFFFE4FFFFF7FFFFF7FFFFE9EEE5CBB9948CFF00FFFF00FF
-              FF00FFFF00FFFF00FFC2A191FFE6AEEEB581F7DCAEFEFDD8FFFFDFFFFFE3FFFF
-              E4FFFFE0F3ECD2BB968EFF00FFFF00FFFF00FFFF00FFFF00FFBC978CFBE7B7F4
-              C791F2C994F8E5B9FEFCD8FFFFDDFFFFDCFFFFE0E2D2BAB68E86FF00FFFF00FF
-              FF00FFFF00FFFF00FFFF00FFD9C3A9FFFEE5F7DCB8F2C994F5D4A5FAE8BDFDF4
-              C9FDFBD6B69089FF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFB58D85E8
-              DEDDFFFEF2F9D8A3F4C48CF9D49FFDEAB8D0B49FB89086FF00FFFF00FFFF00FF
-              FF00FFFF00FFFF00FFFF00FFFF00FFAD827FC9AA9EEFE0B7EFDFB2E7CEACB890
-              86B89086FF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF
-              00FFFF00FFBA968ABB988CB79188FF00FFFF00FFFF00FFFF00FF}
-            OnClick = sbSearchDestinationAccountClick
-          end
-          object ebDestAccount: TEdit
-            Left = 115
-            Top = 29
-            Width = 87
-            Height = 21
-            TabOrder = 0
-          end
-          object ebAmount: TEdit
-            Left = 115
-            Top = 58
-            Width = 87
-            Height = 21
-            TabOrder = 1
-          end
-        end
-        object tsChangePrivateKey: TTabSheet
-          Caption = 'Change key'
-          ImageIndex = 1
-          object gbChangeKey: TGroupBox
-            Left = 7
-            Top = 6
-            Width = 488
-            Height = 118
-            Caption = ' Change type: '
-            TabOrder = 0
-            object lblNewPrivateKey: TLabel
-              Left = 57
-              Top = 40
-              Width = 78
-              Height = 13
-              Caption = 'New private key'
-              Color = clBtnFace
-              ParentColor = False
-            end
-            object lblNewOwnerPublicKey: TLabel
-              Left = 24
-              Top = 90
-              Width = 109
-              Height = 13
-              Caption = 'New owners public key'
-              Color = clBtnFace
-              ParentColor = False
-            end
-            object lblNewOwnerErrors: TLabel
-              Left = 173
-              Top = 68
-              Width = 302
-              Height = 13
-              Alignment = taRightJustify
-              AutoSize = False
-              Caption = 'Errors detected'
-              Color = clBtnFace
-              Font.Charset = DEFAULT_CHARSET
-              Font.Color = clRed
-              Font.Height = -11
-              Font.Name = 'Tahoma'
-              Font.Style = []
-              ParentColor = False
-              ParentFont = False
-            end
-            object lblChangeKeyErrors: TLabel
-              Left = 145
-              Top = 15
-              Width = 331
-              Height = 13
-              Alignment = taRightJustify
-              AutoSize = False
-              Caption = 'Errors detected'
-              Color = clBtnFace
-              Font.Charset = DEFAULT_CHARSET
-              Font.Color = clRed
-              Font.Height = -11
-              Font.Name = 'Tahoma'
-              Font.Style = []
-              ParentColor = False
-              ParentFont = False
-            end
-            object rbChangeKeyWithAnother: TRadioButton
-              Left = 12
-              Top = 20
-              Width = 114
-              Height = 19
-              Caption = 'Change private key'
-              TabOrder = 0
-            end
-            object cbNewPrivateKey: TComboBox
-              Left = 145
-              Top = 37
-              Width = 294
-              Height = 21
-              Style = csDropDownList
-              Sorted = True
-              TabOrder = 1
-            end
-            object ebNewPublicKey: TEdit
-              Left = 144
-              Top = 87
-              Width = 331
-              Height = 21
-              TabOrder = 4
-            end
-            object bbChangePrivateKeyKeys: TBitBtn
-              Left = 445
-              Top = 36
-              Width = 31
-              Height = 22
-              DoubleBuffered = True
-              Glyph.Data = {
-                36050000424D3605000000000000360400002800000010000000100000000100
-                0800000000000001000000000000000000000001000000010000FF00FF008C6B
-                6C0087707000AE877C000D7FA9006F7C88006D7C94001F7ECE000E80AA001180
-                A7001081AB00048CB900078DBC000B8DBA000C8DBA00088EBC001285B0007882
-                95006092BD005EA8BE000A91C1000F9DCE002087DE0011A7D10030BCDC001F89
-                E00059A9DC0044BADD004ABFE00057AEF4004DB1F90049B2FF004EB7FF0057B1
-                F60050B6FE0022D7FC0024D7FF0024D8FD0039D7FB0035D8FD004BC6DC0046C6
-                E40048D5EE0075D3E90058E9FD006FE6FF0070E6FF0071F9FE007BFFFF008683
-                88008B8697008F989B00969594009C919000AD858000AD868500AB939500A49E
-                9900B1979400B5A09F008AA5AD00CAA08C00CDAC9300C2A69A00F3BE8000C6AE
-                A000CFB7A100D3BBA200F4C88E00F5CB9A00F5D09C00F8D09800DAC5B700E4CC
-                A900EFD2A900ECD1AC00F6DAAB00F5DEB500F5E1B600F9E1B100FEEAB900FFF2
-                BA00A1C6C8008DE6FA0081F8FE008CFAFD008DFCFE0097FCFD009BFBFD00B8ED
-                F600A7FFFF00AAFFFE00ADFFFE00B6F6FF00B1FCFD00B4FFFF00ECDDCC00E8DD
-                D600FFF7C600FCF5CD00FCF7D100FAF6D600FFFBD500FEFED600F7F2D900FEFF
-                D900FFFEDD00C6F5FF00C6FEFF00D2FFFF00FEF7E000FBFCE100FDFFE100FFFF
-                E400E3FEFF00F9F6F200FFFFF400F1FBFC00F5FFFE00FBFFFF00000000000000
-                0000000000000000000000000000000000000000000000000000000000000000
-                0000000000000000000000000000000000000000000000000000000000000000
-                0000000000000000000000000000000000000000000000000000000000000000
-                0000000000000000000000000000000000000000000000000000000000000000
-                0000000000000000000000000000000000000000000000000000000000000000
-                0000000000000000000000000000000000000000000000000000000000000000
-                0000000000000000000000000000000000000000000000000000000000000000
-                0000000000000000000000000000000000000000000000000000000000000000
-                0000000000000000000000000000000000000000000000000000000000000000
-                0000000000000000000000000000000000000000000000000000000000000000
-                0000000000000000000000000000000000000000000000000000000000000000
-                0000000000000000000000000000000000000000000000000000000000000000
-                0000000000000000000000000000000000000000000000000000000000000000
-                0000000000000000000000000000000000000000000000000000000000000000
-                0000000000000000000000000000000000000000000000000000000000000000
-                0000000000000000000000000000000000000000000000000000000000000000
-                0000000000000000000000000000000000000000000000000000000000000000
-                00000000000000000605000004080408080A000000000011191A000B2A23272D
-                531B080000001116201D0B552C23272E531C1509003207201D000F552C23272B
-                3A3F41030112202000000F552C252938606771684236200000000B5F5D6B3B61
-                74676A67513D000000000B59181735716A676A63474B360000000F282C23396A
-                6A6A6A4C404D360000000B552C2534656A654F455049360000000B552C251343
-                6247446E7336000000000B552C25263C3E4B4E483636000000000F55542F3057
-                523331020000000000000B77766D5F5C5C5C2F08000000000000001476726C5C
-                5A58100000000000000000000F0F0B0F0F0F0000000000000000}
-              ParentDoubleBuffered = False
-              TabOrder = 2
-              OnClick = bbChangePrivateKeyKeysClick
-            end
-            object rbChangeKeyTransferAccountToNewOwner: TRadioButton
-              Left = 12
-              Top = 67
-              Width = 180
-              Height = 19
-              Caption = 'Transfer account to a new owner'
-              TabOrder = 3
-            end
-          end
-        end
-        object tsListForSale: TTabSheet
-          Caption = 'List account for sale'
-          ImageIndex = 3
-          object gbSaleType: TGroupBox
-            Left = 7
-            Top = 5
-            Width = 499
-            Height = 131
-            Caption = ' Sale type: '
-            TabOrder = 0
-            object Label1: TLabel
-              Left = 81
-              Top = 62
-              Width = 50
-              Height = 13
-              Caption = 'Sale price:'
-              Color = clBtnFace
-              ParentColor = False
-            end
-            object Label3: TLabel
-              Left = 229
-              Top = 62
-              Width = 142
-              Height = 13
-              Caption = 'Seller account (where to pay)'
-              Color = clBtnFace
-              ParentColor = False
-            end
-            object lblSaleNewOwnerPublicKey: TLabel
-              Left = 20
-              Top = 85
-              Width = 109
-              Height = 13
-              Caption = 'New owners public key'
-              Color = clBtnFace
-              ParentColor = False
-            end
-            object lblSaleLockedUntilBlock: TLabel
-              Left = 44
-              Top = 109
-              Width = 87
-              Height = 13
-              Caption = 'Locked until block:'
-              Color = clBtnFace
-              ParentColor = False
-            end
-            object lblListAccountErrors: TLabel
-              Left = 145
-              Top = 15
-              Width = 331
-              Height = 13
-              Alignment = taRightJustify
-              AutoSize = False
-              Caption = 'Errors detected'
-              Color = clBtnFace
-              Font.Charset = DEFAULT_CHARSET
-              Font.Color = clRed
-              Font.Height = -11
-              Font.Name = 'Tahoma'
-              Font.Style = []
-              ParentColor = False
-              ParentFont = False
-            end
-            object sbSearchListerSellerAccount: TSpeedButton
-              Left = 467
-              Top = 59
-              Width = 23
-              Height = 22
-              Glyph.Data = {
-                36030000424D3603000000000000360000002800000010000000100000000100
-                18000000000000030000120B0000120B00000000000000000000FF00FF4A667C
-                BE9596FF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00
-                FFFF00FFFF00FFFF00FF6B9CC31E89E84B7AA3C89693FF00FFFF00FFFF00FFFF
-                00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FF4BB4FE51B5FF
-                2089E94B7AA2C69592FF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00
-                FFFF00FFFF00FFFF00FFFF00FF51B7FE51B3FF1D87E64E7AA0CA9792FF00FFFF
-                00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FF
-                51B7FE4EB2FF1F89E64E7BA2B99497FF00FFFF00FFFF00FFFF00FFFF00FFFF00
-                FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FF52B8FE4BB1FF2787D95F6A76FF
-                00FFB0857FC09F94C09F96BC988EFF00FFFF00FFFF00FFFF00FFFF00FFFF00FF
-                FF00FFFF00FF55BDFFB5D6EDBF9D92BB9B8CE7DAC2FFFFE3FFFFE5FDFADAD8C3
-                B3B58D85FF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFCEA795FD
-                EEBEFFFFD8FFFFDAFFFFDBFFFFE6FFFFFBEADDDCAE837FFF00FFFF00FFFF00FF
-                FF00FFFF00FFFF00FFFF00FFC1A091FBDCA8FEF7D0FFFFDBFFFFE3FFFFF8FFFF
-                FDFFFFFDC6A99CFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFC1A091FEE3ACF1
-                C491FCF2CAFFFFDDFFFFE4FFFFF7FFFFF7FFFFE9EEE5CBB9948CFF00FFFF00FF
-                FF00FFFF00FFFF00FFC2A191FFE6AEEEB581F7DCAEFEFDD8FFFFDFFFFFE3FFFF
-                E4FFFFE0F3ECD2BB968EFF00FFFF00FFFF00FFFF00FFFF00FFBC978CFBE7B7F4
-                C791F2C994F8E5B9FEFCD8FFFFDDFFFFDCFFFFE0E2D2BAB68E86FF00FFFF00FF
-                FF00FFFF00FFFF00FFFF00FFD9C3A9FFFEE5F7DCB8F2C994F5D4A5FAE8BDFDF4
-                C9FDFBD6B69089FF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFB58D85E8
-                DEDDFFFEF2F9D8A3F4C48CF9D49FFDEAB8D0B49FB89086FF00FFFF00FFFF00FF
-                FF00FFFF00FFFF00FFFF00FFFF00FFAD827FC9AA9EEFE0B7EFDFB2E7CEACB890
-                86B89086FF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF
-                00FFFF00FFBA968ABB988CB79188FF00FFFF00FFFF00FFFF00FF}
-              OnClick = sbSearchListerSellerAccountClick
-            end
-            object rbListAccountForPublicSale: TRadioButton
-              Left = 10
-              Top = 20
-              Width = 141
-              Height = 17
-              Caption = 'List account for public sale'
-              TabOrder = 0
-            end
-            object rbListAccountForPrivateSale: TRadioButton
-              Left = 10
-              Top = 40
-              Width = 174
-              Height = 17
-              Caption = 'List account for private sale'
-              TabOrder = 1
-            end
-            object ebSalePrice: TEdit
-              Left = 137
-              Top = 59
-              Width = 86
-              Height = 21
-              TabOrder = 2
-            end
-            object ebSellerAccount: TEdit
-              Left = 378
-              Top = 59
-              Width = 83
-              Height = 21
-              TabOrder = 3
-            end
-            object ebSaleNewOwnerPublicKey: TEdit
-              Left = 137
-              Top = 82
-              Width = 324
-              Height = 21
-              TabOrder = 4
-            end
-            object ebSaleLockedUntilBlock: TEdit
-              Left = 137
-              Top = 106
-              Width = 86
-              Height = 21
-              TabOrder = 5
-            end
-          end
-        end
-        object tsDelist: TTabSheet
-          Caption = 'Delist account'
-          ImageIndex = 3
-          object lblDelistErrors: TLabel
-            Left = 13
-            Top = 10
-            Width = 331
-            Height = 13
-            AutoSize = False
-            Caption = 'Errors detected'
-            Color = clBtnFace
-            Font.Charset = DEFAULT_CHARSET
-            Font.Color = clRed
-            Font.Height = -11
-            Font.Name = 'Tahoma'
-            Font.Style = []
-            ParentColor = False
-            ParentFont = False
-          end
-        end
-        object tsBuyAccount: TTabSheet
-          Caption = 'Buy account'
-          ImageIndex = 4
-          object lblAccountToBuy: TLabel
-            Left = 13
-            Top = 32
-            Width = 100
-            Height = 13
-            Alignment = taRightJustify
-            AutoSize = False
-            Caption = 'Account to Buy'
-            Color = clBtnFace
-            ParentColor = False
-          end
-          object lblBuyAmount: TLabel
-            Left = 13
-            Top = 61
-            Width = 100
-            Height = 13
-            Alignment = taRightJustify
-            AutoSize = False
-            Caption = 'Amount'
-            Color = clBtnFace
-            ParentColor = False
-          end
-          object lblBuyAccountErrors: TLabel
-            Left = 13
-            Top = 10
-            Width = 331
-            Height = 13
-            AutoSize = False
-            Caption = 'Errors detected'
-            Color = clBtnFace
-            Font.Charset = DEFAULT_CHARSET
-            Font.Color = clRed
-            Font.Height = -11
-            Font.Name = 'Tahoma'
-            Font.Style = []
-            ParentColor = False
-            ParentFont = False
-          end
-          object lblBuyNewKey: TLabel
-            Left = 13
-            Top = 88
-            Width = 100
-            Height = 13
-            Alignment = taRightJustify
-            AutoSize = False
-            Caption = 'New private key'
-            Color = clBtnFace
-            ParentColor = False
-          end
-          object Label2: TLabel
-            Left = 204
-            Top = 61
-            Width = 231
-            Height = 13
-            Caption = 'excessive amount will remain on bought account'
-            Color = clBtnFace
-            Font.Charset = DEFAULT_CHARSET
-            Font.Color = clGray
-            Font.Height = -11
-            Font.Name = 'Tahoma'
-            Font.Style = []
-            ParentColor = False
-            ParentFont = False
-          end
-          object sbSearchBuyAccount: TSpeedButton
-            Left = 200
-            Top = 29
-            Width = 23
-            Height = 22
-            Glyph.Data = {
-              36030000424D3603000000000000360000002800000010000000100000000100
-              18000000000000030000120B0000120B00000000000000000000FF00FF4A667C
-              BE9596FF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00
-              FFFF00FFFF00FFFF00FF6B9CC31E89E84B7AA3C89693FF00FFFF00FFFF00FFFF
-              00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FF4BB4FE51B5FF
-              2089E94B7AA2C69592FF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00
-              FFFF00FFFF00FFFF00FFFF00FF51B7FE51B3FF1D87E64E7AA0CA9792FF00FFFF
-              00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FF
-              51B7FE4EB2FF1F89E64E7BA2B99497FF00FFFF00FFFF00FFFF00FFFF00FFFF00
-              FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FF52B8FE4BB1FF2787D95F6A76FF
-              00FFB0857FC09F94C09F96BC988EFF00FFFF00FFFF00FFFF00FFFF00FFFF00FF
-              FF00FFFF00FF55BDFFB5D6EDBF9D92BB9B8CE7DAC2FFFFE3FFFFE5FDFADAD8C3
-              B3B58D85FF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFCEA795FD
-              EEBEFFFFD8FFFFDAFFFFDBFFFFE6FFFFFBEADDDCAE837FFF00FFFF00FFFF00FF
-              FF00FFFF00FFFF00FFFF00FFC1A091FBDCA8FEF7D0FFFFDBFFFFE3FFFFF8FFFF
-              FDFFFFFDC6A99CFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFC1A091FEE3ACF1
-              C491FCF2CAFFFFDDFFFFE4FFFFF7FFFFF7FFFFE9EEE5CBB9948CFF00FFFF00FF
-              FF00FFFF00FFFF00FFC2A191FFE6AEEEB581F7DCAEFEFDD8FFFFDFFFFFE3FFFF
-              E4FFFFE0F3ECD2BB968EFF00FFFF00FFFF00FFFF00FFFF00FFBC978CFBE7B7F4
-              C791F2C994F8E5B9FEFCD8FFFFDDFFFFDCFFFFE0E2D2BAB68E86FF00FFFF00FF
-              FF00FFFF00FFFF00FFFF00FFD9C3A9FFFEE5F7DCB8F2C994F5D4A5FAE8BDFDF4
-              C9FDFBD6B69089FF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFB58D85E8
-              DEDDFFFEF2F9D8A3F4C48CF9D49FFDEAB8D0B49FB89086FF00FFFF00FFFF00FF
-              FF00FFFF00FFFF00FFFF00FFFF00FFAD827FC9AA9EEFE0B7EFDFB2E7CEACB890
-              86B89086FF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF
-              00FFFF00FFBA968ABB988CB79188FF00FFFF00FFFF00FFFF00FF}
-            OnClick = sbSearchBuyAccountClick
-          end
-          object ebAccountToBuy: TEdit
-            Left = 118
-            Top = 29
-            Width = 76
-            Height = 21
-            TabOrder = 0
-          end
-          object ebBuyAmount: TEdit
-            Left = 118
-            Top = 58
-            Width = 76
-            Height = 21
-            TabOrder = 1
-          end
-          object cbBuyNewKey: TComboBox
-            Left = 118
-            Top = 85
-            Width = 294
-            Height = 21
-            Style = csDropDownList
-            Sorted = True
-            TabOrder = 2
-          end
-          object bbBuyNewKey: TBitBtn
-            Left = 418
-            Top = 84
-            Width = 31
-            Height = 22
-            DoubleBuffered = True
-            Glyph.Data = {
-              36050000424D3605000000000000360400002800000010000000100000000100
-              0800000000000001000000000000000000000001000000010000FF00FF008C6B
-              6C0087707000AE877C000D7FA9006F7C88006D7C94001F7ECE000E80AA001180
-              A7001081AB00048CB900078DBC000B8DBA000C8DBA00088EBC001285B0007882
-              95006092BD005EA8BE000A91C1000F9DCE002087DE0011A7D10030BCDC001F89
-              E00059A9DC0044BADD004ABFE00057AEF4004DB1F90049B2FF004EB7FF0057B1
-              F60050B6FE0022D7FC0024D7FF0024D8FD0039D7FB0035D8FD004BC6DC0046C6
-              E40048D5EE0075D3E90058E9FD006FE6FF0070E6FF0071F9FE007BFFFF008683
-              88008B8697008F989B00969594009C919000AD858000AD868500AB939500A49E
-              9900B1979400B5A09F008AA5AD00CAA08C00CDAC9300C2A69A00F3BE8000C6AE
-              A000CFB7A100D3BBA200F4C88E00F5CB9A00F5D09C00F8D09800DAC5B700E4CC
-              A900EFD2A900ECD1AC00F6DAAB00F5DEB500F5E1B600F9E1B100FEEAB900FFF2
-              BA00A1C6C8008DE6FA0081F8FE008CFAFD008DFCFE0097FCFD009BFBFD00B8ED
-              F600A7FFFF00AAFFFE00ADFFFE00B6F6FF00B1FCFD00B4FFFF00ECDDCC00E8DD
-              D600FFF7C600FCF5CD00FCF7D100FAF6D600FFFBD500FEFED600F7F2D900FEFF
-              D900FFFEDD00C6F5FF00C6FEFF00D2FFFF00FEF7E000FBFCE100FDFFE100FFFF
-              E400E3FEFF00F9F6F200FFFFF400F1FBFC00F5FFFE00FBFFFF00000000000000
-              0000000000000000000000000000000000000000000000000000000000000000
-              0000000000000000000000000000000000000000000000000000000000000000
-              0000000000000000000000000000000000000000000000000000000000000000
-              0000000000000000000000000000000000000000000000000000000000000000
-              0000000000000000000000000000000000000000000000000000000000000000
-              0000000000000000000000000000000000000000000000000000000000000000
-              0000000000000000000000000000000000000000000000000000000000000000
-              0000000000000000000000000000000000000000000000000000000000000000
-              0000000000000000000000000000000000000000000000000000000000000000
-              0000000000000000000000000000000000000000000000000000000000000000
-              0000000000000000000000000000000000000000000000000000000000000000
-              0000000000000000000000000000000000000000000000000000000000000000
-              0000000000000000000000000000000000000000000000000000000000000000
-              0000000000000000000000000000000000000000000000000000000000000000
-              0000000000000000000000000000000000000000000000000000000000000000
-              0000000000000000000000000000000000000000000000000000000000000000
-              0000000000000000000000000000000000000000000000000000000000000000
-              00000000000000000605000004080408080A000000000011191A000B2A23272D
-              531B080000001116201D0B552C23272E531C1509003207201D000F552C23272B
-              3A3F41030112202000000F552C252938606771684236200000000B5F5D6B3B61
-              74676A67513D000000000B59181735716A676A63474B360000000F282C23396A
-              6A6A6A4C404D360000000B552C2534656A654F455049360000000B552C251343
-              6247446E7336000000000B552C25263C3E4B4E483636000000000F55542F3057
-              523331020000000000000B77766D5F5C5C5C2F08000000000000001476726C5C
-              5A58100000000000000000000F0F0B0F0F0F0000000000000000}
-            ParentDoubleBuffered = False
-            TabOrder = 3
-            OnClick = bbBuyNewKeyClick
-          end
-        end
-        object tsChangeInfo: TTabSheet
-          Caption = 'Change Info'
-          object lblChangeInfoErrors: TLabel
-            Left = 13
-            Top = 10
-            Width = 331
-            Height = 13
-            AutoSize = False
-            Caption = 'Errors detected'
-            Color = clBtnFace
-            Font.Charset = DEFAULT_CHARSET
-            Font.Color = clRed
-            Font.Height = -11
-            Font.Name = 'Tahoma'
-            Font.Style = []
-            ParentColor = False
-            ParentFont = False
-          end
-          object lblChangeName: TLabel
-            Left = 13
-            Top = 32
-            Width = 100
-            Height = 13
-            Alignment = taRightJustify
-            AutoSize = False
-            Caption = 'Change name'
-            Color = clBtnFace
-            ParentColor = False
-          end
-          object lblChangeType: TLabel
-            Left = 13
-            Top = 60
-            Width = 100
-            Height = 13
-            Alignment = taRightJustify
-            AutoSize = False
-            Caption = 'Change type'
-            Color = clBtnFace
-            ParentColor = False
-          end
-          object ebChangeName: TEdit
-            Left = 118
-            Top = 29
-            Width = 258
-            Height = 21
-            TabOrder = 0
-          end
-          object ebChangeType: TEdit
-            Left = 118
-            Top = 57
-            Width = 76
-            Height = 21
-            TabOrder = 1
-          end
-        end
-      end
-      object ebSignerAccount: TEdit
-        Left = 325
-        Top = 184
-        Width = 82
-        Height = 21
-        TabOrder = 3
-      end
-    end
-    object tsGlobalError: TTabSheet
-      ImageIndex = 1
-      TabVisible = False
-      object lblGlobalErrors: TLabel
-        Left = 40
-        Top = 50
-        Width = 456
-        Height = 156
-        Alignment = taCenter
-        AutoSize = False
-        Caption = '????'
-        Color = clBtnFace
-        Font.Charset = DEFAULT_CHARSET
-        Font.Color = clRed
-        Font.Height = -21
-        Font.Name = 'Tahoma'
-        Font.Style = [fsBold]
-        ParentColor = False
-        ParentFont = False
-        WordWrap = True
-      end
-      object bbPassword: TBitBtn
-        Left = 191
-        Top = 243
-        Width = 159
-        Height = 38
-        Caption = 'Password'
-        DoubleBuffered = True
-        Font.Charset = DEFAULT_CHARSET
-        Font.Color = clWindowText
-        Font.Height = -13
-        Font.Name = 'Tahoma'
-        Font.Style = [fsBold]
-        Glyph.Data = {
-          76060000424D7606000000000000360400002800000018000000180000000100
-          0800000000004002000000000000000000000001000000010000000000000101
-          0100020202000303030004040400050505000606060007070700080808000909
-          09000A0A0A000B0B0B000C0C0C000D0D0D000E0E0E000F0F0F00101010001111
-          1100121212001313130014141400151515001616160017171700181818001919
-          19001A1A1A001B1B1B001C1C1C001D1D1D001E1E1E001F1F1F00202020002121
-          2100222222002323230024242400252525002626260027272700282828002929
-          29002A2A2A002B2B2B002C2C2C002D2D2D002E2E2E002F2F2F00303030003131
-          3100323232003333330034343400353535003636360037373700383838003939
-          39003A3A3A003B3B3B003C3C3C003D3D3D003E3E3E003F3F3F00404040004141
-          4100424242004343430044444400454545004646460047474700484848004949
-          49004A4A4A004B4B4B004C4C4C004D4D4D004E4E4E004F4F4F00505050005151
-          5100525252005353530054545400555555005656560057575700585858005959
-          59005A5A5A005B5B5B005C5C5C005D5D5D005E5E5E00685968007C4F7C009441
-          9400B72CB700DD15DD00F506F500FD01FD00FE00FE00FE00FE00FE00FE00FE00
-          FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00
-          FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00
-          FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00
-          FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00
-          FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00
-          FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00
-          FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00
-          FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00
-          FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00
-          FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00
-          FE00FE00FE00FE00FE00FE00FE00F008F900D517F000BD24E800A830E1007B4B
-          D0005065C1003774B7002B7DB100237FAC001F82AD001C83AD001785AE001687
-          AF001489B100128AB300108CB6000F8EB9000D91BB000C94BF000A97C3000A99
-          C5000A9AC7000B9BC8000B9CCA000C9ECC000C9FCD000DA0CE000DA1CE000EA2
-          CF0011A3CF0015A4CF0018A5CF001CA7D10021A9D1002AAAD00035AACD0035AD
-          D00035AFD30035B1D60037B5D8003AB8DB003EB9DC0040BBDD0045BEDE004CC1
-          E00055C6E3005BC8E40061CAE40066CBE3006BCCE30072D3E60078D8EB0080D8
-          EE0083D9F10085DCF40088DBF5008BDBF6008EDAF70091DAF70095DCF70097E0
-          F7009EE3F800A4E7F900A9E9F900AEE9F900B5EBF900B2EBF800919191919191
-          919191919191919191919191919191919191919191919191D5E7E8E7E3DED591
-          919191919191919191919191919191D6DDF7F8F8F7F6F4EEE6D5919191919191
-          919191919191D7DADEF8F8F6F7F6EDF1F8F1E69191919191919191919191DADE
-          DFFAFAF8F7F7E9EDF7F7F8EB91919191919191919191DDE5E3FCFCFAFAEEE0E9
-          F3F7F7F7DC919191919191919191DEE7E4FEFEFCFCEDC5E0EFF7F6F6DC919191
-          919191919191DEEAE7FEFEFEFDFBC4C4F5F7F6F6DC919191919191919191E3EC
-          E9FEFEFEFEFEE0C3F9F7F6F6DC919191919191919191E3E9E3F8F8F1F1F8FBFB
-          FCFAF7F6DC919191919191919191DCEAEAE0E1E9E5E3DEE4EBF2FAF9DC919191
-          919191919191DBF3EEC5C5EFF3EBE5DDD9D6E6F5DC91919191919191919191D5
-          E8EDF1FAF6F0EAE4DAD1D2DBDC919191919191919191919191DBE8F0F3F3F3E4
-          D0CFE4D8DC919191919191919191919191919191D5DEE4DED2CFD4D491919191
-          91919191919191919191919191919191D2CE9191919191919191919191919191
-          91C8C89191919191D2CE919191919191919191919191919191D9D09191919191
-          D2CE919191919191919191919191919191E6E39191919191D2CE919191919191
-          919191919191919191E0F3CE91919191D2CE9191919191919191919191919191
-          9191EFF6E1C9C8CDD9CC91919191919191919191919191919191C9EDF9F3F3EB
-          DC91919191919191919191919191919191919191CBE0E1CF9191919191919191
-          9191919191919191919191919191919191919191919191919191}
-        ParentDoubleBuffered = False
-        ParentFont = False
-        TabOrder = 0
-        OnClick = bbPasswordClick
-      end
-    end
-  end
-  object memoAccounts: TMemo
-    Left = 74
-    Top = 12
-    Width = 307
-    Height = 59
-    Font.Charset = DEFAULT_CHARSET
-    Font.Color = clWindowText
-    Font.Height = -12
-    Font.Name = 'Tahoma'
-    Font.Style = [fsBold]
-    Lines.Strings = (
-      '123456-11 (0.0000); 123456-11 (0.0000); '
-      '123456-11 (0.0000); 123456-11 (0.0000); ')
-    ParentFont = False
-    ReadOnly = True
-    ScrollBars = ssVertical
-    TabOrder = 4
-  end
-  object ebSenderAccount: TEdit
-    Left = 74
-    Top = 12
-    Width = 97
-    Height = 27
-    Font.Charset = DEFAULT_CHARSET
-    Font.Color = clBlack
-    Font.Height = -16
-    Font.Name = 'Tahoma'
-    Font.Style = [fsBold]
-    ParentFont = False
-    TabOrder = 0
-    Text = 'ebSenderAccount'
-    OnExit = ebSenderAccountExit
-    OnKeyPress = ebSenderAccountKeyPress
-  end
-  object ActionList: TActionList
-    Left = 140
-    Top = 350
-    object actExecute: TAction
-      Caption = 'Execute (F12)'
-      ShortCut = 123
-      OnExecute = actExecuteExecute
-    end
-  end
-end

+ 2 - 12
Units/Forms/UFRMOperation.pas

@@ -1,8 +1,6 @@
 unit UFRMOperation;
 unit UFRMOperation;
 
 
-{$IFDEF FPC}
-  {$MODE Delphi}
-{$ENDIF}
+{$mode delphi}
 
 
 { Copyright (c) 2016 by Albert Molina
 { Copyright (c) 2016 by Albert Molina
 
 
@@ -20,11 +18,7 @@ unit UFRMOperation;
 interface
 interface
 
 
 uses
 uses
-{$IFnDEF FPC}
-  Windows,
-{$ELSE}
   LCLIntf, LCLType, LMessages,
   LCLIntf, LCLType, LMessages,
-{$ENDIF}
   Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
   Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
   Dialogs, StdCtrls, UNode, UWalletKeys, UCrypto, Buttons, UBlockChain,
   Dialogs, StdCtrls, UNode, UWalletKeys, UCrypto, Buttons, UBlockChain,
   UAccounts, UFRMAccountSelect, ActnList, ComCtrls, Types, UCommon;
   UAccounts, UFRMAccountSelect, ActnList, ComCtrls, Types, UCommon;
@@ -179,11 +173,7 @@ implementation
 uses
 uses
   UECIES, UConst, UOpTransaction, UFRMNewPrivateKeyType, UAES, UFRMWalletKeys;
   UECIES, UConst, UOpTransaction, UFRMNewPrivateKeyType, UAES, UFRMWalletKeys;
 
 
-{$IFnDEF FPC}
-  {$R *.dfm}
-{$ELSE}
-  {$R *.lfm}
-{$ENDIF}
+{$R *.lfm}
 
 
 { TFRMOperation }
 { TFRMOperation }
 
 

+ 0 - 4
Units/Forms/UFRMOperationExplorer.pas

@@ -5,11 +5,7 @@ unit UFRMOperationExplorer;
 interface
 interface
 
 
 uses
 uses
-  {$IFnDEF FPC}
-    pngimage, Windows, AppEvnts, ShlObj,
-  {$ELSE}
     LCLIntf, LCLType,
     LCLIntf, LCLType,
-  {$ENDIF}
     SysUtils, Controls, Forms,
     SysUtils, Controls, Forms,
     Dialogs, ExtCtrls, StdCtrls,
     Dialogs, ExtCtrls, StdCtrls,
     Grids, Menus, Classes, UGridUtils, UConst;
     Grids, Menus, Classes, UGridUtils, UConst;

+ 0 - 381
Units/Forms/UFRMPascalCoinWalletConfig.dfm

@@ -1,381 +0,0 @@
-object FRMPascalCoinWalletConfig: TFRMPascalCoinWalletConfig
-  Left = 0
-  Top = 0
-  BorderIcons = [biSystemMenu]
-  BorderStyle = bsSingle
-  Caption = 'Options'
-  ClientHeight = 519
-  ClientWidth = 374
-  Color = clBtnFace
-  Font.Charset = DEFAULT_CHARSET
-  Font.Color = clWindowText
-  Font.Height = -11
-  Font.Name = 'Tahoma'
-  Font.Style = []
-  OldCreateOrder = False
-  Position = poOwnerFormCenter
-  OnCreate = FormCreate
-  PixelsPerInch = 96
-  TextHeight = 13
-  object Label1: TLabel
-    Left = 30
-    Top = 390
-    Width = 120
-    Height = 13
-    Caption = 'Default fee for operation'
-  end
-  object Label2: TLabel
-    Left = 30
-    Top = 116
-    Width = 98
-    Height = 13
-    Caption = 'Internet Server Port'
-  end
-  object lblDefaultInternetServerPort: TLabel
-    Left = 248
-    Top = 116
-    Width = 70
-    Height = 13
-    Caption = '(Default XXXX)'
-  end
-  object Label3: TLabel
-    Left = 15
-    Top = 67
-    Width = 60
-    Height = 13
-    Caption = 'Miner Name:'
-  end
-  object Label4: TLabel
-    Left = 90
-    Top = 91
-    Width = 259
-    Height = 13
-    Caption = 'This name will be included in each new block you mine!'
-    Font.Charset = DEFAULT_CHARSET
-    Font.Color = clGray
-    Font.Height = -11
-    Font.Name = 'Tahoma'
-    Font.Style = []
-    ParentFont = False
-  end
-  object Label5: TLabel
-    Left = 30
-    Top = 231
-    Width = 73
-    Height = 13
-    Caption = 'JSON-RPC Port'
-  end
-  object lblDefaultJSONRPCMinerServerPort: TLabel
-    Left = 248
-    Top = 231
-    Width = 70
-    Height = 13
-    Caption = '(Default XXXX)'
-  end
-  object Label6: TLabel
-    Left = 24
-    Top = 162
-    Width = 57
-    Height = 13
-    Caption = 'Allowed IP'#39's'
-  end
-  object Label7: TLabel
-    Left = 92
-    Top = 182
-    Width = 209
-    Height = 13
-    Caption = 'Ip'#39's separated by semicolon or empty for all'
-    Font.Charset = DEFAULT_CHARSET
-    Font.Color = clGray
-    Font.Height = -11
-    Font.Name = 'Tahoma'
-    Font.Style = []
-    ParentFont = False
-  end
-  object cbJSONRPCMinerServerActive: TCheckBox
-    Left = 15
-    Top = 205
-    Width = 261
-    Height = 17
-    Caption = 'JSON-RPC Server Miner (TCP/IP, no HTTP)'
-    TabOrder = 6
-  end
-  object ebDefaultFee: TEdit
-    Left = 170
-    Top = 387
-    Width = 56
-    Height = 21
-    Alignment = taRightJustify
-    TabOrder = 10
-    Text = '0'
-  end
-  object cbSaveLogFiles: TCheckBox
-    Left = 15
-    Top = 414
-    Width = 97
-    Height = 17
-    Caption = 'Save log file'
-    TabOrder = 11
-    OnClick = cbSaveLogFilesClick
-  end
-  object cbShowLogs: TCheckBox
-    Left = 15
-    Top = 452
-    Width = 97
-    Height = 17
-    Caption = 'Show logs'
-    TabOrder = 13
-  end
-  object bbOk: TBitBtn
-    Left = 176
-    Top = 475
-    Width = 75
-    Height = 25
-    DoubleBuffered = True
-    Kind = bkOK
-    ParentDoubleBuffered = False
-    TabOrder = 16
-    OnClick = bbOkClick
-  end
-  object bbCancel: TBitBtn
-    Left = 266
-    Top = 475
-    Width = 75
-    Height = 25
-    DoubleBuffered = True
-    Kind = bkCancel
-    ParentDoubleBuffered = False
-    TabOrder = 17
-  end
-  object udInternetServerPort: TUpDown
-    Left = 226
-    Top = 113
-    Width = 16
-    Height = 21
-    Associate = ebInternetServerPort
-    Min = 1
-    Max = 40000
-    Position = 4004
-    TabOrder = 3
-    Thousands = False
-  end
-  object ebInternetServerPort: TEdit
-    Left = 170
-    Top = 113
-    Width = 56
-    Height = 21
-    Alignment = taRightJustify
-    TabOrder = 2
-    Text = '4004'
-  end
-  object bbUpdatePassword: TBitBtn
-    Left = 15
-    Top = 14
-    Width = 336
-    Height = 38
-    Caption = 'Wallet Password'
-    DoubleBuffered = True
-    Font.Charset = DEFAULT_CHARSET
-    Font.Color = clWindowText
-    Font.Height = -13
-    Font.Name = 'Tahoma'
-    Font.Style = [fsBold]
-    Glyph.Data = {
-      76060000424D7606000000000000360400002800000018000000180000000100
-      0800000000004002000000000000000000000001000000010000000000000101
-      0100020202000303030004040400050505000606060007070700080808000909
-      09000A0A0A000B0B0B000C0C0C000D0D0D000E0E0E000F0F0F00101010001111
-      1100121212001313130014141400151515001616160017171700181818001919
-      19001A1A1A001B1B1B001C1C1C001D1D1D001E1E1E001F1F1F00202020002121
-      2100222222002323230024242400252525002626260027272700282828002929
-      29002A2A2A002B2B2B002C2C2C002D2D2D002E2E2E002F2F2F00303030003131
-      3100323232003333330034343400353535003636360037373700383838003939
-      39003A3A3A003B3B3B003C3C3C003D3D3D003E3E3E003F3F3F00404040004141
-      4100424242004343430044444400454545004646460047474700484848004949
-      49004A4A4A004B4B4B004C4C4C004D4D4D004E4E4E004F4F4F00505050005151
-      5100525252005353530054545400555555005656560057575700585858005959
-      59005A5A5A005B5B5B005C5C5C005D5D5D005E5E5E00685968007C4F7C009441
-      9400B72CB700DD15DD00F506F500FD01FD00FE00FE00FE00FE00FE00FE00FE00
-      FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00
-      FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00
-      FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00
-      FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00
-      FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00
-      FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00
-      FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00
-      FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00
-      FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00
-      FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00
-      FE00FE00FE00FE00FE00FE00FE00F008F900D517F000BD24E800A830E1007B4B
-      D0005065C1003774B7002B7DB100237FAC001F82AD001C83AD001785AE001687
-      AF001489B100128AB300108CB6000F8EB9000D91BB000C94BF000A97C3000A99
-      C5000A9AC7000B9BC8000B9CCA000C9ECC000C9FCD000DA0CE000DA1CE000EA2
-      CF0011A3CF0015A4CF0018A5CF001CA7D10021A9D1002AAAD00035AACD0035AD
-      D00035AFD30035B1D60037B5D8003AB8DB003EB9DC0040BBDD0045BEDE004CC1
-      E00055C6E3005BC8E40061CAE40066CBE3006BCCE30072D3E60078D8EB0080D8
-      EE0083D9F10085DCF40088DBF5008BDBF6008EDAF70091DAF70095DCF70097E0
-      F7009EE3F800A4E7F900A9E9F900AEE9F900B5EBF900B2EBF800919191919191
-      919191919191919191919191919191919191919191919191D5E7E8E7E3DED591
-      919191919191919191919191919191D6DDF7F8F8F7F6F4EEE6D5919191919191
-      919191919191D7DADEF8F8F6F7F6EDF1F8F1E69191919191919191919191DADE
-      DFFAFAF8F7F7E9EDF7F7F8EB91919191919191919191DDE5E3FCFCFAFAEEE0E9
-      F3F7F7F7DC919191919191919191DEE7E4FEFEFCFCEDC5E0EFF7F6F6DC919191
-      919191919191DEEAE7FEFEFEFDFBC4C4F5F7F6F6DC919191919191919191E3EC
-      E9FEFEFEFEFEE0C3F9F7F6F6DC919191919191919191E3E9E3F8F8F1F1F8FBFB
-      FCFAF7F6DC919191919191919191DCEAEAE0E1E9E5E3DEE4EBF2FAF9DC919191
-      919191919191DBF3EEC5C5EFF3EBE5DDD9D6E6F5DC91919191919191919191D5
-      E8EDF1FAF6F0EAE4DAD1D2DBDC919191919191919191919191DBE8F0F3F3F3E4
-      D0CFE4D8DC919191919191919191919191919191D5DEE4DED2CFD4D491919191
-      91919191919191919191919191919191D2CE9191919191919191919191919191
-      91C8C89191919191D2CE919191919191919191919191919191D9D09191919191
-      D2CE919191919191919191919191919191E6E39191919191D2CE919191919191
-      919191919191919191E0F3CE91919191D2CE9191919191919191919191919191
-      9191EFF6E1C9C8CDD9CC91919191919191919191919191919191C9EDF9F3F3EB
-      DC91919191919191919191919191919191919191CBE0E1CF9191919191919191
-      9191919191919191919191919191919191919191919191919191}
-    ParentDoubleBuffered = False
-    ParentFont = False
-    TabOrder = 0
-    OnClick = bbUpdatePasswordClick
-  end
-  object ebMinerName: TEdit
-    Left = 90
-    Top = 64
-    Width = 261
-    Height = 21
-    TabOrder = 1
-    Text = 'ebMinerName'
-  end
-  object cbShowModalMessages: TCheckBox
-    Left = 170
-    Top = 414
-    Width = 171
-    Height = 17
-    Caption = 'Show modal messages'
-    TabOrder = 14
-  end
-  object udJSONRPCMinerServerPort: TUpDown
-    Left = 226
-    Top = 228
-    Width = 16
-    Height = 21
-    Associate = ebJSONRPCMinerServerPort
-    Min = 1
-    Max = 40000
-    Position = 1
-    TabOrder = 8
-    Thousands = False
-  end
-  object ebJSONRPCMinerServerPort: TEdit
-    Left = 170
-    Top = 228
-    Width = 56
-    Height = 21
-    Alignment = taRightJustify
-    TabOrder = 7
-    Text = '1'
-  end
-  object gbMinerPrivateKey: TGroupBox
-    Left = 15
-    Top = 255
-    Width = 334
-    Height = 121
-    Caption = ' Miner Server Private Key: '
-    TabOrder = 9
-    object rbGenerateANewPrivateKeyEachBlock: TRadioButton
-      Left = 20
-      Top = 20
-      Width = 301
-      Height = 17
-      Caption = 'Generate a new private key for each generated block'
-      TabOrder = 0
-    end
-    object rbUseARandomKey: TRadioButton
-      Left = 20
-      Top = 40
-      Width = 216
-      Height = 17
-      Caption = 'Use a random existing key'
-      TabOrder = 1
-    end
-    object rbMineAllwaysWithThisKey: TRadioButton
-      Left = 20
-      Top = 61
-      Width = 216
-      Height = 17
-      Caption = 'Always mine with this key:'
-      TabOrder = 2
-    end
-    object cbPrivateKeyToMine: TComboBox
-      Left = 45
-      Top = 85
-      Width = 266
-      Height = 21
-      Style = csDropDownList
-      TabOrder = 3
-    end
-  end
-  object cbSaveDebugLogs: TCheckBox
-    Left = 31
-    Top = 432
-    Width = 97
-    Height = 17
-    Caption = 'Save debug logs too'
-    TabOrder = 12
-  end
-  object bbOpenDataFolder: TBitBtn
-    Left = 15
-    Top = 475
-    Width = 120
-    Height = 25
-    Caption = 'Open Data folder'
-    DoubleBuffered = True
-    Glyph.Data = {
-      36030000424D3603000000000000360000002800000010000000100000000100
-      18000000000000030000120B0000120B00000000000000000000FF00FF078DBE
-      078DBE078DBE078DBE078DBE078DBE078DBE078DBE078DBE078DBE078DBE078D
-      BEFF00FFFF00FFFF00FF078DBE25A1D171C6E884D7FA66CDF965CDF965CDF965
-      CDF965CDF865CDF965CDF866CEF93AADD81999C9FF00FFFF00FF078DBE4CBCE7
-      39A8D1A0E2FB6FD4FA6FD4F96ED4FA6FD4F96FD4FA6FD4FA6FD4FA6ED4F93EB1
-      D9C9F0F3078DBEFF00FF078DBE72D6FA078DBEAEE9FC79DCFB79DCFB79DCFB79
-      DCFB79DCFB7ADCFB79DCFA79DCFA44B5D9C9F0F3078DBEFF00FF078DBE79DDFB
-      1899C79ADFF392E7FC84E4FB83E4FC83E4FC84E4FC83E4FC83E4FB84E5FC48B9
-      DAC9F0F31496C4FF00FF078DBE82E3FC43B7DC65C2E0ABF0FC8DEBFC8DEBFC8D
-      EBFD8DEBFD8DEBFC8DEBFD8DEBFC4CBBDAC9F0F3C9F0F3078DBE078DBE8AEAFC
-      77DCF3219CC7FEFFFFC8F7FDC9F7FDC9F7FDC9F7FEC8F7FEC9F7FDC8F7FE9BD5
-      E6EAFEFED2F3F8078DBE078DBE93F0FE93F0FD1697C5078DBE078DBE078DBE07
-      8DBE078DBE078DBE078DBE078DBE078DBE078DBE078DBE078DBE078DBE9BF5FE
-      9AF6FE9AF6FE9BF5FD9BF6FE9AF6FE9BF5FE9AF6FD9BF5FE9AF6FE9AF6FE0989
-      BAFF00FFFF00FFFF00FF078DBEFEFEFEA0FBFFA0FBFEA0FBFEA1FAFEA1FBFEA0
-      FAFEA1FBFEA1FBFFA0FBFFA1FBFF0989BAFF00FFFF00FFFF00FFFF00FF078DBE
-      FEFEFEA5FEFFA5FEFFA5FEFF078DBE078DBE078DBE078DBE078DBE078DBEFF00
-      FFFF00FFFF00FFFF00FFFF00FFFF00FF078DBE078DBE078DBE078DBEFF00FFFF
-      00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FF
-      FF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00
-      FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF
-      00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FF
-      FF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00
-      FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF
-      00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FF}
-    ParentDoubleBuffered = False
-    TabOrder = 15
-    OnClick = bbOpenDataFolderClick
-  end
-  object cbJSONRPCPortEnabled: TCheckBox
-    Left = 15
-    Top = 139
-    Width = 261
-    Height = 17
-    Caption = 'JSON-RPC Server port enabled (HTTP)'
-    TabOrder = 4
-    OnClick = cbJSONRPCPortEnabledClick
-  end
-  object ebJSONRPCAllowedIPs: TEdit
-    Left = 90
-    Top = 158
-    Width = 261
-    Height = 21
-    TabOrder = 5
-    Text = 'ebJSONRPCAllowedIPs'
-  end
-end

+ 2 - 17
Units/Forms/UFRMPascalCoinWalletConfig.pas

@@ -1,8 +1,6 @@
 unit UFRMPascalCoinWalletConfig;
 unit UFRMPascalCoinWalletConfig;
 
 
-{$IFDEF FPC}
-  {$MODE Delphi}
-{$ENDIF}
+{$mode delphi}
 
 
 { Copyright (c) 2016 by Albert Molina
 { Copyright (c) 2016 by Albert Molina
 
 
@@ -20,12 +18,7 @@ unit UFRMPascalCoinWalletConfig;
 interface
 interface
 
 
 uses
 uses
-{$IFnDEF FPC}
-  Windows,
-  ShellApi,
-{$ELSE}
   LCLIntf, LCLType, LMessages,
   LCLIntf, LCLType, LMessages,
-{$ENDIF}
   Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
   Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
   Dialogs, StdCtrls, Buttons, ComCtrls, UAppParams, UWalletKeys;
   Dialogs, StdCtrls, Buttons, ComCtrls, UAppParams, UWalletKeys;
 
 
@@ -90,11 +83,7 @@ implementation
 
 
 uses UConst, UAccounts, ULog, UCrypto, UFolderHelper;
 uses UConst, UAccounts, ULog, UCrypto, UFolderHelper;
 
 
-{$IFnDEF FPC}
-  {$R *.dfm}
-{$ELSE}
-  {$R *.lfm}
-{$ENDIF}
+{$R *.lfm}
 
 
 procedure TFRMPascalCoinWalletConfig.bbOkClick(Sender: TObject);
 procedure TFRMPascalCoinWalletConfig.bbOkClick(Sender: TObject);
 Var df : Int64;
 Var df : Int64;
@@ -136,11 +125,7 @@ end;
 
 
 procedure TFRMPascalCoinWalletConfig.bbOpenDataFolderClick(Sender: TObject);
 procedure TFRMPascalCoinWalletConfig.bbOpenDataFolderClick(Sender: TObject);
 begin
 begin
-  {$IFDEF FPC}
   OpenDocument(pchar(TFolderHelper.GetPascalCoinDataFolder))
   OpenDocument(pchar(TFolderHelper.GetPascalCoinDataFolder))
-  {$ELSE}
-  shellexecute(0, 'open', pchar(TFolderHelper.GetPascalCoinDataFolder), nil, nil, SW_SHOW)
-  {$ENDIF}
 end;
 end;
 
 
 procedure TFRMPascalCoinWalletConfig.bbUpdatePasswordClick(Sender: TObject);
 procedure TFRMPascalCoinWalletConfig.bbUpdatePasswordClick(Sender: TObject);

+ 0 - 426
Units/Forms/UFRMPayloadDecoder.dfm

@@ -1,426 +0,0 @@
-object FRMPayloadDecoder: TFRMPayloadDecoder
-  Left = 0
-  Top = 0
-  ActiveControl = ebOphash
-  BorderIcons = [biSystemMenu]
-  BorderStyle = bsSingle
-  Caption = 'Operation Information/Decoder'
-  ClientHeight = 406
-  ClientWidth = 674
-  Color = clBtnFace
-  Font.Charset = DEFAULT_CHARSET
-  Font.Color = clWindowText
-  Font.Height = -11
-  Font.Name = 'Tahoma'
-  Font.Style = []
-  OldCreateOrder = False
-  Position = poOwnerFormCenter
-  OnCreate = FormCreate
-  PixelsPerInch = 96
-  TextHeight = 13
-  object Label1: TLabel
-    Left = 20
-    Top = 56
-    Width = 46
-    Height = 13
-    Caption = 'Block/Op:'
-  end
-  object lblBlock: TLabel
-    Left = 72
-    Top = 51
-    Width = 109
-    Height = 19
-    Caption = '000000/0000'
-    Font.Charset = DEFAULT_CHARSET
-    Font.Color = clBlack
-    Font.Height = -16
-    Font.Name = 'Tahoma'
-    Font.Style = [fsBold]
-    ParentFont = False
-  end
-  object lblDateTime: TLabel
-    Left = 255
-    Top = 51
-    Width = 30
-    Height = 19
-    Caption = '000'
-    Font.Charset = DEFAULT_CHARSET
-    Font.Color = clBlack
-    Font.Height = -16
-    Font.Name = 'Tahoma'
-    Font.Style = [fsBold]
-    ParentFont = False
-  end
-  object Label6: TLabel
-    Left = 195
-    Top = 56
-    Width = 52
-    Height = 13
-    Caption = 'Date Time:'
-  end
-  object Label2: TLabel
-    Left = 20
-    Top = 106
-    Width = 52
-    Height = 13
-    Caption = 'Operation:'
-  end
-  object lblOperationTxt: TLabel
-    Left = 90
-    Top = 101
-    Width = 561
-    Height = 22
-    AutoSize = False
-    Caption = '000'
-    Font.Charset = DEFAULT_CHARSET
-    Font.Color = clBlack
-    Font.Height = -16
-    Font.Name = 'Tahoma'
-    Font.Style = [fsBold]
-    ParentFont = False
-    WordWrap = True
-  end
-  object lblAmountCaption: TLabel
-    Left = 220
-    Top = 81
-    Width = 41
-    Height = 13
-    Caption = 'Amount:'
-  end
-  object lblAmount: TLabel
-    Left = 270
-    Top = 76
-    Width = 30
-    Height = 19
-    Caption = '000'
-    Font.Charset = DEFAULT_CHARSET
-    Font.Color = clBlack
-    Font.Height = -16
-    Font.Name = 'Tahoma'
-    Font.Style = [fsBold]
-    ParentFont = False
-  end
-  object lblFeeCaption: TLabel
-    Left = 517
-    Top = 56
-    Width = 22
-    Height = 13
-    Caption = 'Fee:'
-  end
-  object lblFee: TLabel
-    Left = 547
-    Top = 51
-    Width = 30
-    Height = 19
-    Caption = '000'
-    Font.Charset = DEFAULT_CHARSET
-    Font.Color = clBlack
-    Font.Height = -16
-    Font.Name = 'Tahoma'
-    Font.Style = [fsBold]
-    ParentFont = False
-  end
-  object Label4: TLabel
-    Left = 20
-    Top = 24
-    Width = 38
-    Height = 13
-    Caption = 'OpHash'
-  end
-  object lblSenderCaption: TLabel
-    Left = 20
-    Top = 81
-    Width = 38
-    Height = 13
-    Caption = 'Sender:'
-  end
-  object lblSender: TLabel
-    Left = 64
-    Top = 76
-    Width = 97
-    Height = 19
-    Caption = '9999999-99'
-    Font.Charset = DEFAULT_CHARSET
-    Font.Color = clBlack
-    Font.Height = -16
-    Font.Name = 'Tahoma'
-    Font.Style = [fsBold]
-    ParentFont = False
-  end
-  object lblReceiverCaption: TLabel
-    Left = 411
-    Top = 81
-    Width = 46
-    Height = 13
-    Caption = 'Receiver:'
-  end
-  object lblReceiver: TLabel
-    Left = 463
-    Top = 76
-    Width = 30
-    Height = 19
-    Caption = '000'
-    Font.Charset = DEFAULT_CHARSET
-    Font.Color = clBlack
-    Font.Height = -16
-    Font.Name = 'Tahoma'
-    Font.Style = [fsBold]
-    ParentFont = False
-  end
-  object lblReceiverInfo: TLabel
-    Left = 481
-    Top = 50
-    Width = 121
-    Height = 19
-    Caption = '(Receiver info)'
-    Font.Charset = DEFAULT_CHARSET
-    Font.Color = clRed
-    Font.Height = -16
-    Font.Name = 'Tahoma'
-    Font.Style = [fsBold]
-    ParentFont = False
-  end
-  object PageControl: TPageControl
-    Left = 20
-    Top = 140
-    Width = 631
-    Height = 206
-    ActivePage = tsDecoded
-    TabOrder = 2
-    OnChanging = PageControlChanging
-    object tsDecoded: TTabSheet
-      Caption = 'Payload'
-      object Label7: TLabel
-        Left = 15
-        Top = 94
-        Width = 87
-        Height = 13
-        Caption = 'Decoded Payload:'
-      end
-      object lblDecodedMethod: TLabel
-        Left = 562
-        Top = 94
-        Width = 44
-        Height = 13
-        Alignment = taRightJustify
-        Caption = '(Method)'
-        Font.Charset = DEFAULT_CHARSET
-        Font.Color = clGray
-        Font.Height = -11
-        Font.Name = 'Tahoma'
-        Font.Style = []
-        ParentFont = False
-      end
-      object Label3: TLabel
-        Left = 15
-        Top = 9
-        Width = 155
-        Height = 13
-        Caption = 'Original Payload in Hexadecimal:'
-      end
-      object memoDecoded: TMemo
-        Left = 15
-        Top = 111
-        Width = 591
-        Height = 55
-        TabStop = False
-        Font.Charset = DEFAULT_CHARSET
-        Font.Color = clBlack
-        Font.Height = -13
-        Font.Name = 'Tahoma'
-        Font.Style = [fsBold]
-        Lines.Strings = (
-          'memoDecoded')
-        ParentFont = False
-        ReadOnly = True
-        TabOrder = 0
-        OnKeyDown = memoDecodedKeyDown
-      end
-      object memoOriginalPayloadInHexa: TMemo
-        Left = 15
-        Top = 28
-        Width = 591
-        Height = 55
-        TabStop = False
-        Color = clBtnFace
-        Font.Charset = DEFAULT_CHARSET
-        Font.Color = clBlack
-        Font.Height = -13
-        Font.Name = 'Tahoma'
-        Font.Style = [fsBold]
-        Lines.Strings = (
-          'memoDecoded')
-        ParentFont = False
-        ReadOnly = True
-        TabOrder = 1
-        OnKeyDown = memoDecodedKeyDown
-      end
-      object cbShowAsHexadecimal: TCheckBox
-        Left = 115
-        Top = 93
-        Width = 136
-        Height = 17
-        Caption = 'Show as hexadecimal'
-        TabOrder = 2
-        OnClick = cbShowAsHexadecimalClick
-      end
-    end
-    object tsDecodeMethods: TTabSheet
-      Caption = 'Decode methods'
-      ImageIndex = 1
-      object lblPasswordsInfo: TLabel
-        Left = 235
-        Top = 162
-        Width = 81
-        Height = 13
-        Caption = 'lblPasswordsInfo'
-      end
-      object cbMethodPublicPayload: TCheckBox
-        Left = 16
-        Top = 15
-        Width = 225
-        Height = 17
-        Caption = 'Not encrypted (Public payload)'
-        TabOrder = 0
-        OnClick = cbMethodPublicPayloadClick
-      end
-      object cbUsingPrivateKeys: TCheckBox
-        Left = 16
-        Top = 38
-        Width = 225
-        Height = 17
-        Caption = 'Using Private keys of my Wallet'
-        TabOrder = 1
-        OnClick = cbMethodPublicPayloadClick
-      end
-      object cbUsingPasswords: TCheckBox
-        Left = 16
-        Top = 61
-        Width = 225
-        Height = 17
-        Caption = 'Using Passwords of the list'
-        TabOrder = 2
-        OnClick = cbMethodPublicPayloadClick
-      end
-      object memoPasswords: TMemo
-        Left = 235
-        Top = 10
-        Width = 371
-        Height = 146
-        ScrollBars = ssBoth
-        TabOrder = 3
-        OnChange = cbMethodPublicPayloadClick
-      end
-      object bbSaveMethods: TBitBtn
-        Left = 60
-        Top = 110
-        Width = 75
-        Height = 25
-        Caption = 'Save'
-        DoubleBuffered = True
-        Glyph.Data = {
-          DE010000424DDE01000000000000760000002800000024000000120000000100
-          0400000000006801000000000000000000001000000000000000000000000000
-          80000080000000808000800000008000800080800000C0C0C000808080000000
-          FF0000FF000000FFFF00FF000000FF00FF00FFFF0000FFFFFF00333333333333
-          3333333333333333333333330000333333333333333333333333F33333333333
-          00003333344333333333333333388F3333333333000033334224333333333333
-          338338F3333333330000333422224333333333333833338F3333333300003342
-          222224333333333383333338F3333333000034222A22224333333338F338F333
-          8F33333300003222A3A2224333333338F3838F338F33333300003A2A333A2224
-          33333338F83338F338F33333000033A33333A222433333338333338F338F3333
-          0000333333333A222433333333333338F338F33300003333333333A222433333
-          333333338F338F33000033333333333A222433333333333338F338F300003333
-          33333333A222433333333333338F338F00003333333333333A22433333333333
-          3338F38F000033333333333333A223333333333333338F830000333333333333
-          333A333333333333333338330000333333333333333333333333333333333333
-          0000}
-        NumGlyphs = 2
-        ParentDoubleBuffered = False
-        TabOrder = 4
-        OnClick = bbSaveMethodsClick
-      end
-    end
-  end
-  object bbClose: TBitBtn
-    Left = 572
-    Top = 362
-    Width = 79
-    Height = 25
-    Cancel = True
-    Caption = 'Close'
-    DoubleBuffered = True
-    Glyph.Data = {
-      76010000424D7601000000000000760000002800000020000000100000000100
-      04000000000000010000120B0000120B00001000000000000000000000000000
-      800000800000008080008000000080008000808000007F7F7F00BFBFBF000000
-      FF0000FF000000FFFF00FF000000FF00FF00FFFF0000FFFFFF00555555555555
-      555555555555555555555555555555555555555555FF55555555555559055555
-      55555555577FF5555555555599905555555555557777F5555555555599905555
-      555555557777FF5555555559999905555555555777777F555555559999990555
-      5555557777777FF5555557990599905555555777757777F55555790555599055
-      55557775555777FF5555555555599905555555555557777F5555555555559905
-      555555555555777FF5555555555559905555555555555777FF55555555555579
-      05555555555555777FF5555555555557905555555555555777FF555555555555
-      5990555555555555577755555555555555555555555555555555}
-    ModalResult = 2
-    NumGlyphs = 2
-    ParentDoubleBuffered = False
-    TabOrder = 3
-  end
-  object bbFind: TBitBtn
-    Left = 599
-    Top = 19
-    Width = 52
-    Height = 25
-    Caption = '&Find'
-    DoubleBuffered = True
-    Glyph.Data = {
-      36030000424D3603000000000000360000002800000010000000100000000100
-      18000000000000030000120B0000120B00000000000000000000FF00FF4A667C
-      BE9596FF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00
-      FFFF00FFFF00FFFF00FF6B9CC31E89E84B7AA3C89693FF00FFFF00FFFF00FFFF
-      00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FF4BB4FE51B5FF
-      2089E94B7AA2C69592FF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00
-      FFFF00FFFF00FFFF00FFFF00FF51B7FE51B3FF1D87E64E7AA0CA9792FF00FFFF
-      00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FF
-      51B7FE4EB2FF1F89E64E7BA2B99497FF00FFFF00FFFF00FFFF00FFFF00FFFF00
-      FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FF52B8FE4BB1FF2787D95F6A76FF
-      00FFB0857FC09F94C09F96BC988EFF00FFFF00FFFF00FFFF00FFFF00FFFF00FF
-      FF00FFFF00FF55BDFFB5D6EDBF9D92BB9B8CE7DAC2FFFFE3FFFFE5FDFADAD8C3
-      B3B58D85FF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFCEA795FD
-      EEBEFFFFD8FFFFDAFFFFDBFFFFE6FFFFFBEADDDCAE837FFF00FFFF00FFFF00FF
-      FF00FFFF00FFFF00FFFF00FFC1A091FBDCA8FEF7D0FFFFDBFFFFE3FFFFF8FFFF
-      FDFFFFFDC6A99CFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFC1A091FEE3ACF1
-      C491FCF2CAFFFFDDFFFFE4FFFFF7FFFFF7FFFFE9EEE5CBB9948CFF00FFFF00FF
-      FF00FFFF00FFFF00FFC2A191FFE6AEEEB581F7DCAEFEFDD8FFFFDFFFFFE3FFFF
-      E4FFFFE0F3ECD2BB968EFF00FFFF00FFFF00FFFF00FFFF00FFBC978CFBE7B7F4
-      C791F2C994F8E5B9FEFCD8FFFFDDFFFFDCFFFFE0E2D2BAB68E86FF00FFFF00FF
-      FF00FFFF00FFFF00FFFF00FFD9C3A9FFFEE5F7DCB8F2C994F5D4A5FAE8BDFDF4
-      C9FDFBD6B69089FF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFB58D85E8
-      DEDDFFFEF2F9D8A3F4C48CF9D49FFDEAB8D0B49FB89086FF00FFFF00FFFF00FF
-      FF00FFFF00FFFF00FFFF00FFFF00FFAD827FC9AA9EEFE0B7EFDFB2E7CEACB890
-      86B89086FF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF
-      00FFFF00FFBA968ABB988CB79188FF00FFFF00FFFF00FFFF00FF}
-    ParentDoubleBuffered = False
-    TabOrder = 1
-    TabStop = False
-    OnClick = bbFindClick
-  end
-  object ebOphash: TEdit
-    Left = 64
-    Top = 20
-    Width = 529
-    Height = 22
-    Font.Charset = DEFAULT_CHARSET
-    Font.Color = clWindowText
-    Font.Height = -12
-    Font.Name = 'Tahoma'
-    Font.Style = [fsBold]
-    ParentFont = False
-    TabOrder = 0
-    Text = '12345678901234567890123456789012345678901234567890123456789012'
-    OnExit = ebOphashExit
-    OnKeyPress = ebOphashKeyPress
-  end
-end

+ 2 - 12
Units/Forms/UFRMPayloadDecoder.pas

@@ -1,8 +1,6 @@
 unit UFRMPayloadDecoder;
 unit UFRMPayloadDecoder;
 
 
-{$IFDEF FPC}
-  {$MODE Delphi}
-{$ENDIF}
+{$mode Delphi}
 
 
 { Copyright (c) 2016 by Albert Molina
 { Copyright (c) 2016 by Albert Molina
 
 
@@ -20,11 +18,7 @@ unit UFRMPayloadDecoder;
 interface
 interface
 
 
 uses
 uses
-{$IFnDEF FPC}
-  Windows,
-{$ELSE}
   LCLIntf, LCLType, LMessages,
   LCLIntf, LCLType, LMessages,
-{$ENDIF}
   Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
   Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
   Dialogs, StdCtrls, UBlockChain, UCrypto, UWalletKeys, Buttons, ComCtrls,
   Dialogs, StdCtrls, UBlockChain, UCrypto, UWalletKeys, Buttons, ComCtrls,
   UAppParams;
   UAppParams;
@@ -97,11 +91,7 @@ type
 
 
 implementation
 implementation
 
 
-{$IFnDEF FPC}
-  {$R *.dfm}
-{$ELSE}
-  {$R *.lfm}
-{$ENDIF}
+{$R *.lfm}
 
 
 Uses UNode, UTime, UECIES, UAES, UAccounts;
 Uses UNode, UTime, UECIES, UAES, UAccounts;
 
 

+ 0 - 220
Units/Forms/UFRMSaleAccounts.dfm

@@ -1,220 +0,0 @@
-object FRMSaleAccounts: TFRMSaleAccounts
-  Left = 0
-  Top = 0
-  BorderStyle = bsSingle
-  Caption = 'Sale accounts'
-  ClientHeight = 312
-  ClientWidth = 604
-  Color = clBtnFace
-  Font.Charset = DEFAULT_CHARSET
-  Font.Color = clWindowText
-  Font.Height = -11
-  Font.Name = 'Tahoma'
-  Font.Style = []
-  OldCreateOrder = False
-  Position = poOwnerFormCenter
-  OnCreate = FormCreate
-  OnDestroy = FormDestroy
-  PixelsPerInch = 96
-  TextHeight = 13
-  object lblAccountCaption: TLabel
-    Left = 25
-    Top = 20
-    Width = 43
-    Height = 13
-    Caption = 'Account:'
-  end
-  object Label1: TLabel
-    Left = 25
-    Top = 95
-    Width = 50
-    Height = 13
-    Caption = 'Sale price:'
-  end
-  object Label2: TLabel
-    Left = 202
-    Top = 95
-    Width = 87
-    Height = 13
-    Caption = 'Locked until block:'
-  end
-  object Label3: TLabel
-    Left = 25
-    Top = 119
-    Width = 142
-    Height = 13
-    Caption = 'Seller account (where to pay)'
-  end
-  object lblAccountBalance: TLabel
-    Left = 432
-    Top = 15
-    Width = 149
-    Height = 19
-    Caption = 'lblAccountBalance'
-    Font.Charset = DEFAULT_CHARSET
-    Font.Color = clGreen
-    Font.Height = -16
-    Font.Name = 'Tahoma'
-    Font.Style = [fsBold]
-    ParentFont = False
-  end
-  object lblAccountsCount: TLabel
-    Left = 387
-    Top = 58
-    Width = 18
-    Height = 13
-    Caption = 'XXX'
-  end
-  object lblBalanceCaption: TLabel
-    Left = 387
-    Top = 20
-    Width = 41
-    Height = 13
-    Caption = 'Balance:'
-  end
-  object memoAccounts: TMemo
-    Left = 74
-    Top = 12
-    Width = 307
-    Height = 59
-    Ctl3D = False
-    Font.Charset = DEFAULT_CHARSET
-    Font.Color = clWindowText
-    Font.Height = -12
-    Font.Name = 'Tahoma'
-    Font.Style = [fsBold]
-    Lines.Strings = (
-      '123456-11 (0.0000); 123456-11 (0.0000); '
-      '123456-11 (0.0000); 123456-11 (0.0000); ')
-    ParentCtl3D = False
-    ParentFont = False
-    ReadOnly = True
-    ScrollBars = ssVertical
-    TabOrder = 1
-  end
-  object ebSenderAccount: TEdit
-    Left = 74
-    Top = 12
-    Width = 97
-    Height = 27
-    Font.Charset = DEFAULT_CHARSET
-    Font.Color = clBlack
-    Font.Height = -16
-    Font.Name = 'Tahoma'
-    Font.Style = [fsBold]
-    ParentFont = False
-    TabOrder = 0
-    Text = 'ebSenderAccount'
-  end
-  object ebSalePrice: TEdit
-    Left = 81
-    Top = 92
-    Width = 86
-    Height = 21
-    TabOrder = 2
-    Text = 'Edit1'
-  end
-  object ebLockedUntilBlock: TEdit
-    Left = 295
-    Top = 92
-    Width = 86
-    Height = 21
-    TabOrder = 3
-    Text = 'ebLockedUntilBlock'
-  end
-  object gbSellOptions: TGroupBox
-    Left = 25
-    Top = 150
-    Width = 516
-    Height = 101
-    Caption = ' Sell options: '
-    TabOrder = 4
-    object lblNewOwnerPublicKey: TLabel
-      Left = 25
-      Top = 66
-      Width = 111
-      Height = 13
-      Caption = 'New owner'#39's public key'
-    end
-    object rbEveryoneCanBuy: TRadioButton
-      Left = 10
-      Top = 20
-      Width = 113
-      Height = 17
-      Caption = 'Everyone can buy'
-      TabOrder = 0
-    end
-    object rbReservedForAPublickKey: TRadioButton
-      Left = 10
-      Top = 43
-      Width = 301
-      Height = 17
-      Caption = 'Reserved for only one public key (private)'
-      TabOrder = 1
-    end
-    object ebNewOwnerPublicKey: TEdit
-      Left = 148
-      Top = 63
-      Width = 331
-      Height = 21
-      TabOrder = 2
-      Text = 'ebDestAccount'
-    end
-  end
-  object ebSellerAccount: TEdit
-    Left = 181
-    Top = 116
-    Width = 86
-    Height = 21
-    TabOrder = 5
-    Text = 'Edit1'
-  end
-  object bbExecute: TBitBtn
-    Left = 277
-    Top = 261
-    Width = 130
-    Height = 31
-    Action = actExecute
-    Caption = 'Execute (F12)'
-    DoubleBuffered = True
-    Glyph.Data = {
-      DE010000424DDE01000000000000760000002800000024000000120000000100
-      0400000000006801000000000000000000001000000000000000000000000000
-      80000080000000808000800000008000800080800000C0C0C000808080000000
-      FF0000FF000000FFFF00FF000000FF00FF00FFFF0000FFFFFF00333333333333
-      3333333333333333333333330000333333333333333333333333F33333333333
-      00003333344333333333333333388F3333333333000033334224333333333333
-      338338F3333333330000333422224333333333333833338F3333333300003342
-      222224333333333383333338F3333333000034222A22224333333338F338F333
-      8F33333300003222A3A2224333333338F3838F338F33333300003A2A333A2224
-      33333338F83338F338F33333000033A33333A222433333338333338F338F3333
-      0000333333333A222433333333333338F338F33300003333333333A222433333
-      333333338F338F33000033333333333A222433333333333338F338F300003333
-      33333333A222433333333333338F338F00003333333333333A22433333333333
-      3338F38F000033333333333333A223333333333333338F830000333333333333
-      333A333333333333333338330000333333333333333333333333333333333333
-      0000}
-    NumGlyphs = 2
-    ParentDoubleBuffered = False
-    TabOrder = 6
-  end
-  object bbCancel: TBitBtn
-    Left = 425
-    Top = 261
-    Width = 116
-    Height = 31
-    DoubleBuffered = True
-    Kind = bkCancel
-    ParentDoubleBuffered = False
-    TabOrder = 7
-  end
-  object ActionList: TActionList
-    Left = 140
-    Top = 350
-    object actExecute: TAction
-      Caption = 'Execute (F12)'
-      ShortCut = 123
-      OnExecute = actExecuteExecute
-    end
-  end
-end

+ 2 - 0
Units/Forms/UFRMSaleAccounts.pas

@@ -1,3 +1,5 @@
+{$mode delphi}
+
 unit UFRMSaleAccounts;
 unit UFRMSaleAccounts;
 
 
 interface
 interface

+ 4 - 1
Units/Forms/UFRMSyncronizationDialog.pas

@@ -55,9 +55,12 @@ var
   FRMSyncronizationDialogIsFirstOpen:boolean =true;  //TODO update
   FRMSyncronizationDialogIsFirstOpen:boolean =true;  //TODO update
 
 
 implementation
 implementation
-uses UNetProtocol,UTime,UConst, UUserInterface;
+
 {$R *.lfm}
 {$R *.lfm}
 
 
+uses UNetProtocol,UTime,UConst, UUserInterface;
+
+
 procedure TFRMSyncronizationDialog.lblReceivedMessagesClick(Sender:TObject);
 procedure TFRMSyncronizationDialog.lblReceivedMessagesClick(Sender:TObject);
 begin
 begin
   TUserInterface.ShowMessagesForm;
   TUserInterface.ShowMessagesForm;

+ 0 - 1723
Units/Forms/UFRMWallet.dfm

@@ -1,1723 +0,0 @@
-object FRMWallet: TFRMWallet
-  Left = 360
-  Top = 328
-  Caption = 'Pascal Coin Wallet, JSON-RPC Miner & Explorer'
-  ClientHeight = 542
-  ClientWidth = 849
-  Color = clBtnFace
-  Constraints.MinHeight = 600
-  Constraints.MinWidth = 865
-  Font.Charset = DEFAULT_CHARSET
-  Font.Color = clWindowText
-  Font.Height = -11
-  Font.Name = 'Tahoma'
-  Font.Style = []
-  Menu = MainMenu
-  OldCreateOrder = False
-  Position = poOwnerFormCenter
-  OnCreate = FormCreate
-  OnDestroy = FormDestroy
-  PixelsPerInch = 96
-  TextHeight = 13
-  object pnlTop: TPanel
-    Left = 0
-    Top = 0
-    Width = 849
-    Height = 91
-    Align = alTop
-    BevelOuter = bvNone
-    TabOrder = 0
-    object Image1: TImage
-      Left = 15
-      Top = 15
-      Width = 62
-      Height = 62
-      AutoSize = True
-      Picture.Data = {
-        0954506E67496D61676589504E470D0A1A0A0000000D494844520000003E0000
-        003E080600000073C1A8440000000473424954080808087C0864880000000970
-        48597300000B1200000B1201D2DD7EFC0000001C74455874536F667477617265
-        0041646F62652046697265776F726B7320435336E8BCB28C0000001674455874
-        4372656174696F6E2054696D650030362F30372F313610A27E9700000EDA4944
-        415478DACD9B095813D716804F4280A860E1A9A0A295A556AD0B88F6A9CF85A4
-        6E6D5DC08A05956A5050BFAA155EAD56AB125CD0BA22D65A5C58DCAAA012A5D5
-        F75C4AA2A2A8AD605D9E5A41A08A80A2AC822CC93B77320943329384B53DDF77
-        BE994C6692FBDF73EFB9E79E7B87A752A9A0B984C7E3F5C3C367A843511D506D
-        512D51F9B4AA68AD462D43CD45CD404D413D8165BBDF6C656B6A7084F5C2C322
-        54F7364241CEE01EF679A2BE9DCC5C9DDA594FF8673757AEE78ACA2A8B2FDE7D
-        F6F876E6CB925F7ECFA9C173C7AA6A652BFCEA1AEA0E2CE7B9BF1D38C2BE8B87
-        25A8939CECAD1FCE1ADDA37AE1F83EFDDE6A63D1B631BF9B915BFCF4C8C5F4C7
-        61F1A9EDCA2AAA49251C42DD8D65CEFE4BC111B8271E969BF179C3BD873A6786
-        CD78BFBB73C7B60E8DAE498E4AF05E7F3E2335E3C5DBF8F1206A2496FDCF1605
-        4760D257BF429DE733DCE556E4FCE1EE8DB56E032AC0053F8662F977B7083842
-        937E7AB47D5BE1EB6B5BBCEC9ACBC2C6E4DA83FC8713D7FCB72CBFA8FC117E9C
-        8F1CCF9B0D1CA1A760B35E279D36206F858FFBB0A68649CB2880C2B237E0686F
-        0D8E76D6D4B5CCFC12C8CC2B019B3696E0E6DC4EEF199F6FCFCBE32E6774C1D3
-        79C872A149C11158888725D6ADCCA79C5B33CE62500FBB778D3C411E621C19A2
-        52A26A46B1BA225A96088A3BCF2064EA00C0CAA5AE490FFF06A13FFE061E7D3A
-        817CFD04D67F4BBC9E756BD2BAB376354AD56AE4F9A129C137E1D034EE698C9F
-        03675F26803C335AC9399F055CA586D6C0AB6AE87325F5AD8D6F0C19D620E19B
-        31E035D891B332D88434FD512B7EAE29ADA88A3005DE203802932164AB95D07C
-        C49398E95D58A109209FC00AF0C8A7C1F9B4D2566705A75559435540614919D8
-        FA445377A56E9FAC6DD68EB30F43567E294407894032D2704323B14057FF43D9
-        25E555C7F16318B25536147C395ADA8FD3D27C735401AD66740530C0752DAE69
-        E25AF01A2DB83C3513C44B8FAB6F4B9C535B86096AA79D14361E447D3B1B3324
-        05DF4572E8095A7E23B2C5D61B9C38B2B6AD2D9665474D73D183A6AC8CD06602
-        063C0DCD8097AC8B87CCDC57750C5E7BA2A23FABCF9F3C2F86F49C42B06A650E
-        035C3A50D70AB1D9DF7A5C403D419A3A11D212886A9C1F9B90663F74C94901F6
-        F9395C0E8F151CA1BBA3F73E9BBCD1B352CF911168330B54731D8BD3AAB13836
-        7BDEE060A3166AA860080C419E7D399B3F717838DC91DA7145C652A3E0084DAC
-        7B7EC1F8DEAF77CC1DEAC10ECD04D785575B5C7EF31188E76D6B36708D74B3B3
-        02D937630D0D7585783A0D39CB8D814BEDDE6A3531EFE067FD75BE4058CB5A68
-        72A49A3B0B3C82C7245E01FF907DCD0EAE112E1F60EF772015839CEF90338A13
-        9C9E469E4DDFE35BAD179151C0960C8B6B2A80CDF26620DD9500A1BB8EB71838
-        FA21488B98ACD7F7497F1FBC5846203D90358F0B3C0E63EF0E47968C14D5799A
-        C0106801073C5F73ACB5B8482205C58DBB2D064EC4739023C8568CD1BBEEBEE8
-        C4258CED15C8BA520F1CA19DD1A15D2C383CD3BAAE17C7262EB0A4C12D6B2D2F
-        A0C1F9CC0AD0787933B01938158A4ACAD8AD63DD06DC7A3A82665C7F925700E9
-        7FE683556B4B18D0A32B5E57E2B542F4F22FEB0DFF78DF543DAB93898D4BE011
-        2C1CE5E8F274C1F7A1B59D59AD4D010B6BC105421DAB5BD4E9F38525E560EB3E
-        99B3701E83FA81FCE006E4AB06A8A982A0B0BDB0FDE019F014B9816C63205E7B
-        833EE22AF887C543D70E6D21E27331849FB8018ADB3946C1174DEC03E181FF62
-        B3FA65B4FA05E495EA821763DF2ED6EBDB4C68CD3905AFDB0A6AC1E5D7EF82D8
-        771167E142822420FDC28F06AF0491DFD7D82DEE41C83C2F90067C44814B2313
-        2134EA1C78B87603F9661F80EA0A08DA9504DB4FDD3608CE15D3D356E7236F67
-        2D38427FEA646F1D9CB177EAE03A7793E14BA08116D2A04206B04EF3A79B7C78
-        D409080E0DE72C5CF4D69520998C7D51594581DBF4FF04BBC56B48080F06AF11
-        7D2870D19C2DA0484D87108908A47E43287072DDD17F3F15C272097172854724
-        ACDF594D89FA5F5945F56C64BEAA01BFB2C66F608DDE54935890095EC7FA5C15
-        6001927FAF85D8B89F380B97747C3788B0B993665EF8AA006CDDBCA8EBA9F11B
-        C0AD7B478444C0F1CB202BF725447FFD094846F7C27B2BA8EBD20357A9D99A21
-        6186BC4C597BF4E6E595077FCD42663F124863C40125584B557AA1A906888216
-        D6B5BA80A302105CE43D1714577EE52E58FE1DCAD204449E7C5DDB2D5477E3B5
-        96E5B907A82B697B008ECF9DA86BE43BD9E5FB8053D00681D3CD9D4CBC3A10F0
-        81381139501A3FABA7DE9D4C6026AC990EB80E3CAF236732155CFBF48234B98C
-        067903E1BB0F60B78800D79E4E90766233755D9E9206E2C08D6A884B61D47D54
-        85A0122717BCE70AE7EF1B9AB713B198B437BBAA5AF90101DF32D2D561C0F9B5
-        E374C2535E2DA0B990012BD46F058C9690F9EC05380D18CBF9C79EE3C682ECC0
-        F76A186CBE412BBE85EDFB8E82E7A82120DBB184828B49B800FEABF642B78EB6
-        90796CA9169AA864D31988BDF080F3F76762EC1E8353582EC139BBE2C2ADA767
-        08F8953D0B47F003C6F41C54179CE9D85AB1589B5D65679361D2CC059C7F1CB2
-        EC4B902E594083A0139BE40F8A945408412F2FFDDC9BBA2EFDEE0884FE20038F
-        FEEF807C4780F65E72B499BC934A567089B1793BDDCF9F13F0CC532BC716EA25
-        FBB5E02CCDDCBC556D5F679EA34AB7EE85D04D3B39FF38E1C768F0FA48ACB5A0
-        4DF761E8D14B2161D72AF012BBAB2B636608287EBB0F21011F825442EE2D5777
-        8BF82B101CA90043C216C030859EB59911F0227406EC99953A0E8CADC9EBB708
-        AF598BE1E4995FB80B76E71A383AD851D0852F9F836D8F11D4F5D4C49DE8D11D
-        A8EB8EA3E743D6B302885E390D2463FB51D7D21E6441FFB9D106A1B94256A690
-        44858D6F4C05017F83E016FAB7F0580085463DBCDBE8E970EB2E771F54156523
-        4825D5BFE517AF80D85BED81557F9CD636675EDFA9D4B5A49DF341D4AF0BC814
-        6920592FC342BF3108656A96863761773101AF41703EEB1D7A7D9A0BBE7658E3
-        7519C4F9871E4307833CF1907A2843EF1DFE432C044BB7816B2F67483B194141
-        CBAFA68278F63AEAFEE8155321E6A71450A43D360A638AB519E095045C89E03C
-        D63B3471791DEBB2043334BCFCFA3D10FB2C30E9CF9B524832222DC21B6CDA58
-        98743F82D71806D74C5074C1758035814B8C2C09FC176F68516812A2CAC326B0
-        66608C815721B880FD0E1E7B88AA999D69A1D5E0D4301471E06F0D4D835711F0
-        72041772DE556726A681B7A803AC51D1CC55A0B87EDBF412344248B291F46943
-        439701F022029E8771BA907B85C48CB559D7998ED253529B21FED42CAB398558
-        3968625F83AB2A26803F25E0773080A936B45BA16EB3B6D09B869263615915D8
-        0E9BDB6CC0C4814946F6A052CAA63A3136A103186A7DE7F4BACFDEB75EFE697F
-        EED54F6D5AD992C5D202EA28BF9901E2391BB90BDEB9833A70A117121E653F83
-        A7F9AFA0BD8D15F4762663AF12725F14C383EC7C105A0860502F07ECBBEDB129
-        5B81A8B71DB839D9364905EE3B77FF5A40C4452A645D8593940FF42629BA4203
-        EAA79BD479B6F0B84B10BCF518E7E3D16BE78164E270EDF29168761886A50F20
-        24701C4803C6527373E9DE33101A755E9D75D9E24B073A95EA844513093D49F9
-        9980BB9B0BF8272A1302BA197D4A9B5165E6D6D5E0927571107BFA06E7A3497B
-        968068400FCAB2A054828D28088A4ACB21E1DB59E035AC179586122D8CC46025
-        1342660C05E9F44174A05369B458F511EB29D1F74A2BAABC0838F1E839E97B7C
-        5F9BB4BBA14E3A5993571780E88B282C7406E763AA1BDF6B170D0B8BCBC076D4
-        52EA7A6AF4227073B1A3ACEAE8B30DB2F28A20FACB31EA19564D15B0ADA33754
-        E838FD8D4AA5B2D3A49E4EAEF11BF80F937739305750CCD4B9749E780DE7EDAE
-        DD3B43DAFEC55A70F9CD3F40BC20525D218AD5EAA4232A6F6418752D698317F6
-        6BFB2685261216977AF99B0337F29179B206FCE33642C1E6D2F859BD4CFE15ED
-        AA8939643E2F0527BF48CE5B3D87BD07B2F57E5AF0F0B86408FEEE0CB8BAD843
-        DAEED9D452B11CE371F15771EACAE0481D35565C028FA464E416AF41E6D31A70
-        12B991E65E59AFCD3CF4A600594A164C5ACD9D5C0C99E981F36A0FD02C20643E
-        7B0599B985382C99ABA32EA57A6340DAA33CB5E3336186555FA1F36DA4EFF446
-        E6D7CCBCFAB2FECEED3FBEB9FD937A6FEA91FE7813420F73271713A493C06B68
-        77F507ED36107A6380767380B2C96199E2BBF182FCE8A5F464E45D41F132C049
-        EC978D562FABEF162EAFB567E1E4B54CCEEF1FC748C0D19E0E0C995B4140B311
-        A8798538B576D362F36B94AA919A5D91BA8B869BD0EA83EB6B75B72F8E6B772E
-        B0892A914474CD0FC825B4B5159AE5233670B262A748D9EC55657C4B57AD68F6
-        A9B089B1746F730BDDB7C98EE9BEC89ACB0A4EC3CFB07BAB5590DEC6000E91DF
-        CE01F1726EC7662CDDDBDC426F0CD8AEBB11880DBC351E623F1DE6DCFEE8D251
-        464B1C73E121F887CB39BFDF1630849A58FC15428FDBA5C8F891EE775C9B7FC8
-        8C80CCDA9E1B9CB541EDCE432E313501D8D44276420C5B7AAAB4BA463915191F
-        9A044EC30F31E3F36293377AAA0CF577CDCE432E797544D2A869644384B1D76D
-        19F29D62E533B2C1CFDB4A68BEFA49CC74CEAD9C9A6D986C6268C9B639A1BBFA
-        1FCA2A29AFDA8F1FB7215F4DBDC169F8D508EFCD064F36E0D9223897B4B44767
-        6CE9DC696C3FABA99B78E7B56D6D31F7ECEA8F5B339B3D014FCB78C1F91C73FB
-        754B4063F37E8ACD3B8E395E370A9C860FE4F37861B215639E1A73782D2DC491
-        8D0D395D82F0648D698FA1CDBB0D0127AB2D235137FB0C7779A9B749E82F9285
-        91C98A5DA7EFBD83E16820B29C31F5B986BC9AE18C879DD8EFDF3EBF769CA03E
-        115E530A89C8862C3E998FC109D9BEE5871C05F579BEC16F21D1EF97EDC2D8FE
-        D1B165A39C5AEADD14D297E7EEBC7413636F27FC48B29B0791A1B8DEE56FE4EB
-        5724D0218B658BB002EE61053837E7EB57CBF7DFF8E358728623366B92D58C68
-        F1D7AF582A80E48966A0CEC62EA05C36C5ADC077844BA35B01B1EE8E9FEEFC1E
-        75EE81E0715E0999D0EFA1819F35E6779B0C5CA712C812C77C54B185805F35BC
-        77A79CF7DEB685D16E0E36237A7772E20A84745FB14C799067575651DD11BF22
-        A9DBCD7FCB572C0D540249597F08EA976A891324413B19D8490C4BD25DE4CFC9
-        D04356FCC9AE3DE2A8D2519350FF839A83E56B96D4CCFF0184B915F49D084B6C
-        0000000049454E44AE426082}
-    end
-    object lblCurrentBlockCaption: TLabel
-      Left = 90
-      Top = 11
-      Width = 60
-      Height = 13
-      Caption = 'Total Blocks:'
-    end
-    object lblCurrentBlock: TLabel
-      Left = 156
-      Top = 11
-      Width = 18
-      Height = 13
-      Caption = '000'
-    end
-    object lblCurrentBlockTimeCaption: TLabel
-      Left = 90
-      Top = 26
-      Width = 89
-      Height = 13
-      Caption = 'Current Block age:'
-    end
-    object lblCurrentBlockTime: TLabel
-      Left = 188
-      Top = 26
-      Width = 81
-      Height = 13
-      Caption = '000 seconds ago'
-    end
-    object lblOperationsPendingCaption: TLabel
-      Left = 90
-      Top = 41
-      Width = 98
-      Height = 13
-      Caption = 'Pending Operations:'
-    end
-    object lblOperationsPending: TLabel
-      Left = 194
-      Top = 41
-      Width = 18
-      Height = 13
-      Caption = '000'
-    end
-    object lblMiningStatusCaption: TLabel
-      Left = 90
-      Top = 56
-      Width = 68
-      Height = 13
-      Caption = 'Miners clients:'
-    end
-    object lblMinersClients: TLabel
-      Left = 163
-      Top = 56
-      Width = 18
-      Height = 13
-      Caption = '000'
-    end
-    object lblCurrentDifficultyCaption: TLabel
-      Left = 429
-      Top = 11
-      Width = 76
-      Height = 13
-      Caption = 'Current Target:'
-    end
-    object lblCurrentDifficulty: TLabel
-      Left = 511
-      Top = 11
-      Width = 18
-      Height = 13
-      Caption = '000'
-    end
-    object lblTimeAverage: TLabel
-      Left = 360
-      Top = 26
-      Width = 18
-      Height = 13
-      Caption = '000'
-    end
-    object Label4: TLabel
-      Left = 285
-      Top = 26
-      Width = 69
-      Height = 13
-      Caption = 'Time average:'
-    end
-    object Label8: TLabel
-      Left = 90
-      Top = 70
-      Width = 63
-      Height = 13
-      Caption = 'Node Status:'
-    end
-    object lblNodeStatus: TLabel
-      Left = 163
-      Top = 70
-      Width = 15
-      Height = 13
-      Caption = '???'
-    end
-    object Label5: TLabel
-      Left = 285
-      Top = 11
-      Width = 48
-      Height = 13
-      Caption = 'Accounts:'
-    end
-    object lblCurrentAccounts: TLabel
-      Left = 337
-      Top = 11
-      Width = 18
-      Height = 13
-      Caption = '000'
-    end
-    object lblTimeAverageAux: TLabel
-      Left = 360
-      Top = 41
-      Width = 18
-      Height = 13
-      Caption = '000'
-      Font.Charset = DEFAULT_CHARSET
-      Font.Color = clGray
-      Font.Height = -11
-      Font.Name = 'Tahoma'
-      Font.Style = []
-      ParentFont = False
-    end
-    object Label16: TLabel
-      Left = 360
-      Top = 56
-      Width = 74
-      Height = 13
-      Caption = 'Blocks found:'
-      Font.Charset = DEFAULT_CHARSET
-      Font.Color = clWindowText
-      Font.Height = -11
-      Font.Name = 'Tahoma'
-      Font.Style = [fsBold]
-      ParentFont = False
-    end
-    object lblBlocksFound: TLabel
-      Left = 440
-      Top = 56
-      Width = 21
-      Height = 13
-      Hint = 'Blocks found while Miner is running...'
-      Caption = '000'
-      Font.Charset = DEFAULT_CHARSET
-      Font.Color = clWindowText
-      Font.Height = -11
-      Font.Name = 'Tahoma'
-      Font.Style = [fsBold]
-      ParentFont = False
-      ParentShowHint = False
-      ShowHint = True
-    end
-    object lblReceivedMessages: TLabel
-      Left = 360
-      Top = 66
-      Width = 185
-      Height = 23
-      Cursor = crHandPoint
-      Caption = 'Received messages'
-      Font.Charset = DEFAULT_CHARSET
-      Font.Color = clRed
-      Font.Height = -19
-      Font.Name = 'Tahoma'
-      Font.Style = [fsBold]
-      ParentFont = False
-      OnClick = lblReceivedMessagesClick
-    end
-    object lblBuild: TLabel
-      Left = 586
-      Top = 3
-      Width = 49
-      Height = 23
-      Caption = 'Build'
-      Font.Charset = DEFAULT_CHARSET
-      Font.Color = clWindowText
-      Font.Height = -19
-      Font.Name = 'Tahoma'
-      Font.Style = [fsBold]
-      ParentFont = False
-    end
-  end
-  object StatusBar: TStatusBar
-    Left = 0
-    Top = 523
-    Width = 849
-    Height = 19
-    Panels = <
-      item
-        Alignment = taCenter
-        Text = 'Server Active'
-        Width = 130
-      end
-      item
-        Text = 'Connection status'
-        Width = 430
-      end
-      item
-        Text = 'Blocks'
-        Width = 50
-      end>
-  end
-  object PageControl: TPageControl
-    Left = 0
-    Top = 91
-    Width = 849
-    Height = 432
-    ActivePage = tsNodeStats
-    Align = alClient
-    TabOrder = 2
-    OnChange = PageControlChange
-    object tsMyAccounts: TTabSheet
-      Caption = 'Accounts Explorer'
-      object Splitter1: TSplitter
-        Left = 380
-        Top = 66
-        Height = 338
-      end
-      object pnlMyAccountsTop: TPanel
-        Left = 0
-        Top = 0
-        Width = 841
-        Height = 66
-        Align = alTop
-        TabOrder = 0
-        object Label18: TLabel
-          Left = 11
-          Top = 35
-          Width = 61
-          Height = 13
-          Caption = 'Find account'
-        end
-        object sbSearchAccount: TSpeedButton
-          Left = 176
-          Top = 33
-          Width = 23
-          Height = 22
-          Glyph.Data = {
-            36030000424D3603000000000000360000002800000010000000100000000100
-            18000000000000030000120B0000120B00000000000000000000FF00FF4A667C
-            BE9596FF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00
-            FFFF00FFFF00FFFF00FF6B9CC31E89E84B7AA3C89693FF00FFFF00FFFF00FFFF
-            00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FF4BB4FE51B5FF
-            2089E94B7AA2C69592FF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00
-            FFFF00FFFF00FFFF00FFFF00FF51B7FE51B3FF1D87E64E7AA0CA9792FF00FFFF
-            00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FF
-            51B7FE4EB2FF1F89E64E7BA2B99497FF00FFFF00FFFF00FFFF00FFFF00FFFF00
-            FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FF52B8FE4BB1FF2787D95F6A76FF
-            00FFB0857FC09F94C09F96BC988EFF00FFFF00FFFF00FFFF00FFFF00FFFF00FF
-            FF00FFFF00FF55BDFFB5D6EDBF9D92BB9B8CE7DAC2FFFFE3FFFFE5FDFADAD8C3
-            B3B58D85FF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFCEA795FD
-            EEBEFFFFD8FFFFDAFFFFDBFFFFE6FFFFFBEADDDCAE837FFF00FFFF00FFFF00FF
-            FF00FFFF00FFFF00FFFF00FFC1A091FBDCA8FEF7D0FFFFDBFFFFE3FFFFF8FFFF
-            FDFFFFFDC6A99CFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFC1A091FEE3ACF1
-            C491FCF2CAFFFFDDFFFFE4FFFFF7FFFFF7FFFFE9EEE5CBB9948CFF00FFFF00FF
-            FF00FFFF00FFFF00FFC2A191FFE6AEEEB581F7DCAEFEFDD8FFFFDFFFFFE3FFFF
-            E4FFFFE0F3ECD2BB968EFF00FFFF00FFFF00FFFF00FFFF00FFBC978CFBE7B7F4
-            C791F2C994F8E5B9FEFCD8FFFFDDFFFFDCFFFFE0E2D2BAB68E86FF00FFFF00FF
-            FF00FFFF00FFFF00FFFF00FFD9C3A9FFFEE5F7DCB8F2C994F5D4A5FAE8BDFDF4
-            C9FDFBD6B69089FF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFB58D85E8
-            DEDDFFFEF2F9D8A3F4C48CF9D49FFDEAB8D0B49FB89086FF00FFFF00FFFF00FF
-            FF00FFFF00FFFF00FFFF00FFFF00FFAD827FC9AA9EEFE0B7EFDFB2E7CEACB890
-            86B89086FF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF
-            00FFFF00FFBA968ABB988CB79188FF00FFFF00FFFF00FFFF00FF}
-          OnClick = sbSearchAccountClick
-        end
-        object cbMyPrivateKeys: TComboBox
-          Left = 260
-          Top = 7
-          Width = 411
-          Height = 21
-          Style = csDropDownList
-          TabOrder = 0
-          OnChange = cbMyPrivateKeysChange
-        end
-        object cbExploreMyAccounts: TCheckBox
-          Left = 11
-          Top = 10
-          Width = 235
-          Height = 17
-          Caption = 'Explore accounts with one of my Wallet Keys'
-          TabOrder = 1
-          OnClick = cbExploreMyAccountsClick
-        end
-        object ebFindAccountNumber: TEdit
-          Left = 87
-          Top = 33
-          Width = 83
-          Height = 21
-          TabOrder = 3
-          OnChange = ebFindAccountNumberChange
-          OnExit = ebFindAccountNumberExit
-        end
-        object bbChangeKeyName: TBitBtn
-          Left = 685
-          Top = 5
-          Width = 126
-          Height = 25
-          Caption = 'Change Key name'
-          DoubleBuffered = True
-          ParentDoubleBuffered = False
-          TabOrder = 2
-          OnClick = bbChangeKeyNameClick
-        end
-        object cbFilterAccounts: TCheckBox
-          Left = 260
-          Top = 35
-          Width = 151
-          Height = 17
-          Caption = 'Filter accounts by balance'
-          TabOrder = 4
-          OnClick = cbFilterAccountsClick
-        end
-        object ebFilterAccountByBalanceMin: TEdit
-          Left = 412
-          Top = 33
-          Width = 83
-          Height = 21
-          Hint = 'Min balance'
-          TabOrder = 5
-          OnExit = ebFilterAccountByBalanceMinExit
-          OnKeyPress = ebFilterAccountByBalanceMinKeyPress
-        end
-        object ebFilterAccountByBalanceMax: TEdit
-          Left = 503
-          Top = 33
-          Width = 83
-          Height = 21
-          Hint = 'Max balance'
-          TabOrder = 6
-          OnExit = ebFilterAccountByBalanceMinExit
-          OnKeyPress = ebFilterAccountByBalanceMinKeyPress
-        end
-      end
-      object pnlAccounts: TPanel
-        Left = 0
-        Top = 66
-        Width = 380
-        Height = 338
-        Align = alLeft
-        BevelOuter = bvNone
-        TabOrder = 1
-        object dgAccounts: TDrawGrid
-          Left = 0
-          Top = 0
-          Width = 380
-          Height = 304
-          Align = alClient
-          TabOrder = 0
-          OnClick = dgAccountsClick
-          OnColumnMoved = dgAccountsColumnMoved
-          OnFixedCellClick = dgAccountsFixedCellClick
-          ColWidths = (
-            64
-            64
-            64
-            64
-            64)
-        end
-        object pnlAccountsInfo: TPanel
-          Left = 0
-          Top = 304
-          Width = 380
-          Height = 34
-          Align = alBottom
-          BevelOuter = bvNone
-          TabOrder = 1
-          DesignSize = (
-            380
-            34)
-          object Label17: TLabel
-            Left = 5
-            Top = 10
-            Width = 48
-            Height = 13
-            Caption = 'Accounts:'
-          end
-          object Label19: TLabel
-            Left = 120
-            Top = 10
-            Width = 88
-            Height = 13
-            Caption = 'Accounts Balance:'
-          end
-          object lblAccountsCount: TLabel
-            Left = 60
-            Top = 10
-            Width = 18
-            Height = 13
-            Caption = '000'
-          end
-          object lblAccountsBalance: TLabel
-            Left = 214
-            Top = 10
-            Width = 18
-            Height = 13
-            Caption = '000'
-          end
-          object bbAccountsRefresh: TBitBtn
-            Left = 302
-            Top = 6
-            Width = 75
-            Height = 25
-            Anchors = [akTop, akRight]
-            Caption = 'Refresh'
-            DoubleBuffered = True
-            Glyph.Data = {
-              36030000424D3603000000000000360000002800000010000000100000000100
-              18000000000000030000120B0000120B00000000000000000000FF00FFFF00FF
-              C2A6A4C2A6A4C2A6A4C2A6A4C2A6A4C2A6A4C2A6A4C2A6A4C2A6A4C2A6A4C2A6
-              A4C2A6A4FF00FFFF00FFFF00FFFF00FFC2A6A4FEFCFBFEFCFBFEFCFBFEFCFBFE
-              FCFBFEFCFBFEFCFBFEFCFBFEFCFBFEFCFBC2A6A4FF00FFFF00FFFF00FFFF00FF
-              C2A6A4FEFCFBFEFCFBFEFCFBFEFCFBD8EBD6018A02018A02D8EBD6FEFCFBFEFC
-              FBC2A6A4FF00FFFF00FFFF00FFFF00FFC2A6A4FEFBF7FEFBF7018A02D8EAD201
-              8A02D8EAD2D8EAD2018A02FEFBF7FEFBF7C2A6A4FF00FFFF00FFFF00FFFF00FF
-              C2A6A4FEF9F4FEF9F4018A02018A02D8E8D0FEF9F4FEF9F4D8E8D0FEF9F4FEF9
-              F4C2A6A4FF00FFFF00FFFF00FFFF00FFC2A6A4FEF7F0FEF7F0018A02018A0201
-              8A02FEF7F0FEF7F0FEF7F0FEF7F0FEF7F0C2A6A4FF00FFFF00FFFF00FFFF00FF
-              C2A6A4FEF5ECFEF5ECFEF5ECFEF5ECFEF5EC018A02018A02018A02FEF5ECFEF5
-              ECC2A6A4FF00FFFF00FFFF00FFFF00FFC2A6A4FEF3E9FEF3E9D8E3C7FEF3E9FE
-              F3E9D8E3C7018A02018A02FEF3E9FEF3E9C2A6A4FF00FFFF00FFFF00FFFF00FF
-              C2A6A4FFF1E5FFF1E5018A02D9E2C3D9E2C3018A02D9E2C3018A02FFF1E5FFF1
-              E5C2A6A4FF00FFFF00FFFF00FFFF00FFC2A6A4FFF0E2FFF0E2D9E1C1018A0201
-              8A02D9E1C1DDCFC2DDCFC2DDCFC2DDCFC2C2A6A4FF00FFFF00FFFF00FFFF00FF
-              C2A6A4FFEEDEFFEEDEFFEEDEFFEEDEFFEEDEFFEEDEC5B5A9C3B4A8C2B3A7C1B2
-              A6C2A6A4FF00FFFF00FFFF00FFFF00FFC2A6A4FFECDAFFECDAFFECDAFFECDAFF
-              ECDAFFECDAB0A296B0A296B0A296B0A296C2A6A4FF00FFFF00FFFF00FFFF00FF
-              C2A6A4FFEAD7FFEAD7FFEAD7FFEAD7FFEAD7C9B9ACFBF8F4FBF8F4E6DAD9C2A6
-              A4FF00FFFF00FFFF00FFFF00FFFF00FFC2A6A4FFE8D3FFE8D3FFE8D3FFE8D3FF
-              E8D3C9B9ACFBF8F4DFCEC7C2A6A4FF00FFFF00FFFF00FFFF00FFFF00FFFF00FF
-              C2A6A4FFE6D0FFE6D0FFE6D0FFE6D0FFE6D0C9B9ACDFCEC7C2A6A4FF00FFFF00
-              FFFF00FFFF00FFFF00FFFF00FFFF00FFC2A6A4C2A6A4C2A6A4C2A6A4C2A6A4C2
-              A6A4C2A6A4C2A6A4FF00FFFF00FFFF00FFFF00FFFF00FFFF00FF}
-            ParentDoubleBuffered = False
-            TabOrder = 0
-            OnClick = bbAccountsRefreshClick
-          end
-        end
-      end
-      object pcAccountsOptions: TPageControl
-        Left = 383
-        Top = 66
-        Width = 458
-        Height = 338
-        ActivePage = tsAccountOperations
-        Align = alClient
-        TabOrder = 2
-        object tsAccountOperations: TTabSheet
-          Caption = 'Operations of selected Account'
-          object dgAccountOperations: TDrawGrid
-            Left = 0
-            Top = 0
-            Width = 450
-            Height = 310
-            Align = alClient
-            TabOrder = 0
-            OnDblClick = MiDecodePayloadClick
-            RowHeights = (
-              24
-              24
-              24
-              24
-              24)
-          end
-        end
-        object tsMultiSelectAccounts: TTabSheet
-          Caption = 'Selected accounts for massive operations'
-          ImageIndex = 1
-          ExplicitLeft = 0
-          ExplicitTop = 0
-          ExplicitWidth = 0
-          ExplicitHeight = 0
-          object dgSelectedAccounts: TDrawGrid
-            Left = 41
-            Top = 31
-            Width = 320
-            Height = 253
-            Align = alLeft
-            TabOrder = 0
-            RowHeights = (
-              24
-              24
-              24
-              24
-              24)
-          end
-          object pnlSelectedAccountsTop: TPanel
-            Left = 0
-            Top = 0
-            Width = 450
-            Height = 31
-            Align = alTop
-            BevelOuter = bvNone
-            Font.Charset = DEFAULT_CHARSET
-            Font.Color = clWindowText
-            Font.Height = -13
-            Font.Name = 'Tahoma'
-            Font.Style = [fsBold]
-            ParentFont = False
-            TabOrder = 1
-            object Label15: TLabel
-              Left = 41
-              Top = 4
-              Width = 361
-              Height = 16
-              Caption = 'Select multiple accounts to execute massive operations'
-            end
-          end
-          object pnlSelectedAccountsBottom: TPanel
-            Left = 0
-            Top = 284
-            Width = 450
-            Height = 26
-            Align = alBottom
-            BevelOuter = bvNone
-            TabOrder = 2
-            object Label20: TLabel
-              Left = 41
-              Top = 6
-              Width = 48
-              Height = 13
-              Caption = 'Accounts:'
-            end
-            object lblSelectedAccountsCount: TLabel
-              Left = 96
-              Top = 6
-              Width = 18
-              Height = 13
-              Caption = '000'
-            end
-            object Label22: TLabel
-              Left = 156
-              Top = 6
-              Width = 88
-              Height = 13
-              Caption = 'Accounts Balance:'
-            end
-            object lblSelectedAccountsBalance: TLabel
-              Left = 250
-              Top = 6
-              Width = 18
-              Height = 13
-              Caption = '000'
-            end
-          end
-          object pnlSelectedAccountsLeft: TPanel
-            Left = 0
-            Top = 31
-            Width = 41
-            Height = 253
-            Align = alLeft
-            BevelOuter = bvNone
-            TabOrder = 3
-            object sbSelectedAccountsAdd: TSpeedButton
-              Left = 2
-              Top = 0
-              Width = 33
-              Height = 31
-              Caption = '>'
-              OnClick = sbSelectedAccountsAddClick
-            end
-            object sbSelectedAccountsAddAll: TSpeedButton
-              Left = 2
-              Top = 37
-              Width = 33
-              Height = 31
-              Caption = '>>'
-              OnClick = sbSelectedAccountsAddAllClick
-            end
-            object sbSelectedAccountsDel: TSpeedButton
-              Left = 2
-              Top = 74
-              Width = 33
-              Height = 31
-              Caption = '<'
-              OnClick = sbSelectedAccountsDelClick
-            end
-            object sbSelectedAccountsDelAll: TSpeedButton
-              Left = 2
-              Top = 111
-              Width = 33
-              Height = 31
-              Caption = '<<'
-              OnClick = sbSelectedAccountsDelAllClick
-            end
-          end
-          object bbSelectedAccountsOperation: TBitBtn
-            Left = 367
-            Top = 31
-            Width = 75
-            Height = 61
-            Caption = 'Operations'
-            DoubleBuffered = True
-            Glyph.Data = {
-              F6060000424DF606000000000000360000002800000018000000180000000100
-              180000000000C0060000120B0000120B00000000000000000000FF00FFFF00FF
-              FF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00
-              FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF
-              00FFFF00FFFF00FF019ACF019ACF019ACF019ACFFF00FFFF00FFFF00FFFF00FF
-              FF00FFFF00FFFF00FFFF00FFFF00FFFF00FF0C8518FF00FFFF00FFFF00FFFF00
-              FFFF00FFFF00FFFF00FFFF00FF0D9FD18BD4EE6BD3F845C0ED28B0E0019ACF01
-              9ACF019ACF019ACFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FF0C85180C8518
-              FF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FF069CD076C8E5A9E9FE6DD8
-              FF75DBFF77DCFF77DBFF63D1F930B3E3029BD0019ACF019ACF019ACF019ACFFF
-              00FF0C85181399220C8518FF00FFFF00FFFF00FFFF00FFFF00FFFF00FF019ACF
-              34AFD9BCE9F86ED8FF6FD8FE70D8FE70D8FE71D8FF0C85180C85180C85180C85
-              180C85180C85180C85180C85181DAC31139A220C8518FF00FFFF00FFFF00FFFF
-              00FFFF00FF019ACF1FA9D68FD3EB97E4FF6FD9FE71D9FE71D9FE71D9FE0C8518
-              57E38851DD7E4AD77443D0693BC95E34C1522BBA4725B33C1EAE33149B230C85
-              18FF00FFFF00FFFF00FFFF00FF019ACF31B1DC49B7DEBDEEFB71DDFE77DEFE77
-              DEFE77DEFE0C85185EE89059E48953DE804CD87645D16C3DCA6035C2542DBB49
-              26B53F1FAF35149B250C8518FF00FFFF00FFFF00FF019ACF52C2E71DA7D5ADE2
-              F38FE8FF7CE2FE7CE3FE7CE3FE0C851861EB955FE9925AE58B54DF824DD97846
-              D26D3ECB6237C4562FBD4C27B64021B037159B250C8518FF00FFFF00FF019ACF
-              60CAEF1FA8D85EC1E1C2E6ED8ACEE08FCFE18ECFE10C851861EB9561EB955FEA
-              935CE58D56E0844FDB7A48D47040CD6538C65931BF4D1DA3320C8518FF00FFFF
-              00FFFF00FF019ACF65CFF53EB7E52CA9D4C5EFF8ACF3FEA5F2FFA5F2FF0C8518
-              61EB9561EB9561EB9561EB945CE68E57E18650DC7C49D57242CE6727AD410C85
-              18FF00FFFF00FFFF00FFFF00FF019ACF69D1F855C4F32A9CC673CBE7D6FEFDB1
-              FBFDB2FBFD0C85180C85180C85180C85180C85180C85180C85180C851852DD7F
-              32B6500C851898FAFF019ACFFF00FFFF00FFFF00FF019ACF77D5FC5CC8FB748E
-              A224A8D5B9E7F3D5F5F9D5F6F9D6F6FADCFAFBCDFDFCB9FCFCAFFAFCB0FAFCB1
-              FAFC0C85183ABE5C0C85189FFCFFA4FFFF43C1E2019ACFFF00FFFF00FF019ACF
-              8BDBFF5FCDFFB7898973C3DD18A2D218A2D216A2D215A1D21AA4D391D7EBEBFE
-              FDDBFDFCC5FBFBC2FBFB0C85180C851883E4F3B6FDFFBAFFFFB5FCFD019ACFFF
-              00FFFF00FF019ACF99E2FF67D3FFB88989FEF5ECFDF3EBF0EFEAE5EBE8D6E5E6
-              A4D2E025A6D34DB9DDE5F8FBF5FDFCEBFCFB0C8518C4FBFF9CE4F2DAFEFFD9FE
-              FFE3FFFFADE9F5019ACFFF00FF019ACF9FE9FF70DCFFB88989FEF3E9FFF2E6FE
-              F3E9FEF3E9FEF3E9FEF3E9D4E4E439ADD422A5D49DD8ECF1F9FBEEEFEFE9FDFF
-              CEEEF7F8FFFFF7FFFFFEFFFFE9F9FD019ACFFF00FF019ACFA7EFFF76E5FFB889
-              89FFF2E5FFF0E2FFF2E5FFF2E5FFF2E5FFF2E5FFF2E5EAEBE38EC9DA44B0D501
-              9ACF019ACF019ACF019ACF019ACF019ACF019ACF019ACF019ACFFF00FF019ACF
-              ABF6FF7EEDFFB88989FFF0E2FFEFDFFFF0E2FFF0E2FFF0E2FFF0E2FFF0E2FEEE
-              E0FBECDEFAEBDEF6E6D9B8898993F7FF019ACFFF00FFFF00FFFF00FFFF00FFFF
-              00FFFF00FF019ACFC7FFFF82F5FFB88989FFEEDFFFECDBFFEEDFFFEEDFFFEEDF
-              FFEEDFF9E8D9DECCC1D9CABDCFBDB4C8B3ACB88989B5FFFF019ACFFF00FFFF00
-              FFFF00FFFF00FFFF00FFFF00FF019ACFA4E0F0A0FDFFB88989FFECDBFFEBD8FF
-              ECDBFFECDBFFECDBFFECDBF5E2D2C4ABA7C2A8A5BBA39FC2AFA9B88989019ACF
-              FF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FF019ACFECFFFFB889
-              89FFEBD8FFEAD5FFEBD8FFEBD8FFEBD8FFEBD8FFEBD8D9C8C5FEFEFDFEF6EFDE
-              C9C0B88989FF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FF
-              FF00FF019ACFB88989FFE9D5FFE8D3FFE9D5FFE9D5FFE9D5FFE9D5FFE9D5C6AD
-              A9FEF8F2E8D4CACD9999FF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF
-              00FFFF00FFFF00FFFF00FFFF00FFB88989FFE7D1FFE7D0FFE7D1FFE7D1FFE7D1
-              FFE7D1E7CEBFD3BFB9E8D5CCCD9999FF00FFFF00FFFF00FFFF00FFFF00FFFF00
-              FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFB88989FFE6CFFFE6CFFF
-              E6CFFFE6CFFFE6CFFFE6CFD5BBB2E0CCC5CD9999FF00FFFF00FFFF00FFFF00FF
-              FF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFB889
-              89B88989B88989B88989B88989B88989B88989B88989B88989FF00FFFF00FFFF
-              00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FF}
-            Layout = blGlyphTop
-            ParentDoubleBuffered = False
-            TabOrder = 4
-            OnClick = bbSelectedAccountsOperationClick
-          end
-        end
-      end
-    end
-    object tsPendingOperations: TTabSheet
-      Caption = 'Pending Operations'
-      ImageIndex = 5
-      ExplicitLeft = 0
-      ExplicitTop = 0
-      ExplicitWidth = 0
-      ExplicitHeight = 0
-      object dgPendingOperations: TDrawGrid
-        Left = 0
-        Top = 86
-        Width = 841
-        Height = 318
-        Align = alClient
-        TabOrder = 0
-        OnDblClick = MiDecodePayloadClick
-      end
-      object pnlPendingOperations: TPanel
-        Left = 0
-        Top = 0
-        Width = 841
-        Height = 86
-        Align = alTop
-        BevelOuter = bvNone
-        BorderWidth = 10
-        TabOrder = 1
-        object Label10: TLabel
-          Left = 10
-          Top = 10
-          Width = 821
-          Height = 66
-          Align = alClient
-          AutoSize = False
-          Caption = 
-            'Here you can see Operations transmited/received from other nodes' +
-            ' that will be included in next block. There is no guarantee that' +
-            ' other nodes will include them when mining, so it'#39's important th' +
-            'at you mine too to help include Operations to the main BlockChai' +
-            'n'
-          Font.Charset = DEFAULT_CHARSET
-          Font.Color = clWindowText
-          Font.Height = -16
-          Font.Name = 'Tahoma'
-          Font.Style = []
-          ParentFont = False
-          WordWrap = True
-          ExplicitLeft = 36
-          ExplicitWidth = 765
-          ExplicitHeight = 41
-        end
-      end
-    end
-    object tsBlockChain: TTabSheet
-      Caption = 'BlockChain Explorer'
-      ImageIndex = 1
-      ExplicitLeft = 0
-      ExplicitTop = 0
-      ExplicitWidth = 0
-      ExplicitHeight = 0
-      object Panel2: TPanel
-        Left = 0
-        Top = 0
-        Width = 841
-        Height = 41
-        Align = alTop
-        TabOrder = 0
-        object Label9: TLabel
-          Left = 11
-          Top = 10
-          Width = 102
-          Height = 13
-          Caption = 'Filter by blocks range'
-        end
-        object ebBlockChainBlockStart: TEdit
-          Left = 125
-          Top = 7
-          Width = 57
-          Height = 21
-          TabOrder = 0
-          OnExit = ebBlockChainBlockStartExit
-          OnKeyPress = ebBlockChainBlockStartKeyPress
-        end
-        object ebBlockChainBlockEnd: TEdit
-          Left = 185
-          Top = 7
-          Width = 57
-          Height = 21
-          TabOrder = 1
-          OnExit = ebBlockChainBlockStartExit
-          OnKeyPress = ebBlockChainBlockStartKeyPress
-        end
-      end
-      object dgBlockChainExplorer: TDrawGrid
-        Left = 0
-        Top = 41
-        Width = 841
-        Height = 363
-        Align = alClient
-        TabOrder = 1
-      end
-    end
-    object tsOperations: TTabSheet
-      Caption = 'Operations Explorer'
-      ImageIndex = 1
-      ExplicitLeft = 0
-      ExplicitTop = 0
-      ExplicitWidth = 0
-      ExplicitHeight = 0
-      object Panel1: TPanel
-        Left = 0
-        Top = 0
-        Width = 841
-        Height = 41
-        Align = alTop
-        TabOrder = 0
-        object Label2: TLabel
-          Left = 11
-          Top = 10
-          Width = 102
-          Height = 13
-          Caption = 'Filter by blocks range'
-        end
-        object ebFilterOperationsStartBlock: TEdit
-          Left = 125
-          Top = 7
-          Width = 57
-          Height = 21
-          TabOrder = 0
-          OnExit = ebFilterOperationsAccountExit
-          OnKeyPress = ebFilterOperationsAccountKeyPress
-        end
-        object ebFilterOperationsEndBlock: TEdit
-          Left = 185
-          Top = 7
-          Width = 57
-          Height = 21
-          TabOrder = 1
-          OnExit = ebFilterOperationsAccountExit
-          OnKeyPress = ebFilterOperationsAccountKeyPress
-        end
-      end
-      object dgOperationsExplorer: TDrawGrid
-        Left = 0
-        Top = 41
-        Width = 841
-        Height = 363
-        Align = alClient
-        TabOrder = 1
-      end
-    end
-    object tsLogs: TTabSheet
-      Caption = 'Logs'
-      ImageIndex = 2
-      ExplicitLeft = 0
-      ExplicitTop = 0
-      ExplicitWidth = 0
-      ExplicitHeight = 0
-      object pnlTopLogs: TPanel
-        Left = 0
-        Top = 0
-        Width = 841
-        Height = 41
-        Align = alTop
-        TabOrder = 0
-        object cbShowDebugLogs: TCheckBox
-          Left = 15
-          Top = 10
-          Width = 97
-          Height = 17
-          Caption = 'Show Debug logs'
-          TabOrder = 0
-        end
-      end
-      object memoLogs: TMemo
-        Left = 0
-        Top = 41
-        Width = 841
-        Height = 363
-        Align = alClient
-        ScrollBars = ssBoth
-        TabOrder = 1
-      end
-    end
-    object tsNodeStats: TTabSheet
-      Caption = 'Node Stats'
-      ImageIndex = 3
-      DesignSize = (
-        841
-        404)
-      object Label3: TLabel
-        Left = 15
-        Top = 15
-        Width = 177
-        Height = 13
-        Caption = 'Active Net Connections of this Node:'
-      end
-      object Label6: TLabel
-        Left = 15
-        Top = 250
-        Width = 169
-        Height = 13
-        Anchors = [akLeft, akBottom]
-        Caption = 'Available or possible Node Servers:'
-        ExplicitTop = 266
-      end
-      object Label7: TLabel
-        Left = 15
-        Top = 146
-        Width = 86
-        Height = 13
-        Anchors = [akLeft, akBottom]
-        Caption = 'BlackList of Nodes'
-        ExplicitTop = 162
-      end
-      object memoNetConnections: TMemo
-        Left = 15
-        Top = 34
-        Width = 810
-        Height = 106
-        Anchors = [akLeft, akTop, akRight, akBottom]
-        ReadOnly = True
-        ScrollBars = ssBoth
-        TabOrder = 0
-        WordWrap = False
-      end
-      object memoNetServers: TMemo
-        Left = 15
-        Top = 269
-        Width = 810
-        Height = 116
-        Anchors = [akLeft, akRight, akBottom]
-        ReadOnly = True
-        ScrollBars = ssBoth
-        TabOrder = 1
-        WordWrap = False
-      end
-      object memoNetBlackLists: TMemo
-        Left = 15
-        Top = 165
-        Width = 810
-        Height = 79
-        Anchors = [akLeft, akRight, akBottom]
-        ReadOnly = True
-        ScrollBars = ssBoth
-        TabOrder = 2
-        WordWrap = False
-      end
-    end
-    object tsMessages: TTabSheet
-      Caption = 'Messages'
-      ImageIndex = 6
-      ExplicitLeft = 0
-      ExplicitTop = 0
-      ExplicitWidth = 0
-      ExplicitHeight = 0
-      DesignSize = (
-        841
-        404)
-      object Label11: TLabel
-        Left = 15
-        Top = 151
-        Width = 51
-        Height = 13
-        Caption = 'Messages:'
-      end
-      object Label12: TLabel
-        Left = 315
-        Top = 11
-        Width = 85
-        Height = 13
-        Caption = 'Message to send:'
-      end
-      object Label13: TLabel
-        Left = 15
-        Top = 11
-        Width = 107
-        Height = 13
-        Caption = 'Available connections:'
-      end
-      object Label14: TLabel
-        Left = 410
-        Top = 11
-        Width = 361
-        Height = 13
-        Caption = 
-          '(Messages will be encrypted, so only dest connection will be abl' +
-          'e to read it)'
-        Font.Charset = DEFAULT_CHARSET
-        Font.Color = clGrayText
-        Font.Height = -11
-        Font.Name = 'Tahoma'
-        Font.Style = []
-        ParentFont = False
-      end
-      object lbNetConnections: TListBox
-        Left = 15
-        Top = 30
-        Width = 275
-        Height = 96
-        ItemHeight = 13
-        MultiSelect = True
-        TabOrder = 0
-      end
-      object bbSendAMessage: TButton
-        Left = 315
-        Top = 101
-        Width = 456
-        Height = 25
-        Caption = 'Send a Message'
-        TabOrder = 1
-        OnClick = bbSendAMessageClick
-      end
-      object memoMessages: TMemo
-        Left = 15
-        Top = 170
-        Width = 810
-        Height = 215
-        Anchors = [akLeft, akTop, akRight, akBottom]
-        Font.Charset = DEFAULT_CHARSET
-        Font.Color = clWindowText
-        Font.Height = -16
-        Font.Name = 'Tahoma'
-        Font.Style = []
-        Lines.Strings = (
-          'dsfa '#241'ldsaf '#241'lk dasf'
-          'dsfklda'#241'fs '#241'l')
-        ParentFont = False
-        ReadOnly = True
-        ScrollBars = ssBoth
-        TabOrder = 2
-        WordWrap = False
-      end
-      object memoMessageToSend: TMemo
-        Left = 315
-        Top = 30
-        Width = 456
-        Height = 61
-        Lines.Strings = (
-          'memoMessageToSend')
-        TabOrder = 3
-        WantReturns = False
-      end
-    end
-  end
-  object TrayIcon: TTrayIcon
-    Icon.Data = {
-      0000010001001010000001002000680400001600000028000000100000002000
-      0000010020000000000000000000000000000000000000000000000000000000
-      000000000000000000000000000000000053000000BE000000E8000000F70000
-      00F7000000E9000000B20000004A000000000000000000000000000000000000
-      00000000000000000015000000B6070D16CE3E6C9BC860A8F0F166B3FFFF66B3
-      FFFF66B3FFFF3E6C9BC8070F16CC000000BA0000002600000000000000000000
-      000000000028000000CC2A4A6BC05391CFFF4C86BFFF599DDFFF66B3FFFF66B3
-      FFFF66B3FFFF66B3FFFF66B3FFFF2A4D6BC0000000C90000001D000000000000
-      0000000000B62A4D6BC066B3FFFF33597FFF000000FF33597FFF66B3FFFF66B3
-      FFFF66B3FFFF66B3FFFF66B3FFFF66B3FFFF2A4D6BC0000000B1000000000000
-      0050070F16CC66B3FFFF66B3FFFF40709FFF000000FF22394FFF6FB7FFFF68B4
-      FFFF66B3FFFF66B3FFFF66B3FFFF66B3FFFF66B3FFFF070F16CC000000470000
-      00C13E6C9BC866B3FFFF66B3FFFF5D96CFFF000000FF11181FFF5A7D9FFF5A81
-      A8FF4A759FFF66B3FFFF66B3FFFF66B3FFFF66B3FFFF3E6C9BC8000000BA0000
-      00ED60A8F0F166B3FFFF6FB7FFFF8BC5FFFF000000FF000000FF43515FFF2631
-      3BFF161F27FF5180AFFF66B3FFFF66B3FFFF66B3FFFF66B3FFFF000000EF0000
-      00FD66B3FFFF66B3FFFF7DBFFFFF9DCEFFFF22292FFF000000FF000000FF0000
-      00FF000000FF000000FF0C161FFF5391CFFF66B3FFFF66B3FFFF000000FD0000
-      00FD66B3FFFF66B3FFFF84C2FFFFA6D3FFFF3E474FFF000000FF686C6FFF262B
-      2FFF1A2127FF1A242FFF000000FF192C3FFF66B3FFFF66B3FFFF000000FB0000
-      00F666B3FFFF66B3FFFF82C1FFFFA3D1FFFF61707FFF000000FF62686FFF3238
-      3FFF4A5D6FFF6895C2FF000000FF000000FF5391CFFF60A8F0F1000000ED0000
-      00CA3E6C9BC866B3FFFF76BBFFFF94CAFFFF82A0BFFF000000FF30373FFF4251
-      5FFF4B647DFF406283FF000000FF000000FF4C86BFFF3E6C9BC8000000BF0000
-      005B070D12CE66B3FFFF66B3FFFF7DBFFFFF80B0DFFF000000FF000000FF0000
-      00FF000000FF000000FF000000FF0C161FFF66B3FFFF070F16CC000000500000
-      0000000000CF2A4A6BC066B3FFFF66B3FFFF73BAFFFF1F2F3FFF1F2F3FFF1622
-      2FFF0C141DFF080E14FF2C4E6FFF599DDFFF2A4D6BC0000000B6000000000000
-      000000000030000000CF2A4D6BC066B3FFFF66B3FFFF66B3FFFF66B3FFFF599D
-      DFFF39648FFF2C4E6FFF66B3FFFF2A4D6BC0000000CF00000022000000000000
-      0000000000000000002B000000C4070D16CD3E6C9BC866B3FFFF66B3FFFF66B3
-      FFFF60A8F0F13E6C9BC8070D16CD000000C00000002600000000000000000000
-      00000000000000000000000000000000005D000000CE000000F4000000FE0000
-      00FE000000F6000000C60000005600000000000000000000000000000000FFFF
-      0000FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000FFFF
-      0000FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000}
-    Icons = ImageListIcons
-    Visible = True
-    OnDblClick = TrayIconDblClick
-    Left = 45
-    Top = 20
-  end
-  object TimerUpdateStatus: TTimer
-    OnTimer = TimerUpdateStatusTimer
-    Left = 25
-    Top = 45
-  end
-  object MainMenu: TMainMenu
-    Left = 165
-    Top = 155
-    object miProject: TMenuItem
-      Caption = 'Project'
-      object miPrivatekeys: TMenuItem
-        Caption = 'Private keys'
-        ShortCut = 16464
-        OnClick = miPrivatekeysClick
-      end
-      object miN1: TMenuItem
-        Caption = '-'
-      end
-      object miOptions: TMenuItem
-        Caption = 'Options'
-        ShortCut = 16463
-        OnClick = miOptionsClick
-      end
-      object IPnodes1: TMenuItem
-        Caption = 'IP nodes'
-        OnClick = IPnodes1Click
-      end
-      object N1: TMenuItem
-        Caption = '-'
-      end
-      object MiClose: TMenuItem
-        Caption = 'Close'
-        OnClick = MiCloseClick
-      end
-    end
-    object MiOperations: TMenuItem
-      Caption = 'Operations'
-      object miNewOperation: TMenuItem
-        Caption = 'New single Operation'
-        ShortCut = 120
-        OnClick = miNewOperationClick
-      end
-      object MiFindOperationbyOpHash: TMenuItem
-        Caption = 'Find Operation by OpHash'
-        ShortCut = 116
-        OnClick = MiFindOperationbyOpHashClick
-      end
-      object MiDecodePayload: TMenuItem
-        Caption = 'Decode Payload'
-        ShortCut = 113
-        OnClick = MiDecodePayloadClick
-      end
-      object MiFindaccount: TMenuItem
-        Caption = 'Find account'
-        ShortCut = 16454
-        OnClick = MiFindaccountClick
-      end
-      object MiAccountInformation: TMenuItem
-        Caption = 'Account Information'
-        ShortCut = 112
-        OnClick = MiAccountInformationClick
-      end
-      object N2: TMenuItem
-        Caption = '-'
-      end
-      object MiAddaccounttoSelected: TMenuItem
-        Caption = 'Add account to selected'
-        ShortCut = 117
-        OnClick = MiAddaccounttoSelectedClick
-      end
-      object MiRemoveaccountfromselected: TMenuItem
-        Caption = 'Remove account from selected'
-        ShortCut = 118
-        OnClick = MiRemoveaccountfromselectedClick
-      end
-      object MiMultiaccountoperation: TMenuItem
-        Caption = 'Multi account operation'
-        OnClick = MiMultiaccountoperationClick
-      end
-      object N3: TMenuItem
-        Caption = '-'
-      end
-      object MiFindpreviousaccountwithhighbalance: TMenuItem
-        Caption = 'Find previous account with high balance'
-        ShortCut = 16498
-        OnClick = MiFindpreviousaccountwithhighbalanceClick
-      end
-      object MiFindnextaccountwithhighbalance: TMenuItem
-        Caption = 'Find next account with high balance'
-        ShortCut = 114
-        OnClick = MiFindnextaccountwithhighbalanceClick
-      end
-    end
-    object miAbout: TMenuItem
-      Caption = 'About'
-      object miAboutPascalCoin: TMenuItem
-        Caption = 'About Pascal Coin...'
-        OnClick = miAboutPascalCoinClick
-      end
-    end
-  end
-  object ImageListIcons: TImageList
-    Height = 48
-    Left = 105
-    Top = 180
-    Bitmap = {
-      494C010102000800140210003000FFFFFFFFFF10FFFFFFFFFFFFFFFF424D3600
-      0000000000003600000028000000400000003000000001002000000000000030
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000002A292929D60B0B0BF4111111EE0000006B000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000002A292929D60B0B0BF4111111EE0000006B000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      00002A2B2ED766B3FFFF66B3FFFF66B3FFFF66B3FFFF66B3FFFF5E768FC00000
-      0032000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000006D6D
-      6D9266B3FFFF66B3FFFF66B3FFFF66B3FFFF66B3FFFF66B3FFFF66B3FFFF292A
-      2DD8000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000006D6D
-      6D9266B3FFFF66B3FFFF66B3FFFF66B3FFFF66B3FFFF66B3FFFF66B3FFFF292A
-      2DD8000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      00000000000000000000000000000000000000000000000000000000007866B3
-      FFFF66B3FFFF66B3FFFF66B3FFFF66B3FFFF66B3FFFF66B3FFFF66B3FFFF66B3
-      FFFF2C3032D50000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      00000000000000000000000000000000000000000000000000002B2F31D666B3
-      FFFF66B3FFFF66B3FFFF66B3FFFF66B3FFFF66B3FFFF66B3FFFF66B3FFFF66B3
-      FFFF68ACF0F10000000B00000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      00000000000000000000000000000000000000000000000000002B2F31D666B3
-      FFFF66B3FFFF66B3FFFF66B3FFFF66B3FFFF66B3FFFF66B3FFFF66B3FFFF66B3
-      FFFF68ACF0F10000000B00000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      000000000000000000000000000000000000000000007F7F7F8066B3FFFF66B3
-      FFFF000000FF000000FF66B3FFFF66B3FFFF66B3FFFF66B3FFFF66B3FFFF66B3
-      FFFF66B3FFFF2B2F30D600000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      00000000000000000000000000000000000000000000141415EB66B3FFFF66B3
-      FFFF000000FF000000FF66B3FFFF66B3FFFF66B3FFFF66B3FFFF66B3FFFF66B3
-      FFFF66B3FFFF68ACF0F100000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      00000000000000000000000000000000000000000000141415EB66B3FFFF66B3
-      FFFF000000FF000000FF66B3FFFF66B3FFFF66B3FFFF66B3FFFF66B3FFFF66B3
-      FFFF66B3FFFF68ACF0F100000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000066B3FFFF66B3FFFF66B3
-      FFFF000000FF000000FF66B3FFFF66B3FFFF66B3FFFF66B3FFFF66B3FFFF66B3
-      FFFF66B3FFFF66B3FFFF68686897000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000003566B3FFFF66B3FFFF66B3
-      FFFF000000FF000000FF66B3FFFF66B3FFFF66B3FFFF66B3FFFF66B3FFFF66B3
-      FFFF66B3FFFF66B3FFFF202222E0000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000003566B3FFFF66B3FFFF66B3
-      FFFF000000FF000000FF66B3FFFF66B3FFFF66B3FFFF66B3FFFF66B3FFFF66B3
-      FFFF66B3FFFF66B3FFFF202222E0000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      000000000000000000000000000000000000202222E066B3FFFF66B3FFFF66B3
-      FFFF000000FF000000FF79BCFFFF73BAFFFF68B4FFFF66B3FFFF66B3FFFF66B3
-      FFFF66B3FFFF66B3FFFF66B3FFFF000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      000000000000000000000000000000000000586D7FBF66B3FFFF66B3FFFF67B4
-      FFFF000000FF000000FF83C1FFFF3E5F7FFF5C96CFFF66B3FFFF66B3FFFF66B3
-      FFFF66B3FFFF66B3FFFF66B3FFFF000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      000000000000000000000000000000000000586D7FBF66B3FFFF66B3FFFF67B4
-      FFFF000000FF000000FF83C1FFFF3E5F7FFF5C96CFFF66B3FFFF66B3FFFF66B3
-      FFFF66B3FFFF66B3FFFF66B3FFFF000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      00000000000000000000000000000000000066B3FFFF66B3FFFF66B3FFFF77BC
-      FFFF19242FFF000000FF7198BFFF12181FFF83C2FFFF70B8FFFF66B3FFFF66B3
-      FFFF66B3FFFF66B3FFFF66B3FFFF0000002E0000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      00000000000000000000000000000000000066B3FFFF66B3FFFF68B4FFFF7FC0
-      FFFF2D3E4FFF000000FF65829FFF26333FFF8CC6FFFF70B0EFFF66B3FFFF66B3
-      FFFF66B3FFFF66B3FFFF66B3FFFF0000007F0000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      00000000000000000000000000000000000066B3FFFF66B3FFFF68B4FFFF7FC0
-      FFFF2D3E4FFF000000FF65829FFF26333FFF8CC6FFFF70B0EFFF66B3FFFF66B3
-      FFFF66B3FFFF66B3FFFF66B3FFFF0000007F0000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      00000000000000000000000000000000000066B3FFFF66B3FFFF74BAFFFF8EC7
-      FFFF7A9DBFFF000000FF000000FF000000FF000000FF000000FF0D161FFF66B3
-      FFFF66B3FFFF66B3FFFF66B3FFFF232323DC0000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      00000000000000000000000000000000000066B3FFFF66B3FFFF79BDFFFF94CA
-      FFFF96BADFFF000000FF000000FF000000FF000000FF000000FF000000FF3964
-      8FFF66B3FFFF66B3FFFF66B3FFFF111111EE0000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      00000000000000000000000000000000000066B3FFFF66B3FFFF79BDFFFF94CA
-      FFFF96BADFFF000000FF000000FF000000FF000000FF000000FF000000FF3964
-      8FFF66B3FFFF66B3FFFF66B3FFFF111111EE0000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      00000000000000000000000000000000000066B3FFFF66B3FFFF82C1FFFF9ECF
-      FFFFB9DCFFFF000000FF000000FF000000FF000000FF000000FF000000FF0000
-      00FF60A8EFFF66B3FFFF66B3FFFF050505FA0000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      00000000000000000000000000000000000066B3FFFF67B3FFFF85C2FFFFA3D1
-      FFFFBFDFFFFF000000FF000000FF33393FFF2A323BFF000000FF000000FF0000
-      00FF20374FFF66B3FFFF66B3FFFF020202FD0000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      00000000000000000000000000000000000066B3FFFF67B3FFFF85C2FFFFA3D1
-      FFFFBFDFFFFF000000FF000000FF33393FFF2A323BFF000000FF000000FF0000
-      00FF20374FFF66B3FFFF66B3FFFF020202FD0000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      00000000000000000000000000000000000066B3FFFF69B4FFFF88C4FFFFA7D3
-      FFFFC6E3FFFF000000FF000000FFD9ECFFFF697C8FFF000000FF659ACFFF0000
-      00FF000000FF66B3FFFF66B3FFFF0D0D0DF20000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      00000000000000000000000000000000000066B3FFFF6AB5FFFF89C4FFFFA8D4
-      FFFFC7E3FFFF000000FF000000FFDAEDFFFF51606FFF000000FF7DBFFFFF0000
-      00FF000000FF66B3FFFF66B3FFFF232323DC0000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      00000000000000000000000000000000000066B3FFFF6AB5FFFF89C4FFFFA8D4
-      FFFFC7E3FFFF000000FF000000FFDAEDFFFF51606FFF000000FF7DBFFFFF0000
-      00FF000000FF66B3FFFF66B3FFFF232323DC0000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      00000000000000000000000000000000000066B3FFFF68B4FFFF87C3FFFFA6D3
-      FFFFC3E1FFFF000000FF000000FFD5EAFFFF0B0D0FFF13191FFF7CBEFFFF0000
-      00FF000000FF66B3FFFF66B3FFFF000000780000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      00000000000000000000000000000000000066B3FFFF67B3FFFF85C2FFFFA3D1
-      FFFFBFDFFFFF000000FF000000FFCFE7FFFF000000FF25323FFF7ABDFFFF0000
-      00FF000000FF66B3FFFF66B3FFFF000000280000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      00000000000000000000000000000000000066B3FFFF67B3FFFF85C2FFFFA3D1
-      FFFFBFDFFFFF000000FF000000FFCFE7FFFF000000FF25323FFF7ABDFFFF0000
-      00FF000000FF66B3FFFF66B3FFFF000000280000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000005E768FC066B3FFFF7EBFFFFF9ACD
-      FFFFB3D9FFFF000000FF000000FFC0E0FFFF000000FF597D9FFF73BAFFFF0000
-      00FF000000FF66B3FFFF66B3FFFF000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      000000000000000000000000000000000000212223DF66B3FFFF79BDFFFF94CA
-      FFFFACD6FFFF000000FF000000FFB7DBFFFF000000FF6894BFFF375B7FFF0000
-      00FF000000FF66B3FFFF66B3FFFF000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      000000000000000000000000000000000000212223DF66B3FFFF79BDFFFF94CA
-      FFFFACD6FFFF000000FF000000FFB7DBFFFF000000FF6894BFFF375B7FFF0000
-      00FF000000FF66B3FFFF66B3FFFF000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000003F66B3FFFF6EB7FFFF87C3
-      FFFF9BCDFFFF34424FFF000000FF000000FF000000FF000000FF000000FF0000
-      00FF000000FF66B3FFFF2B2C2FD6000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000066B3FFFF68B4FFFF7FC0
-      FFFF92C9FFFF4F677FFF000000FF000000FF000000FF000000FF000000FF0000
-      00FF13212FFF66B3FFFF6E6E6E91000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000066B3FFFF68B4FFFF7FC0
-      FFFF92C9FFFF4F677FFF000000FF000000FF000000FF000000FF000000FF0000
-      00FF13212FFF66B3FFFF6E6E6E91000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      000000000000000000000000000000000000000000002B2F30D666B3FFFF70B8
-      FFFF80C0FFFF7AACDFFF000000FF000000FF000000FF000000FF000000FF2C4E
-      6FFF66B3FFFF68ACF0F100000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      000000000000000000000000000000000000000000007474748B66B3FFFF67B4
-      FFFF77BBFFFF80C0FFFF83C1FFFF7DBFFFFF558BBFFF66B3FFFF2C4E6FFF66B3
-      FFFF66B3FFFF323438D100000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      000000000000000000000000000000000000000000007474748B66B3FFFF67B4
-      FFFF77BBFFFF80C0FFFF83C1FFFF7DBFFFFF558BBFFF66B3FFFF2C4E6FFF66B3
-      FFFF66B3FFFF323438D100000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      00000000000000000000000000000000000000000000000000002B2F30D666B3
-      FFFF66B3FFFF6CB6FFFF6EB7FFFF6AB5FFFF66B3FFFF66B3FFFF060B0FFF66B3
-      FFFF68ACF0F10000000A00000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      00000000000000000000000000000000000000000000000000007878788766B3
-      FFFF66B3FFFF66B3FFFF66B3FFFF66B3FFFF66B3FFFF66B3FFFF33597FFF66B3
-      FFFF1D1E1FE20000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      00000000000000000000000000000000000000000000000000007878788766B3
-      FFFF66B3FFFF66B3FFFF66B3FFFF66B3FFFF66B3FFFF66B3FFFF33597FFF66B3
-      FFFF1D1E1FE20000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000005252
-      52AD66B3FFFF66B3FFFF66B3FFFF66B3FFFF66B3FFFF66B3FFFF66B3FFFF2526
-      27DB000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000232425DD66B3FFFF66B3FFFF66B3FFFF66B3FFFF66B3FFFF586D7FBF0000
-      0035000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000232425DD66B3FFFF66B3FFFF66B3FFFF66B3FFFF66B3FFFF586D7FBF0000
-      0035000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000003D161616E9010101FE0C0C0CF37171718E000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      000000000000000000000000000000000000424D3E000000000000003E000000
-      2800000040000000300000000100010000000000800100000000000000000000
-      000000000000000000000000FFFFFF00FC7F000000000000FC7F000000000000
-      F01F000000000000E00F000000000000E00F000000000000E007000000000000
-      C007000000000000C00700000000000080030000000000008003000000000000
-      8003000000000000800100000000000080010000000000008001000000000000
-      0001000000000000000100000000000000010000000000000001000000000000
-      0001000000000000000100000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000001000000000000
-      0001000000000000000100000000000000010000000000000001000000000000
-      0001000000000000800100000000000080010000000000008001000000000000
-      800300000000000080030000000000008003000000000000C007000000000000
-      C007000000000000C007000000000000E00F000000000000F01F000000000000
-      F01F000000000000FC3F00000000000000000000000000000000000000000000
-      000000000000}
-  end
-  object ApplicationEvents: TApplicationEvents
-    OnMinimize = ApplicationEventsMinimize
-    Left = 145
-    Top = 225
-  end
-end

+ 2 - 2
Units/Forms/UFRMWallet.lfm

@@ -1,7 +1,7 @@
 object FRMWallet: TFRMWallet
 object FRMWallet: TFRMWallet
-  Left = 151
+  Left = 115
   Height = 600
   Height = 600
-  Top = 78
+  Top = 22
   Width = 865
   Width = 865
   Caption = 'Pascal Coin Wallet, JSON-RPC Miner & Explorer'
   Caption = 'Pascal Coin Wallet, JSON-RPC Miner & Explorer'
   ClientHeight = 580
   ClientHeight = 580

+ 5 - 16
Units/Forms/UFRMWallet.pas

@@ -1,8 +1,6 @@
 unit UFRMWallet;
 unit UFRMWallet;
 
 
-{$IFDEF FPC}
-  {$MODE Delphi}
-{$ENDIF}
+{$mode delphi}
 
 
 { Copyright (c) 2016 by Albert Molina
 { Copyright (c) 2016 by Albert Molina
 
 
@@ -22,11 +20,7 @@ interface
 {$I ./../PascalCoin/config.inc}
 {$I ./../PascalCoin/config.inc}
 
 
 uses
 uses
-{$IFnDEF FPC}
-  pngimage, Windows, AppEvnts, ShlObj,
-{$ELSE}
   LCLIntf, LCLType, LMessages,
   LCLIntf, LCLType, LMessages,
-{$ENDIF}
   Messages, SysUtils, Classes, Graphics, Controls, Forms,
   Messages, SysUtils, Classes, Graphics, Controls, Forms,
   Dialogs, ExtCtrls, ComCtrls, UWalletKeys, StdCtrls,
   Dialogs, ExtCtrls, ComCtrls, UWalletKeys, StdCtrls,
   ULog, Grids, UAppParams,
   ULog, Grids, UAppParams,
@@ -65,7 +59,7 @@ type
     N1: TMenuItem;
     N1: TMenuItem;
     miClose: TMenuItem;
     miClose: TMenuItem;
     ilIcons: TImageList;
     ilIcons: TImageList;
-    ApplicationEvents: {$IFDEF FPC}TApplicationProperties{$ELSE}TApplicationEvents{$ENDIF};
+    ApplicationEvents: TApplicationProperties;
     IPnodes1: TMenuItem;
     IPnodes1: TMenuItem;
     pnlSelectedAccountsBottom: TPanel;
     pnlSelectedAccountsBottom: TPanel;
     tbFooter: TToolBar;
     tbFooter: TToolBar;
@@ -109,11 +103,7 @@ type
 
 
 implementation
 implementation
 
 
-{$IFnDEF FPC}
-  {$R *.dfm}
-{$ELSE}
-  {$R *.lfm}
-{$ENDIF}
+{$R *.lfm}
 
 
 uses UThread, UOpTransaction, UUserInterface;
 uses UThread, UOpTransaction, UUserInterface;
 
 
@@ -148,6 +138,7 @@ end;
 
 
 procedure TFRMWallet.ApplicationEventsMinimize(Sender: TObject);
 procedure TFRMWallet.ApplicationEventsMinimize(Sender: TObject);
 begin
 begin
+  // TODO refactor
   {$IFnDEF FPC}
   {$IFnDEF FPC}
   Hide();
   Hide();
   WindowState := wsMinimized;
   WindowState := wsMinimized;
@@ -195,7 +186,6 @@ end;
 procedure TFRMWallet.RefreshConnectivityIcon;
 procedure TFRMWallet.RefreshConnectivityIcon;
 var   active : boolean;
 var   active : boolean;
 const
 const
-
   ImageIndexConst : array[false..true] of integer=(1,0);
   ImageIndexConst : array[false..true] of integer=(1,0);
   HintConst : array[false..true] of String =('Network is inactive. Click activate.','Network is active. Click to deactivate.');
   HintConst : array[false..true] of String =('Network is inactive. Click activate.','Network is active. Click to deactivate.');
 begin
 begin
@@ -206,7 +196,7 @@ end;
 
 
 {%endregion}
 {%endregion}
 
 
-{%region Handlers: Form size}
+{%region Handlers: Form}
 
 
 procedure TFRMWallet.FormResize(Sender: TObject);
 procedure TFRMWallet.FormResize(Sender: TObject);
 begin
 begin
@@ -273,7 +263,6 @@ begin
  TUserInterface.ShowOperationsExplorer;
  TUserInterface.ShowOperationsExplorer;
 end;
 end;
 
 
-
 procedure TFRMWallet.miBlockExplorerClick(Sender: TObject);
 procedure TFRMWallet.miBlockExplorerClick(Sender: TObject);
 begin
 begin
   TUserInterface.ShowBlockExplorer;
   TUserInterface.ShowBlockExplorer;

+ 0 - 800
Units/Forms/UFRMWalletKeys.dfm

@@ -1,800 +0,0 @@
-object FRMWalletKeys: TFRMWalletKeys
-  Left = 0
-  Top = 0
-  BorderIcons = [biSystemMenu]
-  BorderStyle = bsSingle
-  Caption = 'Wallet keys'
-  ClientHeight = 478
-  ClientWidth = 569
-  Color = clBtnFace
-  Font.Charset = DEFAULT_CHARSET
-  Font.Color = clWindowText
-  Font.Height = -11
-  Font.Name = 'Tahoma'
-  Font.Style = []
-  OldCreateOrder = False
-  Position = poOwnerFormCenter
-  OnCreate = FormCreate
-  PixelsPerInch = 96
-  TextHeight = 13
-  object lblEncryptionTypeCaption: TLabel
-    Left = 30
-    Top = 298
-    Width = 80
-    Height = 13
-    Caption = 'Encryption type:'
-  end
-  object lblEncryptionType: TLabel
-    Left = 125
-    Top = 298
-    Width = 54
-    Height = 13
-    Caption = '000000000'
-  end
-  object lblKeyNameCaption: TLabel
-    Left = 30
-    Top = 317
-    Width = 51
-    Height = 13
-    Caption = 'Key name:'
-  end
-  object lblKeyName: TLabel
-    Left = 125
-    Top = 317
-    Width = 329
-    Height = 13
-    AutoSize = False
-    Caption = '000000000'
-  end
-  object lblPrivateKeyCaption: TLabel
-    Left = 30
-    Top = 336
-    Width = 58
-    Height = 13
-    Caption = 'Private key:'
-  end
-  object lblPrivateKeyCaption2: TLabel
-    Left = 30
-    Top = 355
-    Width = 80
-    Height = 13
-    Caption = '(In hexa format)'
-  end
-  object lblKeysEncrypted: TLabel
-    Left = 30
-    Top = 15
-    Width = 274
-    Height = 39
-    AutoSize = False
-    Caption = 'lblKeysEncrypted'
-    Font.Charset = DEFAULT_CHARSET
-    Font.Color = clBlack
-    Font.Height = -16
-    Font.Name = 'Tahoma'
-    Font.Style = [fsBold]
-    ParentFont = False
-    WordWrap = True
-  end
-  object lbWalletKeys: TListBox
-    Left = 30
-    Top = 60
-    Width = 346
-    Height = 227
-    ItemHeight = 13
-    TabOrder = 0
-    OnClick = lbWalletKeysClick
-  end
-  object bbExportPrivateKey: TBitBtn
-    Left = 382
-    Top = 136
-    Width = 159
-    Height = 36
-    Caption = 'Export Private key'
-    DoubleBuffered = True
-    Glyph.Data = {
-      76060000424D7606000000000000360400002800000018000000180000000100
-      0800000000004002000000000000000000000001000000010000FF00FF005251
-      5100565758005A5958005B5D5D005D5E5E006361610066666600696969006C6B
-      6B0073706F0072707000747271000E80AA001788AF000B86B2000C85B000098A
-      B700078CBA00198EB7000E91BE001E94BC002898BA003E99BB000493C4000997
-      C7000A9ECF00229BC20035A0C30030AACA0032AACE003DAACC003FB0CB0036A9
-      D0003BB1D9003DBDDA0039B8DE0029BBE0004DBBD90068B0CA0019C7F1001BD4
-      FE002FC6E7003ECDE9002CD3F9002ED8FE003CE0FE0054C0D40059C4D70059C2
-      DD006FC2D6007CC0D50078C1D80049DDFE0054DFFE0061C6E5006CD4EE0064D9
-      E90076DFE9007DDFE90055E0FF0058E0FE006BE3F40063E6FE0060ECFE0075E2
-      FA0077E6FF007BE8FF0071F2FE0088828000928E8C0096908F00969291009794
-      94009E969400A09C9B00A19F9E00ACA09E00A6A2A100A6A4A400ADA5A300AAA5
-      A400ABA8A800ADAAA900B0A5A300B2A7A500B2ABAB00B4ABA900BBB1AE00BEB1
-      AF00BAB3B200BAB4B200BEB6B400C4B8B600C1BCBB0083DFE9008ADAEB0094DF
-      E90089DDF100A4DFEA009AE2F40095EBFD0095EDFE009EEDFF0084F3F90080F5
-      FC008FF6FB0083F8FE0093F2FE0097F9FE0094FDFE0099FFFE009EFFFE00AAEF
-      FD00B4EEF300A4FFFE00A8F9FE00ADFBFE00AAFFFE00B6F1FF00BCF2F800B3F9
-      FF00B3FFFE00B9FFFE00C7C2C100C7C6C600CCC4C200CAC7C600CFCCCC00D1C7
-      C500D4CBC900D1CDCD00D5CFCE00D8D0CE00D7D1D000D9D5D400DCD7D600DFD8
-      D600E3DEDD00C3DFEA00CCF6FF00C9FFFE00CFFFFF00D1F7FF00DBF8FE00DFFF
-      FF00E7E3E200E9E5E500ECE9E900EFEEED00F1EBEA00F1EFEE00E5FFFF00F3F1
-      F100F6F2F000F8F5F300F8F5F400F0F7FA00F5FFFF00FBF8F800FAFFFF00FFFE
-      FE00000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0007070707000000000000000000000000000000000000000746967E07000000
-      0000000000000000000000000000000D085E489A5E080D0D0000000000000000
-      00000000000D0D2626075E48A1071F130D0D000000000000000000000D163940
-      3F35075E4C93070707100D000000000000000000123A6B402E353D075E519580
-      4E0707070707000000000000123A6B402E293D42075E4EA19289858281550700
-      00000000123A6B402E292D4266075E4C9689865A475D4D0700000000123A6B40
-      2E292D3C6671077D928A7D0A0A58580700000000123A6B402E292D3C4371079A
-      958007035151550700000000123A6D6C6667778C8F90079A860701574C024A07
-      0000000012727860311E1B151C3407A17E0B534C000445070000000011322023
-      2A282C36426407539A8882040404570700000000103169402E292D3643716207
-      5393825A515A5A0700000000123A6B402E292D3C436662370707070708070700
-      00000000123A6B402E292D3C43663837222117000000000000000000123A6B40
-      2E292D3C436638231A180D000000000000000000123A6B402E292D3C43663822
-      1A180D000000000000000000123A6B402E292D3C436638231A180D0000000000
-      00000000123B757975756F6F6F6F6A3E25190D000000000000000000128BA190
-      8E79736F6F6F6F6D442B0D00000000000000000012279D9D908E796F6F6F6F6F
-      691E0D000000000000000000001214333363615F3B3A2F2F0E0D000000000000
-      0000000000000014121212121212121200000000000000000000}
-    ParentDoubleBuffered = False
-    TabOrder = 4
-    OnClick = bbExportPrivateKeyClick
-  end
-  object memoPrivateKey: TMemo
-    Left = 125
-    Top = 336
-    Width = 416
-    Height = 80
-    TabStop = False
-    BevelInner = bvNone
-    BevelOuter = bvNone
-    Color = clBtnFace
-    Ctl3D = False
-    Font.Charset = DEFAULT_CHARSET
-    Font.Color = clBlack
-    Font.Height = -16
-    Font.Name = 'Tahoma'
-    Font.Style = []
-    Lines.Strings = (
-      'memoPrivateKey')
-    ParentCtl3D = False
-    ParentFont = False
-    ReadOnly = True
-    TabOrder = 9
-  end
-  object bbChangeName: TBitBtn
-    Left = 460
-    Top = 305
-    Width = 81
-    Height = 25
-    Caption = 'Change Name'
-    DoubleBuffered = True
-    ParentDoubleBuffered = False
-    TabOrder = 8
-    OnClick = bbChangeNameClick
-  end
-  object bbImportPrivateKey: TBitBtn
-    Left = 382
-    Top = 98
-    Width = 159
-    Height = 36
-    Caption = 'Import Private key'
-    DoubleBuffered = True
-    Glyph.Data = {
-      76060000424D7606000000000000360400002800000018000000180000000100
-      0800000000004002000000000000000000000001000000010000FF00FF000571
-      0A0008750D0024B53B0029B942002ABA44002EBD4A002FBF4C0033C1500034C2
-      520035C3540037C5570039C659003BC85C003CC95E003FCC630040CC650045D0
-      6B0046D16C0049D472004BD675004ED8790050D97B0051DA7E000E80AA001788
-      AF000B86B200098AB700078CBA00198EB700118EB9000E91BE001E94BC002898
-      BA0055DD810056DF850058E087000493C4000997C7000C9BCB000A9DCE00229B
-      C20015AFD90026A0C80021AACF0035A0C30030AACA0032AACE003DAACC003FB0
-      CB0031AED7003DBDDA0039B8DE0029BBE00056B1CE0052BDDB0068B0CA006BBD
-      D70019C7F1001BD4FE002FC6E70026C2E9003ECDE9002CD3F9002ED8FE003CE0
-      FE0054C0D40059C4D70059C2DD006FC2D60062C3DE007CC0D5007AC6DF0043C8
-      E90054DFFE0060CEEA0079CFE9006CD4EE0064D9E90076DFE9007DDFE90055E0
-      FF006BE3F40060ECFE0075E2FA007BE8FF0071F2FE008FD0E60083DFE9008ADA
-      EB0094DFE90081DBF100A4DFEA0095EBFD0095EEFE009EEDFF0084F3F90080F5
-      FC008FF6FB0083F8FE0093F2FE0097F9FE0094FDFE0099FFFE009EFFFE00AFE8
-      F600B4EEF300A4FFFE00A8F9FE00ADFBFE00AAFFFE00B6F1FF00BCF2F800B3F9
-      FF00B3FFFE00B9FFFE00C3DFEA00CCF6FF00C9FFFE00CFFFFF00D1F6FE00DFFF
-      FF00E5FFFF00F0F7FA00F5FFFF00FAFFFF000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000202020200000000000000000000000000000000000000
-      0002040302000000000000000000001818181818181818180002060402000000
-      000000000018182C2C2A3D494B46301D18020906020000000000000018214E53
-      413B4051555D4D3427020D0902000000000000001C4F6353413B405102020202
-      02020F0D02020202020200001C4F6353413B405102242317151311100D090906
-      040200001C4F6353413B40510224242323151311100F0D09060200001C4F6353
-      413B4051020101010102171302010101020100001C4F6353413B4051555D4D34
-      2702231702000000000000001C4F65645D5F6F757878694C3202242302000000
-      000000001C6A7059442F29202D3639485702242402000000000000001B453134
-      3C3A3F4A545B372B1E02242402000000000000001A436153413B4051555D4D34
-      2701020202000000000000001C4F6353413B4051555D4D342725180000000000
-      000000001C4F6353413B4051555D4D342725180000000000000000001C4F6353
-      413B4051555D4D342725180000000000000000001C4F6353413B4051555D4D34
-      2825180000000000000000001C4F6353413B4051555D4D342725180000000000
-      000000001C506D716D6D6767676762523527180000000000000000001C747D7A
-      77716B6767676765563E180000000000000000001C387B7C7977716767676767
-      612F18000000000000000000001C1F47475C5A58504F42421918000000000000
-      000000000000001C1C1C1C1C1C1C1C1C00000000000000000000}
-    ParentDoubleBuffered = False
-    TabOrder = 3
-    OnClick = bbImportPrivateKeyClick
-  end
-  object bbExportPublicKey: TBitBtn
-    Left = 382
-    Top = 212
-    Width = 159
-    Height = 36
-    Caption = 'Export Public key'
-    DoubleBuffered = True
-    Glyph.Data = {
-      F6060000424DF606000000000000360000002800000018000000180000000100
-      180000000000C0060000120B0000120B00000000000000000000FF00FFFF00FF
-      FF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00
-      FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF
-      00FFFF00FFFF00FF019ACF019ACF019ACF019ACFFF00FFFF00FFFF00FFFF00FF
-      FF00FFFF00FFFF00FFFF00FFFF00FFFF00FF0C8518FF00FFFF00FFFF00FFFF00
-      FFFF00FFFF00FFFF00FFFF00FF0D9FD18BD4EE6BD3F845C0ED28B0E0019ACF01
-      9ACF019ACF019ACFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FF0C85180C8518
-      FF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FF069CD076C8E5A9E9FE6DD8
-      FF75DBFF77DCFF77DBFF63D1F930B3E3029BD0019ACF019ACF019ACF019ACFFF
-      00FF0C85181399220C8518FF00FFFF00FFFF00FFFF00FFFF00FFFF00FF019ACF
-      34AFD9BCE9F86ED8FF6FD8FE70D8FE70D8FE71D8FF0C85180C85180C85180C85
-      180C85180C85180C85180C85181DAC31139A220C8518FF00FFFF00FFFF00FFFF
-      00FFFF00FF019ACF1FA9D68FD3EB97E4FF6FD9FE71D9FE71D9FE71D9FE0C8518
-      57E38851DD7E4AD77443D0693BC95E34C1522BBA4725B33C1EAE33149B230C85
-      18FF00FFFF00FFFF00FFFF00FF019ACF31B1DC49B7DEBDEEFB71DDFE77DEFE77
-      DEFE77DEFE0C85185EE89059E48953DE804CD87645D16C3DCA6035C2542DBB49
-      26B53F1FAF35149B250C8518FF00FFFF00FFFF00FF019ACF52C2E71DA7D5ADE2
-      F38FE8FF7CE2FE7CE3FE7CE3FE0C851861EB955FE9925AE58B54DF824DD97846
-      D26D3ECB6237C4562FBD4C27B64021B037159B250C8518FF00FFFF00FF019ACF
-      60CAEF1FA8D85EC1E1C2E6ED8ACEE08FCFE18ECFE10C851861EB9561EB955FEA
-      935CE58D56E0844FDB7A48D47040CD6538C65931BF4D1DA3320C8518FF00FFFF
-      00FFFF00FF019ACF65CFF53EB7E52CA9D4C5EFF8ACF3FEA5F2FFA5F2FF0C8518
-      61EB9561EB9561EB9561EB945CE68E57E18650DC7C49D57242CE6727AD410C85
-      18FF00FFFF00FFFF00FFFF00FF019ACF69D1F855C4F32A9CC673CBE7D6FEFDB1
-      FBFDB2FBFD0C85180C85180C85180C85180C85180C85180C85180C851852DD7F
-      32B6500C851898FAFF019ACFFF00FFFF00FFFF00FF019ACF77D5FC5CC8FB748E
-      A224A8D5B9E7F3D5F5F9D5F6F9D6F6FADCFAFBCDFDFCB9FCFCAFFAFCB0FAFCB1
-      FAFC0C85183ABE5C0C85189FFCFFA4FFFF43C1E2019ACFFF00FFFF00FF019ACF
-      8BDBFF5FCDFFB7898973C3DD18A2D218A2D216A2D215A1D21AA4D391D7EBEBFE
-      FDDBFDFCC5FBFBC2FBFB0C85180C851883E4F3B6FDFFBAFFFFB5FCFD019ACFFF
-      00FFFF00FF019ACF99E2FF67D3FFB88989FEF5ECFDF3EBF0EFEAE5EBE8D6E5E6
-      A4D2E025A6D34DB9DDE5F8FBF5FDFCEBFCFB0C8518C4FBFF9CE4F2DAFEFFD9FE
-      FFE3FFFFADE9F5019ACFFF00FF019ACF9FE9FF70DCFFB88989FEF3E9FFF2E6FE
-      F3E9FEF3E9FEF3E9FEF3E9D4E4E439ADD422A5D49DD8ECF1F9FBEEEFEFE9FDFF
-      CEEEF7F8FFFFF7FFFFFEFFFFE9F9FD019ACFFF00FF019ACFA7EFFF76E5FFB889
-      89FFF2E5FFF0E2FFF2E5FFF2E5FFF2E5FFF2E5FFF2E5EAEBE38EC9DA44B0D501
-      9ACF019ACF019ACF019ACF019ACF019ACF019ACF019ACF019ACFFF00FF019ACF
-      ABF6FF7EEDFFB88989FFF0E2FFEFDFFFF0E2FFF0E2FFF0E2FFF0E2FFF0E2FEEE
-      E0FBECDEFAEBDEF6E6D9B8898993F7FF019ACFFF00FFFF00FFFF00FFFF00FFFF
-      00FFFF00FF019ACFC7FFFF82F5FFB88989FFEEDFFFECDBFFEEDFFFEEDFFFEEDF
-      FFEEDFF9E8D9DECCC1D9CABDCFBDB4C8B3ACB88989B5FFFF019ACFFF00FFFF00
-      FFFF00FFFF00FFFF00FFFF00FF019ACFA4E0F0A0FDFFB88989FFECDBFFEBD8FF
-      ECDBFFECDBFFECDBFFECDBF5E2D2C4ABA7C2A8A5BBA39FC2AFA9B88989019ACF
-      FF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FF019ACFECFFFFB889
-      89FFEBD8FFEAD5FFEBD8FFEBD8FFEBD8FFEBD8FFEBD8D9C8C5FEFEFDFEF6EFDE
-      C9C0B88989FF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FF
-      FF00FF019ACFB88989FFE9D5FFE8D3FFE9D5FFE9D5FFE9D5FFE9D5FFE9D5C6AD
-      A9FEF8F2E8D4CACD9999FF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF
-      00FFFF00FFFF00FFFF00FFFF00FFB88989FFE7D1FFE7D0FFE7D1FFE7D1FFE7D1
-      FFE7D1E7CEBFD3BFB9E8D5CCCD9999FF00FFFF00FFFF00FFFF00FFFF00FFFF00
-      FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFB88989FFE6CFFFE6CFFF
-      E6CFFFE6CFFFE6CFFFE6CFD5BBB2E0CCC5CD9999FF00FFFF00FFFF00FFFF00FF
-      FF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFB889
-      89B88989B88989B88989B88989B88989B88989B88989B88989FF00FFFF00FFFF
-      00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FF}
-    ParentDoubleBuffered = False
-    TabOrder = 6
-    OnClick = bbExportPublicKeyClick
-  end
-  object bbImportPublicKey: TBitBtn
-    Left = 382
-    Top = 174
-    Width = 159
-    Height = 36
-    Caption = 'Import Public key'
-    DoubleBuffered = True
-    Glyph.Data = {
-      F6060000424DF606000000000000360000002800000018000000180000000100
-      180000000000C0060000120B0000120B00000000000000000000FF00FFFF00FF
-      FF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00
-      FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF
-      00FFFF00FFFF00FF019ACF019ACF019ACF019ACFFF00FFFF00FFFF00FFFF00FF
-      FF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00
-      FFFF00FFFF00FFFF00FFFF00FF0D9FD18BD4EE6BD3F845C0ED28B0E0019ACF01
-      9ACF019ACF019ACFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FF
-      FF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FF069CD076C8E5A9E9FE6DD8
-      FF75DBFF77DCFF77DBFF63D1F930B3E3029BD0019ACF019ACF019ACF019ACFFF
-      00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FF019ACF
-      34AFD9BCE9F86ED8FF6FD8FE70D8FE70D8FE71D8FF74DBFF7ADEFF79DDFF73D9
-      FF5CCCF522ACDD019ACF019ACF019ACFFF00FFFF00FFFF00FFFF00FFFF00FFFF
-      00FFFF00FF019ACF1FA9D68FD3EB97E4FF6FD9FE71D9FE71D9FE71D9FE71D9FE
-      71D9FE71D9FE73DAFE76DCFF7BDFFF7ADEFF78DCFF77DCFF019ACFFF00FFFF00
-      FFFF00FFFF00FFFF00FFFF00FF019ACF31B1DC49B7DEBDEEFB71DDFE77DEFE77
-      DEFE77DEFE77DEFE77DEFE77DEFE77DEFE76DEFE76DEFE76DEFE78DFFF7CE1FF
-      65D2F8019ACFFF00FFFF00FFFF00FFFF00FFFF00FF019ACF52C2E71DA7D5ADE2
-      F38FE8FF7CE2FE7CE3FE7CE3FE7CE3FE7CE3FE7CE3FE7CE3FE7CE3FE7CE3FE7C
-      E3FE7DE4FE7DE3FE5ED1F3019ACFFF00FFFF00FFFF00FFFF00FFFF00FF019ACF
-      60CAEF1FA8D85EC1E2BBF4FE7DE7FE82E8FE81E8FE81E8FE81E8FE81E8FE81E8
-      FE81E8FE81E8FE81E8FE82E8FE84E9FE5ED3F18DEEFF019ACFFF00FFFF00FFFF
-      00FFFF00FF019ACF65CFF53EB7E529ACD8BFEEF88DEFFF85EDFF85EDFF85EDFF
-      85EDFF86EDFF86EDFF86EDFF86EDFF86EDFF87EDFF89EEFF65D9F396F5FF019A
-      CFFF00FFFF00FFFF00FFFF00FF019ACF69D1F855C4F31FA7D773CBE7C5FCFF93
-      F7FF93F7FF92F6FF8DF4FF89F3FF89F2FF8BF2FF8BF2FF8BF2FF8BF2FF8EF3FF
-      6ADEF395F8FF98FAFF019ACFFF00FFFF00FFFF00FF019ACF77D5FC5CC8FB3EB8
-      E920A7D5B6E6F3D0F4FAD1F5FAD2F6FAD5F9FCB9FBFE9BF8FF8FF6FF91F6FF92
-      F6FF93F7FF6BD0B70C85188BEAE0A4FFFF43C1E2019ACFFF00FFFF00FF019ACF
-      8BDBFF5FCDFF64CDFE2CAFE30D9FD30FA0D310A0D310A0D317A3D38ED7ECE2FD
-      FEC3FAFFA5F8FFA3F8FF84DDCF0C851838B5570C8518ABF3EBB5FCFD019ACFFF
-      00FFFF00FF019ACF99E2FF67D3FF6DD4FE6CD4FE69D1FE64CEFB61CDF95BC9F5
-      48BEEB17A3D54BB8DDDFF7FBE8FCFFB1E7DD0C85184ACE7361EB9541C1640C85
-      18D6F6F0ADE9F5019ACFFF00FF019ACF9FE9FF70DCFF76DDFE76DDFE76DDFE75
-      DCFE74DCFE73DCFE73DBFE61CEF61CA8D91CA5D58CCED70C851842C5665BE68C
-      59E1895DE78F3EBD600C8518DBF1EF019ACFFF00FF019ACFA7EFFF76E5FF7CE5
-      FF7CE5FF7CE5FF7CE5FF7DE5FF7DE5FF7DE5FF7DE3FF72DDFB40B8D20C85182D
-      AD474AD47250D97B55DE8359E1885AE38B33AF510C85180197C3FF00FF019ACF
-      ABF6FF7EEDFF85ECFF85ECFF85ECFF85ECFF84ECFF80ECFF7CECFF7DECFF7EEC
-      FF0C85180C85180C85180C851840C7634FDA7A55DF830C85180C85180C85180C
-      8518FF00FF019ACFC7FFFF82F5FF8FF5FF8FF5FF8FF5FF8EF5FF8DF4FFA0FDFF
-      B7FFFFAFFFFFAEFFFFA6F9F4A5FBF8A3FCFA4CB07732B74F48D6704AD3720C85
-      18FF00FFFF00FFFF00FFFF00FF019ACFA4E0F0A0FDFF8AFCFF90FCFF90FCFF90
-      FCFF99FDFF86E8F5019ACF019ACF019ACF019ACF019ACF019ACF0486642CB347
-      41D16636BC540C8518FF00FFFF00FFFF00FFFF00FFFF00FF019ACFECFFFFBCFF
-      FFBCFFFFBCFFFFC0FFFF9DF5FB019ACFFF00FFFF00FFFF00FFFF00FFFF00FFFF
-      00FF0C85182BB74538C9580C8518FF00FFFF00FFFF00FFFF00FFFF00FFFF00FF
-      FF00FF019ACF019ACF019ACF019ACF019ACF019ACFFF00FFFF00FFFF00FFFF00
-      FFFF00FFFF00FFFF00FF0C851828BB4126B13E0C8518FF00FFFF00FFFF00FFFF
-      00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FF
-      FF00FFFF00FFFF00FFFF00FFFF00FF0C851814A4241CAE310C8518FF00FFFF00
-      FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF
-      00FFFF00FFFF00FFFF00FFFF00FFFF00FF0C85180C85180C96170D991A0C8518
-      FF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00
-      FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FF0C85180C85180C85180C85180C
-      8518FF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FF}
-    ParentDoubleBuffered = False
-    TabOrder = 5
-    OnClick = bbImportPublicKeyClick
-  end
-  object bbGenerateNewKey: TBitBtn
-    Left = 382
-    Top = 60
-    Width = 159
-    Height = 36
-    Caption = 'Generate a new Key'
-    DoubleBuffered = True
-    Glyph.Data = {
-      76060000424D7606000000000000360400002800000018000000180000000100
-      0800000000004002000000000000000000000001000000010000FF00FF007D33
-      2F00993300000C35EB000335FB001342FB00224EFB00325BFC005274FC000E80
-      AA001788AF000B86B200098AB700078CBA00078EBD00118EB9000E91BE001E94
-      BC002898BA000493C4000997C7000A9DCE00229BC20015AFD90026A0C80021AA
-      CF0035A0C30030AACA0032AACE003FB0CB003DBDDA0039B8DE0029BBE00046A6
-      C90056B1CE0052BDDB0068B0CA006BBDD700718DFC0019C7F1001BD4FE002FC6
-      E70026C2E9003ECDE9002CD3F9002ED8FE003CE0FE0054C0D40059C4D70059C2
-      DD006FC2D6007CC0D50076C4DF007AC6DF0043C8E90054DFFE0060CEEA006CD4
-      EE0064D9E90076DFE9007DDFE90055E0FF006BE3F40060ECFE0075E2FA007BE8
-      FF0071F2FE008099FC00A0B2FD00AFBFFD008FD0E60083DFE9008ADAEB0094DF
-      E90081DBF100A4DFEA0095EBFD0095EEFE009EEDFF0084F3F90080F5FC008FF6
-      FB0083F8FE0093F2FE0097F9FE0094FDFE0099FFFE009EFFFE00B4EEF300A4FF
-      FE00A8F9FE00ADFBFE00AAFFFE00B6F1FF00BCF2F800B3F9FF00B3FFFE00B9FF
-      FE00C3DFEA00CFD8FD00DFE5FE00CCF6FF00C9FFFE00CFFFFF00D1F7FF00DFFF
-      FF00EEF1FE00E5FFFF00F0F7FA00F5FFFF00FAFFFF00FEFEFE00000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      000000020202020202020202020200000000000000000000000000026F6F6F6F
-      64076A6F6F0200000000000000090909090909026F6F6F450504446F6F020000
-      00000009091919172A3638026F6F26040404066F6F020000000009123A3F2E28
-      2D3D41026A070404260504456F02000000000D3B523F2E282D3D410206040545
-      6F4304066F02000000000D3B523F2E282D3D41024407636F6F6A050443020000
-      00000D3B523F2E282D3D41026F6F6F6F6F6F44040401000000000D3B523F2E28
-      2D3D41026F6F6F6F6F6F6F080403000000000D3B523F2E282D3D41026F6F6F6F
-      6F6F6F6A0704040000000D3B54534D4E5D656802020202020202020201030404
-      00000D585E48311C16111A2225354634090000000000040404000C321D1E2927
-      2C37404A23180F21090000000000000404040B30503F2E282D3D414D391E150D
-      090000000000000000000D3B523F2E282D3D414D391E15130900000000000000
-      00000D3B523F2E282D3D414D391F1513090000000000000000000D3B523F2E28
-      2D3D414D391F1513090000000000000000000D3B523F2E282D3D414D391E1513
-      090000000000000000000D3B523F2E282D3D414D391F15130900000000000000
-      00000D3C5B5F5B5B56565656513E2014090000000000000000000D626F69675F
-      595656565654422B090000000000000000000D246C6D69675F5656565656501C
-      09000000000000000000000D1033334B49473C3B2F2F0A090000000000000000
-      00000000000D0D0D0D0D0D0D0D0D000000000000000000000000}
-    ParentDoubleBuffered = False
-    TabOrder = 2
-    OnClick = bbGenerateNewKeyClick
-  end
-  object bbDelete: TBitBtn
-    Left = 382
-    Top = 251
-    Width = 159
-    Height = 36
-    Caption = 'Delete'
-    DoubleBuffered = True
-    Glyph.Data = {
-      F6060000424DF606000000000000360000002800000018000000180000000100
-      180000000000C0060000120B0000120B00000000000000000000FF00FFFF00FF
-      FF00FFFF00FFFF00FFFF00FFFF00FFFF00FF00009A00009A00039D020DA4020D
-      A400039D00009A00009AFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF
-      00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FF00009A020DA4041FB3072FC0
-      0732C20732C20732C20732C2072FC0041FB3020DA400009AFF00FFFF00FFFF00
-      FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FF00009A01079F0526B807
-      32C20732C20732C20732C20732C20732C20732C20732C20732C20732C20526B8
-      01079F00009AFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FF00009A0210
-      A7062FC50732C50732C20732C20732C20732C20732C20732C20732C20732C207
-      32C20732C20732C2072FC00210A700009AFF00FFFF00FFFF00FFFF00FFFF00FF
-      00009A0210A80633D00633CF0632CA0732C60732C20732C20732C20732C20732
-      C20732C20732C20732C20732C20732C20732C20732C20210A700009AFF00FFFF
-      00FFFF00FFFF00FF01079F0530D70533DA0633D50633D00632CB0732C70732C3
-      0732C20732C20732C20732C20732C20732C20732C20732C20732C20732C2072F
-      C001079FFF00FFFF00FFFF00FF00009A0427CC0534E40533DF0533DB022FD512
-      3DD44868DA042FC70430C30732C20732C20631C2002BC03E5FD01F46C8012CC0
-      0732C20732C20732C20526B800009AFF00FFFF00FF010DA90434EC0434EA0534
-      E50533E1113ADDB3C1F3FEFEFF7F95E50029C7042FC40631C20026BE5F7BD7F9
-      FAFDCED6F32146C80732C20732C20732C20732C2020DA4FF00FF00009A0321CB
-      0335F50434F00434EB0534E6224AE5EFF2FDFFFFFFFFFFFF7E95E60029C80024
-      C25F7AD7F9FAFEFFFFFFFFFFFF4464D10732C20732C20732C20732C2041FB300
-      009A00009A0431E90335FA0335F60434F10434EC002DE64164EAEBEEFCFFFFFF
-      FFFFFF718AE35875DCF9FAFEFFFFFFFCFCFE6781D9022CC00732C20732C20732
-      C20732C2072FC000009A00039E0737F30839FB0537FB0335F70434F20434ED00
-      28E64063EAEAEEFDFFFFFFFDFDFFFCFCFFFFFFFFFBFBFE6781DA0027BE0531C2
-      0732C20732C20732C20732C20732C200039D010DAC1241FB1E4AFB0C3CFB0335
-      FB0335F80435F30434EE0027E7385EEBE9EDFDFFFFFFFFFFFFF8F9FE5F7CDF00
-      25C50631C30732C20732C20732C20732C20732C20732C2020DA4020EAD224EFB
-      456AFC204CFB0335FB0335FB0335F90333F50029EF5272F1ECF0FDFFFFFFFFFF
-      FFF8F9FE718BE5002ACD0430CA0732C50732C20732C20732C20732C20732C202
-      0DA400039F2852F86785FD3E65FC0738FB0335FB0234FB002AFA5D7CF9F9FAFF
-      FFFFFFF4F6FEEEF1FDFFFFFFFFFFFF7E96E8002ACE0430CB0732C60732C30732
-      C20732C20732C200039D00009A2048F37792FD6B88FD1946FB0335FB0130FB5D
-      7DFDF9FAFFFFFFFFFCFCFF5978F3395DEDEBEEFDFFFFFFFFFFFF7F96E90631D1
-      0632CC0732C80732C30732C2072FC000009A00009A112ED76B88FD9AAEFD466B
-      FC093AFB214CFBFAFBFFFFFFFFFCFCFF6482FB002AF20027EC4063EEEBEEFDFF
-      FFFFFFFFFF4466E00633D20633CD0732C90732C4041FB300009AFF00FF0511B2
-      456AFCA8B9FE8FA5FD2E58FC0835FB92A7FDF1F4FF6583FD002AFB0234F90435
-      F40028ED4064EFE6EBFCABBAF5113ADE0633D80633D30633CF0632C9020DA4FF
-      00FFFF00FF00009A1B3DE57A94FDBFCCFE89A1FD2A54FC0637FB2652FC0030FB
-      0234FB0335FB0335FA0335F6002DF01F4AEE0A39E70130E20533DE0533D90633
-      D40526BF00009AFF00FFFF00FFFF00FF0108A72F56F792A8FDCDD7FE97ACFD45
-      6AFC1745FB0637FB0335FB0335FB0335FB0335FA0335F70434F20535ED0535E8
-      0534E40533DF0530D301079FFF00FFFF00FFFF00FFFF00FF00009A0717BA3A61
-      FC95AAFDCFD8FEB6C4FE7A94FD456AFC2752FC1745FB103FFB103FFB1543FB1B
-      48F91A46F40D3BEF0434E90533DF0210A900009AFF00FFFF00FFFF00FFFF00FF
-      FF00FF00009A0717BA3158F7839CFDC0CCFECDD7FEB8C6FE99ADFD7E97FD6C89
-      FD6583FD607FFC5073FC2E58FA0F3DF40431E60210AB00009AFF00FFFF00FFFF
-      00FFFF00FFFF00FFFF00FFFF00FF00009A0209A81F40E65073FC819AFDA1B4FE
-      AEBEFEA9BAFE9AAEFD839CFD6281FD3860FC1644F90529D90107A200009AFF00
-      FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FF00009A07
-      13B41733DA2C53F73A61FB4066FC3961FC2A54F81741F00826D2010DAD00009A
-      FF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00
-      FFFF00FFFF00FFFF00FF00009A00009A0105A0020EB1010DB00003A000009A00
-      009AFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FF}
-    ParentDoubleBuffered = False
-    TabOrder = 7
-    OnClick = bbDeleteClick
-  end
-  object bbUpdatePassword: TBitBtn
-    Left = 382
-    Top = 8
-    Width = 159
-    Height = 38
-    Caption = 'Password'
-    DoubleBuffered = True
-    Font.Charset = DEFAULT_CHARSET
-    Font.Color = clWindowText
-    Font.Height = -13
-    Font.Name = 'Tahoma'
-    Font.Style = [fsBold]
-    Glyph.Data = {
-      76060000424D7606000000000000360400002800000018000000180000000100
-      0800000000004002000000000000000000000001000000010000000000000101
-      0100020202000303030004040400050505000606060007070700080808000909
-      09000A0A0A000B0B0B000C0C0C000D0D0D000E0E0E000F0F0F00101010001111
-      1100121212001313130014141400151515001616160017171700181818001919
-      19001A1A1A001B1B1B001C1C1C001D1D1D001E1E1E001F1F1F00202020002121
-      2100222222002323230024242400252525002626260027272700282828002929
-      29002A2A2A002B2B2B002C2C2C002D2D2D002E2E2E002F2F2F00303030003131
-      3100323232003333330034343400353535003636360037373700383838003939
-      39003A3A3A003B3B3B003C3C3C003D3D3D003E3E3E003F3F3F00404040004141
-      4100424242004343430044444400454545004646460047474700484848004949
-      49004A4A4A004B4B4B004C4C4C004D4D4D004E4E4E004F4F4F00505050005151
-      5100525252005353530054545400555555005656560057575700585858005959
-      59005A5A5A005B5B5B005C5C5C005D5D5D005E5E5E00685968007C4F7C009441
-      9400B72CB700DD15DD00F506F500FD01FD00FE00FE00FE00FE00FE00FE00FE00
-      FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00
-      FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00
-      FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00
-      FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00
-      FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00
-      FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00
-      FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00
-      FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00
-      FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00
-      FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00
-      FE00FE00FE00FE00FE00FE00FE00F008F900D517F000BD24E800A830E1007B4B
-      D0005065C1003774B7002B7DB100237FAC001F82AD001C83AD001785AE001687
-      AF001489B100128AB300108CB6000F8EB9000D91BB000C94BF000A97C3000A99
-      C5000A9AC7000B9BC8000B9CCA000C9ECC000C9FCD000DA0CE000DA1CE000EA2
-      CF0011A3CF0015A4CF0018A5CF001CA7D10021A9D1002AAAD00035AACD0035AD
-      D00035AFD30035B1D60037B5D8003AB8DB003EB9DC0040BBDD0045BEDE004CC1
-      E00055C6E3005BC8E40061CAE40066CBE3006BCCE30072D3E60078D8EB0080D8
-      EE0083D9F10085DCF40088DBF5008BDBF6008EDAF70091DAF70095DCF70097E0
-      F7009EE3F800A4E7F900A9E9F900AEE9F900B5EBF900B2EBF800919191919191
-      919191919191919191919191919191919191919191919191D5E7E8E7E3DED591
-      919191919191919191919191919191D6DDF7F8F8F7F6F4EEE6D5919191919191
-      919191919191D7DADEF8F8F6F7F6EDF1F8F1E69191919191919191919191DADE
-      DFFAFAF8F7F7E9EDF7F7F8EB91919191919191919191DDE5E3FCFCFAFAEEE0E9
-      F3F7F7F7DC919191919191919191DEE7E4FEFEFCFCEDC5E0EFF7F6F6DC919191
-      919191919191DEEAE7FEFEFEFDFBC4C4F5F7F6F6DC919191919191919191E3EC
-      E9FEFEFEFEFEE0C3F9F7F6F6DC919191919191919191E3E9E3F8F8F1F1F8FBFB
-      FCFAF7F6DC919191919191919191DCEAEAE0E1E9E5E3DEE4EBF2FAF9DC919191
-      919191919191DBF3EEC5C5EFF3EBE5DDD9D6E6F5DC91919191919191919191D5
-      E8EDF1FAF6F0EAE4DAD1D2DBDC919191919191919191919191DBE8F0F3F3F3E4
-      D0CFE4D8DC919191919191919191919191919191D5DEE4DED2CFD4D491919191
-      91919191919191919191919191919191D2CE9191919191919191919191919191
-      91C8C89191919191D2CE919191919191919191919191919191D9D09191919191
-      D2CE919191919191919191919191919191E6E39191919191D2CE919191919191
-      919191919191919191E0F3CE91919191D2CE9191919191919191919191919191
-      9191EFF6E1C9C8CDD9CC91919191919191919191919191919191C9EDF9F3F3EB
-      DC91919191919191919191919191919191919191CBE0E1CF9191919191919191
-      9191919191919191919191919191919191919191919191919191}
-    ParentDoubleBuffered = False
-    ParentFont = False
-    TabOrder = 1
-    OnClick = bbUpdatePasswordClick
-  end
-  object bbExportAllWalletKeys: TBitBtn
-    Left = 30
-    Top = 425
-    Width = 201
-    Height = 36
-    Caption = 'Export all Wallet Keys to a file'
-    DoubleBuffered = True
-    Glyph.Data = {
-      F6060000424DF606000000000000360000002800000018000000180000000100
-      180000000000C0060000120B0000120B00000000000000000000FF00FFFF00FF
-      FF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00
-      FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF
-      00FFFF00FFFF00FF019ACF019ACF019ACF019ACFFF00FFFF00FFFF00FFFF00FF
-      FF00FFFF00FFFF00FFFF00FFFF00FFFF00FF0C8518FF00FFFF00FFFF00FFFF00
-      FFFF00FFFF00FFFF00FFFF00FF0D9FD18BD4EE6BD3F845C0ED28B0E0019ACF01
-      9ACF019ACF019ACFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FF0C85180C8518
-      FF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FF069CD076C8E5A9E9FE6DD8
-      FF75DBFF77DCFF77DBFF63D1F930B3E3029BD0019ACF019ACF019ACF019ACFFF
-      00FF0C85181399220C8518FF00FFFF00FFFF00FFFF00FFFF00FFFF00FF019ACF
-      34AFD9BCE9F86ED8FF6FD8FE70D8FE70D8FE71D8FF0C85180C85180C85180C85
-      180C85180C85180C85180C85181DAC31139A220C8518FF00FFFF00FFFF00FFFF
-      00FFFF00FF019ACF1FA9D68FD3EB97E4FF6FD9FE71D9FE71D9FE71D9FE0C8518
-      57E38851DD7E4AD77443D0693BC95E34C1522BBA4725B33C1EAE33149B230C85
-      18FF00FFFF00FFFF00FFFF00FF019ACF31B1DC49B7DEBDEEFB71DDFE77DEFE77
-      DEFE77DEFE0C85185EE89059E48953DE804CD87645D16C3DCA6035C2542DBB49
-      26B53F1FAF35149B250C8518FF00FFFF00FFFF00FF019ACF52C2E71DA7D5ADE2
-      F38FE8FF7CE2FE7CE3FE7CE3FE0C851861EB955FE9925AE58B54DF824DD97846
-      D26D3ECB6237C4562FBD4C27B64021B037159B250C8518FF00FFFF00FF019ACF
-      60CAEF1FA8D85EC1E1C2E6ED8ACEE08FCFE18ECFE10C851861EB9561EB955FEA
-      935CE58D56E0844FDB7A48D47040CD6538C65931BF4D1DA3320C8518FF00FFFF
-      00FFFF00FF019ACF65CFF53EB7E52CA9D4C5EFF8ACF3FEA5F2FFA5F2FF0C8518
-      61EB9561EB9561EB9561EB945CE68E57E18650DC7C49D57242CE6727AD410C85
-      18FF00FFFF00FFFF00FFFF00FF019ACF69D1F855C4F32A9CC673CBE7D6FEFDB1
-      FBFDB2FBFD0C85180C85180C85180C85180C85180C85180C85180C851852DD7F
-      32B6500C851898FAFF019ACFFF00FFFF00FFFF00FF019ACF77D5FC5CC8FB748E
-      A224A8D5B9E7F3D5F5F9D5F6F9D6F6FADCFAFBCDFDFCB9FCFCAFFAFCB0FAFCB1
-      FAFC0C85183ABE5C0C85189FFCFFA4FFFF43C1E2019ACFFF00FFFF00FF019ACF
-      8BDBFF5FCDFFB7898973C3DD18A2D218A2D216A2D215A1D21AA4D391D7EBEBFE
-      FDDBFDFCC5FBFBC2FBFB0C85180C851883E4F3B6FDFFBAFFFFB5FCFD019ACFFF
-      00FFFF00FF019ACF99E2FF67D3FFB88989FEF5ECFDF3EBF0EFEAE5EBE8D6E5E6
-      A4D2E025A6D34DB9DDE5F8FBF5FDFCEBFCFB0C8518C4FBFF9CE4F2DAFEFFD9FE
-      FFE3FFFFADE9F5019ACFFF00FF019ACF9FE9FF70DCFFB88989FEF3E9FFF2E6FE
-      F3E9FEF3E9FEF3E9FEF3E9D4E4E439ADD422A5D49DD8ECF1F9FBEEEFEFE9FDFF
-      CEEEF7F8FFFFF7FFFFFEFFFFE9F9FD019ACFFF00FF019ACFA7EFFF76E5FFB889
-      89FFF2E5FFF0E2FFF2E5FFF2E5FFF2E5FFF2E5FFF2E5EAEBE38EC9DA44B0D501
-      9ACF019ACF019ACF019ACF019ACF019ACF019ACF019ACF019ACFFF00FF019ACF
-      ABF6FF7EEDFFB88989FFF0E2FFEFDFFFF0E2FFF0E2FFF0E2FFF0E2FFF0E2FEEE
-      E0FBECDEFAEBDEF6E6D9B8898993F7FF019ACFFF00FFFF00FFFF00FFFF00FFFF
-      00FFFF00FF019ACFC7FFFF82F5FFB88989FFEEDFFFECDBFFEEDFFFEEDFFFEEDF
-      FFEEDFF9E8D9DECCC1D9CABDCFBDB4C8B3ACB88989B5FFFF019ACFFF00FFFF00
-      FFFF00FFFF00FFFF00FFFF00FF019ACFA4E0F0A0FDFFB88989FFECDBFFEBD8FF
-      ECDBFFECDBFFECDBFFECDBF5E2D2C4ABA7C2A8A5BBA39FC2AFA9B88989019ACF
-      FF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FF019ACFECFFFFB889
-      89FFEBD8FFEAD5FFEBD8FFEBD8FFEBD8FFEBD8FFEBD8D9C8C5FEFEFDFEF6EFDE
-      C9C0B88989FF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FF
-      FF00FF019ACFB88989FFE9D5FFE8D3FFE9D5FFE9D5FFE9D5FFE9D5FFE9D5C6AD
-      A9FEF8F2E8D4CACD9999FF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF
-      00FFFF00FFFF00FFFF00FFFF00FFB88989FFE7D1FFE7D0FFE7D1FFE7D1FFE7D1
-      FFE7D1E7CEBFD3BFB9E8D5CCCD9999FF00FFFF00FFFF00FFFF00FFFF00FFFF00
-      FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFB88989FFE6CFFFE6CFFF
-      E6CFFFE6CFFFE6CFFFE6CFD5BBB2E0CCC5CD9999FF00FFFF00FFFF00FFFF00FF
-      FF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFB889
-      89B88989B88989B88989B88989B88989B88989B88989B88989FF00FFFF00FFFF
-      00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FF}
-    ParentDoubleBuffered = False
-    TabOrder = 10
-    OnClick = bbExportAllWalletKeysClick
-  end
-  object bbImportKeysFile: TBitBtn
-    Left = 247
-    Top = 425
-    Width = 174
-    Height = 36
-    Caption = 'Import a Wallet Keys File'
-    DoubleBuffered = True
-    Glyph.Data = {
-      F6060000424DF606000000000000360000002800000018000000180000000100
-      180000000000C0060000120B0000120B00000000000000000000FF00FFFF00FF
-      FF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00
-      FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF
-      00FFFF00FFFF00FF019ACF019ACF019ACF019ACFFF00FFFF00FFFF00FFFF00FF
-      FF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00
-      FFFF00FFFF00FFFF00FFFF00FF0D9FD18BD4EE6BD3F845C0ED28B0E0019ACF01
-      9ACF019ACF019ACFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FF
-      FF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FF069CD076C8E5A9E9FE6DD8
-      FF75DBFF77DCFF77DBFF63D1F930B3E3029BD0019ACF019ACF019ACF019ACFFF
-      00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FF019ACF
-      34AFD9BCE9F86ED8FF6FD8FE70D8FE70D8FE71D8FF74DBFF7ADEFF79DDFF73D9
-      FF5CCCF522ACDD019ACF019ACF019ACFFF00FFFF00FFFF00FFFF00FFFF00FFFF
-      00FFFF00FF019ACF1FA9D68FD3EB97E4FF6FD9FE71D9FE71D9FE71D9FE71D9FE
-      71D9FE71D9FE73DAFE76DCFF7BDFFF7ADEFF78DCFF77DCFF019ACFFF00FFFF00
-      FFFF00FFFF00FFFF00FFFF00FF019ACF31B1DC49B7DEBDEEFB71DDFE77DEFE77
-      DEFE77DEFE77DEFE77DEFE77DEFE77DEFE76DEFE76DEFE76DEFE78DFFF7CE1FF
-      65D2F8019ACFFF00FFFF00FFFF00FFFF00FFFF00FF019ACF52C2E71DA7D5ADE2
-      F38FE8FF7CE2FE7CE3FE7CE3FE7CE3FE7CE3FE7CE3FE7CE3FE7CE3FE7CE3FE7C
-      E3FE7DE4FE7DE3FE5ED1F3019ACFFF00FFFF00FFFF00FFFF00FFFF00FF019ACF
-      60CAEF1FA8D85EC1E2BBF4FE7DE7FE82E8FE81E8FE81E8FE81E8FE81E8FE81E8
-      FE81E8FE81E8FE81E8FE82E8FE84E9FE5ED3F18DEEFF019ACFFF00FFFF00FFFF
-      00FFFF00FF019ACF65CFF53EB7E529ACD8BFEEF88DEFFF85EDFF85EDFF85EDFF
-      85EDFF86EDFF86EDFF86EDFF86EDFF86EDFF87EDFF89EEFF65D9F396F5FF019A
-      CFFF00FFFF00FFFF00FFFF00FF019ACF69D1F855C4F31FA7D773CBE7C5FCFF93
-      F7FF93F7FF92F6FF8DF4FF89F3FF89F2FF8BF2FF8BF2FF8BF2FF8BF2FF8EF3FF
-      6ADEF395F8FF98FAFF019ACFFF00FFFF00FFFF00FF019ACF77D5FC5CC8FB3EB8
-      E920A7D5B6E6F3D0F4FAD1F5FAD2F6FAD5F9FCB9FBFE9BF8FF8FF6FF91F6FF92
-      F6FF93F7FF6BD0B70C85188BEAE0A4FFFF43C1E2019ACFFF00FFFF00FF019ACF
-      8BDBFF5FCDFF64CDFE2CAFE30D9FD30FA0D310A0D310A0D317A3D38ED7ECE2FD
-      FEC3FAFFA5F8FFA3F8FF84DDCF0C851838B5570C8518ABF3EBB5FCFD019ACFFF
-      00FFFF00FF019ACF99E2FF67D3FF6DD4FE6CD4FE69D1FE64CEFB61CDF95BC9F5
-      48BEEB17A3D54BB8DDDFF7FBE8FCFFB1E7DD0C85184ACE7361EB9541C1640C85
-      18D6F6F0ADE9F5019ACFFF00FF019ACF9FE9FF70DCFF76DDFE76DDFE76DDFE75
-      DCFE74DCFE73DCFE73DBFE61CEF61CA8D91CA5D58CCED70C851842C5665BE68C
-      59E1895DE78F3EBD600C8518DBF1EF019ACFFF00FF019ACFA7EFFF76E5FF7CE5
-      FF7CE5FF7CE5FF7CE5FF7DE5FF7DE5FF7DE5FF7DE3FF72DDFB40B8D20C85182D
-      AD474AD47250D97B55DE8359E1885AE38B33AF510C85180197C3FF00FF019ACF
-      ABF6FF7EEDFF85ECFF85ECFF85ECFF85ECFF84ECFF80ECFF7CECFF7DECFF7EEC
-      FF0C85180C85180C85180C851840C7634FDA7A55DF830C85180C85180C85180C
-      8518FF00FF019ACFC7FFFF82F5FF8FF5FF8FF5FF8FF5FF8EF5FF8DF4FFA0FDFF
-      B7FFFFAFFFFFAEFFFFA6F9F4A5FBF8A3FCFA4CB07732B74F48D6704AD3720C85
-      18FF00FFFF00FFFF00FFFF00FF019ACFA4E0F0A0FDFF8AFCFF90FCFF90FCFF90
-      FCFF99FDFF86E8F5019ACF019ACF019ACF019ACF019ACF019ACF0486642CB347
-      41D16636BC540C8518FF00FFFF00FFFF00FFFF00FFFF00FF019ACFECFFFFBCFF
-      FFBCFFFFBCFFFFC0FFFF9DF5FB019ACFFF00FFFF00FFFF00FFFF00FFFF00FFFF
-      00FF0C85182BB74538C9580C8518FF00FFFF00FFFF00FFFF00FFFF00FFFF00FF
-      FF00FF019ACF019ACF019ACF019ACF019ACF019ACFFF00FFFF00FFFF00FFFF00
-      FFFF00FFFF00FFFF00FF0C851828BB4126B13E0C8518FF00FFFF00FFFF00FFFF
-      00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FF
-      FF00FFFF00FFFF00FFFF00FFFF00FF0C851814A4241CAE310C8518FF00FFFF00
-      FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF
-      00FFFF00FFFF00FFFF00FFFF00FFFF00FF0C85180C85180C96170D991A0C8518
-      FF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00
-      FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FF0C85180C85180C85180C85180C
-      8518FF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FF}
-    ParentDoubleBuffered = False
-    TabOrder = 11
-    OnClick = bbImportKeysFileClick
-  end
-  object bbLock: TBitBtn
-    Left = 310
-    Top = 8
-    Width = 66
-    Height = 36
-    Caption = 'Lock'
-    DoubleBuffered = True
-    Glyph.Data = {
-      76060000424D7606000000000000360400002800000018000000180000000100
-      0800000000004002000000000000000000000001000000010000000000000101
-      0100020202000303030004040400050505000606060007070700080808000909
-      09000A0A0A000B0B0B000C0C0C000D0D0D000E0E0E000F0F0F00101010001111
-      1100121212001313130014141400151515001616160017171700181818001919
-      19001A1A1A001B1B1B001C1C1C001D1D1D001E1E1E001F1F1F00202020002121
-      2100222222002323230024242400252525002626260027272700282828002929
-      29002A2A2A002B2B2B002C2C2C002D2D2D002E2E2E002F2F2F00303030003131
-      3100323232003333330034343400353535003636360037373700383838003939
-      39003A3A3A003B3B3B003C3C3C003D3D3D003E3E3E003F3F3F00404040004141
-      4100424242004343430044444400454545004646460047474700484848004949
-      49004A4A4A004B4B4B004C4C4C004D4D4D004E4E4E004F4F4F00505050005151
-      5100525252005353530054545400555555006A4B6A00853F8500B626B600E30F
-      E300F803F800FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00
-      FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00
-      FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00
-      FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00
-      FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00
-      FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00
-      FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00
-      FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00
-      FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00
-      FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00
-      FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00
-      FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00
-      FE00F51CFE00E841FC00DE5FFC00D492FB00CDB6FA00CACDFA00CADCFA00CAE5
-      FA00CAEAFA00CDEEFA00CDF1FA00C7F0FA00BBEEF900B1EAF800AAE8F800A5E6
-      F8009EE2F7009BE0F70098E0F70095DCF70093DBF80091DAF80090DAF7008EDC
-      F6008BDDF50088DDF40085DDF40082DDF3007FDCF3007ADCF20079DAF10077D6
-      EE0076D1EB0074CCE8006FC6E40069C5E20063C4E1005CC1DF0056C1E00050C0
-      E0004DC1E10048C0E00045BEDF0042BBDE0040BBDE003DB9DD003AB9DD0037B8
-      DC0035B6DB0033B5DA0031B3D9002EB1D8002AAFD70025ACD4001EA9D30019A6
-      D10015A5D00013A3CF0011A2CE0010A0CC00109ECA00119ECA00139DC800169B
-      C4001999C1001B94BB001A91B8001C8DB4001E90B7002092B8008A8A8A8A8A8A
-      8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A
-      8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8AF6E7E4E7ECEFF78A8A8A8A8A8A8A8A8A
-      8A8A8A8A8A8A8AF5F0CECECECED0D4DCE7F68A8A8A8A8A8A8A8A8A8A8A8AF5F2
-      EFCDCDD0CFD0DDDACDD6E78A8A8A8A8A8A8A8A8A8A8AF3EEEECACACDD0D0E1DE
-      CECECEDF8A8A8A8A8A8A8A8A8A8AF1E9EDC8C8CACBDDF9E0D4CFD0CEF28A8A8A
-      8A8A8A8A8A8AF0E6EAC6C6C8C8DEFDE7DBCED0D0F28A8A8A8A8A8A8A8A8AEFE2
-      E7C4C4C6C7C9FDFED0D0D0D0F28A8A8A8A8A8A8A8A8AEDD9E3C4C4C4C4C6DFFF
-      CCCFD0D0F28A8A8A8A8A8A8A8A8AEDE2EDCBCDD2D2CDC9C9C8CACED0F28A8A8A
-      8A8A8A8A8A8AF2E3E2E7E6E6ECEFECE1D9CAC9E2F28A8A8A8A8A8A8A8A8AF3D3
-      DEF6F9D6D7E2E9F2F5EEDAE1F28A8A8A8A8A8A8A8A8A8AF1EFF6FACCD2D7E2EF
-      F8F9EBF1F28A8A8A8A8A8A8A8A8A8A8AFDF5FBDFD6D7D9FAF9FBEBF68A8A8A8A
-      8A8A8A8A8A8A8A8A8AF4FC8A8AF1EFFAF8FBF58A8A8A8A8A8A8A8A8A8A8A8A8A
-      8AE8F98A8A8A8AFDF6FD8A8A8A8A8A8A8A8A8A8A8A8A8A8A8AE0D9FD8A8A8AFD
-      F5FD8A8A8A8A8A8A8A8A8A8A8A8A8A8A8AFED2D9FF8AFDFAF68A8A8A8A8A8A8A
-      8A8A8A8A8A8A8A8A8A8AFFD7D1D7DAE6FC8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A
-      8A8A8A8AFFE5E7FD8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A
-      8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A
-      8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A}
-    ParentDoubleBuffered = False
-    TabOrder = 12
-    OnClick = bbLockClick
-  end
-  object SaveDialog: TSaveDialog
-    DefaultExt = 'dat'
-    Filter = 'Wallet keys file|*.dat|All files|*.*'
-    FilterIndex = 0
-    Left = 150
-    Top = 150
-  end
-  object OpenDialog: TOpenDialog
-    DefaultExt = 'dat'
-    Filter = 'Wallet keys file (*.dat)|*.dat|All files (*.*)|*.*'
-    FilterIndex = 0
-    Left = 205
-    Top = 155
-  end
-end

+ 4 - 15
Units/Forms/UFRMWalletKeys.pas

@@ -1,8 +1,6 @@
 unit UFRMWalletKeys;
 unit UFRMWalletKeys;
 
 
-{$IFDEF FPC}
-  {$MODE Delphi}
-{$ENDIF}
+{$mode delphi}
 
 
 { Copyright (c) 2016 by Albert Molina
 { Copyright (c) 2016 by Albert Molina
 
 
@@ -22,11 +20,10 @@ interface
 uses
 uses
   Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
   Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
   Dialogs, StdCtrls, UWalletKeys, Buttons,
   Dialogs, StdCtrls, UWalletKeys, Buttons,
-  {$IFDEF FPC}LMessages,{$ENDIF}
-  clipbrd, UConst, UCommon;
+  LMessages, clipbrd, UConst, UCommon;
 
 
 Const
 Const
-  CM_PC_WalletKeysChanged = {$IFDEF FPC}LM_USER{$ELSE}WM_USER{$ENDIF} + 1;
+  CM_PC_WalletKeysChanged = LM_USER + 1;
 
 
 type
 type
   TFRMWalletKeys = class(TForm)
   TFRMWalletKeys = class(TForm)
@@ -86,18 +83,10 @@ type
 implementation
 implementation
 
 
 uses
 uses
-{$IFnDEF FPC}
-  Windows,
-{$ELSE}
   LCLIntf, LCLType,
   LCLIntf, LCLType,
-{$ENDIF}
   UCrypto, UAccounts, UUserInterface, UFRMNewPrivateKeyType, UAES;
   UCrypto, UAccounts, UUserInterface, UFRMNewPrivateKeyType, UAES;
 
 
-{$IFnDEF FPC}
-  {$R *.dfm}
-{$ELSE}
-  {$R *.lfm}
-{$ENDIF}
+{$R *.lfm}
 
 
 { TFRMWalletKeys }
 { TFRMWalletKeys }
 
 

+ 1 - 12
Units/PascalCoin/UAES.pas

@@ -1,8 +1,6 @@
 unit UAES;
 unit UAES;
 
 
-{$IFDEF FPC}
-  {$MODE Delphi}
-{$ENDIF}
+{$mode delphi}
 
 
 { Copyright (c) 2016 by Albert Molina
 { Copyright (c) 2016 by Albert Molina
 
 
@@ -42,26 +40,17 @@ Type
     Class function EVP_Decrypt_AES256(const EncryptedMessage: TRawBytes; APassword: AnsiString; var Decrypted : AnsiString) : Boolean; overload;
     Class function EVP_Decrypt_AES256(const EncryptedMessage: TRawBytes; APassword: AnsiString; var Decrypted : AnsiString) : Boolean; overload;
   End;
   End;
 
 
-{$IFDEF FPC}
 procedure CopyMemory(Destination: Pointer; Source: Pointer; Length: DWORD);
 procedure CopyMemory(Destination: Pointer; Source: Pointer; Length: DWORD);
-{$ENDIF}
 
 
 implementation
 implementation
 
 
 uses
 uses
-{$IFnDEF FPC}
-  Windows,
-{$ELSE}
-  {LCLIntf, LCLType, LMessages,}
-{$ENDIF}
   UOpenSSL, UOpenSSLdef;
   UOpenSSL, UOpenSSLdef;
 
 
-{$IFDEF FPC}
 procedure CopyMemory(Destination: Pointer; Source: Pointer; Length: DWORD);
 procedure CopyMemory(Destination: Pointer; Source: Pointer; Length: DWORD);
 begin
 begin
   Move(Source^, Destination^, Length);
   Move(Source^, Destination^, Length);
 end;
 end;
-{$ENDIF}
 
 
 CONST SALT_MAGIC: AnsiString = 'Salted__'; SALT_MAGIC_LEN: integer = 8; SALT_SIZE = 8;
 CONST SALT_MAGIC: AnsiString = 'Salted__'; SALT_MAGIC_LEN: integer = 8; SALT_SIZE = 8;
 
 

+ 2 - 15
Units/PascalCoin/UAccounts.pas

@@ -1,8 +1,6 @@
 unit UAccounts;
 unit UAccounts;
 
 
-{$IFDEF FPC}
-  {$MODE Delphi}
-{$ENDIF}
+{$mode delphi}
 
 
 { Copyright (c) 2016 by Albert Molina
 { Copyright (c) 2016 by Albert Molina
 
 
@@ -1499,12 +1497,10 @@ procedure TPCSafeBox.CheckMemory;
     When compiling using Delphi it's memory manager more is efficient and does not increase, but
     When compiling using Delphi it's memory manager more is efficient and does not increase, but
     When compiling using Free Pascal Compiler, is a good solution to "force" generate a new SafeBox
     When compiling using Free Pascal Compiler, is a good solution to "force" generate a new SafeBox
     in order to free memory not used. Tested with FPC 3.0 }
     in order to free memory not used. Tested with FPC 3.0 }
-{$IFDEF FPC}
 Var sb : TPCSafeBox;
 Var sb : TPCSafeBox;
   tc : QWord;
   tc : QWord;
-{$ENDIF}
+
 begin
 begin
-  {$IFDEF FPC}
   StartThreadSafe;
   StartThreadSafe;
   try
   try
     tc := GetTickCount64;
     tc := GetTickCount64;
@@ -1521,7 +1517,6 @@ begin
   finally
   finally
     EndThreadSave;
     EndThreadSave;
   end;
   end;
-  {$ENDIF}
 end;
 end;
 
 
 procedure TPCSafeBox.Clear;
 procedure TPCSafeBox.Clear;
@@ -1767,11 +1762,7 @@ begin
         // BufferBlocksHash fill with data
         // BufferBlocksHash fill with data
         j := (length(P^.block_hash)*(iBlock));
         j := (length(P^.block_hash)*(iBlock));
         for i := 1 to length(P^.block_hash) do begin
         for i := 1 to length(P^.block_hash) do begin
-          {$IFDEF FPC}
           FBufferBlocksHash[i+j] := AnsiChar(P^.block_hash[i-(low(FBufferBlocksHash)-low(P^.block_hash))]);
           FBufferBlocksHash[i+j] := AnsiChar(P^.block_hash[i-(low(FBufferBlocksHash)-low(P^.block_hash))]);
-          {$ELSE}
-          FBufferBlocksHash[i+j] := AnsiChar(P^.block_hash[i-{$IFDEF uselowmem}1{$ELSE}0{$ENDIF}]);
-          {$ENDIF}
         end;
         end;
         LastReadBlock := block;
         LastReadBlock := block;
         Inc(FWorkSum,block.blockchainInfo.compact_target);
         Inc(FWorkSum,block.blockchainInfo.compact_target);
@@ -2404,11 +2395,7 @@ begin
   // Update buffer block hash
   // Update buffer block hash
   j := (length(P^.block_hash)*(iBlock));
   j := (length(P^.block_hash)*(iBlock));
   for i := 1 to length(P^.block_hash) do begin
   for i := 1 to length(P^.block_hash) do begin
-    {$IFDEF FPC}
     FBufferBlocksHash[i+j] := AnsiChar(P^.block_hash[i-(low(FBufferBlocksHash)-low(P^.block_hash))]);
     FBufferBlocksHash[i+j] := AnsiChar(P^.block_hash[i-(low(FBufferBlocksHash)-low(P^.block_hash))]);
-    {$ELSE}
-    FBufferBlocksHash[i+j] := AnsiChar(P^.block_hash[i-{$IFDEF uselowmem}1{$ELSE}0{$ENDIF}]);
-    {$ENDIF}
   end;
   end;
 
 
   FTotalBalance := FTotalBalance - (Int64(lastbalance)-Int64(newBalance));
   FTotalBalance := FTotalBalance - (Int64(lastbalance)-Int64(newBalance));

+ 1 - 5
Units/PascalCoin/UBaseTypes.pas

@@ -1,8 +1,6 @@
 unit UBaseTypes;
 unit UBaseTypes;
 
 
-{$IFDEF FPC}
-  {$MODE Delphi}
-{$ENDIF}
+{$mode delphi}
 
 
 { Copyright (c) 2017 by Albert Molina
 { Copyright (c) 2017 by Albert Molina
 
 
@@ -64,12 +62,10 @@ implementation
 
 
 { TBaseType }
 { TBaseType }
 
 
-{$IFnDEF FPC}
 procedure FillByte(var X; count : Integer; value : Byte);
 procedure FillByte(var X; count : Integer; value : Byte);
 begin
 begin
   FillChar(X,count,value);
   FillChar(X,count,value);
 end;
 end;
-{$ENDIF}
 
 
 class procedure TBaseType.T32BytesToRawBytes(const source: T32Bytes; var dest: TDynRawBytes);
 class procedure TBaseType.T32BytesToRawBytes(const source: T32Bytes; var dest: TDynRawBytes);
 begin
 begin

+ 1 - 3
Units/PascalCoin/UBlockChain.pas

@@ -1,8 +1,6 @@
 unit UBlockChain;
 unit UBlockChain;
 
 
-{$IFDEF FPC}
-  {$MODE Delphi}
-{$ENDIF}
+{$mode delphi}
 
 
 { Copyright (c) 2016 by Albert Molina
 { Copyright (c) 2016 by Albert Molina
 
 

+ 2 - 5
Units/PascalCoin/UChunk.pas

@@ -1,8 +1,6 @@
 unit UChunk;
 unit UChunk;
 
 
-{$IFDEF FPC}
-  {$mode delphi}
-{$ENDIF}
+{$mode delphi}
 
 
 { Copyright (c) 2016 by Albert Molina
 { Copyright (c) 2016 by Albert Molina
 
 
@@ -20,8 +18,7 @@ unit UChunk;
 interface
 interface
 
 
 uses
 uses
-  Classes, SysUtils,  ZLib, {$IFDEF FPC} zStream, {$ENDIF}
-  UAccounts, ULog, UConst, UCrypto;
+  Classes, SysUtils,  ZLib, zStream, UAccounts, ULog, UConst, UCrypto;
 
 
 type
 type
 
 

+ 1 - 5
Units/PascalCoin/UConst.pas

@@ -1,8 +1,6 @@
 unit UConst;
 unit UConst;
 
 
-{$IFDEF FPC}
-  {$MODE Delphi}
-{$ENDIF}
+{$mode delphi}
 
 
 { Copyright (c) 2016 by Albert Molina
 { Copyright (c) 2016 by Albert Molina
 
 
@@ -21,12 +19,10 @@ interface
 
 
 {$I config.inc}
 {$I config.inc}
 
 
-{$IFNDEF FPC}
   // See http://wiki.freepascal.org/Code_Conversion_Guide
   // See http://wiki.freepascal.org/Code_Conversion_Guide
 type
 type
   PtrInt = integer;
   PtrInt = integer;
   PtrUInt = cardinal;
   PtrUInt = cardinal;
-{$ENDIF}
 
 
 Const
 Const
   CT_Genesis_Magic_String_For_Old_Block_Hash :
   CT_Genesis_Magic_String_For_Old_Block_Hash :

+ 1 - 3
Units/PascalCoin/UCrypto.pas

@@ -1,8 +1,6 @@
 unit UCrypto;
 unit UCrypto;
 
 
-{$IFDEF FPC}
-  {$MODE Delphi}
-{$ENDIF}
+{$mode delphi}
 
 
 { Copyright (c) 2016 by Albert Molina
 { Copyright (c) 2016 by Albert Molina
 
 

+ 1 - 23
Units/PascalCoin/UECIES.pas

@@ -1,8 +1,6 @@
 unit UECIES;
 unit UECIES;
 
 
-{$IFDEF FPC}
-  {$MODE Delphi}
-{$ENDIF}
+{$mode delphi}
 
 
 { Copyright (c) 2016 by Albert Molina
 { Copyright (c) 2016 by Albert Molina
 
 
@@ -54,9 +52,6 @@ function ECIESDecrypt(EC_OpenSSL_NID : Word; PrivateKey: PEC_KEY; logErrors : Bo
 implementation
 implementation
 
 
 uses
 uses
-{$IFnDEF FPC}
-  Windows,
-{$ENDIF}
   SysUtils, UAES;
   SysUtils, UAES;
 
 
 Type
 Type
@@ -249,11 +244,7 @@ begin
         exit;
         exit;
       end;
       end;
       // For now we use an empty initialization vector.
       // For now we use an empty initialization vector.
-      {$IFDEF FPC}
       FillByte(iv,EVP_MAX_IV_LENGTH,0);
       FillByte(iv,EVP_MAX_IV_LENGTH,0);
-      {$ELSE}
-      FillMemory(@iv,EVP_MAX_IV_LENGTH,0);
-      {$ENDIF}
       // Setup the cipher context, the body length, and store a pointer to the body buffer location.
       // Setup the cipher context, the body length, and store a pointer to the body buffer location.
 
 
       {$IFDEF OpenSSL10}
       {$IFDEF OpenSSL10}
@@ -284,11 +275,7 @@ begin
           end;
           end;
           // Copy the remaining data into our partial block buffer. The memset() call ensures any extra bytes will be zero'ed out.
           // Copy the remaining data into our partial block buffer. The memset() call ensures any extra bytes will be zero'ed out.
           //SetLength(block,EVP_MAX_BLOCK_LENGTH);
           //SetLength(block,EVP_MAX_BLOCK_LENGTH);
-          {$IFDEF FPC}
           FillByte(block,length(block),0);
           FillByte(block,length(block),0);
-          {$ELSE}
-          FillMemory(@block,length(block),0);
-          {$ENDIF}
           CopyMemory(@block,Pointer(PtrInt(@MessageToEncrypt[1])+body_length),Length(MessageToEncrypt)-body_length);
           CopyMemory(@block,Pointer(PtrInt(@MessageToEncrypt[1])+body_length),Length(MessageToEncrypt)-body_length);
           // Advance the body pointer to the location of the remaining space, and calculate just how much room is still available.
           // Advance the body pointer to the location of the remaining space, and calculate just how much room is still available.
           body := Pointer(PtrInt(body)+body_length);
           body := Pointer(PtrInt(body)+body_length);
@@ -427,11 +414,7 @@ Begin
     // Use the intersection of the provided keys to generate the envelope data used by the ciphers below.
     // Use the intersection of the provided keys to generate the envelope data used by the ciphers below.
     // The ecies_key_derivation() function uses SHA 512 to ensure we have a sufficient amount of envelope key
     // The ecies_key_derivation() function uses SHA 512 to ensure we have a sufficient amount of envelope key
     // material and that the material created is sufficiently secure.
     // material and that the material created is sufficiently secure.
-    {$IFDEF FPC}
     FillByte(envelope_key,length(envelope_key),0);
     FillByte(envelope_key,length(envelope_key),0);
-    {$ELSE}
-    FillMemory(@envelope_key,length(envelope_key),0);
-    {$ENDIF}
     if (ECDH_compute_key(@envelope_key,SHA512_DIGEST_LENGTH,EC_KEY_get0_public_key(ephemeral),
     if (ECDH_compute_key(@envelope_key,SHA512_DIGEST_LENGTH,EC_KEY_get0_public_key(ephemeral),
       PrivateKey, ecies_key_derivation_512)<>SHA512_DIGEST_LENGTH) then begin
       PrivateKey, ecies_key_derivation_512)<>SHA512_DIGEST_LENGTH) then begin
       if logErrors then TLog.NewLog(lterror,'ECIES',Format('An error occurred while trying to compute the envelope key. {error = %s}',[ERR_error_string(ERR_get_error, nil)]));
       if logErrors then TLog.NewLog(lterror,'ECIES',Format('An error occurred while trying to compute the envelope key. {error = %s}',[ERR_error_string(ERR_get_error, nil)]));
@@ -476,13 +459,8 @@ Begin
   block := output;
   block := output;
   try
   try
     // For now we use an empty initialization vector. We also clear out the result buffer just to be on the safe side.
     // For now we use an empty initialization vector. We also clear out the result buffer just to be on the safe side.
-    {$IFDEF FPC}
     FillByte(iv,EVP_MAX_IV_LENGTH,0);
     FillByte(iv,EVP_MAX_IV_LENGTH,0);
     FillByte(output^,output_length+1,0);
     FillByte(output^,output_length+1,0);
-    {$ELSE}
-    FillMemory(@iv,EVP_MAX_IV_LENGTH,0);
-    FillMemory(output,output_length+1,0);
-    {$ENDIF}
     {$IFDEF OpenSSL10}
     {$IFDEF OpenSSL10}
     EVP_CIPHER_CTX_init(@cipher);
     EVP_CIPHER_CTX_init(@cipher);
     pcipher := @cipher;
     pcipher := @cipher;

+ 1 - 3
Units/PascalCoin/UFileStorage.pas

@@ -1,8 +1,6 @@
 unit UFileStorage;
 unit UFileStorage;
 
 
-{$IFDEF FPC}
-  {$MODE Delphi}
-{$ENDIF}
+{$mode delphi}
 
 
 { Copyright (c) 2016 by Albert Molina
 { Copyright (c) 2016 by Albert Molina
 
 

+ 1 - 3
Units/PascalCoin/ULog.pas

@@ -1,8 +1,6 @@
 unit ULog;
 unit ULog;
 
 
-{$IFDEF FPC}
-  {$MODE Delphi}
-{$ENDIF}
+{$mode delphi}
 
 
 { Copyright (c) 2016 by Albert Molina
 { Copyright (c) 2016 by Albert Molina
 
 

+ 2 - 9
Units/PascalCoin/UNetProtocol.pas

@@ -1,8 +1,6 @@
 unit UNetProtocol;
 unit UNetProtocol;
 
 
-{$IFDEF FPC}
-  {$MODE Delphi}
-{$ENDIF}
+{$mode delphi}
 
 
 { Copyright (c) 2016 by Albert Molina
 { Copyright (c) 2016 by Albert Molina
 
 
@@ -20,11 +18,6 @@ unit UNetProtocol;
 interface
 interface
 
 
 uses
 uses
-{$IFnDEF FPC}
-  Windows,
-{$ELSE}
-  {LCLIntf, LCLType, LMessages,}
-{$ENDIF}
   UBlockChain, Classes, SysUtils, UAccounts, UThread,
   UBlockChain, Classes, SysUtils, UAccounts, UThread,
   UCrypto, UTCPIP, SyncObjs, UCommon;
   UCrypto, UTCPIP, SyncObjs, UCommon;
 
 
@@ -3113,7 +3106,7 @@ begin
       data.Write(nsa.last_connection,4);
       data.Write(nsa.last_connection,4);
     end;
     end;
     // Send client version
     // Send client version
-    TStreamOp.WriteAnsiString(data,CT_ClientAppVersion{$IFDEF LINUX}+'l'{$ELSE}+'w'{$ENDIF}{$IFDEF FPC}{$IFDEF LCL}+'L'{$ELSE}+'F'{$ENDIF}{$ENDIF});
+    TStreamOp.WriteAnsiString(data,CT_ClientAppVersion{$IFDEF LINUX}+'l'{$ELSE}+'w'{$ENDIF}{$IFDEF LCL}+'L'{$ELSE}+'F'{$ENDIF});
     // Build 1.5 send accumulated work
     // Build 1.5 send accumulated work
     data.Write(TNode.Node.Bank.SafeBox.WorkSum,SizeOf(TNode.Node.Bank.SafeBox.WorkSum));
     data.Write(TNode.Node.Bank.SafeBox.WorkSum,SizeOf(TNode.Node.Bank.SafeBox.WorkSum));
     //
     //

+ 1 - 3
Units/PascalCoin/UNode.pas

@@ -1,8 +1,6 @@
 unit UNode;
 unit UNode;
 
 
-{$IFDEF FPC}
-  {$MODE Delphi}
-{$ENDIF}
+{$mode delphi}
 
 
 { Copyright (c) 2016 by Albert Molina
 { Copyright (c) 2016 by Albert Molina
 
 

+ 1 - 3
Units/PascalCoin/UOpTransaction.pas

@@ -1,8 +1,6 @@
 unit UOpTransaction;
 unit UOpTransaction;
 
 
-{$IFDEF FPC}
-  {$MODE Delphi}
-{$ENDIF}
+{$mode delphi}
 
 
 { Copyright (c) 2016 by Albert Molina
 { Copyright (c) 2016 by Albert Molina
 
 

+ 7 - 17
Units/PascalCoin/UOpenSSL.pas

@@ -20,9 +20,8 @@ unit UOpenSSL;
 
 
 interface
 interface
 
 
-{$IFDEF FPC}
-  {$MODE Delphi}
-{$ENDIF}
+{$mode delphi}
+
 
 
 Uses UOpenSSLdef;
 Uses UOpenSSLdef;
 {$I config.inc}
 {$I config.inc}
@@ -35,17 +34,12 @@ var
   SSL_C_LIB : AnsiString = './libcrypto.so.1.1';
   SSL_C_LIB : AnsiString = './libcrypto.so.1.1';
   {$ENDIF}
   {$ENDIF}
 {$ELSE}
 {$ELSE}
-  {$IFDEF FPC}
   // Windows + Lazarus uses a OpenSSL v1.0 32 or 64 bits
   // Windows + Lazarus uses a OpenSSL v1.0 32 or 64 bits
-    {$ifdef CPU32}
-	SSL_C_LIB : AnsiString = 'libeay32.dll';
-    {$ENDIF}
-    {$ifdef CPU64}
-	SSL_C_LIB : AnsiString = 'libeay64.dll';
-    {$ENDIF}
-  {$ELSE}
-  // Windows + Delphi only allows OpenSSL v1.0 32 bits
-  SSL_C_LIB : AnsiString = 'libeay32.dll';
+  {$ifdef CPU32}
+      SSL_C_LIB : AnsiString = 'libeay32.dll';
+  {$ENDIF}
+  {$ifdef CPU64}
+      SSL_C_LIB : AnsiString = 'libeay64.dll';
   {$ENDIF}
   {$ENDIF}
 {$ENDIF}
 {$ENDIF}
 
 
@@ -236,11 +230,7 @@ begin
   {$ENDIF}
   {$ENDIF}
   if ACritical then begin
   if ACritical then begin
     if Result = nil then begin
     if Result = nil then begin
-    {$IFDEF FPC}
      raise Exception.CreateFmt('Error loading OpenSSL library function "%s" error: "%s". Are you sure that using OpenSSL good version?', [FceName, SysErrorMessage(GetLastOSError)]);
      raise Exception.CreateFmt('Error loading OpenSSL library function "%s" error: "%s". Are you sure that using OpenSSL good version?', [FceName, SysErrorMessage(GetLastOSError)]);
-    {$ELSE}
-     raise Exception.CreateFmt('Error loading OpenSSL library function "%s" error: "%s". Are you sure that using OpenSSL good version?', [FceName, SysErrorMessage(GetLastError)]);
-    {$ENDIF}
     end;
     end;
   end;
   end;
 end;
 end;

+ 1 - 3
Units/PascalCoin/UOpenSSLdef.pas

@@ -20,9 +20,7 @@ unit UOpenSSLdef;
 
 
 interface
 interface
 
 
-{$IFDEF FPC}
-  {$MODE Delphi}
-{$ENDIF}
+{$mode delphi}
 
 
 uses {$IFDEF UNIX}BaseUnix {$ELSE} Windows{$ENDIF};
 uses {$IFDEF UNIX}BaseUnix {$ELSE} Windows{$ENDIF};
 
 

+ 1 - 8
Units/PascalCoin/UPoolMining.pas

@@ -1,8 +1,6 @@
 unit UPoolMining;
 unit UPoolMining;
 
 
-{$IFDEF FPC}
-  {$MODE Delphi}
-{$ENDIF}
+{$mode delphi}
 
 
 { Copyright (c) 2016 by Albert Molina
 { Copyright (c) 2016 by Albert Molina
 
 
@@ -20,11 +18,6 @@ unit UPoolMining;
 interface
 interface
 
 
 Uses
 Uses
-{$IFnDEF FPC}
-  Windows,
-{$ELSE}
-  {LCLIntf, LCLType, LMessages,}
-{$ENDIF}
   UTCPIP, SysUtils, UThread, SyncObjs, Classes, UJSONFunctions, UAES, UNode,
   UTCPIP, SysUtils, UThread, SyncObjs, Classes, UJSONFunctions, UAES, UNode,
   UCrypto, UAccounts, UConst, UBlockChain;
   UCrypto, UAccounts, UConst, UBlockChain;
 
 

+ 2 - 5
Units/PascalCoin/URPC.pas

@@ -1,8 +1,6 @@
 unit URPC;
 unit URPC;
 
 
-{$IFDEF FPC}
-  {$MODE Delphi}
-{$ENDIF}
+{$mode delphi}
 
 
 { Copyright (c) 2016 by Albert Molina
 { Copyright (c) 2016 by Albert Molina
 
 
@@ -103,8 +101,7 @@ Type
 
 
 implementation
 implementation
 
 
-Uses  {$IFNDEF FPC}windows,{$ENDIF}
-  SysUtils, Synautil;
+Uses SysUtils, Synautil;
 
 
 var _RPCServer : TRPCServer = Nil;
 var _RPCServer : TRPCServer = Nil;
 
 

+ 1 - 3
Units/PascalCoin/UServerApp.pas

@@ -1,8 +1,6 @@
 unit UServerApp;
 unit UServerApp;
 
 
-{$IFDEF FPC}
-  {$MODE Delphi}
-{$ENDIF}
+{$mode delphi}
 
 
 {$IFDEF MSWINDOWS}
 {$IFDEF MSWINDOWS}
   {$DEFINE OS_MSWIN}
   {$DEFINE OS_MSWIN}

+ 1 - 11
Units/PascalCoin/UTCPIP.pas

@@ -15,9 +15,7 @@ unit UTCPIP;
 
 
 interface
 interface
 
 
-{$IFDEF FPC}
-  {$mode objfpc}
-{$ENDIF}
+{$mode delphi}
 
 
 {$I config.inc}
 {$I config.inc}
 
 
@@ -195,11 +193,6 @@ type
 implementation
 implementation
 
 
 uses
 uses
-{$IFnDEF FPC}
-  Windows,
-{$ELSE}
-  {LCLIntf, LCLType, LMessages,}
-{$ENDIF}
   UConst, ULog;
   UConst, ULog;
 
 
 { TNetTcpIpClient }
 { TNetTcpIpClient }
@@ -311,9 +304,6 @@ end;
 procedure TNetTcpIpClient.Disconnect;
 procedure TNetTcpIpClient.Disconnect;
 Var DebugStep : AnsiString;
 Var DebugStep : AnsiString;
 begin
 begin
-  {$IFDEF DelphiSockets}
-  FTcpBlockSocket.Disconnect;
-  {$ENDIF}
   {$IFDEF Synapse}
   {$IFDEF Synapse}
   if Not FConnected then exit;
   if Not FConnected then exit;
   Try
   Try

+ 1 - 7
Units/PascalCoin/UThread.pas

@@ -1,8 +1,6 @@
 unit UThread;
 unit UThread;
 
 
-{$IFDEF FPC}
-  {$MODE Delphi}
-{$ENDIF}
+{$mode delphi}
 
 
 { Copyright (c) 2016 by Albert Molina
 { Copyright (c) 2016 by Albert Molina
 
 
@@ -20,11 +18,7 @@ unit UThread;
 interface
 interface
 
 
 uses
 uses
-{$IFnDEF FPC}
-  Windows,
-{$ELSE}
   {$IFDEF LINUX}cthreads,{$ENDIF}
   {$IFDEF LINUX}cthreads,{$ENDIF}
-{$ENDIF}
   Classes, SyncObjs;
   Classes, SyncObjs;
 
 
 {$I config.inc}
 {$I config.inc}

+ 1 - 43
Units/PascalCoin/UTime.pas

@@ -1,8 +1,6 @@
 unit UTime;
 unit UTime;
 
 
-{$IFDEF FPC}
-  {$MODE Delphi}
-{$ENDIF}
+{$mode delphi}
 
 
 { Copyright (c) 2016 by Albert Molina
 { Copyright (c) 2016 by Albert Molina
 
 
@@ -20,18 +18,8 @@ unit UTime;
 interface
 interface
 
 
 Uses
 Uses
-{$IFnDEF FPC}
-  Windows,
-{$ELSE}
-  {LCLIntf, LCLType, LMessages,}
-{$ENDIF}
   SysUtils;
   SysUtils;
 
 
-{$IFnDEF FPC}
-function TzSpecificLocalTimeToSystemTime(lpTimeZoneInformation: PTimeZoneInformation; var lpLocalTime, lpUniversalTime: TSystemTime): BOOL; stdcall;
-function SystemTimeToTzSpecificLocalTime(lpTimeZoneInformation: PTimeZoneInformation; var lpUniversalTime,lpLocalTime: TSystemTime): BOOL; stdcall;
-{$ENDIF}
-
 Function DateTime2UnivDateTime(d:TDateTime):TDateTime;
 Function DateTime2UnivDateTime(d:TDateTime):TDateTime;
 Function UnivDateTime2LocalDateTime(d:TDateTime):TDateTime;
 Function UnivDateTime2LocalDateTime(d:TDateTime):TDateTime;
 
 
@@ -43,12 +31,7 @@ Function DateTimeElapsedTime(dtDate : TDateTime) : AnsiString;
 
 
 implementation
 implementation
 
 
-{$IFDEF FPC}
 Uses DateUtils;
 Uses DateUtils;
-{$ELSE}
-function TzSpecificLocalTimeToSystemTime; external 'kernel32.dll' name 'TzSpecificLocalTimeToSystemTime';
-function SystemTimeToTzSpecificLocalTime; external kernel32 name 'SystemTimeToTzSpecificLocalTime';
-{$ENDIF}
 
 
 const
 const
     UnixStartDate: TDateTime = 25569.0; // 01/01/1970
     UnixStartDate: TDateTime = 25569.0; // 01/01/1970
@@ -73,40 +56,15 @@ Begin
 End;
 End;
 
 
 Function DateTime2UnivDateTime(d:TDateTime):TDateTime;
 Function DateTime2UnivDateTime(d:TDateTime):TDateTime;
-{$IFDEF FPC}
 begin
 begin
   Result := LocalTimeToUniversal(d,-GetLocalTimeOffset);
   Result := LocalTimeToUniversal(d,-GetLocalTimeOffset);
 end;
 end;
-{$ELSE}
-var
- TZI:TTimeZoneInformation;
- LocalTime, UniversalTime:TSystemTime;
-begin
-  GetTimeZoneInformation(tzi);
-  DateTimeToSystemTime(d,LocalTime);
-  TzSpecificLocalTimeToSystemTime(@tzi,LocalTime,UniversalTime);
-  Result := SystemTimeToDateTime(UniversalTime);
-end;
-{$ENDIF}
 
 
 Function UnivDateTime2LocalDateTime(d:TDateTime):TDateTime;
 Function UnivDateTime2LocalDateTime(d:TDateTime):TDateTime;
-{$IFDEF FPC}
 begin
 begin
   Result := UniversalTimeToLocal(d,-GetLocalTimeOffset);
   Result := UniversalTimeToLocal(d,-GetLocalTimeOffset);
 end;
 end;
 
 
-{$ELSE}
-var
- TZI:TTimeZoneInformation;
- LocalTime, UniversalTime:TSystemTime;
-begin
-  GetTimeZoneInformation(tzi);
-  DateTimeToSystemTime(d,UniversalTime);
-  SystemTimeToTzSpecificLocalTime(@tzi,UniversalTime,LocalTime);
-  Result := SystemTimeToDateTime(LocalTime);
-end;
-{$ENDIF}
-
 function UnivDateTimeToUnix(dtDate: TDateTime): Longint;
 function UnivDateTimeToUnix(dtDate: TDateTime): Longint;
 begin
 begin
   Result := Round((dtDate - UnixStartDate) * 86400);
   Result := Round((dtDate - UnixStartDate) * 86400);

+ 1 - 3
Units/PascalCoin/UWalletKeys.pas

@@ -1,8 +1,6 @@
 unit UWalletKeys;
 unit UWalletKeys;
 
 
-{$IFDEF FPC}
-  {$MODE Delphi}
-{$ENDIF}
+{$mode delphi}
 
 
 { Copyright (c) 2016 by Albert Molina
 { Copyright (c) 2016 by Albert Molina
 
 

+ 9 - 32
Units/PascalCoin/config.inc

@@ -25,7 +25,6 @@
 }
 }
 
 
   {$DEFINE OPTIONS_BY_DEFAULT}
   {$DEFINE OPTIONS_BY_DEFAULT}
-  {.$DEFINE DelphiSockets_OpenSSLv10}
   {.$DEFINE Synapse_OpenSSLv10}
   {.$DEFINE Synapse_OpenSSLv10}
   {.$DEFINE Synapse_OpenSSLv11}
   {.$DEFINE Synapse_OpenSSLv11}
 
 
@@ -54,45 +53,23 @@ ERROR: You must select ONE option!
 {$ENDIF}{$ENDIF}{$ENDIF}{$ENDIF}
 {$ENDIF}{$ENDIF}{$ENDIF}{$ENDIF}
 {$IFDEF OPTIONS_BY_DEFAULT}
 {$IFDEF OPTIONS_BY_DEFAULT}
   // By default are: Delphi = Synapse + OpenSSLv10  -  FPC = Synapse + OpenSSLv11
   // By default are: Delphi = Synapse + OpenSSLv10  -  FPC = Synapse + OpenSSLv11
-  {$IFDEF FPC}
     // With Free Pascal Compiler, only Synapse + OpenSSLv1.0 for Delphi or OpenSSLv1.1 for Linux
     // With Free Pascal Compiler, only Synapse + OpenSSLv1.0 for Delphi or OpenSSLv1.1 for Linux
-    {$DEFINE Synapse}
-    {$IFDEF LINUX}
-    {$UNDEF OpenSSL10}
-    {$ELSE}
-    {$DEFINE OpenSSL10}
-    {$ENDIF}
+  {$DEFINE Synapse}
+  {$IFDEF LINUX}
+  {$UNDEF OpenSSL10}
   {$ELSE}
   {$ELSE}
-    // Delphi, Synapse + OpenSSL v1.0
-    {$DEFINE Synapse}
-    {$DEFINE OpenSSL10}
+  {$DEFINE OpenSSL10}
   {$ENDIF}
   {$ENDIF}
-  {$IFDEF DelphiSockets_OpenSSLv10}ERROR: You selected more than 1 option{$ENDIF}
   {$IFDEF Synapse_OpenSSLv10}ERROR: You selected more than 1 option{$ENDIF}
   {$IFDEF Synapse_OpenSSLv10}ERROR: You selected more than 1 option{$ENDIF}
   {$IFDEF Synapse_OpenSSLv11}ERROR: You selected more than 1 option{$ENDIF}
   {$IFDEF Synapse_OpenSSLv11}ERROR: You selected more than 1 option{$ENDIF}
 {$ELSE}
 {$ELSE}
-  {$IFDEF DelphiSockets_OpenSSLv10}
-    {$IFDEF FPC}
-      ERROR: With Free Pascal you cannot choose compiler directive DelphiSockets_OpenSSLv10
-    {$ELSE}
-      {$UNDEF Synapse}
-      {$DEFINE OpenSSL10}
-    {$ENDIF}
-    {$IFDEF Synapse_OpenSSLv10}ERROR: You selected more than 1 option{$ENDIF}
+  {$IFDEF Synapse_OpenSSLv10}
+    {$DEFINE Synapse}
+    {$DEFINE OpenSSL10}
     {$IFDEF Synapse_OpenSSLv11}ERROR: You selected more than 1 option{$ENDIF}
     {$IFDEF Synapse_OpenSSLv11}ERROR: You selected more than 1 option{$ENDIF}
   {$ELSE}
   {$ELSE}
-    {$IFDEF Synapse_OpenSSLv10}
-      {$DEFINE Synapse}
-      {$DEFINE OpenSSL10}
-      {$IFDEF Synapse_OpenSSLv11}ERROR: You selected more than 1 option{$ENDIF}
-    {$ELSE}
-      {$IFDEF FPC}
-        {$DEFINE Synapse}
-        {$UNDEF OpenSSL10}
-      {$ELSE}
-        ERROR: With Delphi you cannot choose compiler directive Synapse_OpenSSLv11
-      {$ENDIF}
-    {$ENDIF}
+    {$DEFINE Synapse}
+    {$UNDEF OpenSSL10}
   {$ENDIF}
   {$ENDIF}
 {$ENDIF}
 {$ENDIF}
 
 

+ 1 - 3
Units/Utils/UAppParams.pas

@@ -1,8 +1,6 @@
 unit UAppParams;
 unit UAppParams;
 
 
-{$IFDEF FPC}
-  {$MODE Delphi}
-{$ENDIF}
+{$mode delphi}
 
 
 { Copyright (c) 2016 by Albert Molina
 { Copyright (c) 2016 by Albert Molina
 
 

+ 2 - 4
Units/Utils/UCommon.pas

@@ -17,14 +17,12 @@
 unit UCommon;
 unit UCommon;
 
 
 
 
-{$IFDEF FPC}
-  {$MODE Delphi}
-{$ENDIF}
+{$mode delphi}
 
 
 interface
 interface
 
 
 uses
 uses
-  Classes, SysUtils, Forms, Controls, FGL, Generics.Collections, Generics.Defaults;
+  Classes, SysUtils, Generics.Collections, Generics.Defaults;
 
 
 { GLOBAL FUNCTIONS }
 { GLOBAL FUNCTIONS }
 
 

+ 1 - 3
Units/Utils/UCommonUI.pas

@@ -17,9 +17,7 @@
 unit UCommonUI;
 unit UCommonUI;
 
 
 
 
-{$IFDEF FPC}
-  {$MODE Delphi}
-{$ENDIF}
+{$mode delphi}
 
 
 interface
 interface
 
 

+ 1 - 34
Units/Utils/UFolderHelper.pas

@@ -1,8 +1,6 @@
 unit UFolderHelper;
 unit UFolderHelper;
 
 
-{$IFDEF FPC}
-  {$MODE Delphi}
-{$ENDIF}
+{$mode delphi}
 
 
 { Copyright (c) 2016 by Albert Molina
 { Copyright (c) 2016 by Albert Molina
 
 
@@ -41,9 +39,6 @@ Type TFileVersionInfo = record
 
 
   TFolderHelper = record
   TFolderHelper = record
   strict private
   strict private
-    {$IFnDEF FPC}
-    class function GetFolder(const aCSIDL: Integer): string; static;
-    {$ENDIF}
     class function GetAppDataFolder : string; static;
     class function GetAppDataFolder : string; static;
   public
   public
     class function GetPascalCoinDataFolder : string; static;
     class function GetPascalCoinDataFolder : string; static;
@@ -53,51 +48,23 @@ Type TFileVersionInfo = record
 implementation
 implementation
 
 
 uses
 uses
-{$IFnDEF FPC}
-  Windows, ShlObj,
-  {$DEFINE FILEVERSIONINFO}
-{$ELSE}
   {$IFnDEF LINUX}
   {$IFnDEF LINUX}
   Windows,
   Windows,
   {$DEFINE FILEVERSIONINFO}
   {$DEFINE FILEVERSIONINFO}
   {$ENDIF}
   {$ENDIF}
-  {LCLIntf, LCLType, LMessages,}
-{$ENDIF}
   SysUtils;
   SysUtils;
 
 
 {$I .\..\PascalCoin\config.inc}
 {$I .\..\PascalCoin\config.inc}
 
 
-{$IFnDEF FPC}
-function SHGetFolderPath(hwnd: HWND; csidl: Integer; hToken: THandle;
-  dwFlags: DWord; pszPath: LPWSTR): HRESULT; stdcall;
-  forward;
-function SHGetFolderPath; external 'SHFolder.dll' name 'SHGetFolderPathW';
-{$ENDIF}
-
 class function TFolderHelper.GetAppDataFolder: string;
 class function TFolderHelper.GetAppDataFolder: string;
 begin
 begin
-  {$IFDEF FPC}
   {$IFDEF LINUX}
   {$IFDEF LINUX}
   Result :=GetEnvironmentVariable('HOME');
   Result :=GetEnvironmentVariable('HOME');
   {$ELSE}
   {$ELSE}
   Result :=GetEnvironmentVariable('APPDATA');
   Result :=GetEnvironmentVariable('APPDATA');
   {$ENDIF}
   {$ENDIF}
-  {$ELSE}
-  Result := GetFolder(CSIDL_APPDATA); // c:\Users\(User Name)\AppData\Roaming
-  {$ENDIF}
 end;
 end;
 
 
-{$IFnDEF FPC}
-class function TFolderHelper.GetFolder(const aCSIDL: Integer): string;
-var
-  FolderPath: array[0 .. MAX_PATH] of Char;
-begin
-  Result := '';
-  if SHGetFolderPath(0, aCSIDL, 0, 0, @FolderPath) = S_OK then
-    Result := FolderPath;
-end;
-{$ENDIF}
-
 class function TFolderHelper.GetPascalCoinDataFolder: string;
 class function TFolderHelper.GetPascalCoinDataFolder: string;
 begin
 begin
   {$IFDEF TESTNET}
   {$IFDEF TESTNET}

+ 4 - 23
Units/Utils/UGridUtils.pas

@@ -1,8 +1,6 @@
 unit UGridUtils;
 unit UGridUtils;
 
 
-{$IFDEF FPC}
-  {$MODE Delphi}
-{$ENDIF}
+{$mode delphi}
 
 
 { Copyright (c) 2016 by Albert Molina
 { Copyright (c) 2016 by Albert Molina
 
 
@@ -20,11 +18,7 @@ unit UGridUtils;
 interface
 interface
 
 
 uses
 uses
-{$IFnDEF FPC}
-  Windows,
-{$ELSE}
   LCLIntf, LCLType, LMessages,
   LCLIntf, LCLType, LMessages,
-{$ENDIF}
   Classes, Grids, UNode, UAccounts, UBlockChain, UAppParams,
   Classes, Grids, UNode, UAccounts, UBlockChain, UAppParams,
   UWalletKeys, UCrypto, UPoolMining, URPC;
   UWalletKeys, UCrypto, UPoolMining, URPC;
 
 
@@ -282,7 +276,7 @@ begin
   DrawGrid.Options := [goFixedVertLine, goFixedHorzLine, goVertLine, goHorzLine,
   DrawGrid.Options := [goFixedVertLine, goFixedHorzLine, goVertLine, goHorzLine,
     {goRangeSelect, }goDrawFocusSelected, {goRowSizing, }goColSizing, {goRowMoving,}
     {goRangeSelect, }goDrawFocusSelected, {goRowSizing, }goColSizing, {goRowMoving,}
     {goColMoving, goEditing, }goTabs, goRowSelect, {goAlwaysShowEditor,}
     {goColMoving, goEditing, }goTabs, goRowSelect, {goAlwaysShowEditor,}
-    goThumbTracking{$IFnDEF FPC}, goFixedColClick, goFixedRowClick, goFixedHotTrack{$ENDIF}];
+    goThumbTracking];
   if FAllowMultiSelect then DrawGrid.Options := DrawGrid.Options + [goRangeSelect];
   if FAllowMultiSelect then DrawGrid.Options := DrawGrid.Options + [goRangeSelect];
   FDrawGrid.Invalidate;
   FDrawGrid.Invalidate;
   if Assigned(FOnUpdated) then FOnUpdated(Self);
   if Assigned(FOnUpdated) then FOnUpdated(Self);
@@ -361,7 +355,6 @@ begin
   end;
   end;
 end;
 end;
 
 
-{$IFDEF FPC}
 Type
 Type
 TTextFormats = (tfBottom, tfCalcRect, tfCenter, tfEditControl, tfEndEllipsis,
 TTextFormats = (tfBottom, tfCalcRect, tfCenter, tfEditControl, tfEndEllipsis,
   tfPathEllipsis, tfExpandTabs, tfExternalLeading, tfLeft, tfModifyString,
   tfPathEllipsis, tfExpandTabs, tfExternalLeading, tfLeft, tfModifyString,
@@ -390,12 +383,6 @@ Begin
   ts.SystemFont:=false;
   ts.SystemFont:=false;
   Canvas.TextRect(Rect,Rect.Left,Rect.Top,Text,ts);
   Canvas.TextRect(Rect,Rect.Left,Rect.Top,Text,ts);
 end;
 end;
-{$ELSE}
-Procedure Canvas_TextRect(Canvas : TCanvas; var Rect: TRect; var Text: string; State: TGridDrawState; TextFormat: TTextFormat = []);
-Begin
-  Canvas.TextRect(Rect,Text,TextFormat);
-end;
-{$ENDIF}
 
 
 procedure TAccountsGrid.OnGridDrawCell(Sender: TObject; ACol, ARow: Integer; Rect: TRect; State: TGridDrawState);
 procedure TAccountsGrid.OnGridDrawCell(Sender: TObject; ACol, ARow: Integer; Rect: TRect; State: TGridDrawState);
   Function FromColorToColor(colorstart,colordest : Integer; step,totalsteps : Integer) : Integer;
   Function FromColorToColor(colorstart,colordest : Integer; step,totalsteps : Integer) : Integer;
@@ -429,9 +416,7 @@ begin
     C.ColumnType := act_account_number;
     C.ColumnType := act_account_number;
     C.width := -1;
     C.width := -1;
   end;
   end;
-  {.$IFDEF FPC}
   DrawGrid.Canvas.Font.Color:=clBlack;
   DrawGrid.Canvas.Font.Color:=clBlack;
-  {.$ENDIF}
   if (ARow=0) then begin
   if (ARow=0) then begin
     // Header
     // Header
     s := CT_ColumnHeader[C.ColumnType];
     s := CT_ColumnHeader[C.ColumnType];
@@ -669,7 +654,7 @@ begin
   DrawGrid.Options := [goFixedVertLine, goFixedHorzLine, goVertLine, goHorzLine,
   DrawGrid.Options := [goFixedVertLine, goFixedHorzLine, goVertLine, goHorzLine,
     {goRangeSelect, }goDrawFocusSelected, {goRowSizing, }goColSizing, {goRowMoving,}
     {goRangeSelect, }goDrawFocusSelected, {goRowSizing, }goColSizing, {goRowMoving,}
     {goColMoving, goEditing, }goTabs, goRowSelect, {goAlwaysShowEditor,}
     {goColMoving, goEditing, }goTabs, goRowSelect, {goAlwaysShowEditor,}
-    goThumbTracking{$IFnDEF FPC}, goFixedColClick, goFixedRowClick, goFixedHotTrack{$ENDIF}];
+    goThumbTracking];
 end;
 end;
 
 
 procedure TOperationsGrid.Notification(AComponent: TComponent; Operation: TOperation);
 procedure TOperationsGrid.Notification(AComponent: TComponent; Operation: TOperation);
@@ -686,9 +671,7 @@ procedure TOperationsGrid.OnGridDrawCell(Sender: TObject; ACol, ARow: Integer; R
 Var s : String;
 Var s : String;
   opr : TOperationResume;
   opr : TOperationResume;
 begin
 begin
-  {.$IFDEF FPC}
   DrawGrid.Canvas.Font.Color:=clBlack;
   DrawGrid.Canvas.Font.Color:=clBlack;
-  {.$ENDIF}
   opr := CT_TOperationResume_NUL;
   opr := CT_TOperationResume_NUL;
   Try
   Try
   if (ARow=0) then begin
   if (ARow=0) then begin
@@ -1034,7 +1017,7 @@ begin
   DrawGrid.Options := [goFixedVertLine, goFixedHorzLine, goVertLine, goHorzLine,
   DrawGrid.Options := [goFixedVertLine, goFixedHorzLine, goVertLine, goHorzLine,
     {goRangeSelect, }goDrawFocusSelected, {goRowSizing, }goColSizing, {goRowMoving,}
     {goRangeSelect, }goDrawFocusSelected, {goRowSizing, }goColSizing, {goRowMoving,}
     {goColMoving, goEditing, }goTabs, goRowSelect, {goAlwaysShowEditor,}
     {goColMoving, goEditing, }goTabs, goRowSelect, {goAlwaysShowEditor,}
-    goThumbTracking{$IFnDEF FPC}, goFixedColClick, goFixedRowClick, goFixedHotTrack{$ENDIF}];
+    goThumbTracking];
   UpdateBlockChainGrid;
   UpdateBlockChainGrid;
 end;
 end;
 
 
@@ -1056,9 +1039,7 @@ Var s : String;
   bcd : TBlockChainData;
   bcd : TBlockChainData;
   deviation : Real;
   deviation : Real;
 begin
 begin
-  {.$IFDEF FPC}
   DrawGrid.Canvas.Font.Color:=clBlack;
   DrawGrid.Canvas.Font.Color:=clBlack;
-  {.$ENDIF}
   if (ARow=0) then begin
   if (ARow=0) then begin
     // Header
     // Header
     case ACol of
     case ACol of

+ 1 - 77
Units/Utils/UJSONFunctions.pas

@@ -1,8 +1,6 @@
 unit UJSONFunctions;
 unit UJSONFunctions;
 
 
-{$IFDEF FPC}
-  {$MODE Delphi}
-{$ENDIF}
+{$mode delphi}
 
 
 { Copyright (c) 2016 by Albert Molina
 { Copyright (c) 2016 by Albert Molina
 
 
@@ -20,18 +18,11 @@ unit UJSONFunctions;
 interface
 interface
 
 
 Uses
 Uses
-  {$IFDEF FPC}
   fpjson, jsonparser,
   fpjson, jsonparser,
-  {$ELSE}
-  DBXJSON,
-  {$ENDIF}
   SysUtils, DateUtils, Variants, Classes, ULog;
   SysUtils, DateUtils, Variants, Classes, ULog;
 
 
 Type
 Type
-  {$IFDEF FPC}
   TJSONValue = TJSONData;
   TJSONValue = TJSONData;
-  {$ENDIF}
-
   TPCJSONData = Class
   TPCJSONData = Class
   private
   private
     FParent : TPCJSONData;
     FParent : TPCJSONData;
@@ -210,7 +201,6 @@ constructor TPCJSONArray.CreateFromJSONArray(JSONArray: TJSONArray);
 Var i : Integer;
 Var i : Integer;
 begin
 begin
   Create;
   Create;
-{$IFDEF FPC}
   for i := 0 to JSONArray.Count - 1 do begin
   for i := 0 to JSONArray.Count - 1 do begin
     if (JSONArray.Items[i] is TJSONArray) then begin
     if (JSONArray.Items[i] is TJSONArray) then begin
       Insert(i,TPCJSONArray.CreateFromJSONArray(TJSONArray(JSONArray.Items[i])));
       Insert(i,TPCJSONArray.CreateFromJSONArray(TJSONArray(JSONArray.Items[i])));
@@ -220,17 +210,6 @@ begin
       Insert(i,TPCJSONVariantValue.CreateFromJSONValue(TJSONValue(JSONArray.Items[i])));
       Insert(i,TPCJSONVariantValue.CreateFromJSONValue(TJSONValue(JSONArray.Items[i])));
     end else raise EPCParametresError.Create('Invalid TJSON Data: '+JSONArray.Items[i].ClassName);
     end else raise EPCParametresError.Create('Invalid TJSON Data: '+JSONArray.Items[i].ClassName);
   end;
   end;
-{$ELSE}
-  for i := 0 to JSONArray.Size - 1 do begin
-    if (JSONArray.Get(i) is TJSONArray) then begin
-      Insert(i,TPCJSONArray.CreateFromJSONArray(TJSONArray(JSONArray.Get(i))));
-    end else if (JSONArray.Get(i) is TJSONObject) then begin
-      Insert(i,TPCJSONObject.CreateFromJSONObject(TJSONObject(JSONArray.Get(i))));
-    end else if (JSONArray.Get(i) is TJSONValue) then begin
-      Insert(i,TPCJSONVariantValue.CreateFromJSONValue(TJSONValue(JSONArray.Get(i))));
-    end else raise EPCParametresError.Create('Invalid TJSON Data: '+JSONArray.Get(i).ClassName);
-  end;
-{$ENDIF}
 end;
 end;
 
 
 
 
@@ -481,37 +460,9 @@ begin
 end;
 end;
 
 
 constructor TPCJSONVariantValue.CreateFromJSONValue(JSONValue: TJSONValue);
 constructor TPCJSONVariantValue.CreateFromJSONValue(JSONValue: TJSONValue);
-{$IFnDEF FPC}
-Var d : Double;
-    i64 : Integer;
-  ds,ts : Char;
-{$ENDIF}
 begin
 begin
   Create;
   Create;
-  {$IFDEF FPC}
   Value := JSONValue.Value;
   Value := JSONValue.Value;
-  {$ELSE}
-  if JSONValue is TJSONNumber then begin
-    d := TJSONNumber(JSONValue).AsDouble;
-    if Pos('.',JSONValue.ToString)>0 then i64 := 0
-    else i64 := TJSONNumber(JSONValue).AsInt;
-    ds := DecimalSeparator;
-    ts := ThousandSeparator;
-    DecimalSeparator := '.';
-    ThousandSeparator := ',';
-    Try
-      if FormatFloat('0.###########',d)=inttostr(i64) then
-        Value := i64
-      else Value := d;
-    Finally
-      DecimalSeparator := ds;
-      ThousandSeparator := ts;
-    End;
-  end else if JSONValue is TJSONTrue then Value := true
-  else if JSONValue is TJSONFalse then Value := false
-  else if JSONValue is TJSONNull then Value := Null
-  else Value := JSONValue.Value;
-  {$ENDIF}
 end;
 end;
 
 
 function TPCJSONVariantValue.IsNull: Boolean;
 function TPCJSONVariantValue.IsNull: Boolean;
@@ -722,12 +673,9 @@ end;
 
 
 constructor TPCJSONObject.CreateFromJSONObject(JSONObject: TJSONObject);
 constructor TPCJSONObject.CreateFromJSONObject(JSONObject: TJSONObject);
 var i,i2 : Integer;
 var i,i2 : Integer;
-  {$IFDEF FPC}
   aname : TJSONStringType;
   aname : TJSONStringType;
-  {$ENDIF}
 begin
 begin
   Create;
   Create;
-  {$IFDEF FPC}
   for i := 0 to JSONObject.Count - 1 do begin
   for i := 0 to JSONObject.Count - 1 do begin
     aname := JSONObject.Names[i];
     aname := JSONObject.Names[i];
     i2 := GetIndexOrCreateName(JSONObject.Names[i]);
     i2 := GetIndexOrCreateName(JSONObject.Names[i]);
@@ -739,18 +687,6 @@ begin
       (Items[i2] as TPCJSONNameValue).Value := TPCJSONVariantValue.CreateFromJSONValue(JSONObject.Items[i]);
       (Items[i2] as TPCJSONNameValue).Value := TPCJSONVariantValue.CreateFromJSONValue(JSONObject.Items[i]);
     end else raise EPCParametresError.Create('Invalid TJSON Data in JSONObject.'+aname+': '+JSONObject.Items[i].ClassName);
     end else raise EPCParametresError.Create('Invalid TJSON Data in JSONObject.'+aname+': '+JSONObject.Items[i].ClassName);
   end;
   end;
-  {$ELSE}
-  for i := 0 to JSONObject.Size - 1 do begin
-    i2 := GetIndexOrCreateName(JSONObject.Get(i).JsonString.Value);
-    if (JSONObject.Get(i).JsonValue is TJSONArray) then begin
-      (Items[i2] as TPCJSONNameValue).Value := TPCJSONArray.CreateFromJSONArray(TJSONArray(JSONObject.Get(i).JsonValue));
-    end else if (JSONObject.Get(i).JsonValue is TJSONObject) then begin
-      (Items[i2] as TPCJSONNameValue).Value := TPCJSONObject.CreateFromJSONObject(TJSONObject(JSONObject.Get(i).JsonValue));
-    end else if (JSONObject.Get(i).JsonValue is TJSONValue) then begin
-      (Items[i2] as TPCJSONNameValue).Value := TPCJSONVariantValue.CreateFromJSONValue(TJSONValue(JSONObject.Get(i).JsonValue));
-    end else raise EPCParametresError.Create('Invalid TJSON Data in JSONObject.'+JSONObject.Get(i).JsonString.Value+': '+JSONObject.Get(i).ClassName);
-  end;
-  {$ENDIF}
 end;
 end;
 
 
 
 
@@ -988,14 +924,11 @@ end;
 
 
 class function TPCJSONData.ParseJSONValue(Const JSONObject: TBytes): TPCJSONData;
 class function TPCJSONData.ParseJSONValue(Const JSONObject: TBytes): TPCJSONData;
 Var JS : TJSONValue;
 Var JS : TJSONValue;
-  {$IFDEF FPC}
   jss : TJSONStringType;
   jss : TJSONStringType;
   i : Integer;
   i : Integer;
-  {$ENDIF}
 begin
 begin
   Result := Nil;
   Result := Nil;
   JS := Nil;
   JS := Nil;
-  {$IFDEF FPC}
   SetLength(jss,length(JSONObject));
   SetLength(jss,length(JSONObject));
   for i:=0 to High(JSONObject) do jss[i+1] := AnsiChar( JSONObject[i] );
   for i:=0 to High(JSONObject) do jss[i+1] := AnsiChar( JSONObject[i] );
   Try
   Try
@@ -1005,15 +938,6 @@ begin
       TLog.NewLog(ltDebug,ClassName,'Error processing JSON: '+E.Message);
       TLog.NewLog(ltDebug,ClassName,'Error processing JSON: '+E.Message);
     end;
     end;
   end;
   end;
-  {$ELSE}
-  Try
-    JS := TJSONObject.ParseJSONValue(JSONObject,0);
-  Except
-    On E:Exception do begin
-      TLog.NewLog(ltDebug,ClassName,'Error processing JSON: '+E.Message);
-    end;
-  End;
-  {$ENDIF}
   if Not Assigned(JS) then exit;
   if Not Assigned(JS) then exit;
   Try
   Try
     if JS is TJSONObject then begin
     if JS is TJSONObject then begin

+ 1 - 3
Units/Utils/UWizard.pas

@@ -15,9 +15,7 @@
 
 
 unit UWizard;
 unit UWizard;
 
 
-{$IFDEF FPC}
-  {$MODE Delphi}
-{$ENDIF}
+{$mode delphi}
 
 
 interface
 interface