diff --git a/build/AgaLib01.vcxproj b/build/AgaLib01.vcxproj
new file mode 100644
index 000000000..b0f84ae5d
--- /dev/null
+++ b/build/AgaLib01.vcxproj
@@ -0,0 +1,853 @@
+
+
+
+
+ Debug
+ Win32
+
+
+ Release
+ Win32
+
+
+
+ {2D38A763-3D74-4338-9362-B891784EC90E}
+ 10.0.17763.0
+ AgaLib01
+
+
+
+ StaticLibrary
+ false
+ v141
+
+
+ StaticLibrary
+ false
+ v141
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <_ProjectFileVersion>10.0.30319.1
+ ..\lib\
+ ..\obj\common\$(ProjectName)\
+ ..\lib\
+ ..\obj\common\$(ProjectName)\
+ $(ProjectName)
+ $(ProjectName)
+
+
+
+ Disabled
+ ..\src\cb\source;..\libraries\SQLAPI\include;..\src\xvaga01;..\src\xi;..\src\gfm;..\src\include01;..\src\xvtdb;..\src\xvturl
+ _DEBUG;WIN32;_WINDOWS;%(PreprocessorDefinitions)
+ MultiThreadedDebug
+ Level3
+ true
+ EditAndContinue
+ true
+ $(IntDir)$(TargetName).pdb
+ $(IntDir)$(TargetName).pch
+ true
+
+
+ 0x0410
+
+
+
+ true
+ $(IntDir)$(ProjectName).bsc
+
+
+ wsock32.lib
+
+
+ $(IntDir)$(TargetName).xml
+
+
+
+
+ MaxSpeed
+ OnlyExplicitInline
+ ..\src\cb\source;..\libraries\SQLAPI\include;..\src\xvaga;..\src\xi;..\src\gfm;..\src\include01;..\src\xvtdb;..\src\xvturl
+ NDEBUG;WIN32;_WINDOWS;%(PreprocessorDefinitions)
+ true
+ MultiThreaded
+ true
+ false
+ Level3
+ ProgramDatabase
+ $(IntDir)$(TargetName).pch
+ $(IntDir)$(TargetName).pdb
+ true
+
+
+ 0x0410
+
+
+
+ true
+ $(IntDir)$(ProjectName).bsc
+
+
+ wsock32.lib;
+
+
+ $(IntDir)$(TargetName).xml
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ %(AdditionalIncludeDirectories)
+ %(PreprocessorDefinitions)
+ %(AdditionalIncludeDirectories)
+ %(PreprocessorDefinitions)
+
+
+ %(AdditionalIncludeDirectories)
+ %(PreprocessorDefinitions)
+ %(AdditionalIncludeDirectories)
+ %(PreprocessorDefinitions)
+
+
+ %(AdditionalIncludeDirectories)
+ %(PreprocessorDefinitions)
+ %(AdditionalIncludeDirectories)
+ %(PreprocessorDefinitions)
+
+
+ %(AdditionalIncludeDirectories)
+ %(PreprocessorDefinitions)
+ %(AdditionalIncludeDirectories)
+ %(PreprocessorDefinitions)
+
+
+ %(AdditionalIncludeDirectories)
+ %(PreprocessorDefinitions)
+ %(AdditionalIncludeDirectories)
+ %(PreprocessorDefinitions)
+
+
+ %(AdditionalIncludeDirectories)
+ %(PreprocessorDefinitions)
+ %(AdditionalIncludeDirectories)
+ %(PreprocessorDefinitions)
+
+
+ %(AdditionalIncludeDirectories)
+ %(PreprocessorDefinitions)
+ %(AdditionalIncludeDirectories)
+ %(PreprocessorDefinitions)
+
+
+
+ %(AdditionalIncludeDirectories)
+ %(PreprocessorDefinitions)
+ %(AdditionalIncludeDirectories)
+ %(PreprocessorDefinitions)
+
+
+ %(AdditionalIncludeDirectories)
+ %(PreprocessorDefinitions)
+ %(AdditionalIncludeDirectories)
+ %(PreprocessorDefinitions)
+
+
+ %(AdditionalIncludeDirectories)
+ %(PreprocessorDefinitions)
+ %(AdditionalIncludeDirectories)
+ %(PreprocessorDefinitions)
+
+
+ %(AdditionalIncludeDirectories)
+ %(PreprocessorDefinitions)
+ %(AdditionalIncludeDirectories)
+ %(PreprocessorDefinitions)
+
+
+ %(AdditionalIncludeDirectories)
+ %(PreprocessorDefinitions)
+ %(AdditionalIncludeDirectories)
+ %(PreprocessorDefinitions)
+
+
+ %(AdditionalIncludeDirectories)
+ %(PreprocessorDefinitions)
+ %(AdditionalIncludeDirectories)
+ %(PreprocessorDefinitions)
+
+
+ %(AdditionalIncludeDirectories)
+ %(PreprocessorDefinitions)
+ %(AdditionalIncludeDirectories)
+ %(PreprocessorDefinitions)
+
+
+ %(AdditionalIncludeDirectories)
+ %(PreprocessorDefinitions)
+ %(AdditionalIncludeDirectories)
+ %(PreprocessorDefinitions)
+
+
+ %(AdditionalIncludeDirectories)
+ %(PreprocessorDefinitions)
+ %(AdditionalIncludeDirectories)
+ %(PreprocessorDefinitions)
+
+
+
+ %(AdditionalIncludeDirectories)
+ %(PreprocessorDefinitions)
+ %(AdditionalIncludeDirectories)
+ %(PreprocessorDefinitions)
+
+
+ %(AdditionalIncludeDirectories)
+ %(PreprocessorDefinitions)
+ %(AdditionalIncludeDirectories)
+ %(PreprocessorDefinitions)
+
+
+ %(AdditionalIncludeDirectories)
+ %(PreprocessorDefinitions)
+ %(AdditionalIncludeDirectories)
+ %(PreprocessorDefinitions)
+
+
+ %(AdditionalIncludeDirectories)
+ %(PreprocessorDefinitions)
+ %(AdditionalIncludeDirectories)
+ %(PreprocessorDefinitions)
+
+
+ %(AdditionalIncludeDirectories)
+ %(PreprocessorDefinitions)
+ %(AdditionalIncludeDirectories)
+ %(PreprocessorDefinitions)
+
+
+ %(AdditionalIncludeDirectories)
+ %(PreprocessorDefinitions)
+ %(AdditionalIncludeDirectories)
+ %(PreprocessorDefinitions)
+
+
+ %(AdditionalIncludeDirectories)
+ %(PreprocessorDefinitions)
+ %(AdditionalIncludeDirectories)
+ %(PreprocessorDefinitions)
+
+
+ %(AdditionalIncludeDirectories)
+ %(PreprocessorDefinitions)
+ %(AdditionalIncludeDirectories)
+ %(PreprocessorDefinitions)
+
+
+
+ %(AdditionalIncludeDirectories)
+ %(PreprocessorDefinitions)
+ %(AdditionalIncludeDirectories)
+ %(PreprocessorDefinitions)
+
+
+ %(AdditionalIncludeDirectories)
+ %(PreprocessorDefinitions)
+ %(AdditionalIncludeDirectories)
+ %(PreprocessorDefinitions)
+
+
+ %(AdditionalIncludeDirectories)
+ %(PreprocessorDefinitions)
+ %(AdditionalIncludeDirectories)
+ %(PreprocessorDefinitions)
+
+
+ %(AdditionalIncludeDirectories)
+ %(PreprocessorDefinitions)
+ %(AdditionalIncludeDirectories)
+ %(PreprocessorDefinitions)
+
+
+ %(AdditionalIncludeDirectories)
+ %(PreprocessorDefinitions)
+ %(AdditionalIncludeDirectories)
+ %(PreprocessorDefinitions)
+
+
+ %(AdditionalIncludeDirectories)
+ %(PreprocessorDefinitions)
+ %(AdditionalIncludeDirectories)
+ %(PreprocessorDefinitions)
+
+
+
+ %(AdditionalIncludeDirectories)
+ %(PreprocessorDefinitions)
+ %(AdditionalIncludeDirectories)
+ %(PreprocessorDefinitions)
+
+
+ %(AdditionalIncludeDirectories)
+ %(PreprocessorDefinitions)
+ %(AdditionalIncludeDirectories)
+ %(PreprocessorDefinitions)
+
+
+ %(AdditionalIncludeDirectories)
+ %(PreprocessorDefinitions)
+ %(AdditionalIncludeDirectories)
+ %(PreprocessorDefinitions)
+
+
+ %(AdditionalIncludeDirectories)
+ %(PreprocessorDefinitions)
+ %(AdditionalIncludeDirectories)
+ %(PreprocessorDefinitions)
+
+
+ %(AdditionalIncludeDirectories)
+ %(PreprocessorDefinitions)
+ %(AdditionalIncludeDirectories)
+ %(PreprocessorDefinitions)
+
+
+ %(AdditionalIncludeDirectories)
+ %(PreprocessorDefinitions)
+ %(AdditionalIncludeDirectories)
+ %(PreprocessorDefinitions)
+
+
+ %(AdditionalIncludeDirectories)
+ %(PreprocessorDefinitions)
+ %(AdditionalIncludeDirectories)
+ %(PreprocessorDefinitions)
+
+
+ %(AdditionalIncludeDirectories)
+ %(PreprocessorDefinitions)
+ %(AdditionalIncludeDirectories)
+ %(PreprocessorDefinitions)
+
+
+ %(AdditionalIncludeDirectories)
+ %(PreprocessorDefinitions)
+ %(AdditionalIncludeDirectories)
+ %(PreprocessorDefinitions)
+
+
+ %(AdditionalIncludeDirectories)
+ %(PreprocessorDefinitions)
+ %(AdditionalIncludeDirectories)
+ %(PreprocessorDefinitions)
+
+
+ %(AdditionalIncludeDirectories)
+ %(PreprocessorDefinitions)
+ %(AdditionalIncludeDirectories)
+ %(PreprocessorDefinitions)
+
+
+ %(AdditionalIncludeDirectories)
+ %(PreprocessorDefinitions)
+ %(AdditionalIncludeDirectories)
+ %(PreprocessorDefinitions)
+
+
+ %(AdditionalIncludeDirectories)
+ %(PreprocessorDefinitions)
+ %(AdditionalIncludeDirectories)
+ %(PreprocessorDefinitions)
+
+
+ %(AdditionalIncludeDirectories)
+ %(PreprocessorDefinitions)
+ %(AdditionalIncludeDirectories)
+ %(PreprocessorDefinitions)
+
+
+ %(AdditionalIncludeDirectories)
+ %(PreprocessorDefinitions)
+ %(AdditionalIncludeDirectories)
+ %(PreprocessorDefinitions)
+
+
+ %(AdditionalIncludeDirectories)
+ %(PreprocessorDefinitions)
+ %(AdditionalIncludeDirectories)
+ %(PreprocessorDefinitions)
+
+
+ %(AdditionalIncludeDirectories)
+ %(PreprocessorDefinitions)
+ %(AdditionalIncludeDirectories)
+ %(PreprocessorDefinitions)
+
+
+
+
+ %(AdditionalIncludeDirectories)
+ %(PreprocessorDefinitions)
+ %(AdditionalIncludeDirectories)
+ %(PreprocessorDefinitions)
+
+
+ %(AdditionalIncludeDirectories)
+ %(PreprocessorDefinitions)
+ %(AdditionalIncludeDirectories)
+ %(PreprocessorDefinitions)
+
+
+
+ %(AdditionalIncludeDirectories)
+ %(PreprocessorDefinitions)
+ %(AdditionalIncludeDirectories)
+ %(PreprocessorDefinitions)
+
+
+ %(AdditionalIncludeDirectories)
+ %(PreprocessorDefinitions)
+ %(AdditionalIncludeDirectories)
+ %(PreprocessorDefinitions)
+
+
+ %(AdditionalIncludeDirectories)
+ %(PreprocessorDefinitions)
+ %(AdditionalIncludeDirectories)
+ %(PreprocessorDefinitions)
+
+
+ %(AdditionalIncludeDirectories)
+ %(PreprocessorDefinitions)
+ %(AdditionalIncludeDirectories)
+ %(PreprocessorDefinitions)
+
+
+ %(AdditionalIncludeDirectories)
+ %(PreprocessorDefinitions)
+ %(AdditionalIncludeDirectories)
+ %(PreprocessorDefinitions)
+
+
+
+ %(AdditionalIncludeDirectories)
+ %(PreprocessorDefinitions)
+ %(AdditionalIncludeDirectories)
+ %(PreprocessorDefinitions)
+
+
+ %(AdditionalIncludeDirectories)
+ %(PreprocessorDefinitions)
+ %(AdditionalIncludeDirectories)
+ %(PreprocessorDefinitions)
+
+
+ %(AdditionalIncludeDirectories)
+ %(PreprocessorDefinitions)
+ %(AdditionalIncludeDirectories)
+ %(PreprocessorDefinitions)
+
+
+ %(AdditionalIncludeDirectories)
+ %(PreprocessorDefinitions)
+ %(AdditionalIncludeDirectories)
+ %(PreprocessorDefinitions)
+
+
+
+ %(AdditionalIncludeDirectories)
+ %(PreprocessorDefinitions)
+ %(AdditionalIncludeDirectories)
+ %(PreprocessorDefinitions)
+
+
+ %(AdditionalIncludeDirectories)
+ %(PreprocessorDefinitions)
+ %(AdditionalIncludeDirectories)
+ %(PreprocessorDefinitions)
+
+
+
+
+
+ %(AdditionalIncludeDirectories)
+ %(PreprocessorDefinitions)
+ %(AdditionalIncludeDirectories)
+ %(PreprocessorDefinitions)
+
+
+
+
+
+ %(AdditionalIncludeDirectories)
+ %(PreprocessorDefinitions)
+ %(AdditionalIncludeDirectories)
+ %(PreprocessorDefinitions)
+
+
+ %(AdditionalIncludeDirectories)
+ %(PreprocessorDefinitions)
+ %(AdditionalIncludeDirectories)
+ %(PreprocessorDefinitions)
+
+
+ %(AdditionalIncludeDirectories)
+ %(PreprocessorDefinitions)
+ %(AdditionalIncludeDirectories)
+ %(PreprocessorDefinitions)
+
+
+ %(AdditionalIncludeDirectories)
+ %(PreprocessorDefinitions)
+ %(AdditionalIncludeDirectories)
+ %(PreprocessorDefinitions)
+
+
+ %(AdditionalIncludeDirectories)
+ %(PreprocessorDefinitions)
+ %(AdditionalIncludeDirectories)
+ %(PreprocessorDefinitions)
+
+
+
+ %(AdditionalIncludeDirectories)
+ %(PreprocessorDefinitions)
+ %(AdditionalIncludeDirectories)
+ %(PreprocessorDefinitions)
+
+
+ %(AdditionalIncludeDirectories)
+ %(PreprocessorDefinitions)
+ %(AdditionalIncludeDirectories)
+ %(PreprocessorDefinitions)
+
+
+ %(AdditionalIncludeDirectories)
+ %(PreprocessorDefinitions)
+ %(AdditionalIncludeDirectories)
+ %(PreprocessorDefinitions)
+
+
+ %(AdditionalIncludeDirectories)
+ %(PreprocessorDefinitions)
+ %(AdditionalIncludeDirectories)
+ %(PreprocessorDefinitions)
+
+
+
+
+ Document
+ true
+
+
+ Document
+ true
+
+
+ Document
+ true
+
+
+ Document
+ true
+
+
+ Document
+ true
+
+
+ Document
+ true
+
+
+ Document
+ true
+
+
+ Document
+ true
+
+
+ Document
+ true
+
+
+ Document
+ true
+
+
+ Document
+ true
+
+
+ Document
+ true
+
+
+ Document
+ true
+
+
+ Document
+ true
+
+
+ Document
+ true
+
+
+ Document
+ true
+
+
+ Document
+ true
+
+
+ Document
+ true
+
+
+ Document
+ true
+
+
+ Document
+ true
+
+
+
+ false
+ Document
+
+
+
+
+ {3a5b0119-6dad-4407-9ee1-3b739b0581e8}
+ true
+ true
+ false
+ true
+ true
+
+
+ {4a2fc619-2461-4f58-8f1d-92fa153e39a2}
+ true
+ true
+ false
+ true
+ true
+
+
+ {153c04b0-1f72-4da9-8ac1-7df76ffacfd2}
+ true
+ true
+ false
+ true
+ true
+
+
+ {7ecf3959-40cc-4baa-a5e1-8699789ac386}
+
+
+ {9c91bacf-9a70-4973-b8cc-fa3d2af9867c}
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/build/AgaLib01.vcxproj.filters b/build/AgaLib01.vcxproj.filters
new file mode 100644
index 000000000..8c4660cf6
--- /dev/null
+++ b/build/AgaLib01.vcxproj.filters
@@ -0,0 +1,830 @@
+
+
+
+
+ {97476303-fb51-4741-bb5f-16aa4712bc57}
+ h
+
+
+ {a0a53c76-a3e7-4e7e-956f-6802f73db664}
+
+
+ {9aa9fc1e-2710-4785-8126-72536cfcee9d}
+
+
+ {ad187331-43fa-476b-9ee2-7e0cab5cde0e}
+
+
+ {f44ac840-9c6e-4e54-a14a-5beeb8e0e5e4}
+
+
+
+
+ Headers
+
+
+ Headers
+
+
+ Headers
+
+
+ Headers
+
+
+ Headers
+
+
+ Headers
+
+
+ Headers
+
+
+ Headers
+
+
+ Headers
+
+
+ Headers
+
+
+ Headers
+
+
+ Headers
+
+
+ Headers
+
+
+ Headers
+
+
+ Headers
+
+
+ Headers
+
+
+ Headers
+
+
+ Headers
+
+
+ Headers
+
+
+ Headers
+
+
+ Headers
+
+
+ Headers
+
+
+ Headers
+
+
+ Headers
+
+
+ Headers
+
+
+ Headers
+
+
+ Headers
+
+
+ Headers
+
+
+ Headers
+
+
+ Headers
+
+
+ Headers
+
+
+ Headers
+
+
+ Headers
+
+
+ Headers
+
+
+ Headers
+
+
+ Headers
+
+
+ Headers
+
+
+ Headers
+
+
+ Headers
+
+
+ Headers
+
+
+ Headers
+
+
+ Headers
+
+
+ Headers
+
+
+ Headers
+
+
+ Headers
+
+
+ Headers
+
+
+ Headers
+
+
+ Headers
+
+
+ Headers
+
+
+ Headers
+
+
+ Headers
+
+
+ Headers
+
+
+ Headers
+
+
+ Headers
+
+
+ Headers
+
+
+ Headers
+
+
+ Headers
+
+
+ Headers
+
+
+ Headers
+
+
+ Headers
+
+
+ Headers
+
+
+ Headers
+
+
+ Headers
+
+
+ Headers
+
+
+ Headers
+
+
+ Headers
+
+
+ Headers
+
+
+ Headers
+
+
+ Headers
+
+
+ Headers
+
+
+ Headers
+
+
+ Headers
+
+
+ Headers
+
+
+ Headers
+
+
+ Headers
+
+
+ Headers
+
+
+ Headers
+
+
+ Headers
+
+
+ Headers
+
+
+ Headers
+
+
+ Headers
+
+
+ Headers
+
+
+ Headers
+
+
+ Headers
+
+
+ Headers
+
+
+ Headers
+
+
+ Headers
+
+
+ Headers
+
+
+ Headers
+
+
+ Headers
+
+
+ Headers
+
+
+ Headers
+
+
+ Headers
+
+
+ Headers
+
+
+ Headers
+
+
+ Headers
+
+
+ Headers
+
+
+ Headers
+
+
+ Headers
+
+
+ Headers
+
+
+ Headers
+
+
+ Headers
+
+
+ Headers
+
+
+ Headers
+
+
+ Headers
+
+
+ Headers
+
+
+ Headers
+
+
+ Headers
+
+
+ Headers
+
+
+ Headers
+
+
+ Headers
+
+
+ Headers
+
+
+ Headers
+
+
+ Headers
+
+
+ Headers
+
+
+ Headers
+
+
+ Headers
+
+
+ Headers
+
+
+ Headers
+
+
+ Headers
+
+
+ Headers
+
+
+ Headers
+
+
+ Headers
+
+
+ Headers
+
+
+ Headers
+
+
+ Headers
+
+
+ Headers
+
+
+ Headers
+
+
+ Headers
+
+
+ Headers
+
+
+ Headers
+
+
+ Headers
+
+
+ Headers
+
+
+ Headers
+
+
+ Headers
+
+
+ Headers
+
+
+ Headers
+
+
+ Headers
+
+
+ Headers
+
+
+ Headers
+
+
+ Headers
+
+
+ Headers
+
+
+ Headers
+
+
+ Headers
+
+
+ Headers
+
+
+ Headers
+
+
+ Headers
+
+
+ Headers
+
+
+ Headers
+
+
+ Headers
+
+
+ Headers
+
+
+ Headers
+
+
+ Headers
+
+
+ Headers
+
+
+ Headers
+
+
+ Headers
+
+
+ Headers
+
+
+ Headers
+
+
+ Headers
+
+
+ Headers
+
+
+ Headers
+
+
+ Headers
+
+
+ Headers
+
+
+ Headers
+
+
+ Headers
+
+
+ Headers
+
+
+ Headers
+
+
+ Headers
+
+
+ Headers
+
+
+ Headers
+
+
+ Headers
+
+
+ Headers
+
+
+ Headers
+
+
+ Headers
+
+
+
+
+ Sources
+
+
+ Sources
+
+
+ Sources
+
+
+ Sources
+
+
+ Sources
+
+
+ Sources
+
+
+ Sources
+
+
+ Sources
+
+
+ Sources
+
+
+ Sources
+
+
+ Sources
+
+
+ Sources
+
+
+ Sources
+
+
+ Sources
+
+
+ Sources
+
+
+ Sources
+
+
+ Sources
+
+
+ Sources
+
+
+ Sources
+
+
+ Sources
+
+
+ Sources
+
+
+ Sources
+
+
+ Sources
+
+
+ Sources
+
+
+ Sources
+
+
+ Sources
+
+
+ Sources
+
+
+ Sources
+
+
+ Sources
+
+
+ Sources
+
+
+ Sources
+
+
+ Sources
+
+
+ Sources
+
+
+ Sources
+
+
+ Sources
+
+
+ Sources
+
+
+ Sources
+
+
+ Sources
+
+
+ Sources
+
+
+ Sources
+
+
+ Sources
+
+
+ Sources
+
+
+ Sources
+
+
+ Sources
+
+
+ Sources
+
+
+ Sources
+
+
+ Sources
+
+
+ Sources
+
+
+ Sources
+
+
+ Sources
+
+
+ Sources
+
+
+ Sources
+
+
+ Sources
+
+
+ Sources
+
+
+ Sources
+
+
+ Sources
+
+
+ Sources
+
+
+ Sources
+
+
+ Sources
+
+
+ Sources
+
+
+ Sources
+
+
+ Sources
+
+
+ Sources
+
+
+ Sources
+
+
+ Sources
+
+
+ Sources
+
+
+ Sources
+
+
+ Sources
+
+
+ Sources
+
+
+ Sources
+
+
+ Sources
+
+
+ Sources
+
+
+ Sources
+
+
+ Sources
+
+
+ Sources
+
+
+ Sources
+
+
+ Sources
+
+
+ Sources
+
+
+ Sources
+
+
+ Sources
+
+
+ Sources
+
+
+ Sources
+
+
+ Sources
+
+
+ Sources
+
+
+ Sources
+
+
+ Sources
+
+
+ Sources
+
+
+ Sources
+
+
+
+
+ Libraries
+
+
+
+
+ Libraries
+
+
+
+
+ Alx
+
+
+ Alx
+
+
+
+
\ No newline at end of file
diff --git a/build/agalib01.sln b/build/agalib01.sln
new file mode 100644
index 000000000..5a4f91259
--- /dev/null
+++ b/build/agalib01.sln
@@ -0,0 +1,77 @@
+
+Microsoft Visual Studio Solution File, Format Version 12.00
+# Visual Studio 15
+VisualStudioVersion = 15.0.27004.2002
+MinimumVisualStudioVersion = 10.0.40219.1
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "AgaLib01", "AgaLib01.vcxproj", "{2D38A763-3D74-4338-9362-B891784EC90E}"
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "xi", "xi.vcxproj", "{3A5B0119-6DAD-4407-9EE1-3B739B0581E8}"
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "xvaga01", "xvaga01.vcxproj", "{4A2FC619-2461-4F58-8F1D-92FA153E39A2}"
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "xvapp", "xvapp.vcxproj", "{153C04B0-1F72-4DA9-8AC1-7DF76FFACFD2}"
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "xvtdb", "xvtdb.vcxproj", "{9C91BACF-9A70-4973-B8CC-FA3D2AF9867C}"
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "xvslt", "xvslt.vcxproj", "{7ECF3959-40CC-4BAA-A5E1-8699789AC386}"
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "base64", "..\libraries\libb64\base64\VisualStudioProject\base64.vcxproj", "{0B094121-DC64-4D74-AFA0-750B83F800D0}"
+EndProject
+Global
+ GlobalSection(SolutionConfigurationPlatforms) = preSolution
+ Debug|Win32 = Debug|Win32
+ Debug|x64 = Debug|x64
+ Release|Win32 = Release|Win32
+ Release|x64 = Release|x64
+ EndGlobalSection
+ GlobalSection(ProjectConfigurationPlatforms) = postSolution
+ {2D38A763-3D74-4338-9362-B891784EC90E}.Debug|Win32.ActiveCfg = Debug|Win32
+ {2D38A763-3D74-4338-9362-B891784EC90E}.Debug|Win32.Build.0 = Debug|Win32
+ {2D38A763-3D74-4338-9362-B891784EC90E}.Debug|x64.ActiveCfg = Debug|Win32
+ {2D38A763-3D74-4338-9362-B891784EC90E}.Release|Win32.ActiveCfg = Release|Win32
+ {2D38A763-3D74-4338-9362-B891784EC90E}.Release|Win32.Build.0 = Release|Win32
+ {2D38A763-3D74-4338-9362-B891784EC90E}.Release|x64.ActiveCfg = Release|Win32
+ {3A5B0119-6DAD-4407-9EE1-3B739B0581E8}.Debug|Win32.ActiveCfg = Debug|Win32
+ {3A5B0119-6DAD-4407-9EE1-3B739B0581E8}.Debug|Win32.Build.0 = Debug|Win32
+ {3A5B0119-6DAD-4407-9EE1-3B739B0581E8}.Debug|x64.ActiveCfg = Debug|Win32
+ {3A5B0119-6DAD-4407-9EE1-3B739B0581E8}.Release|Win32.ActiveCfg = Release|Win32
+ {3A5B0119-6DAD-4407-9EE1-3B739B0581E8}.Release|Win32.Build.0 = Release|Win32
+ {3A5B0119-6DAD-4407-9EE1-3B739B0581E8}.Release|x64.ActiveCfg = Release|Win32
+ {4A2FC619-2461-4F58-8F1D-92FA153E39A2}.Debug|Win32.ActiveCfg = Debug|Win32
+ {4A2FC619-2461-4F58-8F1D-92FA153E39A2}.Debug|Win32.Build.0 = Debug|Win32
+ {4A2FC619-2461-4F58-8F1D-92FA153E39A2}.Debug|x64.ActiveCfg = Debug|Win32
+ {4A2FC619-2461-4F58-8F1D-92FA153E39A2}.Release|Win32.ActiveCfg = Release|Win32
+ {4A2FC619-2461-4F58-8F1D-92FA153E39A2}.Release|Win32.Build.0 = Release|Win32
+ {4A2FC619-2461-4F58-8F1D-92FA153E39A2}.Release|x64.ActiveCfg = Release|Win32
+ {153C04B0-1F72-4DA9-8AC1-7DF76FFACFD2}.Debug|Win32.ActiveCfg = Debug|Win32
+ {153C04B0-1F72-4DA9-8AC1-7DF76FFACFD2}.Debug|Win32.Build.0 = Debug|Win32
+ {153C04B0-1F72-4DA9-8AC1-7DF76FFACFD2}.Debug|x64.ActiveCfg = Debug|Win32
+ {153C04B0-1F72-4DA9-8AC1-7DF76FFACFD2}.Release|Win32.ActiveCfg = Release|Win32
+ {153C04B0-1F72-4DA9-8AC1-7DF76FFACFD2}.Release|Win32.Build.0 = Release|Win32
+ {153C04B0-1F72-4DA9-8AC1-7DF76FFACFD2}.Release|x64.ActiveCfg = Release|Win32
+ {9C91BACF-9A70-4973-B8CC-FA3D2AF9867C}.Debug|Win32.ActiveCfg = Release|Win32
+ {9C91BACF-9A70-4973-B8CC-FA3D2AF9867C}.Debug|Win32.Build.0 = Release|Win32
+ {9C91BACF-9A70-4973-B8CC-FA3D2AF9867C}.Debug|x64.ActiveCfg = Debug|Win32
+ {9C91BACF-9A70-4973-B8CC-FA3D2AF9867C}.Release|Win32.ActiveCfg = Release|Win32
+ {9C91BACF-9A70-4973-B8CC-FA3D2AF9867C}.Release|Win32.Build.0 = Release|Win32
+ {9C91BACF-9A70-4973-B8CC-FA3D2AF9867C}.Release|x64.ActiveCfg = Release|Win32
+ {7ECF3959-40CC-4BAA-A5E1-8699789AC386}.Debug|Win32.ActiveCfg = Debug|Win32
+ {7ECF3959-40CC-4BAA-A5E1-8699789AC386}.Debug|Win32.Build.0 = Debug|Win32
+ {7ECF3959-40CC-4BAA-A5E1-8699789AC386}.Debug|x64.ActiveCfg = Debug|Win32
+ {7ECF3959-40CC-4BAA-A5E1-8699789AC386}.Release|Win32.ActiveCfg = Release|Win32
+ {7ECF3959-40CC-4BAA-A5E1-8699789AC386}.Release|Win32.Build.0 = Release|Win32
+ {7ECF3959-40CC-4BAA-A5E1-8699789AC386}.Release|x64.ActiveCfg = Release|Win32
+ {0B094121-DC64-4D74-AFA0-750B83F800D0}.Debug|Win32.ActiveCfg = Debug|Win32
+ {0B094121-DC64-4D74-AFA0-750B83F800D0}.Debug|Win32.Build.0 = Debug|Win32
+ {0B094121-DC64-4D74-AFA0-750B83F800D0}.Debug|x64.ActiveCfg = Debug|Win32
+ {0B094121-DC64-4D74-AFA0-750B83F800D0}.Release|Win32.ActiveCfg = Release|Win32
+ {0B094121-DC64-4D74-AFA0-750B83F800D0}.Release|Win32.Build.0 = Release|Win32
+ {0B094121-DC64-4D74-AFA0-750B83F800D0}.Release|x64.ActiveCfg = Release|Win32
+ EndGlobalSection
+ GlobalSection(SolutionProperties) = preSolution
+ HideSolutionNode = FALSE
+ EndGlobalSection
+ GlobalSection(ExtensibilityGlobals) = postSolution
+ SolutionGuid = {F6953F85-8BF0-45D8-BFAA-DA516BDDEAED}
+ EndGlobalSection
+EndGlobal
diff --git a/build/fp01.sln b/build/fp01.sln
new file mode 100644
index 000000000..f4260068d
--- /dev/null
+++ b/build/fp01.sln
@@ -0,0 +1,79 @@
+
+Microsoft Visual Studio Solution File, Format Version 12.00
+# Visual Studio 15
+VisualStudioVersion = 15.0.27130.2027
+MinimumVisualStudioVersion = 10.0.40219.1
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "fplib01", "fplib01.vcxproj", "{A7FD39E9-5F95-471C-8468-49083FED7DC8}"
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "fp010", "fp010.vcxproj", "{9C91BACF-9A70-4973-B8CC-FA3D2AF9867C}"
+ ProjectSection(ProjectDependencies) = postProject
+ {A7FD39E9-5F95-471C-8468-49083FED7DC8} = {A7FD39E9-5F95-471C-8468-49083FED7DC8}
+ EndProjectSection
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "AgaLib01", "AgaLib01.vcxproj", "{2D38A763-3D74-4338-9362-B891784EC90E}"
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "fp011", "fp011.vcxproj", "{A539BCC1-D08F-4D78-A8EA-65560F4A60CD}"
+ ProjectSection(ProjectDependencies) = postProject
+ {A7FD39E9-5F95-471C-8468-49083FED7DC8} = {A7FD39E9-5F95-471C-8468-49083FED7DC8}
+ EndProjectSection
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "cglib01", "cglib01.vcxproj", "{7B80F974-CE2E-4BD9-855A-44FF139FF288}"
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "vedoc01", "vedoc01.vcxproj", "{A1CE9743-A597-4F92-B55A-345A366C9E55}"
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "vedocext01", "vedocext01.vcxproj", "{0042619A-6B7C-4D3D-9CD9-9BDD8D200C15}"
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "lilib", "lilib.vcxproj", "{B61F0AD4-0CCE-4371-8E92-85A26CAF1A7C}"
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "xvaga01", "xvaga01.vcxproj", "{4A2FC619-2461-4F58-8F1D-92FA153E39A2}"
+EndProject
+Global
+ GlobalSection(SolutionConfigurationPlatforms) = preSolution
+ Debug|Win32 = Debug|Win32
+ Release|Win32 = Release|Win32
+ EndGlobalSection
+ GlobalSection(ProjectConfigurationPlatforms) = postSolution
+ {A7FD39E9-5F95-471C-8468-49083FED7DC8}.Debug|Win32.ActiveCfg = Debug|Win32
+ {A7FD39E9-5F95-471C-8468-49083FED7DC8}.Debug|Win32.Build.0 = Debug|Win32
+ {A7FD39E9-5F95-471C-8468-49083FED7DC8}.Release|Win32.ActiveCfg = Release|Win32
+ {A7FD39E9-5F95-471C-8468-49083FED7DC8}.Release|Win32.Build.0 = Release|Win32
+ {9C91BACF-9A70-4973-B8CC-FA3D2AF9867C}.Debug|Win32.ActiveCfg = Debug|Win32
+ {9C91BACF-9A70-4973-B8CC-FA3D2AF9867C}.Debug|Win32.Build.0 = Debug|Win32
+ {9C91BACF-9A70-4973-B8CC-FA3D2AF9867C}.Release|Win32.ActiveCfg = Release|Win32
+ {9C91BACF-9A70-4973-B8CC-FA3D2AF9867C}.Release|Win32.Build.0 = Release|Win32
+ {2D38A763-3D74-4338-9362-B891784EC90E}.Debug|Win32.ActiveCfg = Debug|Win32
+ {2D38A763-3D74-4338-9362-B891784EC90E}.Debug|Win32.Build.0 = Debug|Win32
+ {2D38A763-3D74-4338-9362-B891784EC90E}.Release|Win32.ActiveCfg = Release|Win32
+ {2D38A763-3D74-4338-9362-B891784EC90E}.Release|Win32.Build.0 = Release|Win32
+ {A539BCC1-D08F-4D78-A8EA-65560F4A60CD}.Debug|Win32.ActiveCfg = Debug|Win32
+ {A539BCC1-D08F-4D78-A8EA-65560F4A60CD}.Debug|Win32.Build.0 = Debug|Win32
+ {A539BCC1-D08F-4D78-A8EA-65560F4A60CD}.Release|Win32.ActiveCfg = Release|Win32
+ {A539BCC1-D08F-4D78-A8EA-65560F4A60CD}.Release|Win32.Build.0 = Release|Win32
+ {7B80F974-CE2E-4BD9-855A-44FF139FF288}.Debug|Win32.ActiveCfg = Debug|Win32
+ {7B80F974-CE2E-4BD9-855A-44FF139FF288}.Debug|Win32.Build.0 = Debug|Win32
+ {7B80F974-CE2E-4BD9-855A-44FF139FF288}.Release|Win32.ActiveCfg = Release|Win32
+ {7B80F974-CE2E-4BD9-855A-44FF139FF288}.Release|Win32.Build.0 = Release|Win32
+ {A1CE9743-A597-4F92-B55A-345A366C9E55}.Debug|Win32.ActiveCfg = Debug|Win32
+ {A1CE9743-A597-4F92-B55A-345A366C9E55}.Debug|Win32.Build.0 = Debug|Win32
+ {A1CE9743-A597-4F92-B55A-345A366C9E55}.Release|Win32.ActiveCfg = Release|Win32
+ {A1CE9743-A597-4F92-B55A-345A366C9E55}.Release|Win32.Build.0 = Release|Win32
+ {0042619A-6B7C-4D3D-9CD9-9BDD8D200C15}.Debug|Win32.ActiveCfg = Debug|Win32
+ {0042619A-6B7C-4D3D-9CD9-9BDD8D200C15}.Debug|Win32.Build.0 = Debug|Win32
+ {0042619A-6B7C-4D3D-9CD9-9BDD8D200C15}.Release|Win32.ActiveCfg = Release|Win32
+ {0042619A-6B7C-4D3D-9CD9-9BDD8D200C15}.Release|Win32.Build.0 = Release|Win32
+ {B61F0AD4-0CCE-4371-8E92-85A26CAF1A7C}.Debug|Win32.ActiveCfg = Debug|Win32
+ {B61F0AD4-0CCE-4371-8E92-85A26CAF1A7C}.Debug|Win32.Build.0 = Debug|Win32
+ {B61F0AD4-0CCE-4371-8E92-85A26CAF1A7C}.Release|Win32.ActiveCfg = Release|Win32
+ {B61F0AD4-0CCE-4371-8E92-85A26CAF1A7C}.Release|Win32.Build.0 = Release|Win32
+ {4A2FC619-2461-4F58-8F1D-92FA153E39A2}.Debug|Win32.ActiveCfg = Debug|Win32
+ {4A2FC619-2461-4F58-8F1D-92FA153E39A2}.Debug|Win32.Build.0 = Debug|Win32
+ {4A2FC619-2461-4F58-8F1D-92FA153E39A2}.Release|Win32.ActiveCfg = Release|Win32
+ {4A2FC619-2461-4F58-8F1D-92FA153E39A2}.Release|Win32.Build.0 = Release|Win32
+ EndGlobalSection
+ GlobalSection(SolutionProperties) = preSolution
+ HideSolutionNode = FALSE
+ EndGlobalSection
+ GlobalSection(ExtensibilityGlobals) = postSolution
+ SolutionGuid = {F2D177A0-A760-4C18-8CC0-D83161148EFE}
+ EndGlobalSection
+EndGlobal
diff --git a/build/fp01.vcxproj.filters b/build/fp01.vcxproj.filters
new file mode 100644
index 000000000..57023995d
--- /dev/null
+++ b/build/fp01.vcxproj.filters
@@ -0,0 +1,138 @@
+
+
+
+
+
+
+
+ {8f3c3b75-6954-4409-b115-7896d032b58a}
+
+
+ {d2d65598-cd6c-4d2e-8968-54ffb82bf207}
+
+
+ {32532cc0-eb4d-4fdb-b7d8-1f1fb293350c}
+
+
+ {681a7df4-f2b5-4870-8949-6d7adba5aa29}
+
+
+ {a3067f4a-a21c-4966-b31b-d0536b8df95f}
+
+
+ {b801f294-9bb4-466f-90f4-441d0e94cd55}
+
+
+
+
+ Headers
+
+
+ Headers
+
+
+ Headers
+
+
+ Headers
+
+
+ Headers
+
+
+ Headers
+
+
+ Headers
+
+
+ Headers
+
+
+ Headers
+
+
+
+
+ Sources
+
+
+ Sources
+
+
+ Sources
+
+
+ Sources
+
+
+ Sources
+
+
+ Sources
+
+
+ Sources
+
+
+ Sources
+
+
+ Sources
+
+
+ Sources
+
+
+ Sources
+
+
+ Sources
+
+
+
+
+ Masks
+
+
+ Masks
+
+
+ Masks
+
+
+ Masks
+
+
+ Masks
+
+
+ Masks
+
+
+ Mask
+
+
+ Mask
+
+
+ Mask
+
+
+ Mask
+
+
+ Mask
+
+
+
+
+ Menu
+
+
+
+
+ Ini
+
+
+
\ No newline at end of file
diff --git a/build/fp010.vcxproj b/build/fp010.vcxproj
new file mode 100644
index 000000000..c03161045
--- /dev/null
+++ b/build/fp010.vcxproj
@@ -0,0 +1,244 @@
+
+
+
+
+ Debug
+ Win32
+
+
+ Release
+ Win32
+
+
+
+ {9C91BACF-9A70-4973-B8CC-FA3D2AF9867C}
+ fp
+ 10.0.17763.0
+
+
+
+ Application
+ false
+ v141
+
+
+ Application
+ false
+ v141
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <_ProjectFileVersion>10.0.30319.1
+ ..\exe\
+ ..\obj\$(SolutionName)\$(ProjectName)\
+ true
+ ..\exe\
+ ..\obj\$(SolutionName)\$(ProjectName)\
+ false
+ false
+ false
+ false
+ false
+
+
+
+ _DEBUG;%(PreprocessorDefinitions)
+ true
+ true
+ Win32
+ .\..\debug/tf0.tlb
+
+
+
+
+ Disabled
+ ..\libraries\SQLAPI\include; ..\src\xvtdb\;..\src\cg01;..\src\include01;..\src\xvaga01;%(AdditionalIncludeDirectories)
+ _DEBUG;WIN32;__LONGDOUBLE__;_WINDOWS;%(PreprocessorDefinitions)
+ false
+ MultiThreadedDebug
+ Level3
+ true
+ ProgramDatabase
+
+
+
+
+ true
+
+
+ _DEBUG;%(PreprocessorDefinitions)
+ 0x0410
+ ..\libraries\wx28X\include;%(AdditionalIncludeDirectories)
+
+
+ %(AdditionalDependencies)
+ true
+ %(IgnoreSpecificDefaultLibraries)
+ true
+ Windows
+ false
+
+
+ MachineX86
+ false
+
+
+ true
+ .\..\debug/tf0.bsc
+
+
+
+
+
+
+
+
+ NDEBUG;%(PreprocessorDefinitions)
+ true
+ true
+ Win32
+ .\..\release/tf0.tlb
+
+
+
+
+ MaxSpeed
+ Default
+ ..\src\xvtdb\;..\src\cg01;..\src\include01;..\src\xvaga01;%(AdditionalIncludeDirectories)
+ NDEBUG;WIN32;_WINDOWS;%(PreprocessorDefinitions)
+ true
+ MultiThreaded
+ true
+ .\..\release/tf0.pch
+ Level3
+ true
+ false
+ true
+
+
+ NDEBUG;%(PreprocessorDefinitions)
+ 0x0410
+ ..\libraries\wx28X\include;%(AdditionalIncludeDirectories)
+
+
+ $(OutDir)$(TargetName)$(TargetExt)
+ true
+ Windows
+
+
+ MachineX86
+ 12.0
+ false
+ %(AdditionalDependencies)
+
+
+ true
+ .\..\release/tf0.bsc
+
+
+
+
+
+
+
+
+ Document
+ true
+
+
+ Document
+ true
+
+
+ Document
+ true
+
+
+ Document
+ true
+
+
+
+
+ {2d38a763-3d74-4338-9362-b891784ec90e}
+
+
+ {7b80f974-ce2e-4bd9-855a-44ff139ff288}
+
+
+ {4237eab6-f619-4c7d-8b39-9961a84f83f2}
+
+
+ {b61f0ad4-0cce-4371-8e92-85a26caf1a7c}
+
+
+ {a1ce9743-a597-4f92-b55a-345a366c9e55}
+
+
+ {0042619a-6b7c-4d3d-9cd9-9bdd8d200c15}
+
+
+
+
+
+
+
+ false
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ false
+
+
+
+
+
+
+
+ Document
+
+
+
+
+
+
+
+
+
+
+ Designer
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/build/fp010.vcxproj.filters b/build/fp010.vcxproj.filters
new file mode 100644
index 000000000..3099a77ef
--- /dev/null
+++ b/build/fp010.vcxproj.filters
@@ -0,0 +1,104 @@
+
+
+
+
+ {8b9b8072-7920-4b49-896b-f632e5ac1415}
+
+
+ {aa4d5fac-6242-4e34-8b78-263ec3e4d15f}
+
+
+ {d7227be8-6583-4473-895f-595f8a48a8cb}
+
+
+ {022385bd-474b-4d1f-a01c-6d799bae0328}
+
+
+ {06bc8aeb-f506-4c2e-85fb-bdeb92f2c77e}
+
+
+ {5eca5008-daf1-4473-8247-7dd6362ceeb1}
+
+
+
+
+ Sources
+
+
+ Sources
+
+
+ Sources
+
+
+ Sources
+
+
+ Sources
+
+
+ Sources
+
+
+ Sources
+
+
+
+
+ Headers
+
+
+ Headers
+
+
+ Headers
+
+
+ Headers
+
+
+ Headers
+
+
+ Headers
+
+
+
+
+ Masks
+
+
+ Masks
+
+
+ Masks
+
+
+ Masks
+
+
+ Masks
+
+
+
+
+ Libraries
+
+
+
+
+ Menu
+
+
+
+
+ Reports
+
+
+ Reports
+
+
+
+
+
+
\ No newline at end of file
diff --git a/build/fp011.vcxproj b/build/fp011.vcxproj
new file mode 100644
index 000000000..cc787c19e
--- /dev/null
+++ b/build/fp011.vcxproj
@@ -0,0 +1,223 @@
+
+
+
+
+ Debug
+ Win32
+
+
+ Release
+ Win32
+
+
+
+ {A539BCC1-D08F-4D78-A8EA-65560F4A60CD}
+ fp
+ 10.0.17763.0
+
+
+
+ Application
+ false
+ v141
+
+
+ Application
+ false
+ v141
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <_ProjectFileVersion>10.0.30319.1
+ ..\exe\
+ ..\obj\$(SolutionName)\$(ProjectName)\
+ true
+ ..\exe\
+ ..\obj\$(SolutionName)\$(ProjectName)\
+ false
+ false
+ false
+ false
+ false
+
+
+
+ _DEBUG;%(PreprocessorDefinitions)
+ true
+ true
+ Win32
+ .\..\debug/tf010.tlb
+
+
+
+
+ Disabled
+ ..\src\xvtdb\;..\src\cg01;..\src\include01;..\src\xvaga01;%(AdditionalIncludeDirectories)
+ _DEBUG;WIN32;__LONGDOUBLE__;_WINDOWS;%(PreprocessorDefinitions)
+ false
+ MultiThreadedDebug
+ Level3
+ true
+ ProgramDatabase
+
+
+
+
+ true
+
+
+ _DEBUG;%(PreprocessorDefinitions)
+ 0x0410
+ ..\libraries\wx28X\include;%(AdditionalIncludeDirectories)
+
+
+ %(AdditionalDependencies)
+ true
+ %(IgnoreSpecificDefaultLibraries)
+ true
+ Windows
+ false
+
+
+ MachineX86
+ false
+
+
+ true
+ .\..\debug/tf010.bsc
+
+
+
+
+
+
+
+
+ NDEBUG;%(PreprocessorDefinitions)
+ true
+ true
+ Win32
+ .\..\release/tf0.tlb
+
+
+
+
+ MaxSpeed
+ Default
+ ..\src\xvtdb\;..\src\cg01;..\src\include01;..\src\xvaga01;%(AdditionalIncludeDirectories)
+ NDEBUG;WIN32;_WINDOWS;%(PreprocessorDefinitions)
+ true
+ MultiThreaded
+ true
+ .\..\release/tf010.pch
+ Level3
+ true
+ true
+
+
+ NDEBUG;%(PreprocessorDefinitions)
+ 0x0410
+ ..\libraries\wx28X\include;%(AdditionalIncludeDirectories)
+
+
+ $(OutDir)$(TargetName)$(TargetExt)
+ true
+ Windows
+
+
+ MachineX86
+ 12.0
+ false
+ %(AdditionalDependencies)
+
+
+ true
+ .\..\release/tf0.bsc
+
+
+
+
+
+
+
+
+ Document
+ true
+
+
+ Document
+ true
+
+
+ Document
+ true
+
+
+ Document
+ true
+
+
+
+
+ {2d38a763-3d74-4338-9362-b891784ec90e}
+
+
+ {7b80f974-ce2e-4bd9-855a-44ff139ff288}
+
+
+ {c575788b-0be4-4f68-b9c9-3c204ec04e07}
+
+
+ {b61f0ad4-0cce-4371-8e92-85a26caf1a7c}
+
+
+ {7bf6939e-dfcd-49ed-b0a8-edb68ddce6d5}
+
+
+ {a1ce9743-a597-4f92-b55a-345a366c9e55}
+
+
+ {0042619a-6b7c-4d3d-9cd9-9bdd8d200c15}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Document
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/build/fp011.vcxproj.filters b/build/fp011.vcxproj.filters
new file mode 100644
index 000000000..50df51146
--- /dev/null
+++ b/build/fp011.vcxproj.filters
@@ -0,0 +1,50 @@
+
+
+
+
+ {8b9b8072-7920-4b49-896b-f632e5ac1415}
+
+
+ {aa4d5fac-6242-4e34-8b78-263ec3e4d15f}
+
+
+ {d7227be8-6583-4473-895f-595f8a48a8cb}
+
+
+ {06bc8aeb-f506-4c2e-85fb-bdeb92f2c77e}
+
+
+
+
+ Sources
+
+
+ Sources
+
+
+ Sources
+
+
+
+
+ Headers
+
+
+ Headers
+
+
+ Headers
+
+
+
+
+ Masks
+
+
+ Masks
+
+
+
+
+
+
\ No newline at end of file
diff --git a/build/fplib01.vcxproj b/build/fplib01.vcxproj
new file mode 100644
index 000000000..e235238da
--- /dev/null
+++ b/build/fplib01.vcxproj
@@ -0,0 +1,175 @@
+
+
+
+
+ Debug
+ Win32
+
+
+ Release
+ Win32
+
+
+
+ {A7FD39E9-5F95-471C-8468-49083FED7DC8}
+ fp
+ 10.0.17763.0
+
+
+
+ StaticLibrary
+ false
+ v141
+
+
+ StaticLibrary
+ false
+ v141
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <_ProjectFileVersion>10.0.30319.1
+ ..\lib\
+ ..\obj\$(SolutionName)\$(ProjectName)\
+ false
+ ..\lib\
+ ..\obj\$(SolutionName)\$(ProjectName)\
+ false
+ false
+ false
+ .lib
+ .lib
+
+
+
+ _DEBUG;%(PreprocessorDefinitions)
+ true
+ true
+ Win32
+ .\..\debug/01.tlb
+
+
+
+
+ Disabled
+ ..\libraries\SQLAPI\include;..\src\xvtdb\;..\src\cg01;..\src\include01;..\src\xvaga01;%(AdditionalIncludeDirectories)
+ _DEBUG;WIN32;_WINDOWS;__LONGDOUBLE__;%(PreprocessorDefinitions)
+ false
+ MultiThreadedDebug
+ $(IntDir)$(TargetName).pch
+ $(IntDir)
+ $(IntDir)
+ $(IntDir)$(TargetName).pdb
+ Level3
+ true
+ ProgramDatabase
+ true
+ true
+
+
+ _DEBUG;%(PreprocessorDefinitions)
+ 0x0410
+ ..\wx28X\include;%(AdditionalIncludeDirectories)
+
+
+ wsock32.lib;%(AdditionalDependencies)
+ $(OutDir)$(TargetName)$(TargetExt)
+ true
+ %(IgnoreSpecificDefaultLibraries)
+ true
+ $(TargetDir)$(TargetName).pdb
+ Windows
+ false
+
+
+ MachineX86
+ NotSet
+
+
+ true
+ .\..\debug/01.bsc
+
+
+
+
+ NDEBUG;%(PreprocessorDefinitions)
+ true
+ true
+ Win32
+ .\..\release/01.tlb
+
+
+
+
+ MaxSpeed
+ ..\src\xvtdb\;..\src\cg01;..\src\include01;..\src\xvaga01;%(AdditionalIncludeDirectories)
+ NDEBUG;WIN32;_WINDOWS;%(PreprocessorDefinitions)
+ true
+ MultiThreaded
+ true
+ false
+ Level3
+ true
+ true
+
+
+ NDEBUG;%(PreprocessorDefinitions)
+ 0x0410
+ ..\wx28X\include;%(AdditionalIncludeDirectories)
+
+
+ wsock32.lib;%(AdditionalDependencies)
+ true
+ %(IgnoreSpecificDefaultLibraries)
+ Windows
+
+
+ MachineX86
+ 12.0
+ false
+ $(OutDir)$(TargetName)$(TargetExt)
+ $(TargetDir)$(TargetName).pdb
+
+
+ true
+ .\..\release/fplib01.bsc
+
+
+
+
+ Document
+ true
+
+
+ Document
+ true
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/build/fplib01.vcxproj.filters b/build/fplib01.vcxproj.filters
new file mode 100644
index 000000000..139539dfa
--- /dev/null
+++ b/build/fplib01.vcxproj.filters
@@ -0,0 +1,19 @@
+
+
+
+
+ {72a9ea2f-8fbe-4546-96f3-21a4de35bf0e}
+
+
+ {afa0f493-bfe6-4bd2-add2-3256306ed9c5}
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/build/xvaga01.vcxproj b/build/xvaga01.vcxproj
new file mode 100644
index 000000000..3647b822a
--- /dev/null
+++ b/build/xvaga01.vcxproj
@@ -0,0 +1,361 @@
+
+
+
+
+ Debug
+ Win32
+
+
+ Release
+ Win32
+
+
+
+ {4A2FC619-2461-4F58-8F1D-92FA153E39A2}
+ xvaga
+ 10.0.17763.0
+
+
+
+ DynamicLibrary
+ false
+ MultiByte
+ v141
+
+
+ DynamicLibrary
+ false
+ MultiByte
+ v141
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <_ProjectFileVersion>10.0.30319.1
+ ..\exe\
+ ..\obj\common\$(ProjectName)\
+ false
+ ..\exe\
+ ..\obj\common\$(ProjectName)\
+ true
+ $(ProjectName)
+ false
+ false
+ $(ProjectName)
+
+
+
+ NDEBUG;%(PreprocessorDefinitions)
+ true
+ true
+ Win32
+ .\..\lib/xvaga.tlb
+
+
+
+
+ MaxSpeed
+ ..\libraries\wx28X\lib\vc_dll\mswd\;..\libraries\wx28X\include\;..\libraries\libb64\include;..\libraries\wxSMTP;..\libraries\wxPG\propgrid\include\;%(AdditionalIncludeDirectories)
+ WIN32;NDEBUG;_WINDOWS;_USRDLL;XVAGADLL;%(PreprocessorDefinitions)
+ MultiThreaded
+ Level3
+
+
+ true
+ $(IntDir)$(TargetName).pdb
+ true
+
+
+ NDEBUG;%(PreprocessorDefinitions)
+ 0x0410
+
+
+ psapi.lib;iphlpapi.lib;version.lib;..\libraries\libb64\base64\VisualStudioProject\Release\base64.lib;%(AdditionalDependencies)
+ true
+ false
+
+
+ ../lib/$(TargetName).lib
+ MachineX86
+ 12.0
+ $(IntDir)$(TargetName).pdb
+ MSVCRT
+
+
+ true
+ $(IntDir)$(TargetName).bsc
+
+
+
+
+
+
+
+
+ _DEBUG;%(PreprocessorDefinitions)
+ true
+ true
+ Win32
+ .\../lib/xvaga.tlb
+
+
+
+
+ Disabled
+ ..\libraries\wx28X\lib\vc_dll\mswd\;..\libraries\wx28X\include\;..\libraries\libb64\include;..\libraries\wxSMTP;..\libraries\wxPG\propgrid\include\;%(AdditionalIncludeDirectories)
+ DBG;WIN32;_DEBUG;_WINDOWS;_USRDLL;XVAGADLL;%(PreprocessorDefinitions)
+ false
+ EnableFastChecks
+ MultiThreadedDebug
+ Level3
+ true
+ EditAndContinue
+ $(IntDir)$(TargetName).pdb
+ true
+
+
+ _DEBUG;%(PreprocessorDefinitions)
+ 0x0410
+
+
+ psapi.lib;iphlpapi.lib;version.lib;..\libraries\libb64\base64\VisualStudioProject\Debug\base64.lib;%(AdditionalDependencies)
+ true
+ true
+
+
+ ../lib/$(TargetName).lib
+ MachineX86
+ 12.0
+ $(IntDir)$(TargetName).pdb
+ false
+ false
+ MSVCRTD
+
+
+ true
+ $(IntDir)$(TargetName).bsc
+
+
+
+
+
+ %(AdditionalIncludeDirectories)
+ %(PreprocessorDefinitions)
+ %(AdditionalIncludeDirectories)
+ %(PreprocessorDefinitions)
+
+
+ %(AdditionalIncludeDirectories)
+ %(PreprocessorDefinitions)
+ %(AdditionalIncludeDirectories)
+ %(PreprocessorDefinitions)
+
+
+
+
+
+ %(AdditionalIncludeDirectories)
+ %(PreprocessorDefinitions)
+ %(AdditionalIncludeDirectories)
+ %(PreprocessorDefinitions)
+
+
+
+
+ %(AdditionalIncludeDirectories)
+ %(PreprocessorDefinitions)
+ %(AdditionalIncludeDirectories)
+ %(PreprocessorDefinitions)
+
+
+ DBG;WIN32;_DEBUG;_WINDOWS;_USRDLL;XVAGADLL;%(PreprocessorDefinitions)
+ WIN32;NDEBUG;_WINDOWS;_USRDLL;XVAGADLL;%(PreprocessorDefinitions)
+
+
+
+
+ %(AdditionalIncludeDirectories)
+ %(PreprocessorDefinitions)
+ %(AdditionalIncludeDirectories)
+ %(PreprocessorDefinitions)
+
+
+
+ %(AdditionalIncludeDirectories)
+ %(PreprocessorDefinitions)
+ %(AdditionalIncludeDirectories)
+ %(PreprocessorDefinitions)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ true
+
+
+ true
+
+
+ true
+
+
+ true
+
+
+ true
+
+
+ true
+
+
+ true
+
+
+ true
+
+
+ true
+
+
+ true
+
+
+ true
+
+
+ true
+
+
+ true
+
+
+ true
+
+
+ true
+
+
+ true
+
+
+ true
+
+
+ Document
+ true
+
+
+ Document
+ true
+
+
+ Document
+ true
+
+
+ Document
+ true
+
+
+ Document
+ true
+
+
+ Document
+ true
+
+
+ Document
+ true
+
+
+ Document
+ true
+
+
+ Document
+ true
+
+
+ Document
+ true
+
+
+ Document
+ true
+
+
+ Document
+ true
+
+
+ Document
+ true
+
+
+ Document
+ true
+
+
+ true
+
+
+ true
+
+
+ true
+
+
+
+
+
+ {0b094121-dc64-4d74-afa0-750b83f800d0}
+
+
+ {21876c3b-f5a9-4aaa-9d58-f8dddaf6f10c}
+ false
+
+
+
+
+
+
\ No newline at end of file
diff --git a/build/xvaga01.vcxproj.filters b/build/xvaga01.vcxproj.filters
new file mode 100644
index 000000000..0f4193d97
--- /dev/null
+++ b/build/xvaga01.vcxproj.filters
@@ -0,0 +1,221 @@
+
+
+
+
+ {02d01f57-f0aa-4683-ad1d-1391dd459f81}
+ cpp;c;cxx;rc;def;r;odl;idl;hpj;bat
+
+
+ {714d7cc1-ddb7-4c57-a730-bb1dfe1dd931}
+ h;hpp;hxx;hm;inl
+
+
+ {8fb32207-fbe5-4fe1-9982-16ec1f4b7e94}
+ ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe
+
+
+ {24483bdc-4fc7-4177-aac6-7bf2e2bfbea2}
+
+
+
+
+ Source Files
+
+
+ Source Files
+
+
+ Source Files
+
+
+ Source Files
+
+
+ Source Files
+
+
+ Source Files
+
+
+ Source Files
+
+
+ Source Files
+
+
+ Source Files
+
+
+ Source Files
+
+
+ Source Files
+
+
+ Source Files
+
+
+ Source Files
+
+
+ Source Files
+
+
+ Source Files
+
+
+ Source Files
+
+
+ Source Files
+
+
+ Source Files
+
+
+ Source Files
+
+
+ Source Files
+
+
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+
+
+ Libraries
+
+
+ Libraries
+
+
+ Libraries
+
+
+ Libraries
+
+
+ Libraries
+
+
+ Libraries
+
+
+ Libraries
+
+
+ Libraries
+
+
+ Libraries
+
+
+ Libraries
+
+
+ Libraries
+
+
+ Libraries
+
+
+ Libraries
+
+
+ Libraries
+
+
+ Libraries
+
+
+ Libraries
+
+
+ Libraries
+
+
+ Libraries
+
+
+ Libraries
+
+
+ Libraries
+
+
+ Libraries
+
+
+
\ No newline at end of file
diff --git a/build/xvslt.vcxproj b/build/xvslt.vcxproj
new file mode 100644
index 000000000..a1d1b64e0
--- /dev/null
+++ b/build/xvslt.vcxproj
@@ -0,0 +1,219 @@
+
+
+
+
+ Debug
+ Win32
+
+
+ Release
+ Win32
+
+
+
+ {7ECF3959-40CC-4BAA-A5E1-8699789AC386}
+ xvslt
+ 10.0.17763.0
+
+
+
+ DynamicLibrary
+ false
+ MultiByte
+ v141
+
+
+ DynamicLibrary
+ false
+ MultiByte
+ v141
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <_ProjectFileVersion>10.0.30319.1
+ ..\exe\
+ ..\obj\common\$(ProjectName)\
+ false
+ ..\exe\
+ ..\obj\common\$(ProjectName)\
+ true
+ $(ProjectName)
+ false
+ false
+ $(ProjectName)
+
+
+
+ NDEBUG;%(PreprocessorDefinitions)
+ true
+ true
+ Win32
+ .\..\lib/xvslt.tlb
+
+
+
+
+ MaxSpeed
+ ..\libraries\libiconv-win-build\include;..\libraries\libxml2-win-build\include;..\libraries\libxslt\libxslt;..\libraries\libxml2-win-build\include;..\libraries\libxslt;..\libraries\libiconv-win-build\include;..\libraries\libxml2-win-build\include;;..\libraries\libxslt\libxslt;%(AdditionalIncludeDirectories)
+ WIN32;NDEBUG;_WINDOWS;_USRDLL;XVAGADLL;LIBXML_STATIC;%(PreprocessorDefinitions)
+ MultiThreaded
+ Level3
+
+
+ true
+ $(IntDir)$(TargetName).pdb
+ true
+
+
+ NDEBUG;%(PreprocessorDefinitions)
+ 0x0410
+
+
+ ws2_32.lib;;..\libraries\libxml2-win-build\build-VS2017\libxml2-static-for-dll.lib;..\libraries\libiconv-win-build\build-VS2017\libiconv-static.lib;..\libraries\zlib-win-build\build-VS2017\libz-static.lib;..\libraries\libxslt\win32\libxslt\libxslt.lib;%(AdditionalDependencies)
+ true
+ false
+
+
+ ../lib/$(TargetName).lib
+ MachineX86
+ 12.0
+ $(IntDir)$(TargetName).pdb
+
+
+ true
+ $(IntDir)$(TargetName).bsc
+
+
+
+
+
+
+
+
+ _DEBUG;%(PreprocessorDefinitions)
+ true
+ true
+ Win32
+ .\../lib/xvslt.tlb
+
+
+
+
+ Disabled
+ ..\libraries\libiconv-win-build\include;..\libraries\libxml2-win-build\include;..\libraries\libxslt\libxslt;..\libraries\libxml2-win-build\include;..\libraries\libxslt;..\libraries\libiconv-win-build\include;..\libraries\libxml2-win-build\include;;..\libraries\libxslt\libxslt;%(AdditionalIncludeDirectories)
+ DBG;WIN32;_DEBUG;_WINDOWS;_USRDLL;XVAGADLL;LIBXML_STATIC;%(PreprocessorDefinitions)
+ false
+ EnableFastChecks
+ MultiThreadedDebug
+ Level3
+ true
+ EditAndContinue
+ $(IntDir)$(TargetName).pdb
+ true
+
+
+ _DEBUG;%(PreprocessorDefinitions)
+ 0x0410
+
+
+ ws2_32.lib;;..\libraries\libxml2-win-build\build-VS2017\libxml2-static-for-dlld.lib;..\libraries\libiconv-win-build\build-VS2017\libiconv-staticd.lib;..\libraries\zlib-win-build\build-VS2017\libz-staticd.lib;..\libraries\libxslt\win32\libxslt\libxsltd.lib;%(AdditionalDependencies)
+ true
+ true
+
+
+ ../lib/$(TargetName).lib
+ MachineX86
+ 12.0
+ $(IntDir)$(TargetName).pdb
+ false
+
+
+ true
+ $(IntDir)$(TargetName).bsc
+
+
+
+
+
+
+
+
+
+
+ Document
+ true
+
+
+ Document
+ true
+
+
+ Document
+ true
+
+
+ Document
+ true
+
+
+ Document
+ true
+
+
+ Document
+ true
+
+
+ Document
+ true
+
+
+ Document
+ true
+
+
+ Document
+ true
+
+
+ Document
+ true
+
+
+ Document
+ true
+
+
+ Document
+ true
+
+
+ Document
+ true
+
+
+ Document
+ true
+
+
+
+
+ {21876c3b-f5a9-4aaa-9d58-f8dddaf6f10c}
+ false
+
+
+
+
+
+
\ No newline at end of file
diff --git a/build/xvslt.vcxproj.filters b/build/xvslt.vcxproj.filters
new file mode 100644
index 000000000..389158359
--- /dev/null
+++ b/build/xvslt.vcxproj.filters
@@ -0,0 +1,27 @@
+
+
+
+
+ {02d01f57-f0aa-4683-ad1d-1391dd459f81}
+ cpp;c;cxx;rc;def;r;odl;idl;hpj;bat
+
+
+ {714d7cc1-ddb7-4c57-a730-bb1dfe1dd931}
+ h;hpp;hxx;hm;inl
+
+
+ {8fb32207-fbe5-4fe1-9982-16ec1f4b7e94}
+ ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe
+
+
+
+
+ Source Files
+
+
+
+
+ Header Files
+
+
+
\ No newline at end of file
diff --git a/src/ca/ca3700.cpp b/src/ca/ca3700.cpp
index e5131df02..05b0789dc 100755
--- a/src/ca/ca3700.cpp
+++ b/src/ca/ca3700.cpp
@@ -1525,9 +1525,12 @@ int TPrint_rendiconto_ca_recordset::crea_filtro_rmovana(const TMask& msk, TRecty
TDate dal, al;
calcola_date_da_maschera(msk, dal, al);
- if (filtro.not_empty())
- filtro << "&&";
- filtro << "(BETWEEN(DATACOMP," << dal.date2ansi() << ',' << al.date2ansi() << "))";
+ if (dal.ok() || al.ok())
+ {
+ if (filtro.not_empty())
+ filtro << "&&";
+ filtro << "(BETWEEN(DATACOMP," << dal.date2ansi() << ',' << al.date2ansi() << "))";
+ }
}
//fase
@@ -1546,7 +1549,7 @@ void TPrint_rendiconto_ca_recordset::crea_righe_da_rmovana(TLocalisamfile& tmp,
TLog_report& log)
{
TRelation rel_rmovana(LF_RMOVANA);
- rel_rmovana.add(LF_MOVANA, "NUMREG==NUMREG"); //aggiunge le testate x avere tipi mov e descr
+// rel_rmovana.add(LF_MOVANA, "NUMREG==NUMREG"); //aggiunge le testate x avere tipi mov e descr
//..crea un cursore su rmovana per vedere se i conti selezionati hanno veri movimenti che soddisfano
//i parametri del filtro sulla maschera. ACHTUNG! Questo filtro ha senso solo se non esiste la
@@ -1566,8 +1569,11 @@ void TPrint_rendiconto_ca_recordset::crea_righe_da_rmovana(TLocalisamfile& tmp,
{
cur_rmovana.freeze();
const TRectype& rmovana = cur_rmovana.curr();
- const TRectype& movana = rel_rmovana.curr(LF_MOVANA);
+// const TRectype& movana = rel_rmovana.curr(LF_MOVANA);
+ const long numreg = rmovana.get_long(RMOVANA_NUMREG);
+ const TRectype & movana = cache().get(LF_MOVANA, numreg);
TProgress_monitor pi((long)rmovana_items, "Scansione righe movimenti...", true);
+
//aggiunta adolfica di implosione righe movimenti eventualmente ripartite in precedenza..
//..modifica che serve solo al CRPA
//se si e' scelto di compattare le rmovana...
@@ -1625,9 +1631,7 @@ void TPrint_rendiconto_ca_recordset::crea_righe_da_rmovana(TLocalisamfile& tmp,
if (cms != _codcms)
{
#ifdef DBG
- const long numreg = rmovana.get_long(RMOVANA_NUMREG);
- const TRectype & movana = cache().get(LF_MOVANA, numreg);
- TString msg; msg << "Mov - Commessa " << _codcms << " - Scartato " << movana.get(MOVANA_DCODNUM) << "." << movana.get_int(MOVANA_DANNO) << "." << movana.get_int(MOVANA_DNDOC) << " - Commessa " << cms;
+ TString msg; msg << "Mov - Commessa " << _codcms << " - Scartato " << movana.get(MOVANA_DCODNUM) << "." << movana.get_int(MOVANA_DANNO) << "." << movana.get_int(MOVANA_DNDOC) << " - Commessa " << cms;
log.log(2, msg);
#endif
@@ -1656,15 +1660,16 @@ int TPrint_rendiconto_ca_recordset::crea_filtro_rdoc(const TMask& msk, TRectype&
cur_key = 7;
//filtro date
- if (!_vitaintera)
+/* TDate dal = botime, al = eotime;
+
+ if (!_vitaintera)
{
- TDate dal, al;
calcola_date_da_maschera(msk, dal, al);
if (filtro_date.not_empty())
filtro_date << "&&";
filtro_date << "(BETWEEN(33->DATADOC," << dal.date2ansi() << ',' << al.date2ansi() << "))";
- }
+ } */
return cur_key;
}
@@ -1673,14 +1678,16 @@ void TPrint_rendiconto_ca_recordset::crea_righe_da_rdoc(TLocalisamfile& tmp, con
TLog_report& log)
{
TRelation rel_rdoc(LF_RIGHEDOC);
- rel_rdoc.add(LF_DOC, "CODNUM==CODNUM|ANNO==ANNO|PROVV==PROVV|NDOC==NDOC"); //aggiunge le testate
-
TRectype da_rdoc(LF_RIGHEDOC);
TRectype a_rdoc(LF_RIGHEDOC);
TString filtro_date;
+ TDate dal = botime, al = eotime;
- //metodo moderno
- const int cur_key = crea_filtro_rdoc(msk, da_rdoc, a_rdoc, filtro_date);
+ if (!_vitaintera)
+ calcola_date_da_maschera(msk, dal, al);
+
+ //metodo moderno
+ const int cur_key = crea_filtro_rdoc(msk, da_rdoc, a_rdoc, filtro_date);
TContabilizzazione_analitica cont_anal; //oggetto necessario per contabilizzare il documento in osservazione
@@ -1739,21 +1746,25 @@ void TPrint_rendiconto_ca_recordset::crea_righe_da_rdoc(TLocalisamfile& tmp, con
filtro << "&&";
filtro << "(" << RDOC_FASCMS << "==\"" << _codfas << "\")";
}
- if (_contsep.not_empty()) //questo in ogni modo, anche con chiave 6 o 7 (oltre che 3)
+/* if (_contsep.not_empty()) //questo in ogni modo, anche con chiave 6 o 7 (oltre che 3)
{
+ rel_rdoc.add(LF_DOC, "CODNUM==CODNUM|ANNO==ANNO|PROVV==PROVV|NDOC==NDOC"); //aggiunge le testate
if (filtro.not_empty())
filtro << "&&";
filtro << "(" << FIELD_NAME(LF_DOC, DOC_CONTSEP) << "==\"" << _contsep << "\")";
- }
+ } */
//il filtro è completo;può eseguire la scansione
TCursor cur_rdoc(&rel_rdoc, "", cur_key, &da_rdoc, &a_rdoc);
+
cur_rdoc.setfilter(filtro, update);
const TRecnotype rdoc_items = cur_rdoc.items();
+
if (rdoc_items > 0)
{
cur_rdoc.freeze();
+
TProgress_monitor pi((long) rdoc_items, "Scansione righe documenti...", true);
//memorizza l'ultimo doc per evitare doppioni in caso di doc con più righe (rielaborerebbe..
@@ -1761,17 +1772,30 @@ void TPrint_rendiconto_ca_recordset::crea_righe_da_rdoc(TLocalisamfile& tmp, con
TString old_key;
//scanning del file dei documenti alla ricerca di quelli che hanno la data ed il CODNUM
//validi nei filtri impostati dall'utente
+ const TRectype &curr_rdoc = cur_rdoc.curr();
+
for (cur_rdoc = 0; cur_rdoc.pos() < rdoc_items; ++cur_rdoc)
{
if (!pi.addstatus(1))
break;
-
//La riga esaminata deve avere una testata valida!!!!Se la testata non esiste va saltata..
//..la riga
- const TRectype& curr_doc = cur_rdoc.curr(LF_DOC);
+ TToken_string doc_key = curr_rdoc.get(DOC_PROVV);
+
+ doc_key.add(curr_rdoc.get(DOC_ANNO));
+ doc_key.add(curr_rdoc.get(DOC_CODNUM));
+ doc_key.add(curr_rdoc.get(DOC_NDOC));
+ // const TRectype& curr_doc = cur_rdoc.curr(LF_DOC);
+
+ const TRectype& curr_doc = cache().get(LF_DOC, doc_key);
if (!curr_doc.empty())
{
+ const TDate datadoc = curr_doc.get_date(DOC_DATADOC);
+ if (!between(datadoc, dal, al))
+ continue;
+ if (_contsep.full() && _contsep != curr_doc.get(DOC_CONTSEP))
+ continue;
//controlla se il documento cui appartiene la rigadoc e' stato contabilizzato;
//se e' stato contabilizzato lo salta in quanto la riga documento apparira' attraverso le righe
//dei movimenti di analitica
@@ -1780,7 +1804,7 @@ void TPrint_rendiconto_ca_recordset::crea_righe_da_rdoc(TLocalisamfile& tmp, con
//**Modifca richiesta dal CRPA!Le righe documento che hanno DACODNUM di tipo fattura da..
//..ricevere/emettere, vanno ri-contabilizzate lo stesso anche se lo sono gia' state. Il loro..
//..importo verra' poi messo nel fatturato.
- const TRectype& curr_rdoc = cur_rdoc.curr();
+// const TRectype& curr_rdoc = cur_rdoc.curr();
const TString & cms = curr_rdoc.get(RDOC_CODCMS);
const TString& rdoc_dacodnum = curr_rdoc.get(RDOC_DACODNUM);
@@ -2077,9 +2101,11 @@ class TPrint_rendiconto_ca : public TReport_application
TPrint_rendiconto_ca_rep * _rep;
protected:
+// void esporta_csv_row(ostream& file_to_date, const int first_level, const TString& cod_cms_cdc,
+// const real importi[5][4], real importi_totali[5][4]);
void esporta_csv_row(ostream& file_to_date, const int first_level, const TString& cod_cms_cdc,
- const real importi[5][4], real importi_totali[5][4]);
- void esporta_csv(TPrint_rendiconto_ca_recordset& rendy, const TFilename & datefname, const TFilename & printfname, const int r, TReport_book book, bool reset);
+ const TArray & importi, TArray & importi_totali);
+ void esporta_csv(TPrint_rendiconto_ca_recordset& rendy, const TFilename & datefname, const TFilename & printfname, const int r, TReport_book book, bool reset);
void incrementa(TToken_string& riga, const int col, const real& valore) const;
void crea_trr(const TFilename& trr) const;
virtual void export_pdf(TFilename & name, TReport_book & book, TAutomask & mask, TReport & rep);
@@ -2166,8 +2192,10 @@ void TPrint_rendiconto_ca::incrementa(TToken_string& riga, const int col, const
riga.add(r.string(), col);
}
-void TPrint_rendiconto_ca::esporta_csv_row(ostream& file_to_date, const int first_level, const TString& cod_cms_cdc,
- const real importi[5][4], real importi_totali[5][4])
+// void TPrint_rendiconto_ca::esporta_csv_row(ostream& file_to_date, const int first_level, const TString& cod_cms_cdc,
+// const real importi[5][4], real importi_totali[5][4])
+void TPrint_rendiconto_ca::esporta_csv_row(ostream& file_to_date, const int first_level, const TString& cod_cms_cdc,
+ const TArray & importi, TArray & importi_totali)
{
const int posizione_importi = first_level == LF_COMMESSE ? 6 : 2;
//crea una token string su cui mettere i valori dei record letti dal file .dbf
@@ -2205,19 +2233,24 @@ void TPrint_rendiconto_ca::esporta_csv_row(ostream& file_to_date, const int firs
//colonne budget/impegnato/maturato/fatturato
for (int j = 0; j < 4; j++)
{
- riga.add(importi[indbil][j].string(), col + j);
- importi_totali[indbil][j] += importi[indbil][j];
+ const real & importo = ((real &) ((TArray &)importi[indbil])[j]);
+
+ riga.add(importo.string(), col + j);
+ ((real &)((TArray &)importi_totali[indbil])[j]) += importo;
}
//colonne da_impegnare/da_maturare/da_fatturare
- const real da_impegnare = importi[indbil][0] - importi[indbil][1];
- riga.add(da_impegnare.string(), col + 4);
+ const real da_impegnare = ((real &)((TArray &)importi[indbil])[0]) - ((real &)((TArray &)importi[indbil])[1]);
+
+ riga.add(da_impegnare.string(), col + 4);
- const real da_maturare = importi[indbil][1] - importi[indbil][2];
- riga.add(da_maturare.string(), col + 5);
+ const real da_maturare = ((real &)((TArray &)importi[indbil])[1]) - ((real &)((TArray &)importi[indbil])[2]);
+
+ riga.add(da_maturare.string(), col + 5);
- const real da_fatturare = importi[indbil][1] - importi[indbil][3];
- riga.add(da_fatturare.string(), col + 6);
+ const real da_fatturare = ((real &)((TArray &)importi[indbil])[1]) - ((real &)((TArray &)importi[indbil])[3]);
+
+ riga.add(da_fatturare.string(), col + 6);
}
//scrive in excel mode
for (int i = posizione_importi; i < posizione_importi + 28; i++)
@@ -2250,15 +2283,81 @@ void TPrint_rendiconto_ca::esporta_csv(TPrint_rendiconto_ca_recordset& rendy, co
const bool invert_cosric = _msk->get_bool(F_REV_COSRIC);
- //array bidimensionale con gli importi per indbil e colonna
- real importi[5][4];
- //array bidimensionale con gli importi totali finali
- real importi_totali[5][4];
+ //array bidimensionale con gli importi per indbil e colonna
+// real importi[5][4];
+ //array bidimensionale con gli importi totali finali
+// real importi_totali[5][4];
+ //array bidimensionale con gli importi per indbil e colonna
+ TArray importi;
+ //array bidimensionale con gli importi totali finali
+ TArray importi_totali;
TString80 last_codice, curr_codice;
-
- TSheet_field& sf = _msk->sfield(F_RIGHE);
+ TSheet_field& sf = _msk->sfield(F_RIGHE);
TString80 codcms, codcdc, codfas;
- if (first_level == LF_CDC)
+ TArray * uno = new TArray;
+
+ uno->add(new real, 0);
+ uno->add(new real, 1);
+ uno->add(new real, 2);
+ uno->add(new real, 3);
+ importi.add(uno, 1);
+
+ TArray * due = new TArray;
+
+ due->add(new real, 0);
+ due->add(new real, 1);
+ due->add(new real, 2);
+ due->add(new real, 3);
+ importi.add(due, 2);
+
+ TArray * tre = new TArray;
+
+ tre->add(new real, 0);
+ tre->add(new real, 1);
+ tre->add(new real, 2);
+ tre->add(new real, 3);
+ importi.add(tre, 3);
+
+ TArray * quattro = new TArray;
+
+ quattro->add(new real, 0);
+ quattro->add(new real, 1);
+ quattro->add(new real, 2);
+ quattro->add(new real, 3);
+ importi.add(quattro, 4);
+
+ TArray * tuno = new TArray;
+
+ tuno->add(new real, 0);
+ tuno->add(new real, 1);
+ tuno->add(new real, 2);
+ tuno->add(new real, 3);
+ importi_totali.add(tuno, 1);
+
+ TArray * tdue = new TArray;
+
+ tdue->add(new real, 0);
+ tdue->add(new real, 1);
+ tdue->add(new real, 2);
+ tdue->add(new real, 3);
+ importi_totali.add(tdue, 2);
+
+ TArray * ttre = new TArray;
+
+ ttre->add(new real, 0);
+ ttre->add(new real, 1);
+ ttre->add(new real, 2);
+ ttre->add(new real, 3);
+ importi_totali.add(ttre, 3);
+
+ TArray * tquattro = new TArray;
+
+ tquattro->add(new real, 0);
+ tquattro->add(new real, 1);
+ tquattro->add(new real, 2);
+ tquattro->add(new real, 3);
+ importi_totali.add(tquattro, 4);
+ if (first_level == LF_CDC)
{
ca_extract_sheet_field(sf, r, LF_COMMESSE, codcms);
ca_extract_sheet_field(sf, r, LF_FASI, codfas);
@@ -2287,7 +2386,7 @@ void TPrint_rendiconto_ca::esporta_csv(TPrint_rendiconto_ca_recordset& rendy, co
esporta_csv_row(file_to_print, first_level, last_codice, importi, importi_totali);
}
- memset(importi, 0, sizeof(importi)); //Allah! Azzeratore dell'array con i totali per commessa (o cdc)
+// memset(importi, 0, sizeof(importi)); //Allah! Azzeratore dell'array con i totali per commessa (o cdc)
last_codice = curr_codice; //memorizza il cambio codice (cms/cdc)
//calcolatore dei saldi: va fatta attraverso i saldi!!! perchè i budget sono multianno
@@ -2299,10 +2398,10 @@ void TPrint_rendiconto_ca::esporta_csv(TPrint_rendiconto_ca_recordset& rendy, co
//aggiunge i valori dei saldi all'array con gli importi; li mette nella colonna [0] che è quella dei budget..
//..e nella riga corrispondente all'indicatore bilancio
- importi[1][0] = pas.valore();
- importi[2][0] = att.valore();
- importi[3][0] = cos.valore();
- importi[4][0] = ric.valore();
+ ((real &)((TArray &)importi[1])[0]) = pas.valore();
+ ((real &)((TArray &)importi[2])[0]) = att.valore();
+ ((real &)((TArray &)importi[3])[0]) = cos.valore();
+ ((real &)((TArray &)importi[4])[0]) = ric.valore();
}
//aggiorna tutti gli altri valori dell'array degli importi che non siano budget (cosa che fa solo a cambio codice)..
@@ -2319,10 +2418,13 @@ void TPrint_rendiconto_ca::esporta_csv(TPrint_rendiconto_ca_recordset& rendy, co
if (invert_cosric && (indbil == 3 || indbil == 4))
indbil = 7 - indbil;
- //aggiornamento degli importi non budget di commessa/cdc
- importi[indbil][1] += impegnato;
- importi[indbil][2] += maturato;
- importi[indbil][3] += fatturato;
+ if (indbil <= 4)
+ {
+ //aggiornamento degli importi non budget di commessa/cdc
+ ((real &)((TArray &)importi[indbil])[1]) += impegnato;
+ ((real &)((TArray &)importi[indbil])[2]) += maturato;
+ ((real &)((TArray &)importi[indbil])[3]) += fatturato;
+ }
}
} //for (bool ok = rendy.move_first()...
diff --git a/src/cg/cgsaldac.cpp b/src/cg/cgsaldac.cpp
index 6d947b67c..f876b1b29 100755
--- a/src/cg/cgsaldac.cpp
+++ b/src/cg/cgsaldac.cpp
@@ -1890,7 +1890,7 @@ bool TPartita::read(const TBill& clifo, int year, const char* num)
read_saldo(riga_saldo, oldsaldo, olddoc, oldpag, oldimp, true);
- if (saldo != oldsaldo || doc != olddoc || pag != oldpag || imp != oldimp)
+ if /* ((_patched) &&*/ (saldo != oldsaldo || doc != olddoc || pag != oldpag || imp != oldimp)//)
write_saldo(true);
if (_patched)
diff --git a/src/cg01/cglib01.cpp b/src/cg01/cglib01.cpp
index 2398497b6..a9e4b849c 100644
--- a/src/cg01/cglib01.cpp
+++ b/src/cg01/cglib01.cpp
@@ -21,7 +21,7 @@
#include
#include "cgsaldac.h"
-#include "../fp/fplib.h"
+#include "../fp01/fplib.h"
///////////////////////////////////////////////////////////
// Causale
@@ -922,8 +922,8 @@ TRegistro::TRegistro(const char* cod, int year)
TRegistro::TRegistro(const TRegistro & reg)
: _rec(LF_TAB), _att(LF_ATTIV)
{
- const int year = atoi(reg._rec.get("CODTAB").sleft(4));
- const TString8 cod = reg._rec.get("CODTAB").smid(4);
+ const int year = atoi(reg._rec.get("CODTAB").left(4));
+ const TString8 cod = reg._rec.get("CODTAB").mid(4);
read(cod, year);
}
diff --git a/src/fp01/fp0200.cpp b/src/fp01/fp0200.cpp
index f0bd0c1ae..427ac0e83 100644
--- a/src/fp01/fp0200.cpp
+++ b/src/fp01/fp0200.cpp
@@ -6,7 +6,7 @@
#include
#include
-#include "../ve/velib05.h"
+#include "../ve01/velib05.h"
#include "../fe/felib.h"
#include "fp0.h"
diff --git a/src/fp01/fp0300.cpp b/src/fp01/fp0300.cpp
index d7d117705..bda81a5e9 100644
--- a/src/fp01/fp0300.cpp
+++ b/src/fp01/fp0300.cpp
@@ -6,8 +6,8 @@
#include
#include
-#include "../fp/fplib.h"
-#include "../ve/velib04.h"
+#include "fplib.h"
+#include "../ve01/velib04.h"
#include "../fe/felib.h"
#include "fp0.h"
diff --git a/src/fp01/fp0400.cpp b/src/fp01/fp0400.cpp
index 82e232fdc..c18b1eb39 100644
--- a/src/fp01/fp0400.cpp
+++ b/src/fp01/fp0400.cpp
@@ -10,9 +10,9 @@
#include "fp0400a.h"
#include "fplib.h"
-#include "../ve/velib.h"
-#include "../ve/vepriv.h"
-#include "../ve/velib04.h"
+#include "../ve01/velib.h"
+#include "../ve01/vepriv.h"
+#include "../ve01/velib04.h"
#include "mov.h"
#include "comuni.h"
@@ -641,7 +641,7 @@ void TPassive_mask::fill_xml()
}
if (codcf != 0L)
{
- sf.set_row_cell(S_RAGSOC, ragsoc.sleft(50), r);
+ sf.set_row_cell(S_RAGSOC, ragsoc.left(50), r);
sf.set_row_cell(S_FORNITORE, codcf, r);
TAnagrafica forn(LF_CLIFO, codcf);
@@ -929,7 +929,7 @@ void TPassive_mask::fill_archived()
}
if (codcf != 0L)
{
- sf.set_row_cell(S_RAGSOC, ragsoc.sleft(50), r);
+ sf.set_row_cell(S_RAGSOC, ragsoc.left(50), r);
sf.set_row_cell(S_FORNITORE, codcf, r);
TAnagrafica forn(LF_CLIFO, codcf);
diff --git a/src/fp01/fp0700.cpp b/src/fp01/fp0700.cpp
index 2f98ad209..e1aac8f82 100644
--- a/src/fp01/fp0700.cpp
+++ b/src/fp01/fp0700.cpp
@@ -9,9 +9,9 @@
#include
#include
-#include "../cg/cglib.h"
-#include "../cg/cgsaldac.h"
-#include "../ve/velib05.h"
+#include "../cg01/cglib.h"
+#include "../cg01/cgsaldac.h"
+#include "../ve01/velib05.h"
#include "../fe/felib.h"
#include "fplib.h"
diff --git a/src/fp01/fp1200.cpp b/src/fp01/fp1200.cpp
index 1fa21bbb0..247c11438 100644
--- a/src/fp01/fp1200.cpp
+++ b/src/fp01/fp1200.cpp
@@ -1,12 +1,12 @@
#include
#include
#include
-#include "fplib.h"
+#include "../fp01/fplib.h"
#include
#include
#include
-#include "../ve/velib05.h"
+#include "../ve01/velib05.h"
#include "../fe/felib.h"
#include "fp0.h"
diff --git a/src/fp01/fplib.h b/src/fp01/fplib.h
index d08aa04a5..c15511e2e 100644
--- a/src/fp01/fplib.h
+++ b/src/fp01/fplib.h
@@ -8,8 +8,8 @@
#include
#include
-#include "../cg/cglib.h"
-#include "../ve/velib.h"
+#include "../cg01/cglib.h"
+#include "../ve01/velib.h"
#define FP_PRG_INVIO "prginvio"
#define FP_FLD_XML_DEST "fldxmldest"
diff --git a/src/fp01/fplib01.cpp b/src/fp01/fplib01.cpp
index c51fb5eca..fe5930c06 100644
--- a/src/fp01/fplib01.cpp
+++ b/src/fp01/fplib01.cpp
@@ -394,7 +394,7 @@ void data_ricezione(const TFilename & full_xml_name, TDate & data)
if (ininame.exist())
{
TConfig ini(ininame, "PEC");
- TString strdate = ini.get("EmailDate").sleft(10);
+ TString strdate = ini.get("EmailDate").left(10);
strdate.replace("/", "-");
strdate.trim();
diff --git a/src/include01/dongle.cpp b/src/include01/dongle.cpp
index 884b5a1b9..102906e82 100644
--- a/src/include01/dongle.cpp
+++ b/src/include01/dongle.cpp
@@ -286,7 +286,7 @@ bool TDongle::software_login()
case 1:
default:
swfile = swf.row(0);
- _serno = atoi(swfile.smid(2));
+ _serno = atoi(swfile.mid(2));
ini_set_string(CONFIG_OEM, "Main", "SerNo", encode(format("%d", _serno)));
break;
@@ -798,7 +798,7 @@ int TDongle::test_cmdline(const TString& cmdline, bool key_must_exist, TString&
return 1;
}
- const TString4 strmod = cmdline.sleft(2);
+ const TString4 strmod = cmdline.left(2);
if (!key_must_exist) // Le personalizzazioni non hanno un modulo vero e proprio
{
@@ -909,7 +909,7 @@ const TString& TDongle::module_code2name(word mod) const
{
const TString_array& modinfo = info();
if (mod < modinfo.items())
- return modinfo.row(mod).sleft(2);
+ return modinfo.row(mod).left(2);
return EMPTY_STRING;
}
@@ -1076,13 +1076,13 @@ void parse_internet_path(TString & server, int & port, TFilename & path)
if (server.starts_with("http://"))
{
- protocol = server.sleft(7);
+ protocol = server.left(7);
server.ltrim(7);
}
else
if (server.starts_with("ftp://"))
{
- protocol = server.sleft(6);
+ protocol = server.left(6);
server.ltrim(6);
port = 21;
}
@@ -1091,7 +1091,7 @@ void parse_internet_path(TString & server, int & port, TFilename & path)
if (slash > 0)
{
- path = server.smid(slash);
+ path = server.mid(slash);
server.cut(slash);
}
@@ -1099,7 +1099,7 @@ void parse_internet_path(TString & server, int & port, TFilename & path)
if (double_dot > 0)
{
- port = atol(server.smid(double_dot + 1));
+ port = atol(server.mid(double_dot + 1));
server.cut(double_dot);
}
//aggiunge lo slash finale se l'utonto l'ha omesso
diff --git a/src/include01/ediset.cpp b/src/include01/ediset.cpp
index 0806bac7b..8b35e3a30 100644
--- a/src/include01/ediset.cpp
+++ b/src/include01/ediset.cpp
@@ -37,7 +37,7 @@ bool TEDI_recordset::load(const TFilename& n)
TAS400_recordset::new_rec();
set(EDI_TIPOREC, segname);
- set(EDI_MESSAGE, str.smid(3));
+ set(EDI_MESSAGE, str.mid(3));
}
return items() > 0;
}
diff --git a/src/include01/maskfld.cpp b/src/include01/maskfld.cpp
index d999fdb10..733ecc82e 100644
--- a/src/include01/maskfld.cpp
+++ b/src/include01/maskfld.cpp
@@ -1122,7 +1122,7 @@ HIDDEN const char* copy_value(TToken_string& msg, const TString& val)
int to = -1;
if (from < 0) from = 0;
else to = msg.get_int();
- return get_tmp_string() = val.ssub(from, to);
+ return get_tmp_string() = val.sub(from, to);
}
HIDDEN void run_app(TMask& mask, TToken_string& msg)
diff --git a/src/include01/netsock.cpp b/src/include01/netsock.cpp
index eef3fe411..cd848e388 100644
--- a/src/include01/netsock.cpp
+++ b/src/include01/netsock.cpp
@@ -645,7 +645,7 @@ TSocket_connection::TSocket_connection(TLanManager* lm,
pos = _server.rfind(':');
if (pos >= 0)
{
- _service = (skstream::service)atoi(_server.smid(pos+1));
+ _service = (skstream::service)atoi(_server.mid(pos+1));
_server.cut(pos);
}
@@ -801,10 +801,10 @@ bool TSocketClient::HttpIsRedirectedServer(CONNID id, TString & http_server, TFi
const int slash = buf.find('/');
if (slash > 0)
{
- remote = buf.smid(slash);
+ remote = buf.mid(slash);
if (!remote.ends_with("/"))
remote << '/';
- http_server = buf.sleft(slash);
+ http_server = buf.left(slash);
}
}
}
@@ -953,12 +953,12 @@ HIDDEN int find_href(const TString& riga, int from, TString& filename, const TSt
const int quotes = riga.find('"', href);
if (quotes > 0)
{
- filename = riga.ssub(href, quotes);
+ filename = riga.sub(href, quotes);
from = quotes+1;
}
else
{
- filename = riga.smid(href);
+ filename = riga.mid(href);
from = riga.len();
}
filename.trim();
@@ -985,7 +985,7 @@ bool TSocketClient::HttpGetDir(CONNID id, const char* remote, TString_array& lis
const int slash = server.rfind('/');
if (slash > 0)
{
- pattern = server.smid(slash+1);
+ pattern = server.mid(slash+1);
server.cut(slash+1);
}
}
@@ -1058,7 +1058,7 @@ bool TSocketClient::HttpSoap(CONNID id, const char* cmd, const char * agent)
if (buf.compare("Content-length:", 15, TRUE) == 0)
{
const int colon = buf.find(':');
- size = atol(buf.smid(colon+1));
+ size = atol(buf.mid(colon+1));
}
}
if (size > 0)
@@ -1124,7 +1124,7 @@ bool TSocketClient::HttpPost(CONNID id, const char* remote, TString & content, i
if (buf.starts_with("Content-length:", true) == 0)
{
const int colon = buf.find(':');
- size = atol(buf.smid(colon + 1));
+ size = atol(buf.mid(colon + 1));
}
}
ReleaseBuffer();
diff --git a/src/include01/postman.cpp b/src/include01/postman.cpp
index 204a962b3..feec91061 100644
--- a/src/include01/postman.cpp
+++ b/src/include01/postman.cpp
@@ -651,7 +651,7 @@ HIDDEN bool popolate_table(TODBC_recordset & recset, int logicnum, const char *
int start = atoi(field.mid(pos));
pos = field.find(',', pos);
- str = str.smid(start, pos > 0 ? pos : 0);
+ str = str.mid(start, pos > 0 ? pos : 0);
}
TToken_string row(make_val(field, t, recset.driver(), str), '~');
@@ -761,7 +761,7 @@ HIDDEN void odbc_send(const TString & dsn, int num, TAuto_token_string & elab_fi
if (fld.starts_with("UPPER"))
{
- fld = fld.smid(7);
+ fld = fld.mid(7);
fld.rtrim(1);
fld << "_UPPER";
}
@@ -793,7 +793,7 @@ HIDDEN void odbc_send(const TString & dsn, int num, TAuto_token_string & elab_fi
int start = atoi(field.mid(pos + 1));
pos = field.find(',', pos + 1);
- str = str.smid(start, pos > 0 ? atoi(field.mid(pos + 1)) : 0);
+ str = str.mid(start, pos > 0 ? atoi(field.mid(pos + 1)) : 0);
fld << "_MID";
}
@@ -896,7 +896,7 @@ HIDDEN void odbc_send(const TString & dsn, int num, TAuto_token_string & elab_fi
if (fld.starts_with("UPPER"))
{
- fld = fld.smid(7);
+ fld = fld.mid(7);
fld.rtrim(1);
fld << "_UPPER";
}
@@ -928,7 +928,7 @@ HIDDEN void odbc_send(const TString & dsn, int num, TAuto_token_string & elab_fi
int start = atoi(field.mid(pos + 1));
pos = field.find(',', pos + 1);
- str = str.smid(start, pos > 0 ? atoi(field.mid(pos + 1)) : 0);
+ str = str.mid(start, pos > 0 ? atoi(field.mid(pos + 1)) : 0);
fld << "_MID";
}
diff --git a/src/include01/repdich.cpp b/src/include01/repdich.cpp
index a98f75513..43593110b 100644
--- a/src/include01/repdich.cpp
+++ b/src/include01/repdich.cpp
@@ -109,7 +109,7 @@ void TDich_report::begin_paragraph(TReport_section& sec, int row, int height, co
if (due_paragrafi >= 0)
{
- str2 = str1.smid(due_paragrafi + 1);
+ str2 = str1.mid(due_paragrafi + 1);
str1.cut(due_paragrafi);
delta2 = 200;
}
diff --git a/src/include01/report.cpp b/src/include01/report.cpp
index 883f7acd3..8694bdb4d 100644
--- a/src/include01/report.cpp
+++ b/src/include01/report.cpp
@@ -2196,9 +2196,9 @@ HIDDEN const TString & patch_col(TString & src, const char * pattern, int val)
while (pos >= 0)
{
- TString str = src.sleft(pos);
+ TString str = src.left(pos);
- str << val << src.smid(pos + 4);
+ str << val << src.mid(pos + 4);
src = str;
pos = src.find(pattern);
}
@@ -2211,12 +2211,12 @@ HIDDEN const TString & patch_id(TString & src, int val)
while (pos >= 0)
{
- TString str = src.sleft(pos);
+ TString str = src.left(pos);
- str << val + atoi(src.smid(pos + 1));
+ str << val + atoi(src.mid(pos + 1));
pos += 4;
while (src[++pos] && (isdigit(src[pos]) || src[pos] == ')'));
- str << src.smid(pos);
+ str << src.mid(pos);
src = str;
pos = src.find("CID");
}
@@ -2786,7 +2786,7 @@ bool TReport::get_report_field(const TString& name, TVariant& var) const
p = field.find('.');
if (p > 0)
{
- int idx = atoi(field.smid(p + 1));
+ int idx = atoi(field.mid(p + 1));
field.cut(p);
var = ini_get_string(cfg, para, field, "", idx);
diff --git a/src/include01/strings.cpp b/src/include01/strings.cpp
index b998e6fe5..b2fddcdd0 100644
--- a/src/include01/strings.cpp
+++ b/src/include01/strings.cpp
@@ -1255,7 +1255,7 @@ const char* TFilename::path() const
xvt_fsys_parse_pathname(_str, find(":") > 0 ? v : nullptr, d, nullptr, nullptr, nullptr);
TString& spark = get_tmp_string();
spark << v << d;
- if (spark.not_empty() && !is_slash(spark.sright(1)[0]))
+ if (spark.not_empty() && !is_slash(spark.right(1)[0]))
spark << SLASH;
return spark;
}
diff --git a/src/include01/tabapp.cpp b/src/include01/tabapp.cpp
index 667085677..249929af4 100644
--- a/src/include01/tabapp.cpp
+++ b/src/include01/tabapp.cpp
@@ -183,7 +183,7 @@ void TMultirel_application::print()
void TMultirel_application::get_mask_name(TString& tabname) const
{
- tabname = name().sleft(4);
+ tabname = name().left(4);
tabname << _tabname;
}
diff --git a/src/include01/tabutil.cpp b/src/include01/tabutil.cpp
index b03fb41bc..5b3b3764f 100644
--- a/src/include01/tabutil.cpp
+++ b/src/include01/tabutil.cpp
@@ -191,14 +191,14 @@ void TTable::load_module_description()
{
if (_module.empty())
{
- _module = n.sleft(2);
+ _module = n.left(2);
_module.lower();
}
TScanner m(n);
bool ok = true;
while (ok)
{
- const TString& l2 = m.line().sleft(2);
+ const TString& l2 = m.line().left(2);
if (l2.empty())
ok = false;
else
@@ -209,7 +209,7 @@ void TTable::load_module_description()
{
const int apicia = m.token().find('"')+1;
const int apicic = m.token().find('"', apicia);
- _description = m.token().ssub(apicia, apicic);
+ _description = m.token().sub(apicia, apicic);
}
}
}
diff --git a/src/include01/utility.cpp b/src/include01/utility.cpp
index 9fa4f1e05..5d0c77b2b 100644
--- a/src/include01/utility.cpp
+++ b/src/include01/utility.cpp
@@ -982,7 +982,7 @@ bool expand_sys_vars(TString& str)
value.cut(0);
int j = str.find(')', i);
if (j < 0) j = i+2;
- const TString& name = str.ssub(i+2, j);
+ const TString& name = str.sub(i+2, j);
if (name.compare("HostName", -1, true) == 0)
{
value = get_hostname();
@@ -1009,8 +1009,8 @@ bool expand_sys_vars(TString& str)
value.format("%06ld", daytime());
}
- const TString& before = str.sleft(i);
- const TString& after = str.smid(j + 1);
+ const TString& before = str.left(i);
+ const TString& after = str.mid(j + 1);
str.cut(0) << before << value << after;
found = true;
}
@@ -1067,16 +1067,16 @@ void build_IBAN(TString & iban, const char * iso, const char * cin,
if (iban == "IT")
{
if (bcin && *bcin)
- bban << TString(bcin).sleft(1);
+ bban << TString(bcin).left(1);
if (abi && *abi)
- bban << TString(abi).sleft(5);
+ bban << TString(abi).left(5);
if (cab && *cab)
- bban << TString(cab).sleft(5);
+ bban << TString(cab).left(5);
}
if (cc && *cc)
bban << cc;
if (cin && *cin)
- iban << TString(cin).sleft(2);
+ iban << TString(cin).left(2);
iban << bban;
}
@@ -1085,14 +1085,14 @@ void split_IBAN(const char * iban, TString & iso, TString & cin,
{
TString wiban(iban);
- iso = wiban.sleft(2);
- cin = wiban.smid(2, 2);
+ iso = wiban.left(2);
+ cin = wiban.mid(2, 2);
if (iso == "IT")
{
- bcin = wiban.smid(4,1);
- abi = wiban.smid(5, 5);
- cab = wiban.smid(10, 5);
- cc = wiban.smid(15);
+ bcin = wiban.mid(4,1);
+ abi = wiban.mid(5, 5);
+ cab = wiban.mid(10, 5);
+ cc = wiban.mid(15);
}
else
{
diff --git a/src/ve01/velib.h b/src/ve01/velib.h
index f561fc145..2b411693c 100644
--- a/src/ve01/velib.h
+++ b/src/ve01/velib.h
@@ -26,15 +26,15 @@ class TViswin;
#endif
#ifndef __VERIG_H
-#include "../ve/verig.h"
+#include "../ve01/verig.h"
#endif
#ifndef __CGLIB_H
-#include "../cg/cglib.h"
+#include "../cg01/cglib.h"
#endif
#ifndef __CGPAGAME_H
-#include "../cg/cgpagame.h"
+#include "../cg01/cgpagame.h"
#endif
#ifndef __PRLIB_H
@@ -57,10 +57,6 @@ class TSelect_color_mask;
#include
#endif
-#ifndef __RDOCDEF_H
-#include
-#endif
-
#ifndef __LILIB01_H
#include "../li/lilib01.h"
#endif