From cc5fe0ef3365750151a2283221a4cb18ecef578b Mon Sep 17 00:00:00 2001 From: david Date: Wed, 19 Sep 2007 16:38:24 +0000 Subject: [PATCH] git-svn-id: https://192.168.0.254/svn/Proyectos.Tecsitel_FactuGES2/branches/D2007-DA5@25 0c75b7a4-871f-7646-8a2f-f78d34cc349f --- Build/Build.fbl5 | Bin 3080192 -> 2293760 bytes Build/Build.fbp5 | 15925 ++++++++++++++-- Build/Build.fbv | 2 +- Build/Build.lck | Bin 8 -> 0 bytes Database/FACTUGES.FDB | Bin 5505024 -> 5505024 bytes Source/Base/Base.dpk | 34 +- Source/Base/Base.dproj | 99 +- Source/Base/Base.drc | 45 +- Source/Base/Base.identcache | Bin 1514 -> 1472 bytes Source/Base/Base.rc | 22 + Source/Base/Base.res | Bin 5056 -> 384 bytes Source/Base/ControllerBase/ControllerBase.dpk | 11 +- .../Base/ControllerBase/ControllerBase.dproj | 66 +- Source/Base/ControllerBase/ControllerBase.drc | 6 +- Source/Base/ControllerBase/ControllerBase.rc | 22 + Source/Base/ControllerBase/ControllerBase.res | Bin 5056 -> 384 bytes Source/Base/GUIBase/GUIBase.dpk | 65 +- Source/Base/GUIBase/GUIBase.dproj | 641 +- Source/Base/GUIBase/GUIBase.drc | 28 +- Source/Base/GUIBase/GUIBase.rc | 22 + Source/Base/GUIBase/GUIBase.res | Bin 5056 -> 384 bytes Source/Base/GUIBase/uEditorPreview.dfm | 4 - Source/Base/GUIBase/uEditorPreview.pas | 3 +- Source/Base/Usuarios/Usuarios.dpk | 6 +- Source/Base/Usuarios/Usuarios.dproj | 66 +- Source/Base/Usuarios/Usuarios.drc | 11 +- Source/Base/Usuarios/Usuarios.rc | 22 + Source/Base/Usuarios/Usuarios.res | Bin 5056 -> 384 bytes Source/Base/Usuarios/uDataModuleUsuarios.dfm | 13 +- Source/Base/Usuarios/uDataModuleUsuarios.pas | 2 +- Source/Base/Utiles/uDataTableUtils.pas | 79 +- Source/Base/uActualizacion.dfm | 4 - Source/Base/uActualizacion.pas | 6 +- Source/Base/uDataModuleBase.dfm | 6 +- Source/Base/uDataModuleConexion.dfm | 2 +- Source/Base/uDataModuleConfiguracion.dfm | 10 +- Source/Base/uDataModuleConfiguracion.pas | 3 +- Source/Base_Group.groupproj | 18 +- Source/Cliente/FactuGES.dpr | 10 +- Source/Cliente/FactuGES.dproj | 86 +- Source/Cliente/FactuGES.drc | 11 +- Source/Cliente/FactuGES.identcache | Bin 617 -> 599 bytes Source/Cliente/FactuGES.rc | 2 +- Source/Cliente/FactuGES.res | Bin 172180 -> 171980 bytes Source/Cliente/uPantallaPrincipal.dfm | 18 +- Source/Cliente/uPantallaPrincipal.pas | 24 +- Source/FactuGES_Group.groupproj | 36 +- .../Controller/Contactos_controller.dpk | 28 +- .../Controller/Contactos_controller.dproj | 570 +- .../Controller/Contactos_controller.drc | 6 +- .../Controller/Contactos_controller.rc | 22 + .../Controller/Contactos_controller.res | Bin 5056 -> 384 bytes .../Modulos/Contactos/Data/Contactos_data.dpk | 15 +- .../Contactos/Data/Contactos_data.dproj | 552 +- .../Modulos/Contactos/Data/Contactos_data.drc | 10 +- .../Modulos/Contactos/Data/Contactos_data.rc | 22 + .../Modulos/Contactos/Data/Contactos_data.res | Bin 5056 -> 384 bytes .../Contactos/Data/uDataModuleClientes.pas | 2 +- .../Contactos/Data/uDataModuleContactos.pas | 3 +- .../Contactos/Data/uDataModuleProveedores.pas | 2 +- .../Contactos/Model/Contactos_model.dpk | 15 +- .../Contactos/Model/Contactos_model.dproj | 563 +- .../Contactos/Model/Contactos_model.drc | 6 +- .../Contactos/Model/Contactos_model.rc | 22 + .../Contactos/Model/Contactos_model.res | Bin 5056 -> 384 bytes .../Contactos/Plugin/Contactos_plugin.dpk | 18 +- .../Contactos/Plugin/Contactos_plugin.dproj | 80 +- .../Contactos/Plugin/Contactos_plugin.drc | 7 +- .../Contactos/Plugin/Contactos_plugin.rc | 22 + .../Contactos/Plugin/Contactos_plugin.res | Bin 5056 -> 384 bytes .../Contactos/Servidor/srvContactos_Impl.dfm | 14 +- .../Contactos/Servidor/srvContactos_Impl.pas | 4 +- .../Contactos/Views/Contactos_view.dpk | 58 +- .../Contactos/Views/Contactos_view.dproj | 761 +- .../Contactos/Views/Contactos_view.drc | 38 +- .../Modulos/Contactos/Views/Contactos_view.rc | 22 + .../Contactos/Views/Contactos_view.res | Bin 5056 -> 384 bytes .../Views/uEditorEtiquetasContactosReport.dfm | 1 + .../Views/uEditorEtiquetasContactosReport.pas | 2 +- .../Views/uEditorFichasEmpleadoReport.dfm | 2 + .../Views/uEditorFichasEmpleadoReport.pas | 2 +- .../Controller/Empresas_controller.dpk | 46 +- .../Controller/Empresas_controller.dproj | 123 +- .../Controller/Empresas_controller.drc | 6 +- .../Controller/Empresas_controller.rc | 22 + .../Controller/Empresas_controller.res | Bin 5056 -> 384 bytes .../Modulos/Empresas/Data/Empresas_data.dpk | 16 +- .../Modulos/Empresas/Data/Empresas_data.dproj | 84 +- .../Modulos/Empresas/Data/Empresas_data.drc | 7 +- Source/Modulos/Empresas/Data/Empresas_data.rc | 22 + .../Modulos/Empresas/Data/Empresas_data.res | Bin 5056 -> 384 bytes .../Empresas/Data/uDataModuleEmpresas.dfm | 521 +- .../Empresas/Data/uDataModuleEmpresas.pas | 87 +- .../Modulos/Empresas/Model/Empresas_model.dpk | 18 +- .../Empresas/Model/Empresas_model.dproj | 80 +- .../Modulos/Empresas/Model/Empresas_model.drc | 6 +- .../Modulos/Empresas/Model/Empresas_model.rc | 22 + .../Modulos/Empresas/Model/Empresas_model.res | Bin 5056 -> 384 bytes .../Empresas/Model/schEmpresasClient_Intf.pas | 1898 +- .../Empresas/Model/schEmpresasServer_Intf.pas | 1850 +- .../Empresas/Plugin/Empresas_plugin.dpk | 17 +- .../Empresas/Plugin/Empresas_plugin.dproj | 145 +- .../Empresas/Plugin/Empresas_plugin.drc | 7 +- .../Empresas/Plugin/Empresas_plugin.rc | 22 + .../Empresas/Plugin/Empresas_plugin.res | Bin 5056 -> 384 bytes .../Empresas/Servidor/srvEmpresas_Impl.dfm | 140 +- .../Empresas/Servidor/srvEmpresas_Impl.pas | 5 +- .../Modulos/Empresas/Views/Empresas_view.dpk | 43 +- .../Empresas/Views/Empresas_view.dproj | 256 +- .../Modulos/Empresas/Views/Empresas_view.drc | 10 +- .../Modulos/Empresas/Views/Empresas_view.rc | 22 + .../Modulos/Empresas/Views/Empresas_view.res | Bin 5056 -> 384 bytes .../Controller/Familias_controller.dpk | 2 +- .../Modulos/Familias/Data/Familias_data.dpk | 2 +- .../Modulos/Familias/Model/Familias_model.dpk | 2 +- .../Familias/Plugin/Familias_plugin.dpk | 2 +- .../Familias/Servidor/srvFamilias_Impl.dfm | 10 +- .../Familias/Servidor/srvFamilias_Impl.pas | 5 +- .../Modulos/Familias/Views/Familias_view.dpk | 2 +- .../Controller/FormasPago_controller.dpk | 2 +- .../Controller/FormasPago_controller.res | Bin 5056 -> 32 bytes .../Formas de pago/Data/FormasPago_data.dpk | 2 +- .../Formas de pago/Data/FormasPago_data.res | Bin 5056 -> 32 bytes .../Data/uDataModuleFormasPago.dfm | 118 +- .../Data/uDataModuleFormasPago.pas | 40 +- .../Formas de pago/Model/FormasPago_model.dpk | 11 +- .../Model/FormasPago_model.dproj | 72 +- .../Formas de pago/Model/FormasPago_model.rc | 22 + .../Formas de pago/Model/FormasPago_model.res | Bin 5056 -> 384 bytes .../Model/schFormasPagoClient_Intf.pas | 236 +- .../Model/schFormasPagoServer_Intf.pas | 284 +- .../Plugin/FormasPago_plugin.dpk | 2 +- .../Plugin/FormasPago_plugin.res | Bin 5056 -> 32 bytes .../Servidor/srvFormasPago_Impl.dfm | 91 +- .../Servidor/srvFormasPago_Impl.pas | 5 +- .../Formas de pago/Views/FormasPago_view.dpk | 9 +- .../Views/FormasPago_view.dproj | 63 +- .../Formas de pago/Views/FormasPago_view.rc | 22 + .../Formas de pago/Views/FormasPago_view.res | Bin 5056 -> 384 bytes .../Controller/TiposIVA_controller.dpk | 17 +- .../Controller/TiposIVA_controller.dproj | 554 +- .../Controller/TiposIVA_controller.rc | 22 + .../Controller/TiposIVA_controller.res | Bin 5056 -> 384 bytes .../Tipos de IVA/Data/TiposIVA_data.dpk | 15 +- .../Tipos de IVA/Data/TiposIVA_data.dproj | 566 +- .../Tipos de IVA/Data/TiposIVA_data.drc | 7 +- .../Tipos de IVA/Data/TiposIVA_data.rc | 22 + .../Tipos de IVA/Data/TiposIVA_data.res | Bin 5056 -> 384 bytes .../Tipos de IVA/Data/uDataModuleTiposIVA.pas | 2 +- .../Tipos de IVA/Model/TiposIVA_model.dpk | 9 +- .../Tipos de IVA/Model/TiposIVA_model.dproj | 548 +- .../Tipos de IVA/Model/TiposIVA_model.drc | 6 +- .../Tipos de IVA/Model/TiposIVA_model.rc | 22 + .../Tipos de IVA/Model/TiposIVA_model.res | Bin 5056 -> 384 bytes .../Tipos de IVA/Plugin/TiposIVA_plugin.dpk | 6 +- .../Tipos de IVA/Plugin/TiposIVA_plugin.dproj | 553 +- .../Tipos de IVA/Plugin/TiposIVA_plugin.rc | 22 + .../Tipos de IVA/Plugin/TiposIVA_plugin.res | Bin 5056 -> 384 bytes .../Servidor/srvTiposIVA_Impl.dfm | 6 +- .../Servidor/srvTiposIVA_Impl.pas | 5 +- .../Tipos de IVA/Views/TiposIVA_view.dpk | 9 +- .../Tipos de IVA/Views/TiposIVA_view.dproj | 552 +- .../Tipos de IVA/Views/TiposIVA_view.rc | 22 + .../Tipos de IVA/Views/TiposIVA_view.res | Bin 5056 -> 384 bytes Source/Servicios/srvConfiguracion_Impl.dfm | 4 +- Source/Servicios/srvConfiguracion_Impl.pas | 7 +- Source/Servicios/srvLogin_Impl.dfm | 12 +- Source/Servicios/srvLogin_Impl.pas | 5 +- .../Servidor/Configuracion/uConexionOSC.dfm | 55 - .../Servidor/Configuracion/uConexionOSC.pas | 61 - .../Servidor/Configuracion/uConfiguracion.dfm | 35 +- .../Servidor/Configuracion/uConfiguracion.pas | 5 +- Source/Servidor/FactuGES_Server.RES | Bin 23216 -> 23216 bytes Source/Servidor/FactuGES_Server.dpr | 4 +- Source/Servidor/FactuGES_Server.dproj | 263 +- Source/Servidor/FactuGES_Server.drc | 2668 ++- Source/Servidor/FactuGES_Server.identcache | Bin 3306 -> 3214 bytes Source/Servidor/FactuGES_Server.rc | 4 +- Source/Servidor/Utiles/RegExpr.pas | 4042 ++++ Source/Servidor/uDataModuleServer.dfm | 24 +- Source/Servidor/uDataModuleServer.pas | 11 +- Source/Servidor/uServerMainForm.pas | 4 +- Tools/fbclient.dll | Bin 0 -> 393216 bytes Tools/isql.exe | Bin 0 -> 188416 bytes 184 files changed, 25447 insertions(+), 11500 deletions(-) delete mode 100644 Build/Build.lck delete mode 100644 Source/Servidor/Configuracion/uConexionOSC.dfm delete mode 100644 Source/Servidor/Configuracion/uConexionOSC.pas create mode 100644 Source/Servidor/Utiles/RegExpr.pas create mode 100644 Tools/fbclient.dll create mode 100644 Tools/isql.exe diff --git a/Build/Build.fbl5 b/Build/Build.fbl5 index c3a8247269ce2e48fa152e75f0945939952732d8..becddbf069279150ce32026e9cdc81b957ee01c8 100644 GIT binary patch literal 2293760 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 z1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009IL zKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~ z0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY** z5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0 z009IL_@5Q1F?-g>e5~qzoNqpH{=AC$@MO%#q=pIOoo^cIe8JqR3X5Lp0;9|>uVy~FxFLYRN+-bc|H^mHXO9s;009ILKmY**5I_I{1Q0*~ z0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY** z5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0 z009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{ z1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009IL zKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~ z0R#|0009ILKmY**5I_I{1Q0*~0R&cVfxXP`Pihz)s5Q%mm6YP!uBv29+l;Tfs;A^; zwzW6C+f_56wW)b#uH((Fm6U|tMgRc>5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~ z0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY** z5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0 z009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{ z1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009IL zKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~ z0R#|0009ILKmY**5I_I{1Q0*~f&Wc`I#Ro#CmvFuyoYu#U}?*2oGWlf2%b$_Y0`wu0S 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≶x`;uTSDfAcrV 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

a4eXoNCQA_@}*$|UGNkyt2JiY3Aj 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 diff --git a/Build/Build.fbp5 b/Build/Build.fbp5 index 8a6318ba..35792193 100644 --- a/Build/Build.fbp5 +++ b/Build/Build.fbp5 @@ -368,10 +368,12 @@ False True False - @@ -532,11 +533,11 @@ source_path 0 Servidor - True + False True False True - False + True 0 False @@ -567,7 +568,7 @@ source_path %project_path%\Resources\Iconos\Servidor.ico False True - False + True True False False @@ -577,9 +578,9 @@ source_path False False True - 3081 + 3082 - 1 + 3 0 0 False @@ -599,7 +600,17 @@ source_path [usPackages,usCompiler,usLinker,usVersionInfo] False True - @@ -647,7 +658,7 @@ source_path fa8 False False - .\ + True True False @@ -730,7 +741,7 @@ source_path 1000 False - + 0 @@ -744,7 +755,7 @@ source_path 12 Debug False - + True True @@ -765,12 +776,12 @@ source_path False 3082 - 2 + 1 0 0 False 0 - %source_path%\Base\BaseD10.dpk + %source_path%\Base\Base.dpk True 0 @@ -787,7 +798,7 @@ source_path False - + 0 @@ -869,7 +880,7 @@ Comments= 12 Release False - + True True @@ -895,9 +906,9 @@ Comments= 0 False 0 - %source_path%\ControlesBase\ControlesBaseD10.dpk + %source_path%\Base\ControllerBase\ControllerBase.dpk True - 3 + 0 rcBorland @@ -912,7 +923,7 @@ Comments= False 4194304 False False - False + True True %library_path% 0 @@ -979,8 +990,8 @@ Comments= True - - + + 0 @@ -992,125 +1003,9 @@ Comments= 0 1252 12 - Debug + Release False - - - True - True - - False - - False - False - False - True - False - False - False - False - False - False - False - False - 3081 - - 1 - 0 - 0 - False - 0 - %source_path%\Modulos\Parametros\Cliente\Parametros.dpk - True - 0 - - - rcBorland - 1000 - - False - False - False - False - [usPackages,usCompiler,usLinker,usVersionInfo] - False - False - - - - False - False - False - False - False - True - False - False - %package_path% - - - - False - %base_dcp_path% - True - - True - - False - True - False - False - True - 4194304 - False - False - False - True - %library_path% - 0 - True - 3 - 1048576 - 16384 - - True - True - %output_path%\Cliente - False - - False - fa8 - True - False - - True - True - True - False - WinTypes=Windows;WinProcs=Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE; - - False - False - True - - - - - - 0 - - True - False - False - True - True - 0 - 1252 - 12 - Debug - False - + True True @@ -1136,132 +1031,7 @@ Comments= 0 False 0 - %source_path%\Usuarios\Usuarios.dpk - True - 3 - - - rcBorland - 1000 - - False - False - False - False - [usPackages,usCompiler,usLinker,usVersionInfo] - False - False - - - - False - False - False - False - False - True - False - False - %package_path% - - - - False - %modules_dcp_path% - True - - True - - False - True - False - False - True - 4194304 - False - False - False - True - %library_path% - 0 - True - 3 - 1048576 - 16384 - - True - True - %output_path%\Cliente - False - - False - fa8 - True - False - - True - True - True - False - WinTypes=Windows;WinProcs=Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE; - - False - False - True - - - - - - 0 - - True - False - False - True - True - 0 - 1252 - 12 - Debug - False - - - True - True - - False - - False - False - False - True - False - False - False - False - False - False - False - False - 3081 - - 1 - 0 - 0 - False - 0 - %source_path%\Configuracion\Configuracion.dpk + %source_path%\Base\GUIBase\GUIBase.dpk True 0 @@ -1276,13 +1046,22 @@ Comments= [usPackages,usCompiler,usLinker,usVersionInfo] False False - False False - False + False False False True @@ -1293,10 +1072,10 @@ Comments= False - %modules_dcp_path% - True + %base_dcp_path% + False - True + False False True @@ -1306,28 +1085,28 @@ Comments= 4194304 False False - False + True True %library_path% 0 - True + False 3 1048576 16384 True - True + False %output_path%\Cliente False False fa8 - True + False False True True - False + True False WinTypes=Windows;WinProcs=Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE; @@ -1337,9 +1116,9 @@ Comments= - + Módulos - 8388736 + 0 Módulos True @@ -1353,179 +1132,470 @@ Comments= 0 1000 False - - - + + General 0 - True - False - False - True - True - 0 - 1252 - 12 - Debug - False - - + General True True - - False - False - False - False True False - False - False - False - False - False - False - False - 3081 - 1 0 - 0 False 0 - %source_path%\Modulos\FicherosEDI\Cliente\FicherosEDI.dpk - True - 0 - - - rcBorland 1000 - False - False - False - False - [usPackages,usCompiler,usLinker,usVersionInfo] - False - False - + Empresas + 0 + + Empresas + True + True + False + True + False + + 0 + False + 0 + 1000 + False + + + + 0 + + True + False + False + True + True + 0 + 1252 + 12 + Release + False + + + True + True + + False + + False + False + True + True + False + False + False + False + False + False + False + False + 3082 + + 1 + 0 + 0 + False + 0 + %source_path%\Modulos\Empresas\Model\Empresas_model.dpk + True + 0 + + + rcBorland + 1000 + + False + False + False + False + [usPackages,usCompiler,usLinker,usVersionInfo] + False + False + - - - False - False - False - False - False - True - False - False - %package_path% - - - - False - %modules_dcp_path% - True - - True - - False - True - False - False - True - 4194304 - False - False - False - True - %library_path% - 0 - True - 3 - 1048576 - 16384 - - True - False - %output_path%\Cliente - False - - False - fa8 - True - False - - True - True - False - False - WinTypes=Windows;WinProcs=Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE; - - False - False - True - - - - - - 0 - - True - False - False - True - True - 0 - 1252 - 12 - Debug - False - - - True - True - - False - - False - False - True - True - False - False - False - False - False - False - False - False - 3082 - - 1 - 0 - 0 - False - 0 - %source_path%\Modulos\VentasTerminadas\Cliente\VentasTerminadas.dpk - True - 3 - - - rcBorland - 1000 - - False - False - False - False - [usPackages,usCompiler,usLinker,usVersionInfo] - False - False - + + False + False + False + False + False + True + False + False + %package_path% + + + + False + %modules_dcp_path% + False + + False + + False + True + False + False + True + 4194304 + False + False + False + True + %library_path% + 0 + False + 3 + 1048576 + 16384 + + True + True + %output_path% + False + + False + fa8 + False + False + + True + True + False + False + WinTypes=Windows;WinProcs=Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE; + + False + False + True + + + + + + 0 + + True + False + False + True + True + 0 + 1252 + 12 + Release + False + + + True + True + + False + + False + False + True + True + False + False + False + False + False + False + False + False + 3082 + + 1 + 0 + 0 + False + 0 + %source_path%\Modulos\Empresas\Data\Empresas_data.dpk + True + 0 + + + rcBorland + 1000 + + False + False + False + False + [usPackages,usCompiler,usLinker,usVersionInfo] + False + False + + + + False + False + False + False + False + True + False + False + %package_path% + + + + False + %modules_dcp_path% + False + + False + + False + True + False + False + True + 4194304 + False + False + False + True + %library_path% + 0 + False + 3 + 1048576 + 16384 + + True + True + %output_path% + False + + False + fa8 + False + False + + True + True + False + False + WinTypes=Windows;WinProcs=Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE; + + False + False + True + + + + + + 0 + + True + False + False + True + True + 0 + 1252 + 12 + Release + False + + + True + True + + False + + False + False + True + True + False + False + False + False + False + False + False + False + 3082 + + 1 + 0 + 0 + False + 0 + %source_path%\Modulos\Empresas\Controller\Empresas_controller.dpk + True + 0 + + + rcBorland + 1000 + + False + False + False + False + [usPackages,usCompiler,usLinker,usVersionInfo] + False + False + + + + False + False + False + False + False + True + False + False + %package_path% + + + + False + %modules_dcp_path% + False + + False + + False + True + False + False + True + 4194304 + False + False + False + True + %library_path% + 0 + False + 3 + 1048576 + 16384 + + True + True + %output_path% + False + + False + fa8 + False + False + + True + True + False + False + WinTypes=Windows;WinProcs=Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE; + + False + False + True + + + + + + 0 + + True + False + False + True + True + 0 + 1252 + 12 + Release + False + + + True + True + + False + + False + False + True + True + False + False + False + False + False + False + False + False + 3082 + + 1 + 0 + 0 + False + 0 + %source_path%\Base\Usuarios\Usuarios.dpk + True + 3 + + + rcBorland + 1000 + + False + False + False + False + [usPackages,usCompiler,usLinker,usVersionInfo] + False + False + - - - False - False - False - False - False - True - False - False - %package_path% - + + + False + False + False + False + False + True + False + False + %package_path% + + + + False + %modules_dcp_path% + False + + False + + False + True + False + False + True + 4194304 + False + False + False + True + %library_path% + 0 + False + 3 + 1048576 + 16384 + + True + True + %output_path% + False + + False + fa8 + False + False + + True + True + False + False + WinTypes=Windows;WinProcs=Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE; + + False + False + True + + + + + + 0 + + True + False + False + True + True + 0 + 1252 + 12 + Release + False + + + True + True + + False + + False + False + True + True + False + False + False + False + False + False + False + False + 3082 + + 1 + 0 + 0 + False + 0 + %source_path%\Modulos\Empresas\Views\Empresas_view.dpk + True + 0 + + + rcBorland + 1000 + + False + False + False + False + [usPackages,usCompiler,usLinker,usVersionInfo] + False + False + + + + False + False + False + False + False + True + False + False + %package_path% + + + + False + %modules_dcp_path% + False + + False + + False + True + False + False + True + 4194304 + False + False + False + True + %library_path% + 0 + False + 3 + 1048576 + 16384 + + True + True + %output_path% + False + + False + fa8 + False + False + + True + True + False + False + WinTypes=Windows;WinProcs=Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE; + + False + False + True + + + + + + 0 + + True + False + False + True + True + 0 + 1252 + 12 + Release + False + + + True + True + + False + + False + False + True + True + False + False + False + False + False + False + False + False + 3082 + + 1 + 0 + 0 + False + 0 + %source_path%\Modulos\Empresas\Plugin\Empresas_plugin.dpk + True + 0 + + + rcBorland + 1000 + + False + False + False + False + [usPackages,usCompiler,usLinker,usVersionInfo] + False + False + + + + False + False + False + False + False + True + False + False + %package_path% + + + + False + %modules_dcp_path% + False + + False + + False + True + False + False + True + 4194304 + False + False + False + True + %library_path% + 0 + False + 3 + 1048576 + 16384 + + True + True + %output_path% + False + + False + fa8 + False + False + + True + True + False + False + WinTypes=Windows;WinProcs=Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE; + + False + False + True + + + + + - - False - %modules_dcp_path% - True - - True - - False - True - False - False - True - 4194304 - False - False - False - True - %library_path% - 0 - True - 3 - 1048576 - 16384 - - True - False - %output_path%\Cliente - False - - False - fa8 - True - False - - True - True - True - False - WinTypes=Windows;WinProcs=Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE; - - False - False - True + 0 + + + + True + True + False + True + False + + 0 + False + 0 + 1000 + False + + + + 0 + + True + False + False + True + True + 0 + 1252 + 12 + Release + False + + + True + True + + False + + False + False + True + True + False + False + False + False + False + False + False + False + 3082 + + 1 + 0 + 0 + False + 0 + + + True + 0 + + + rcBorland + 1000 + + False + False + False + False + [usPackages,usCompiler,usLinker,usVersionInfo] + False + False + + + + False + False + False + False + False + True + False + False + %package_path% + + + + False + %modules_dcp_path% + False + + False + + False + True + False + False + True + 4194304 + False + False + False + True + %library_path% + 0 + False + 0 + 1048576 + 16384 + + True + True + %output_path% + False + + False + fa8 + False + False + + True + True + False + False + WinTypes=Windows;WinProcs=Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE; + + False + False + True + + + + + + 0 + + True + False + False + True + True + 0 + 1252 + 12 + Release + False + + + True + True + + False + + False + False + False + True + False + False + False + False + False + False + False + False + 3081 + + 1 + 0 + 0 + False + 0 + + + True + 0 + + + rcBorland + 1000 + + False + False + False + False + [usPackages,usCompiler,usLinker,usVersionInfo] + False + False + + + + False + False + False + False + False + True + False + False + %package_path% + + + + False + %modules_dcp_path% + False + + False + + False + True + False + False + True + 4194304 + False + False + False + True + %library_path% + 0 + False + 0 + 1048576 + 16384 + + True + True + %output_path% + False + + False + fa8 + False + False + + True + True + False + False + WinTypes=Windows;WinProcs=Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE; + + False + False + True + + + + + + 0 + + True + False + False + True + True + 0 + 1252 + 12 + Release + False + + + True + True + + False + + False + False + False + True + False + False + False + False + False + False + False + False + 3081 + + 1 + 0 + 0 + False + 0 + + + True + 0 + + + rcBorland + 1000 + + False + False + False + False + [usPackages,usCompiler,usLinker,usVersionInfo] + False + False + + + + False + False + False + False + False + True + False + False + %package_path% + + + + False + %modules_dcp_path% + False + + False + + False + True + False + False + True + 4194304 + False + False + False + True + %library_path% + 0 + False + 0 + 1048576 + 16384 + + True + True + %output_path% + False + + False + fa8 + False + False + + True + True + False + False + WinTypes=Windows;WinProcs=Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE; + + False + False + True + + + + + + 0 + + True + False + False + True + True + 0 + 1252 + 12 + Release + False + + + True + True + + False + + False + False + True + True + False + False + False + False + False + False + False + False + 3082 + + 1 + 0 + 0 + False + 0 + + + True + 0 + + + rcBorland + 1000 + + False + False + False + False + [usPackages,usCompiler,usLinker,usVersionInfo] + False + False + + + + False + False + False + False + False + True + False + False + %package_path% + + + + False + %modules_dcp_path% + False + + False + + False + True + False + False + True + 4194304 + False + False + False + True + %library_path% + 0 + False + 0 + 1048576 + 16384 + + True + True + %output_path% + False + + False + fa8 + False + False + + True + True + False + False + WinTypes=Windows;WinProcs=Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE; + + False + False + True + + + + + + 0 + + True + False + False + True + True + 0 + 1252 + 12 + Release + False + + + True + True + + False + + False + False + False + True + False + False + False + False + False + False + False + False + 3081 + + 1 + 0 + 0 + False + 0 + + + True + 0 + + + rcBorland + 1000 + + False + False + False + False + [usPackages,usCompiler,usLinker,usVersionInfo] + False + False + + + + False + False + False + False + False + True + False + False + %package_path% + + + + False + %modules_dcp_path% + False + + False + + False + True + False + False + True + 4194304 + False + False + False + True + %library_path% + 0 + False + 0 + 1048576 + 16384 + + True + True + %output_path% + False + + False + fa8 + False + False + + True + True + False + False + WinTypes=Windows;WinProcs=Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE; + + False + False + True + + + + + + + 0 + + + + True + True + False + True + False + + 0 + False + 0 + 1000 + False + + + + 0 + + True + False + False + True + True + 0 + 1252 + 12 + Release + False + + + True + True + + False + + False + False + True + True + False + False + False + False + False + False + False + False + 3082 + + 1 + 0 + 0 + False + 0 + + + True + 0 + + + rcBorland + 1000 + + False + False + False + False + [usPackages,usCompiler,usLinker,usVersionInfo] + False + False + + + + False + False + False + False + False + True + False + False + %package_path% + + + + False + %modules_dcp_path% + False + + False + + False + True + False + False + True + 4194304 + False + False + False + True + %library_path% + 0 + False + 3 + 1048576 + 16384 + + True + True + %output_path% + False + + False + fa8 + False + False + + True + True + False + False + WinTypes=Windows;WinProcs=Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE; + + False + False + True + + + + + + 0 + + True + False + False + True + True + 0 + 1252 + 12 + Release + False + + + True + True + + False + + False + False + True + True + False + False + False + False + False + False + False + False + 3082 + + 1 + 0 + 0 + False + 0 + + + True + 0 + + + rcBorland + 1000 + + False + False + False + False + [usPackages,usCompiler,usLinker,usVersionInfo] + False + False + + + + False + False + False + False + False + True + False + False + %package_path% + + + + False + %modules_dcp_path% + False + + False + + False + True + False + False + True + 4194304 + False + False + False + True + %library_path% + 0 + False + 3 + 1048576 + 16384 + + True + True + %output_path% + False + + False + fa8 + False + False + + True + True + False + False + WinTypes=Windows;WinProcs=Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE; + + False + False + True + + + + + + 0 + + True + False + False + True + True + 0 + 1252 + 12 + Release + False + + + True + True + + False + + False + False + True + True + False + False + False + False + False + False + False + False + 3082 + + 1 + 0 + 0 + False + 0 + + + True + 0 + + + rcBorland + 1000 + + False + False + False + False + [usPackages,usCompiler,usLinker,usVersionInfo] + False + False + + + + False + False + False + False + False + True + False + False + %package_path% + + + + False + %modules_dcp_path% + False + + False + + False + True + False + False + True + 4194304 + False + False + False + True + %library_path% + 0 + False + 0 + 1048576 + 16384 + + True + True + %output_path% + False + + False + fa8 + False + False + + True + True + False + False + WinTypes=Windows;WinProcs=Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE; + + False + False + True + + + + + + 0 + + True + False + False + True + True + 0 + 1252 + 12 + Release + False + + + True + True + + False + + False + False + True + True + False + False + False + False + False + False + False + False + 3082 + + 1 + 0 + 0 + False + 0 + + + True + 0 + + + rcBorland + 1000 + + False + False + False + False + [usPackages,usCompiler,usLinker,usVersionInfo] + False + False + + + + False + False + False + False + False + True + False + False + %package_path% + + + + False + %modules_dcp_path% + False + + False + + False + True + False + False + True + 4194304 + False + False + False + True + %library_path% + 0 + False + 0 + 1048576 + 16384 + + True + True + %output_path% + False + + False + fa8 + False + False + + True + True + False + False + WinTypes=Windows;WinProcs=Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE; + + False + False + True + + + + + + 0 + + True + False + False + True + True + 0 + 1252 + 12 + Release + False + + + True + True + + False + + False + False + True + True + False + False + False + False + False + False + False + False + 3082 + + 1 + 0 + 0 + False + 0 + + + True + 0 + + + rcBorland + 1000 + + False + False + False + False + [usPackages,usCompiler,usLinker,usVersionInfo] + False + False + + + + False + False + False + False + False + True + False + False + %package_path% + + + + False + %modules_dcp_path% + False + + False + + False + True + False + False + True + 4194304 + False + False + False + True + %library_path% + 0 + False + 0 + 1048576 + 16384 + + True + True + %output_path% + False + + False + fa8 + False + False + + True + True + False + False + WinTypes=Windows;WinProcs=Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE; + + False + False + True + + + + + Contactos + 0 + + Contactos + True + True + False + True + False + + 0 + False + 0 + 1000 + False + + + + 0 + + True + False + False + True + True + 0 + 1252 + 12 + Release + False + + + True + True + + False + + False + False + True + True + False + False + False + False + False + False + False + False + 3082 + + 1 + 0 + 0 + False + 0 + %source_path%\Modulos\Contactos\Model\Contactos_model.dpk + True + 0 + + + rcBorland + 1000 + + False + False + False + False + [usPackages,usCompiler,usLinker,usVersionInfo] + False + False + + + + False + False + False + False + False + True + False + False + %package_path% + + + + False + %modules_dcp_path% + False + + False + + False + True + False + False + True + 4194304 + False + False + False + True + %library_path% + 0 + False + 3 + 1048576 + 16384 + + True + True + %output_path% + False + + False + fa8 + False + False + + True + True + False + False + WinTypes=Windows;WinProcs=Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE; + + False + False + True + + + + + + 0 + + True + False + False + True + True + 0 + 1252 + 12 + Release + False + + + True + True + + False + + False + False + True + True + False + False + False + False + False + False + False + False + 3082 + + 1 + 0 + 0 + False + 0 + %source_path%\Modulos\Contactos\Data\Contactos_data.dpk + True + 0 + + + rcBorland + 1000 + + False + False + False + False + [usPackages,usCompiler,usLinker,usVersionInfo] + False + False + + + + False + False + False + False + False + True + False + False + %package_path% + + + + False + %modules_dcp_path% + False + + False + + False + True + False + False + True + 4194304 + False + False + False + True + %library_path% + 0 + False + 3 + 1048576 + 16384 + + True + True + %output_path% + False + + False + fa8 + False + False + + True + True + False + False + WinTypes=Windows;WinProcs=Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE; + + False + False + True + + + + + + 0 + + True + False + False + True + True + 0 + 1252 + 12 + Release + False + + + True + True + + False + + False + False + True + True + False + False + False + False + False + False + False + False + 3082 + + 1 + 0 + 0 + False + 0 + %source_path%\Modulos\Contactos\Controller\Contactos_controller.dpk + True + 0 + + + rcBorland + 1000 + + False + False + False + False + [usPackages,usCompiler,usLinker,usVersionInfo] + False + False + + + + False + False + False + False + False + True + False + False + %package_path% + + + + False + %modules_dcp_path% + False + + False + + False + True + False + False + True + 4194304 + False + False + False + True + %library_path% + 0 + False + 3 + 1048576 + 16384 + + True + True + %output_path% + False + + False + fa8 + False + False + + True + True + False + False + WinTypes=Windows;WinProcs=Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE; + + False + False + True + + + + + + 0 + + True + False + False + True + True + 0 + 1252 + 12 + Release + False + + + True + True + + False + + False + False + True + True + False + False + False + False + False + False + False + False + 3082 + + 1 + 0 + 0 + False + 0 + %source_path%\Modulos\Contactos\Views\Contactos_view.dpk + True + 0 + + + rcBorland + 1000 + + False + False + False + False + [usPackages,usCompiler,usLinker,usVersionInfo] + False + False + + + + False + False + False + False + False + True + False + False + %package_path% + + + + False + %modules_dcp_path% + False + + False + + False + True + False + False + True + 4194304 + False + False + False + True + %library_path% + 0 + False + 3 + 1048576 + 16384 + + True + True + %output_path% + False + + False + fa8 + False + False + + True + True + False + False + WinTypes=Windows;WinProcs=Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE; + + False + False + True + + + + + + 0 + + True + False + False + True + True + 0 + 1252 + 12 + Release + False + + + True + True + + False + + False + False + True + True + False + False + False + False + False + False + False + False + 3082 + + 1 + 0 + 0 + False + 0 + %source_path%\Modulos\Contactos\Plugin\Contactos_plugin.dpk + True + 0 + + + rcBorland + 1000 + + False + False + False + False + [usPackages,usCompiler,usLinker,usVersionInfo] + False + False + + + + False + False + False + False + False + True + False + False + %package_path% + + + + False + %modules_dcp_path% + False + + False + + False + True + False + False + True + 4194304 + False + False + False + True + %library_path% + 0 + False + 3 + 1048576 + 16384 + + True + True + %output_path% + False + + False + fa8 + False + False + + True + True + False + False + WinTypes=Windows;WinProcs=Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE; + + False + False + True + + + + + Familias + 0 + + Familias + False + True + False + True + False + + 0 + False + 0 + 1000 + False + + + + 0 + + True + False + False + True + True + 0 + 1252 + 12 + Release + False + + + True + True + + False + + False + False + False + True + False + False + False + False + False + False + False + False + 3081 + + 0 + 0 + 0 + False + 0 + %source_path%\Modulos\Familias\Model\Familias_model.dpk + True + 0 + + + rcBorland + 1000 + + False + False + False + False + [usPackages,usCompiler,usLinker,usVersionInfo] + False + False + + + + False + False + False + False + False + True + False + False + %package_path% + + + + False + %modules_dcp_path% + True + + True + + False + True + False + False + True + 4194304 + False + False + False + True + %library_path% + 0 + True + 0 + 1048576 + 16384 + + True + True + %output_path% + False + + False + fa8 + True + False + + True + True + False + False + WinTypes=Windows;WinProcs=Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE; + + False + False + True + + + + + + 0 + + True + False + False + True + True + 0 + 1252 + 12 + Release + False + + + True + True + + False + + False + False + False + True + False + False + False + False + False + False + False + False + 3081 + + 0 + 0 + 0 + False + 0 + %source_path%\Modulos\Familias\Data\Familias_data.dpk + True + 0 + + + rcBorland + 1000 + + False + False + False + False + [usPackages,usCompiler,usLinker,usVersionInfo] + False + False + + + + False + False + False + False + False + True + False + False + %package_path% + + + + False + %modules_dcp_path% + True + + True + + False + True + False + False + True + 4194304 + False + False + False + True + %library_path% + 0 + True + 0 + 1048576 + 16384 + + True + True + %output_path% + False + + False + fa8 + True + False + + True + True + False + False + WinTypes=Windows;WinProcs=Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE; + + False + False + True + + + + + + 0 + + True + False + False + True + True + 0 + 1252 + 12 + Release + False + + + True + True + + False + + False + False + False + True + False + False + False + False + False + False + False + False + 3081 + + 0 + 0 + 0 + False + 0 + %source_path%\Modulos\Familias\Controller\Familias_controller.dpk + True + 0 + + + rcBorland + 1000 + + False + False + False + False + [usPackages,usCompiler,usLinker,usVersionInfo] + False + False + + + + False + False + False + False + False + True + False + False + %package_path% + + + + False + %modules_dcp_path% + True + + True + + False + True + False + False + True + 4194304 + False + False + False + True + %library_path% + 0 + True + 0 + 1048576 + 16384 + + True + True + %output_path% + False + + False + fa8 + True + False + + True + True + False + False + WinTypes=Windows;WinProcs=Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE; + + False + False + True + + + + + + 0 + + True + False + False + True + True + 0 + 1252 + 12 + Release + False + + + True + True + + False + + False + False + False + True + False + False + False + False + False + False + False + False + 3081 + + 0 + 0 + 0 + False + 0 + %source_path%\Modulos\Familias\Views\Familias_view.dpk + True + 0 + + + rcBorland + 1000 + + False + False + False + False + [usPackages,usCompiler,usLinker,usVersionInfo] + False + False + + + + False + False + False + False + False + True + False + False + %package_path% + + + + False + %modules_dcp_path% + True + + True + + False + True + False + False + True + 4194304 + False + False + False + True + %library_path% + 0 + True + 0 + 1048576 + 16384 + + True + True + %output_path% + False + + False + fa8 + True + False + + True + True + False + False + WinTypes=Windows;WinProcs=Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE; + + False + False + True + + + + + + 0 + + True + False + False + True + True + 0 + 1252 + 12 + Release + False + + + True + True + + False + + False + False + False + True + False + False + False + False + False + False + False + False + 3081 + + 0 + 0 + 0 + False + 0 + %source_path%\Modulos\Familias\Plugin\Familias_plugin.dpk + True + 0 + + + rcBorland + 1000 + + False + False + False + False + [usPackages,usCompiler,usLinker,usVersionInfo] + False + False + + + + False + False + False + False + False + True + False + False + %package_path% + + + + False + %modules_dcp_path% + True + + True + + False + True + False + False + True + 4194304 + False + False + False + True + %library_path% + 0 + True + 0 + 1048576 + 16384 + + True + True + %output_path% + False + + False + fa8 + True + False + + True + True + False + False + WinTypes=Windows;WinProcs=Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE; + + False + False + True + + - - + + 0 - True - False - False - True - True - 0 - 1252 - 12 - Release - False - + - True + False True - - False - False - False - False True False - False - False - False - False - False - False - False - 3081 - 1 0 - 0 False 0 - %source_path%\Modulos\VentasProceso\Cliente\VentasProceso.dpk - True - 0 - - - rcBorland 1000 - False - False - False - False - [usPackages,usCompiler,usLinker,usVersionInfo] - False - False - - - - False - False - False - False - False - True - False - False - %package_path% - + + - - False - %modules_dcp_path% - False - - False - - False - True - False - False - True - 4194304 - False - False - False - True - %library_path% - 0 - False - 3 - 1048576 - 16384 - - True - False - %output_path%\Cliente - False - - False - fa8 - False - False - - True - True - False - False - WinTypes=Windows;WinProcs=Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE; - - False - False - True + 0 + + True + False + False + True + True + 0 + 1252 + 11 + Release + False + + + True + True + + False + + False + False + False + True + False + False + False + False + False + False + False + False + 3081 + + 0 + 0 + 0 + False + 0 + %source_path%\Modulos\Almacenes\Model\Almacenes_model.dpk + True + 0 + + + rcBorland + 1000 + + False + False + False + False + [] + False + False + + + + False + False + False + True + True + True + False + False + %package_path% + + + + False + %modules_dcp_path% + True + + True + + False + True + False + False + True + 4194304 + False + False + False + True + %library_path% + 0 + True + 0 + 1048576 + 16384 + + True + True + %output_path% + False + + False + fa8 + True + False + + True + True + False + False + WinTypes=Windows;WinProcs=Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE; + + False + False + True + + + + + + 0 + + True + False + False + True + True + 0 + 1252 + 11 + Release + False + + + True + True + + False + + False + False + False + True + False + False + False + False + False + False + False + False + 3081 + + 0 + 0 + 0 + False + 0 + %source_path%\Modulos\Almacenes\Data\Almacenes_data.dpk + True + 0 + + + rcBorland + 1000 + + False + False + False + False + [] + False + False + + + + False + False + False + True + True + True + False + False + %package_path% + + + + False + %modules_dcp_path% + True + + True + + False + True + False + False + True + 4194304 + False + False + False + True + %library_path% + 0 + True + 0 + 1048576 + 16384 + + True + True + %output_path% + False + + False + fa8 + True + False + + True + True + False + False + WinTypes=Windows;WinProcs=Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE; + + False + False + True + + + + + + 0 + + True + False + False + True + True + 0 + 1252 + 11 + Release + False + + + True + True + + False + + False + False + False + True + False + False + False + False + False + False + False + False + 3081 + + 0 + 0 + 0 + False + 0 + %source_path%\Modulos\Almacenes\Controller\Almacenes_controller.dpk + True + 0 + + + rcBorland + 1000 + + False + False + False + False + [] + False + False + + + + False + False + False + True + True + True + False + False + %package_path% + + + + False + %modules_dcp_path% + True + + True + + False + True + False + False + True + 4194304 + False + False + False + True + %library_path% + 0 + True + 0 + 1048576 + 16384 + + True + True + %output_path% + False + + False + fa8 + True + False + + True + True + False + False + WinTypes=Windows;WinProcs=Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE; + + False + False + True + + + + + + 0 + + True + False + False + True + True + 0 + 1252 + 11 + Release + False + + + True + True + + False + + False + False + False + True + False + False + False + False + False + False + False + False + 3081 + + 0 + 0 + 0 + False + 0 + %source_path%\Modulos\Almacenes\Views\Almacenes_view.dpk + True + 0 + + + rcBorland + 1000 + + False + False + False + False + [] + False + False + + + + False + False + False + True + True + True + False + False + %package_path% + + + + False + %modules_dcp_path% + True + + True + + False + True + False + False + True + 4194304 + False + False + False + True + %library_path% + 0 + True + 0 + 1048576 + 16384 + + True + True + %output_path% + False + + False + fa8 + True + False + + True + True + False + False + WinTypes=Windows;WinProcs=Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE; + + False + False + True + + + + + + 0 + + True + False + False + True + True + 0 + 1252 + 11 + Release + False + + + True + True + + False + + False + False + False + True + False + False + False + False + False + False + False + False + 3081 + + 0 + 0 + 0 + False + 0 + %source_path%\Modulos\Almacenes\Plugin\Almacenes_plugin.dpk + True + 0 + + + rcBorland + 1000 + + False + False + False + False + [] + False + False + + + + False + False + False + True + True + True + False + False + %package_path% + + + + False + %modules_dcp_path% + True + + True + + False + True + False + False + True + 4194304 + False + False + False + True + %library_path% + 0 + True + 0 + 1048576 + 16384 + + True + True + %output_path% + False + + False + fa8 + True + False + + True + True + False + False + WinTypes=Windows;WinProcs=Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE; + + False + False + True + - - + + 0 - True - False - False - True - True - 0 - 1252 - 12 - Release - False - + - True + False True - - False - False - False - False True False - False - False - False - False - False - False - False - 3081 - 1 0 - 0 False 0 - %source_path%\Modulos\ReferenciaGenerica\Cliente\ReferenciaGenerica.dpk - True - 0 - - - rcBorland 1000 - False - False - False - False - [usPackages,usCompiler,usLinker,usVersionInfo] - False - False - - - - False - False - False - False - False - True - False - False - %package_path% - + + - - False - %modules_dcp_path% - False - - False - - False - True - False - False - True - 4194304 - False - False - False - True - %library_path% - 0 - False - 3 - 1048576 - 16384 - - True - False - %output_path%\Cliente - False - - False - fa8 - False - False - - True - True - False - False - WinTypes=Windows;WinProcs=Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE; - - False - False - True + 0 + + True + False + False + True + True + 0 + 1252 + 11 + Release + False + + + True + True + + False + + False + False + False + True + False + False + False + False + False + False + False + False + 3081 + + 0 + 0 + 0 + False + 0 + %source_path%\Modulos\Articulos\Model\Articulos_model.dpk + True + 0 + + + rcBorland + 1000 + + False + False + False + False + [] + False + False + + + + False + False + False + True + True + True + False + False + %package_path% + + + + False + %modules_dcp_path% + True + + True + + False + True + False + False + True + 4194304 + False + False + False + True + %library_path% + 0 + True + 0 + 1048576 + 16384 + + True + True + %output_path% + False + + False + fa8 + True + False + + True + True + False + False + WinTypes=Windows;WinProcs=Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE; + + False + False + True + + + + + + 0 + + True + False + False + True + True + 0 + 1252 + 11 + Release + False + + + True + True + + False + + False + False + False + True + False + False + False + False + False + False + False + False + 3081 + + 0 + 0 + 0 + False + 0 + %source_path%\Modulos\Articulos\Data\Articulos_data.dpk + True + 0 + + + rcBorland + 1000 + + False + False + False + False + [] + False + False + + + + False + False + False + True + True + True + False + False + %package_path% + + + + False + %modules_dcp_path% + True + + True + + False + True + False + False + True + 4194304 + False + False + False + True + %library_path% + 0 + True + 0 + 1048576 + 16384 + + True + True + %output_path% + False + + False + fa8 + True + False + + True + True + False + False + WinTypes=Windows;WinProcs=Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE; + + False + False + True + + + + + + 0 + + True + False + False + True + True + 0 + 1252 + 11 + Release + False + + + True + True + + False + + False + False + False + True + False + False + False + False + False + False + False + False + 3081 + + 0 + 0 + 0 + False + 0 + %source_path%\Modulos\Articulos\Controller\Articulos_controller.dpk + True + 0 + + + rcBorland + 1000 + + False + False + False + False + [] + False + False + + + + False + False + False + True + True + True + False + False + %package_path% + + + + False + %modules_dcp_path% + True + + True + + False + True + False + False + True + 4194304 + False + False + False + True + %library_path% + 0 + True + 0 + 1048576 + 16384 + + True + True + %output_path% + False + + False + fa8 + True + False + + True + True + False + False + WinTypes=Windows;WinProcs=Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE; + + False + False + True + + + + + + 0 + + True + False + False + True + True + 0 + 1252 + 11 + Release + False + + + True + True + + False + + False + False + False + True + False + False + False + False + False + False + False + False + 3081 + + 0 + 0 + 0 + False + 0 + %source_path%\Modulos\Articulos\Views\Articulos_view.dpk + True + 0 + + + rcBorland + 1000 + + False + False + False + False + [] + False + False + + + + False + False + False + True + True + True + False + False + %package_path% + + + + False + %modules_dcp_path% + True + + True + + False + True + False + False + True + 4194304 + False + False + False + True + %library_path% + 0 + True + 0 + 1048576 + 16384 + + True + True + %output_path% + False + + False + fa8 + True + False + + True + True + False + False + WinTypes=Windows;WinProcs=Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE; + + False + False + True + + + + + + 0 + + True + False + False + True + True + 0 + 1252 + 11 + Release + False + + + True + True + + False + + False + False + False + True + False + False + False + False + False + False + False + False + 3081 + + 0 + 0 + 0 + False + 0 + %source_path%\Modulos\Articulos\Plugin\Articulos_plugin.dpk + True + 0 + + + rcBorland + 1000 + + False + False + False + False + [] + False + False + + + + False + False + False + True + True + True + False + False + %package_path% + + + + False + %modules_dcp_path% + True + + True + + False + True + False + False + True + 4194304 + False + False + False + True + %library_path% + 0 + True + 0 + 1048576 + 16384 + + True + True + %output_path% + False + + False + fa8 + True + False + + True + True + False + False + WinTypes=Windows;WinProcs=Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE; + + False + False + True + - - + + Ventas + 0 + + Ventas + False + True + False + True + False + + 0 + False + 0 + 1000 + False + + + + 0 + + + + True + True + False + True + False + + 0 + False + 0 + 1000 + False + + + + 0 + + True + False + False + True + True + 0 + 1252 + 11 + Release + False + + + True + True + + False + + False + False + False + True + False + False + False + False + False + False + False + False + 3081 + + 0 + 0 + 0 + False + 0 + + + True + 0 + + + rcBorland + 1000 + + False + False + False + False + [] + False + False + + + + False + False + False + True + True + True + False + False + %package_path% + + + + False + %modules_dcp_path% + True + + True + + False + True + False + False + True + 4194304 + False + False + False + True + %library_path% + 0 + True + 0 + 1048576 + 16384 + + True + True + %output_path% + False + + False + fa8 + True + False + + True + True + False + False + WinTypes=Windows;WinProcs=Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE; + + False + False + True + + + + + + 0 + + True + False + False + True + True + 0 + 1252 + 11 + Release + False + + + True + True + + False + + False + False + False + True + False + False + False + False + False + False + False + False + 3081 + + 0 + 0 + 0 + False + 0 + + + True + 0 + + + rcBorland + 1000 + + False + False + False + False + [] + False + False + + + + False + False + False + True + True + True + False + False + %package_path% + + + + False + %modules_dcp_path% + True + + True + + False + True + False + False + True + 4194304 + False + False + False + True + %library_path% + 0 + True + 0 + 1048576 + 16384 + + True + True + %output_path% + False + + False + fa8 + True + False + + True + True + False + False + WinTypes=Windows;WinProcs=Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE; + + False + False + True + + + + + + 0 + + True + False + False + True + True + 0 + 1252 + 11 + Release + False + + + True + True + + False + + False + False + False + True + False + False + False + False + False + False + False + False + 3081 + + 0 + 0 + 0 + False + 0 + + + True + 0 + + + rcBorland + 1000 + + False + False + False + False + [] + False + False + + + + False + False + False + True + True + True + False + False + %package_path% + + + + False + %modules_dcp_path% + True + + True + + False + True + False + False + True + 4194304 + False + False + False + True + %library_path% + 0 + True + 0 + 1048576 + 16384 + + True + True + %output_path% + False + + False + fa8 + True + False + + True + True + False + False + WinTypes=Windows;WinProcs=Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE; + + False + False + True + + + + + + 0 + + True + False + False + True + True + 0 + 1252 + 11 + Release + False + + + True + True + + False + + False + False + False + True + False + False + False + False + False + False + False + False + 3081 + + 0 + 0 + 0 + False + 0 + + + True + 0 + + + rcBorland + 1000 + + False + False + False + False + [] + False + False + + + + False + False + False + True + True + True + False + False + %package_path% + + + + False + %modules_dcp_path% + True + + True + + False + True + False + False + True + 4194304 + False + False + False + True + %library_path% + 0 + True + 0 + 1048576 + 16384 + + True + True + %output_path% + False + + False + fa8 + True + False + + True + True + False + False + WinTypes=Windows;WinProcs=Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE; + + False + False + True + + + + + + 0 + + True + False + False + True + True + 0 + 1252 + 11 + Release + False + + + True + True + + False + + False + False + False + True + False + False + False + False + False + False + False + False + 3081 + + 0 + 0 + 0 + False + 0 + + + True + 0 + + + rcBorland + 1000 + + False + False + False + False + [] + False + False + + + + False + False + False + True + True + True + False + False + %package_path% + + + + False + %modules_dcp_path% + True + + True + + False + True + False + False + True + 4194304 + False + False + False + True + %library_path% + 0 + True + 0 + 1048576 + 16384 + + True + True + %output_path% + False + + False + fa8 + True + False + + True + True + False + False + WinTypes=Windows;WinProcs=Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE; + + False + False + True + + + + + + + 0 + + + + True + True + False + True + False + + 0 + False + 0 + 1000 + False + + + + 0 + + True + False + False + True + True + 0 + 1252 + 11 + Release + False + + + True + True + + False + + False + False + False + True + False + False + False + False + False + False + False + False + 3081 + + 0 + 0 + 0 + False + 0 + + + True + 0 + + + rcBorland + 1000 + + False + False + False + False + [] + False + False + + + + False + False + False + True + True + True + False + False + %package_path% + + + + False + %modules_dcp_path% + True + + True + + False + True + False + False + True + 4194304 + False + False + False + True + %library_path% + 0 + True + 0 + 1048576 + 16384 + + True + True + %output_path% + False + + False + fa8 + True + False + + True + True + False + False + WinTypes=Windows;WinProcs=Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE; + + False + False + True + + + + + + 0 + + True + False + False + True + True + 0 + 1252 + 11 + Release + False + + + True + True + + False + + False + False + False + True + False + False + False + False + False + False + False + False + 3081 + + 0 + 0 + 0 + False + 0 + + + True + 0 + + + rcBorland + 1000 + + False + False + False + False + [] + False + False + + + + False + False + False + True + True + True + False + False + %package_path% + + + + False + %modules_dcp_path% + True + + True + + False + True + False + False + True + 4194304 + False + False + False + True + %library_path% + 0 + True + 0 + 1048576 + 16384 + + True + True + %output_path% + False + + False + fa8 + True + False + + True + True + False + False + WinTypes=Windows;WinProcs=Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE; + + False + False + True + + + + + + 0 + + True + False + False + True + True + 0 + 1252 + 11 + Release + False + + + True + True + + False + + False + False + False + True + False + False + False + False + False + False + False + False + 3081 + + 0 + 0 + 0 + False + 0 + + + True + 0 + + + rcBorland + 1000 + + False + False + False + False + [] + False + False + + + + False + False + False + True + True + True + False + False + %package_path% + + + + False + %modules_dcp_path% + True + + True + + False + True + False + False + True + 4194304 + False + False + False + True + %library_path% + 0 + True + 0 + 1048576 + 16384 + + True + True + %output_path% + False + + False + fa8 + True + False + + True + True + False + False + WinTypes=Windows;WinProcs=Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE; + + False + False + True + + + + + + 0 + + True + False + False + True + True + 0 + 1252 + 11 + Release + False + + + True + True + + False + + False + False + False + True + False + False + False + False + False + False + False + False + 3081 + + 0 + 0 + 0 + False + 0 + + + True + 0 + + + rcBorland + 1000 + + False + False + False + False + [] + False + False + + + + False + False + False + True + True + True + False + False + %package_path% + + + + False + %modules_dcp_path% + True + + True + + False + True + False + False + True + 4194304 + False + False + False + True + %library_path% + 0 + True + 0 + 1048576 + 16384 + + True + True + %output_path% + False + + False + fa8 + True + False + + True + True + False + False + WinTypes=Windows;WinProcs=Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE; + + False + False + True + + + + + + 0 + + True + False + False + True + True + 0 + 1252 + 11 + Release + False + + + True + True + + False + + False + False + False + True + False + False + False + False + False + False + False + False + 3081 + + 0 + 0 + 0 + False + 0 + + + True + 0 + + + rcBorland + 1000 + + False + False + False + False + [] + False + False + + + + False + False + False + True + True + True + False + False + %package_path% + + + + False + %modules_dcp_path% + True + + True + + False + True + False + False + True + 4194304 + False + False + False + True + %library_path% + 0 + True + 0 + 1048576 + 16384 + + True + True + %output_path% + False + + False + fa8 + True + False + + True + True + False + False + WinTypes=Windows;WinProcs=Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE; + + False + False + True + + + + + + 0 + + True + False + False + True + True + 0 + 1252 + 11 + Release + False + + + True + True + + False + + False + False + False + True + False + False + False + False + False + False + False + False + 3081 + + 0 + 0 + 0 + False + 0 + + + True + 0 + + + rcBorland + 1000 + + False + False + False + False + [] + False + False + + + + False + False + False + True + True + True + False + False + %package_path% + + + + False + %modules_dcp_path% + True + + True + + False + True + False + False + True + 4194304 + False + False + False + True + %library_path% + 0 + True + 0 + 1048576 + 16384 + + True + True + %output_path% + False + + False + fa8 + True + False + + True + True + False + False + WinTypes=Windows;WinProcs=Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE; + + False + False + True + + + + + + 0 + + True + False + False + True + True + 0 + 1252 + 11 + Release + False + + + True + True + + False + + False + False + False + True + False + False + False + False + False + False + False + False + 3081 + + 0 + 0 + 0 + False + 0 + + + True + 0 + + + rcBorland + 1000 + + False + False + False + False + [] + False + False + + + + False + False + False + True + True + True + False + False + %package_path% + + + + False + %modules_dcp_path% + True + + True + + False + True + False + False + True + 4194304 + False + False + False + True + %library_path% + 0 + True + 0 + 1048576 + 16384 + + True + True + %output_path% + False + + False + fa8 + True + False + + True + True + False + False + WinTypes=Windows;WinProcs=Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE; + + False + False + True + + + + + + + 0 + + + + True + True + False + True + False + + 0 + False + 0 + 1000 + False + + + + 0 + + True + False + False + True + True + 0 + 1252 + 11 + Release + False + + + True + True + + False + + False + False + False + True + False + False + False + False + False + False + False + False + 3081 + + 0 + 0 + 0 + False + 0 + + + True + 0 + + + rcBorland + 1000 + + False + False + False + False + [] + False + False + + + + False + False + False + True + True + True + False + False + %package_path% + + + + False + %modules_dcp_path% + True + + True + + False + True + False + False + True + 4194304 + False + False + False + True + %library_path% + 0 + True + 0 + 1048576 + 16384 + + True + True + %output_path% + False + + False + fa8 + True + False + + True + True + False + False + WinTypes=Windows;WinProcs=Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE; + + False + False + True + + + + + + 0 + + True + False + False + True + True + 0 + 1252 + 11 + Release + False + + + True + True + + False + + False + False + False + True + False + False + False + False + False + False + False + False + 3081 + + 0 + 0 + 0 + False + 0 + + + True + 0 + + + rcBorland + 1000 + + False + False + False + False + [] + False + False + + + + False + False + False + True + True + True + False + False + %package_path% + + + + False + %modules_dcp_path% + True + + True + + False + True + False + False + True + 4194304 + False + False + False + True + %library_path% + 0 + True + 0 + 1048576 + 16384 + + True + True + %output_path% + False + + False + fa8 + True + False + + True + True + False + False + WinTypes=Windows;WinProcs=Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE; + + False + False + True + + + + + + 0 + + True + False + False + True + True + 0 + 1252 + 11 + Release + False + + + True + True + + False + + False + False + False + True + False + False + False + False + False + False + False + False + 3081 + + 0 + 0 + 0 + False + 0 + + + True + 0 + + + rcBorland + 1000 + + False + False + False + False + [] + False + False + + + + False + False + False + True + True + True + False + False + %package_path% + + + + False + %modules_dcp_path% + True + + True + + False + True + False + False + True + 4194304 + False + False + False + True + %library_path% + 0 + True + 0 + 1048576 + 16384 + + True + True + %output_path% + False + + False + fa8 + True + False + + True + True + False + False + WinTypes=Windows;WinProcs=Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE; + + False + False + True + + + + + + + 0 + + + + True + True + False + True + False + + 0 + False + 0 + 1000 + False + + + + 0 + + True + False + False + True + True + 0 + 1252 + 11 + Release + False + + + True + True + + False + + False + False + False + True + False + False + False + False + False + False + False + False + 3081 + + 0 + 0 + 0 + False + 0 + + + True + 0 + + + rcBorland + 1000 + + False + False + False + False + [] + False + False + + + + False + False + False + True + True + True + False + False + %package_path% + + + + False + %modules_dcp_path% + True + + True + + False + True + False + False + True + 4194304 + False + False + False + True + %library_path% + 0 + True + 0 + 1048576 + 16384 + + True + True + %output_path% + False + + False + fa8 + True + False + + True + True + False + False + WinTypes=Windows;WinProcs=Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE; + + False + False + True + + + + + + 0 + + True + False + False + True + True + 0 + 1252 + 11 + Release + False + + + True + True + + False + + False + False + False + True + False + False + False + False + False + False + False + False + 3081 + + 0 + 0 + 0 + False + 0 + + + True + 0 + + + rcBorland + 1000 + + False + False + False + False + [] + False + False + + + + False + False + False + True + True + True + False + False + %package_path% + + + + False + %modules_dcp_path% + True + + True + + False + True + False + False + True + 4194304 + False + False + False + True + %library_path% + 0 + True + 0 + 1048576 + 16384 + + True + True + %output_path% + False + + False + fa8 + True + False + + True + True + False + False + WinTypes=Windows;WinProcs=Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE; + + False + False + True + + + + + + 0 + + True + False + False + True + True + 0 + 1252 + 11 + Release + False + + + True + True + + False + + False + False + False + True + False + False + False + False + False + False + False + False + 3081 + + 0 + 0 + 0 + False + 0 + + + True + 0 + + + rcBorland + 1000 + + False + False + False + False + [] + False + False + + + + False + False + False + True + True + True + False + False + %package_path% + + + + False + %modules_dcp_path% + True + + True + + False + True + False + False + True + 4194304 + False + False + False + True + %library_path% + 0 + True + 0 + 1048576 + 16384 + + True + True + %output_path% + False + + False + fa8 + True + False + + True + True + False + False + WinTypes=Windows;WinProcs=Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE; + + False + False + True + + + + + + + 0 + + + + True + True + False + True + False + + 0 + False + 0 + 1000 + False + + + + 0 + + True + False + False + True + True + 0 + 1252 + 11 + Release + False + + + True + True + + False + + False + False + False + True + False + False + False + False + False + False + False + False + 3081 + + 0 + 0 + 0 + False + 0 + + + True + 0 + + + rcBorland + 1000 + + False + False + False + False + [] + False + False + + + + False + False + False + True + True + True + False + False + %package_path% + + + + False + %modules_dcp_path% + True + + True + + False + True + False + False + True + 4194304 + False + False + False + True + %library_path% + 0 + True + 0 + 1048576 + 16384 + + True + True + %output_path% + False + + False + fa8 + True + False + + True + True + False + False + WinTypes=Windows;WinProcs=Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE; + + False + False + True + + + + + + 0 + + True + False + False + True + True + 0 + 1252 + 11 + Release + False + + + True + True + + False + + False + False + False + True + False + False + False + False + False + False + False + False + 3081 + + 0 + 0 + 0 + False + 0 + + + True + 0 + + + rcBorland + 1000 + + False + False + False + False + [] + False + False + + + + False + False + False + True + True + True + False + False + %package_path% + + + + False + %modules_dcp_path% + True + + True + + False + True + False + False + True + 4194304 + False + False + False + True + %library_path% + 0 + True + 0 + 1048576 + 16384 + + True + True + %output_path% + False + + False + fa8 + True + False + + True + True + False + False + WinTypes=Windows;WinProcs=Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE; + + False + False + True + + + + + + 0 + + True + False + False + True + True + 0 + 1252 + 11 + Release + False + + + True + True + + False + + False + False + False + True + False + False + False + False + False + False + False + False + 3081 + + 0 + 0 + 0 + False + 0 + + + True + 0 + + + rcBorland + 1000 + + False + False + False + False + [] + False + False + + + + False + False + False + True + True + True + False + False + %package_path% + + + + False + %modules_dcp_path% + True + + True + + False + True + False + False + True + 4194304 + False + False + False + True + %library_path% + 0 + True + 0 + 1048576 + 16384 + + True + True + %output_path% + False + + False + fa8 + True + False + + True + True + False + False + WinTypes=Windows;WinProcs=Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE; + + False + False + True + + + + + + + 0 + + + + True + True + False + True + False + + 0 + False + 0 + 1000 + False + + + + 0 + + True + False + False + True + True + 0 + 1252 + 11 + Release + False + + + True + True + + False + + False + False + False + True + False + False + False + False + False + False + False + False + 3081 + + 0 + 0 + 0 + False + 0 + %source_path%\Modulos\Comisiones\Model\Comisiones_model.dpk + True + 0 + + + rcBorland + 1000 + + False + False + False + False + [] + False + False + + + + False + False + False + True + True + True + False + False + %package_path% + + + + False + %modules_dcp_path% + True + + True + + False + True + False + False + True + 4194304 + False + False + False + True + %library_path% + 0 + True + 0 + 1048576 + 16384 + + True + True + %output_path% + False + + False + fa8 + True + False + + True + True + False + False + WinTypes=Windows;WinProcs=Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE; + + False + False + True + + + + + + 0 + + True + False + False + True + True + 0 + 1252 + 11 + Release + False + + + True + True + + False + + False + False + False + True + False + False + False + False + False + False + False + False + 3081 + + 0 + 0 + 0 + False + 0 + %source_path%\Modulos\Comisiones\Data\Comisiones_data.dpk + True + 0 + + + rcBorland + 1000 + + False + False + False + False + [] + False + False + + + + False + False + False + True + True + True + False + False + %package_path% + + + + False + %modules_dcp_path% + True + + True + + False + True + False + False + True + 4194304 + False + False + False + True + %library_path% + 0 + True + 0 + 1048576 + 16384 + + True + True + %output_path% + False + + False + fa8 + True + False + + True + True + False + False + WinTypes=Windows;WinProcs=Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE; + + False + False + True + + + + + + 0 + + True + False + False + True + True + 0 + 1252 + 11 + Release + False + + + True + True + + False + + False + False + False + True + False + False + False + False + False + False + False + False + 3081 + + 0 + 0 + 0 + False + 0 + %source_path%\Modulos\Comisiones\Controller\Comisiones_controller.dpk + True + 0 + + + rcBorland + 1000 + + False + False + False + False + [] + False + False + + + + False + False + False + True + True + True + False + False + %package_path% + + + + False + %modules_dcp_path% + True + + True + + False + True + False + False + True + 4194304 + False + False + False + True + %library_path% + 0 + True + 0 + 1048576 + 16384 + + True + True + %output_path% + False + + False + fa8 + True + False + + True + True + False + False + WinTypes=Windows;WinProcs=Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE; + + False + False + True + + + + + + Compras + 0 + + Compras + False + True + False + True + False + + 0 + False + 0 + 1000 + False + + + + 0 + + + + True + True + False + True + False + + 0 + False + 0 + 1000 + False + + + + 0 + + True + False + False + True + True + 0 + 1252 + 11 + Release + False + + + True + True + + False + + False + False + False + True + False + False + False + False + False + False + False + False + 3081 + + 0 + 0 + 0 + False + 0 + + + True + 0 + + + rcBorland + 1000 + + False + False + False + False + [] + False + False + + + + False + False + False + True + True + True + False + False + %package_path% + + + + False + %modules_dcp_path% + True + + True + + False + True + False + False + True + 4194304 + False + False + False + True + %library_path% + 0 + True + 0 + 1048576 + 16384 + + True + True + %output_path% + False + + False + fa8 + True + False + + True + True + False + False + WinTypes=Windows;WinProcs=Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE; + + False + False + True + + + + + + 0 + + True + False + False + True + True + 0 + 1252 + 11 + Release + False + + + True + True + + False + + False + False + False + True + False + False + False + False + False + False + False + False + 3081 + + 0 + 0 + 0 + False + 0 + + + True + 0 + + + rcBorland + 1000 + + False + False + False + False + [] + False + False + + + + False + False + False + False + False + True + False + False + %package_path% + + + + False + %modules_dcp_path% + True + + True + + False + True + False + False + True + 4194304 + False + False + False + True + %library_path% + 0 + True + 0 + 1048576 + 16384 + + True + True + %output_path% + False + + False + fa8 + True + False + + True + True + False + False + WinTypes=Windows;WinProcs=Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE; + + False + False + True + + + + + + 0 + + True + False + False + True + True + 0 + 1252 + 11 + Release + False + + + True + True + + False + + False + False + False + True + False + False + False + False + False + False + False + False + 3081 + + 0 + 0 + 0 + False + 0 + + + True + 0 + + + rcBorland + 1000 + + False + False + False + False + [] + False + False + + + + False + False + False + True + True + True + False + False + %package_path% + + + + False + %modules_dcp_path% + True + + True + + False + True + False + False + True + 4194304 + False + False + False + True + %library_path% + 0 + True + 0 + 1048576 + 16384 + + True + True + %output_path% + False + + False + fa8 + True + False + + True + True + False + False + WinTypes=Windows;WinProcs=Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE; + + False + False + True + + + + + + 0 + + True + False + False + True + True + 0 + 1252 + 11 + Release + False + + + True + True + + False + + False + False + False + True + False + False + False + False + False + False + False + False + 3081 + + 0 + 0 + 0 + False + 0 + + + True + 0 + + + rcBorland + 1000 + + False + False + False + False + [] + False + False + + + + False + False + False + True + True + True + False + False + %package_path% + + + + False + %modules_dcp_path% + True + + True + + False + True + False + False + True + 4194304 + False + False + False + True + %library_path% + 0 + True + 0 + 1048576 + 16384 + + True + True + %output_path% + False + + False + fa8 + True + False + + True + True + False + False + WinTypes=Windows;WinProcs=Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE; + + False + False + True + + + + + + + 0 + + + + True + True + False + True + False + + 0 + False + 0 + 1000 + False + + + + 0 + + True + False + False + True + True + 0 + 1252 + 11 + Release + False + + + True + True + + False + + False + False + False + True + False + False + False + False + False + False + False + False + 3081 + + 0 + 0 + 0 + False + 0 + + + True + 0 + + + rcBorland + 1000 + + False + False + False + False + [] + False + False + + + + False + False + False + True + True + True + False + False + %package_path% + + + + False + %modules_dcp_path% + True + + True + + False + True + False + False + True + 4194304 + False + False + False + True + %library_path% + 0 + True + 0 + 1048576 + 16384 + + True + True + %output_path% + False + + False + fa8 + True + False + + True + True + False + False + WinTypes=Windows;WinProcs=Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE; + + False + False + True + + + + + + 0 + + True + False + False + True + True + 0 + 1252 + 11 + Release + False + + + True + True + + False + + False + False + False + True + False + False + False + False + False + False + False + False + 3081 + + 0 + 0 + 0 + False + 0 + + + True + 0 + + + rcBorland + 1000 + + False + False + False + False + [] + False + False + + + + False + False + False + True + True + True + False + False + %package_path% + + + + False + %modules_dcp_path% + True + + True + + False + True + False + False + True + 4194304 + False + False + False + True + %library_path% + 0 + True + 0 + 1048576 + 16384 + + True + True + %output_path% + False + + False + fa8 + True + False + + True + True + False + False + WinTypes=Windows;WinProcs=Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE; + + False + False + True + + + + + + 0 + + True + False + False + True + True + 0 + 1252 + 11 + Release + False + + + True + True + + False + + False + False + False + True + False + False + False + False + False + False + False + False + 3081 + + 0 + 0 + 0 + False + 0 + + + True + 0 + + + rcBorland + 1000 + + False + False + False + False + [] + False + False + + + + False + False + False + True + True + True + False + False + %package_path% + + + + False + %modules_dcp_path% + True + + True + + False + True + False + False + True + 4194304 + False + False + False + True + %library_path% + 0 + True + 0 + 1048576 + 16384 + + True + True + %output_path% + False + + False + fa8 + True + False + + True + True + False + False + WinTypes=Windows;WinProcs=Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE; + + False + False + True + + + + + + 0 + + True + False + False + True + True + 0 + 1252 + 11 + Release + False + + + True + True + + False + + False + False + False + True + False + False + False + False + False + False + False + False + 3081 + + 0 + 0 + 0 + False + 0 + + + True + 0 + + + rcBorland + 1000 + + False + False + False + False + [] + False + False + + + + False + False + False + True + True + True + False + False + %package_path% + + + + False + %modules_dcp_path% + True + + True + + False + True + False + False + True + 4194304 + False + False + False + True + %library_path% + 0 + True + 0 + 1048576 + 16384 + + True + True + %output_path% + False + + False + fa8 + True + False + + True + True + False + False + WinTypes=Windows;WinProcs=Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE; + + False + False + True + + + + + + 0 + + True + False + False + True + True + 0 + 1252 + 11 + Release + False + + + True + True + + False + + False + False + False + True + False + False + False + False + False + False + False + False + 3081 + + 0 + 0 + 0 + False + 0 + + + True + 0 + + + rcBorland + 1000 + + False + False + False + False + [] + False + False + + + + False + False + False + True + True + True + False + False + %package_path% + + + + False + %modules_dcp_path% + True + + True + + False + True + False + False + True + 4194304 + False + False + False + True + %library_path% + 0 + True + 0 + 1048576 + 16384 + + True + True + %output_path% + False + + False + fa8 + True + False + + True + True + False + False + WinTypes=Windows;WinProcs=Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE; + + False + False + True + + + + + + Logística + 0 + + Logística + False + True + False + True + False + + 0 + False + 0 + 1000 + False + + + + 0 + + + + True + True + False + True + False + + 0 + False + 0 + 1000 + False + + + + 0 + + True + False + False + True + True + 0 + 1252 + 11 + Release + False + + + True + True + + False + + False + False + False + True + False + False + False + False + False + False + False + False + 3081 + + 0 + 0 + 0 + False + 0 + %source_path%\Modulos\Inventario\Model\Inventario_model.dpk + True + 0 + + + rcBorland + 1000 + + False + False + False + False + [] + False + False + + + + False + False + False + True + True + True + False + False + %package_path% + + + + False + %modules_dcp_path% + True + + True + + False + True + False + False + True + 4194304 + False + False + False + True + %library_path% + 0 + True + 0 + 1048576 + 16384 + + True + True + %output_path% + False + + False + fa8 + True + False + + True + True + False + False + WinTypes=Windows;WinProcs=Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE; + + False + False + True + + + + + + 0 + + True + False + False + True + True + 0 + 1252 + 11 + Release + False + + + True + True + + False + + False + False + False + True + False + False + False + False + False + False + False + False + 3081 + + 0 + 0 + 0 + False + 0 + %source_path%\Modulos\Inventario\Data\Inventario_data.dpk + True + 0 + + + rcBorland + 1000 + + False + False + False + False + [] + False + False + + + + False + False + False + True + True + True + False + False + %package_path% + + + + False + %modules_dcp_path% + True + + True + + False + True + False + False + True + 4194304 + False + False + False + True + %library_path% + 0 + True + 0 + 1048576 + 16384 + + True + True + %output_path% + False + + False + fa8 + True + False + + True + True + False + False + WinTypes=Windows;WinProcs=Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE; + + False + False + True + + + + + + 0 + + True + False + False + True + True + 0 + 1252 + 11 + Release + False + + + True + True + + False + + False + False + False + True + False + False + False + False + False + False + False + False + 3081 + + 0 + 0 + 0 + False + 0 + %source_path%\Modulos\Inventario\Controller\Inventario_controller.dpk + True + 0 + + + rcBorland + 1000 + + False + False + False + False + [] + False + False + + + + False + False + False + True + True + True + False + False + %package_path% + + + + False + %modules_dcp_path% + True + + True + + False + True + False + False + True + 4194304 + False + False + False + True + %library_path% + 0 + True + 0 + 1048576 + 16384 + + True + True + %output_path% + False + + False + fa8 + True + False + + True + True + False + False + WinTypes=Windows;WinProcs=Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE; + + False + False + True + + + + + + + 0 + + + + True + True + False + True + False + + 0 + False + 0 + 1000 + False + + + + 0 + + True + False + False + True + True + 0 + 1252 + 11 + Release + False + + + True + True + + False + + False + False + False + True + False + False + False + False + False + False + False + False + 3081 + + 0 + 0 + 0 + False + 0 + + + True + 0 + + + rcBorland + 1000 + + False + False + False + False + [] + False + False + + + + False + False + False + True + True + True + False + False + %package_path% + + + + False + %modules_dcp_path% + True + + True + + False + True + False + False + True + 4194304 + False + False + False + True + %library_path% + 0 + True + 0 + 1048576 + 16384 + + True + True + %output_path% + False + + False + fa8 + True + False + + True + True + False + False + WinTypes=Windows;WinProcs=Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE; + + False + False + True + + + + + + 0 + + True + False + False + True + True + 0 + 1252 + 11 + Release + False + + + True + True + + False + + False + False + False + True + False + False + False + False + False + False + False + False + 3081 + + 0 + 0 + 0 + False + 0 + + + True + 0 + + + rcBorland + 1000 + + False + False + False + False + [] + False + False + + + + False + False + False + True + True + True + False + False + %package_path% + + + + False + %modules_dcp_path% + True + + True + + False + True + False + False + True + 4194304 + False + False + False + True + %library_path% + 0 + True + 0 + 1048576 + 16384 + + True + True + %output_path% + False + + False + fa8 + True + False + + True + True + False + False + WinTypes=Windows;WinProcs=Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE; + + False + False + True + + + + + + 0 + + True + False + False + True + True + 0 + 1252 + 11 + Release + False + + + True + True + + False + + False + False + False + True + False + False + False + False + False + False + False + False + 3081 + + 0 + 0 + 0 + False + 0 + + + True + 0 + + + rcBorland + 1000 + + False + False + False + False + [] + False + False + + + + False + False + False + True + True + True + False + False + %package_path% + + + + False + %modules_dcp_path% + True + + True + + False + True + False + False + True + 4194304 + False + False + False + True + %library_path% + 0 + True + 0 + 1048576 + 16384 + + True + True + %output_path% + False + + False + fa8 + True + False + + True + True + False + False + WinTypes=Windows;WinProcs=Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE; + + False + False + True + + + + + + + 0 + + + + True + True + False + True + False + + 0 + False + 0 + 1000 + False + + + + 0 + + True + False + False + True + True + 0 + 1252 + 11 + Release + False + + + True + True + + False + + False + False + False + True + False + False + False + False + False + False + False + False + 3081 + + 0 + 0 + 0 + False + 0 + + + True + 0 + + + rcBorland + 1000 + + False + False + False + False + [] + False + False + + + + False + False + False + True + True + True + False + False + %package_path% + + + + False + %modules_dcp_path% + True + + True + + False + True + False + False + True + 4194304 + False + False + False + True + %library_path% + 0 + True + 0 + 1048576 + 16384 + + True + True + %output_path% + False + + False + fa8 + True + False + + True + True + False + False + WinTypes=Windows;WinProcs=Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE; + + False + False + True + + + + + + 0 + + True + False + False + True + True + 0 + 1252 + 11 + Release + False + + + True + True + + False + + False + False + False + True + False + False + False + False + False + False + False + False + 3081 + + 0 + 0 + 0 + False + 0 + + + True + 0 + + + rcBorland + 1000 + + False + False + False + False + [] + False + False + + + + False + False + False + True + True + True + False + False + %package_path% + + + + False + %modules_dcp_path% + True + + True + + False + True + False + False + True + 4194304 + False + False + False + True + %library_path% + 0 + True + 0 + 1048576 + 16384 + + True + True + %output_path% + False + + False + fa8 + True + False + + True + True + False + False + WinTypes=Windows;WinProcs=Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE; + + False + False + True + + + + + + 0 + + True + False + False + True + True + 0 + 1252 + 11 + Release + False + + + True + True + + False + + False + False + False + True + False + False + False + False + False + False + False + False + 3081 + + 0 + 0 + 0 + False + 0 + + + True + 0 + + + rcBorland + 1000 + + False + False + False + False + [] + False + False + + + + False + False + False + True + True + True + False + False + %package_path% + + + + False + %modules_dcp_path% + True + + True + + False + True + False + False + True + 4194304 + False + False + False + True + %library_path% + 0 + True + 0 + 1048576 + 16384 + + True + True + %output_path% + False + + False + fa8 + True + False + + True + True + False + False + WinTypes=Windows;WinProcs=Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE; + + False + False + True + + + + + + 0 - True - False - False - True - True - 0 - 1252 - 12 - Release - False - + - True + False True - - False - False - False - False True False - False - False - False - False - False - False - False - 3081 - 1 0 - 0 False 0 - %source_path%\Modulos\Recepciones\Cliente\Recepciones.dpk - True - 0 - - - rcBorland 1000 - False - False - False - False - [usPackages,usCompiler,usLinker,usVersionInfo] - False - False - - - - False - False - False - False - False - True - False - False - %package_path% - + + - - False - %modules_dcp_path% - False - - False - - False - True - False - False - True - 4194304 - False - False - False - True - %library_path% - 0 - False - 3 - 1048576 - 16384 - - True - False - %output_path%\Cliente - False - - False - fa8 - False - False - - True - True - False - False - WinTypes=Windows;WinProcs=Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE; - - False - False - True + 0 + + True + False + False + True + True + 0 + 1252 + 11 + Release + False + + + True + True + + False + + False + False + False + True + False + False + False + False + False + False + False + False + 3081 + + 0 + 0 + 0 + False + 0 + + + True + 0 + + + rcBorland + 1000 + + False + False + False + False + [] + False + False + + + + False + False + False + True + True + True + False + False + %package_path% + + + + False + %modules_dcp_path% + True + + True + + False + True + False + False + True + 4194304 + False + False + False + True + %library_path% + 0 + True + 0 + 1048576 + 16384 + + True + True + %output_path% + False + + False + fa8 + True + False + + True + True + False + False + WinTypes=Windows;WinProcs=Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE; + + False + False + True + + + + + + 0 + + True + False + False + True + True + 0 + 1252 + 11 + Release + False + + + True + True + + False + + False + False + False + True + False + False + False + False + False + False + False + False + 3081 + + 0 + 0 + 0 + False + 0 + + + True + 0 + + + rcBorland + 1000 + + False + False + False + False + [] + False + False + + + + False + False + False + True + True + True + False + False + %package_path% + + + + False + %modules_dcp_path% + True + + True + + False + True + False + False + True + 4194304 + False + False + False + True + %library_path% + 0 + True + 0 + 1048576 + 16384 + + True + True + %output_path% + False + + False + fa8 + True + False + + True + True + False + False + WinTypes=Windows;WinProcs=Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE; + + False + False + True + + + + + + 0 + + True + False + False + True + True + 0 + 1252 + 11 + Release + False + + + True + True + + False + + False + False + False + True + False + False + False + False + False + False + False + False + 3081 + + 0 + 0 + 0 + False + 0 + + + True + 0 + + + rcBorland + 1000 + + False + False + False + False + [] + False + False + + + + False + False + False + True + True + True + False + False + %package_path% + + + + False + %modules_dcp_path% + True + + True + + False + True + False + False + True + 4194304 + False + False + False + True + %library_path% + 0 + True + 0 + 1048576 + 16384 + + True + True + %output_path% + False + + False + fa8 + True + False + + True + True + False + False + WinTypes=Windows;WinProcs=Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE; + + False + False + True + - - + + Relaciones + 0 + + Relaciones + False + True + False + True + False + + 0 + False + 0 + 1000 + False + + + + 0 + + True + False + False + True + True + 0 + 1252 + 11 + Release + False + + + True + True + + False + + False + False + False + True + False + False + False + False + False + False + False + False + 3081 + + 0 + 0 + 0 + False + 0 + + + True + 0 + + + rcBorland + 1000 + + False + False + False + False + [] + False + False + + + + False + False + False + True + True + True + False + False + %package_path% + + + + False + %modules_dcp_path% + True + + True + + False + True + False + False + True + 4194304 + False + False + False + True + %library_path% + 0 + True + 0 + 1048576 + 16384 + + True + True + %output_path% + False + + False + fa8 + True + False + + True + True + False + False + WinTypes=Windows;WinProcs=Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE; + + False + False + True + + + + + + 0 + + True + False + False + True + True + 0 + 1252 + 11 + Release + False + + + True + True + + False + + False + False + False + True + False + False + False + False + False + False + False + False + 3081 + + 0 + 0 + 0 + False + 0 + + + True + 0 + + + rcBorland + 1000 + + False + False + False + False + [] + False + False + + + + False + False + False + True + True + True + False + False + %package_path% + + + + False + %modules_dcp_path% + True + + True + + False + True + False + False + True + 4194304 + False + False + False + True + %library_path% + 0 + True + 0 + 1048576 + 16384 + + True + True + %output_path% + False + + False + fa8 + True + False + + True + True + False + False + WinTypes=Windows;WinProcs=Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE; + + False + False + True + + + + + + + + 0 + + True + False + False + True + True + 0 + 1252 + 11 + Release + False + + + True + True + + False + + False + False + False + True + False + False + False + False + False + False + False + False + 3081 + + 0 + 0 + 0 + False + 0 + + + True + 0 + + + rcBorland + 1000 + + False + False + False + False + [] + False + False + + + + False + False + False + True + True + True + False + False + %package_path% + + + + False + %modules_dcp_path% + True + + True + + False + True + False + False + True + 4194304 + False + False + False + True + + + 0 + True + 0 + 1048576 + 16384 + + True + True + %output_path% + False + + False + fa8 + True + False + + True + True + False + False + WinTypes=Windows;WinProcs=Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE; + + False + False + True + + + + + + + + 0 + + True + False + False + True + True + 0 + 1252 + 11 + Release + False + + + True + True + + False + + False + False + False + True + False + False + False + False + False + False + False + False + 3081 + + 0 + 0 + 0 + False + 0 + + + True + 0 + + + rcBorland + 1000 + + False + False + False + False + [] + False + False + + + + False + False + False + True + True + True + False + False + %package_path% + + + + False + %modules_dcp_path% + True + + True + + False + True + False + False + True + 4194304 + False + False + False + True + + + 0 + True + 0 + 1048576 + 16384 + + True + True + %output_path% + False + + False + fa8 + True + False + + True + True + False + False + WinTypes=Windows;WinProcs=Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE; + + False + False + True + + + + + + + + 0 + + True + False + False + True + True + 0 + 1252 + 11 + Release + False + + + True + True + + False + + False + False + False + True + False + False + False + False + False + False + False + False + 3081 + + 0 + 0 + 0 + False + 0 + + + True + 0 + + + rcBorland + 1000 + + False + False + False + False + [] + False + False + + + + False + False + False + True + True + True + False + False + %package_path% + + + + False + %modules_dcp_path% + True + + True + + False + True + False + False + True + 4194304 + False + False + False + True + + + 0 + True + 0 + 1048576 + 16384 + + True + True + %output_path% + False + + False + fa8 + True + False + + True + True + False + False + WinTypes=Windows;WinProcs=Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE; + + False + False + True + + + + + + + + 0 + + True + False + False + True + True + 0 + 1252 + 11 + Release + False + + + True + True + + False + + False + False + False + True + False + False + False + False + False + False + False + False + 3081 + + 0 + 0 + 0 + False + 0 + + + True + 0 + + + rcBorland + 1000 + + False + False + False + False + [] + False + False + + + + False + False + False + True + True + True + False + False + %package_path% + + + + False + %modules_dcp_path% + True + + True + + False + True + False + False + True + 4194304 + False + False + False + True + + + 0 + True + 0 + 1048576 + 16384 + + True + True + %output_path% + False + + False + fa8 + True + False + + True + True + False + False + WinTypes=Windows;WinProcs=Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE; + + False + False + True + + + + + + 0 + + True + False + False + True + True + 0 + 1252 + 11 + Release + False + + + True + True + + False + + False + False + False + True + False + False + False + False + False + False + False + False + 3081 + + 0 + 0 + 0 + False + 0 + + + True + 0 + + + rcBorland + 1000 + + False + False + False + False + [] + False + False + + + + False + False + False + True + True + True + False + False + %package_path% + + + + False + %modules_dcp_path% + True + + True + + False + True + False + False + True + 4194304 + False + False + False + True + + 0 + True + 0 + 1048576 + 16384 + + True + True + %output_path% + False + + False + fa8 + True + False + + True + True + False + False + WinTypes=Windows;WinProcs=Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE; + + False + False + True + + + + + + 0 + + True + False + False + True + True + 0 + 1252 + 11 + Release + False + + + True + True + + False + + False + False + False + True + False + False + False + False + False + False + False + False + 3081 + + 0 + 0 + 0 + False + 0 + + + True + 0 + + + rcBorland + 1000 + + False + False + False + False + [] + False + False + + + + False + False + False + True + True + True + False + False + %package_path% + + + + False + %modules_dcp_path% + True + + True + + False + True + False + False + True + 4194304 + False + False + False + True + %library_path% + 0 + True + 0 + 1048576 + 16384 + + True + True + %output_path% + False + + False + fa8 + True + False + + True + True + False + False + WinTypes=Windows;WinProcs=Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE; + + False + False + True + + + + + + 0 + + True + False + False + True + True + 0 + 1252 + 11 + Release + False + + + True + True + + False + + False + False + False + True + False + False + False + False + False + False + False + False + 3081 + + 0 + 0 + 0 + False + 0 + + + True + 0 + + + rcBorland + 1000 + + False + False + False + False + [] + False + False + + + + False + False + False + True + True + True + False + False + %package_path% + + + + False + %modules_dcp_path% + True + + True + + False + True + False + False + True + 4194304 + False + False + False + True + %library_path% + 0 + True + 0 + 1048576 + 16384 + + True + True + %output_path% + False + + False + fa8 + True + False + + True + True + False + False + WinTypes=Windows;WinProcs=Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE; + + False + False + True + + + + + 0 - True - False - False - True - True - 0 - 1252 - 12 - Release - False - + - True + False True - - False - False - False - False True False - False - False - False - False - False - False - False - 3081 - 1 0 - 0 False 0 - %source_path%\Modulos\Devoluciones\Cliente\Devoluciones.dpk - True - 0 - - - rcBorland 1000 - False - False - False - False - [usPackages,usCompiler,usLinker,usVersionInfo] - False - False - - - - False - False - False - False - False - True - False - False - %package_path% - + + - - False - %modules_dcp_path% - False - - False - - False - True - False - False - True - 4194304 - False - False - False - True - %library_path% - 0 - False - 3 - 1048576 - 16384 - - True - False - %output_path%\Cliente - False - - False - fa8 - False - False - - True - True - False - False - WinTypes=Windows;WinProcs=Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE; - - False - False - True + 0 + + True + False + False + True + True + 0 + 1252 + 11 + Release + False + + + True + True + + False + + False + False + False + True + False + False + False + False + False + False + False + False + 3081 + + 0 + 0 + 0 + False + 0 + + + True + 0 + + + rcBorland + 1000 + + False + False + False + False + [] + False + False + + + + False + False + False + True + True + True + False + False + %package_path% + + + + False + %modules_dcp_path% + True + + True + + False + True + False + False + True + 4194304 + False + False + False + True + %library_path% + 0 + True + 0 + 1048576 + 16384 + + True + True + %output_path% + False + + False + fa8 + True + False + + True + True + False + False + WinTypes=Windows;WinProcs=Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE; + + False + False + True + - - - - - 0 - - True - False - False - True - True - 0 - 1252 - 12 - Release - False - - - True - True - - False - - False - False - False - True - False - False - False - False - False - False - False - False - 3081 - - 1 - 0 - 0 - False - 0 - %source_path%\Modulos\Traspasos\Cliente\Traspasos.dpk - True - 0 - - - rcBorland - 1000 - - False - False - False - False - [usPackages,usCompiler,usLinker,usVersionInfo] - False - False - - - - False - False - False - False - False - True - False - False - %package_path% - + + - - False - %modules_dcp_path% - False - - False - - False - True - False - False - True - 4194304 - False - False - False - True - %library_path% - 0 - False - 3 - 1048576 - 16384 - - True - False - %output_path%\Cliente - False - - False - fa8 - False - False - - True - True - False - False - WinTypes=Windows;WinProcs=Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE; - - False - False - True + 0 + + True + False + False + True + True + 0 + 1252 + 11 + Release + False + + + True + True + + False + + False + False + False + True + False + False + False + False + False + False + False + False + 3081 + + 0 + 0 + 0 + False + 0 + + + True + 0 + + + rcBorland + 1000 + + False + False + False + False + [] + False + False + + + + False + False + False + True + True + True + False + False + %package_path% + + + + False + %modules_dcp_path% + True + + True + + False + True + False + False + True + 4194304 + False + False + False + True + %library_path% + 0 + True + 0 + 1048576 + 16384 + + True + True + %output_path% + False + + False + fa8 + True + False + + True + True + False + False + WinTypes=Windows;WinProcs=Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE; + + False + False + True + - - - - - 0 - - True - False - False - True - True - 0 - 1252 - 12 - Release - False - - - True - True - - False - - False - False - False - True - False - False - False - False - False - False - False - False - 3081 - - 1 - 0 - 0 - False - 0 - %source_path%\Modulos\Stock\Cliente\Stock.dpk - True - 0 - - - rcBorland - 1000 - - False - False - False - False - [usPackages,usCompiler,usLinker,usVersionInfo] - False - False - - - - False - False - False - False - False - True - False - False - %package_path% - + + - - False - %modules_dcp_path% - False - - False - - False - True - False - False - True - 4194304 - False - False - False - True - %library_path% - 0 - False - 3 - 1048576 - 16384 - - True - True - %output_path%\Cliente - False - - False - fa8 - False - False - - True - True - False - False - WinTypes=Windows;WinProcs=Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE; - - False - False - True + 0 + + True + False + False + True + True + 0 + 1252 + 11 + Release + False + + + True + True + + False + + False + False + False + True + False + False + False + False + False + False + False + False + 3081 + + 0 + 0 + 0 + False + 0 + + + True + 0 + + + rcBorland + 1000 + + False + False + False + False + [] + False + False + + + + False + False + False + True + True + True + False + False + %package_path% + + + + False + %modules_dcp_path% + True + + True + + False + True + False + False + True + 4194304 + False + False + False + True + %library_path% + 0 + True + 0 + 1048576 + 16384 + + True + True + %output_path% + False + + False + fa8 + True + False + + True + True + False + False + WinTypes=Windows;WinProcs=Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE; + + False + False + True + + + + + + 0 + + True + False + False + True + True + 0 + 1252 + 11 + Release + False + + + True + True + + False + + False + False + False + True + False + False + False + False + False + False + False + False + 3081 + + 0 + 0 + 0 + False + 0 + + + True + 0 + + + rcBorland + 1000 + + False + False + False + False + [] + False + False + + + + False + False + False + True + True + True + False + False + %package_path% + + + + False + %modules_dcp_path% + True + + True + + False + True + False + False + True + 4194304 + False + False + False + True + %library_path% + 0 + True + 0 + 1048576 + 16384 + + True + True + %output_path% + False + + False + fa8 + True + False + + True + True + False + False + WinTypes=Windows;WinProcs=Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE; + + False + False + True + + + + + + 0 + + True + False + False + True + True + 0 + 1252 + 11 + Release + False + + + True + True + + False + + False + False + False + True + False + False + False + False + False + False + False + False + 3081 + + 0 + 0 + 0 + False + 0 + + + True + 0 + + + rcBorland + 1000 + + False + False + False + False + [] + False + False + + + + False + False + False + True + True + True + False + False + %package_path% + + + + False + %modules_dcp_path% + True + + True + + False + True + False + False + True + 4194304 + False + False + False + True + %library_path% + 0 + True + 0 + 1048576 + 16384 + + True + True + %output_path% + False + + False + fa8 + True + False + + True + True + False + False + WinTypes=Windows;WinProcs=Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE; + + False + False + True + + + + + + 0 + + True + False + False + True + True + 0 + 1252 + 11 + Release + False + + + True + True + + False + + False + False + False + True + False + False + False + False + False + False + False + False + 3081 + + 0 + 0 + 0 + False + 0 + + + True + 0 + + + rcBorland + 1000 + + False + False + False + False + [] + False + False + + + + False + False + False + True + True + True + False + False + %package_path% + + + + False + %modules_dcp_path% + True + + True + + False + True + False + False + True + 4194304 + False + False + False + True + %library_path% + 0 + True + 0 + 1048576 + 16384 + + True + True + %output_path% + False + + False + fa8 + True + False + + True + True + False + False + WinTypes=Windows;WinProcs=Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE; + + False + False + True + + + + + + 0 + + True + False + False + True + True + 0 + 1252 + 11 + Release + False + + + True + True + + False + + False + False + False + True + False + False + False + False + False + False + False + False + 3081 + + 0 + 0 + 0 + False + 0 + %source_path%\Modulos\Inventario\Views\Inventario_view.dpk + True + 0 + + + rcBorland + 1000 + + False + False + False + False + [] + False + False + + + + False + False + False + True + True + True + False + False + %package_path% + + + + False + %modules_dcp_path% + True + + True + + False + True + False + False + True + 4194304 + False + False + False + True + %library_path% + 0 + True + 0 + 1048576 + 16384 + + True + True + %output_path% + False + + False + fa8 + True + False + + True + True + False + False + WinTypes=Windows;WinProcs=Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE; + + False + False + True + + + + + + 0 + + True + False + False + True + True + 0 + 1252 + 11 + Release + False + + + True + True + + False + + False + False + False + True + False + False + False + False + False + False + False + False + 3081 + + 0 + 0 + 0 + False + 0 + %source_path%\Modulos\Inventario\Plugin\Inventario_plugin.dpk + True + 0 + + + rcBorland + 1000 + + False + False + False + False + [] + False + False + + + + False + False + False + True + True + True + False + False + %package_path% + + + + False + %modules_dcp_path% + True + + True + + False + True + False + False + True + 4194304 + False + False + False + True + %library_path% + 0 + True + 0 + 1048576 + 16384 + + True + True + %output_path% + False + + False + fa8 + True + False + + True + True + False + False + WinTypes=Windows;WinProcs=Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE; + + False + False + True + + + + + + 0 + + True + False + False + True + True + 0 + 1252 + 11 + Release + False + + + True + True + + False + + False + False + False + True + False + False + False + False + False + False + False + False + 3081 + + 0 + 0 + 0 + False + 0 + + + True + 0 + + + rcBorland + 1000 + + False + False + False + False + [] + False + False + + + + False + False + False + True + True + True + False + False + %package_path% + + + + False + %modules_dcp_path% + True + + True + + False + True + False + False + True + 4194304 + False + False + False + True + %library_path% + 0 + True + 0 + 1048576 + 16384 + + True + True + %output_path% + False + + False + fa8 + True + False + + True + True + False + False + WinTypes=Windows;WinProcs=Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE; + + False + False + True + + + + + + 0 + + True + False + False + True + True + 0 + 1252 + 11 + Release + False + + + True + True + + False + + False + False + False + True + False + False + False + False + False + False + False + False + 3081 + + 0 + 0 + 0 + False + 0 + + + True + 0 + + + rcBorland + 1000 + + False + False + False + False + [] + False + False + + + + False + False + False + True + True + True + False + False + %package_path% + + + + False + %modules_dcp_path% + True + + True + + False + True + False + False + True + 4194304 + False + False + False + True + %library_path% + 0 + True + 0 + 1048576 + 16384 + + True + True + %output_path% + False + + False + fa8 + True + False + + True + True + False + False + WinTypes=Windows;WinProcs=Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE; + + False + False + True + + + + + + 0 + + True + False + False + True + True + 0 + 1252 + 11 + Release + False + + + True + True + + False + + False + False + False + True + False + False + False + False + False + False + False + False + 3081 + + 0 + 0 + 0 + False + 0 + + + True + 0 + + + rcBorland + 1000 + + False + False + False + False + [] + False + False + + + + False + False + False + True + True + True + False + False + %package_path% + + + + False + %modules_dcp_path% + True + + True + + False + True + False + False + True + 4194304 + False + False + False + True + %library_path% + 0 + True + 0 + 1048576 + 16384 + + True + True + %output_path% + False + + False + fa8 + True + False + + True + True + False + False + WinTypes=Windows;WinProcs=Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE; + + False + False + True + + + + + + 0 + + True + False + False + True + True + 0 + 1252 + 11 + Release + False + + + True + True + + False + + False + False + False + True + False + False + False + False + False + False + False + False + 3081 + + 0 + 0 + 0 + False + 0 + + + True + 0 + + + rcBorland + 1000 + + False + False + False + False + [] + False + False + + + + False + False + False + True + True + True + False + False + %package_path% + + + + False + %modules_dcp_path% + True + + True + + False + True + False + False + True + 4194304 + False + False + False + True + %library_path% + 0 + True + 0 + 1048576 + 16384 + + True + True + %output_path% + False + + False + fa8 + True + False + + True + True + False + False + WinTypes=Windows;WinProcs=Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE; + + False + False + True + + + + + + 0 + + True + False + False + True + True + 0 + 1252 + 11 + Release + False + + + True + True + + False + + False + False + False + True + False + False + False + False + False + False + False + False + 3081 + + 0 + 0 + 0 + False + 0 + + + True + 0 + + + rcBorland + 1000 + + False + False + False + False + [] + False + False + + + + False + False + False + True + True + True + False + False + %package_path% + + + + False + %modules_dcp_path% + True + + True + + False + True + False + False + True + 4194304 + False + False + False + True + %library_path% + 0 + True + 0 + 1048576 + 16384 + + True + True + %output_path% + False + + False + fa8 + True + False + + True + True + False + False + WinTypes=Windows;WinProcs=Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE; + + False + False + True + + + + + + 0 + + True + False + False + True + True + 0 + 1252 + 11 + Release + False + + + True + True + + False + + False + False + False + True + False + False + False + False + False + False + False + False + 3081 + + 0 + 0 + 0 + False + 0 + + + True + 0 + + + rcBorland + 1000 + + False + False + False + False + [] + False + False + + + + False + False + False + True + True + True + False + False + %package_path% + + + + False + %modules_dcp_path% + True + + True + + False + True + False + False + True + 4194304 + False + False + False + True + %library_path% + 0 + True + 0 + 1048576 + 16384 + + True + True + %output_path% + False + + False + fa8 + True + False + + True + True + False + False + WinTypes=Windows;WinProcs=Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE; + + False + False + True + + + + + + 0 + + True + False + False + True + True + 0 + 1252 + 11 + Release + False + + + True + True + + False + + False + False + False + True + False + False + False + False + False + False + False + False + 3081 + + 0 + 0 + 0 + False + 0 + + + True + 0 + + + rcBorland + 1000 + + False + False + False + False + [] + False + False + + + + False + False + False + True + True + True + False + False + %package_path% + + + + False + %modules_dcp_path% + True + + True + + False + True + False + False + True + 4194304 + False + False + False + True + %library_path% + 0 + True + 0 + 1048576 + 16384 + + True + True + %output_path% + False + + False + fa8 + True + False + + True + True + False + False + WinTypes=Windows;WinProcs=Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE; + + False + False + True + + + + + + 0 + + True + False + False + True + True + 0 + 1252 + 11 + Release + False + + + True + True + + False + + False + False + False + True + False + False + False + False + False + False + False + False + 3081 + + 0 + 0 + 0 + False + 0 + %source_path%\Modulos\Comisiones\Views\Comisiones_view.dpk + True + 0 + + + rcBorland + 1000 + + False + False + False + False + [] + False + False + + + + False + False + False + True + True + True + False + False + %package_path% + + + + False + %modules_dcp_path% + True + + True + + False + True + False + False + True + 4194304 + False + False + False + True + %library_path% + 0 + True + 0 + 1048576 + 16384 + + True + True + %output_path% + False + + False + fa8 + True + False + + True + True + False + False + WinTypes=Windows;WinProcs=Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE; + + False + False + True + + + + + + 0 + + True + False + False + True + True + 0 + 1252 + 11 + Release + False + + + True + True + + False + + False + False + False + True + False + False + False + False + False + False + False + False + 3081 + + 0 + 0 + 0 + False + 0 + %source_path%\Modulos\Comisiones\Plugin\Comisiones_plugin.dpk + True + 0 + + + rcBorland + 1000 + + False + False + False + False + [] + False + False + + + + False + False + False + True + True + True + False + False + %package_path% + + + + False + %modules_dcp_path% + True + + True + + False + True + False + False + True + 4194304 + False + False + False + True + %library_path% + 0 + True + 0 + 1048576 + 16384 + + True + True + %output_path% + False + + False + fa8 + True + False + + True + True + False + False + WinTypes=Windows;WinProcs=Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE; + + False + False + True + + + + + + 0 + + True + False + False + True + True + 0 + 1252 + 11 + Release + False + + + True + True + + False + + False + False + False + True + False + False + False + False + False + False + False + False + 3081 + + 0 + 0 + 0 + False + 0 + + + True + 0 + + + rcBorland + 1000 + + False + False + False + False + [] + False + False + + + + False + False + False + True + True + True + False + False + %package_path% + + + + False + %modules_dcp_path% + True + + True + + False + True + False + False + True + 4194304 + False + False + False + True + %library_path% + 0 + True + 0 + 1048576 + 16384 + + True + True + %output_path% + False + + False + fa8 + True + False + + True + True + False + False + WinTypes=Windows;WinProcs=Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE; + + False + False + True + + + + + + 0 + + True + False + False + True + True + 0 + 1252 + 11 + Release + False + + + True + True + + False + + False + False + False + True + False + False + False + False + False + False + False + False + 3081 + + 0 + 0 + 0 + False + 0 + + + True + 0 + + + rcBorland + 1000 + + False + False + False + False + [] + False + False + + + + False + False + False + True + True + True + False + False + %package_path% + + + + False + %modules_dcp_path% + True + + True + + False + True + False + False + True + 4194304 + False + False + False + True + %library_path% + 0 + True + 0 + 1048576 + 16384 + + True + True + %output_path% + False + + False + fa8 + True + False + + True + True + False + False + WinTypes=Windows;WinProcs=Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE; + + False + False + True + + + + + + 0 + + True + False + False + True + True + 0 + 1252 + 11 + Release + False + + + True + True + + False + + False + False + False + True + False + False + False + False + False + False + False + False + 3081 + + 0 + 0 + 0 + False + 0 + + + True + 0 + + + rcBorland + 1000 + + False + False + False + False + [] + False + False + + + + False + False + False + True + True + True + False + False + %package_path% + + + + False + %modules_dcp_path% + True + + True + + False + True + False + False + True + 4194304 + False + False + False + True + %library_path% + 0 + True + 0 + 1048576 + 16384 + + True + True + %output_path% + False + + False + fa8 + True + False + + True + True + False + False + WinTypes=Windows;WinProcs=Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE; + + False + False + True + + + + + + 0 + + True + False + False + True + True + 0 + 1252 + 11 + Release + False + + + True + True + + False + + False + False + False + True + False + False + False + False + False + False + False + False + 3081 + + 0 + 0 + 0 + False + 0 + + + True + 0 + + + rcBorland + 1000 + + False + False + False + False + [] + False + False + + + + False + False + False + True + True + True + False + False + %package_path% + + + + False + %modules_dcp_path% + True + + True + + False + True + False + False + True + 4194304 + False + False + False + True + %library_path% + 0 + True + 0 + 1048576 + 16384 + + True + True + %output_path% + False + + False + fa8 + True + False + + True + True + False + False + WinTypes=Windows;WinProcs=Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE; + + False + False + True + - + Cliente - 8388736 + 0 Cliente True @@ -2307,128 +15813,8 @@ Comments= 0 1000 False - - - - - - 0 - - True - True - False - True - True - 0 - 1252 - 12 - Debug - False - - - True - True - - False - %project_path%\Resources\Iconos\Cliente.ico - False - True - False - True - False - False - False - False - False - False - False - False - 3081 - - 1 - 0 - 0 - False - 0 - %source_path%\Cliente\AdminPV.dpr - True - 0 - - - rcBorland - 1000 - - False - True - True - False - [usCompiler,usLinker,usVersionInfo] - True - True - - - - False - False - True - False - False - True - False - False - - - - DEBUG - False - - True - - True - - False - True - False - False - True - 4194304 - False - False - False - True - %library_path%;%modules_dcp_path% - 0 - True - 0 - 1048576 - 16384 - - True - True - %output_path%\Cliente - False - BaseD10;Configuracion;ControlesBaseD10;Usuarios;FicherosEDI;VentasProceso;VentasTerminadas;ReferenciaGenerica - False - fa8 - True - False - - True - True - False - False - WinTypes=Windows;WinProcs=Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE; - .\ - False - True - True - - - - - - + + 0 @@ -2442,13 +15828,13 @@ Comments= 12 Debug False - + True True False - %project_path%\Resources\Iconos\CargaEDI.ico + %project_path%\Resources\Iconos\Factuges.ico False False True @@ -2465,17 +15851,17 @@ Comments= 2 0 - 0 + 2 False 0 - %source_path%\CargaEDI\CargaEDI.dpr + %source_path%\Cliente\FactuGES.dpr True - 0 + 2 rcBorland 1000 - + %source_path%\Cliente\ False False False @@ -2483,33 +15869,33 @@ Comments= [usCompiler,usLinker,usVersionInfo] False False - False False - False + False False False True False False - + .\ - + DEBUG; False - + .\ True True @@ -2524,7 +15910,7 @@ Comments= False False True - %library_path%;%modules_dcp_path% + %library_path%;%modules_dcp_path%; 0 True 3 @@ -2532,10 +15918,10 @@ Comments= 16384 True - True + False %output_path%\Cliente False - BaseD10;Configuracion;FicherosEDI + PluginSDK_D10R;GUISDK_D11;Base;GUIBase;Usuarios;Contactos_plugin;Empresas_plugin; False fa8 True @@ -2543,10 +15929,10 @@ Comments= True True - False + True False WinTypes=Windows;WinProcs=Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE; - + .\ False True True @@ -2752,18 +16138,9 @@ Comments= output_path vtProject - - - - False - False - False - search_path - vtProject - - %DELPHI2007DIR%\Lib;%library_3rdparty_path% + %DELPHI2007DIR%\Lib;%DELPHI2007DIR%\Imports;%library_3rdparty_path%;%base_dcp_path% True False False @@ -2788,7 +16165,7 @@ Comments= vtProject - %source_path%\Lib + %source_path%\Modulos\Lib True False False @@ -2820,7 +16197,7 @@ Comments= vtProject - %DELPHI2007DIR%\Lib\Indy10;%project_path%\Lib;%project_path%\Lib\RemObjects\RemObjects_SDK;%project_path%\Lib\RemObjects\Data_Abstract;%project_path%\Lib\CCPack;%project_path%\Lib\CFPack;%project_path%\Lib\GUISDK;%project_path%\Lib\PluginSDK;%project_path%\Lib\DevExpressVCL;%project_path%\Lib\FastReport3;%project_path%\Lib\JCL;%project_path%\Lib\JVCL;%project_path%\Lib\PngComponents;%project_path%\Lib\cxIntl5;%project_path%\Lib\cxIntlPrintSys3;%project_path%\Lib\TB2k+TBX;%project_path%\Lib\Mustangpeak\MPCommonLib;%project_path%\Lib\Mustangpeak\EasyListview; + %DELPHI2007DIR%\Lib\Indy10;%project_path%\Lib;%project_path%\Lib\RemObjects\RemObjects_SDK;%project_path%\Lib\RemObjects\Data_Abstract;%project_path%\Lib\CCPack;%project_path%\Lib\CFPack;%project_path%\Lib\GUISDK;%project_path%\Lib\PluginSDK;%project_path%\Lib\DevExpressVCL;%project_path%\Lib\FastReport3;%project_path%\Lib\JCL;%project_path%\Lib\JVCL;%project_path%\Lib\PngComponents;%project_path%\Lib\cxIntl5;%project_path%\Lib\cxIntlPrintSys3;%project_path%\Lib\TB2k+TBX;%project_path%\Lib\Mustangpeak\MPCommonLib;%project_path%\Lib\Mustangpeak\EasyListview;%project_path%\Lib\JSDialog; True False False @@ -2835,7 +16212,9 @@ Comments= path_aux vtProject - + + False False diff --git a/Build/Build.fbv b/Build/Build.fbv index 7c0b3370..411786d2 100644 --- a/Build/Build.fbv +++ b/Build/Build.fbv @@ -1 +1 @@ - + diff --git a/Build/Build.lck b/Build/Build.lck deleted file mode 100644 index 20d5cb86e6dff1f3684dc229a358a2ea697cecfb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8 KcmZQ%fB*mh5C8%I diff --git a/Database/FACTUGES.FDB b/Database/FACTUGES.FDB index 6dda0c8571da7382a6377655e38976088f3a22d7..f08e75c5d338d79791b0a48508e92231fe0d7b1d 100644 GIT binary patch delta 2637 zcmaKt3rrlx8GvVYcXsc%*Df4;cYEMFYzK@>Y`_HKQuFW`h!X<`G?v@SJQF#Xv?i%k z%axj*RTET|%23-(sOkjQYLL>04-;pI-ITj3P90TIFK(S!a?@T+B%Au`;6Pi_2&Mll zI>#tc=k)E(&OiTSX8wOR5=jUVARnWx#eYbN=x$RpQ2H$f<8k2ksgeAAA)aD+G3!~^ zPgKc%(SCP6qIp4EE=W_9)6XxNC2}#9Ktbu9fjp2_$eWc~~=&+zNHGvmh zz9KoT_}RZ7IS^*KNxb01co3{G?L%Qf#Rgb8=M|SAv@?r?k}3icI3QvCFAyo;f^a0{ zV1Z5&!t_uVc`u0dd5lnVYh!I&N4U13xg)%*_Up}U9XogIDM6lWOot|QFMGP1jLOW> zOa3F{JKR!+1;IY-WPyIu(o?3Tx&LFym$vjYxh%7thsXt;YJb9R3lE8WtE<7-p#vWxqgsjw_k0^|*4@zp_?E;A`!nfv8f!9*Zh2k#4`PyLmu1 zc4SJ4*zq6vo-mE)L7W9*N)r|W^HeL=*UAC(2J96(9alDrEdII@vaOs!9G0o0=im&K z0a?pN;G{#~X(BYYA;`l^?Byl7EH6Q7;q2a5enn{Y z4Q2gc=?w+209GIau(8q`_RE*3)ag;FJL=fOYm^;`I({rT&O?b_Gjkt~%#*`y)vOhwvlLNR@cpORi+bAVxECGH-+_YE)2lsUzcuYhb@ggtda+kCGD~g;1&rF#LWBf!dT#B? zWQ3eZHM<$`44FN7na0<+47&dbt%^o^wL0O?D(&jky!7wAnk*uayZ32N`tGrb@bY2& zrm5Z5GD{Di%E_i1yR>c=*{2QR&jpKbv75bGKc@5D+7R8-rwy?qJ=$~P;0Jvg`=Bo~ zc*OeM64M$&Q@>Vw?6`We<)}E?Pox1UYd~@jNZIEkefbRE#2-)+)xRMYi%qO2s=p;@ z{GLoV?7#X?L{A+svSjm$Sfc8AJ;(nBBI9FYuU4bb>dAjy{@i5U`Vqo7j^e18?tN9? zL?3xs&t>kH^}i8|fUxgs3JSEU-Roi6d3`>cN7O}0LO(dt>Ki6zGxKz9*x1dsMy(OoXxI)Hf2R?|7D^&UfUWPhCtY|m zR6l6iBx3@-z%_9uJYpF0oK-Ql!XGUhHukfpCLBjClbvtN+>)mN#?y@_gO1kmSLPo# zez;PhFTpC-@x`#opBs1V=DxpWZqm1%eL+f0UK@V$&gjP69xVI&ar33OI| zzh$9!{Bdhm&ApDGKY_BSC+V-X^;?6cC~VE0Y(8Q0-ON;1PPJq)uD1ZglZy!JX$NR_LqlJxA^|@#@EIbxI+t|gTkflgULBR zki(L5x$FOpw^5Q@Qy}JuKVzGdYiunt%c+y~?X1;7TN5ZDNO2`B>Y2Q~qlfnuNpCDE`Gy%;(7-#`n+4OAN HLplEgkZ1Gp delta 2461 zcmaKueQXrR6~N!@?d;swo_FoL^?hLO490u}jBUU!jYE7n+r)r<_Stem!^hbsqA5{r zpb9~ysw+V*ZAmc@Jc*PjHh;v4^1&I~3`taRR%z2pMZG4FqR>`H92Fc{wpF_kX^Yyo z2M&oEb)?_S?#-L`-n@D9_Ii5KQV&v0V121EVSz83W{3H=9Q<8F^oire#gaB53RAYT zIVUvP`77s_^1us2j)vjw+Tbx_Ki-^2Wn6C=F6f_i4Qgiy8P<|>Ib80S+H9 zkTR#bd^nY!TkSi+?&+F;S_TT(M+?ZDi!_`1r%og_p=o694AIbr@TSNYE}q*Jn&SUC zCh0;;lerw`ni z+C*m21lx;l$zT=1IE@fV)_J&tdU!`W{fl_4gPv6+0AYWE{!<~-rnqVa+;@!#cF&9N zGsX9s;``{7!n+PqMQl1q-!-`0%iQcd1#rTzd9auIov+}_Iz|R?s1TLC^cS+oZ)d9< z=lZE!N`7w|n2`YtXcWOT8pxOROXxr})(~#l*%aOw-PyDy{GDiv==dYOLPg`B=s7Fb z|3KVq9|6dRZ6cVtv&@5``JZLH<2oG|+diSMspLu1*i}pcFP!DU8G1D!>tB4+A`jdG z@sAnWFY)(h>0+Lmr5^FwEcH(Yj(x+Cey9Q-#WW9Ql=4M(^lF_IY&clKiajGL_7zre zW`A-J(U4J2TltGFzlUe;-&n?fS;xFQIjJ;?u?Z!jke9e#ou9|v%rVtIA%ZiCF0UbW z2d=-jKS$PtgPF?jhA1~{A{R^-a?!RZnNya_;^-~q>80dD+`RCH*kl)JG2`%l_K?~{ zu$KwqCU*0HzN-BdDlQ*qPfDWgdG>bTPV78*FkaZpgGpBDyoHg&gEa$KAzG76xA1pD znl26xvmWOuInT{r(9Jx%B!Vf{NZigDbSqZ#P*GE?z9AgjS_Z-2aJ_fcBEiSl3X8aO zkySeGB*Zlgr~z+aLa-xBkpq<&*#h-|Li>bHTJucIHaaap`^ zjct{)I&7tQj}0hdk|<2m@c&7x>+DU+-!hn*D8IoFD`G?Jh(na$aDMPxE~kAOcPG_H zElF!sbS2g2B(=3Z+87E&!Yz?-O|7sEt3#AP;=S`K;zDx7d*`*fL0MW~dYjX@9xORz zIc0g&aTsQ#pTkXC7wNG*4o=&Cc+J`lYpwgChn)pCIe-BLa5El@>lHE(!2H`ESjq=F z^?<*$Y$haO908W5=W7{8gvzbFJFa^@ruZk9EnsA22oP6G^Em&>zyiFmoqC5hj&t)Z zyJ}mf9%I)5b#58w?WY%bJYy)K+y?1_<#V7*@a}v61rC0&Q(w%BM*^CK)Qt17?tn+V zCph_4fwIWvuUnbikyS{)Cf~L*5^Zb^M_QvTlf3H(D+_qlZvC*R`L5n?;pq;2m$=xe zA0?K)r+~9|y@_9o>mjU|@eaL~Khm!I`GpQ$v0!}=7a!NV2~X|Tk0w6dql-`X-AaZc05f&4V9gO}J^*u^TL6vvxN9VC^?#L2WFPNws}ztfc6#A&JbLCe!> zmDpJ7ZIF(~tHtGV@7s2~mW15m7tX7GG4O!5GZ)>UP2Nftcddn$uC*f41;;vCI&2-4~XIHbm) zO5K3<*;k0Bm+@{=_`GnR^p)FrvAxj6TVM7)lYJ65U-m6HODeI1aP7hxS$P$n!btNK zP5w4Tv-7J_E=AP6Gh$V z4P(!w{O3{uSvw`?YV1|~u3_VWbYRs`?5fN|R{}SA@0CE6sQD<6vT?cE&@6+X@%&66 zJQRD@mdH#5kOd+$QBd?bsp2%VaH+W=u{yJGO5(5ISokvyE_`f(srf6rr6D247a~C< zgcKr+ki|$5vIHqcmLkiL<;V);K4c}b3MoNWBc(_gQjV-a)*|bW3ZxSG7P21sHgZ2w zg*Debug AnyCPU DCC32 - ..\Lib\Base.bpl + ..\..\Output\Debug\Cliente\Base.bpl 7.0 @@ -19,7 +19,7 @@ .\ .\ .\ - ..\Lib + ..\..\Output\Release\Cliente ..\Lib @@ -30,38 +30,15 @@ .\ .\ .\ - ..\Lib + ..\..\Output\Debug\Cliente ..\Lib + 3 Delphi.Personality Package -FalseTrueFalseLibreria base de FactuGESFalseFalseFalseTrueFalse1000FalseFalseFalseFalseFalse308212521.0.0.01.0.0.0 - - - - - - - - - - - - - - - - - - - - - - - - +FalseTrueFalseLibreria base de FactuGESTrueFalseFalseTrueFalse1000FalseFalseFalseFalseFalse308212521.0.0.01.0.0.0 @@ -82,41 +59,41 @@ MainSource + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
fActualizacion
@@ -148,7 +125,7 @@ diff --git a/Source/Base/Base.drc b/Source/Base/Base.drc index 6038e046..b7b29acb 100644 --- a/Source/Base/Base.drc +++ b/Source/Base/Base.drc @@ -1,5 +1,5 @@ -/* VER180 - Generated by the Borland Delphi Pascal Compiler +/* VER185 + Generated by the CodeGear Delphi Pascal Compiler because -GD or --drc was supplied to the compiler. This file contains compiler-generated resources that @@ -8,9 +8,48 @@ resources were bound to the produced executable. */ -#define uClassRegistryUtils_eClassnotFound 65520 +#define JSDialogStrs_StrAssignSourceMustB 65520 +#define JSDialogStrs_StrYouMustAssociateA 65521 +#define JSDialogStrs_sBtnYes 65522 +#define JSDialogStrs_sBtnNo 65523 +#define JSDialogStrs_sBtnOK 65524 +#define JSDialogStrs_sBtnCancel 65525 +#define JSDialogStrs_sBtnHelp 65526 +#define JSDialogStrs_sBtnAbort 65527 +#define JSDialogStrs_sBtnRetry 65528 +#define JSDialogStrs_sBtnIgnore 65529 +#define JSDialogStrs_sBtnAll 65530 +#define JSDialogStrs_sBtnNoToAll 65531 +#define JSDialogStrs_sBtnYesToAll 65532 +#define JSDialogStrs_sBtnClose 65533 +#define JSDialogStrs_StrConfirmation 65534 +#define uClassRegistryUtils_eClassnotFound 65535 STRINGTABLE BEGIN + JSDialogStrs_StrAssignSourceMustB, "Assign source must be a TJsDialog" + JSDialogStrs_StrYouMustAssociateA, "You must associate a Help File with your application" + JSDialogStrs_sBtnYes, "&Yes" + JSDialogStrs_sBtnNo, "&No" + JSDialogStrs_sBtnOK, "OK" + JSDialogStrs_sBtnCancel, "Cancel" + JSDialogStrs_sBtnHelp, "&Help" + JSDialogStrs_sBtnAbort, "&Abort" + JSDialogStrs_sBtnRetry, "&Retry" + JSDialogStrs_sBtnIgnore, "&Ignore" + JSDialogStrs_sBtnAll, "&All" + JSDialogStrs_sBtnNoToAll, "N&o to All" + JSDialogStrs_sBtnYesToAll, "Yes to &All" + JSDialogStrs_sBtnClose, "&Close" + JSDialogStrs_StrConfirmation, "Confirmation" uClassRegistryUtils_eClassnotFound, "Class \"%s\" was not found in the registry." END +/* C:\Codigo Tecsitel\Lib\JSDialog\mbimg.res */ +/* C:\Codigo Tecsitel\Lib\JSDialog\vistaimg.RES */ +/* C:\Codigo Tecsitel\Source\Base\uConfigurarConexion.dfm */ +/* C:\Codigo Tecsitel\Source\Base\uDataModuleConexion.dfm */ +/* C:\Codigo Tecsitel\Source\Base\uDataModuleConfiguracion.dfm */ +/* C:\Codigo Tecsitel\Source\Base\uDataModuleBase.dfm */ +/* C:\Codigo Tecsitel\Source\Base\uActualizacion.dfm */ +/* C:\Codigo Tecsitel\Source\Base\Base.res */ +/* C:\DOCUME~1\Usuario\CONFIG~1\Temp\dtf1C4.tmp */ diff --git a/Source/Base/Base.identcache b/Source/Base/Base.identcache index ef7bae95ebf6273f856a8fdbd1b449d2a8c172b6..a5818f8f7fd434286d6ad75cd39a8ec47fd45d5e 100644 GIT binary patch literal 1472 zcmbu9+e!m55Qg_9y!QnZJXAbfh}}aeSSfDxDj;Kac8O#+l7m&B-fU@$4OtUuu9m=j z`~UyUi;PRr5>?iO3N=|rd=&$i<^rl&A4)r7Xf5ngo>EbGO>li zbks%MMk2Cti5#i6(cD{_SI%jGWirq(6P4lEJ9eeSy2%)D(RdZ)0R>LRdBwDldqr$g z(bcRm5~TgYPtWL_2SjbUG?A?Gx=I58$JH~#<)5Ci|M7P4UV%3O;IGDS{-GF7EnM%EZV%NL{UWwD@({YlW33=BR?qc^*EqZBr z>H!K=T7D9=i955|Ox6u3=;ox(etIA>Flm)7z631Qpo z^kpA01^JFP7K+5wdX+@!^Rm+U{vkA@>-7}euyEfF+`%$mH-*3IwZ-y~5+miKtn3_w^Pn$V^ zQ861nx4C)wN(Q~H#+K|o*@m~&(3=1I%Llk7>S*pvE7;Yjz^+ljNYba;|&8!P>=GYp<9J^QiRC`-*du(Wb zBJI+RemE@Tm2dSSKL$269_p-ia&WJ{$B|EYy#Bt1`fm?B(CB-l8nlXqgY!6fUOzP@ zr|Te|e4cZxgJWuLF8<`}dughP69?9a%ha4}r`jtX-7UCl^he&nV;_S<)Ya!2FlEJu zrr{t12%dXkNqpywX{@?Eb_MKs@29XRNI;2D%DxW zo|xv^jnf#kFIDZr^e=W==PW{#^6Ao{deqzuxId;ujOZ~3;otiwSzBXu3^t3 z&$C~D3=Umz@OQRR9+}nP>x>=u115dAI{rd2#Mbgv81-@e%IA6)a8SDwHm3Di`~F1x z)jhG~04Fd5o4f^Iah!WFIS0|E#)aohzS6onIG_;>-~Ytz3J0A}=DenTZ*cIo-Ves9 zp>qHmo5lV+rntk2He9_1!t%2yZsF;l)>iGc4jkU$0bBWEPmBKKP>uSjxhXIDsSodT z@EG|gFZa>|hHF!PaN};FzIxxlpPKT;87{i(!eu7T%H?}r^yeP=K2c}If`cyKd-3DW z_4ib`jDt-MZ?C~;z1O=EKN(!YbpFJR_c`u>(C=ph9O_Y*Jz5Z>`Zs7T9Mn$y@ay$^ z{gulxYxXwGq@TIGbG$~Hi*qk8?9|WMkNweF@MU18F;AQKZ>jcWAL86`f59r^Yh;+XfGU10gV*5=*FT)q#qz2B_Ik28(#vUlW{{>1m(1wXK3zHQ3+RoHfz^$cuqg(^F;eqz6WUMUE^m$ z9R1u2H_t9ue%}<_JcD5KB$svgjBysd-ql#|toxF$&>h1Qc)Vw6j~u{SeHg>my$i{SJtD^MnJV!{AK!ZgN9Q4bN2bs7?m1Qo zsLwc-c&GZ4_%7jWppm+9C(?(bpCye?f6Mv)ml~{r9)<=EoH5SYSxm8xsWZv%2MjL$ zd)R%{gxqI&lEaJ6!*jggJMcIz?<5?~hn@VA1Kzcrp$;C`m0CzQdy{!G?|FT$$5W3N zaydTsdE#>2dGSt*&wOX~r{!54?~lxS4gM|rOZH6mRCZMCP#!z)bEv-^up_gJ*i*BY zl>1d-%!E}5v+s{C_OF@Qj;!xrv5)P2yJ4TmKCqke`Aq-U;NJ}WpRu*&|7!3r$c7zU zF#m_6?>Cia!E%D)b;IaF{ zzPG~QEyw>z^LKm}whzS>Dx3Ct`1w98?Y5T:\COMPON~1\jcl\lib\d10\debug;$(BDS)\lib\Debug;$(BDS)\Lib\Debug\Indy9;..\..\DataAbstract_D10\Lib;..\Lib T:\COMPON~1\jcl\lib\d10\debug;$(BDS)\lib\Debug;$(BDS)\Lib\Debug\Indy9;..\..\DataAbstract_D10\Lib;..\Lib T:\COMPON~1\jcl\lib\d10\debug;$(BDS)\lib\Debug;$(BDS)\Lib\Debug\Indy9;..\..\DataAbstract_D10\Lib;..\Lib - DEBUG Delphi.Personality Package - - False - True - False - - - False - False - False - - - True - False - 1 - 0 - 0 - 0 - False - False - False - False - False - 3082 - 1252 - - - - - 1.0.0.0 - - - - - - 1.0.0.0 - - - - ControllerBase.dpk - - +FalseTrueFalseFalseFalseFalseTrueFalse1000FalseFalseFalseFalseFalse308212521.0.0.01.0.0.0ControllerBase.dpk
- + MainSource - - - - - - - - - + + + + + + + + + + - - diff --git a/Source/Base/GUIBase/GUIBase.drc b/Source/Base/GUIBase/GUIBase.drc index 7642ac97..d4e2e1dd 100644 --- a/Source/Base/GUIBase/GUIBase.drc +++ b/Source/Base/GUIBase/GUIBase.drc @@ -1,5 +1,5 @@ -/* VER180 - Generated by the Borland Delphi Pascal Compiler +/* VER185 + Generated by the CodeGear Delphi Pascal Compiler because -GD or --drc was supplied to the compiler. This file contains compiler-generated resources that @@ -12,3 +12,27 @@ STRINGTABLE BEGIN END +/* C:\Codigo Tecsitel\Source\Base\GUIBase\uViewBase.dfm */ +/* C:\Codigo Tecsitel\Source\Base\GUIBase\uEditorBase.dfm */ +/* C:\Codigo Tecsitel\Source\Base\GUIBase\uViewFiltroBase.dfm */ +/* C:\Codigo Tecsitel\Source\Base\GUIBase\uViewGridBase.dfm */ +/* C:\Codigo Tecsitel\Source\Base\GUIBase\uEditorItem.dfm */ +/* C:\Codigo Tecsitel\Source\Base\GUIBase\uEditorDBBase.dfm */ +/* C:\Codigo Tecsitel\Source\Base\GUIBase\uEditorGridBase.dfm */ +/* C:\Codigo Tecsitel\Source\Base\GUIBase\uViewPreview.dfm */ +/* C:\Codigo Tecsitel\Source\Base\GUIBase\uEditorPreview.dfm */ +/* C:\Codigo Tecsitel\Source\Base\GUIBase\uEditorDBItem.dfm */ +/* C:\Codigo Tecsitel\Source\Base\GUIBase\uViewBarraSeleccion.dfm */ +/* C:\Codigo Tecsitel\Source\Base\GUIBase\uViewFormaPago.dfm */ +/* C:\Codigo Tecsitel\Source\Base\GUIBase\uViewObservaciones.dfm */ +/* C:\Codigo Tecsitel\Source\Base\GUIBase\uViewTotales.dfm */ +/* C:\Codigo Tecsitel\Source\Base\GUIBase\uViewDetallesBase.dfm */ +/* C:\Codigo Tecsitel\Source\Base\GUIBase\uViewIncidencias.dfm */ +/* C:\Codigo Tecsitel\Source\Base\GUIBase\uViewDetallesDTO.dfm */ +/* C:\Codigo Tecsitel\Source\Base\GUIBase\uViewDetallesGenerico.dfm */ +/* C:\Codigo Tecsitel\Source\Base\GUIBase\uViewGrid2Niveles.dfm */ +/* C:\Codigo Tecsitel\Source\Base\GUIBase\uEditorBasico.dfm */ +/* C:\Codigo Tecsitel\Source\Base\GUIBase\uDialogBase.dfm */ +/* C:\Codigo Tecsitel\Source\Base\GUIBase\uViewGrid.dfm */ +/* C:\Codigo Tecsitel\Source\Base\GUIBase\GUIBase.res */ +/* C:\DOCUME~1\Usuario\CONFIG~1\Temp\dtf1C8.tmp */ diff --git a/Source/Base/GUIBase/GUIBase.rc b/Source/Base/GUIBase/GUIBase.rc index e69de29b..153736af 100644 --- a/Source/Base/GUIBase/GUIBase.rc +++ b/Source/Base/GUIBase/GUIBase.rc @@ -0,0 +1,22 @@ +1 VERSIONINFO +FILEVERSION 1,0,0,0 +PRODUCTVERSION 1,0,0,0 +FILEFLAGSMASK 0x3FL +FILEFLAGS 0x00L +FILEOS 0x40004L +FILETYPE 0x1L +FILESUBTYPE 0x0L +BEGIN + BLOCK "StringFileInfo" + BEGIN + BLOCK "0C0A04E4" + BEGIN + VALUE "FileVersion", "1.0.0.0\0" + VALUE "ProductVersion", "1.0.0.0\0" + END + END + BLOCK "VarFileInfo" + BEGIN + VALUE "Translation", 0x0C0A, 1252 + END +END diff --git a/Source/Base/GUIBase/GUIBase.res b/Source/Base/GUIBase/GUIBase.res index 86c94e6ada7b3c85f6761b1ee234a9f34ef3c861..8b251f312bcccec5485024f6fe8d80e1cdf25746 100644 GIT binary patch delta 89 zcmX@0-oQLTLCJxUfkAA@>-7}euyEfF+`%$mH-*3IwZ-y~5+miKtn3_w^Pn$V^ zQ861nx4C)wN(Q~H#+K|o*@m~&(3=1I%Llk7>S*pvE7;Yjz^+ljNYba;|&8!P>=GYp<9J^QiRC`-*du(Wb zBJI+RemE@Tm2dSSKL$269_p-ia&WJ{$B|EYy#Bt1`fm?B(CB-l8nlXqgY!6fUOzP@ zr|Te|e4cZxgJWuLF8<`}dughP69?9a%ha4}r`jtX-7UCl^he&nV;_S<)Ya!2FlEJu zrr{t12%dXkNqpywX{@?Eb_MKs@29XRNI;2D%DxW zo|xv^jnf#kFIDZr^e=W==PW{#^6Ao{deqzuxId;ujOZ~3;otiwSzBXu3^t3 z&$C~D3=Umz@OQRR9+}nP>x>=u115dAI{rd2#Mbgv81-@e%IA6)a8SDwHm3Di`~F1x z)jhG~04Fd5o4f^Iah!WFIS0|E#)aohzS6onIG_;>-~Ytz3J0A}=DenTZ*cIo-Ves9 zp>qHmo5lV+rntk2He9_1!t%2yZsF;l)>iGc4jkU$0bBWEPmBKKP>uSjxhXIDsSodT z@EG|gFZa>|hHF!PaN};FzIxxlpPKT;87{i(!eu7T%H?}r^yeP=K2c}If`cyKd-3DW z_4ib`jDt-MZ?C~;z1O=EKN(!YbpFJR_c`u>(C=ph9O_Y*Jz5Z>`Zs7T9Mn$y@ay$^ z{gulxYxXwGq@TIGbG$~Hi*qk8?9|WMkNweF@MU18F;AQKZ>jcWAL86`f59r^Yh;+XfGU10gV*5=*FT)q#qz2B_Ik28(#vUlW{{>1m(1wXK3zHQ3+RoHfz^$cuqg(^F;eqz6WUMUE^m$ z9R1u2H_t9ue%}<_JcD5KB$svgjBysd-ql#|toxF$&>h1Qc)Vw6j~u{SeHg>my$i{SJtD^MnJV!{AK!ZgN9Q4bN2bs7?m1Qo zsLwc-c&GZ4_%7jWppm+9C(?(bpCye?f6Mv)ml~{r9)<=EoH5SYSxm8xsWZv%2MjL$ zd)R%{gxqI&lEaJ6!*jggJMcIz?<5?~hn@VA1Kzcrp$;C`m0CzQdy{!G?|FT$$5W3N zaydTsdE#>2dGSt*&wOX~r{!54?~lxS4gM|rOZH6mRCZMCP#!z)bEv-^up_gJ*i*BY zl>1d-%!E}5v+s{C_OF@Qj;!xrv5)P2yJ4TmKCqke`Aq-U;NJ}WpRu*&|7!3r$c7zU zF#m_6?>Cia!E%D)b;IaF{ zzPG~QEyw>z^LKm}whzS>Dx3Ct`1w98?Y5 + + {0e3d28a9-51af-483b-b478-472a086ee120} Usuarios.dpk @@ -36,69 +37,24 @@ ..\..\Lib;..\..\Modulos\Lib ..\..\Lib;..\..\Modulos\Lib ..\..\Lib;..\..\Modulos\Lib - DEBUG Delphi.Personality Package - - False - True - False - - - Gestión de usuarios - False - False - False - - - C:\Archivos de programa\Borland\Delphi7\Bin\ - - - True - False - 1 - 0 - 3 - 0 - False - False - False - False - False - 3082 - 1252 - - - - - 1.0.3.0 - - - - - - 1.0.0.0 - - - - Usuarios.dpk - - +FalseTrueFalseGestión de usuariosFalseFalseFalseC:\Archivos de programa\Borland\Delphi7\Bin\TrueFalse1030FalseFalseFalseFalseFalse308212521.0.3.01.0.0.0Usuarios.dpk - + MainSource - - - - - - + + + + + +
fCambiarPassword
@@ -115,9 +71,7 @@
fUsuarios
-
- diff --git a/Source/Cliente/FactuGES.drc b/Source/Cliente/FactuGES.drc index 7642ac97..46c48c60 100644 --- a/Source/Cliente/FactuGES.drc +++ b/Source/Cliente/FactuGES.drc @@ -1,5 +1,5 @@ -/* VER180 - Generated by the Borland Delphi Pascal Compiler +/* VER185 + Generated by the CodeGear Delphi Pascal Compiler because -GD or --drc was supplied to the compiler. This file contains compiler-generated resources that @@ -12,3 +12,10 @@ STRINGTABLE BEGIN END +/* C:\Archivos de programa\CodeGear\RAD Studio\5.0\Lib\WindowsXP.res */ +/* C:\Codigo Tecsitel\Lib\JVCL\JvXPCore.res */ +/* C:\Codigo Tecsitel\Source\Cliente\uSplash.dfm */ +/* C:\Codigo Tecsitel\Source\Cliente\uAcercaDe.dfm */ +/* C:\Codigo Tecsitel\Source\Cliente\uPantallaPrincipal.dfm */ +/* C:\Codigo Tecsitel\Source\Cliente\FactuGES.RES */ +/* C:\DOCUME~1\Usuario\CONFIG~1\Temp\dtf1F4.tmp */ diff --git a/Source/Cliente/FactuGES.identcache b/Source/Cliente/FactuGES.identcache index 5a0cd40565eb736931b35c94dad4663a12a692a9..5e4242176845e0a06761fbf277a6af4975b3aff6 100644 GIT binary patch literal 599 zcmb7?Jr2S!428RL3obwzfo>>3r=m)QEsK>}V983N{BV9+sp=3FHF&az_vt;`o1!R= zqLRY&^fKEADo+7fb|yN7QZS(oC}Rsc05i0Xv?2>!TJVE*u3ZMCvkd;7DywznGZ3Sf z@eZHC2#%vqF^7CigE}rU%5}yKREYJpD|_qa@I$j-m&UU~r{IFA^_&At(S^~$8D?}T VJqyAx5Qe+@FC2BLI$B*MeoU1@b<1+ZLl2H5(12K9ThrM5YX~B2-arSdSHR?D?+2l}SYZ?3} zZBS)p@9=FvqcA!+!;CJ)Y;!PIP$AwfZTYfpRM0(U=^Uy|irD3}h$n?k!5PyV4q53M YNcTVS-$kC%&SwB-XdG!p7C5c*1IjSFod5s; diff --git a/Source/Cliente/FactuGES.rc b/Source/Cliente/FactuGES.rc index ea1ce68a..9542e8cb 100644 --- a/Source/Cliente/FactuGES.rc +++ b/Source/Cliente/FactuGES.rc @@ -1,4 +1,4 @@ -MAINICON ICON "E:\Codigo (Luis León)\Source\Iconos\Factuges.ico" +MAINICON ICON "C:\Codigo Tecsitel\Resources\Iconos\Factuges.ico" 1 VERSIONINFO FILEVERSION 2,2,2,0 PRODUCTVERSION 2,2,2,0 diff --git a/Source/Cliente/FactuGES.res b/Source/Cliente/FactuGES.res index fbc3c2b3e4a13014c1b12bdd0db5ebdbd7ad6b09..19ec614f3b873581bd55289df00609dcc84336b1 100644 GIT binary patch delta 101 zcmbPokn7BTu7(!IEldaID!pN3U{GLSVEF%E0EmGcATVIy;sG;d!xkLEIYh_Em~ mUEZ09x%J~AIOPnMpCxk z%86uDs}o?MgE^L%qRm`mjF5AH4eJWN;i_vS?yjogeZpKgq_hYKu+; + @@ -34,8 +35,26 @@ Default.Personality - + + + + + + + + + + + + + + + + + + + @@ -252,23 +271,14 @@ - - - - - - - - - - + - + - + \ No newline at end of file diff --git a/Source/Modulos/Contactos/Controller/Contactos_controller.dpk b/Source/Modulos/Contactos/Controller/Contactos_controller.dpk index 47b4be61..c584af61 100644 --- a/Source/Modulos/Contactos/Controller/Contactos_controller.dpk +++ b/Source/Modulos/Contactos/Controller/Contactos_controller.dpk @@ -22,39 +22,17 @@ package Contactos_controller; {$WRITEABLECONST OFF} {$MINENUMSIZE 1} {$IMAGEBASE $400000} -{$IMPLICITBUILD OFF} +{$IMPLICITBUILD ON} {%TogetherDiagram 'ModelSupport_Contactos_controller\default.txaPackage'} requires rtl, vcl, - DataAbstract_D10, Base, GUIBase, Contactos_model, - Contactos_data, - dbrtl, - cxLibraryD10, - dxThemeD10, - GUISDK_D10, - ccpack10, - designide, - xmlrtl, - vclactnband, - vclx, - cfpack_d10, - JvAppFrmD10R, - vcljpg, - JclVcl, - Jcl, - JvSystemD10R, - JvCoreD10R, - dsnap, - vcldb, - adortl, - JvCtrlsD10R, - JvStdCtrlsD10R; - + Contactos_data; + contains uContactosController in 'uContactosController.pas', uIEditorContactos in 'View\uIEditorContactos.pas', diff --git a/Source/Modulos/Contactos/Controller/Contactos_controller.dproj b/Source/Modulos/Contactos/Controller/Contactos_controller.dproj index 9f21bc9c..ceb309c7 100644 --- a/Source/Modulos/Contactos/Controller/Contactos_controller.dproj +++ b/Source/Modulos/Contactos/Controller/Contactos_controller.dproj @@ -1,4 +1,5 @@ - + + {e4ad187e-0c3a-462a-b435-f69475af2f56} Contactos_controller.dpk @@ -36,99 +37,23 @@ ..\..\..\Lib;..\..\Lib ..\..\..\Lib;..\..\Lib ..\..\..\Lib;..\..\Lib - DEBUG Delphi.Personality Package - - False - True - False - - - False - False - False - - - True - False - 1 - 0 - 0 - 0 - False - False - False - False - False - 3082 - 1252 - - - - - 1.0.0.0 - - - - - - 1.0.0.0 - - - - - - - - - +FalseTrueFalseFalseFalseFalseTrueFalse1000FalseFalseFalseFalseFalse308212521.0.0.01.0.0.0 JCL Debug IDE extension JCL Project Analyzer JCL Open and Save IDE dialogs with favorite folders - - - Contactos_controller.dpk - - + Contactos_controller.dpk - + MainSource - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -158,489 +83,4 @@ - - - diff --git a/Source/Modulos/Contactos/Controller/Contactos_controller.drc b/Source/Modulos/Contactos/Controller/Contactos_controller.drc index 7642ac97..f73ed2ae 100644 --- a/Source/Modulos/Contactos/Controller/Contactos_controller.drc +++ b/Source/Modulos/Contactos/Controller/Contactos_controller.drc @@ -1,5 +1,5 @@ -/* VER180 - Generated by the Borland Delphi Pascal Compiler +/* VER185 + Generated by the CodeGear Delphi Pascal Compiler because -GD or --drc was supplied to the compiler. This file contains compiler-generated resources that @@ -12,3 +12,5 @@ STRINGTABLE BEGIN END +/* C:\Codigo Tecsitel\Source\Modulos\Contactos\Controller\Contactos_controller.res */ +/* C:\DOCUME~1\Usuario\CONFIG~1\Temp\dtf1EE.tmp */ diff --git a/Source/Modulos/Contactos/Controller/Contactos_controller.rc b/Source/Modulos/Contactos/Controller/Contactos_controller.rc index e69de29b..153736af 100644 --- a/Source/Modulos/Contactos/Controller/Contactos_controller.rc +++ b/Source/Modulos/Contactos/Controller/Contactos_controller.rc @@ -0,0 +1,22 @@ +1 VERSIONINFO +FILEVERSION 1,0,0,0 +PRODUCTVERSION 1,0,0,0 +FILEFLAGSMASK 0x3FL +FILEFLAGS 0x00L +FILEOS 0x40004L +FILETYPE 0x1L +FILESUBTYPE 0x0L +BEGIN + BLOCK "StringFileInfo" + BEGIN + BLOCK "0C0A04E4" + BEGIN + VALUE "FileVersion", "1.0.0.0\0" + VALUE "ProductVersion", "1.0.0.0\0" + END + END + BLOCK "VarFileInfo" + BEGIN + VALUE "Translation", 0x0C0A, 1252 + END +END diff --git a/Source/Modulos/Contactos/Controller/Contactos_controller.res b/Source/Modulos/Contactos/Controller/Contactos_controller.res index 86c94e6ada7b3c85f6761b1ee234a9f34ef3c861..8b251f312bcccec5485024f6fe8d80e1cdf25746 100644 GIT binary patch delta 89 zcmX@0-oQLTLCJxUfkAA@>-7}euyEfF+`%$mH-*3IwZ-y~5+miKtn3_w^Pn$V^ zQ861nx4C)wN(Q~H#+K|o*@m~&(3=1I%Llk7>S*pvE7;Yjz^+ljNYba;|&8!P>=GYp<9J^QiRC`-*du(Wb zBJI+RemE@Tm2dSSKL$269_p-ia&WJ{$B|EYy#Bt1`fm?B(CB-l8nlXqgY!6fUOzP@ zr|Te|e4cZxgJWuLF8<`}dughP69?9a%ha4}r`jtX-7UCl^he&nV;_S<)Ya!2FlEJu zrr{t12%dXkNqpywX{@?Eb_MKs@29XRNI;2D%DxW zo|xv^jnf#kFIDZr^e=W==PW{#^6Ao{deqzuxId;ujOZ~3;otiwSzBXu3^t3 z&$C~D3=Umz@OQRR9+}nP>x>=u115dAI{rd2#Mbgv81-@e%IA6)a8SDwHm3Di`~F1x z)jhG~04Fd5o4f^Iah!WFIS0|E#)aohzS6onIG_;>-~Ytz3J0A}=DenTZ*cIo-Ves9 zp>qHmo5lV+rntk2He9_1!t%2yZsF;l)>iGc4jkU$0bBWEPmBKKP>uSjxhXIDsSodT z@EG|gFZa>|hHF!PaN};FzIxxlpPKT;87{i(!eu7T%H?}r^yeP=K2c}If`cyKd-3DW z_4ib`jDt-MZ?C~;z1O=EKN(!YbpFJR_c`u>(C=ph9O_Y*Jz5Z>`Zs7T9Mn$y@ay$^ z{gulxYxXwGq@TIGbG$~Hi*qk8?9|WMkNweF@MU18F;AQKZ>jcWAL86`f59r^Yh;+XfGU10gV*5=*FT)q#qz2B_Ik28(#vUlW{{>1m(1wXK3zHQ3+RoHfz^$cuqg(^F;eqz6WUMUE^m$ z9R1u2H_t9ue%}<_JcD5KB$svgjBysd-ql#|toxF$&>h1Qc)Vw6j~u{SeHg>my$i{SJtD^MnJV!{AK!ZgN9Q4bN2bs7?m1Qo zsLwc-c&GZ4_%7jWppm+9C(?(bpCye?f6Mv)ml~{r9)<=EoH5SYSxm8xsWZv%2MjL$ zd)R%{gxqI&lEaJ6!*jggJMcIz?<5?~hn@VA1Kzcrp$;C`m0CzQdy{!G?|FT$$5W3N zaydTsdE#>2dGSt*&wOX~r{!54?~lxS4gM|rOZH6mRCZMCP#!z)bEv-^up_gJ*i*BY zl>1d-%!E}5v+s{C_OF@Qj;!xrv5)P2yJ4TmKCqke`Aq-U;NJ}WpRu*&|7!3r$c7zU zF#m_6?>Cia!E%D)b;IaF{ zzPG~QEyw>z^LKm}whzS>Dx3Ct`1w98?Y5 + + {13ceca01-95fe-4f1e-80ed-6dcc5ef31c88} Contactos_data.dpk @@ -36,78 +37,18 @@ ..\..\..\Lib;..\..\Lib ..\..\..\Lib;..\..\Lib ..\..\..\Lib;..\..\Lib - DEBUG Delphi.Personality Package - - False - True - False - - - False - False - False - - - True - False - 1 - 0 - 0 - 0 - False - False - False - False - False - 3082 - 1252 - - - - - 1.0.0.0 - - - - - - 1.0.0.0 - - - - Contactos_data.dpk - - +FalseTrueFalseFalseFalseFalseTrueFalse1000FalseFalseFalseFalseFalse308212521.0.0.01.0.0.0Contactos_data.dpk - + MainSource - - - - - - - - - - - - - - - - - - -
DataModuleClientes
@@ -121,489 +62,4 @@
DataModuleProveedores
-
- - diff --git a/Source/Modulos/Contactos/Data/Contactos_data.drc b/Source/Modulos/Contactos/Data/Contactos_data.drc index 7642ac97..81ac7137 100644 --- a/Source/Modulos/Contactos/Data/Contactos_data.drc +++ b/Source/Modulos/Contactos/Data/Contactos_data.drc @@ -1,5 +1,5 @@ -/* VER180 - Generated by the Borland Delphi Pascal Compiler +/* VER185 + Generated by the CodeGear Delphi Pascal Compiler because -GD or --drc was supplied to the compiler. This file contains compiler-generated resources that @@ -12,3 +12,9 @@ STRINGTABLE BEGIN END +/* C:\Codigo Tecsitel\Source\Modulos\Contactos\Data\uDataModuleContactos.dfm */ +/* C:\Codigo Tecsitel\Source\Modulos\Contactos\Data\uDataModuleClientes.dfm */ +/* C:\Codigo Tecsitel\Source\Modulos\Contactos\Data\uDataModuleProveedores.dfm */ +/* C:\Codigo Tecsitel\Source\Modulos\Contactos\Data\uDataModuleEmpleados.dfm */ +/* C:\Codigo Tecsitel\Source\Modulos\Contactos\Data\Contactos_data.res */ +/* C:\DOCUME~1\Usuario\CONFIG~1\Temp\dtf1EC.tmp */ diff --git a/Source/Modulos/Contactos/Data/Contactos_data.rc b/Source/Modulos/Contactos/Data/Contactos_data.rc index e69de29b..153736af 100644 --- a/Source/Modulos/Contactos/Data/Contactos_data.rc +++ b/Source/Modulos/Contactos/Data/Contactos_data.rc @@ -0,0 +1,22 @@ +1 VERSIONINFO +FILEVERSION 1,0,0,0 +PRODUCTVERSION 1,0,0,0 +FILEFLAGSMASK 0x3FL +FILEFLAGS 0x00L +FILEOS 0x40004L +FILETYPE 0x1L +FILESUBTYPE 0x0L +BEGIN + BLOCK "StringFileInfo" + BEGIN + BLOCK "0C0A04E4" + BEGIN + VALUE "FileVersion", "1.0.0.0\0" + VALUE "ProductVersion", "1.0.0.0\0" + END + END + BLOCK "VarFileInfo" + BEGIN + VALUE "Translation", 0x0C0A, 1252 + END +END diff --git a/Source/Modulos/Contactos/Data/Contactos_data.res b/Source/Modulos/Contactos/Data/Contactos_data.res index 86c94e6ada7b3c85f6761b1ee234a9f34ef3c861..8b251f312bcccec5485024f6fe8d80e1cdf25746 100644 GIT binary patch delta 89 zcmX@0-oQLTLCJxUfkAA@>-7}euyEfF+`%$mH-*3IwZ-y~5+miKtn3_w^Pn$V^ zQ861nx4C)wN(Q~H#+K|o*@m~&(3=1I%Llk7>S*pvE7;Yjz^+ljNYba;|&8!P>=GYp<9J^QiRC`-*du(Wb zBJI+RemE@Tm2dSSKL$269_p-ia&WJ{$B|EYy#Bt1`fm?B(CB-l8nlXqgY!6fUOzP@ zr|Te|e4cZxgJWuLF8<`}dughP69?9a%ha4}r`jtX-7UCl^he&nV;_S<)Ya!2FlEJu zrr{t12%dXkNqpywX{@?Eb_MKs@29XRNI;2D%DxW zo|xv^jnf#kFIDZr^e=W==PW{#^6Ao{deqzuxId;ujOZ~3;otiwSzBXu3^t3 z&$C~D3=Umz@OQRR9+}nP>x>=u115dAI{rd2#Mbgv81-@e%IA6)a8SDwHm3Di`~F1x z)jhG~04Fd5o4f^Iah!WFIS0|E#)aohzS6onIG_;>-~Ytz3J0A}=DenTZ*cIo-Ves9 zp>qHmo5lV+rntk2He9_1!t%2yZsF;l)>iGc4jkU$0bBWEPmBKKP>uSjxhXIDsSodT z@EG|gFZa>|hHF!PaN};FzIxxlpPKT;87{i(!eu7T%H?}r^yeP=K2c}If`cyKd-3DW z_4ib`jDt-MZ?C~;z1O=EKN(!YbpFJR_c`u>(C=ph9O_Y*Jz5Z>`Zs7T9Mn$y@ay$^ z{gulxYxXwGq@TIGbG$~Hi*qk8?9|WMkNweF@MU18F;AQKZ>jcWAL86`f59r^Yh;+XfGU10gV*5=*FT)q#qz2B_Ik28(#vUlW{{>1m(1wXK3zHQ3+RoHfz^$cuqg(^F;eqz6WUMUE^m$ z9R1u2H_t9ue%}<_JcD5KB$svgjBysd-ql#|toxF$&>h1Qc)Vw6j~u{SeHg>my$i{SJtD^MnJV!{AK!ZgN9Q4bN2bs7?m1Qo zsLwc-c&GZ4_%7jWppm+9C(?(bpCye?f6Mv)ml~{r9)<=EoH5SYSxm8xsWZv%2MjL$ zd)R%{gxqI&lEaJ6!*jggJMcIz?<5?~hn@VA1Kzcrp$;C`m0CzQdy{!G?|FT$$5W3N zaydTsdE#>2dGSt*&wOX~r{!54?~lxS4gM|rOZH6mRCZMCP#!z)bEv-^up_gJ*i*BY zl>1d-%!E}5v+s{C_OF@Qj;!xrv5)P2yJ4TmKCqke`Aq-U;NJ}WpRu*&|7!3r$c7zU zF#m_6?>Cia!E%D)b;IaF{ zzPG~QEyw>z^LKm}whzS>Dx3Ct`1w98?Y5 + + {a7225a8d-f40d-4878-9a27-c5de0e7cb638} Contactos_model.dpk @@ -36,88 +37,19 @@ ..\..\..\Lib;..\..\Lib ..\..\..\Lib;..\..\Lib ..\..\..\Lib;..\..\Lib - DEBUG Delphi.Personality Package - - False - True - False - - - False - False - False - - - True - False - 1 - 0 - 0 - 0 - False - False - False - False - False - 3082 - 1252 - - - - - 1.0.0.0 - - - - - - 1.0.0.0 - - - - - - - - - - JCL Debug IDE extension - JCL Project Analyzer - JCL Open and Save IDE dialogs with favorite folders - - - Contactos_model.dpk - - +FalseTrueFalseFalseFalseFalseTrueFalse1000FalseFalseFalseFalseFalse308212521.0.0.01.0.0.0 +Contactos_model.dpk - + MainSource - - - - - - - - - - - - - - - - - - @@ -135,489 +67,4 @@ - - - diff --git a/Source/Modulos/Contactos/Model/Contactos_model.drc b/Source/Modulos/Contactos/Model/Contactos_model.drc index 7642ac97..593c0137 100644 --- a/Source/Modulos/Contactos/Model/Contactos_model.drc +++ b/Source/Modulos/Contactos/Model/Contactos_model.drc @@ -1,5 +1,5 @@ -/* VER180 - Generated by the Borland Delphi Pascal Compiler +/* VER185 + Generated by the CodeGear Delphi Pascal Compiler because -GD or --drc was supplied to the compiler. This file contains compiler-generated resources that @@ -12,3 +12,5 @@ STRINGTABLE BEGIN END +/* C:\Codigo Tecsitel\Source\Modulos\Contactos\Model\Contactos_model.res */ +/* C:\DOCUME~1\Usuario\CONFIG~1\Temp\dtf1EA.tmp */ diff --git a/Source/Modulos/Contactos/Model/Contactos_model.rc b/Source/Modulos/Contactos/Model/Contactos_model.rc index e69de29b..153736af 100644 --- a/Source/Modulos/Contactos/Model/Contactos_model.rc +++ b/Source/Modulos/Contactos/Model/Contactos_model.rc @@ -0,0 +1,22 @@ +1 VERSIONINFO +FILEVERSION 1,0,0,0 +PRODUCTVERSION 1,0,0,0 +FILEFLAGSMASK 0x3FL +FILEFLAGS 0x00L +FILEOS 0x40004L +FILETYPE 0x1L +FILESUBTYPE 0x0L +BEGIN + BLOCK "StringFileInfo" + BEGIN + BLOCK "0C0A04E4" + BEGIN + VALUE "FileVersion", "1.0.0.0\0" + VALUE "ProductVersion", "1.0.0.0\0" + END + END + BLOCK "VarFileInfo" + BEGIN + VALUE "Translation", 0x0C0A, 1252 + END +END diff --git a/Source/Modulos/Contactos/Model/Contactos_model.res b/Source/Modulos/Contactos/Model/Contactos_model.res index 86c94e6ada7b3c85f6761b1ee234a9f34ef3c861..8b251f312bcccec5485024f6fe8d80e1cdf25746 100644 GIT binary patch delta 89 zcmX@0-oQLTLCJxUfkAA@>-7}euyEfF+`%$mH-*3IwZ-y~5+miKtn3_w^Pn$V^ zQ861nx4C)wN(Q~H#+K|o*@m~&(3=1I%Llk7>S*pvE7;Yjz^+ljNYba;|&8!P>=GYp<9J^QiRC`-*du(Wb zBJI+RemE@Tm2dSSKL$269_p-ia&WJ{$B|EYy#Bt1`fm?B(CB-l8nlXqgY!6fUOzP@ zr|Te|e4cZxgJWuLF8<`}dughP69?9a%ha4}r`jtX-7UCl^he&nV;_S<)Ya!2FlEJu zrr{t12%dXkNqpywX{@?Eb_MKs@29XRNI;2D%DxW zo|xv^jnf#kFIDZr^e=W==PW{#^6Ao{deqzuxId;ujOZ~3;otiwSzBXu3^t3 z&$C~D3=Umz@OQRR9+}nP>x>=u115dAI{rd2#Mbgv81-@e%IA6)a8SDwHm3Di`~F1x z)jhG~04Fd5o4f^Iah!WFIS0|E#)aohzS6onIG_;>-~Ytz3J0A}=DenTZ*cIo-Ves9 zp>qHmo5lV+rntk2He9_1!t%2yZsF;l)>iGc4jkU$0bBWEPmBKKP>uSjxhXIDsSodT z@EG|gFZa>|hHF!PaN};FzIxxlpPKT;87{i(!eu7T%H?}r^yeP=K2c}If`cyKd-3DW z_4ib`jDt-MZ?C~;z1O=EKN(!YbpFJR_c`u>(C=ph9O_Y*Jz5Z>`Zs7T9Mn$y@ay$^ z{gulxYxXwGq@TIGbG$~Hi*qk8?9|WMkNweF@MU18F;AQKZ>jcWAL86`f59r^Yh;+XfGU10gV*5=*FT)q#qz2B_Ik28(#vUlW{{>1m(1wXK3zHQ3+RoHfz^$cuqg(^F;eqz6WUMUE^m$ z9R1u2H_t9ue%}<_JcD5KB$svgjBysd-ql#|toxF$&>h1Qc)Vw6j~u{SeHg>my$i{SJtD^MnJV!{AK!ZgN9Q4bN2bs7?m1Qo zsLwc-c&GZ4_%7jWppm+9C(?(bpCye?f6Mv)ml~{r9)<=EoH5SYSxm8xsWZv%2MjL$ zd)R%{gxqI&lEaJ6!*jggJMcIz?<5?~hn@VA1Kzcrp$;C`m0CzQdy{!G?|FT$$5W3N zaydTsdE#>2dGSt*&wOX~r{!54?~lxS4gM|rOZH6mRCZMCP#!z)bEv-^up_gJ*i*BY zl>1d-%!E}5v+s{C_OF@Qj;!xrv5)P2yJ4TmKCqke`Aq-U;NJ}WpRu*&|7!3r$c7zU zF#m_6?>Cia!E%D)b;IaF{ zzPG~QEyw>z^LKm}whzS>Dx3Ct`1w98?Y5..\..\..\Lib;..\..\Lib ..\..\..\Lib;..\..\Lib ..\..\..\Lib;..\..\Lib - DEBUG Delphi.Personality Package - - False - True - False - - - False - False - False - - - True - False - 1 - 0 - 0 - 0 - False - False - False - False - False - 3082 - 1252 - - - - - 1.0.0.0 - - - - - - 1.0.0.0 - - - - - - - - - - JCL Debug IDE extension - JCL Project Analyzer - JCL Open and Save IDE dialogs with favorite folders - - - Contactos_plugin.dpk - - +FalseTrueFalseFalseFalseFalseTrueFalse1000FalseFalseFalseFalseFalse308212521.0.0.01.0.0.0Contactos_plugin.dpk - + MainSource - - - - - - - - - - - - - - - - - - - - - -
PluginContactos
-
- diff --git a/Source/Modulos/Contactos/Views/Contactos_view.drc b/Source/Modulos/Contactos/Views/Contactos_view.drc index 7642ac97..6f299514 100644 --- a/Source/Modulos/Contactos/Views/Contactos_view.drc +++ b/Source/Modulos/Contactos/Views/Contactos_view.drc @@ -1,5 +1,5 @@ -/* VER180 - Generated by the Borland Delphi Pascal Compiler +/* VER185 + Generated by the CodeGear Delphi Pascal Compiler because -GD or --drc was supplied to the compiler. This file contains compiler-generated resources that @@ -12,3 +12,37 @@ STRINGTABLE BEGIN END +/* C:\Codigo Tecsitel\Source\Modulos\Contactos\Views\uViewContactos.dfm */ +/* C:\Codigo Tecsitel\Source\Modulos\Contactos\Views\uEditorContactos.dfm */ +/* C:\Codigo Tecsitel\Source\Modulos\Contactos\Views\uViewClientes.dfm */ +/* C:\Codigo Tecsitel\Source\Modulos\Contactos\Views\uEditorClientes.dfm */ +/* C:\Codigo Tecsitel\Source\Modulos\Contactos\Views\uViewProveedores.dfm */ +/* C:\Codigo Tecsitel\Source\Modulos\Contactos\Views\uEditorProveedores.dfm */ +/* C:\Codigo Tecsitel\Source\Modulos\Contactos\Views\uViewEmpleados.dfm */ +/* C:\Codigo Tecsitel\Source\Modulos\Contactos\Views\uEditorEmpleados.dfm */ +/* C:\Codigo Tecsitel\Source\Modulos\Contactos\Views\uEditorElegirClientes.dfm */ +/* C:\Codigo Tecsitel\Source\Modulos\Contactos\Views\uViewContacto.dfm */ +/* C:\Codigo Tecsitel\Source\Modulos\Contactos\Views\uViewContactoDatosBancarios.dfm */ +/* C:\Codigo Tecsitel\Source\Modulos\Contactos\Views\uEditorContacto.dfm */ +/* C:\Codigo Tecsitel\Source\Modulos\Contactos\Views\uViewCliente.dfm */ +/* C:\Codigo Tecsitel\Source\Modulos\Contactos\Views\uViewEmpleado.dfm */ +/* C:\Codigo Tecsitel\Source\Modulos\Contactos\Views\uViewDireccionesEntrega.dfm */ +/* C:\Codigo Tecsitel\Source\Modulos\Contactos\Views\uViewClienteDescuentos.dfm */ +/* C:\Codigo Tecsitel\Source\Modulos\Contactos\Views\uViewClienteDatosComerciales.dfm */ +/* C:\Codigo Tecsitel\Source\Modulos\Contactos\Views\uEditorCliente.dfm */ +/* C:\Codigo Tecsitel\Source\Modulos\Contactos\Views\uViewProveedor.dfm */ +/* C:\Codigo Tecsitel\Source\Modulos\Contactos\Views\uViewProveedorDatosComerciales.dfm */ +/* C:\Codigo Tecsitel\Source\Modulos\Contactos\Views\uEditorProveedor.dfm */ +/* C:\Codigo Tecsitel\Source\Modulos\Contactos\Views\uEditorEmpleado.dfm */ +/* C:\Codigo Tecsitel\Source\Modulos\Contactos\Views\uEditorElegirProveedores.dfm */ +/* C:\Codigo Tecsitel\Source\Modulos\Contactos\Views\uEditorDireccion.dfm */ +/* C:\Codigo Tecsitel\Source\Modulos\Contactos\Views\uEditorElegirDireccionEntrega.dfm */ +/* C:\Codigo Tecsitel\Source\Modulos\Contactos\Views\uEditorGruposCliente.dfm */ +/* C:\Codigo Tecsitel\Source\Modulos\Contactos\Views\uEditorGruposProveedor.dfm */ +/* C:\Codigo Tecsitel\Source\Modulos\Contactos\Views\uEditorGruposEmpleado.dfm */ +/* C:\Codigo Tecsitel\Source\Modulos\Contactos\Views\uEditorFichasEmpleadoReport.dfm */ +/* C:\Codigo Tecsitel\Source\Modulos\Contactos\Views\uEditorEtiquetasContactosReport.dfm */ +/* C:\Codigo Tecsitel\Source\Modulos\Contactos\Views\uViewDatosYSeleccionProveedor.dfm */ +/* C:\Codigo Tecsitel\Source\Modulos\Contactos\Views\uViewDatosYSeleccionCliente.dfm */ +/* C:\Codigo Tecsitel\Source\Modulos\Contactos\Views\Contactos_view.res */ +/* C:\DOCUME~1\Usuario\CONFIG~1\Temp\dtf1F0.tmp */ diff --git a/Source/Modulos/Contactos/Views/Contactos_view.rc b/Source/Modulos/Contactos/Views/Contactos_view.rc index e69de29b..153736af 100644 --- a/Source/Modulos/Contactos/Views/Contactos_view.rc +++ b/Source/Modulos/Contactos/Views/Contactos_view.rc @@ -0,0 +1,22 @@ +1 VERSIONINFO +FILEVERSION 1,0,0,0 +PRODUCTVERSION 1,0,0,0 +FILEFLAGSMASK 0x3FL +FILEFLAGS 0x00L +FILEOS 0x40004L +FILETYPE 0x1L +FILESUBTYPE 0x0L +BEGIN + BLOCK "StringFileInfo" + BEGIN + BLOCK "0C0A04E4" + BEGIN + VALUE "FileVersion", "1.0.0.0\0" + VALUE "ProductVersion", "1.0.0.0\0" + END + END + BLOCK "VarFileInfo" + BEGIN + VALUE "Translation", 0x0C0A, 1252 + END +END diff --git a/Source/Modulos/Contactos/Views/Contactos_view.res b/Source/Modulos/Contactos/Views/Contactos_view.res index 86c94e6ada7b3c85f6761b1ee234a9f34ef3c861..8b251f312bcccec5485024f6fe8d80e1cdf25746 100644 GIT binary patch delta 89 zcmX@0-oQLTLCJxUfkAA@>-7}euyEfF+`%$mH-*3IwZ-y~5+miKtn3_w^Pn$V^ zQ861nx4C)wN(Q~H#+K|o*@m~&(3=1I%Llk7>S*pvE7;Yjz^+ljNYba;|&8!P>=GYp<9J^QiRC`-*du(Wb zBJI+RemE@Tm2dSSKL$269_p-ia&WJ{$B|EYy#Bt1`fm?B(CB-l8nlXqgY!6fUOzP@ zr|Te|e4cZxgJWuLF8<`}dughP69?9a%ha4}r`jtX-7UCl^he&nV;_S<)Ya!2FlEJu zrr{t12%dXkNqpywX{@?Eb_MKs@29XRNI;2D%DxW zo|xv^jnf#kFIDZr^e=W==PW{#^6Ao{deqzuxId;ujOZ~3;otiwSzBXu3^t3 z&$C~D3=Umz@OQRR9+}nP>x>=u115dAI{rd2#Mbgv81-@e%IA6)a8SDwHm3Di`~F1x z)jhG~04Fd5o4f^Iah!WFIS0|E#)aohzS6onIG_;>-~Ytz3J0A}=DenTZ*cIo-Ves9 zp>qHmo5lV+rntk2He9_1!t%2yZsF;l)>iGc4jkU$0bBWEPmBKKP>uSjxhXIDsSodT z@EG|gFZa>|hHF!PaN};FzIxxlpPKT;87{i(!eu7T%H?}r^yeP=K2c}If`cyKd-3DW z_4ib`jDt-MZ?C~;z1O=EKN(!YbpFJR_c`u>(C=ph9O_Y*Jz5Z>`Zs7T9Mn$y@ay$^ z{gulxYxXwGq@TIGbG$~Hi*qk8?9|WMkNweF@MU18F;AQKZ>jcWAL86`f59r^Yh;+XfGU10gV*5=*FT)q#qz2B_Ik28(#vUlW{{>1m(1wXK3zHQ3+RoHfz^$cuqg(^F;eqz6WUMUE^m$ z9R1u2H_t9ue%}<_JcD5KB$svgjBysd-ql#|toxF$&>h1Qc)Vw6j~u{SeHg>my$i{SJtD^MnJV!{AK!ZgN9Q4bN2bs7?m1Qo zsLwc-c&GZ4_%7jWppm+9C(?(bpCye?f6Mv)ml~{r9)<=EoH5SYSxm8xsWZv%2MjL$ zd)R%{gxqI&lEaJ6!*jggJMcIz?<5?~hn@VA1Kzcrp$;C`m0CzQdy{!G?|FT$$5W3N zaydTsdE#>2dGSt*&wOX~r{!54?~lxS4gM|rOZH6mRCZMCP#!z)bEv-^up_gJ*i*BY zl>1d-%!E}5v+s{C_OF@Qj;!xrv5)P2yJ4TmKCqke`Aq-U;NJ}WpRu*&|7!3r$c7zU zF#m_6?>Cia!E%D)b;IaF{ zzPG~QEyw>z^LKm}whzS>Dx3Ct`1w98?Y5 + + {e4ad187e-0c3a-462a-b435-f69475af2f56} Empresas_controller.dpk @@ -36,50 +37,15 @@ ..\..\..\Lib;..\..\Lib ..\..\..\Lib;..\..\Lib ..\..\..\Lib;..\..\Lib - DEBUG Delphi.Personality Package - - False - True - False - - - False - False - False - - - True - False - 1 - 0 - 0 - 0 - False - False - False - False - False - 3082 - 1252 - - - - - 1.0.0.0 - - - - - - 1.0.0.0 - - - +FalseTrueFalseFalseFalseFalseTrueFalse1000FalseFalseFalseFalseFalse308212521.0.0.01.0.0.0 + + + @@ -89,80 +55,31 @@ JCL Debug IDE extension JCL Project Analyzer JCL Open and Save IDE dialogs with favorite folders - - - Empresas_controller.dpk - - + Empresas_controller.dpk - + MainSource - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + - diff --git a/Source/Modulos/Tipos de IVA/Controller/TiposIVA_controller.rc b/Source/Modulos/Tipos de IVA/Controller/TiposIVA_controller.rc index e69de29b..153736af 100644 --- a/Source/Modulos/Tipos de IVA/Controller/TiposIVA_controller.rc +++ b/Source/Modulos/Tipos de IVA/Controller/TiposIVA_controller.rc @@ -0,0 +1,22 @@ +1 VERSIONINFO +FILEVERSION 1,0,0,0 +PRODUCTVERSION 1,0,0,0 +FILEFLAGSMASK 0x3FL +FILEFLAGS 0x00L +FILEOS 0x40004L +FILETYPE 0x1L +FILESUBTYPE 0x0L +BEGIN + BLOCK "StringFileInfo" + BEGIN + BLOCK "0C0A04E4" + BEGIN + VALUE "FileVersion", "1.0.0.0\0" + VALUE "ProductVersion", "1.0.0.0\0" + END + END + BLOCK "VarFileInfo" + BEGIN + VALUE "Translation", 0x0C0A, 1252 + END +END diff --git a/Source/Modulos/Tipos de IVA/Controller/TiposIVA_controller.res b/Source/Modulos/Tipos de IVA/Controller/TiposIVA_controller.res index 86c94e6ada7b3c85f6761b1ee234a9f34ef3c861..8b251f312bcccec5485024f6fe8d80e1cdf25746 100644 GIT binary patch delta 89 zcmX@0-oQLTLCJxUfkAA@>-7}euyEfF+`%$mH-*3IwZ-y~5+miKtn3_w^Pn$V^ zQ861nx4C)wN(Q~H#+K|o*@m~&(3=1I%Llk7>S*pvE7;Yjz^+ljNYba;|&8!P>=GYp<9J^QiRC`-*du(Wb zBJI+RemE@Tm2dSSKL$269_p-ia&WJ{$B|EYy#Bt1`fm?B(CB-l8nlXqgY!6fUOzP@ zr|Te|e4cZxgJWuLF8<`}dughP69?9a%ha4}r`jtX-7UCl^he&nV;_S<)Ya!2FlEJu zrr{t12%dXkNqpywX{@?Eb_MKs@29XRNI;2D%DxW zo|xv^jnf#kFIDZr^e=W==PW{#^6Ao{deqzuxId;ujOZ~3;otiwSzBXu3^t3 z&$C~D3=Umz@OQRR9+}nP>x>=u115dAI{rd2#Mbgv81-@e%IA6)a8SDwHm3Di`~F1x z)jhG~04Fd5o4f^Iah!WFIS0|E#)aohzS6onIG_;>-~Ytz3J0A}=DenTZ*cIo-Ves9 zp>qHmo5lV+rntk2He9_1!t%2yZsF;l)>iGc4jkU$0bBWEPmBKKP>uSjxhXIDsSodT z@EG|gFZa>|hHF!PaN};FzIxxlpPKT;87{i(!eu7T%H?}r^yeP=K2c}If`cyKd-3DW z_4ib`jDt-MZ?C~;z1O=EKN(!YbpFJR_c`u>(C=ph9O_Y*Jz5Z>`Zs7T9Mn$y@ay$^ z{gulxYxXwGq@TIGbG$~Hi*qk8?9|WMkNweF@MU18F;AQKZ>jcWAL86`f59r^Yh;+XfGU10gV*5=*FT)q#qz2B_Ik28(#vUlW{{>1m(1wXK3zHQ3+RoHfz^$cuqg(^F;eqz6WUMUE^m$ z9R1u2H_t9ue%}<_JcD5KB$svgjBysd-ql#|toxF$&>h1Qc)Vw6j~u{SeHg>my$i{SJtD^MnJV!{AK!ZgN9Q4bN2bs7?m1Qo zsLwc-c&GZ4_%7jWppm+9C(?(bpCye?f6Mv)ml~{r9)<=EoH5SYSxm8xsWZv%2MjL$ zd)R%{gxqI&lEaJ6!*jggJMcIz?<5?~hn@VA1Kzcrp$;C`m0CzQdy{!G?|FT$$5W3N zaydTsdE#>2dGSt*&wOX~r{!54?~lxS4gM|rOZH6mRCZMCP#!z)bEv-^up_gJ*i*BY zl>1d-%!E}5v+s{C_OF@Qj;!xrv5)P2yJ4TmKCqke`Aq-U;NJ}WpRu*&|7!3r$c7zU zF#m_6?>Cia!E%D)b;IaF{ zzPG~QEyw>z^LKm}whzS>Dx3Ct`1w98?Y5 + + {55d06c67-fc74-4d88-8787-801dee872bb3} TiposIVA_data.dpk @@ -36,563 +37,38 @@ ..\..\..\Lib;..\..\Lib ..\..\..\Lib;..\..\Lib ..\..\..\Lib;..\..\Lib - DEBUG Delphi.Personality Package - - False - True - False - - - False - False - False - - - True - False - 1 - 0 - 0 - 0 - False - False - False - False - False - 3082 - 1252 - - - - - 1.0.0.0 - - - - - - 1.0.0.0 - - - - TiposIVA_data.dpk - - +FalseTrueFalseFalseFalseFalseTrueFalse1000FalseFalseFalseFalseFalse308212521.0.0.01.0.0.0TiposIVA_data.dpk - + MainSource - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + +
DataModuleTiposIVA
-
- diff --git a/Source/Modulos/Tipos de IVA/Data/TiposIVA_data.drc b/Source/Modulos/Tipos de IVA/Data/TiposIVA_data.drc index 7642ac97..a0b74431 100644 --- a/Source/Modulos/Tipos de IVA/Data/TiposIVA_data.drc +++ b/Source/Modulos/Tipos de IVA/Data/TiposIVA_data.drc @@ -1,5 +1,5 @@ -/* VER180 - Generated by the Borland Delphi Pascal Compiler +/* VER185 + Generated by the CodeGear Delphi Pascal Compiler because -GD or --drc was supplied to the compiler. This file contains compiler-generated resources that @@ -12,3 +12,6 @@ STRINGTABLE BEGIN END +/* C:\Codigo Tecsitel\Source\Modulos\Tipos de IVA\Data\uDataModuleTiposIVA.dfm */ +/* C:\Codigo Tecsitel\Source\Modulos\Tipos de IVA\Data\TiposIVA_data.res */ +/* C:\DOCUME~1\Usuario\CONFIG~1\Temp\dtf1E2.tmp */ diff --git a/Source/Modulos/Tipos de IVA/Data/TiposIVA_data.rc b/Source/Modulos/Tipos de IVA/Data/TiposIVA_data.rc index e69de29b..153736af 100644 --- a/Source/Modulos/Tipos de IVA/Data/TiposIVA_data.rc +++ b/Source/Modulos/Tipos de IVA/Data/TiposIVA_data.rc @@ -0,0 +1,22 @@ +1 VERSIONINFO +FILEVERSION 1,0,0,0 +PRODUCTVERSION 1,0,0,0 +FILEFLAGSMASK 0x3FL +FILEFLAGS 0x00L +FILEOS 0x40004L +FILETYPE 0x1L +FILESUBTYPE 0x0L +BEGIN + BLOCK "StringFileInfo" + BEGIN + BLOCK "0C0A04E4" + BEGIN + VALUE "FileVersion", "1.0.0.0\0" + VALUE "ProductVersion", "1.0.0.0\0" + END + END + BLOCK "VarFileInfo" + BEGIN + VALUE "Translation", 0x0C0A, 1252 + END +END diff --git a/Source/Modulos/Tipos de IVA/Data/TiposIVA_data.res b/Source/Modulos/Tipos de IVA/Data/TiposIVA_data.res index 86c94e6ada7b3c85f6761b1ee234a9f34ef3c861..8b251f312bcccec5485024f6fe8d80e1cdf25746 100644 GIT binary patch delta 89 zcmX@0-oQLTLCJxUfkAA@>-7}euyEfF+`%$mH-*3IwZ-y~5+miKtn3_w^Pn$V^ zQ861nx4C)wN(Q~H#+K|o*@m~&(3=1I%Llk7>S*pvE7;Yjz^+ljNYba;|&8!P>=GYp<9J^QiRC`-*du(Wb zBJI+RemE@Tm2dSSKL$269_p-ia&WJ{$B|EYy#Bt1`fm?B(CB-l8nlXqgY!6fUOzP@ zr|Te|e4cZxgJWuLF8<`}dughP69?9a%ha4}r`jtX-7UCl^he&nV;_S<)Ya!2FlEJu zrr{t12%dXkNqpywX{@?Eb_MKs@29XRNI;2D%DxW zo|xv^jnf#kFIDZr^e=W==PW{#^6Ao{deqzuxId;ujOZ~3;otiwSzBXu3^t3 z&$C~D3=Umz@OQRR9+}nP>x>=u115dAI{rd2#Mbgv81-@e%IA6)a8SDwHm3Di`~F1x z)jhG~04Fd5o4f^Iah!WFIS0|E#)aohzS6onIG_;>-~Ytz3J0A}=DenTZ*cIo-Ves9 zp>qHmo5lV+rntk2He9_1!t%2yZsF;l)>iGc4jkU$0bBWEPmBKKP>uSjxhXIDsSodT z@EG|gFZa>|hHF!PaN};FzIxxlpPKT;87{i(!eu7T%H?}r^yeP=K2c}If`cyKd-3DW z_4ib`jDt-MZ?C~;z1O=EKN(!YbpFJR_c`u>(C=ph9O_Y*Jz5Z>`Zs7T9Mn$y@ay$^ z{gulxYxXwGq@TIGbG$~Hi*qk8?9|WMkNweF@MU18F;AQKZ>jcWAL86`f59r^Yh;+XfGU10gV*5=*FT)q#qz2B_Ik28(#vUlW{{>1m(1wXK3zHQ3+RoHfz^$cuqg(^F;eqz6WUMUE^m$ z9R1u2H_t9ue%}<_JcD5KB$svgjBysd-ql#|toxF$&>h1Qc)Vw6j~u{SeHg>my$i{SJtD^MnJV!{AK!ZgN9Q4bN2bs7?m1Qo zsLwc-c&GZ4_%7jWppm+9C(?(bpCye?f6Mv)ml~{r9)<=EoH5SYSxm8xsWZv%2MjL$ zd)R%{gxqI&lEaJ6!*jggJMcIz?<5?~hn@VA1Kzcrp$;C`m0CzQdy{!G?|FT$$5W3N zaydTsdE#>2dGSt*&wOX~r{!54?~lxS4gM|rOZH6mRCZMCP#!z)bEv-^up_gJ*i*BY zl>1d-%!E}5v+s{C_OF@Qj;!xrv5)P2yJ4TmKCqke`Aq-U;NJ}WpRu*&|7!3r$c7zU zF#m_6?>Cia!E%D)b;IaF{ zzPG~QEyw>z^LKm}whzS>Dx3Ct`1w98?Y5 + + {82fe21d8-609d-444d-879e-4d9e1c291607} TiposIVA_model.dpk @@ -36,555 +37,28 @@ ..\..\..\Lib;..\..\Lib ..\..\..\Lib;..\..\Lib ..\..\..\Lib;..\..\Lib - DEBUG Delphi.Personality Package - - False - True - False - - - False - False - False - - - True - False - 1 - 0 - 0 - 0 - False - False - False - False - False - 3082 - 1252 - - - - - 1.0.0.0 - - - - - - 1.0.0.0 - - - - TiposIVA_model.dpk - - +FalseTrueFalseFalseFalseFalseTrueFalse1000FalseFalseFalseFalseFalse308212521.0.0.01.0.0.0TiposIVA_model.dpk - + MainSource - - - - - - - - + + + + + + + - - - diff --git a/Source/Modulos/Tipos de IVA/Model/TiposIVA_model.drc b/Source/Modulos/Tipos de IVA/Model/TiposIVA_model.drc index 7642ac97..b4d78895 100644 --- a/Source/Modulos/Tipos de IVA/Model/TiposIVA_model.drc +++ b/Source/Modulos/Tipos de IVA/Model/TiposIVA_model.drc @@ -1,5 +1,5 @@ -/* VER180 - Generated by the Borland Delphi Pascal Compiler +/* VER185 + Generated by the CodeGear Delphi Pascal Compiler because -GD or --drc was supplied to the compiler. This file contains compiler-generated resources that @@ -12,3 +12,5 @@ STRINGTABLE BEGIN END +/* C:\Codigo Tecsitel\Source\Modulos\Tipos de IVA\Model\TiposIVA_model.res */ +/* C:\DOCUME~1\Usuario\CONFIG~1\Temp\dtf1E0.tmp */ diff --git a/Source/Modulos/Tipos de IVA/Model/TiposIVA_model.rc b/Source/Modulos/Tipos de IVA/Model/TiposIVA_model.rc index e69de29b..153736af 100644 --- a/Source/Modulos/Tipos de IVA/Model/TiposIVA_model.rc +++ b/Source/Modulos/Tipos de IVA/Model/TiposIVA_model.rc @@ -0,0 +1,22 @@ +1 VERSIONINFO +FILEVERSION 1,0,0,0 +PRODUCTVERSION 1,0,0,0 +FILEFLAGSMASK 0x3FL +FILEFLAGS 0x00L +FILEOS 0x40004L +FILETYPE 0x1L +FILESUBTYPE 0x0L +BEGIN + BLOCK "StringFileInfo" + BEGIN + BLOCK "0C0A04E4" + BEGIN + VALUE "FileVersion", "1.0.0.0\0" + VALUE "ProductVersion", "1.0.0.0\0" + END + END + BLOCK "VarFileInfo" + BEGIN + VALUE "Translation", 0x0C0A, 1252 + END +END diff --git a/Source/Modulos/Tipos de IVA/Model/TiposIVA_model.res b/Source/Modulos/Tipos de IVA/Model/TiposIVA_model.res index 86c94e6ada7b3c85f6761b1ee234a9f34ef3c861..8b251f312bcccec5485024f6fe8d80e1cdf25746 100644 GIT binary patch delta 89 zcmX@0-oQLTLCJxUfkAA@>-7}euyEfF+`%$mH-*3IwZ-y~5+miKtn3_w^Pn$V^ zQ861nx4C)wN(Q~H#+K|o*@m~&(3=1I%Llk7>S*pvE7;Yjz^+ljNYba;|&8!P>=GYp<9J^QiRC`-*du(Wb zBJI+RemE@Tm2dSSKL$269_p-ia&WJ{$B|EYy#Bt1`fm?B(CB-l8nlXqgY!6fUOzP@ zr|Te|e4cZxgJWuLF8<`}dughP69?9a%ha4}r`jtX-7UCl^he&nV;_S<)Ya!2FlEJu zrr{t12%dXkNqpywX{@?Eb_MKs@29XRNI;2D%DxW zo|xv^jnf#kFIDZr^e=W==PW{#^6Ao{deqzuxId;ujOZ~3;otiwSzBXu3^t3 z&$C~D3=Umz@OQRR9+}nP>x>=u115dAI{rd2#Mbgv81-@e%IA6)a8SDwHm3Di`~F1x z)jhG~04Fd5o4f^Iah!WFIS0|E#)aohzS6onIG_;>-~Ytz3J0A}=DenTZ*cIo-Ves9 zp>qHmo5lV+rntk2He9_1!t%2yZsF;l)>iGc4jkU$0bBWEPmBKKP>uSjxhXIDsSodT z@EG|gFZa>|hHF!PaN};FzIxxlpPKT;87{i(!eu7T%H?}r^yeP=K2c}If`cyKd-3DW z_4ib`jDt-MZ?C~;z1O=EKN(!YbpFJR_c`u>(C=ph9O_Y*Jz5Z>`Zs7T9Mn$y@ay$^ z{gulxYxXwGq@TIGbG$~Hi*qk8?9|WMkNweF@MU18F;AQKZ>jcWAL86`f59r^Yh;+XfGU10gV*5=*FT)q#qz2B_Ik28(#vUlW{{>1m(1wXK3zHQ3+RoHfz^$cuqg(^F;eqz6WUMUE^m$ z9R1u2H_t9ue%}<_JcD5KB$svgjBysd-ql#|toxF$&>h1Qc)Vw6j~u{SeHg>my$i{SJtD^MnJV!{AK!ZgN9Q4bN2bs7?m1Qo zsLwc-c&GZ4_%7jWppm+9C(?(bpCye?f6Mv)ml~{r9)<=EoH5SYSxm8xsWZv%2MjL$ zd)R%{gxqI&lEaJ6!*jggJMcIz?<5?~hn@VA1Kzcrp$;C`m0CzQdy{!G?|FT$$5W3N zaydTsdE#>2dGSt*&wOX~r{!54?~lxS4gM|rOZH6mRCZMCP#!z)bEv-^up_gJ*i*BY zl>1d-%!E}5v+s{C_OF@Qj;!xrv5)P2yJ4TmKCqke`Aq-U;NJ}WpRu*&|7!3r$c7zU zF#m_6?>Cia!E%D)b;IaF{ zzPG~QEyw>z^LKm}whzS>Dx3Ct`1w98?Y5 + + {139324a2-0c57-446d-aebd-edd9578e22fd} TiposIVA_plugin.dpk @@ -34,554 +35,28 @@ ..\..\..\Lib;..\..\Lib ..\..\..\Lib;..\..\Lib ..\..\..\Lib;..\..\Lib - DEBUG Delphi.Personality Package - - False - True - False - - - False - False - False - - - True - False - 1 - 0 - 0 - 0 - False - False - False - False - False - 3082 - 1252 - - - - - 1.0.0.0 - - - - - - 1.0.0.0 - - - - TiposIVA_plugin.dpk - - +FalseTrueFalseFalseFalseFalseTrueFalse1000FalseFalseFalseFalseFalse308212521.0.0.01.0.0.0TiposIVA_plugin.dpk - + MainSource - - - - - - - - - - + + + + + + + + + + - - - diff --git a/Source/Modulos/Tipos de IVA/Plugin/TiposIVA_plugin.rc b/Source/Modulos/Tipos de IVA/Plugin/TiposIVA_plugin.rc index e69de29b..153736af 100644 --- a/Source/Modulos/Tipos de IVA/Plugin/TiposIVA_plugin.rc +++ b/Source/Modulos/Tipos de IVA/Plugin/TiposIVA_plugin.rc @@ -0,0 +1,22 @@ +1 VERSIONINFO +FILEVERSION 1,0,0,0 +PRODUCTVERSION 1,0,0,0 +FILEFLAGSMASK 0x3FL +FILEFLAGS 0x00L +FILEOS 0x40004L +FILETYPE 0x1L +FILESUBTYPE 0x0L +BEGIN + BLOCK "StringFileInfo" + BEGIN + BLOCK "0C0A04E4" + BEGIN + VALUE "FileVersion", "1.0.0.0\0" + VALUE "ProductVersion", "1.0.0.0\0" + END + END + BLOCK "VarFileInfo" + BEGIN + VALUE "Translation", 0x0C0A, 1252 + END +END diff --git a/Source/Modulos/Tipos de IVA/Plugin/TiposIVA_plugin.res b/Source/Modulos/Tipos de IVA/Plugin/TiposIVA_plugin.res index 86c94e6ada7b3c85f6761b1ee234a9f34ef3c861..8b251f312bcccec5485024f6fe8d80e1cdf25746 100644 GIT binary patch delta 89 zcmX@0-oQLTLCJxUfkAA@>-7}euyEfF+`%$mH-*3IwZ-y~5+miKtn3_w^Pn$V^ zQ861nx4C)wN(Q~H#+K|o*@m~&(3=1I%Llk7>S*pvE7;Yjz^+ljNYba;|&8!P>=GYp<9J^QiRC`-*du(Wb zBJI+RemE@Tm2dSSKL$269_p-ia&WJ{$B|EYy#Bt1`fm?B(CB-l8nlXqgY!6fUOzP@ zr|Te|e4cZxgJWuLF8<`}dughP69?9a%ha4}r`jtX-7UCl^he&nV;_S<)Ya!2FlEJu zrr{t12%dXkNqpywX{@?Eb_MKs@29XRNI;2D%DxW zo|xv^jnf#kFIDZr^e=W==PW{#^6Ao{deqzuxId;ujOZ~3;otiwSzBXu3^t3 z&$C~D3=Umz@OQRR9+}nP>x>=u115dAI{rd2#Mbgv81-@e%IA6)a8SDwHm3Di`~F1x z)jhG~04Fd5o4f^Iah!WFIS0|E#)aohzS6onIG_;>-~Ytz3J0A}=DenTZ*cIo-Ves9 zp>qHmo5lV+rntk2He9_1!t%2yZsF;l)>iGc4jkU$0bBWEPmBKKP>uSjxhXIDsSodT z@EG|gFZa>|hHF!PaN};FzIxxlpPKT;87{i(!eu7T%H?}r^yeP=K2c}If`cyKd-3DW z_4ib`jDt-MZ?C~;z1O=EKN(!YbpFJR_c`u>(C=ph9O_Y*Jz5Z>`Zs7T9Mn$y@ay$^ z{gulxYxXwGq@TIGbG$~Hi*qk8?9|WMkNweF@MU18F;AQKZ>jcWAL86`f59r^Yh;+XfGU10gV*5=*FT)q#qz2B_Ik28(#vUlW{{>1m(1wXK3zHQ3+RoHfz^$cuqg(^F;eqz6WUMUE^m$ z9R1u2H_t9ue%}<_JcD5KB$svgjBysd-ql#|toxF$&>h1Qc)Vw6j~u{SeHg>my$i{SJtD^MnJV!{AK!ZgN9Q4bN2bs7?m1Qo zsLwc-c&GZ4_%7jWppm+9C(?(bpCye?f6Mv)ml~{r9)<=EoH5SYSxm8xsWZv%2MjL$ zd)R%{gxqI&lEaJ6!*jggJMcIz?<5?~hn@VA1Kzcrp$;C`m0CzQdy{!G?|FT$$5W3N zaydTsdE#>2dGSt*&wOX~r{!54?~lxS4gM|rOZH6mRCZMCP#!z)bEv-^up_gJ*i*BY zl>1d-%!E}5v+s{C_OF@Qj;!xrv5)P2yJ4TmKCqke`Aq-U;NJ}WpRu*&|7!3r$c7zU zF#m_6?>Cia!E%D)b;IaF{ zzPG~QEyw>z^LKm}whzS>Dx3Ct`1w98?Y5 BeforeAcquireConnection = DataAbstractServiceBeforeAcquireConnection Height = 300 Width = 334 object Diagrams: TDADiagrams Left = 150 - Top = 80 + Top = 88 DiagramData = ''#13#10''#13#10 end object DataDictionary: TDADataDictionary @@ -267,7 +267,7 @@ object srvTiposIVA: TsrvTiposIVA Left = 251 Top = 24 end - object DABinDataStreamer: TDABinDataStreamer + object Bin2DataStreamer: TDABin2DataStreamer Left = 48 Top = 88 end diff --git a/Source/Modulos/Tipos de IVA/Servidor/srvTiposIVA_Impl.pas b/Source/Modulos/Tipos de IVA/Servidor/srvTiposIVA_Impl.pas index e890dc44..64d268f9 100644 --- a/Source/Modulos/Tipos de IVA/Servidor/srvTiposIVA_Impl.pas +++ b/Source/Modulos/Tipos de IVA/Servidor/srvTiposIVA_Impl.pas @@ -15,7 +15,8 @@ uses {Ancestor Implementation:} DataAbstractService_Impl, {Used RODLs:} DataAbstract4_Intf, {Generated:} FactuGES_Intf, uDADataTable, uDABINAdapter, uDAClasses, - uDAScriptingProvider, uDABusinessProcessor, uDADataStreamer; + uDAScriptingProvider, uDABusinessProcessor, uDADataStreamer, + uDABin2DataStreamer; type { TsrvTiposIVA } @@ -24,7 +25,7 @@ type schTiposIVA: TDASchema; DataDictionary: TDADataDictionary; bpTiposIVA: TDABusinessProcessor; - DABinDataStreamer: TDABinDataStreamer; + Bin2DataStreamer: TDABin2DataStreamer; procedure DARemoteServiceCreate(Sender: TObject); procedure DataAbstractServiceBeforeAcquireConnection(aSender: TObject; var aConnectionName: string); diff --git a/Source/Modulos/Tipos de IVA/Views/TiposIVA_view.dpk b/Source/Modulos/Tipos de IVA/Views/TiposIVA_view.dpk index 58780b3a..acf5d8a7 100644 --- a/Source/Modulos/Tipos de IVA/Views/TiposIVA_view.dpk +++ b/Source/Modulos/Tipos de IVA/Views/TiposIVA_view.dpk @@ -22,21 +22,16 @@ package TiposIVA_view; {$WRITEABLECONST OFF} {$MINENUMSIZE 1} {$IMAGEBASE $400000} -{$IMPLICITBUILD OFF} +{$IMPLICITBUILD ON} requires rtl, vcl, - dbrtl, - vcldb, - dsnap, - adortl, - DataAbstract_D10, Base, TiposIVA_model, TiposIVA_data, TiposIVA_controller, - JvCmpD10R; + JvCmpD11R; contains uTiposIVAViewRegister in 'uTiposIVAViewRegister.pas', diff --git a/Source/Modulos/Tipos de IVA/Views/TiposIVA_view.dproj b/Source/Modulos/Tipos de IVA/Views/TiposIVA_view.dproj index e694cb98..7d31171c 100644 --- a/Source/Modulos/Tipos de IVA/Views/TiposIVA_view.dproj +++ b/Source/Modulos/Tipos de IVA/Views/TiposIVA_view.dproj @@ -1,4 +1,5 @@ - + + {911c25fd-90ea-4e70-aa53-99f37be38b57} TiposIVA_view.dpk @@ -34,71 +35,24 @@ ..\..\..\Lib;..\..\Lib ..\..\..\Lib;..\..\Lib ..\..\..\Lib;..\..\Lib - DEBUG Delphi.Personality Package - - False - True - False - - - False - False - False - - - True - False - 1 - 0 - 0 - 0 - False - False - False - False - False - 3082 - 1252 - - - - - 1.0.0.0 - - - - - - 1.0.0.0 - - - - TiposIVA_view.dpk - - +FalseTrueFalseFalseFalseFalseTrueFalse1000FalseFalseFalseFalseFalse308212521.0.0.01.0.0.0TiposIVA_view.dpk - + MainSource - - - - - - - - - - - - + + + + + +
fEditorTipoIVA
@@ -106,490 +60,6 @@
fEditorTiposIVA
+
-
- - diff --git a/Source/Modulos/Tipos de IVA/Views/TiposIVA_view.rc b/Source/Modulos/Tipos de IVA/Views/TiposIVA_view.rc index e69de29b..153736af 100644 --- a/Source/Modulos/Tipos de IVA/Views/TiposIVA_view.rc +++ b/Source/Modulos/Tipos de IVA/Views/TiposIVA_view.rc @@ -0,0 +1,22 @@ +1 VERSIONINFO +FILEVERSION 1,0,0,0 +PRODUCTVERSION 1,0,0,0 +FILEFLAGSMASK 0x3FL +FILEFLAGS 0x00L +FILEOS 0x40004L +FILETYPE 0x1L +FILESUBTYPE 0x0L +BEGIN + BLOCK "StringFileInfo" + BEGIN + BLOCK "0C0A04E4" + BEGIN + VALUE "FileVersion", "1.0.0.0\0" + VALUE "ProductVersion", "1.0.0.0\0" + END + END + BLOCK "VarFileInfo" + BEGIN + VALUE "Translation", 0x0C0A, 1252 + END +END diff --git a/Source/Modulos/Tipos de IVA/Views/TiposIVA_view.res b/Source/Modulos/Tipos de IVA/Views/TiposIVA_view.res index 86c94e6ada7b3c85f6761b1ee234a9f34ef3c861..8b251f312bcccec5485024f6fe8d80e1cdf25746 100644 GIT binary patch delta 89 zcmX@0-oQLTLCJxUfkAA@>-7}euyEfF+`%$mH-*3IwZ-y~5+miKtn3_w^Pn$V^ zQ861nx4C)wN(Q~H#+K|o*@m~&(3=1I%Llk7>S*pvE7;Yjz^+ljNYba;|&8!P>=GYp<9J^QiRC`-*du(Wb zBJI+RemE@Tm2dSSKL$269_p-ia&WJ{$B|EYy#Bt1`fm?B(CB-l8nlXqgY!6fUOzP@ zr|Te|e4cZxgJWuLF8<`}dughP69?9a%ha4}r`jtX-7UCl^he&nV;_S<)Ya!2FlEJu zrr{t12%dXkNqpywX{@?Eb_MKs@29XRNI;2D%DxW zo|xv^jnf#kFIDZr^e=W==PW{#^6Ao{deqzuxId;ujOZ~3;otiwSzBXu3^t3 z&$C~D3=Umz@OQRR9+}nP>x>=u115dAI{rd2#Mbgv81-@e%IA6)a8SDwHm3Di`~F1x z)jhG~04Fd5o4f^Iah!WFIS0|E#)aohzS6onIG_;>-~Ytz3J0A}=DenTZ*cIo-Ves9 zp>qHmo5lV+rntk2He9_1!t%2yZsF;l)>iGc4jkU$0bBWEPmBKKP>uSjxhXIDsSodT z@EG|gFZa>|hHF!PaN};FzIxxlpPKT;87{i(!eu7T%H?}r^yeP=K2c}If`cyKd-3DW z_4ib`jDt-MZ?C~;z1O=EKN(!YbpFJR_c`u>(C=ph9O_Y*Jz5Z>`Zs7T9Mn$y@ay$^ z{gulxYxXwGq@TIGbG$~Hi*qk8?9|WMkNweF@MU18F;AQKZ>jcWAL86`f59r^Yh;+XfGU10gV*5=*FT)q#qz2B_Ik28(#vUlW{{>1m(1wXK3zHQ3+RoHfz^$cuqg(^F;eqz6WUMUE^m$ z9R1u2H_t9ue%}<_JcD5KB$svgjBysd-ql#|toxF$&>h1Qc)Vw6j~u{SeHg>my$i{SJtD^MnJV!{AK!ZgN9Q4bN2bs7?m1Qo zsLwc-c&GZ4_%7jWppm+9C(?(bpCye?f6Mv)ml~{r9)<=EoH5SYSxm8xsWZv%2MjL$ zd)R%{gxqI&lEaJ6!*jggJMcIz?<5?~hn@VA1Kzcrp$;C`m0CzQdy{!G?|FT$$5W3N zaydTsdE#>2dGSt*&wOX~r{!54?~lxS4gM|rOZH6mRCZMCP#!z)bEv-^up_gJ*i*BY zl>1d-%!E}5v+s{C_OF@Qj;!xrv5)P2yJ4TmKCqke`Aq-U;NJ}WpRu*&|7!3r$c7zU zF#m_6?>Cia!E%D)b;IaF{ zzPG~QEyw>z^LKm}whzS>Dx3Ct`1w98?Y5 BeforeAcquireConnection = DataAbstractServiceBeforeAcquireConnection Height = 160 @@ -50,7 +50,7 @@ object srvConfiguracion: TsrvConfiguracion Left = 40 Top = 16 end - object DABinDataStreamer: TDABinDataStreamer + object Bin2DataStreamer: TDABin2DataStreamer Left = 40 Top = 80 end diff --git a/Source/Servicios/srvConfiguracion_Impl.pas b/Source/Servicios/srvConfiguracion_Impl.pas index 27b93916..9f64d02c 100644 --- a/Source/Servicios/srvConfiguracion_Impl.pas +++ b/Source/Servicios/srvConfiguracion_Impl.pas @@ -12,19 +12,18 @@ interface uses {vcl:} Classes, SysUtils, {RemObjects:} uROClientIntf, uROTypes, uROServer, uROServerIntf, uROSessions, -// {Required:} uRORemoteDataModule, {Ancestor Implementation:} DataAbstractService_Impl, {Used RODLs:} DataAbstract4_Intf, -// {Generated:} FactuGES_Intf, uDAClasses; {Generated:} FactuGES_Intf, uDAClasses, uDAScriptingProvider, - uDABusinessProcessor, uDADataTable, uDABINAdapter, uDADataStreamer; + uDABusinessProcessor, uDADataTable, uDABINAdapter, uDADataStreamer, + uDABin2DataStreamer; type { TsrvConfiguracion } TsrvConfiguracion = class(TDataAbstractService, IsrvConfiguracion) schConfiguracion: TDASchema; - DABinDataStreamer: TDABinDataStreamer; + Bin2DataStreamer: TDABin2DataStreamer; procedure DARemoteServiceCreate(Sender: TObject); procedure DataAbstractServiceBeforeAcquireConnection(aSender: TObject; var aConnectionName: string); diff --git a/Source/Servicios/srvLogin_Impl.dfm b/Source/Servicios/srvLogin_Impl.dfm index 6911815b..dfe6364f 100644 --- a/Source/Servicios/srvLogin_Impl.dfm +++ b/Source/Servicios/srvLogin_Impl.dfm @@ -3,7 +3,7 @@ object srvLogin: TsrvLogin OnCreate = DataAbstractServiceCreate ConnectionName = 'IBX' ServiceSchema = schLogin - ServiceDataStreamer = DABinDataStreamer + ServiceDataStreamer = Bin2DataStreamer ExportedDataTables = <> BeforeAcquireConnection = DataAbstractServiceBeforeAcquireConnection Height = 300 @@ -16,12 +16,13 @@ object srvLogin: TsrvLogin item Name = 'ID_USUARIO' DataType = datInteger - Value = '' + Value = '1' ParamType = daptInput end> Statements = < item Connection = 'IBX' + TargetTable = 'EMPRESAS_USUARIOS' SQL = 'SELECT '#10' ID_EMPRESA'#10' FROM'#10' EMPRESAS_USUARIOS'#10' WHERE ID_U' + 'SUARIO = :ID_USUARIO' @@ -37,6 +38,7 @@ object srvLogin: TsrvLogin item Name = 'ID_EMPRESA' DataType = datInteger + InPrimaryKey = True end> end item @@ -44,7 +46,7 @@ object srvLogin: TsrvLogin item Name = 'ID_USUARIO' DataType = datInteger - Value = '' + Value = '1' ParamType = daptInput end> Statements = < @@ -86,6 +88,7 @@ object srvLogin: TsrvLogin Statements = < item Connection = 'IBX' + TargetTable = 'USUARIOS' SQL = 'SELECT'#10' ID'#10' FROM'#10' USUARIOS'#10' WHERE USUARIO = :USUARIO AND' + #10' PASS = :PASS AND'#10' ACTIVO = 1' @@ -101,6 +104,7 @@ object srvLogin: TsrvLogin item Name = 'ID' DataType = datInteger + InPrimaryKey = True end> end> JoinDataTables = <> @@ -138,7 +142,7 @@ object srvLogin: TsrvLogin Left = 40 Top = 24 end - object DABinDataStreamer: TDABinDataStreamer + object Bin2DataStreamer: TDABin2DataStreamer Left = 40 Top = 88 end diff --git a/Source/Servicios/srvLogin_Impl.pas b/Source/Servicios/srvLogin_Impl.pas index 529b192b..a73d90f9 100644 --- a/Source/Servicios/srvLogin_Impl.pas +++ b/Source/Servicios/srvLogin_Impl.pas @@ -16,7 +16,7 @@ uses {Ancestor Implementation:} DataAbstractService_Impl, {Used RODLs:} DataAbstract4_Intf, {Generated:} FactuGES_Intf, uDAClasses, uDAInterfaces, uDAEngine, - uDADataTable, uDABINAdapter, uROClient, uDADataStreamer; + uDADataTable, uDABINAdapter, uROClient, uDADataStreamer, uDABin2DataStreamer; const PERFIL_ADMINISTRADORES = 'Administradores'; @@ -24,8 +24,8 @@ const type { TsrvLogin } TsrvLogin = class(TDataAbstractService, IsrvLogin) + Bin2DataStreamer: TDABin2DataStreamer; schLogin: TDASchema; - DABinDataStreamer: TDABinDataStreamer; procedure DataAbstractServiceBeforeAcquireConnection(aSender: TObject; var aConnectionName: string); procedure DataAbstractServiceCreate(Sender: TObject); @@ -39,6 +39,7 @@ type implementation {$R *.dfm} + uses {Generated:} FactuGES_Invk, uDataModuleServer, Dialogs, IB, Variants, uSesionesUtils; diff --git a/Source/Servidor/Configuracion/uConexionOSC.dfm b/Source/Servidor/Configuracion/uConexionOSC.dfm deleted file mode 100644 index 2bf4f318..00000000 --- a/Source/Servidor/Configuracion/uConexionOSC.dfm +++ /dev/null @@ -1,55 +0,0 @@ -inherited frConexionOSC: TfrConexionOSC - object GroupBox1: TGroupBox - Left = 8 - Top = 8 - Width = 333 - Height = 169 - Caption = 'Configuraci'#243'n de la tienda' - TabOrder = 0 - object Label1: TLabel - Left = 31 - Top = 36 - Width = 67 - Height = 13 - Alignment = taRightJustify - Caption = 'Origen ODBC:' - end - object edtBDSERVER: TcxTextEdit - Left = 104 - Top = 32 - Style.LookAndFeel.Kind = lfStandard - Style.LookAndFeel.NativeStyle = True - StyleDisabled.LookAndFeel.Kind = lfStandard - StyleDisabled.LookAndFeel.NativeStyle = True - StyleFocused.LookAndFeel.Kind = lfStandard - StyleFocused.LookAndFeel.NativeStyle = True - StyleHot.LookAndFeel.Kind = lfStandard - StyleHot.LookAndFeel.NativeStyle = True - TabOrder = 0 - Text = 'edtBDSERVER' - Width = 209 - end - end - object bComprobar: TButton - Left = 180 - Top = 191 - Width = 161 - Height = 25 - Action = actComprobar - TabOrder = 1 - end - object ActionList1: TActionList - Left = 24 - Top = 24 - object actAceptar: TAction - Caption = '&Aceptar' - end - object actCancelar: TAction - Caption = '&Cancelar' - end - object actComprobar: TAction - Caption = 'Comprobar la conexi'#243'n' - OnExecute = actComprobarExecute - end - end -end diff --git a/Source/Servidor/Configuracion/uConexionOSC.pas b/Source/Servidor/Configuracion/uConexionOSC.pas deleted file mode 100644 index c1d38fe4..00000000 --- a/Source/Servidor/Configuracion/uConexionOSC.pas +++ /dev/null @@ -1,61 +0,0 @@ -unit uConexionOSC; - -interface - -uses - Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, - Dialogs, uFrameConfiguracion, ActnList, StdCtrls, cxControls, cxContainer, - cxEdit, cxTextEdit, cxDBEdit, DB; - -type - TfrConexionOSC = class(TFrameConfiguracion) - GroupBox1: TGroupBox; - Label1: TLabel; - bComprobar: TButton; - ActionList1: TActionList; - actAceptar: TAction; - actCancelar: TAction; - actComprobar: TAction; - edtBDSERVER: TcxTextEdit; - procedure actComprobarExecute(Sender: TObject); - protected - procedure Finalize; override; - public - procedure Init; override; - end; - -var - frConexionOSC: TfrConexionOSC; - -implementation - -uses -// uTiendaWebUtils, - uDataModuleServer; - -{$R *.dfm} - -procedure TfrConexionOSC.actComprobarExecute(Sender: TObject); -var - AErrorMsg : String; -begin -{ - if HayConexionConTienda(edtBDSERVER.Text, AErrorMsg) then - ShowMessage('Conexión válida con la tienda') - else - ShowMessage('No se ha podido establecer la conexión con la tienda web.' + - #10#13 + #10#13 + AErrorMsg); -} -end; - -procedure TfrConexionOSC.Finalize; -begin - dmServer.FOSCServer := edtBDSERVER.Text; -end; - -procedure TfrConexionOSC.Init; -begin - edtBDSERVER.Text := dmServer.FOSCServer; -end; - -end. diff --git a/Source/Servidor/Configuracion/uConfiguracion.dfm b/Source/Servidor/Configuracion/uConfiguracion.dfm index 3a36bc11..9120b1bd 100644 --- a/Source/Servidor/Configuracion/uConfiguracion.dfm +++ b/Source/Servidor/Configuracion/uConfiguracion.dfm @@ -40,7 +40,7 @@ object fConfiguracion: TfConfiguracion Top = 8 Width = 399 Height = 289 - ActivePage = TabSheet1 + ActivePage = pagGeneral Images = PngImageList1 TabOrder = 2 OnChange = PageControl1Change @@ -76,39 +76,6 @@ object fConfiguracion: TfConfiguracion ExplicitHeight = 260 end end - object TabSheet1: TTabSheet - Caption = 'Tienda web' - ImageIndex = 2 - inline frConexionOSC1: TfrConexionOSC - Left = 0 - Top = 0 - Width = 391 - Height = 260 - Align = alClient - TabOrder = 0 - ExplicitWidth = 349 - ExplicitHeight = 233 - inherited GroupBox1: TGroupBox - Width = 373 - ExplicitWidth = 373 - end - inherited bComprobar: TButton - Left = 220 - ExplicitLeft = 220 - end - inherited ActionList1: TActionList - inherited actAceptar: TAction - OnExecute = nil - end - inherited actCancelar: TAction - OnExecute = nil - end - inherited actComprobar: TAction - OnUpdate = nil - end - end - end - end end object ActionList1: TActionList Left = 8 diff --git a/Source/Servidor/Configuracion/uConfiguracion.pas b/Source/Servidor/Configuracion/uConfiguracion.pas index 79b929d7..9bbbf59e 100644 --- a/Source/Servidor/Configuracion/uConfiguracion.pas +++ b/Source/Servidor/Configuracion/uConfiguracion.pas @@ -8,7 +8,7 @@ uses JvAppStorage, JvAppRegistryStorage, Contnrs, ExtCtrls, ImgList, PngImageList, JvExControls, JvGradientHeaderPanel, uFrameConfiguracion, JvComponentBase, JvPageList, JvExComCtrls, JvPageListTreeView, - uConexionBD, uConfGeneral, uConexionOSC; + uConexionBD, uConfGeneral; type TfConfiguracion = class(TForm) @@ -24,8 +24,6 @@ type pagGeneral: TTabSheet; pagBD: TTabSheet; frConexionBD1: TfrConexionBD; - TabSheet1: TTabSheet; - frConexionOSC1: TfrConexionOSC; procedure actAceptarExecute(Sender: TObject); procedure actCancelarExecute(Sender: TObject); procedure FormShow(Sender: TObject); @@ -95,7 +93,6 @@ begin case PageControl1.ActivePageIndex of 0 : FPaginaActual := frConfGeneral1; 1 : FPaginaActual := frConexionBD1; - 2 : FPaginaActual := frConexionOSC1; end; if Assigned(FPaginaActual) then diff --git a/Source/Servidor/FactuGES_Server.RES b/Source/Servidor/FactuGES_Server.RES index 841b309879988f39c6c7fb447846ad18e31420b6..0115a09571d9148dd8592831de6ed8d90d531f13 100644 GIT binary patch delta 27 hcmdn6m2m?Q8ALH!PBx4(WH)E9VlZMbpPU)x4gi7P2o3-M delta 27 hcmdn6m2m?Q8ALG}O*V`&WH)25VlZH^oSYfu4gi5z2nGNE diff --git a/Source/Servidor/FactuGES_Server.dpr b/Source/Servidor/FactuGES_Server.dpr index 3d616113..b08d6ac2 100644 --- a/Source/Servidor/FactuGES_Server.dpr +++ b/Source/Servidor/FactuGES_Server.dpr @@ -40,10 +40,10 @@ uses schTiposIVAServer_Intf in '..\Modulos\Tipos de IVA\Model\schTiposIVAServer_Intf.pas', schFormasPagoServer_Intf in '..\Modulos\Formas de pago\Model\schFormasPagoServer_Intf.pas', schFormasPagoClient_Intf in '..\Modulos\Formas de pago\Model\schFormasPagoClient_Intf.pas', - uConexionOSC in 'Configuracion\uConexionOSC.pas' {frConexionOSC: TFrame}, uSchemaUtilsServer in 'Utiles\uSchemaUtilsServer.pas', schContactosClient_Intf in '..\Modulos\Contactos\Model\schContactosClient_Intf.pas', - schContactosServer_Intf in '..\Modulos\Contactos\Model\schContactosServer_Intf.pas'; + schContactosServer_Intf in '..\Modulos\Contactos\Model\schContactosServer_Intf.pas', + RegExpr in 'Utiles\RegExpr.pas'; {$R *.res} {$R ..\Servicios\RODLFile.res} diff --git a/Source/Servidor/FactuGES_Server.dproj b/Source/Servidor/FactuGES_Server.dproj index cf6d525c..aaded3e9 100644 --- a/Source/Servidor/FactuGES_Server.dproj +++ b/Source/Servidor/FactuGES_Server.dproj @@ -1,144 +1,129 @@ - - - {ebdcd25d-40d7-4146-91ec-a0ea4aa1dcd1} - FactuGES_Server.dpr - Debug - AnyCPU - DCC32 - ..\..\Output\Debug\Servidor\FactuGES_Server.exe - - - 7.0 - False - False - 0 - 3 - ..\..\Output\Relase\Servidor - ..\Lib;..\Base - ..\Lib;..\Base - ..\Lib;..\Base - ..\Lib;..\Base - RELEASE - .\ - .\ - .\ - - - 7.0 - 3 - ..\..\Output\Debug\Servidor - ..\Lib;..\Base - ..\Lib;..\Base - ..\Lib;..\Base - ..\Lib;..\Base - DEBUG - .\ - .\ - .\ - - - Delphi.Personality - - -FalseTrueFalseTrueFalse3000FalseFalseFalseFalseFalse308212523.0.0.0martes, 28 de agosto de 2007 17:06 - - - - - - - - - - - - - - - CodeGear WebSnap Components - CodeGear SOAP Components - Microsoft Office XP Sample Automation Server Wrapper Components - Microsoft Office 2000 Sample Automation Server Wrapper Components - CodeGear C++Builder Office 2000 Servers Package - CodeGear C++Builder Office XP Servers Package - FactuGES_Server.dpr - - - - - MainSource - - - - - - - - -
srvContactos
-
- - - - - - -
srvFamilias
-
- - - -
srvFormasPago
-
- - - -
srvTiposIVA
-
- - - -
srvConfiguracion
-
- - -
frConexionBD
-
- -
frConexionOSC
-
- -
frConfGeneral
-
- -
fConfiguracion
-
- -
FrameConfiguracion
-
- -
fAcercaDe
-
- -
dmServer
-
- -
fServerForm
-
- - - - - - - - -
+ + + + {ebdcd25d-40d7-4146-91ec-a0ea4aa1dcd1} + FactuGES_Server.dpr + Debug + AnyCPU + DCC32 + ..\..\Output\Debug\Servidor\FactuGES_Server.exe + + + 7.0 + False + False + 0 + 3 + ..\..\Output\Relase\Servidor + ..\Lib;..\Base + ..\Lib;..\Base + ..\Lib;..\Base + ..\Lib;..\Base + RELEASE + .\ + .\ + .\ + + + 7.0 + 3 + ..\..\Output\Debug\Servidor + ..\Lib;..\Base + ..\Lib;..\Base + ..\Lib;..\Base + ..\Lib;..\Base + DEBUG; + .\ + .\ + .\ + + + Delphi.Personality + + + FalseTrueFalseTrueFalse3000FalseFalseFalseFalseFalse308212523.0.0.03.0.0.0lunes, 17 de septiembre de 2007 12:28 + CodeGear WebSnap Components + CodeGear SOAP Components + Microsoft Office XP Sample Automation Server Wrapper Components + Microsoft Office 2000 Sample Automation Server Wrapper Components + CodeGear C++Builder Office 2000 Servers Package + CodeGear C++Builder Office XP Servers Package + FactuGES_Server.dpr + + + + + MainSource + + + + + + + + +
srvContactos
+
+ + + + + + +
srvFamilias
+
+ + + +
srvFormasPago
+
+ + + +
srvTiposIVA
+
+ + + +
srvConfiguracion
+
+ + +
frConexionBD
+
+ +
frConfGeneral
+
+ +
fConfiguracion
+
+ +
FrameConfiguracion
+
+ +
fAcercaDe
+
+ +
dmServer
+
+ +
fServerForm
+
+ + + + + + + + + +
diff --git a/Source/Servidor/FactuGES_Server.drc b/Source/Servidor/FactuGES_Server.drc index 53803e4a..accb1d55 100644 --- a/Source/Servidor/FactuGES_Server.drc +++ b/Source/Servidor/FactuGES_Server.drc @@ -1,5 +1,5 @@ -/* VER180 - Generated by the Borland Delphi Pascal Compiler +/* VER185 + Generated by the CodeGear Delphi Pascal Compiler because -GD or --drc was supplied to the compiler. This file contains compiler-generated resources that @@ -8,846 +8,791 @@ resources were bound to the produced executable. */ -#define cxEditConsts_scxRegExprNotCompiled 64432 -#define cxEditConsts_scxRegExprIncorrectParameterQuantifier 64433 -#define cxEditConsts_scxRegExprCantUseParameterQuantifier 64434 -#define cxEditConsts_scxMaskEditRegExprError 64435 -#define cxEditConsts_scxMaskEditInvalidEditValue 64436 -#define cxEditConsts_cxSSpinEditInvalidNumericValue 64437 -#define cxEditConsts_scxRegExprEmptySourceStream 64448 -#define cxEditConsts_scxRegExprCantUsePlusQuantifier 64449 -#define cxEditConsts_scxRegExprCantUseStarQuantifier 64450 -#define cxEditConsts_scxRegExprCantCreateEmptyAlt 64451 -#define cxEditConsts_scxRegExprCantCreateEmptyBlock 64452 -#define cxEditConsts_scxRegExprIllegalSymbol 64453 -#define cxEditConsts_scxRegExprIllegalQuantifier 64454 -#define cxEditConsts_scxRegExprIllegalIntegerValue 64455 -#define cxEditConsts_scxRegExprTooBigReferenceNumber 64456 -#define cxEditConsts_scxRegExprCantCreateEmptyEnum 64457 -#define cxEditConsts_scxRegExprSubrangeOrder 64458 -#define cxEditConsts_scxRegExprHexNumberExpected0 64459 -#define cxEditConsts_scxRegExprHexNumberExpected 64460 -#define cxEditConsts_scxRegExprMissing 64461 -#define cxEditConsts_scxRegExprUnnecessary 64462 -#define cxEditConsts_scxRegExprIncorrectSpace 64463 -#define cxEditConsts_scxSEditRepositoryCurrencyItem 64464 -#define cxEditConsts_scxSEditRepositoryDateItem 64465 -#define cxEditConsts_scxSEditRepositoryHyperLinkItem 64466 -#define cxEditConsts_scxSEditRepositoryImageComboBoxItem 64467 -#define cxEditConsts_scxSEditRepositoryImageItem 64468 -#define cxEditConsts_scxSEditRepositoryMaskItem 64469 -#define cxEditConsts_scxSEditRepositoryMemoItem 64470 -#define cxEditConsts_scxSEditRepositoryMRUItem 64471 -#define cxEditConsts_scxSEditRepositoryPopupItem 64472 -#define cxEditConsts_scxSEditRepositorySpinItem 64473 -#define cxEditConsts_scxSEditRepositoryRadioGroupItem 64474 -#define cxEditConsts_scxSEditRepositoryTextItem 64475 -#define cxEditConsts_scxSEditRepositoryTimeItem 64476 -#define cxEditConsts_scxRegExprLine 64477 -#define cxEditConsts_scxRegExprChar 64478 -#define cxEditConsts_scxRegExprNotAssignedSourceStream 64479 -#define cxEditConsts_cxSDateSecond 64480 -#define cxEditConsts_cxSDateThird 64481 -#define cxEditConsts_cxSDateFourth 64482 -#define cxEditConsts_cxSDateFifth 64483 -#define cxEditConsts_cxSDateSixth 64484 -#define cxEditConsts_cxSDateSeventh 64485 -#define cxEditConsts_cxSDateBOM 64486 -#define cxEditConsts_cxSDateEOM 64487 -#define cxEditConsts_cxSDateNow 64488 -#define cxEditConsts_scxSCalcError 64489 -#define cxEditConsts_scxSHyperLinkPrefix 64490 -#define cxEditConsts_scxSEditRepositoryBlobItem 64491 -#define cxEditConsts_scxSEditRepositoryButtonItem 64492 -#define cxEditConsts_scxSEditRepositoryCalcItem 64493 -#define cxEditConsts_scxSEditRepositoryCheckBoxItem 64494 -#define cxEditConsts_scxSEditRepositoryComboBoxItem 64495 -#define cxEditConsts_cxSDatePopupClear 64496 -#define cxEditConsts_cxSDatePopupNow 64497 -#define cxEditConsts_cxSDatePopupOK 64498 -#define cxEditConsts_cxSDatePopupToday 64499 -#define cxEditConsts_cxSDateError 64500 -#define cxEditConsts_cxSDateToday 64501 -#define cxEditConsts_cxSDateYesterday 64502 -#define cxEditConsts_cxSDateTomorrow 64503 -#define cxEditConsts_cxSDateSunday 64504 -#define cxEditConsts_cxSDateMonday 64505 -#define cxEditConsts_cxSDateTuesday 64506 -#define cxEditConsts_cxSDateWednesday 64507 -#define cxEditConsts_cxSDateThursday 64508 -#define cxEditConsts_cxSDateFriday 64509 -#define cxEditConsts_cxSDateSaturday 64510 -#define cxEditConsts_cxSDateFirst 64511 -#define cxEditConsts_cxSEditCheckBoxGrayed 64512 -#define cxEditConsts_cxSEditCheckBoxUnchecked 64513 -#define cxEditConsts_cxSRadioGroupDefaultCaption 64514 -#define cxEditConsts_cxSBlobButtonOK 64515 -#define cxEditConsts_cxSBlobButtonCancel 64516 -#define cxEditConsts_cxSBlobButtonClose 64517 -#define cxEditConsts_cxSBlobMemo 64518 -#define cxEditConsts_cxSBlobMemoEmpty 64519 -#define cxEditConsts_cxSBlobPicture 64520 -#define cxEditConsts_cxSBlobPictureEmpty 64521 -#define cxEditConsts_cxSMenuItemCaptionCut 64522 -#define cxEditConsts_cxSMenuItemCaptionCopy 64523 -#define cxEditConsts_cxSMenuItemCaptionPaste 64524 -#define cxEditConsts_cxSMenuItemCaptionDelete 64525 -#define cxEditConsts_cxSMenuItemCaptionLoad 64526 -#define cxEditConsts_cxSMenuItemCaptionSave 64527 -#define pnglang_EPNGNoImageDataText 64528 -#define pnglang_EPNGCannotChangeSizeText 64529 -#define pnglang_EPNGCannotAddChunkText 64530 -#define pnglang_EPNGCannotAddInvalidImageText 64531 -#define pnglang_EPNGOutMemoryText 64532 -#define pnglang_EPNGHeaderNotPresentText 64533 -#define cxDataConsts_cxSDataReadError 64534 -#define cxDataConsts_cxSDataWriteError 64535 -#define cxEditConsts_cxSEditDateConvertError 64536 -#define cxEditConsts_cxSEditInvalidRepositoryItem 64537 -#define cxEditConsts_cxSEditNumericValueConvertError 64538 -#define cxEditConsts_cxSEditPopupCircularReferencingError 64539 -#define cxEditConsts_cxSEditTimeConvertError 64540 -#define cxEditConsts_cxSEditValidateErrorText 64541 -#define cxEditConsts_cxSEditValueOutOfBounds 64542 -#define cxEditConsts_cxSEditCheckBoxChecked 64543 -#define ADOConst_sNameAttr 64544 -#define ADOConst_sValueAttr 64545 -#define pnglang_EPngInvalidCRCText 64546 -#define pnglang_EPNGInvalidIHDRText 64547 -#define pnglang_EPNGMissingMultipleIDATText 64548 -#define pnglang_EPNGZLIBErrorText 64549 -#define pnglang_EPNGInvalidPaletteText 64550 -#define pnglang_EPNGInvalidFileHeaderText 64551 -#define pnglang_EPNGIHDRNotFirstText 64552 -#define pnglang_EPNGSizeExceedsText 64553 -#define pnglang_EPNGUnknownPalEntryText 64554 -#define pnglang_EPNGUnknownCriticalChunkText 64555 -#define pnglang_EPNGUnknownCompressionText 64556 -#define pnglang_EPNGUnknownInterlaceText 64557 -#define pnglang_EPNGCannotAssignChunkText 64558 -#define pnglang_EPNGUnexpectedEndText 64559 -#define IBSQLMonitor_StrRollback 64560 -#define IBSQLMonitor_StrRollbackRetainin 64561 -#define IBSQLMonitor_StrStartTransaction 64562 -#define IBSQLMonitor_StrApplication 64563 -#define ADOConst_SMissingConnection 64564 -#define ADOConst_SNoDetailFilter 64565 -#define ADOConst_SBookmarksRequired 64566 -#define ADOConst_SMissingCommandText 64567 -#define ADOConst_SNoResultSet 64568 -#define ADOConst_SADOCreateError 64569 -#define ADOConst_SEventsNotSupported 64570 -#define ADOConst_SUsupportedFieldType 64571 -#define ADOConst_SConnectionRequired 64572 -#define ADOConst_SCantRequery 64573 -#define ADOConst_SNoFilterOptions 64574 -#define ADOConst_SRecordsetNotOpen 64575 -#define IBSQLMonitor_StrDisconnect 64576 -#define IBSQLMonitor_StrMisc 64577 -#define IBSQLMonitor_StrError 64578 -#define IBSQLMonitor_StrAttach 64579 -#define IBSQLMonitor_StrDetach 64580 -#define IBSQLMonitor_StrQuery 64581 -#define IBSQLMonitor_StrStart 64582 -#define IBSQLMonitor_StrExecute 64583 -#define IBSQLMonitor_StrNULL 64584 -#define IBSQLMonitor_StrBLOB 64585 -#define IBSQLMonitor_StrFetch 64586 -#define IBSQLMonitor_StrPrepare 64587 -#define IBSQLMonitor_StrPlan 64588 -#define IBSQLMonitor_StrPlanCantRetrive 64589 -#define IBSQLMonitor_StrCommitHardComm 64590 -#define IBSQLMonitor_StrCommitRetaining 64591 -#define IBXConst_SOptionNeedsServer 64592 -#define IBXConst_SInvalidOption 64593 -#define IBXConst_SInvalidOnErrorResult 64594 -#define IBXConst_SInvalidOnStatusResult 64595 -#define IBXConst_SDPBConstantUnknownEx 64596 -#define IBXConst_STPBConstantUnknownEx 64597 -#define IBXConst_SUnknownPlan 64598 -#define IBXConst_SFieldSizeMismatch 64599 -#define IBXConst_SEventAlreadyRegistered 64600 -#define IBXConst_SStringTooLarge 64601 -#define IBXConst_SNoTimers 64602 -#define IBXConst_SIB65feature 64603 -#define IBXConst_SLoginPromptFailure 64604 -#define IBXConst_SIB70feature 64605 -#define IBXConst_SIB71feature 64606 -#define IBSQLMonitor_StrConnect 64607 -#define IBXConst_SStartParamsError 64608 -#define IBXConst_SOutputParsingError 64609 -#define IBXConst_SUseSpecificProcedures 64610 -#define IBXConst_SSQLMonitorAlreadyPresent 64611 -#define IBXConst_SCantPrintValue 64612 -#define IBXConst_SEOFReached 64613 -#define IBXConst_SEOFInComment 64614 -#define IBXConst_SEOFInString 64615 -#define IBXConst_SParamNameExpected 64616 -#define IBXConst_SSuccess 64617 -#define IBXConst_SDelphiException 64618 -#define IBXConst_SNoOptionsSet 64619 -#define IBXConst_SNoDestinationDirectory 64620 -#define IBXConst_SNosourceDirectory 64621 -#define IBXConst_SNoUninstallFile 64622 -#define IBXConst_SOptionNeedsClient 64623 -#define IBXConst_STableNameMismatch 64624 -#define IBXConst_SIndexFieldMissing 64625 -#define IBXConst_SInvalidCancellation 64626 -#define IBXConst_SInvalidEvent 64627 -#define IBXConst_SMaximumEvents 64628 -#define IBXConst_SNoEventsRegistered 64629 -#define IBXConst_SInvalidQueueing 64630 -#define IBXConst_SInvalidRegistration 64631 -#define IBXConst_SInvalidBatchMove 64632 -#define IBXConst_SSQLDialectInvalid 64633 -#define IBXConst_SSPBConstantNotSupported 64634 -#define IBXConst_SSPBConstantUnknown 64635 -#define IBXConst_SServiceActive 64636 -#define IBXConst_SServiceInActive 64637 -#define IBXConst_SServerNameMissing 64638 -#define IBXConst_SQueryParamsError 64639 -#define IBXConst_SCantEndSharedTransaction 64640 -#define IBXConst_SFieldUnsupportedType 64641 -#define IBXConst_SCircularDataLink 64642 -#define IBXConst_SEmptySQLStatement 64643 -#define IBXConst_SIsASelectStatement 64644 -#define IBXConst_SRequiredParamNotSet 64645 -#define IBXConst_SNoStoredProcName 64646 -#define IBXConst_SIsAExecuteProcedure 64647 -#define IBXConst_SUpdateFailed 64648 -#define IBXConst_SNotCachedUpdates 64649 -#define IBXConst_SNotLiveRequest 64650 -#define IBXConst_SNoProvider 64651 -#define IBXConst_SNoRecordsAffected 64652 -#define IBXConst_SNoTableName 64653 -#define IBXConst_SCannotCreatePrimaryIndex 64654 -#define IBXConst_SCannotDropSystemIndex 64655 -#define IBXConst_SFieldNotFound 64656 -#define IBXConst_SNotEditing 64657 -#define IBXConst_SCannotInsert 64658 -#define IBXConst_SCannotPost 64659 -#define IBXConst_SCannotUpdate 64660 -#define IBXConst_SCannotDelete 64661 -#define IBXConst_SCannotRefresh 64662 -#define IBXConst_SBufferNotSet 64663 -#define IBXConst_SCircularReference 64664 -#define IBXConst_SSQLParseError 64665 -#define IBXConst_SUserAbort 64666 -#define IBXConst_SDataSetUniDirectional 64667 -#define IBXConst_SCannotCreateSharedResource 64668 -#define IBXConst_SWindowsAPIError 64669 -#define IBXConst_SColumnListsDontMatch 64670 -#define IBXConst_SColumnTypesDontMatch 64671 -#define IBXConst_SInvalidStatementHandle 64672 -#define IBXConst_SSQLOpen 64673 -#define IBXConst_SSQLClosed 64674 -#define IBXConst_SDatasetOpen 64675 -#define IBXConst_SDatasetClosed 64676 -#define IBXConst_SUnknownSQLDataType 64677 -#define IBXConst_SInvalidColumnIndex 64678 -#define IBXConst_SInvalidParamColumnIndex 64679 -#define IBXConst_SInvalidDataConversion 64680 -#define IBXConst_SColumnIsNotNullable 64681 -#define IBXConst_SBlobCannotBeRead 64682 -#define IBXConst_SBlobCannotBeWritten 64683 -#define IBXConst_SEmptyQuery 64684 -#define IBXConst_SCannotOpenNonSQLSelect 64685 -#define IBXConst_SNoFieldAccess 64686 -#define IBXConst_SFieldReadOnly 64687 -#define IBXConst_STPBConstantUnknown 64688 -#define IBXConst_SDatabaseClosed 64689 -#define IBXConst_SDatabaseOpen 64690 -#define IBXConst_SDatabaseNameMissing 64691 -#define IBXConst_SNotInTransaction 64692 -#define IBXConst_SInTransaction 64693 -#define IBXConst_STimeoutNegative 64694 -#define IBXConst_SNoDatabasesInTransaction 64695 -#define IBXConst_SUpdateWrongDB 64696 -#define IBXConst_SUpdateWrongTR 64697 -#define IBXConst_SDatabaseNotAssigned 64698 -#define IBXConst_STransactionNotAssigned 64699 -#define IBXConst_SXSQLDAIndexOutOfRange 64700 -#define IBXConst_SXSQLDANameDoesNotExist 64701 -#define IBXConst_SEOF 64702 -#define IBXConst_SBOF 64703 -#define VDBConsts_SRefreshRecord 64704 -#define VDBConsts_SRemoteLogin 64705 -#define IBXConst_SUnknownError 64706 -#define IBXConst_SInterBaseMissing 64707 -#define IBXConst_SInterBaseInstallMissing 64708 -#define IBXConst_SIB60feature 64709 -#define IBXConst_SNotSupported 64710 -#define IBXConst_SNotPermitted 64711 -#define IBXConst_SFileAccessError 64712 -#define IBXConst_SConnectionTimeout 64713 -#define IBXConst_SCannotSetDatabase 64714 -#define IBXConst_SCannotSetTransaction 64715 -#define IBXConst_SOperationCancelled 64716 -#define IBXConst_SDPBConstantNotSupported 64717 -#define IBXConst_SDPBConstantUnknown 64718 -#define IBXConst_STPBConstantNotSupported 64719 -#define uDARes_err_DARDMConnectionIsNotAssigned 64720 -#define uDARes_err_DARDMCannotFindProxessorForDelta 64721 -#define uDARes_err_NeedShareMem 64722 -#define uDARes_err_ExecuteSQLCommandNotAllowed 64723 -#define uDARes_err_DatasetNotAccessible 64724 -#define uDARes_err_CommandNotAccessible 64725 -#define uDARes_err_SQLNotPermitted 64726 -#define VDBConsts_SFirstRecord 64727 -#define VDBConsts_SPriorRecord 64728 -#define VDBConsts_SNextRecord 64729 -#define VDBConsts_SLastRecord 64730 -#define VDBConsts_SInsertRecord 64731 -#define VDBConsts_SDeleteRecord 64732 -#define VDBConsts_SEditRecord 64733 -#define VDBConsts_SPostEdit 64734 -#define VDBConsts_SCancelEdit 64735 -#define uDARes_err_CannotFindItem 64736 -#define uDARes_err_DriverAlreadyLoaded 64737 -#define uDARes_err_InvalidDLL 64738 -#define uDARes_err_UnknownDriver 64739 -#define uDARes_err_FieldIsNotBound 64740 -#define uDARes_err_CannotFindField 64741 -#define uDARes_err_LoadPackageFailed 64742 -#define uDARes_err_InvalidDriverReference 64743 -#define uDARes_err_CannotFindStatement 64744 -#define uDARes_err_CannotFindDefaultItem 64745 -#define uDARes_err_PoolIsNotEmpty 64746 -#define uDARes_err_MaxPoolSizeReached 64747 -#define uDARes_err_LAMEDataset 64748 -#define uDARes_err_HETConnectionNotSupportedInV3 64749 -#define uDARes_err_DARDMInvalidSchema 64750 -#define uDARes_err_DARDMUnassignedAdapter 64751 -#define JvResources_RsCl3DDkShadow 64752 -#define JvResources_RsCl3DLight 64753 -#define JvResources_RsClInfoText 64754 -#define JvResources_RsClInfoBk 64755 -#define JvResources_RsGradientActiveCaption 64756 -#define JvResources_RsGradientInactiveCaption 64757 -#define JvResources_RsHotLight 64758 -#define JvResources_RsMenuBar 64759 -#define JvResources_RsMenuHighlight 64760 -#define uDARes_err_ChangeLogAlreadyStarted 64761 -#define uDARes_err_NotAttachedToDataTable 64762 -#define uDARes_err_DriverProcAlreadyRegistered 64763 -#define uDARes_err_DriverManagerAlreadyCreated 64764 -#define uDARes_err_DriverManagerNotAssigned 64765 -#define uDARes_err_FieldTypeNotSupported 64766 -#define uDARes_err_InvalidDataset 64767 -#define JvResources_RsClWindow 64768 -#define JvResources_RsClWindowFrame 64769 -#define JvResources_RsClMenuText 64770 -#define JvResources_RsClWindowText 64771 -#define JvResources_RsClCaptionText 64772 -#define JvResources_RsClActiveBorder 64773 -#define JvResources_RsClInactiveBorder 64774 -#define JvResources_RsClAppWorkSpace 64775 -#define JvResources_RsClHighlight 64776 -#define JvResources_RsClHighlightText 64777 -#define JvResources_RsClBtnFace 64778 -#define JvResources_RsClBtnShadow 64779 -#define JvResources_RsClGrayText 64780 -#define JvResources_RsClBtnText 64781 -#define JvResources_RsClInactiveCaptionText 64782 -#define JvResources_RsClBtnHighlight 64783 -#define JvResources_RsClBrightGreen 64784 -#define JvResources_RsClTurquoise 64785 -#define JvResources_RsClPlum 64786 -#define JvResources_RsClGray25 64787 -#define JvResources_RsClRose 64788 -#define JvResources_RsClTan 64789 -#define JvResources_RsClLightYellow 64790 -#define JvResources_RsClLightGreen 64791 -#define JvResources_RsClLightTurquoise 64792 -#define JvResources_RsClPaleBlue 64793 -#define JvResources_RsClLavender 64794 -#define JvResources_RsClScrollBar 64795 -#define JvResources_RsClBackground 64796 -#define JvResources_RsClActiveCaption 64797 -#define JvResources_RsClInactiveCaption 64798 -#define JvResources_RsClMenu 64799 -#define JvResources_RsClDarkTeal 64800 -#define JvResources_RsClDarkBlue 64801 -#define JvResources_RsClIndigo 64802 -#define JvResources_RsClGray80 64803 -#define JvResources_RsClDarkRed 64804 -#define JvResources_RsClOrange 64805 -#define JvResources_RsClDarkYellow 64806 -#define JvResources_RsClBlueGray 64807 -#define JvResources_RsClGray50 64808 -#define JvResources_RsClLightOrange 64809 -#define JvResources_RsClSeaGreen 64810 -#define JvResources_RsClLightBlue 64811 -#define JvResources_RsClViolet 64812 -#define JvResources_RsClGray40 64813 -#define JvResources_RsClPink 64814 -#define JvResources_RsClGold 64815 -#define JvResources_RsClGray 64816 -#define JvResources_RsClSilver 64817 -#define JvResources_RsClRed 64818 -#define JvResources_RsClLime 64819 -#define JvResources_RsClYellow 64820 -#define JvResources_RsClBlue 64821 -#define JvResources_RsClFuchsia 64822 -#define JvResources_RsClAqua 64823 -#define JvResources_RsClWhite 64824 -#define JvResources_RsClMoneyGreen 64825 -#define JvResources_RsClSkyBlue 64826 -#define JvResources_RsClCream 64827 -#define JvResources_RsClMedGray 64828 -#define JvResources_RsClBrown 64829 -#define JvResources_RsClOliveGreen 64830 -#define JvResources_RsClDarkGreen 64831 -#define JvResources_RsENoGIFData 64832 -#define JvResources_RsEUnrecognizedGIFExt 64833 -#define JvResources_RsEWrongGIFColors 64834 -#define JvResources_RsEBadGIFCodeSize 64835 -#define JvResources_RsEGIFDecodeError 64836 -#define JvResources_RsEGIFEncodeError 64837 -#define JvResources_RsEGIFVersion 64838 -#define JvResources_RsEPixelFormatNotImplemented 64839 -#define JvResources_RsEBitCountNotImplemented 64840 -#define JvResources_RsClBlack 64841 -#define JvResources_RsClMaroon 64842 -#define JvResources_RsClGreen 64843 -#define JvResources_RsClOlive 64844 -#define JvResources_RsClNavy 64845 -#define JvResources_RsClPurple 64846 -#define JvResources_RsClTeal 64847 -#define JclResources_RsIntelCacheDescrB3 64848 -#define JclResources_RsIntelCacheDescrB4 64849 -#define JclResources_RsIntelCacheDescrF0 64850 -#define JclResources_RsIntelCacheDescrF1 64851 -#define JvResources_RsAniExtension 64852 -#define JvResources_RsAniFilterName 64853 -#define JvResources_RsRootValueReplaceFmt 64854 -#define JvResources_RsEUnableToCreateKey 64855 -#define JvResources_RsEEnumeratingRegistry 64856 -#define JvResources_RsEInvalidType 64857 -#define JvResources_RsEUnknownBaseType 64858 -#define JvResources_RsEInvalidPath 64859 -#define JvResources_RsENotAUniqueRootPath 64860 -#define JvResources_RsECircularReferenceOfStorages 64861 -#define JvResources_RsGIFImage 64862 -#define JvResources_RsEChangeGIFSize 64863 -#define JclResources_RsIntelCacheDescr71 64864 -#define JclResources_RsIntelCacheDescr72 64865 -#define JclResources_RsIntelCacheDescr78 64866 -#define JclResources_RsIntelCacheDescr79 64867 -#define JclResources_RsIntelCacheDescr7A 64868 -#define JclResources_RsIntelCacheDescr7B 64869 -#define JclResources_RsIntelCacheDescr7C 64870 -#define JclResources_RsIntelCacheDescr7D 64871 -#define JclResources_RsIntelCacheDescr7F 64872 -#define JclResources_RsIntelCacheDescr82 64873 -#define JclResources_RsIntelCacheDescr83 64874 -#define JclResources_RsIntelCacheDescr84 64875 -#define JclResources_RsIntelCacheDescr85 64876 -#define JclResources_RsIntelCacheDescr86 64877 -#define JclResources_RsIntelCacheDescr87 64878 -#define JclResources_RsIntelCacheDescrB0 64879 -#define JclResources_RsIntelCacheDescr46 64880 -#define JclResources_RsIntelCacheDescr47 64881 -#define JclResources_RsIntelCacheDescr49 64882 -#define JclResources_RsIntelCacheDescr50 64883 -#define JclResources_RsIntelCacheDescr51 64884 -#define JclResources_RsIntelCacheDescr52 64885 -#define JclResources_RsIntelCacheDescr56 64886 -#define JclResources_RsIntelCacheDescr57 64887 -#define JclResources_RsIntelCacheDescr5B 64888 -#define JclResources_RsIntelCacheDescr5C 64889 -#define JclResources_RsIntelCacheDescr5D 64890 -#define JclResources_RsIntelCacheDescr60 64891 -#define JclResources_RsIntelCacheDescr66 64892 -#define JclResources_RsIntelCacheDescr67 64893 -#define JclResources_RsIntelCacheDescr68 64894 -#define JclResources_RsIntelCacheDescr70 64895 -#define JclResources_RsIntelCacheDescr08 64896 -#define JclResources_RsIntelCacheDescr0A 64897 -#define JclResources_RsIntelCacheDescr0B 64898 -#define JclResources_RsIntelCacheDescr0C 64899 -#define JclResources_RsIntelCacheDescr22 64900 -#define JclResources_RsIntelCacheDescr23 64901 -#define JclResources_RsIntelCacheDescr25 64902 -#define JclResources_RsIntelCacheDescr29 64903 -#define JclResources_RsIntelCacheDescr2C 64904 -#define JclResources_RsIntelCacheDescr30 64905 -#define JclResources_RsIntelCacheDescr40 64906 -#define JclResources_RsIntelCacheDescr41 64907 -#define JclResources_RsIntelCacheDescr42 64908 -#define JclResources_RsIntelCacheDescr43 64909 -#define JclResources_RsIntelCacheDescr44 64910 -#define JclResources_RsIntelCacheDescr45 64911 -#define JclResources_RsRTTIParamCount 64912 -#define JclResources_RsRTTIReturnType 64913 -#define JclResources_RsRTTIMaxLen 64914 -#define JclResources_RsRTTIElSize 64915 -#define JclResources_RsRTTIElType 64916 -#define JclResources_RsRTTIElNeedCleanup 64917 -#define JclResources_RsRTTIVarType 64918 -#define JclResources_RsDeclarationFormat 64919 -#define JclResources_RsSynchCreateEvent 64920 -#define JclResources_RsIntelCacheDescr00 64921 -#define JclResources_RsIntelCacheDescr01 64922 -#define JclResources_RsIntelCacheDescr02 64923 -#define JclResources_RsIntelCacheDescr03 64924 -#define JclResources_RsIntelCacheDescr04 64925 -#define JclResources_RsIntelCacheDescr05 64926 -#define JclResources_RsIntelCacheDescr06 64927 -#define JclResources_RsRTTIName 64928 -#define JclResources_RsRTTIType 64929 -#define JclResources_RsRTTIFlags 64930 -#define JclResources_RsRTTIGUID 64931 -#define JclResources_RsRTTITypeKind 64932 -#define JclResources_RsRTTIOrdinalType 64933 -#define JclResources_RsRTTIMinValue 64934 -#define JclResources_RsRTTIMaxValue 64935 -#define JclResources_RsRTTINameList 64936 -#define JclResources_RsRTTIClassName 64937 -#define JclResources_RsRTTIParent 64938 -#define JclResources_RsRTTIPropCount 64939 -#define JclResources_RsRTTIUnitName 64940 -#define JclResources_RsRTTIBasedOn 64941 -#define JclResources_RsRTTIFloatType 64942 -#define JclResources_RsRTTIMethodKind 64943 -#define JclResources_RsRTTIConst 64944 -#define JclResources_RsRTTIArrayOf 64945 -#define JclResources_RsRTTIOut 64946 -#define JclResources_RsRTTIOrdinal 64947 -#define JclResources_RsRTTITrue 64948 -#define JclResources_RsRTTIFalse 64949 -#define JclResources_RsRTTITypeError 64950 -#define JclResources_RsRTTITypeInfoAt 64951 -#define JclResources_RsRTTIPropRead 64952 -#define JclResources_RsRTTIPropWrite 64953 -#define JclResources_RsRTTIPropStored 64954 -#define JclResources_RsRTTIField 64955 -#define JclResources_RsRTTIStaticMethod 64956 -#define JclResources_RsRTTIVirtualMethod 64957 -#define JclResources_RsRTTIIndex 64958 -#define JclResources_RsRTTIDefault 64959 -#define JclResources_RsHKCULong 64960 -#define JclResources_RsHKLMLong 64961 -#define JclResources_RsHKUSLong 64962 -#define JclResources_RsHKPDLong 64963 -#define JclResources_RsHKCCLong 64964 -#define JclResources_RsHKDDLong 64965 -#define JclResources_RsHKCRShort 64966 -#define JclResources_RsHKCUShort 64967 -#define JclResources_RsHKLMShort 64968 -#define JclResources_RsHKUSShort 64969 -#define JclResources_RsHKPDShort 64970 -#define JclResources_RsHKCCShort 64971 -#define JclResources_RsHKDDShort 64972 -#define JclResources_RsRTTIValueOutOfRange 64973 -#define JclResources_RsRTTIUnknownIdentifier 64974 -#define JclResources_RsRTTIVar 64975 -#define ComStrs_sPageIndexError 64976 -#define JConsts_sChangeJPGSize 64977 -#define JConsts_sJPEGError 64978 -#define JConsts_sJPEGImageFile 64979 -#define JclResources_RsWin32Prefix 64980 -#define JclResources_RsFileUtilsNoVersionInfo 64981 -#define JclResources_RsCreateFileMapping 64982 -#define JclResources_RsCreateFileMappingView 64983 -#define JclResources_RsViewNeedsMapping 64984 -#define JclResources_RsFailedToObtainSize 64985 -#define JclResources_RsUnableToOpenKeyRead 64986 -#define JclResources_RsUnableToOpenKeyWrite 64987 -#define JclResources_RsUnableToAccessValue 64988 -#define JclResources_RsWrongDataType 64989 -#define JclResources_RsInconsistentPath 64990 -#define JclResources_RsHKCRLong 64991 -#define IdResourceStringsCore_RSBufferMissingTerminator 64992 -#define IdResourceStringsCore_RSBufferInvalidStartPos 64993 -#define IdResourceStringsCore_RSReplyInvalidCode 64994 -#define IdResourceStringsCore_RSThreadSchedulerThreadRequired 64995 -#define IdResourceStringsCore_RSNoOnExecute 64996 -#define IdResourceStringsCore_RSTCPServerSchedulerAlreadyActive 64997 -#define ComStrs_sTabFailClear 64998 -#define ComStrs_sTabFailDelete 64999 -#define ComStrs_sTabFailRetrieve 65000 -#define ComStrs_sTabFailGetObject 65001 -#define ComStrs_sTabFailSet 65002 -#define ComStrs_sTabFailSetObject 65003 -#define ComStrs_sTabMustBeMultiLine 65004 -#define ComStrs_sInvalidIndex 65005 -#define ComStrs_sInsertError 65006 -#define ComStrs_sUDAssociated 65007 -#define IdResourceStringsCore_RSInterceptCircularLink 65008 -#define IdResourceStringsCore_RSNotEnoughDataInBuffer 65009 -#define IdResourceStringsCore_RSTooMuchDataInBuffer 65010 -#define IdResourceStringsCore_RSFileNotFound 65011 -#define IdResourceStringsCore_RSNotConnected 65012 -#define IdResourceStringsCore_RSObjectTypeNotSupported 65013 -#define IdResourceStringsCore_RSIdNoDataToRead 65014 -#define IdResourceStringsCore_RSReadTimeout 65015 -#define IdResourceStringsCore_RSReadLnMaxLineLengthExceeded 65016 -#define IdResourceStringsCore_RSConnectTimeout 65017 -#define IdResourceStringsCore_RSThreadTerminateAndWaitFor 65018 -#define IdResourceStringsCore_RSAlreadyConnected 65019 -#define IdResourceStringsCore_RSMaximumNumberOfCaptureLineExceeded 65020 -#define IdResourceStringsCore_RSchedMaxThreadEx 65021 -#define IdResourceStringsCore_RSTransparentProxyCannotBind 65022 -#define IdResourceStringsCore_RSTransparentProxyCanNotSupportUDP 65023 -#define IdResourceStringsCore_RSSocksUDPNotSupported 65024 -#define IdResourceStringsCore_RSSocksRequestFailed 65025 -#define IdResourceStringsCore_RSSocksRequestServerFailed 65026 -#define IdResourceStringsCore_RSSocksRequestIdentFailed 65027 -#define IdResourceStringsCore_RSSocksUnknownError 65028 -#define IdResourceStringsCore_RSSocksServerRespondError 65029 -#define IdResourceStringsCore_RSSocksAuthMethodError 65030 -#define IdResourceStringsCore_RSSocksAuthError 65031 -#define IdResourceStringsCore_RSSocksServerGeneralError 65032 -#define IdResourceStringsCore_RSSocksServerPermissionError 65033 -#define IdResourceStringsCore_RSSocksServerNetUnreachableError 65034 -#define IdResourceStringsCore_RSSocksServerHostUnreachableError 65035 -#define IdResourceStringsCore_RSSocksServerConnectionRefusedError 65036 -#define IdResourceStringsCore_RSSocksServerTTLExpiredError 65037 -#define IdResourceStringsCore_RSSocksServerCommandError 65038 -#define IdResourceStringsCore_RSSocksServerAddressError 65039 -#define IdResourceStringsProtocols_RSHTTPPreconditionFailed 65040 -#define IdResourceStringsProtocols_RSHTTPRequestEntityToLong 65041 -#define IdResourceStringsProtocols_RSHTTPRequestURITooLong 65042 -#define IdResourceStringsProtocols_RSHTTPUnsupportedMediaType 65043 -#define IdResourceStringsProtocols_RSHTTPInternalServerError 65044 -#define IdResourceStringsProtocols_RSHTTPNotImplemented 65045 -#define IdResourceStringsProtocols_RSHTTPBadGateway 65046 -#define IdResourceStringsProtocols_RSHTTPServiceUnavailable 65047 -#define IdResourceStringsProtocols_RSHTTPGatewayTimeout 65048 -#define IdResourceStringsProtocols_RSHTTPHTTPVersionNotSupported 65049 -#define IdResourceStringsProtocols_RSHTTPUnknownResponseCode 65050 -#define IdResourceStringsProtocols_RSHTTPHeaderAlreadyWritten 65051 -#define IdResourceStringsProtocols_RSHTTPErrorParsingCommand 65052 -#define IdResourceStringsProtocols_RSHTTPUnsupportedAuthorisationScheme 65053 -#define IdResourceStringsProtocols_RSHTTPCannotSwitchSessionStateWhenActive 65054 -#define IdResourceStringsProtocols_RSHTTPAuthAlreadyRegistered 65055 -#define IdResourceStringsProtocols_RSHTTPMovedPermanently 65056 -#define IdResourceStringsProtocols_RSHTTPMovedTemporarily 65057 -#define IdResourceStringsProtocols_RSHTTPSeeOther 65058 -#define IdResourceStringsProtocols_RSHTTPNotModified 65059 -#define IdResourceStringsProtocols_RSHTTPUseProxy 65060 -#define IdResourceStringsProtocols_RSHTTPBadRequest 65061 -#define IdResourceStringsProtocols_RSHTTPUnauthorized 65062 -#define IdResourceStringsProtocols_RSHTTPForbidden 65063 -#define IdResourceStringsProtocols_RSHTTPNotFound 65064 -#define IdResourceStringsProtocols_RSHTTPMethodNotAllowed 65065 -#define IdResourceStringsProtocols_RSHTTPNotAcceptable 65066 -#define IdResourceStringsProtocols_RSHTTPProxyAuthenticationRequired 65067 -#define IdResourceStringsProtocols_RSHTTPRequestTimeout 65068 -#define IdResourceStringsProtocols_RSHTTPConflict 65069 -#define IdResourceStringsProtocols_RSHTTPGone 65070 -#define IdResourceStringsProtocols_RSHTTPLengthRequired 65071 -#define IdResourceStrings_RSInvalidIPv6Address 65072 -#define IdResourceStrings_RSIPVersionUnsupported 65073 -#define IdResourceStrings_RSNotAllBytesSent 65074 -#define IdResourceStrings_RSPackageSizeTooBig 65075 -#define IdResourceStrings_RSSetSizeExceeded 65076 -#define IdResourceStringsProtocols_RSMIMEExtensionEmpty 65077 -#define IdResourceStringsProtocols_RSMIMEMIMETypeEmpty 65078 -#define IdResourceStringsProtocols_RSMIMEMIMEExtAlreadyExists 65079 -#define IdResourceStringsProtocols_RSHTTPContinue 65080 -#define IdResourceStringsProtocols_RSHTTPOK 65081 -#define IdResourceStringsProtocols_RSHTTPCreated 65082 -#define IdResourceStringsProtocols_RSHTTPAccepted 65083 -#define IdResourceStringsProtocols_RSHTTPNonAuthoritativeInformation 65084 -#define IdResourceStringsProtocols_RSHTTPNoContent 65085 -#define IdResourceStringsProtocols_RSHTTPResetContent 65086 -#define IdResourceStringsProtocols_RSHTTPPartialContent 65087 -#define IdResourceStrings_RSStackELOOP 65088 -#define IdResourceStrings_RSStackENAMETOOLONG 65089 -#define IdResourceStrings_RSStackEHOSTDOWN 65090 -#define IdResourceStrings_RSStackEHOSTUNREACH 65091 -#define IdResourceStrings_RSStackENOTEMPTY 65092 -#define IdResourceStrings_RSStackHOST_NOT_FOUND 65093 -#define IdResourceStrings_RSStackClassUndefined 65094 -#define IdResourceStrings_RSStackAlreadyCreated 65095 -#define IdResourceStrings_RSAntiFreezeOnlyOne 65096 -#define IdResourceStrings_RSCannotSetIPVersionWhenConnected 65097 -#define IdResourceStrings_RSCannotBindRange 65098 -#define IdResourceStrings_RSConnectionClosedGracefully 65099 -#define IdResourceStrings_RSCouldNotBindSocket 65100 -#define IdResourceStrings_RSInvalidPortRange 65101 -#define IdResourceStrings_RSInvalidServiceName 65102 -#define IdResourceStrings_RSIPv6Unavailable 65103 -#define IdResourceStrings_RSStackEPFNOSUPPORT 65104 -#define IdResourceStrings_RSStackEAFNOSUPPORT 65105 -#define IdResourceStrings_RSStackEADDRINUSE 65106 -#define IdResourceStrings_RSStackEADDRNOTAVAIL 65107 -#define IdResourceStrings_RSStackENETDOWN 65108 -#define IdResourceStrings_RSStackENETUNREACH 65109 -#define IdResourceStrings_RSStackENETRESET 65110 -#define IdResourceStrings_RSStackECONNABORTED 65111 -#define IdResourceStrings_RSStackECONNRESET 65112 -#define IdResourceStrings_RSStackENOBUFS 65113 -#define IdResourceStrings_RSStackEISCONN 65114 -#define IdResourceStrings_RSStackENOTCONN 65115 -#define IdResourceStrings_RSStackESHUTDOWN 65116 -#define IdResourceStrings_RSStackETOOMANYREFS 65117 -#define IdResourceStrings_RSStackETIMEDOUT 65118 -#define IdResourceStrings_RSStackECONNREFUSED 65119 -#define IdResourceStrings_RSStackEBADF 65120 -#define IdResourceStrings_RSStackEACCES 65121 -#define IdResourceStrings_RSStackEFAULT 65122 -#define IdResourceStrings_RSStackEINVAL 65123 -#define IdResourceStrings_RSStackEMFILE 65124 -#define IdResourceStrings_RSStackEWOULDBLOCK 65125 -#define IdResourceStrings_RSStackEINPROGRESS 65126 -#define IdResourceStrings_RSStackEALREADY 65127 -#define IdResourceStrings_RSStackENOTSOCK 65128 -#define IdResourceStrings_RSStackEDESTADDRREQ 65129 -#define IdResourceStrings_RSStackEMSGSIZE 65130 -#define IdResourceStrings_RSStackEPROTOTYPE 65131 -#define IdResourceStrings_RSStackENOPROTOOPT 65132 -#define IdResourceStrings_RSStackEPROTONOSUPPORT 65133 -#define IdResourceStrings_RSStackESOCKTNOSUPPORT 65134 -#define IdResourceStrings_RSStackEOPNOTSUPP 65135 -#define DBConsts_SInvalidBcdValue 65136 -#define DBConsts_SInvalidFormatType 65137 -#define DBConsts_SCouldNotParseTimeStamp 65138 -#define DBConsts_SInvalidSqlTimeStamp 65139 -#define IdResourceStrings_RSFailedTimeZoneInfo 65140 -#define IdResourceStrings_RSWinsockCallError 65141 -#define IdResourceStrings_RSWinsockLoadError 65142 -#define IdResourceStrings_RSWinsockInitializationError 65143 -#define IdResourceStrings_RSStatusResolving 65144 -#define IdResourceStrings_RSStatusConnecting 65145 -#define IdResourceStrings_RSStatusConnected 65146 -#define IdResourceStrings_RSStatusDisconnecting 65147 -#define IdResourceStrings_RSStatusDisconnected 65148 -#define IdResourceStrings_RSStatusText 65149 -#define IdResourceStrings_RSStackError 65150 -#define IdResourceStrings_RSStackEINTR 65151 -#define DBConsts_SNotEditing 65152 -#define DBConsts_SDataSetClosed 65153 -#define DBConsts_SDataSetEmpty 65154 -#define DBConsts_SDataSetReadOnly 65155 -#define DBConsts_SNestedDataSetClass 65156 -#define DBConsts_STextFalse 65157 -#define DBConsts_STextTrue 65158 -#define DBConsts_SParameterNotFound 65159 -#define DBConsts_SInvalidVersion 65160 -#define DBConsts_SBadFieldType 65161 -#define DBConsts_SProviderSQLNotSupported 65162 -#define DBConsts_SProviderExecuteNotSupported 65163 -#define DBConsts_SDataSetUnidirectional 65164 -#define DBConsts_SUnassignedVar 65165 -#define DBConsts_SRecordNotFound 65166 -#define DBConsts_SBcdOverflow 65167 -#define DBConsts_SInvalidBoolValue 65168 -#define DBConsts_SInvalidFloatValue 65169 -#define DBConsts_SFieldTypeMismatch 65170 -#define DBConsts_SFieldSizeMismatch 65171 -#define DBConsts_SInvalidVarByteArray 65172 -#define DBConsts_SFieldOutOfRange 65173 -#define DBConsts_SFieldRequired 65174 -#define DBConsts_SDataSetMissing 65175 -#define DBConsts_SInvalidCalcType 65176 -#define DBConsts_SFieldReadOnly 65177 -#define DBConsts_SNoIndexForFields 65178 -#define DBConsts_SIndexNotFound 65179 -#define DBConsts_SCircularDataLink 65180 -#define DBConsts_SLookupInfoError 65181 -#define DBConsts_SDataSourceChange 65182 -#define DBConsts_SDataSetOpen 65183 -#define uRORes_err_MessageNotAssigned 65184 -#define ComConst_SOleError 65185 -#define ComConst_SNoMethod 65186 -#define ComConst_SVarNotObject 65187 -#define ComConst_STooManyParams 65188 -#define DBConsts_SInvalidFieldSize 65189 -#define DBConsts_SInvalidFieldKind 65190 -#define DBConsts_SUnknownFieldType 65191 -#define DBConsts_SFieldNameMissing 65192 -#define DBConsts_SDuplicateFieldName 65193 -#define DBConsts_SFieldNotFound 65194 -#define DBConsts_SFieldAccessError 65195 -#define DBConsts_SFieldValueError 65196 -#define DBConsts_SFieldRangeError 65197 -#define DBConsts_SBcdFieldRangeError 65198 -#define DBConsts_SInvalidIntegerValue 65199 -#define uRORes_err_InvalidHeader 65200 -#define uRORes_err_InvalidHeaderEncrypted 65201 -#define uRORes_err_UnknownClassInStream 65202 -#define uRORes_err_UnexpectedClassInStream 65203 -#define uRORes_err_SessionNotFound 65204 -#define uRORes_err_ChannelDoesntSupportIROMetadataReader 65205 -#define uRORes_err_TooManySessions 65206 -#define uRORes_err_DOMElementIsNIL 65207 -#define uRORes_err_CannotLoadXMLDocument 65208 -#define uRORes_err_ErrorCreatingMsXmlDoc 65209 -#define uRORes_err_NoXMLParsersAvailable 65210 -#define uRORes_err_IDispatchMarshalingNotSupported 65211 -#define uRORes_err_UnsupportedVariantType 65212 -#define uRORes_err_VariantIsNotArray 65213 -#define uRORes_err_InvalidVarArrayDimCount 65214 -#define uRORes_err_CannotFindParameter 65215 -#define uRORes_err_UnspecifiedInterface 65216 -#define uRORes_err_UnspecifiedMessage 65217 -#define uRORes_err_UnknownMethod 65218 -#define uRORes_err_ClassFactoryDidNotReturnInstance 65219 -#define uRORes_err_TypeNotSupported 65220 -#define uRORes_err_ClassFactoryNotFound 65221 -#define uRORes_err_IROMessageNotSupported 65222 -#define uRORes_err_ClassAlreadyRegistered 65223 -#define uRORes_err_UnknownClass 65224 -#define uRORes_err_UnknownProxyInterface 65225 -#define uRORes_err_DispatcherAlreadyAssigned 65226 -#define uRORes_err_CannotFindMessageDispatcher 65227 -#define uRORes_err_ServerOnlySupportsOneDispatcher 65228 -#define uRORes_err_UnhandledException 65229 -#define uRORes_err_ChannelBusy 65230 -#define uRORes_err_ArrayIndexOutOfBounds 65231 -#define uRORes_str_InvalidClassTypeInStream 65232 -#define uRORes_err_UnexpectedEndOfStream 65233 -#define uRORes_err_RodlDuplicateName 65234 -#define uRORes_err_RodlNoDataTypeSpecified 65235 -#define uRORes_err_RodlNoEnumValues 65236 -#define uRORes_err_RodlNoStructElementsDefined 65237 -#define uRORes_err_RodlNoOperationsDefined 65238 -#define uRORes_err_RodlUsedFileDoesNotExist 65239 -#define uRORes_err_RodlInvalidDataType 65240 -#define uRORes_err_RodlStructCannotBeNested 65241 -#define uRORes_err_RodlInvalidAncestorType 65242 -#define uRORes_str_ExceptionOnServer 65243 -#define uRORes_str_ExceptionReraisedFromServer 65244 -#define uRORes_err_AssignError 65245 -#define uRORes_err_InvalidRequestStream 65246 -#define uRORes_err_NILMessage 65247 -#define uRODECConst_sInvalidFormatString 65248 -#define uRODECConst_sFMT_COPY 65249 -#define uRODECConst_sFMT_HEX 65250 -#define uRODECConst_sFMT_HEXL 65251 -#define uRODECConst_sFMT_MIME64 65252 -#define uRODECConst_sFMT_UU 65253 -#define uRODECConst_sFMT_XX 65254 -#define uRODECConst_sInvalidKeySize 65255 -#define uRODECConst_sNotInitialized 65256 -#define uRORes_err_InvalidIndex 65257 -#define uRORes_err_InvalidType 65258 -#define uRORes_err_InvalidLibrary 65259 -#define uRORes_err_InvalidStream 65260 -#define uRORes_err_InvalidTargetEntity 65261 -#define uRORes_err_InvalidParamFlag 65262 -#define uRORes_err_InvalidStringLength 65263 -#define Consts_SDockZoneHasNoCtl 65264 -#define Consts_SDockZoneVersionConflict 65265 -#define Consts_SMultiSelectRequired 65266 -#define Consts_SSeparator 65267 -#define Consts_SErrorSettingCount 65268 -#define Consts_SListBoxMustBeVirtual 65269 -#define Consts_SANSIEncoding 65270 -#define Consts_SASCIIEncoding 65271 -#define Consts_SUnicodeEncoding 65272 -#define Consts_SBigEndianEncoding 65273 -#define Consts_SUTF8Encoding 65274 -#define Consts_SUTF7Encoding 65275 -#define Consts_SPageControlNotSet 65276 -#define uRODECConst_sProtectionCircular 65277 -#define uRODECConst_sStringFormatExists 65278 -#define uRODECConst_sInvalidStringFormat 65279 -#define Consts_SOutOfRange 65280 -#define Consts_sAllFilter 65281 +#define cxEditConsts_scxRegExprIllegalQuantifier 64496 +#define cxEditConsts_scxRegExprIllegalIntegerValue 64497 +#define cxEditConsts_scxRegExprTooBigReferenceNumber 64498 +#define cxEditConsts_scxRegExprCantCreateEmptyEnum 64499 +#define cxEditConsts_scxRegExprSubrangeOrder 64500 +#define cxEditConsts_scxRegExprHexNumberExpected0 64501 +#define cxEditConsts_scxRegExprHexNumberExpected 64502 +#define cxEditConsts_scxRegExprMissing 64503 +#define cxEditConsts_scxRegExprUnnecessary 64504 +#define cxEditConsts_scxRegExprIncorrectSpace 64505 +#define cxEditConsts_scxRegExprNotCompiled 64506 +#define cxEditConsts_scxRegExprIncorrectParameterQuantifier 64507 +#define cxEditConsts_scxRegExprCantUseParameterQuantifier 64508 +#define cxEditConsts_scxMaskEditRegExprError 64509 +#define cxEditConsts_scxMaskEditInvalidEditValue 64510 +#define cxEditConsts_cxSDateSeventh 64512 +#define cxEditConsts_cxSDateBOM 64513 +#define cxEditConsts_cxSDateEOM 64514 +#define cxEditConsts_cxSDateNow 64515 +#define cxEditConsts_scxSEditRepositoryButtonItem 64516 +#define cxEditConsts_scxSEditRepositoryMaskItem 64517 +#define cxEditConsts_scxSEditRepositoryTextItem 64518 +#define cxEditConsts_scxRegExprLine 64519 +#define cxEditConsts_scxRegExprChar 64520 +#define cxEditConsts_scxRegExprNotAssignedSourceStream 64521 +#define cxEditConsts_scxRegExprEmptySourceStream 64522 +#define cxEditConsts_scxRegExprCantUsePlusQuantifier 64523 +#define cxEditConsts_scxRegExprCantUseStarQuantifier 64524 +#define cxEditConsts_scxRegExprCantCreateEmptyAlt 64525 +#define cxEditConsts_scxRegExprCantCreateEmptyBlock 64526 +#define cxEditConsts_scxRegExprIllegalSymbol 64527 +#define cxEditConsts_cxSDateToday 64528 +#define cxEditConsts_cxSDateYesterday 64529 +#define cxEditConsts_cxSDateTomorrow 64530 +#define cxEditConsts_cxSDateSunday 64531 +#define cxEditConsts_cxSDateMonday 64532 +#define cxEditConsts_cxSDateTuesday 64533 +#define cxEditConsts_cxSDateWednesday 64534 +#define cxEditConsts_cxSDateThursday 64535 +#define cxEditConsts_cxSDateFriday 64536 +#define cxEditConsts_cxSDateSaturday 64537 +#define cxEditConsts_cxSDateFirst 64538 +#define cxEditConsts_cxSDateSecond 64539 +#define cxEditConsts_cxSDateThird 64540 +#define cxEditConsts_cxSDateFourth 64541 +#define cxEditConsts_cxSDateFifth 64542 +#define cxEditConsts_cxSDateSixth 64543 +#define pnglang_EPNGUnknownCompressionText 64544 +#define pnglang_EPNGUnknownInterlaceText 64545 +#define pnglang_EPNGCannotAssignChunkText 64546 +#define pnglang_EPNGUnexpectedEndText 64547 +#define pnglang_EPNGNoImageDataText 64548 +#define pnglang_EPNGCannotChangeSizeText 64549 +#define pnglang_EPNGCannotAddChunkText 64550 +#define pnglang_EPNGCannotAddInvalidImageText 64551 +#define pnglang_EPNGOutMemoryText 64552 +#define pnglang_EPNGHeaderNotPresentText 64553 +#define cxDataConsts_cxSDataReadError 64554 +#define cxDataConsts_cxSDataWriteError 64555 +#define cxEditConsts_cxSEditInvalidRepositoryItem 64556 +#define cxEditConsts_cxSEditNumericValueConvertError 64557 +#define cxEditConsts_cxSEditValidateErrorText 64558 +#define cxEditConsts_cxSEditValueOutOfBounds 64559 +#define ADOConst_SConnectionRequired 64560 +#define ADOConst_SCantRequery 64561 +#define ADOConst_SNoFilterOptions 64562 +#define ADOConst_SRecordsetNotOpen 64563 +#define ADOConst_sNameAttr 64564 +#define ADOConst_sValueAttr 64565 +#define pnglang_EPngInvalidCRCText 64566 +#define pnglang_EPNGInvalidIHDRText 64567 +#define pnglang_EPNGMissingMultipleIDATText 64568 +#define pnglang_EPNGZLIBErrorText 64569 +#define pnglang_EPNGInvalidPaletteText 64570 +#define pnglang_EPNGInvalidFileHeaderText 64571 +#define pnglang_EPNGIHDRNotFirstText 64572 +#define pnglang_EPNGSizeExceedsText 64573 +#define pnglang_EPNGUnknownPalEntryText 64574 +#define pnglang_EPNGUnknownCriticalChunkText 64575 +#define IBSQLMonitor_StrPlan 64576 +#define IBSQLMonitor_StrPlanCantRetrive 64577 +#define IBSQLMonitor_StrCommitHardComm 64578 +#define IBSQLMonitor_StrCommitRetaining 64579 +#define IBSQLMonitor_StrRollback 64580 +#define IBSQLMonitor_StrRollbackRetainin 64581 +#define IBSQLMonitor_StrStartTransaction 64582 +#define IBSQLMonitor_StrApplication 64583 +#define ADOConst_SMissingConnection 64584 +#define ADOConst_SNoDetailFilter 64585 +#define ADOConst_SBookmarksRequired 64586 +#define ADOConst_SMissingCommandText 64587 +#define ADOConst_SNoResultSet 64588 +#define ADOConst_SADOCreateError 64589 +#define ADOConst_SEventsNotSupported 64590 +#define ADOConst_SUsupportedFieldType 64591 +#define IBXConst_SIB70feature 64592 +#define IBXConst_SIB71feature 64593 +#define IBXConst_SIB80feature 64594 +#define IBSQLMonitor_StrConnect 64595 +#define IBSQLMonitor_StrDisconnect 64596 +#define IBSQLMonitor_StrMisc 64597 +#define IBSQLMonitor_StrError 64598 +#define IBSQLMonitor_StrAttach 64599 +#define IBSQLMonitor_StrDetach 64600 +#define IBSQLMonitor_StrQuery 64601 +#define IBSQLMonitor_StrStart 64602 +#define IBSQLMonitor_StrExecute 64603 +#define IBSQLMonitor_StrNULL 64604 +#define IBSQLMonitor_StrBLOB 64605 +#define IBSQLMonitor_StrFetch 64606 +#define IBSQLMonitor_StrPrepare 64607 +#define IBXConst_SNosourceDirectory 64608 +#define IBXConst_SNoUninstallFile 64609 +#define IBXConst_SOptionNeedsClient 64610 +#define IBXConst_SOptionNeedsServer 64611 +#define IBXConst_SInvalidOption 64612 +#define IBXConst_SInvalidOnErrorResult 64613 +#define IBXConst_SInvalidOnStatusResult 64614 +#define IBXConst_SDPBConstantUnknownEx 64615 +#define IBXConst_STPBConstantUnknownEx 64616 +#define IBXConst_SUnknownPlan 64617 +#define IBXConst_SFieldSizeMismatch 64618 +#define IBXConst_SEventAlreadyRegistered 64619 +#define IBXConst_SStringTooLarge 64620 +#define IBXConst_SNoTimers 64621 +#define IBXConst_SIB65feature 64622 +#define IBXConst_SLoginPromptFailure 64623 +#define IBXConst_SServiceInActive 64624 +#define IBXConst_SServerNameMissing 64625 +#define IBXConst_SQueryParamsError 64626 +#define IBXConst_SStartParamsError 64627 +#define IBXConst_SOutputParsingError 64628 +#define IBXConst_SUseSpecificProcedures 64629 +#define IBXConst_SSQLMonitorAlreadyPresent 64630 +#define IBXConst_SCantPrintValue 64631 +#define IBXConst_SEOFReached 64632 +#define IBXConst_SEOFInComment 64633 +#define IBXConst_SEOFInString 64634 +#define IBXConst_SParamNameExpected 64635 +#define IBXConst_SSuccess 64636 +#define IBXConst_SDelphiException 64637 +#define IBXConst_SNoOptionsSet 64638 +#define IBXConst_SNoDestinationDirectory 64639 +#define IBXConst_SNoTableName 64640 +#define IBXConst_SCannotCreatePrimaryIndex 64641 +#define IBXConst_SCannotDropSystemIndex 64642 +#define IBXConst_STableNameMismatch 64643 +#define IBXConst_SIndexFieldMissing 64644 +#define IBXConst_SInvalidCancellation 64645 +#define IBXConst_SInvalidEvent 64646 +#define IBXConst_SMaximumEvents 64647 +#define IBXConst_SNoEventsRegistered 64648 +#define IBXConst_SInvalidQueueing 64649 +#define IBXConst_SInvalidRegistration 64650 +#define IBXConst_SInvalidBatchMove 64651 +#define IBXConst_SSQLDialectInvalid 64652 +#define IBXConst_SSPBConstantNotSupported 64653 +#define IBXConst_SSPBConstantUnknown 64654 +#define IBXConst_SServiceActive 64655 +#define IBXConst_SWindowsAPIError 64656 +#define IBXConst_SColumnListsDontMatch 64657 +#define IBXConst_SColumnTypesDontMatch 64658 +#define IBXConst_SCantEndSharedTransaction 64659 +#define IBXConst_SFieldUnsupportedType 64660 +#define IBXConst_SCircularDataLink 64661 +#define IBXConst_SEmptySQLStatement 64662 +#define IBXConst_SIsASelectStatement 64663 +#define IBXConst_SRequiredParamNotSet 64664 +#define IBXConst_SNoStoredProcName 64665 +#define IBXConst_SIsAExecuteProcedure 64666 +#define IBXConst_SUpdateFailed 64667 +#define IBXConst_SNotCachedUpdates 64668 +#define IBXConst_SNotLiveRequest 64669 +#define IBXConst_SNoProvider 64670 +#define IBXConst_SNoRecordsAffected 64671 +#define IBXConst_SCannotOpenNonSQLSelect 64672 +#define IBXConst_SNoFieldAccess 64673 +#define IBXConst_SFieldReadOnly 64674 +#define IBXConst_SFieldNotFound 64675 +#define IBXConst_SNotEditing 64676 +#define IBXConst_SCannotInsert 64677 +#define IBXConst_SCannotPost 64678 +#define IBXConst_SCannotUpdate 64679 +#define IBXConst_SCannotDelete 64680 +#define IBXConst_SCannotRefresh 64681 +#define IBXConst_SBufferNotSet 64682 +#define IBXConst_SCircularReference 64683 +#define IBXConst_SSQLParseError 64684 +#define IBXConst_SUserAbort 64685 +#define IBXConst_SDataSetUniDirectional 64686 +#define IBXConst_SCannotCreateSharedResource 64687 +#define IBXConst_SXSQLDANameDoesNotExist 64688 +#define IBXConst_SEOF 64689 +#define IBXConst_SBOF 64690 +#define IBXConst_SInvalidStatementHandle 64691 +#define IBXConst_SSQLOpen 64692 +#define IBXConst_SSQLClosed 64693 +#define IBXConst_SDatasetOpen 64694 +#define IBXConst_SDatasetClosed 64695 +#define IBXConst_SUnknownSQLDataType 64696 +#define IBXConst_SInvalidColumnIndex 64697 +#define IBXConst_SInvalidParamColumnIndex 64698 +#define IBXConst_SInvalidDataConversion 64699 +#define IBXConst_SColumnIsNotNullable 64700 +#define IBXConst_SBlobCannotBeRead 64701 +#define IBXConst_SBlobCannotBeWritten 64702 +#define IBXConst_SEmptyQuery 64703 +#define IBXConst_SDPBConstantNotSupported 64704 +#define IBXConst_SDPBConstantUnknown 64705 +#define IBXConst_STPBConstantNotSupported 64706 +#define IBXConst_STPBConstantUnknown 64707 +#define IBXConst_SDatabaseClosed 64708 +#define IBXConst_SDatabaseOpen 64709 +#define IBXConst_SDatabaseNameMissing 64710 +#define IBXConst_SNotInTransaction 64711 +#define IBXConst_SInTransaction 64712 +#define IBXConst_STimeoutNegative 64713 +#define IBXConst_SNoDatabasesInTransaction 64714 +#define IBXConst_SUpdateWrongDB 64715 +#define IBXConst_SUpdateWrongTR 64716 +#define IBXConst_SDatabaseNotAssigned 64717 +#define IBXConst_STransactionNotAssigned 64718 +#define IBXConst_SXSQLDAIndexOutOfRange 64719 +#define uDARes_err_NeedShareMem 64720 +#define uDARes_err_ExecuteSQLCommandNotAllowed 64721 +#define uDARes_err_DatasetNotAccessible 64722 +#define uDARes_err_CommandNotAccessible 64723 +#define uDARes_err_SQLNotPermitted 64724 +#define IBXConst_SUnknownError 64725 +#define IBXConst_SInterBaseMissing 64726 +#define IBXConst_SInterBaseInstallMissing 64727 +#define IBXConst_SIB60feature 64728 +#define IBXConst_SNotSupported 64729 +#define IBXConst_SNotPermitted 64730 +#define IBXConst_SFileAccessError 64731 +#define IBXConst_SConnectionTimeout 64732 +#define IBXConst_SCannotSetDatabase 64733 +#define IBXConst_SCannotSetTransaction 64734 +#define IBXConst_SOperationCancelled 64735 +#define uDARes_err_InvalidDLL 64736 +#define uDARes_err_UnknownDriver 64737 +#define uDARes_err_FieldIsNotBound 64738 +#define uDARes_err_CannotFindField 64739 +#define uDARes_err_LoadPackageFailed 64740 +#define uDARes_err_InvalidDriverReference 64741 +#define uDARes_err_CannotFindStatement 64742 +#define uDARes_err_CannotFindDefaultItem 64743 +#define uDARes_err_PoolIsNotEmpty 64744 +#define uDARes_err_MaxPoolSizeReached 64745 +#define uDARes_err_LAMEDataset 64746 +#define uDARes_err_HETConnectionNotSupportedInV3 64747 +#define uDARes_err_DARDMInvalidSchema 64748 +#define uDARes_err_DARDMUnassignedAdapter 64749 +#define uDARes_err_DARDMConnectionIsNotAssigned 64750 +#define uDARes_err_DARDMCannotFindProxessorForDelta 64751 +#define JvResources_RsClInfoText 64752 +#define JvResources_RsClInfoBk 64753 +#define JvResources_RsGradientActiveCaption 64754 +#define JvResources_RsGradientInactiveCaption 64755 +#define JvResources_RsHotLight 64756 +#define JvResources_RsMenuBar 64757 +#define JvResources_RsMenuHighlight 64758 +#define uDARes_err_ChangeLogAlreadyStarted 64759 +#define uDARes_err_NotAttachedToDataTable 64760 +#define uDARes_err_DriverProcAlreadyRegistered 64761 +#define uDARes_err_DriverManagerAlreadyCreated 64762 +#define uDARes_err_DriverManagerNotAssigned 64763 +#define uDARes_err_FieldTypeNotSupported 64764 +#define uDARes_err_InvalidDataset 64765 +#define uDARes_err_CannotFindItem 64766 +#define uDARes_err_DriverAlreadyLoaded 64767 +#define JvResources_RsClMenuText 64768 +#define JvResources_RsClWindowText 64769 +#define JvResources_RsClCaptionText 64770 +#define JvResources_RsClActiveBorder 64771 +#define JvResources_RsClInactiveBorder 64772 +#define JvResources_RsClAppWorkSpace 64773 +#define JvResources_RsClHighlight 64774 +#define JvResources_RsClHighlightText 64775 +#define JvResources_RsClBtnFace 64776 +#define JvResources_RsClBtnShadow 64777 +#define JvResources_RsClGrayText 64778 +#define JvResources_RsClBtnText 64779 +#define JvResources_RsClInactiveCaptionText 64780 +#define JvResources_RsClBtnHighlight 64781 +#define JvResources_RsCl3DDkShadow 64782 +#define JvResources_RsCl3DLight 64783 +#define JvResources_RsClPlum 64784 +#define JvResources_RsClGray25 64785 +#define JvResources_RsClRose 64786 +#define JvResources_RsClTan 64787 +#define JvResources_RsClLightYellow 64788 +#define JvResources_RsClLightGreen 64789 +#define JvResources_RsClLightTurquoise 64790 +#define JvResources_RsClPaleBlue 64791 +#define JvResources_RsClLavender 64792 +#define JvResources_RsClScrollBar 64793 +#define JvResources_RsClBackground 64794 +#define JvResources_RsClActiveCaption 64795 +#define JvResources_RsClInactiveCaption 64796 +#define JvResources_RsClMenu 64797 +#define JvResources_RsClWindow 64798 +#define JvResources_RsClWindowFrame 64799 +#define JvResources_RsClIndigo 64800 +#define JvResources_RsClGray80 64801 +#define JvResources_RsClDarkRed 64802 +#define JvResources_RsClOrange 64803 +#define JvResources_RsClDarkYellow 64804 +#define JvResources_RsClBlueGray 64805 +#define JvResources_RsClGray50 64806 +#define JvResources_RsClLightOrange 64807 +#define JvResources_RsClSeaGreen 64808 +#define JvResources_RsClLightBlue 64809 +#define JvResources_RsClViolet 64810 +#define JvResources_RsClGray40 64811 +#define JvResources_RsClPink 64812 +#define JvResources_RsClGold 64813 +#define JvResources_RsClBrightGreen 64814 +#define JvResources_RsClTurquoise 64815 +#define JvResources_RsClRed 64816 +#define JvResources_RsClLime 64817 +#define JvResources_RsClYellow 64818 +#define JvResources_RsClBlue 64819 +#define JvResources_RsClFuchsia 64820 +#define JvResources_RsClAqua 64821 +#define JvResources_RsClWhite 64822 +#define JvResources_RsClMoneyGreen 64823 +#define JvResources_RsClSkyBlue 64824 +#define JvResources_RsClCream 64825 +#define JvResources_RsClMedGray 64826 +#define JvResources_RsClBrown 64827 +#define JvResources_RsClOliveGreen 64828 +#define JvResources_RsClDarkGreen 64829 +#define JvResources_RsClDarkTeal 64830 +#define JvResources_RsClDarkBlue 64831 +#define JvResources_RsEWrongGIFColors 64832 +#define JvResources_RsEBadGIFCodeSize 64833 +#define JvResources_RsEGIFDecodeError 64834 +#define JvResources_RsEGIFEncodeError 64835 +#define JvResources_RsEGIFVersion 64836 +#define JvResources_RsEPixelFormatNotImplemented 64837 +#define JvResources_RsEBitCountNotImplemented 64838 +#define JvResources_RsClBlack 64839 +#define JvResources_RsClMaroon 64840 +#define JvResources_RsClGreen 64841 +#define JvResources_RsClOlive 64842 +#define JvResources_RsClNavy 64843 +#define JvResources_RsClPurple 64844 +#define JvResources_RsClTeal 64845 +#define JvResources_RsClGray 64846 +#define JvResources_RsClSilver 64847 +#define JclResources_RsIntelCacheDescrF0 64848 +#define JclResources_RsIntelCacheDescrF1 64849 +#define JvResources_RsAniExtension 64850 +#define JvResources_RsAniFilterName 64851 +#define JvResources_RsRootValueReplaceFmt 64852 +#define JvResources_RsEUnableToCreateKey 64853 +#define JvResources_RsEEnumeratingRegistry 64854 +#define JvResources_RsEInvalidType 64855 +#define JvResources_RsEUnknownBaseType 64856 +#define JvResources_RsEInvalidPath 64857 +#define JvResources_RsENotAUniqueRootPath 64858 +#define JvResources_RsECircularReferenceOfStorages 64859 +#define JvResources_RsGIFImage 64860 +#define JvResources_RsEChangeGIFSize 64861 +#define JvResources_RsENoGIFData 64862 +#define JvResources_RsEUnrecognizedGIFExt 64863 +#define JclResources_RsIntelCacheDescr78 64864 +#define JclResources_RsIntelCacheDescr79 64865 +#define JclResources_RsIntelCacheDescr7A 64866 +#define JclResources_RsIntelCacheDescr7B 64867 +#define JclResources_RsIntelCacheDescr7C 64868 +#define JclResources_RsIntelCacheDescr7D 64869 +#define JclResources_RsIntelCacheDescr7F 64870 +#define JclResources_RsIntelCacheDescr82 64871 +#define JclResources_RsIntelCacheDescr83 64872 +#define JclResources_RsIntelCacheDescr84 64873 +#define JclResources_RsIntelCacheDescr85 64874 +#define JclResources_RsIntelCacheDescr86 64875 +#define JclResources_RsIntelCacheDescr87 64876 +#define JclResources_RsIntelCacheDescrB0 64877 +#define JclResources_RsIntelCacheDescrB3 64878 +#define JclResources_RsIntelCacheDescrB4 64879 +#define JclResources_RsIntelCacheDescr49 64880 +#define JclResources_RsIntelCacheDescr50 64881 +#define JclResources_RsIntelCacheDescr51 64882 +#define JclResources_RsIntelCacheDescr52 64883 +#define JclResources_RsIntelCacheDescr56 64884 +#define JclResources_RsIntelCacheDescr57 64885 +#define JclResources_RsIntelCacheDescr5B 64886 +#define JclResources_RsIntelCacheDescr5C 64887 +#define JclResources_RsIntelCacheDescr5D 64888 +#define JclResources_RsIntelCacheDescr60 64889 +#define JclResources_RsIntelCacheDescr66 64890 +#define JclResources_RsIntelCacheDescr67 64891 +#define JclResources_RsIntelCacheDescr68 64892 +#define JclResources_RsIntelCacheDescr70 64893 +#define JclResources_RsIntelCacheDescr71 64894 +#define JclResources_RsIntelCacheDescr72 64895 +#define JclResources_RsIntelCacheDescr0B 64896 +#define JclResources_RsIntelCacheDescr0C 64897 +#define JclResources_RsIntelCacheDescr22 64898 +#define JclResources_RsIntelCacheDescr23 64899 +#define JclResources_RsIntelCacheDescr25 64900 +#define JclResources_RsIntelCacheDescr29 64901 +#define JclResources_RsIntelCacheDescr2C 64902 +#define JclResources_RsIntelCacheDescr30 64903 +#define JclResources_RsIntelCacheDescr40 64904 +#define JclResources_RsIntelCacheDescr41 64905 +#define JclResources_RsIntelCacheDescr42 64906 +#define JclResources_RsIntelCacheDescr43 64907 +#define JclResources_RsIntelCacheDescr44 64908 +#define JclResources_RsIntelCacheDescr45 64909 +#define JclResources_RsIntelCacheDescr46 64910 +#define JclResources_RsIntelCacheDescr47 64911 +#define JclResources_RsRTTIMaxLen 64912 +#define JclResources_RsRTTIElSize 64913 +#define JclResources_RsRTTIElType 64914 +#define JclResources_RsRTTIElNeedCleanup 64915 +#define JclResources_RsRTTIVarType 64916 +#define JclResources_RsDeclarationFormat 64917 +#define JclResources_RsSynchCreateEvent 64918 +#define JclResources_RsIntelCacheDescr00 64919 +#define JclResources_RsIntelCacheDescr01 64920 +#define JclResources_RsIntelCacheDescr02 64921 +#define JclResources_RsIntelCacheDescr03 64922 +#define JclResources_RsIntelCacheDescr04 64923 +#define JclResources_RsIntelCacheDescr05 64924 +#define JclResources_RsIntelCacheDescr06 64925 +#define JclResources_RsIntelCacheDescr08 64926 +#define JclResources_RsIntelCacheDescr0A 64927 +#define JclResources_RsRTTIFlags 64928 +#define JclResources_RsRTTIGUID 64929 +#define JclResources_RsRTTITypeKind 64930 +#define JclResources_RsRTTIOrdinalType 64931 +#define JclResources_RsRTTIMinValue 64932 +#define JclResources_RsRTTIMaxValue 64933 +#define JclResources_RsRTTINameList 64934 +#define JclResources_RsRTTIClassName 64935 +#define JclResources_RsRTTIParent 64936 +#define JclResources_RsRTTIPropCount 64937 +#define JclResources_RsRTTIUnitName 64938 +#define JclResources_RsRTTIBasedOn 64939 +#define JclResources_RsRTTIFloatType 64940 +#define JclResources_RsRTTIMethodKind 64941 +#define JclResources_RsRTTIParamCount 64942 +#define JclResources_RsRTTIReturnType 64943 +#define JclResources_RsRTTIOut 64944 +#define JclResources_RsRTTIOrdinal 64945 +#define JclResources_RsRTTITrue 64946 +#define JclResources_RsRTTIFalse 64947 +#define JclResources_RsRTTITypeError 64948 +#define JclResources_RsRTTITypeInfoAt 64949 +#define JclResources_RsRTTIPropRead 64950 +#define JclResources_RsRTTIPropWrite 64951 +#define JclResources_RsRTTIPropStored 64952 +#define JclResources_RsRTTIField 64953 +#define JclResources_RsRTTIStaticMethod 64954 +#define JclResources_RsRTTIVirtualMethod 64955 +#define JclResources_RsRTTIIndex 64956 +#define JclResources_RsRTTIDefault 64957 +#define JclResources_RsRTTIName 64958 +#define JclResources_RsRTTIType 64959 +#define JclResources_RsHKUSLong 64960 +#define JclResources_RsHKPDLong 64961 +#define JclResources_RsHKCCLong 64962 +#define JclResources_RsHKDDLong 64963 +#define JclResources_RsHKCRShort 64964 +#define JclResources_RsHKCUShort 64965 +#define JclResources_RsHKLMShort 64966 +#define JclResources_RsHKUSShort 64967 +#define JclResources_RsHKPDShort 64968 +#define JclResources_RsHKCCShort 64969 +#define JclResources_RsHKDDShort 64970 +#define JclResources_RsRTTIValueOutOfRange 64971 +#define JclResources_RsRTTIUnknownIdentifier 64972 +#define JclResources_RsRTTIVar 64973 +#define JclResources_RsRTTIConst 64974 +#define JclResources_RsRTTIArrayOf 64975 +#define JConsts_sJPEGError 64976 +#define JConsts_sJPEGImageFile 64977 +#define JclResources_RsWin32Prefix 64978 +#define JclResources_RsFileUtilsNoVersionInfo 64979 +#define JclResources_RsCreateFileMapping 64980 +#define JclResources_RsCreateFileMappingView 64981 +#define JclResources_RsViewNeedsMapping 64982 +#define JclResources_RsFailedToObtainSize 64983 +#define JclResources_RsUnableToOpenKeyRead 64984 +#define JclResources_RsUnableToOpenKeyWrite 64985 +#define JclResources_RsUnableToAccessValue 64986 +#define JclResources_RsWrongDataType 64987 +#define JclResources_RsInconsistentPath 64988 +#define JclResources_RsHKCRLong 64989 +#define JclResources_RsHKCULong 64990 +#define JclResources_RsHKLMLong 64991 +#define IdResourceStringsProtocols_RSHTTPErrorParsingCommand 64992 +#define IdResourceStringsProtocols_RSHTTPUnsupportedAuthorisationScheme 64993 +#define IdResourceStringsProtocols_RSHTTPCannotSwitchSessionStateWhenActive 64994 +#define IdResourceStringsProtocols_RSHTTPAuthAlreadyRegistered 64995 +#define ComStrs_sTabFailClear 64996 +#define ComStrs_sTabFailDelete 64997 +#define ComStrs_sTabFailRetrieve 64998 +#define ComStrs_sTabFailGetObject 64999 +#define ComStrs_sTabFailSet 65000 +#define ComStrs_sTabFailSetObject 65001 +#define ComStrs_sTabMustBeMultiLine 65002 +#define ComStrs_sInvalidIndex 65003 +#define ComStrs_sInsertError 65004 +#define ComStrs_sUDAssociated 65005 +#define ComStrs_sPageIndexError 65006 +#define JConsts_sChangeJPGSize 65007 +#define IdResourceStringsProtocols_RSHTTPRequestTimeout 65008 +#define IdResourceStringsProtocols_RSHTTPConflict 65009 +#define IdResourceStringsProtocols_RSHTTPGone 65010 +#define IdResourceStringsProtocols_RSHTTPLengthRequired 65011 +#define IdResourceStringsProtocols_RSHTTPPreconditionFailed 65012 +#define IdResourceStringsProtocols_RSHTTPRequestEntityToLong 65013 +#define IdResourceStringsProtocols_RSHTTPRequestURITooLong 65014 +#define IdResourceStringsProtocols_RSHTTPUnsupportedMediaType 65015 +#define IdResourceStringsProtocols_RSHTTPInternalServerError 65016 +#define IdResourceStringsProtocols_RSHTTPNotImplemented 65017 +#define IdResourceStringsProtocols_RSHTTPBadGateway 65018 +#define IdResourceStringsProtocols_RSHTTPServiceUnavailable 65019 +#define IdResourceStringsProtocols_RSHTTPGatewayTimeout 65020 +#define IdResourceStringsProtocols_RSHTTPHTTPVersionNotSupported 65021 +#define IdResourceStringsProtocols_RSHTTPUnknownResponseCode 65022 +#define IdResourceStringsProtocols_RSHTTPHeaderAlreadyWritten 65023 +#define IdResourceStringsProtocols_RSHTTPNonAuthoritativeInformation 65024 +#define IdResourceStringsProtocols_RSHTTPNoContent 65025 +#define IdResourceStringsProtocols_RSHTTPResetContent 65026 +#define IdResourceStringsProtocols_RSHTTPPartialContent 65027 +#define IdResourceStringsProtocols_RSHTTPMovedPermanently 65028 +#define IdResourceStringsProtocols_RSHTTPMovedTemporarily 65029 +#define IdResourceStringsProtocols_RSHTTPSeeOther 65030 +#define IdResourceStringsProtocols_RSHTTPNotModified 65031 +#define IdResourceStringsProtocols_RSHTTPUseProxy 65032 +#define IdResourceStringsProtocols_RSHTTPBadRequest 65033 +#define IdResourceStringsProtocols_RSHTTPUnauthorized 65034 +#define IdResourceStringsProtocols_RSHTTPForbidden 65035 +#define IdResourceStringsProtocols_RSHTTPNotFound 65036 +#define IdResourceStringsProtocols_RSHTTPMethodNotAllowed 65037 +#define IdResourceStringsProtocols_RSHTTPNotAcceptable 65038 +#define IdResourceStringsProtocols_RSHTTPProxyAuthenticationRequired 65039 +#define IdResourceStringsCore_RSchedMaxThreadEx 65040 +#define IdResourceStringsCore_RSTransparentProxyCannotBind 65041 +#define IdResourceStringsCore_RSTransparentProxyCanNotSupportUDP 65042 +#define IdResourceStringsCore_RSBufferMissingTerminator 65043 +#define IdResourceStringsCore_RSBufferInvalidStartPos 65044 +#define IdResourceStringsCore_RSReplyInvalidCode 65045 +#define IdResourceStringsCore_RSThreadSchedulerThreadRequired 65046 +#define IdResourceStringsCore_RSNoOnExecute 65047 +#define IdResourceStringsCore_RSTCPServerSchedulerAlreadyActive 65048 +#define IdResourceStringsProtocols_RSMIMEExtensionEmpty 65049 +#define IdResourceStringsProtocols_RSMIMEMIMETypeEmpty 65050 +#define IdResourceStringsProtocols_RSMIMEMIMEExtAlreadyExists 65051 +#define IdResourceStringsProtocols_RSHTTPContinue 65052 +#define IdResourceStringsProtocols_RSHTTPOK 65053 +#define IdResourceStringsProtocols_RSHTTPCreated 65054 +#define IdResourceStringsProtocols_RSHTTPAccepted 65055 +#define IdResourceStringsCore_RSSocksServerTTLExpiredError 65056 +#define IdResourceStringsCore_RSSocksServerCommandError 65057 +#define IdResourceStringsCore_RSSocksServerAddressError 65058 +#define IdResourceStringsCore_RSInterceptCircularLink 65059 +#define IdResourceStringsCore_RSNotEnoughDataInBuffer 65060 +#define IdResourceStringsCore_RSTooMuchDataInBuffer 65061 +#define IdResourceStringsCore_RSFileNotFound 65062 +#define IdResourceStringsCore_RSNotConnected 65063 +#define IdResourceStringsCore_RSObjectTypeNotSupported 65064 +#define IdResourceStringsCore_RSIdNoDataToRead 65065 +#define IdResourceStringsCore_RSReadTimeout 65066 +#define IdResourceStringsCore_RSReadLnMaxLineLengthExceeded 65067 +#define IdResourceStringsCore_RSConnectTimeout 65068 +#define IdResourceStringsCore_RSThreadTerminateAndWaitFor 65069 +#define IdResourceStringsCore_RSAlreadyConnected 65070 +#define IdResourceStringsCore_RSMaximumNumberOfCaptureLineExceeded 65071 +#define IdResourceStrings_RSNotAllBytesSent 65072 +#define IdResourceStrings_RSPackageSizeTooBig 65073 +#define IdResourceStrings_RSSetSizeExceeded 65074 +#define IdResourceStringsCore_RSSocksUDPNotSupported 65075 +#define IdResourceStringsCore_RSSocksRequestFailed 65076 +#define IdResourceStringsCore_RSSocksRequestServerFailed 65077 +#define IdResourceStringsCore_RSSocksRequestIdentFailed 65078 +#define IdResourceStringsCore_RSSocksUnknownError 65079 +#define IdResourceStringsCore_RSSocksServerRespondError 65080 +#define IdResourceStringsCore_RSSocksAuthMethodError 65081 +#define IdResourceStringsCore_RSSocksAuthError 65082 +#define IdResourceStringsCore_RSSocksServerGeneralError 65083 +#define IdResourceStringsCore_RSSocksServerPermissionError 65084 +#define IdResourceStringsCore_RSSocksServerNetUnreachableError 65085 +#define IdResourceStringsCore_RSSocksServerHostUnreachableError 65086 +#define IdResourceStringsCore_RSSocksServerConnectionRefusedError 65087 +#define IdResourceStrings_RSStackEHOSTDOWN 65088 +#define IdResourceStrings_RSStackEHOSTUNREACH 65089 +#define IdResourceStrings_RSStackENOTEMPTY 65090 +#define IdResourceStrings_RSStackHOST_NOT_FOUND 65091 +#define IdResourceStrings_RSStackClassUndefined 65092 +#define IdResourceStrings_RSStackAlreadyCreated 65093 +#define IdResourceStrings_RSAntiFreezeOnlyOne 65094 +#define IdResourceStrings_RSCannotSetIPVersionWhenConnected 65095 +#define IdResourceStrings_RSCannotBindRange 65096 +#define IdResourceStrings_RSConnectionClosedGracefully 65097 +#define IdResourceStrings_RSCouldNotBindSocket 65098 +#define IdResourceStrings_RSInvalidPortRange 65099 +#define IdResourceStrings_RSInvalidServiceName 65100 +#define IdResourceStrings_RSIPv6Unavailable 65101 +#define IdResourceStrings_RSInvalidIPv6Address 65102 +#define IdResourceStrings_RSIPVersionUnsupported 65103 +#define IdResourceStrings_RSStackEADDRINUSE 65104 +#define IdResourceStrings_RSStackEADDRNOTAVAIL 65105 +#define IdResourceStrings_RSStackENETDOWN 65106 +#define IdResourceStrings_RSStackENETUNREACH 65107 +#define IdResourceStrings_RSStackENETRESET 65108 +#define IdResourceStrings_RSStackECONNABORTED 65109 +#define IdResourceStrings_RSStackECONNRESET 65110 +#define IdResourceStrings_RSStackENOBUFS 65111 +#define IdResourceStrings_RSStackEISCONN 65112 +#define IdResourceStrings_RSStackENOTCONN 65113 +#define IdResourceStrings_RSStackESHUTDOWN 65114 +#define IdResourceStrings_RSStackETOOMANYREFS 65115 +#define IdResourceStrings_RSStackETIMEDOUT 65116 +#define IdResourceStrings_RSStackECONNREFUSED 65117 +#define IdResourceStrings_RSStackELOOP 65118 +#define IdResourceStrings_RSStackENAMETOOLONG 65119 +#define IdResourceStrings_RSStackEFAULT 65120 +#define IdResourceStrings_RSStackEINVAL 65121 +#define IdResourceStrings_RSStackEMFILE 65122 +#define IdResourceStrings_RSStackEWOULDBLOCK 65123 +#define IdResourceStrings_RSStackEINPROGRESS 65124 +#define IdResourceStrings_RSStackEALREADY 65125 +#define IdResourceStrings_RSStackENOTSOCK 65126 +#define IdResourceStrings_RSStackEDESTADDRREQ 65127 +#define IdResourceStrings_RSStackEMSGSIZE 65128 +#define IdResourceStrings_RSStackEPROTOTYPE 65129 +#define IdResourceStrings_RSStackENOPROTOOPT 65130 +#define IdResourceStrings_RSStackEPROTONOSUPPORT 65131 +#define IdResourceStrings_RSStackESOCKTNOSUPPORT 65132 +#define IdResourceStrings_RSStackEOPNOTSUPP 65133 +#define IdResourceStrings_RSStackEPFNOSUPPORT 65134 +#define IdResourceStrings_RSStackEAFNOSUPPORT 65135 +#define DBConsts_SCouldNotParseTimeStamp 65136 +#define DBConsts_SInvalidSqlTimeStamp 65137 +#define IdResourceStrings_RSFailedTimeZoneInfo 65138 +#define IdResourceStrings_RSWinsockCallError 65139 +#define IdResourceStrings_RSWinsockLoadError 65140 +#define IdResourceStrings_RSWinsockInitializationError 65141 +#define IdResourceStrings_RSStatusResolving 65142 +#define IdResourceStrings_RSStatusConnecting 65143 +#define IdResourceStrings_RSStatusConnected 65144 +#define IdResourceStrings_RSStatusDisconnecting 65145 +#define IdResourceStrings_RSStatusDisconnected 65146 +#define IdResourceStrings_RSStatusText 65147 +#define IdResourceStrings_RSStackError 65148 +#define IdResourceStrings_RSStackEINTR 65149 +#define IdResourceStrings_RSStackEBADF 65150 +#define IdResourceStrings_RSStackEACCES 65151 +#define DBConsts_SDataSetEmpty 65152 +#define DBConsts_SDataSetReadOnly 65153 +#define DBConsts_SNestedDataSetClass 65154 +#define DBConsts_STextFalse 65155 +#define DBConsts_STextTrue 65156 +#define DBConsts_SParameterNotFound 65157 +#define DBConsts_SInvalidVersion 65158 +#define DBConsts_SBadFieldType 65159 +#define DBConsts_SProviderSQLNotSupported 65160 +#define DBConsts_SProviderExecuteNotSupported 65161 +#define DBConsts_SDataSetUnidirectional 65162 +#define DBConsts_SUnassignedVar 65163 +#define DBConsts_SRecordNotFound 65164 +#define DBConsts_SBcdOverflow 65165 +#define DBConsts_SInvalidBcdValue 65166 +#define DBConsts_SInvalidFormatType 65167 +#define DBConsts_SFieldTypeMismatch 65168 +#define DBConsts_SFieldSizeMismatch 65169 +#define DBConsts_SInvalidVarByteArray 65170 +#define DBConsts_SFieldOutOfRange 65171 +#define DBConsts_SFieldRequired 65172 +#define DBConsts_SDataSetMissing 65173 +#define DBConsts_SInvalidCalcType 65174 +#define DBConsts_SFieldReadOnly 65175 +#define DBConsts_SNoIndexForFields 65176 +#define DBConsts_SIndexNotFound 65177 +#define DBConsts_SCircularDataLink 65178 +#define DBConsts_SLookupInfoError 65179 +#define DBConsts_SDataSourceChange 65180 +#define DBConsts_SDataSetOpen 65181 +#define DBConsts_SNotEditing 65182 +#define DBConsts_SDataSetClosed 65183 +#define uRODECConst_sFMT_XX 65184 +#define uRODECConst_sInvalidKeySize 65185 +#define uRODECConst_sNotInitialized 65186 +#define DBConsts_SInvalidFieldSize 65187 +#define DBConsts_SInvalidFieldKind 65188 +#define DBConsts_SUnknownFieldType 65189 +#define DBConsts_SFieldNameMissing 65190 +#define DBConsts_SDuplicateFieldName 65191 +#define DBConsts_SFieldNotFound 65192 +#define DBConsts_SFieldAccessError 65193 +#define DBConsts_SFieldValueError 65194 +#define DBConsts_SFieldRangeError 65195 +#define DBConsts_SBcdFieldRangeError 65196 +#define DBConsts_SInvalidIntegerValue 65197 +#define DBConsts_SInvalidBoolValue 65198 +#define DBConsts_SInvalidFloatValue 65199 +#define uRORes_err_NoXMLParsersAvailable 65200 +#define uRORes_err_IDispatchMarshalingNotSupported 65201 +#define uRORes_err_UnsupportedVariantType 65202 +#define uRORes_err_VariantIsNotArray 65203 +#define uRORes_err_InvalidVarArrayDimCount 65204 +#define uRORes_err_CannotFindParameter 65205 +#define uRORes_err_MessageNotAssigned 65206 +#define uRODECConst_sProtectionCircular 65207 +#define uRODECConst_sStringFormatExists 65208 +#define uRODECConst_sInvalidStringFormat 65209 +#define uRODECConst_sInvalidFormatString 65210 +#define uRODECConst_sFMT_COPY 65211 +#define uRODECConst_sFMT_HEX 65212 +#define uRODECConst_sFMT_HEXL 65213 +#define uRODECConst_sFMT_MIME64 65214 +#define uRODECConst_sFMT_UU 65215 +#define uRORes_err_DispatcherAlreadyAssigned 65216 +#define uRORes_err_CannotFindMessageDispatcher 65217 +#define uRORes_err_ServerOnlySupportsOneDispatcher 65218 +#define uRORes_err_UnhandledException 65219 +#define uRORes_err_ChannelBusy 65220 +#define uRORes_err_ArrayIndexOutOfBounds 65221 +#define uRORes_err_InvalidHeader 65222 +#define uRORes_err_InvalidHeaderEncrypted 65223 +#define uRORes_err_UnknownClassInStream 65224 +#define uRORes_err_UnexpectedClassInStream 65225 +#define uRORes_err_SessionNotFound 65226 +#define uRORes_err_ChannelDoesntSupportIROMetadataReader 65227 +#define uRORes_err_TooManySessions 65228 +#define uRORes_err_DOMElementIsNIL 65229 +#define uRORes_err_CannotLoadXMLDocument 65230 +#define uRORes_err_ErrorCreatingMsXmlDoc 65231 +#define uRORes_err_RodlInvalidAncestorType 65232 +#define uRORes_str_ExceptionOnServer 65233 +#define uRORes_str_ExceptionReraisedFromServer 65234 +#define uRORes_err_AssignError 65235 +#define uRORes_err_InvalidRequestStream 65236 +#define uRORes_err_NILMessage 65237 +#define uRORes_err_UnspecifiedInterface 65238 +#define uRORes_err_UnspecifiedMessage 65239 +#define uRORes_err_UnknownMethod 65240 +#define uRORes_err_ClassFactoryDidNotReturnInstance 65241 +#define uRORes_err_TypeNotSupported 65242 +#define uRORes_err_ClassFactoryNotFound 65243 +#define uRORes_err_IROMessageNotSupported 65244 +#define uRORes_err_ClassAlreadyRegistered 65245 +#define uRORes_err_UnknownClass 65246 +#define uRORes_err_UnknownProxyInterface 65247 +#define uRORes_err_InvalidType 65248 +#define uRORes_err_InvalidLibrary 65249 +#define uRORes_err_InvalidStream 65250 +#define uRORes_err_InvalidTargetEntity 65251 +#define uRORes_err_InvalidParamFlag 65252 +#define uRORes_err_InvalidStringLength 65253 +#define uRORes_str_InvalidClassTypeInStream 65254 +#define uRORes_err_UnexpectedEndOfStream 65255 +#define uRORes_err_RodlDuplicateName 65256 +#define uRORes_err_RodlNoDataTypeSpecified 65257 +#define uRORes_err_RodlNoEnumValues 65258 +#define uRORes_err_RodlNoStructElementsDefined 65259 +#define uRORes_err_RodlNoOperationsDefined 65260 +#define uRORes_err_RodlUsedFileDoesNotExist 65261 +#define uRORes_err_RodlInvalidDataType 65262 +#define uRORes_err_RodlStructCannotBeNested 65263 +#define Consts_SSeparator 65264 +#define Consts_SErrorSettingCount 65265 +#define Consts_SListBoxMustBeVirtual 65266 +#define Consts_SANSIEncoding 65267 +#define Consts_SASCIIEncoding 65268 +#define Consts_SUnicodeEncoding 65269 +#define Consts_SBigEndianEncoding 65270 +#define Consts_SUTF8Encoding 65271 +#define Consts_SUTF7Encoding 65272 +#define Consts_SPageControlNotSet 65273 +#define Consts_SWindowsVistaRequired 65274 +#define ComConst_SOleError 65275 +#define ComConst_SNoMethod 65276 +#define ComConst_SVarNotObject 65277 +#define ComConst_STooManyParams 65278 +#define uRORes_err_InvalidIndex 65279 +#define Consts_srNone 65280 +#define Consts_SOutOfRange 65281 #define Consts_SInsertLineError 65282 #define Consts_SInvalidClipFmt 65283 #define Consts_SIconToClipboard 65284 @@ -856,236 +801,236 @@ #define Consts_SInvalidPrinterOp 65287 #define Consts_SNoDefaultPrinter 65288 #define Consts_SDuplicateMenus 65289 -#define Consts_SPictureLabel 65290 -#define Consts_SPictureDesc 65291 -#define Consts_SPreviewLabel 65292 -#define Consts_SDockedCtlNeedsName 65293 -#define Consts_SDockTreeRemoveError 65294 -#define Consts_SDockZoneNotFound 65295 -#define Consts_SmkcEnter 65296 -#define Consts_SmkcSpace 65297 -#define Consts_SmkcPgUp 65298 -#define Consts_SmkcPgDn 65299 -#define Consts_SmkcEnd 65300 -#define Consts_SmkcHome 65301 -#define Consts_SmkcLeft 65302 -#define Consts_SmkcUp 65303 -#define Consts_SmkcRight 65304 -#define Consts_SmkcDown 65305 -#define Consts_SmkcIns 65306 -#define Consts_SmkcDel 65307 -#define Consts_SmkcShift 65308 -#define Consts_SmkcCtrl 65309 -#define Consts_SmkcAlt 65310 -#define Consts_srNone 65311 -#define Consts_SMsgDlgInformation 65312 -#define Consts_SMsgDlgConfirm 65313 -#define Consts_SMsgDlgYes 65314 -#define Consts_SMsgDlgNo 65315 -#define Consts_SMsgDlgOK 65316 -#define Consts_SMsgDlgCancel 65317 -#define Consts_SMsgDlgHelp 65318 -#define Consts_SMsgDlgAbort 65319 -#define Consts_SMsgDlgRetry 65320 -#define Consts_SMsgDlgIgnore 65321 -#define Consts_SMsgDlgAll 65322 -#define Consts_SMsgDlgNoToAll 65323 -#define Consts_SMsgDlgYesToAll 65324 -#define Consts_SmkcBkSp 65325 -#define Consts_SmkcTab 65326 -#define Consts_SmkcEsc 65327 -#define Consts_SCancelButton 65328 -#define Consts_SYesButton 65329 -#define Consts_SNoButton 65330 -#define Consts_SHelpButton 65331 -#define Consts_SCloseButton 65332 -#define Consts_SIgnoreButton 65333 -#define Consts_SRetryButton 65334 -#define Consts_SAbortButton 65335 -#define Consts_SAllButton 65336 -#define Consts_SCannotDragForm 65337 -#define Consts_SVMetafiles 65338 -#define Consts_SVEnhMetafiles 65339 -#define Consts_SVIcons 65340 -#define Consts_SVBitmaps 65341 -#define Consts_SMsgDlgWarning 65342 -#define Consts_SMsgDlgError 65343 -#define Consts_SVisibleChanged 65344 -#define Consts_SCannotShowModal 65345 -#define Consts_SScrollBarRange 65346 -#define Consts_SPropertyOutOfRange 65347 -#define Consts_SMenuIndexError 65348 -#define Consts_SMenuReinserted 65349 -#define Consts_SMenuNotFound 65350 -#define Consts_SNoTimers 65351 -#define Consts_SNotPrinting 65352 -#define Consts_SPrinting 65353 -#define Consts_SInvalidPrinter 65354 -#define Consts_SDeviceOnPort 65355 -#define Consts_SGroupIndexTooLow 65356 -#define Consts_SNoMDIForm 65357 -#define Consts_SControlParentSetToSelf 65358 -#define Consts_SOKButton 65359 -#define Consts_SUnknownExtension 65360 -#define Consts_SUnknownClipboardFormat 65361 -#define Consts_SOutOfResources 65362 -#define Consts_SNoCanvasHandle 65363 -#define Consts_SInvalidImageSize 65364 -#define Consts_SInvalidImageList 65365 -#define Consts_SReplaceImage 65366 -#define Consts_SImageIndexError 65367 -#define Consts_SImageReadFail 65368 -#define Consts_SImageWriteFail 65369 -#define Consts_SWindowDCError 65370 -#define Consts_SWindowClass 65371 -#define Consts_SCannotFocus 65372 -#define Consts_SParentRequired 65373 -#define Consts_SParentGivenNotAParent 65374 -#define Consts_SMDIChildNotVisible 65375 -#define RTLConsts_SThreadCreateError 65376 -#define RTLConsts_SThreadError 65377 -#define HelpIntfs_hNoTableOfContents 65378 -#define HelpIntfs_hNothingFound 65379 -#define HelpIntfs_hNoContext 65380 -#define HelpIntfs_hNoContextFound 65381 -#define HelpIntfs_hNoTopics 65382 -#define Consts_SInvalidTabPosition 65383 -#define Consts_SInvalidTabStyle 65384 -#define Consts_SInvalidBitmap 65385 -#define Consts_SInvalidIcon 65386 -#define Consts_SInvalidMetafile 65387 -#define Consts_SInvalidPixelFormat 65388 -#define Consts_SInvalidImage 65389 -#define Consts_SScanLine 65390 -#define Consts_SChangeIconSize 65391 -#define RTLConsts_SListCapacityError 65392 -#define RTLConsts_SListCountError 65393 -#define RTLConsts_SListIndexError 65394 -#define RTLConsts_SMemoryStreamError 65395 -#define RTLConsts_SPropertyException 65396 -#define RTLConsts_SReadError 65397 -#define RTLConsts_SReadOnlyProperty 65398 -#define RTLConsts_SRegCreateFailed 65399 -#define RTLConsts_SRegGetDataFailed 65400 -#define RTLConsts_SRegSetDataFailed 65401 -#define RTLConsts_SResNotFound 65402 -#define RTLConsts_SSeekNotImplemented 65403 -#define RTLConsts_SSortedListError 65404 -#define RTLConsts_SUnknownGroup 65405 -#define RTLConsts_SUnknownProperty 65406 -#define RTLConsts_SWriteError 65407 -#define RTLConsts_SClassNotFound 65408 -#define RTLConsts_SDuplicateClass 65409 -#define RTLConsts_SDuplicateItem 65410 -#define RTLConsts_SDuplicateName 65411 -#define RTLConsts_SDuplicateString 65412 -#define RTLConsts_SFCreateErrorEx 65413 -#define RTLConsts_SFOpenErrorEx 65414 -#define RTLConsts_SIniFileWriteError 65415 -#define RTLConsts_SInvalidImage 65416 -#define RTLConsts_SInvalidName 65417 -#define RTLConsts_SInvalidProperty 65418 -#define RTLConsts_SInvalidPropertyElement 65419 -#define RTLConsts_SInvalidPropertyPath 65420 -#define RTLConsts_SInvalidPropertyType 65421 -#define RTLConsts_SInvalidPropertyValue 65422 -#define RTLConsts_SInvalidRegType 65423 -#define SysConst_SShortDayNameWed 65424 -#define SysConst_SShortDayNameThu 65425 -#define SysConst_SShortDayNameFri 65426 -#define SysConst_SShortDayNameSat 65427 -#define SysConst_SLongDayNameSun 65428 -#define SysConst_SLongDayNameMon 65429 -#define SysConst_SLongDayNameTue 65430 -#define SysConst_SLongDayNameWed 65431 -#define SysConst_SLongDayNameThu 65432 -#define SysConst_SLongDayNameFri 65433 -#define SysConst_SLongDayNameSat 65434 -#define RTLConsts_SAncestorNotFound 65435 -#define RTLConsts_SAssignError 65436 -#define RTLConsts_SBitsIndexError 65437 -#define RTLConsts_SCantWriteResourceStreamError 65438 -#define RTLConsts_SCheckSynchronizeError 65439 -#define SysConst_SShortMonthNameDec 65440 -#define SysConst_SLongMonthNameJan 65441 -#define SysConst_SLongMonthNameFeb 65442 -#define SysConst_SLongMonthNameMar 65443 -#define SysConst_SLongMonthNameApr 65444 -#define SysConst_SLongMonthNameMay 65445 -#define SysConst_SLongMonthNameJun 65446 -#define SysConst_SLongMonthNameJul 65447 -#define SysConst_SLongMonthNameAug 65448 -#define SysConst_SLongMonthNameSep 65449 -#define SysConst_SLongMonthNameOct 65450 -#define SysConst_SLongMonthNameNov 65451 -#define SysConst_SLongMonthNameDec 65452 -#define SysConst_SShortDayNameSun 65453 -#define SysConst_SShortDayNameMon 65454 -#define SysConst_SShortDayNameTue 65455 -#define SysConst_SAbstractError 65456 -#define SysConst_SModuleAccessViolation 65457 -#define SysConst_SOSError 65458 -#define SysConst_SUnkOSError 65459 -#define SysConst_SNL 65460 -#define SysConst_SShortMonthNameJan 65461 -#define SysConst_SShortMonthNameFeb 65462 -#define SysConst_SShortMonthNameMar 65463 -#define SysConst_SShortMonthNameApr 65464 -#define SysConst_SShortMonthNameMay 65465 -#define SysConst_SShortMonthNameJun 65466 -#define SysConst_SShortMonthNameJul 65467 -#define SysConst_SShortMonthNameAug 65468 -#define SysConst_SShortMonthNameSep 65469 -#define SysConst_SShortMonthNameOct 65470 -#define SysConst_SShortMonthNameNov 65471 -#define SysConst_SVarTypeOutOfRangeWithPrefix 65472 -#define SysConst_SVarTypeAlreadyUsedWithPrefix 65473 -#define SysConst_SVarTypeNotUsableWithPrefix 65474 -#define SysConst_SVarTypeTooManyCustom 65475 -#define SysConst_SVarTypeCouldNotConvert 65476 -#define SysConst_SVarTypeConvertOverflow 65477 -#define SysConst_SVarOverflow 65478 -#define SysConst_SVarInvalid 65479 -#define SysConst_SVarBadType 65480 -#define SysConst_SVarNotImplemented 65481 -#define SysConst_SVarUnexpected 65482 -#define SysConst_SExternalException 65483 -#define SysConst_SAssertionFailed 65484 -#define SysConst_SIntfCastError 65485 -#define SysConst_SSafecallException 65486 -#define SysConst_SAssertError 65487 -#define SysConst_SOperationAborted 65488 -#define SysConst_SException 65489 -#define SysConst_SExceptTitle 65490 -#define SysConst_SInvalidFormat 65491 -#define SysConst_SArgumentMissing 65492 -#define SysConst_SDispatchError 65493 -#define SysConst_SReadAccess 65494 -#define SysConst_SWriteAccess 65495 -#define SysConst_SFormatTooLong 65496 -#define SysConst_SVarArrayCreate 65497 -#define SysConst_SVarArrayBounds 65498 -#define SysConst_SVarArrayLocked 65499 -#define SysConst_SInvalidVarCast 65500 -#define SysConst_SInvalidVarOp 65501 -#define SysConst_SInvalidVarNullOp 65502 -#define SysConst_SInvalidVarOpWithHResultWithPrefix 65503 -#define SysConst_SDiskFull 65504 -#define SysConst_SInvalidInput 65505 -#define SysConst_SDivByZero 65506 -#define SysConst_SRangeError 65507 -#define SysConst_SIntOverflow 65508 -#define SysConst_SInvalidOp 65509 -#define SysConst_SZeroDivide 65510 -#define SysConst_SOverflow 65511 -#define SysConst_SUnderflow 65512 -#define SysConst_SInvalidPointer 65513 -#define SysConst_SInvalidCast 65514 -#define SysConst_SAccessViolationArg3 65515 -#define SysConst_SAccessViolationNoArg 65516 -#define SysConst_SStackOverflow 65517 -#define SysConst_SControlC 65518 -#define SysConst_SPrivilege 65519 +#define Consts_SDockedCtlNeedsName 65290 +#define Consts_SDockTreeRemoveError 65291 +#define Consts_SDockZoneNotFound 65292 +#define Consts_SDockZoneHasNoCtl 65293 +#define Consts_SDockZoneVersionConflict 65294 +#define Consts_SMultiSelectRequired 65295 +#define Consts_SmkcEsc 65296 +#define Consts_SmkcEnter 65297 +#define Consts_SmkcSpace 65298 +#define Consts_SmkcPgUp 65299 +#define Consts_SmkcPgDn 65300 +#define Consts_SmkcEnd 65301 +#define Consts_SmkcHome 65302 +#define Consts_SmkcLeft 65303 +#define Consts_SmkcUp 65304 +#define Consts_SmkcRight 65305 +#define Consts_SmkcDown 65306 +#define Consts_SmkcIns 65307 +#define Consts_SmkcDel 65308 +#define Consts_SmkcShift 65309 +#define Consts_SmkcCtrl 65310 +#define Consts_SmkcAlt 65311 +#define Consts_SMsgDlgError 65312 +#define Consts_SMsgDlgInformation 65313 +#define Consts_SMsgDlgConfirm 65314 +#define Consts_SMsgDlgYes 65315 +#define Consts_SMsgDlgNo 65316 +#define Consts_SMsgDlgOK 65317 +#define Consts_SMsgDlgCancel 65318 +#define Consts_SMsgDlgHelp 65319 +#define Consts_SMsgDlgAbort 65320 +#define Consts_SMsgDlgRetry 65321 +#define Consts_SMsgDlgIgnore 65322 +#define Consts_SMsgDlgAll 65323 +#define Consts_SMsgDlgNoToAll 65324 +#define Consts_SMsgDlgYesToAll 65325 +#define Consts_SmkcBkSp 65326 +#define Consts_SmkcTab 65327 +#define Consts_SOKButton 65328 +#define Consts_SCancelButton 65329 +#define Consts_SYesButton 65330 +#define Consts_SNoButton 65331 +#define Consts_SHelpButton 65332 +#define Consts_SCloseButton 65333 +#define Consts_SIgnoreButton 65334 +#define Consts_SRetryButton 65335 +#define Consts_SAbortButton 65336 +#define Consts_SAllButton 65337 +#define Consts_SCannotDragForm 65338 +#define Consts_SVMetafiles 65339 +#define Consts_SVEnhMetafiles 65340 +#define Consts_SVIcons 65341 +#define Consts_SVBitmaps 65342 +#define Consts_SMsgDlgWarning 65343 +#define Consts_SMDIChildNotVisible 65344 +#define Consts_SVisibleChanged 65345 +#define Consts_SCannotShowModal 65346 +#define Consts_SScrollBarRange 65347 +#define Consts_SPropertyOutOfRange 65348 +#define Consts_SMenuIndexError 65349 +#define Consts_SMenuReinserted 65350 +#define Consts_SMenuNotFound 65351 +#define Consts_SNoTimers 65352 +#define Consts_SNotPrinting 65353 +#define Consts_SPrinting 65354 +#define Consts_SInvalidPrinter 65355 +#define Consts_SDeviceOnPort 65356 +#define Consts_SGroupIndexTooLow 65357 +#define Consts_SNoMDIForm 65358 +#define Consts_SControlParentSetToSelf 65359 +#define Consts_SChangeIconSize 65360 +#define Consts_SUnknownExtension 65361 +#define Consts_SUnknownClipboardFormat 65362 +#define Consts_SOutOfResources 65363 +#define Consts_SNoCanvasHandle 65364 +#define Consts_SInvalidImageSize 65365 +#define Consts_SInvalidImageList 65366 +#define Consts_SReplaceImage 65367 +#define Consts_SImageIndexError 65368 +#define Consts_SImageReadFail 65369 +#define Consts_SImageWriteFail 65370 +#define Consts_SWindowDCError 65371 +#define Consts_SWindowClass 65372 +#define Consts_SCannotFocus 65373 +#define Consts_SParentRequired 65374 +#define Consts_SParentGivenNotAParent 65375 +#define RTLConsts_SWriteError 65376 +#define RTLConsts_SThreadCreateError 65377 +#define RTLConsts_SThreadError 65378 +#define HelpIntfs_hNoTableOfContents 65379 +#define HelpIntfs_hNothingFound 65380 +#define HelpIntfs_hNoContext 65381 +#define HelpIntfs_hNoContextFound 65382 +#define HelpIntfs_hNoTopics 65383 +#define Consts_SInvalidTabPosition 65384 +#define Consts_SInvalidTabStyle 65385 +#define Consts_SInvalidBitmap 65386 +#define Consts_SInvalidIcon 65387 +#define Consts_SInvalidMetafile 65388 +#define Consts_SInvalidPixelFormat 65389 +#define Consts_SInvalidImage 65390 +#define Consts_SScanLine 65391 +#define RTLConsts_SInvalidRegType 65392 +#define RTLConsts_SListCapacityError 65393 +#define RTLConsts_SListCountError 65394 +#define RTLConsts_SListIndexError 65395 +#define RTLConsts_SMemoryStreamError 65396 +#define RTLConsts_SPropertyException 65397 +#define RTLConsts_SReadError 65398 +#define RTLConsts_SReadOnlyProperty 65399 +#define RTLConsts_SRegCreateFailed 65400 +#define RTLConsts_SRegGetDataFailed 65401 +#define RTLConsts_SRegSetDataFailed 65402 +#define RTLConsts_SResNotFound 65403 +#define RTLConsts_SSeekNotImplemented 65404 +#define RTLConsts_SSortedListError 65405 +#define RTLConsts_SUnknownGroup 65406 +#define RTLConsts_SUnknownProperty 65407 +#define RTLConsts_SCheckSynchronizeError 65408 +#define RTLConsts_SClassNotFound 65409 +#define RTLConsts_SDuplicateClass 65410 +#define RTLConsts_SDuplicateItem 65411 +#define RTLConsts_SDuplicateName 65412 +#define RTLConsts_SDuplicateString 65413 +#define RTLConsts_SFCreateErrorEx 65414 +#define RTLConsts_SFOpenErrorEx 65415 +#define RTLConsts_SIniFileWriteError 65416 +#define RTLConsts_SInvalidImage 65417 +#define RTLConsts_SInvalidName 65418 +#define RTLConsts_SInvalidProperty 65419 +#define RTLConsts_SInvalidPropertyElement 65420 +#define RTLConsts_SInvalidPropertyPath 65421 +#define RTLConsts_SInvalidPropertyType 65422 +#define RTLConsts_SInvalidPropertyValue 65423 +#define SysConst_SShortDayNameTue 65424 +#define SysConst_SShortDayNameWed 65425 +#define SysConst_SShortDayNameThu 65426 +#define SysConst_SShortDayNameFri 65427 +#define SysConst_SShortDayNameSat 65428 +#define SysConst_SLongDayNameSun 65429 +#define SysConst_SLongDayNameMon 65430 +#define SysConst_SLongDayNameTue 65431 +#define SysConst_SLongDayNameWed 65432 +#define SysConst_SLongDayNameThu 65433 +#define SysConst_SLongDayNameFri 65434 +#define SysConst_SLongDayNameSat 65435 +#define RTLConsts_SAncestorNotFound 65436 +#define RTLConsts_SAssignError 65437 +#define RTLConsts_SBitsIndexError 65438 +#define RTLConsts_SCantWriteResourceStreamError 65439 +#define SysConst_SShortMonthNameNov 65440 +#define SysConst_SShortMonthNameDec 65441 +#define SysConst_SLongMonthNameJan 65442 +#define SysConst_SLongMonthNameFeb 65443 +#define SysConst_SLongMonthNameMar 65444 +#define SysConst_SLongMonthNameApr 65445 +#define SysConst_SLongMonthNameMay 65446 +#define SysConst_SLongMonthNameJun 65447 +#define SysConst_SLongMonthNameJul 65448 +#define SysConst_SLongMonthNameAug 65449 +#define SysConst_SLongMonthNameSep 65450 +#define SysConst_SLongMonthNameOct 65451 +#define SysConst_SLongMonthNameNov 65452 +#define SysConst_SLongMonthNameDec 65453 +#define SysConst_SShortDayNameSun 65454 +#define SysConst_SShortDayNameMon 65455 +#define SysConst_SAssertError 65456 +#define SysConst_SAbstractError 65457 +#define SysConst_SModuleAccessViolation 65458 +#define SysConst_SOSError 65459 +#define SysConst_SUnkOSError 65460 +#define SysConst_SNL 65461 +#define SysConst_SShortMonthNameJan 65462 +#define SysConst_SShortMonthNameFeb 65463 +#define SysConst_SShortMonthNameMar 65464 +#define SysConst_SShortMonthNameApr 65465 +#define SysConst_SShortMonthNameMay 65466 +#define SysConst_SShortMonthNameJun 65467 +#define SysConst_SShortMonthNameJul 65468 +#define SysConst_SShortMonthNameAug 65469 +#define SysConst_SShortMonthNameSep 65470 +#define SysConst_SShortMonthNameOct 65471 +#define SysConst_SInvalidVarOpWithHResultWithPrefix 65472 +#define SysConst_SVarTypeOutOfRangeWithPrefix 65473 +#define SysConst_SVarTypeAlreadyUsedWithPrefix 65474 +#define SysConst_SVarTypeNotUsableWithPrefix 65475 +#define SysConst_SVarTypeTooManyCustom 65476 +#define SysConst_SVarTypeCouldNotConvert 65477 +#define SysConst_SVarTypeConvertOverflow 65478 +#define SysConst_SVarOverflow 65479 +#define SysConst_SVarInvalid 65480 +#define SysConst_SVarBadType 65481 +#define SysConst_SVarNotImplemented 65482 +#define SysConst_SVarUnexpected 65483 +#define SysConst_SExternalException 65484 +#define SysConst_SAssertionFailed 65485 +#define SysConst_SIntfCastError 65486 +#define SysConst_SSafecallException 65487 +#define SysConst_SPrivilege 65488 +#define SysConst_SOperationAborted 65489 +#define SysConst_SException 65490 +#define SysConst_SExceptTitle 65491 +#define SysConst_SInvalidFormat 65492 +#define SysConst_SArgumentMissing 65493 +#define SysConst_SDispatchError 65494 +#define SysConst_SReadAccess 65495 +#define SysConst_SWriteAccess 65496 +#define SysConst_SFormatTooLong 65497 +#define SysConst_SVarArrayCreate 65498 +#define SysConst_SVarArrayBounds 65499 +#define SysConst_SVarArrayLocked 65500 +#define SysConst_SInvalidVarCast 65501 +#define SysConst_SInvalidVarOp 65502 +#define SysConst_SInvalidVarNullOp 65503 +#define SysConst_SEndOfFile 65504 +#define SysConst_SDiskFull 65505 +#define SysConst_SInvalidInput 65506 +#define SysConst_SDivByZero 65507 +#define SysConst_SRangeError 65508 +#define SysConst_SIntOverflow 65509 +#define SysConst_SInvalidOp 65510 +#define SysConst_SZeroDivide 65511 +#define SysConst_SOverflow 65512 +#define SysConst_SUnderflow 65513 +#define SysConst_SInvalidPointer 65514 +#define SysConst_SInvalidCast 65515 +#define SysConst_SAccessViolationArg3 65516 +#define SysConst_SAccessViolationNoArg 65517 +#define SysConst_SStackOverflow 65518 +#define SysConst_SControlC 65519 #define SysConst_SInvalidInteger 65520 #define SysConst_SInvalidFloat 65521 #define SysConst_SInvalidDate 65522 @@ -1093,29 +1038,17 @@ #define SysConst_SInvalidDateTime 65524 #define SysConst_SInvalidTimeStamp 65525 #define SysConst_SInvalidGUID 65526 -#define SysConst_STimeEncodeError 65527 -#define SysConst_SDateEncodeError 65528 -#define SysConst_SOutOfMemory 65529 -#define SysConst_SInOutError 65530 -#define SysConst_SFileNotFound 65531 -#define SysConst_SInvalidFilename 65532 -#define SysConst_STooManyOpenFiles 65533 -#define SysConst_SAccessDenied 65534 -#define SysConst_SEndOfFile 65535 +#define SysConst_SInvalidBoolean 65527 +#define SysConst_STimeEncodeError 65528 +#define SysConst_SDateEncodeError 65529 +#define SysConst_SOutOfMemory 65530 +#define SysConst_SInOutError 65531 +#define SysConst_SFileNotFound 65532 +#define SysConst_SInvalidFilename 65533 +#define SysConst_STooManyOpenFiles 65534 +#define SysConst_SAccessDenied 65535 STRINGTABLE BEGIN - cxEditConsts_scxRegExprNotCompiled, "Regular expression is not compiled" - cxEditConsts_scxRegExprIncorrectParameterQuantifier, "Incorrect parameter quantifier" - cxEditConsts_scxRegExprCantUseParameterQuantifier, "The parameter quantifier cannot be applied here" - cxEditConsts_scxMaskEditRegExprError, "Regular expression errors:" - cxEditConsts_scxMaskEditInvalidEditValue, "The edit value is invalid" - cxEditConsts_cxSSpinEditInvalidNumericValue, "Invalid numeric value" - cxEditConsts_scxRegExprEmptySourceStream, "The source stream is empty" - cxEditConsts_scxRegExprCantUsePlusQuantifier, "The '+' quantifier cannot be applied here" - cxEditConsts_scxRegExprCantUseStarQuantifier, "The '*' quantifier cannot be applied here" - cxEditConsts_scxRegExprCantCreateEmptyAlt, "The alternative should not be empty" - cxEditConsts_scxRegExprCantCreateEmptyBlock, "The block should not be empty" - cxEditConsts_scxRegExprIllegalSymbol, "Illegal '%s'" cxEditConsts_scxRegExprIllegalQuantifier, "Illegal quantifier '%s'" cxEditConsts_scxRegExprIllegalIntegerValue, "Illegal integer value" cxEditConsts_scxRegExprTooBigReferenceNumber, "Too big reference number" @@ -1126,43 +1059,27 @@ BEGIN cxEditConsts_scxRegExprMissing, "Missing '%s'" cxEditConsts_scxRegExprUnnecessary, "Unnecessary '%s'" cxEditConsts_scxRegExprIncorrectSpace, "The space character is not allowed after '\\'" - cxEditConsts_scxSEditRepositoryCurrencyItem, "CurrencyEdit|Represents an editor enabling editing currency data" - cxEditConsts_scxSEditRepositoryDateItem, "DateEdit|Represents an edit control with a dropdown calendar" - cxEditConsts_scxSEditRepositoryHyperLinkItem, "HyperLink|Represents a text editor with hyperlink functionality" - cxEditConsts_scxSEditRepositoryImageComboBoxItem, "ImageComboBox|Represents an editor displaying the list of images and text strings within the dropdown window" - cxEditConsts_scxSEditRepositoryImageItem, "Image|Represents an image editor" - cxEditConsts_scxSEditRepositoryMaskItem, "MaskEdit|Represents a generic masked edit control." - cxEditConsts_scxSEditRepositoryMemoItem, "Memo|Represents an edit control that allows editing memo data" - cxEditConsts_scxSEditRepositoryMRUItem, "MRUEdit|Represents a text editor displaying the list of most recently used items (MRU) within a dropdown window" - cxEditConsts_scxSEditRepositoryPopupItem, "PopupEdit|Represents an edit control with a dropdown list" - cxEditConsts_scxSEditRepositorySpinItem, "SpinEdit|Represents a spin editor" - cxEditConsts_scxSEditRepositoryRadioGroupItem, "RadioGroup|Represents a group of radio buttons" - cxEditConsts_scxSEditRepositoryTextItem, "TextEdit|Represents a single line text editor" - cxEditConsts_scxSEditRepositoryTimeItem, "TimeEdit|Represents an editor displaying time values" - cxEditConsts_scxRegExprLine, "Line" - cxEditConsts_scxRegExprChar, "Char" - cxEditConsts_scxRegExprNotAssignedSourceStream, "The source stream is not assigned" - cxEditConsts_cxSDateSecond, "second" - cxEditConsts_cxSDateThird, "third" - cxEditConsts_cxSDateFourth, "fourth" - cxEditConsts_cxSDateFifth, "fifth" - cxEditConsts_cxSDateSixth, "sixth" + cxEditConsts_scxRegExprNotCompiled, "Regular expression is not compiled" + cxEditConsts_scxRegExprIncorrectParameterQuantifier, "Incorrect parameter quantifier" + cxEditConsts_scxRegExprCantUseParameterQuantifier, "The parameter quantifier cannot be applied here" + cxEditConsts_scxMaskEditRegExprError, "Regular expression errors:" + cxEditConsts_scxMaskEditInvalidEditValue, "The edit value is invalid" cxEditConsts_cxSDateSeventh, "seventh" cxEditConsts_cxSDateBOM, "bom" cxEditConsts_cxSDateEOM, "eom" cxEditConsts_cxSDateNow, "now" - cxEditConsts_scxSCalcError, "Error" - cxEditConsts_scxSHyperLinkPrefix, "http://" - cxEditConsts_scxSEditRepositoryBlobItem, "BlobEdit|Represents the BLOB editor" cxEditConsts_scxSEditRepositoryButtonItem, "ButtonEdit|Represents an edit control with embedded buttons" - cxEditConsts_scxSEditRepositoryCalcItem, "CalcEdit|Represents an edit control with a dropdown calculator window" - cxEditConsts_scxSEditRepositoryCheckBoxItem, "CheckBox|Represents a check box control that allows selecting an option" - cxEditConsts_scxSEditRepositoryComboBoxItem, "ComboBox|Represents the combo box editor" - cxEditConsts_cxSDatePopupClear, "Clear" - cxEditConsts_cxSDatePopupNow, "Now" - cxEditConsts_cxSDatePopupOK, "OK" - cxEditConsts_cxSDatePopupToday, "Today" - cxEditConsts_cxSDateError, "Invalid Date" + cxEditConsts_scxSEditRepositoryMaskItem, "MaskEdit|Represents a generic masked edit control." + cxEditConsts_scxSEditRepositoryTextItem, "TextEdit|Represents a single line text editor" + cxEditConsts_scxRegExprLine, "Line" + cxEditConsts_scxRegExprChar, "Char" + cxEditConsts_scxRegExprNotAssignedSourceStream, "The source stream is not assigned" + cxEditConsts_scxRegExprEmptySourceStream, "The source stream is empty" + cxEditConsts_scxRegExprCantUsePlusQuantifier, "The '+' quantifier cannot be applied here" + cxEditConsts_scxRegExprCantUseStarQuantifier, "The '*' quantifier cannot be applied here" + cxEditConsts_scxRegExprCantCreateEmptyAlt, "The alternative should not be empty" + cxEditConsts_scxRegExprCantCreateEmptyBlock, "The block should not be empty" + cxEditConsts_scxRegExprIllegalSymbol, "Illegal '%s'" cxEditConsts_cxSDateToday, "today" cxEditConsts_cxSDateYesterday, "yesterday" cxEditConsts_cxSDateTomorrow, "tomorrow" @@ -1174,22 +1091,15 @@ BEGIN cxEditConsts_cxSDateFriday, "Friday" cxEditConsts_cxSDateSaturday, "Saturday" cxEditConsts_cxSDateFirst, "first" - cxEditConsts_cxSEditCheckBoxGrayed, "" - cxEditConsts_cxSEditCheckBoxUnchecked, "False" - cxEditConsts_cxSRadioGroupDefaultCaption, "" - cxEditConsts_cxSBlobButtonOK, "&OK" - cxEditConsts_cxSBlobButtonCancel, "&Cancel" - cxEditConsts_cxSBlobButtonClose, "&Close" - cxEditConsts_cxSBlobMemo, "(MEMO)" - cxEditConsts_cxSBlobMemoEmpty, "(memo)" - cxEditConsts_cxSBlobPicture, "(PICTURE)" - cxEditConsts_cxSBlobPictureEmpty, "(picture)" - cxEditConsts_cxSMenuItemCaptionCut, "Cu&t" - cxEditConsts_cxSMenuItemCaptionCopy, "&Copy" - cxEditConsts_cxSMenuItemCaptionPaste, "&Paste" - cxEditConsts_cxSMenuItemCaptionDelete, "&Delete" - cxEditConsts_cxSMenuItemCaptionLoad, "&Load..." - cxEditConsts_cxSMenuItemCaptionSave, "Save &As..." + cxEditConsts_cxSDateSecond, "second" + cxEditConsts_cxSDateThird, "third" + cxEditConsts_cxSDateFourth, "fourth" + cxEditConsts_cxSDateFifth, "fifth" + cxEditConsts_cxSDateSixth, "sixth" + pnglang_EPNGUnknownCompressionText, "This \"Portable Network Graphics\" image is encoded with an unknown compression scheme which could not be decoded." + pnglang_EPNGUnknownInterlaceText, "This \"Portable Network Graphics\" image uses an unknown interlace scheme which could not be decoded." + pnglang_EPNGCannotAssignChunkText, "The chunks must be compatible to be assigned." + pnglang_EPNGUnexpectedEndText, "This \"Portable Network Graphics\" image is invalid because the decoder found an unexpected end of the file." pnglang_EPNGNoImageDataText, "This \"Portable Network Graphics\" image contains no data." pnglang_EPNGCannotChangeSizeText, "The \"Portable Network Graphics\" image can not be resize by changing width and height properties. Try assigning the image from a bitmap." pnglang_EPNGCannotAddChunkText, "The program tried to add a existent critical chunk to the current image which is not allowed." @@ -1198,14 +1108,14 @@ BEGIN pnglang_EPNGHeaderNotPresentText, "This operation is not valid because the current image contains no valid header." cxDataConsts_cxSDataReadError, "Stream read error" cxDataConsts_cxSDataWriteError, "Stream write error" - cxEditConsts_cxSEditDateConvertError, "Could not convert to date" cxEditConsts_cxSEditInvalidRepositoryItem, "The repository item is not acceptable" cxEditConsts_cxSEditNumericValueConvertError, "Could not convert to numeric value" - cxEditConsts_cxSEditPopupCircularReferencingError, "Circular referencing is not allowed" - cxEditConsts_cxSEditTimeConvertError, "Could not convert to time" cxEditConsts_cxSEditValidateErrorText, "Invalid input value. Use escape key to abandon changes" cxEditConsts_cxSEditValueOutOfBounds, "Value out of bounds" - cxEditConsts_cxSEditCheckBoxChecked, "True" + ADOConst_SConnectionRequired, "A connection component is required for async ExecuteOptions" + ADOConst_SCantRequery, "Cannot perform a requery after connection has changed" + ADOConst_SNoFilterOptions, "FilterOptions are not supported" + ADOConst_SRecordsetNotOpen, "Recordset is not open" ADOConst_sNameAttr, "Name" ADOConst_sValueAttr, "Value" pnglang_EPngInvalidCRCText, "This \"Portable Network Graphics\" image is not valid because it contains invalid pieces of data (crc error)" @@ -1218,10 +1128,10 @@ BEGIN pnglang_EPNGSizeExceedsText, "This \"Portable Network Graphics\" image is not supported because either it's width or height exceeds the maximum size, which is 65535 pixels length." pnglang_EPNGUnknownPalEntryText, "There is no such palette entry." pnglang_EPNGUnknownCriticalChunkText, "This \"Portable Network Graphics\" image contains an unknown critical part which could not be decoded." - pnglang_EPNGUnknownCompressionText, "This \"Portable Network Graphics\" image is encoded with an unknown compression scheme which could not be decoded." - pnglang_EPNGUnknownInterlaceText, "This \"Portable Network Graphics\" image uses an unknown interlace scheme which could not be decoded." - pnglang_EPNGCannotAssignChunkText, "The chunks must be compatible to be assigned." - pnglang_EPNGUnexpectedEndText, "This \"Portable Network Graphics\" image is invalid because the decoder found an unexpected end of the file." + IBSQLMonitor_StrPlan, " Plan: " + IBSQLMonitor_StrPlanCantRetrive, " Plan: Can't retrieve plan - too large" + IBSQLMonitor_StrCommitHardComm, ": [Commit (Hard commit)]" + IBSQLMonitor_StrCommitRetaining, ": [Commit retaining (Soft commit)]" IBSQLMonitor_StrRollback, ": [Rollback]" IBSQLMonitor_StrRollbackRetainin, ": [Rollback retaining (Soft rollback)]" IBSQLMonitor_StrStartTransaction, ": [Start transaction]" @@ -1234,10 +1144,10 @@ BEGIN ADOConst_SADOCreateError, "Error creating object. Please verify that the Microsoft Data Access Components 2.1 (or later) have been properly installed" ADOConst_SEventsNotSupported, "Events are not supported with server side TableDirect cursors" ADOConst_SUsupportedFieldType, "Unsupported field type (%s) in field %s" - ADOConst_SConnectionRequired, "A connection component is required for async ExecuteOptions" - ADOConst_SCantRequery, "Cannot perform a requery after connection has changed" - ADOConst_SNoFilterOptions, "FilterOptions are not supported" - ADOConst_SRecordsetNotOpen, "Recordset is not open" + IBXConst_SIB70feature, "%s is an InterBase 7.0 function. Please upgrade to InterBase 7.0 to use this functonality" + IBXConst_SIB71feature, "%s is an InterBase 7.1 function. Please upgrade to InterBase 7.1 to use this functonality" + IBXConst_SIB80feature, "%s is an InterBase 2007 function. Please upgrade to InterBase 2007 to use this functonality" + IBSQLMonitor_StrConnect, ": [Connect]" IBSQLMonitor_StrDisconnect, ": [Disconnect]" IBSQLMonitor_StrMisc, "[Misc] " IBSQLMonitor_StrError, "[Error] " @@ -1250,10 +1160,9 @@ BEGIN IBSQLMonitor_StrBLOB, "" IBSQLMonitor_StrFetch, ": [Fetch] " IBSQLMonitor_StrPrepare, ": [Prepare] " - IBSQLMonitor_StrPlan, " Plan: " - IBSQLMonitor_StrPlanCantRetrive, " Plan: Can't retrieve plan - too large" - IBSQLMonitor_StrCommitHardComm, ": [Commit (Hard commit)]" - IBSQLMonitor_StrCommitRetaining, ": [Commit retaining (Soft commit)]" + IBXConst_SNosourceDirectory, "SourceDirectory is not set" + IBXConst_SNoUninstallFile, "Uninstall File Name is not set" + IBXConst_SOptionNeedsClient, "%s component requires Client to function properly" IBXConst_SOptionNeedsServer, "%s component requires Server to function properly" IBXConst_SInvalidOption, "Invalid option specified" IBXConst_SInvalidOnErrorResult, "Unexpected onError return value" @@ -1267,9 +1176,9 @@ BEGIN IBXConst_SNoTimers, "Not enough timers available" IBXConst_SIB65feature, "%s is an InterBase 6.5 function. Please upgrade to InterBase 6.5 to use this functonality" IBXConst_SLoginPromptFailure, "Can not find default login prompt dialog. Please add DBLogDlg to the uses section of your main file." - IBXConst_SIB70feature, "%s is an InterBase 7.0 function. Please upgrade to InterBase 7.0 to use this functonality" - IBXConst_SIB71feature, "%s is an InterBase 7.1 function. Please upgrade to InterBase 7.1 to use this functonality" - IBSQLMonitor_StrConnect, ": [Connect]" + IBXConst_SServiceInActive, "Cannot perform operation -- service is attached" + IBXConst_SServerNameMissing, "Server Name Missing" + IBXConst_SQueryParamsError, "Query Parameters missing or incorrect" IBXConst_SStartParamsError, "start Parameters missing or incorrect" IBXConst_SOutputParsingError, "Unexpected Output buffer value" IBXConst_SUseSpecificProcedures, "Generic ServiceStart not applicable: Use Specific Procedures to set configuration params" @@ -1283,9 +1192,9 @@ BEGIN IBXConst_SDelphiException, "DelphiException %s" IBXConst_SNoOptionsSet, "No Install Options selected" IBXConst_SNoDestinationDirectory, "DestinationDirectory is not set" - IBXConst_SNosourceDirectory, "SourceDirectory is not set" - IBXConst_SNoUninstallFile, "Uninstall File Name is not set" - IBXConst_SOptionNeedsClient, "%s component requires Client to function properly" + IBXConst_SNoTableName, "No Table Name assigned" + IBXConst_SCannotCreatePrimaryIndex, "Cannot Create Primary Index; are created automatically" + IBXConst_SCannotDropSystemIndex, "Cannot Drop System Index" IBXConst_STableNameMismatch, "Table Name Mismatch" IBXConst_SIndexFieldMissing, "Index Field Missing" IBXConst_SInvalidCancellation, "Cannot Cancel events while processing" @@ -1299,9 +1208,9 @@ BEGIN IBXConst_SSPBConstantNotSupported, "SPB Constant Not supported" IBXConst_SSPBConstantUnknown, "SPB Constant Unknown" IBXConst_SServiceActive, "Cannot perform operation -- service is not attached" - IBXConst_SServiceInActive, "Cannot perform operation -- service is attached" - IBXConst_SServerNameMissing, "Server Name Missing" - IBXConst_SQueryParamsError, "Query Parameters missing or incorrect" + IBXConst_SWindowsAPIError, "Windows API error. (Windows error %d [$%.8x])" + IBXConst_SColumnListsDontMatch, "Column lists do not match" + IBXConst_SColumnTypesDontMatch, "Column types don't match. (From index: %d; To index: %d)" IBXConst_SCantEndSharedTransaction, "Can't end a shared transaction unless it is forced and equal to the transaction's TimeoutAction" IBXConst_SFieldUnsupportedType, "Unsupported Field Type" IBXConst_SCircularDataLink, "Circular DataLink Reference" @@ -1315,9 +1224,9 @@ BEGIN IBXConst_SNotLiveRequest, "Request is not live - cannot modify" IBXConst_SNoProvider, "No Provider" IBXConst_SNoRecordsAffected, "No Records Affected" - IBXConst_SNoTableName, "No Table Name assigned" - IBXConst_SCannotCreatePrimaryIndex, "Cannot Create Primary Index; are created automatically" - IBXConst_SCannotDropSystemIndex, "Cannot Drop System Index" + IBXConst_SCannotOpenNonSQLSelect, "Cannot \"open\" a non-select statement. Use ExecQuery" + IBXConst_SNoFieldAccess, "No access to field \"%s\"" + IBXConst_SFieldReadOnly, "Field \"%s\" is read-only" IBXConst_SFieldNotFound, "Field \"%s\" not found" IBXConst_SNotEditing, "Not in edit mode" IBXConst_SCannotInsert, "Cannot insert into dataset. (No insert query)" @@ -1331,9 +1240,9 @@ BEGIN IBXConst_SUserAbort, "User abort" IBXConst_SDataSetUniDirectional, "Data set is uni-directional" IBXConst_SCannotCreateSharedResource, "Cannot create shared resource. (Windows error %d)" - IBXConst_SWindowsAPIError, "Windows API error. (Windows error %d [$%.8x])" - IBXConst_SColumnListsDontMatch, "Column lists do not match" - IBXConst_SColumnTypesDontMatch, "Column types don't match. (From index: %d; To index: %d)" + IBXConst_SXSQLDANameDoesNotExist, "XSQLDA name does not exist (%s)" + IBXConst_SEOF, "End of file" + IBXConst_SBOF, "Beginning of file" IBXConst_SInvalidStatementHandle, "Invalid statement handle" IBXConst_SSQLOpen, "IBSQL Open" IBXConst_SSQLClosed, "IBSQL Closed" @@ -1347,9 +1256,9 @@ BEGIN IBXConst_SBlobCannotBeRead, "Blob stream cannot be read" IBXConst_SBlobCannotBeWritten, "Blob stream cannot be written" IBXConst_SEmptyQuery, "Empty query" - IBXConst_SCannotOpenNonSQLSelect, "Cannot \"open\" a non-select statement. Use ExecQuery" - IBXConst_SNoFieldAccess, "No access to field \"%s\"" - IBXConst_SFieldReadOnly, "Field \"%s\" is read-only" + IBXConst_SDPBConstantNotSupported, "DPB Constant (isc_dpb_%s) is unsupported" + IBXConst_SDPBConstantUnknown, "DPB Constant (%d) is unknown" + IBXConst_STPBConstantNotSupported, "TPB Constant (isc_tpb_%s) is unsupported" IBXConst_STPBConstantUnknown, "TPB Constant (%d) is unknown" IBXConst_SDatabaseClosed, "Cannot perform operation -- DB is not open" IBXConst_SDatabaseOpen, "Cannot perform operation -- DB is currently open" @@ -1363,11 +1272,11 @@ BEGIN IBXConst_SDatabaseNotAssigned, "Database not assigned" IBXConst_STransactionNotAssigned, "Transaction not assigned" IBXConst_SXSQLDAIndexOutOfRange, "XSQLDA index out of range" - IBXConst_SXSQLDANameDoesNotExist, "XSQLDA name does not exist (%s)" - IBXConst_SEOF, "End of file" - IBXConst_SBOF, "Beginning of file" - VDBConsts_SRefreshRecord, "Refresh data" - VDBConsts_SRemoteLogin, "Remote Login" + uDARes_err_NeedShareMem, "To use dynamically loaded drivers, you must build your application with ShareMem." + uDARes_err_ExecuteSQLCommandNotAllowed, "ExecuteSQLCommand is not enabled for this server." + uDARes_err_DatasetNotAccessible, "Access to dataset %s has not been permitted." + uDARes_err_CommandNotAccessible, "executon of command %s has not been permitted." + uDARes_err_SQLNotPermitted, "Execution of the specified SQL statement has not been permitted." IBXConst_SUnknownError, "Unknown error" IBXConst_SInterBaseMissing, "InterBase library gds32.dll not found in the path. Please install InterBase to use this functionality" IBXConst_SInterBaseInstallMissing, "InterBase Install DLL ibinstall.dll not found in the path. Please install InterBase 6 to use this functionality" @@ -1379,27 +1288,6 @@ BEGIN IBXConst_SCannotSetDatabase, "Cannot set database" IBXConst_SCannotSetTransaction, "Cannot set transaction" IBXConst_SOperationCancelled, "Operation cancelled at user's request" - IBXConst_SDPBConstantNotSupported, "DPB Constant (isc_dpb_%s) is unsupported" - IBXConst_SDPBConstantUnknown, "DPB Constant (%d) is unknown" - IBXConst_STPBConstantNotSupported, "TPB Constant (isc_tpb_%s) is unsupported" - uDARes_err_DARDMConnectionIsNotAssigned, "Connection is not assigned" - uDARes_err_DARDMCannotFindProxessorForDelta, "Cannot find a business processor for delta \"%s\"" - uDARes_err_NeedShareMem, "To use dynamically loaded drivers, you must build your application with ShareMem." - uDARes_err_ExecuteSQLCommandNotAllowed, "ExecuteSQLCommand is not enabled for this server." - uDARes_err_DatasetNotAccessible, "Access to dataset %s has not been permitted." - uDARes_err_CommandNotAccessible, "executon of command %s has not been permitted." - uDARes_err_SQLNotPermitted, "Execution of the specified SQL statement has not been permitted." - VDBConsts_SFirstRecord, "First record" - VDBConsts_SPriorRecord, "Prior record" - VDBConsts_SNextRecord, "Next record" - VDBConsts_SLastRecord, "Last record" - VDBConsts_SInsertRecord, "Insert record" - VDBConsts_SDeleteRecord, "Delete record" - VDBConsts_SEditRecord, "Edit record" - VDBConsts_SPostEdit, "Post edit" - VDBConsts_SCancelEdit, "Cancel edit" - uDARes_err_CannotFindItem, "Cannot find %s \"%s\" in collection of type %s" - uDARes_err_DriverAlreadyLoaded, "Driver %s is already loaded" uDARes_err_InvalidDLL, "%s is not a valid Data Abstract driver" uDARes_err_UnknownDriver, "Unknown driver %s" uDARes_err_FieldIsNotBound, "Field is not bound" @@ -1414,8 +1302,8 @@ BEGIN uDARes_err_HETConnectionNotSupportedInV3, "HET Connections are not supported by te legacy v3 DARemoteService" uDARes_err_DARDMInvalidSchema, "Schema must be assigned and must point to a ConnectionManager" uDARes_err_DARDMUnassignedAdapter, "DataAdapter is not assigned" - JvResources_RsCl3DDkShadow, "Dark shadow 3D elements" - JvResources_RsCl3DLight, "Highlight 3D elements" + uDARes_err_DARDMConnectionIsNotAssigned, "Connection is not assigned" + uDARes_err_DARDMCannotFindProxessorForDelta, "Cannot find a business processor for delta \"%s\"" JvResources_RsClInfoText, "Tooltip text" JvResources_RsClInfoBk, "Tooltip background" JvResources_RsGradientActiveCaption, "Gradient Active Caption" @@ -1430,8 +1318,8 @@ BEGIN uDARes_err_DriverManagerNotAssigned, "Driver Manager is not assigned" uDARes_err_FieldTypeNotSupported, "FieldType %s (%d) is not supported" uDARes_err_InvalidDataset, "Invalid or NIL dataset" - JvResources_RsClWindow, "Window background" - JvResources_RsClWindowFrame, "Window frame" + uDARes_err_CannotFindItem, "Cannot find %s \"%s\" in collection of type %s" + uDARes_err_DriverAlreadyLoaded, "Driver %s is already loaded" JvResources_RsClMenuText, "Menu text" JvResources_RsClWindowText, "Window text" JvResources_RsClCaptionText, "Active window title bar text" @@ -1446,8 +1334,8 @@ BEGIN JvResources_RsClBtnText, "Button text" JvResources_RsClInactiveCaptionText, "Inactive window title bar text" JvResources_RsClBtnHighlight, "Button highlight" - JvResources_RsClBrightGreen, "Bright Green" - JvResources_RsClTurquoise, "Turquoise" + JvResources_RsCl3DDkShadow, "Dark shadow 3D elements" + JvResources_RsCl3DLight, "Highlight 3D elements" JvResources_RsClPlum, "Plum" JvResources_RsClGray25, "Gray 25%" JvResources_RsClRose, "Rose" @@ -1462,8 +1350,8 @@ BEGIN JvResources_RsClActiveCaption, "Active window title bar" JvResources_RsClInactiveCaption, "Inactive window title bar" JvResources_RsClMenu, "Menu background" - JvResources_RsClDarkTeal, "Dark Teal" - JvResources_RsClDarkBlue, "Dark Blue" + JvResources_RsClWindow, "Window background" + JvResources_RsClWindowFrame, "Window frame" JvResources_RsClIndigo, "Indigo" JvResources_RsClGray80, "Gray 80%" JvResources_RsClDarkRed, "Dark Red" @@ -1478,8 +1366,8 @@ BEGIN JvResources_RsClGray40, "Gray 40%" JvResources_RsClPink, "Pink" JvResources_RsClGold, "Gold" - JvResources_RsClGray, "Gray" - JvResources_RsClSilver, "Silver" + JvResources_RsClBrightGreen, "Bright Green" + JvResources_RsClTurquoise, "Turquoise" JvResources_RsClRed, "Red" JvResources_RsClLime, "Lime" JvResources_RsClYellow, "Yellow" @@ -1494,8 +1382,8 @@ BEGIN JvResources_RsClBrown, "Brown" JvResources_RsClOliveGreen, "Olive Green" JvResources_RsClDarkGreen, "Dark Green" - JvResources_RsENoGIFData, "No GIF Data to write" - JvResources_RsEUnrecognizedGIFExt, "Unrecognized extension block: %.2x" + JvResources_RsClDarkTeal, "Dark Teal" + JvResources_RsClDarkBlue, "Dark Blue" JvResources_RsEWrongGIFColors, "Wrong number of colors; must be a power of 2" JvResources_RsEBadGIFCodeSize, "GIF code size not in range 2 to 9" JvResources_RsEGIFDecodeError, "GIF encoded data is corrupt" @@ -1510,8 +1398,8 @@ BEGIN JvResources_RsClNavy, "Navy blue" JvResources_RsClPurple, "Purple" JvResources_RsClTeal, "Teal" - JclResources_RsIntelCacheDescrB3, "Data TLB: 4 KByte pages, 4-way set associative, 128 entries" - JclResources_RsIntelCacheDescrB4, "Data TLB1: 4 KByte pages, 4-way set associative, 256 entries" + JvResources_RsClGray, "Gray" + JvResources_RsClSilver, "Silver" JclResources_RsIntelCacheDescrF0, "64-Byte Prefetching" JclResources_RsIntelCacheDescrF1, "128-Byte Prefetching" JvResources_RsAniExtension, "ani" @@ -1526,8 +1414,8 @@ BEGIN JvResources_RsECircularReferenceOfStorages, "Circular reference of storages" JvResources_RsGIFImage, "CompuServe GIF Image" JvResources_RsEChangeGIFSize, "Cannot change the Size of a GIF image" - JclResources_RsIntelCacheDescr71, "Trace cache: 16 K-Ops, 8-way set associative" - JclResources_RsIntelCacheDescr72, "Trace cache: 32 K-Ops, 8-way set associative" + JvResources_RsENoGIFData, "No GIF Data to write" + JvResources_RsEUnrecognizedGIFExt, "Unrecognized extension block: %.2x" JclResources_RsIntelCacheDescr78, "2nd-level cache: 1 MBytes, 4-way set associative, 64 bytes line size" JclResources_RsIntelCacheDescr79, "2nd-level cache: 128 KBytes, 8-way set associative, 64 bytes line size, 2 lines per sector" JclResources_RsIntelCacheDescr7A, "2nd-level cache: 256 KBytes, 8-way set associative, 64 bytes line size, 2 lines per sector" @@ -1542,8 +1430,8 @@ BEGIN JclResources_RsIntelCacheDescr86, "2nd-level cache: 512 KByte, 4-way set associative, 64 byte line size" JclResources_RsIntelCacheDescr87, "2nd-level cache: 1 MByte, 8-way set associative, 64 byte line size" JclResources_RsIntelCacheDescrB0, "Instruction TLB: 4 KByte pages, 4-way set associative, 128 entries" - JclResources_RsIntelCacheDescr46, "3rd-level cache: 4 MBytes, 4-way set associative, 64 byte line size" - JclResources_RsIntelCacheDescr47, "3rd-level cache: 8 MBytes, 4-way set associative, 64 byte line size" + JclResources_RsIntelCacheDescrB3, "Data TLB: 4 KByte pages, 4-way set associative, 128 entries" + JclResources_RsIntelCacheDescrB4, "Data TLB1: 4 KByte pages, 4-way set associative, 256 entries" JclResources_RsIntelCacheDescr49, "2nd-level cache: 4 MBytes, 16-way set associative, 64 byte line size" JclResources_RsIntelCacheDescr50, "Instruction TLB: 4 KByte and 2 MByte or 4 MByte pages, 64 Entries" JclResources_RsIntelCacheDescr51, "Instruction TLB: 4 KByte and 2 MByte or 4 MByte pages, 128 Entries" @@ -1558,8 +1446,8 @@ BEGIN JclResources_RsIntelCacheDescr67, "1st-level data cache: 16 KBytes, 4-way set associative, 64 byte line size" JclResources_RsIntelCacheDescr68, "1st-level data cache: 32 KBytes, 4-way set associative, 64 byte line size" JclResources_RsIntelCacheDescr70, "Trace cache: 12 K-Ops, 8-way set associative" - JclResources_RsIntelCacheDescr08, "1st level instruction cache: 16 KBytes, 4-way set associative, 32 byte line size" - JclResources_RsIntelCacheDescr0A, "1st level data cache: 8 KBytes, 2-way set associative, 32 byte line size" + JclResources_RsIntelCacheDescr71, "Trace cache: 16 K-Ops, 8-way set associative" + JclResources_RsIntelCacheDescr72, "Trace cache: 32 K-Ops, 8-way set associative" JclResources_RsIntelCacheDescr0B, "Instruction TLB: 4 MByte pages, 4-way set associative, 4 entries" JclResources_RsIntelCacheDescr0C, "1st level data cache: 16 KBytes, 4-way set associative, 32 byte line size" JclResources_RsIntelCacheDescr22, "3rd level cache: 512 KBytes, 4-way set associative, 64 byte line size, 2 lines per sector" @@ -1574,8 +1462,8 @@ BEGIN JclResources_RsIntelCacheDescr43, "2nd-level cache: 512 KBytes, 4-way set associative, 32 byte line size" JclResources_RsIntelCacheDescr44, "2nd-level cache: 1 MBytes, 4-way set associative, 32 byte line size" JclResources_RsIntelCacheDescr45, "2nd-level cache: 2 MBytes, 4-way set associative, 32 byte line size" - JclResources_RsRTTIParamCount, "Parameter count: " - JclResources_RsRTTIReturnType, "Return type: " + JclResources_RsIntelCacheDescr46, "3rd-level cache: 4 MBytes, 4-way set associative, 64 byte line size" + JclResources_RsIntelCacheDescr47, "3rd-level cache: 8 MBytes, 4-way set associative, 64 byte line size" JclResources_RsRTTIMaxLen, "Max length: " JclResources_RsRTTIElSize, "Element size: " JclResources_RsRTTIElType, "Element type: " @@ -1590,8 +1478,8 @@ BEGIN JclResources_RsIntelCacheDescr04, "Data TLB: 4 MByte pages, 4-way set associative, 8 entries" JclResources_RsIntelCacheDescr05, "Data TLB1: 4 MByte pages, 4-way set associative, 32 entries" JclResources_RsIntelCacheDescr06, "1st level instruction cache: 8 KBytes, 4-way set associative, 32 byte line size" - JclResources_RsRTTIName, "Name: " - JclResources_RsRTTIType, "Type: " + JclResources_RsIntelCacheDescr08, "1st level instruction cache: 16 KBytes, 4-way set associative, 32 byte line size" + JclResources_RsIntelCacheDescr0A, "1st level data cache: 8 KBytes, 2-way set associative, 32 byte line size" JclResources_RsRTTIFlags, "Flags: " JclResources_RsRTTIGUID, "GUID: " JclResources_RsRTTITypeKind, "Type kind: " @@ -1606,8 +1494,8 @@ BEGIN JclResources_RsRTTIBasedOn, "Based on: " JclResources_RsRTTIFloatType, "Float type: " JclResources_RsRTTIMethodKind, "Method kind: " - JclResources_RsRTTIConst, "const " - JclResources_RsRTTIArrayOf, "array of " + JclResources_RsRTTIParamCount, "Parameter count: " + JclResources_RsRTTIReturnType, "Return type: " JclResources_RsRTTIOut, "out " JclResources_RsRTTIOrdinal, "ordinal=" JclResources_RsRTTITrue, "True" @@ -1622,8 +1510,8 @@ BEGIN JclResources_RsRTTIVirtualMethod, "virtual method" JclResources_RsRTTIIndex, "index" JclResources_RsRTTIDefault, "default" - JclResources_RsHKCULong, "HKEY_CURRENT_USER" - JclResources_RsHKLMLong, "HKEY_LOCAL_MACHINE" + JclResources_RsRTTIName, "Name: " + JclResources_RsRTTIType, "Type: " JclResources_RsHKUSLong, "HKEY_USERS" JclResources_RsHKPDLong, "HKEY_PERFORMANCE_DATA" JclResources_RsHKCCLong, "HKEY_CURRENT_CONFIG" @@ -1638,8 +1526,8 @@ BEGIN JclResources_RsRTTIValueOutOfRange, "Value out of range (%s)." JclResources_RsRTTIUnknownIdentifier, "Unknown identifier '%s'." JclResources_RsRTTIVar, "var " - ComStrs_sPageIndexError, "%d is an invalid PageIndex value. PageIndex must be between 0 and %d" - JConsts_sChangeJPGSize, "Cannot change the size of a JPEG image" + JclResources_RsRTTIConst, "const " + JclResources_RsRTTIArrayOf, "array of " JConsts_sJPEGError, "JPEG error #%d" JConsts_sJPEGImageFile, "JPEG Image File" JclResources_RsWin32Prefix, "Win32: %s (%u)" @@ -1654,12 +1542,12 @@ BEGIN JclResources_RsWrongDataType, "\"%s\\%s\\%s\" is of wrong kind or size" JclResources_RsInconsistentPath, "\"%s\" does not match RootKey" JclResources_RsHKCRLong, "HKEY_CLASSES_ROOT" - IdResourceStringsCore_RSBufferMissingTerminator, "Buffer terminator must be specified." - IdResourceStringsCore_RSBufferInvalidStartPos, "Buffer start position is invalid." - IdResourceStringsCore_RSReplyInvalidCode, "Reply Code is not valid: %s" - IdResourceStringsCore_RSThreadSchedulerThreadRequired, "Thread must be specified for the scheduler." - IdResourceStringsCore_RSNoOnExecute, "You must have an OnExecute event." - IdResourceStringsCore_RSTCPServerSchedulerAlreadyActive, "Cannot change the scheduler while the server is Active." + JclResources_RsHKCULong, "HKEY_CURRENT_USER" + JclResources_RsHKLMLong, "HKEY_LOCAL_MACHINE" + IdResourceStringsProtocols_RSHTTPErrorParsingCommand, "Error in parsing command." + IdResourceStringsProtocols_RSHTTPUnsupportedAuthorisationScheme, "Unsupported authorization scheme." + IdResourceStringsProtocols_RSHTTPCannotSwitchSessionStateWhenActive, "Cannot change session state when the server is active." + IdResourceStringsProtocols_RSHTTPAuthAlreadyRegistered, "This authentication method is already registered with class name %s." ComStrs_sTabFailClear, "Failed to clear tab control" ComStrs_sTabFailDelete, "Failed to delete tab at index %d" ComStrs_sTabFailRetrieve, "Failed to retrieve tab at index %d" @@ -1670,6 +1558,59 @@ BEGIN ComStrs_sInvalidIndex, "Invalid index" ComStrs_sInsertError, "Unable to insert an item" ComStrs_sUDAssociated, "%s is already associated with %s" + ComStrs_sPageIndexError, "%d is an invalid PageIndex value. PageIndex must be between 0 and %d" + JConsts_sChangeJPGSize, "Cannot change the size of a JPEG image" + IdResourceStringsProtocols_RSHTTPRequestTimeout, "Request Timeout" + IdResourceStringsProtocols_RSHTTPConflict, "Conflict" + IdResourceStringsProtocols_RSHTTPGone, "Gone" + IdResourceStringsProtocols_RSHTTPLengthRequired, "Length Required" + IdResourceStringsProtocols_RSHTTPPreconditionFailed, "Precondition Failed" + IdResourceStringsProtocols_RSHTTPRequestEntityToLong, "Request Entity To Long" + IdResourceStringsProtocols_RSHTTPRequestURITooLong, "Request-URI Too Long. 256 Chars max" + IdResourceStringsProtocols_RSHTTPUnsupportedMediaType, "Unsupported Media Type" + IdResourceStringsProtocols_RSHTTPInternalServerError, "Internal Server Error" + IdResourceStringsProtocols_RSHTTPNotImplemented, "Not Implemented" + IdResourceStringsProtocols_RSHTTPBadGateway, "Bad Gateway" + IdResourceStringsProtocols_RSHTTPServiceUnavailable, "Service Unavailable" + IdResourceStringsProtocols_RSHTTPGatewayTimeout, "Gateway timeout" + IdResourceStringsProtocols_RSHTTPHTTPVersionNotSupported, "HTTP version not supported" + IdResourceStringsProtocols_RSHTTPUnknownResponseCode, "Unknown Response Code" + IdResourceStringsProtocols_RSHTTPHeaderAlreadyWritten, "Header has already been written." + IdResourceStringsProtocols_RSHTTPNonAuthoritativeInformation, "Non-authoritative Information" + IdResourceStringsProtocols_RSHTTPNoContent, "No Content" + IdResourceStringsProtocols_RSHTTPResetContent, "Reset Content" + IdResourceStringsProtocols_RSHTTPPartialContent, "Partial Content" + IdResourceStringsProtocols_RSHTTPMovedPermanently, "Moved Permanently" + IdResourceStringsProtocols_RSHTTPMovedTemporarily, "Moved Temporarily" + IdResourceStringsProtocols_RSHTTPSeeOther, "See Other" + IdResourceStringsProtocols_RSHTTPNotModified, "Not Modified" + IdResourceStringsProtocols_RSHTTPUseProxy, "Use Proxy" + IdResourceStringsProtocols_RSHTTPBadRequest, "Bad Request" + IdResourceStringsProtocols_RSHTTPUnauthorized, "Unauthorized" + IdResourceStringsProtocols_RSHTTPForbidden, "Forbidden" + IdResourceStringsProtocols_RSHTTPNotFound, "Not Found" + IdResourceStringsProtocols_RSHTTPMethodNotAllowed, "Method not allowed" + IdResourceStringsProtocols_RSHTTPNotAcceptable, "Not Acceptable" + IdResourceStringsProtocols_RSHTTPProxyAuthenticationRequired, "Proxy Authentication Required" + IdResourceStringsCore_RSchedMaxThreadEx, "The maximum number of threads for this scheduler is exceeded." + IdResourceStringsCore_RSTransparentProxyCannotBind, "Transparent proxy cannot bind." + IdResourceStringsCore_RSTransparentProxyCanNotSupportUDP, "UDP Not supported by this proxy." + IdResourceStringsCore_RSBufferMissingTerminator, "Buffer terminator must be specified." + IdResourceStringsCore_RSBufferInvalidStartPos, "Buffer start position is invalid." + IdResourceStringsCore_RSReplyInvalidCode, "Reply Code is not valid: %s" + IdResourceStringsCore_RSThreadSchedulerThreadRequired, "Thread must be specified for the scheduler." + IdResourceStringsCore_RSNoOnExecute, "You must have an OnExecute event." + IdResourceStringsCore_RSTCPServerSchedulerAlreadyActive, "Cannot change the scheduler while the server is Active." + IdResourceStringsProtocols_RSMIMEExtensionEmpty, "Extension is empty" + IdResourceStringsProtocols_RSMIMEMIMETypeEmpty, "Mimetype is empty" + IdResourceStringsProtocols_RSMIMEMIMEExtAlreadyExists, "Extension already exits" + IdResourceStringsProtocols_RSHTTPContinue, "Continue" + IdResourceStringsProtocols_RSHTTPOK, "OK" + IdResourceStringsProtocols_RSHTTPCreated, "Created" + IdResourceStringsProtocols_RSHTTPAccepted, "Accepted" + IdResourceStringsCore_RSSocksServerTTLExpiredError, "TTL expired." + IdResourceStringsCore_RSSocksServerCommandError, "Command not supported." + IdResourceStringsCore_RSSocksServerAddressError, "Address type not supported." IdResourceStringsCore_RSInterceptCircularLink, "%d: Circular links are not allowed" IdResourceStringsCore_RSNotEnoughDataInBuffer, "Not enough data in buffer." IdResourceStringsCore_RSTooMuchDataInBuffer, "Too much data in buffer." @@ -1683,9 +1624,9 @@ BEGIN IdResourceStringsCore_RSThreadTerminateAndWaitFor, "Cannot call TerminateAndWaitFor on FreeAndTerminate threads" IdResourceStringsCore_RSAlreadyConnected, "Already connected." IdResourceStringsCore_RSMaximumNumberOfCaptureLineExceeded, "Maximum number of line allowed exceeded" - IdResourceStringsCore_RSchedMaxThreadEx, "The maximum number of threads for this scheduler is exceeded." - IdResourceStringsCore_RSTransparentProxyCannotBind, "Transparent proxy cannot bind." - IdResourceStringsCore_RSTransparentProxyCanNotSupportUDP, "UDP Not supported by this proxy." + IdResourceStrings_RSNotAllBytesSent, "Not all bytes sent." + IdResourceStrings_RSPackageSizeTooBig, "Package Size Too Big." + IdResourceStrings_RSSetSizeExceeded, "Set Size Exceeded." IdResourceStringsCore_RSSocksUDPNotSupported, "UDP is not support in this SOCKS version." IdResourceStringsCore_RSSocksRequestFailed, "Request rejected or failed." IdResourceStringsCore_RSSocksRequestServerFailed, "Request rejected because SOCKS server cannot connect." @@ -1699,59 +1640,6 @@ BEGIN IdResourceStringsCore_RSSocksServerNetUnreachableError, "Network unreachable." IdResourceStringsCore_RSSocksServerHostUnreachableError, "Host unreachable." IdResourceStringsCore_RSSocksServerConnectionRefusedError, "Connection refused." - IdResourceStringsCore_RSSocksServerTTLExpiredError, "TTL expired." - IdResourceStringsCore_RSSocksServerCommandError, "Command not supported." - IdResourceStringsCore_RSSocksServerAddressError, "Address type not supported." - IdResourceStringsProtocols_RSHTTPPreconditionFailed, "Precondition Failed" - IdResourceStringsProtocols_RSHTTPRequestEntityToLong, "Request Entity To Long" - IdResourceStringsProtocols_RSHTTPRequestURITooLong, "Request-URI Too Long. 256 Chars max" - IdResourceStringsProtocols_RSHTTPUnsupportedMediaType, "Unsupported Media Type" - IdResourceStringsProtocols_RSHTTPInternalServerError, "Internal Server Error" - IdResourceStringsProtocols_RSHTTPNotImplemented, "Not Implemented" - IdResourceStringsProtocols_RSHTTPBadGateway, "Bad Gateway" - IdResourceStringsProtocols_RSHTTPServiceUnavailable, "Service Unavailable" - IdResourceStringsProtocols_RSHTTPGatewayTimeout, "Gateway timeout" - IdResourceStringsProtocols_RSHTTPHTTPVersionNotSupported, "HTTP version not supported" - IdResourceStringsProtocols_RSHTTPUnknownResponseCode, "Unknown Response Code" - IdResourceStringsProtocols_RSHTTPHeaderAlreadyWritten, "Header has already been written." - IdResourceStringsProtocols_RSHTTPErrorParsingCommand, "Error in parsing command." - IdResourceStringsProtocols_RSHTTPUnsupportedAuthorisationScheme, "Unsupported authorization scheme." - IdResourceStringsProtocols_RSHTTPCannotSwitchSessionStateWhenActive, "Cannot change session state when the server is active." - IdResourceStringsProtocols_RSHTTPAuthAlreadyRegistered, "This authentication method is already registered with class name %s." - IdResourceStringsProtocols_RSHTTPMovedPermanently, "Moved Permanently" - IdResourceStringsProtocols_RSHTTPMovedTemporarily, "Moved Temporarily" - IdResourceStringsProtocols_RSHTTPSeeOther, "See Other" - IdResourceStringsProtocols_RSHTTPNotModified, "Not Modified" - IdResourceStringsProtocols_RSHTTPUseProxy, "Use Proxy" - IdResourceStringsProtocols_RSHTTPBadRequest, "Bad Request" - IdResourceStringsProtocols_RSHTTPUnauthorized, "Unauthorized" - IdResourceStringsProtocols_RSHTTPForbidden, "Forbidden" - IdResourceStringsProtocols_RSHTTPNotFound, "Not Found" - IdResourceStringsProtocols_RSHTTPMethodNotAllowed, "Method not allowed" - IdResourceStringsProtocols_RSHTTPNotAcceptable, "Not Acceptable" - IdResourceStringsProtocols_RSHTTPProxyAuthenticationRequired, "Proxy Authentication Required" - IdResourceStringsProtocols_RSHTTPRequestTimeout, "Request Timeout" - IdResourceStringsProtocols_RSHTTPConflict, "Conflict" - IdResourceStringsProtocols_RSHTTPGone, "Gone" - IdResourceStringsProtocols_RSHTTPLengthRequired, "Length Required" - IdResourceStrings_RSInvalidIPv6Address, "%s is not a valid IPv6 address" - IdResourceStrings_RSIPVersionUnsupported, "The requested IPVersion / Address family is not supported." - IdResourceStrings_RSNotAllBytesSent, "Not all bytes sent." - IdResourceStrings_RSPackageSizeTooBig, "Package Size Too Big." - IdResourceStrings_RSSetSizeExceeded, "Set Size Exceeded." - IdResourceStringsProtocols_RSMIMEExtensionEmpty, "Extension is empty" - IdResourceStringsProtocols_RSMIMEMIMETypeEmpty, "Mimetype is empty" - IdResourceStringsProtocols_RSMIMEMIMEExtAlreadyExists, "Extension already exits" - IdResourceStringsProtocols_RSHTTPContinue, "Continue" - IdResourceStringsProtocols_RSHTTPOK, "OK" - IdResourceStringsProtocols_RSHTTPCreated, "Created" - IdResourceStringsProtocols_RSHTTPAccepted, "Accepted" - IdResourceStringsProtocols_RSHTTPNonAuthoritativeInformation, "Non-authoritative Information" - IdResourceStringsProtocols_RSHTTPNoContent, "No Content" - IdResourceStringsProtocols_RSHTTPResetContent, "Reset Content" - IdResourceStringsProtocols_RSHTTPPartialContent, "Partial Content" - IdResourceStrings_RSStackELOOP, "Too many levels of symbolic links." - IdResourceStrings_RSStackENAMETOOLONG, "File name too long." IdResourceStrings_RSStackEHOSTDOWN, "Host is down." IdResourceStrings_RSStackEHOSTUNREACH, "No route to host." IdResourceStrings_RSStackENOTEMPTY, "Directory not empty" @@ -1766,8 +1654,8 @@ BEGIN IdResourceStrings_RSInvalidPortRange, "Invalid Port Range (%d - %d)" IdResourceStrings_RSInvalidServiceName, "%s is not a valid service." IdResourceStrings_RSIPv6Unavailable, "IPv6 unavailable" - IdResourceStrings_RSStackEPFNOSUPPORT, "Protocol family not supported." - IdResourceStrings_RSStackEAFNOSUPPORT, "Address family not supported by protocol family." + IdResourceStrings_RSInvalidIPv6Address, "%s is not a valid IPv6 address" + IdResourceStrings_RSIPVersionUnsupported, "The requested IPVersion / Address family is not supported." IdResourceStrings_RSStackEADDRINUSE, "Address already in use." IdResourceStrings_RSStackEADDRNOTAVAIL, "Cannot assign requested address." IdResourceStrings_RSStackENETDOWN, "Network is down." @@ -1782,8 +1670,8 @@ BEGIN IdResourceStrings_RSStackETOOMANYREFS, "Too many references, cannot splice." IdResourceStrings_RSStackETIMEDOUT, "Connection timed out." IdResourceStrings_RSStackECONNREFUSED, "Connection refused." - IdResourceStrings_RSStackEBADF, "Bad file number." - IdResourceStrings_RSStackEACCES, "Access denied." + IdResourceStrings_RSStackELOOP, "Too many levels of symbolic links." + IdResourceStrings_RSStackENAMETOOLONG, "File name too long." IdResourceStrings_RSStackEFAULT, "Buffer fault." IdResourceStrings_RSStackEINVAL, "Invalid argument." IdResourceStrings_RSStackEMFILE, "Too many open files." @@ -1798,8 +1686,8 @@ BEGIN IdResourceStrings_RSStackEPROTONOSUPPORT, "Protocol not supported." IdResourceStrings_RSStackESOCKTNOSUPPORT, "Socket type not supported." IdResourceStrings_RSStackEOPNOTSUPP, "Operation not supported on socket." - DBConsts_SInvalidBcdValue, "%s is not a valid BCD value" - DBConsts_SInvalidFormatType, "Invalid format type for BCD" + IdResourceStrings_RSStackEPFNOSUPPORT, "Protocol family not supported." + IdResourceStrings_RSStackEAFNOSUPPORT, "Address family not supported by protocol family." DBConsts_SCouldNotParseTimeStamp, "Could not parse SQL TimeStamp string" DBConsts_SInvalidSqlTimeStamp, "Invalid SQL date/time values" IdResourceStrings_RSFailedTimeZoneInfo, "Failed attempting to retrieve time zone information." @@ -1814,8 +1702,8 @@ BEGIN IdResourceStrings_RSStatusText, "%s" IdResourceStrings_RSStackError, "Socket Error # %d\r\n%s" IdResourceStrings_RSStackEINTR, "Interrupted system call." - DBConsts_SNotEditing, "Dataset not in edit or insert mode" - DBConsts_SDataSetClosed, "Cannot perform this operation on a closed dataset" + IdResourceStrings_RSStackEBADF, "Bad file number." + IdResourceStrings_RSStackEACCES, "Access denied." DBConsts_SDataSetEmpty, "Cannot perform this operation on an empty dataset" DBConsts_SDataSetReadOnly, "Cannot modify a read-only dataset" DBConsts_SNestedDataSetClass, "Nested dataset must inherit from %s" @@ -1830,8 +1718,8 @@ BEGIN DBConsts_SUnassignedVar, "Unassigned variant value" DBConsts_SRecordNotFound, "Record not found" DBConsts_SBcdOverflow, "BCD overflow" - DBConsts_SInvalidBoolValue, "'%s' is not a valid boolean value for field '%s'" - DBConsts_SInvalidFloatValue, "'%s' is not a valid floating point value for field '%s'" + DBConsts_SInvalidBcdValue, "%s is not a valid BCD value" + DBConsts_SInvalidFormatType, "Invalid format type for BCD" DBConsts_SFieldTypeMismatch, "Type mismatch for field '%s', expecting: %s actual: %s" DBConsts_SFieldSizeMismatch, "Size mismatch for field '%s', expecting: %d actual: %d" DBConsts_SInvalidVarByteArray, "Invalid variant type or size for field '%s'" @@ -1846,11 +1734,11 @@ BEGIN DBConsts_SLookupInfoError, "Lookup information for field '%s' is incomplete" DBConsts_SDataSourceChange, "DataSource cannot be changed" DBConsts_SDataSetOpen, "Cannot perform this operation on an open dataset" - uRORes_err_MessageNotAssigned, "Message is NIL" - ComConst_SOleError, "OLE error %.8x" - ComConst_SNoMethod, "Method '%s' not supported by automation object" - ComConst_SVarNotObject, "Variant does not reference an automation object" - ComConst_STooManyParams, "Dispatch methods do not support more than 64 parameters" + DBConsts_SNotEditing, "Dataset not in edit or insert mode" + DBConsts_SDataSetClosed, "Cannot perform this operation on a closed dataset" + uRODECConst_sFMT_XX, "XX Coding" + uRODECConst_sInvalidKeySize, "Length from Encryptionkey is invalid.\r\nKeysize for %s must be within %d-%d bytes" + uRODECConst_sNotInitialized, "%s is not initialized, call Init() or InitKey() first." DBConsts_SInvalidFieldSize, "Invalid field size" DBConsts_SInvalidFieldKind, "Invalid FieldKind" DBConsts_SUnknownFieldType, "Field '%s' is of an unknown type" @@ -1862,6 +1750,30 @@ BEGIN DBConsts_SFieldRangeError, "%g is not a valid value for field '%s'. The allowed range is %g to %g" DBConsts_SBcdFieldRangeError, "%s is not a valid value for field '%s'. The allowed range is %s to %s" DBConsts_SInvalidIntegerValue, "'%s' is not a valid integer value for field '%s'" + DBConsts_SInvalidBoolValue, "'%s' is not a valid boolean value for field '%s'" + DBConsts_SInvalidFloatValue, "'%s' is not a valid floating point value for field '%s'" + uRORes_err_NoXMLParsersAvailable, "MSXML is not installed" + uRORes_err_IDispatchMarshalingNotSupported, "Marshaling of IDispatch (%d) type variants is not supported." + uRORes_err_UnsupportedVariantType, "Unsupported variant type \"%d\"" + uRORes_err_VariantIsNotArray, "Variant must be Array, but is %d" + uRORes_err_InvalidVarArrayDimCount, "Variant Array DimCount must be 1 but is %d" + uRORes_err_CannotFindParameter, "Cannot find parameter %s" + uRORes_err_MessageNotAssigned, "Message is NIL" + uRODECConst_sProtectionCircular, "Circular Protection detected, Protection Object is invalid." + uRODECConst_sStringFormatExists, "String Format \"%d\" does not exist." + uRODECConst_sInvalidStringFormat, "Input is not a valid %s Format." + uRODECConst_sInvalidFormatString, "Input cannot be converted to %s Format." + uRODECConst_sFMT_COPY, "copy Input to Output" + uRODECConst_sFMT_HEX, "Hexadecimal" + uRODECConst_sFMT_HEXL, "Hexadecimal lowercase" + uRODECConst_sFMT_MIME64, "MIME Base 64" + uRODECConst_sFMT_UU, "UU Coding" + uRORes_err_DispatcherAlreadyAssigned, "Dispatcher for %s already assigned" + uRORes_err_CannotFindMessageDispatcher, "Cannot find message dispatcher. Maybe there is no message component configured for the requested path?" + uRORes_err_ServerOnlySupportsOneDispatcher, "%s servers only support one dispatcher" + uRORes_err_UnhandledException, "Unhandled exception" + uRORes_err_ChannelBusy, "Channel is busy. Try again later." + uRORes_err_ArrayIndexOutOfBounds, "Array index out of bounds (%d)." uRORes_err_InvalidHeader, "Invalid binary header. Either incompatible or not a binary message." uRORes_err_InvalidHeaderEncrypted, "Invalid binary header. It seems that encryption is active on the other side of the communication, but not locally?" uRORes_err_UnknownClassInStream, "Unknown class \"%s\" found in stream." @@ -1872,12 +1784,12 @@ BEGIN uRORes_err_DOMElementIsNIL, "DOMElement is NIL" uRORes_err_CannotLoadXMLDocument, "Cannot load XML document.\rReason: %s\rLine: %d\rPosition: %d" uRORes_err_ErrorCreatingMsXmlDoc, "Error creating MSXML Document class\r\r%s: %s" - uRORes_err_NoXMLParsersAvailable, "MSXML is not installed" - uRORes_err_IDispatchMarshalingNotSupported, "Marshaling of IDispatch (%d) type variants is not supported." - uRORes_err_UnsupportedVariantType, "Unsupported variant type \"%d\"" - uRORes_err_VariantIsNotArray, "Variant must be Array, but is %d" - uRORes_err_InvalidVarArrayDimCount, "Variant Array DimCount must be 1 but is %d" - uRORes_err_CannotFindParameter, "Cannot find parameter %s" + uRORes_err_RodlInvalidAncestorType, "Invalid or undefined ancestor type \"%s\"." + uRORes_str_ExceptionOnServer, "An exception of type %s was raised on the server: %s" + uRORes_str_ExceptionReraisedFromServer, "An exception was raised on the server: %s" + uRORes_err_AssignError, "Cannot assign a \"%s\" to a \"%s\"." + uRORes_err_InvalidRequestStream, "Invalid request stream (%d bytes)" + uRORes_err_NILMessage, "Message is NIL" uRORes_err_UnspecifiedInterface, "The message does not have an interface name" uRORes_err_UnspecifiedMessage, "The message does not have a name" uRORes_err_UnknownMethod, "Unknown method %s for interface %s" @@ -1888,12 +1800,12 @@ BEGIN uRORes_err_ClassAlreadyRegistered, "Class \"%s\" is already registered" uRORes_err_UnknownClass, "Unknown class \"%s\"" uRORes_err_UnknownProxyInterface, "Unknown proxy interface \"%s\"" - uRORes_err_DispatcherAlreadyAssigned, "Dispatcher for %s already assigned" - uRORes_err_CannotFindMessageDispatcher, "Cannot find message dispatcher. Maybe there is no message component configured for the requested path?" - uRORes_err_ServerOnlySupportsOneDispatcher, "%s servers only support one dispatcher" - uRORes_err_UnhandledException, "Unhandled exception" - uRORes_err_ChannelBusy, "Channel is busy. Try again later." - uRORes_err_ArrayIndexOutOfBounds, "Array index out of bounds (%d)." + uRORes_err_InvalidType, "Invalid type \"%s. Expected \"%s\"\"" + uRORes_err_InvalidLibrary, "Invalid library" + uRORes_err_InvalidStream, "Invalid stream" + uRORes_err_InvalidTargetEntity, "Invalid TargetEntity \"%s\"" + uRORes_err_InvalidParamFlag, "Invalid Parameter Flag \"%s\"" + uRORes_err_InvalidStringLength, "Stream read error: Invalid string length \"%d\"" uRORes_str_InvalidClassTypeInStream, "Stream read error: Invalid class type encountered: \"%s\"" uRORes_err_UnexpectedEndOfStream, "Unexpected end of stream." uRORes_err_RodlDuplicateName, "Duplicate name." @@ -1904,31 +1816,6 @@ BEGIN uRORes_err_RodlUsedFileDoesNotExist, "The referenced RODL file \"%s\" could not be found." uRORes_err_RodlInvalidDataType, "Invalid or undefined data type \"%s\"." uRORes_err_RodlStructCannotBeNested, "Structs cannot recursively contain themselves." - uRORes_err_RodlInvalidAncestorType, "Invalid or undefined ancestor type \"%s\"." - uRORes_str_ExceptionOnServer, "An exception of type %s was raised on the server: %s" - uRORes_str_ExceptionReraisedFromServer, "An exception was raised on the server: %s" - uRORes_err_AssignError, "Cannot assign a \"%s\" to a \"%s\"." - uRORes_err_InvalidRequestStream, "Invalid request stream (%d bytes)" - uRORes_err_NILMessage, "Message is NIL" - uRODECConst_sInvalidFormatString, "Input cannot be converted to %s Format." - uRODECConst_sFMT_COPY, "copy Input to Output" - uRODECConst_sFMT_HEX, "Hexadecimal" - uRODECConst_sFMT_HEXL, "Hexadecimal lowercase" - uRODECConst_sFMT_MIME64, "MIME Base 64" - uRODECConst_sFMT_UU, "UU Coding" - uRODECConst_sFMT_XX, "XX Coding" - uRODECConst_sInvalidKeySize, "Length from Encryptionkey is invalid.\r\nKeysize for %s must be within %d-%d bytes" - uRODECConst_sNotInitialized, "%s is not initialized, call Init() or InitKey() first." - uRORes_err_InvalidIndex, "Invalid index %d" - uRORes_err_InvalidType, "Invalid type \"%s. Expected \"%s\"\"" - uRORes_err_InvalidLibrary, "Invalid library" - uRORes_err_InvalidStream, "Invalid stream" - uRORes_err_InvalidTargetEntity, "Invalid TargetEntity \"%s\"" - uRORes_err_InvalidParamFlag, "Invalid Parameter Flag \"%s\"" - uRORes_err_InvalidStringLength, "Stream read error: Invalid string length \"%d\"" - Consts_SDockZoneHasNoCtl, " - Dock zone has no control" - Consts_SDockZoneVersionConflict, "Error loading dock zone from the stream. Expecting version %d, but found %d." - Consts_SMultiSelectRequired, "Multiselect mode must be on for this feature" Consts_SSeparator, "Separator" Consts_SErrorSettingCount, "Error setting %s.Count" Consts_SListBoxMustBeVirtual, "Listbox (%s) style must be virtual in order to set Count" @@ -1939,11 +1826,14 @@ BEGIN Consts_SUTF8Encoding, "UTF-8" Consts_SUTF7Encoding, "UTF-7" Consts_SPageControlNotSet, "PageControl must first be assigned" - uRODECConst_sProtectionCircular, "Circular Protection detected, Protection Object is invalid." - uRODECConst_sStringFormatExists, "String Format \"%d\" does not exist." - uRODECConst_sInvalidStringFormat, "Input is not a valid %s Format." + Consts_SWindowsVistaRequired, "%s requires Windows Vista or later" + ComConst_SOleError, "OLE error %.8x" + ComConst_SNoMethod, "Method '%s' not supported by automation object" + ComConst_SVarNotObject, "Variant does not reference an automation object" + ComConst_STooManyParams, "Dispatch methods do not support more than 64 parameters" + uRORes_err_InvalidIndex, "Invalid index %d" + Consts_srNone, "(None)" Consts_SOutOfRange, "Value must be between %d and %d" - Consts_sAllFilter, "All" Consts_SInsertLineError, "Unable to insert a line" Consts_SInvalidClipFmt, "Invalid clipboard format" Consts_SIconToClipboard, "Clipboard does not support Icons" @@ -1952,12 +1842,13 @@ BEGIN Consts_SInvalidPrinterOp, "Operation not supported on selected printer" Consts_SNoDefaultPrinter, "There is no default printer currently selected" Consts_SDuplicateMenus, "Menu '%s' is already being used by another form" - Consts_SPictureLabel, "Picture:" - Consts_SPictureDesc, " (%dx%d)" - Consts_SPreviewLabel, "Preview" Consts_SDockedCtlNeedsName, "Docked control must have a name" Consts_SDockTreeRemoveError, "Error removing control from dock tree" Consts_SDockZoneNotFound, " - Dock zone not found" + Consts_SDockZoneHasNoCtl, " - Dock zone has no control" + Consts_SDockZoneVersionConflict, "Error loading dock zone from the stream. Expecting version %d, but found %d." + Consts_SMultiSelectRequired, "Multiselect mode must be on for this feature" + Consts_SmkcEsc, "Esc" Consts_SmkcEnter, "Enter" Consts_SmkcSpace, "Space" Consts_SmkcPgUp, "PgUp" @@ -1973,7 +1864,7 @@ BEGIN Consts_SmkcShift, "Shift+" Consts_SmkcCtrl, "Ctrl+" Consts_SmkcAlt, "Alt+" - Consts_srNone, "(None)" + Consts_SMsgDlgError, "Error" Consts_SMsgDlgInformation, "Information" Consts_SMsgDlgConfirm, "Confirm" Consts_SMsgDlgYes, "&Yes" @@ -1989,7 +1880,7 @@ BEGIN Consts_SMsgDlgYesToAll, "Yes to &All" Consts_SmkcBkSp, "BkSp" Consts_SmkcTab, "Tab" - Consts_SmkcEsc, "Esc" + Consts_SOKButton, "OK" Consts_SCancelButton, "Cancel" Consts_SYesButton, "&Yes" Consts_SNoButton, "&No" @@ -2005,7 +1896,7 @@ BEGIN Consts_SVIcons, "Icons" Consts_SVBitmaps, "Bitmaps" Consts_SMsgDlgWarning, "Warning" - Consts_SMsgDlgError, "Error" + Consts_SMDIChildNotVisible, "Cannot hide an MDI Child Form" Consts_SVisibleChanged, "Cannot change Visible in OnShow or OnHide" Consts_SCannotShowModal, "Cannot make a visible window modal" Consts_SScrollBarRange, "Scrollbar property out of range" @@ -2021,7 +1912,7 @@ BEGIN Consts_SGroupIndexTooLow, "GroupIndex cannot be less than a previous menu item's GroupIndex" Consts_SNoMDIForm, "Cannot create form. No MDI forms are currently active" Consts_SControlParentSetToSelf, "A control cannot have itself as its parent" - Consts_SOKButton, "OK" + Consts_SChangeIconSize, "Cannot change the size of an icon" Consts_SUnknownExtension, "Unknown picture file extension (.%s)" Consts_SUnknownClipboardFormat, "Unsupported clipboard format" Consts_SOutOfResources, "Out of system resources" @@ -2037,7 +1928,7 @@ BEGIN Consts_SCannotFocus, "Cannot focus a disabled or invisible window" Consts_SParentRequired, "Control '%s' has no parent window" Consts_SParentGivenNotAParent, "Parent given is not a parent of '%s'" - Consts_SMDIChildNotVisible, "Cannot hide an MDI Child Form" + RTLConsts_SWriteError, "Stream write error" RTLConsts_SThreadCreateError, "Thread creation error: %s" RTLConsts_SThreadError, "Thread Error: %s (%d)" HelpIntfs_hNoTableOfContents, "Unable to find a Table of Contents" @@ -2053,7 +1944,7 @@ BEGIN Consts_SInvalidPixelFormat, "Invalid pixel format" Consts_SInvalidImage, "Invalid image" Consts_SScanLine, "Scan line index out of range" - Consts_SChangeIconSize, "Cannot change the size of an icon" + RTLConsts_SInvalidRegType, "Invalid data type for '%s'" RTLConsts_SListCapacityError, "List capacity out of bounds (%d)" RTLConsts_SListCountError, "List count out of bounds (%d)" RTLConsts_SListIndexError, "List index out of bounds (%d)" @@ -2069,7 +1960,7 @@ BEGIN RTLConsts_SSortedListError, "Operation not allowed on sorted list" RTLConsts_SUnknownGroup, "%s not in a class registration group" RTLConsts_SUnknownProperty, "Property %s does not exist" - RTLConsts_SWriteError, "Stream write error" + RTLConsts_SCheckSynchronizeError, "CheckSynchronize called from thread $%x, which is NOT the main thread" RTLConsts_SClassNotFound, "Class %s not found" RTLConsts_SDuplicateClass, "A class named %s already exists" RTLConsts_SDuplicateItem, "List does not allow duplicates ($0%x)" @@ -2085,7 +1976,7 @@ BEGIN RTLConsts_SInvalidPropertyPath, "Invalid property path" RTLConsts_SInvalidPropertyType, "Invalid property type: %s" RTLConsts_SInvalidPropertyValue, "Invalid property value" - RTLConsts_SInvalidRegType, "Invalid data type for '%s'" + SysConst_SShortDayNameTue, "Tue" SysConst_SShortDayNameWed, "Wed" SysConst_SShortDayNameThu, "Thu" SysConst_SShortDayNameFri, "Fri" @@ -2101,7 +1992,7 @@ BEGIN RTLConsts_SAssignError, "Cannot assign a %s to a %s" RTLConsts_SBitsIndexError, "Bits index out of range" RTLConsts_SCantWriteResourceStreamError, "Can't write to a read-only resource stream" - RTLConsts_SCheckSynchronizeError, "CheckSynchronize called from thread $%x, which is NOT the main thread" + SysConst_SShortMonthNameNov, "Nov" SysConst_SShortMonthNameDec, "Dec" SysConst_SLongMonthNameJan, "January" SysConst_SLongMonthNameFeb, "February" @@ -2117,7 +2008,7 @@ BEGIN SysConst_SLongMonthNameDec, "December" SysConst_SShortDayNameSun, "Sun" SysConst_SShortDayNameMon, "Mon" - SysConst_SShortDayNameTue, "Tue" + SysConst_SAssertError, "%s (%s, line %d)" SysConst_SAbstractError, "Abstract Error" SysConst_SModuleAccessViolation, "Access violation at address %p in module '%s'. %s of address %p" SysConst_SOSError, "System Error. Code: %d.\r\n%s" @@ -2133,7 +2024,7 @@ BEGIN SysConst_SShortMonthNameAug, "Aug" SysConst_SShortMonthNameSep, "Sep" SysConst_SShortMonthNameOct, "Oct" - SysConst_SShortMonthNameNov, "Nov" + SysConst_SInvalidVarOpWithHResultWithPrefix, "Invalid variant operation (%s%.8x)\n%s" SysConst_SVarTypeOutOfRangeWithPrefix, "Custom variant type (%s%.4x) is out of range" SysConst_SVarTypeAlreadyUsedWithPrefix, "Custom variant type (%s%.4x) already used by %s" SysConst_SVarTypeNotUsableWithPrefix, "Custom variant type (%s%.4x) is not usable" @@ -2149,7 +2040,7 @@ BEGIN SysConst_SAssertionFailed, "Assertion failed" SysConst_SIntfCastError, "Interface not supported" SysConst_SSafecallException, "Exception in safecall method" - SysConst_SAssertError, "%s (%s, line %d)" + SysConst_SPrivilege, "Privileged instruction" SysConst_SOperationAborted, "Operation aborted" SysConst_SException, "Exception %s in module %s at %p.\r\n%s%s\r\n" SysConst_SExceptTitle, "Application Error" @@ -2165,7 +2056,7 @@ BEGIN SysConst_SInvalidVarCast, "Invalid variant type conversion" SysConst_SInvalidVarOp, "Invalid variant operation" SysConst_SInvalidVarNullOp, "Invalid NULL variant operation" - SysConst_SInvalidVarOpWithHResultWithPrefix, "Invalid variant operation (%s%.8x)\n%s" + SysConst_SEndOfFile, "Read beyond end of file" SysConst_SDiskFull, "Disk full" SysConst_SInvalidInput, "Invalid numeric input" SysConst_SDivByZero, "Division by zero" @@ -2181,7 +2072,6 @@ BEGIN SysConst_SAccessViolationNoArg, "Access violation" SysConst_SStackOverflow, "Stack overflow" SysConst_SControlC, "Control-C hit" - SysConst_SPrivilege, "Privileged instruction" SysConst_SInvalidInteger, "'%s' is not a valid integer value" SysConst_SInvalidFloat, "'%s' is not a valid floating point value" SysConst_SInvalidDate, "'%s' is not a valid date" @@ -2189,6 +2079,7 @@ BEGIN SysConst_SInvalidDateTime, "'%s' is not a valid date and time" SysConst_SInvalidTimeStamp, "'%d.%d' is not a valid timestamp" SysConst_SInvalidGUID, "'%s' is not a valid GUID value" + SysConst_SInvalidBoolean, "'%s' is not a valid boolean value" SysConst_STimeEncodeError, "Invalid argument to time encode" SysConst_SDateEncodeError, "Invalid argument to date encode" SysConst_SOutOfMemory, "Out of memory" @@ -2197,6 +2088,49 @@ BEGIN SysConst_SInvalidFilename, "Invalid filename" SysConst_STooManyOpenFiles, "Too many open files" SysConst_SAccessDenied, "File access denied" - SysConst_SEndOfFile, "Read beyond end of file" END +/* C:\Archivos de programa\CodeGear\RAD Studio\5.0\Lib\controls.res */ +/* C:\Codigo Tecsitel\Lib\RemObjects\RemObjects_SDK\uROPoweredByRemObjectsButton.res */ +/* C:\Codigo Tecsitel\Lib\RemObjects\RemObjects_SDK\uROHtmlServerInfo.res */ +/* C:\Archivos de programa\CodeGear\RAD Studio\5.0\Lib\buttons.res */ +/* C:\Archivos de programa\CodeGear\RAD Studio\5.0\Lib\extdlgs.res */ +/* C:\Codigo Tecsitel\Lib\FastReport3\frxProgress.dfm */ +/* C:\Codigo Tecsitel\Lib\FastReport3\frxCtrls.res */ +/* C:\Codigo Tecsitel\Lib\FastReport3\frxPrintDialog.dfm */ +/* C:\Codigo Tecsitel\Lib\FastReport3\frxDock.dfm */ +/* C:\Codigo Tecsitel\Lib\FastReport3\frxPreviewPageSettings.dfm */ +/* C:\Codigo Tecsitel\Lib\FastReport3\frxSearchDialog.dfm */ +/* C:\Codigo Tecsitel\Lib\FastReport3\frxPreview.dfm */ +/* C:\Codigo Tecsitel\Lib\FastReport3\frxPreview.res */ +/* C:\Codigo Tecsitel\Lib\FastReport3\frxDialogForm.dfm */ +/* C:\Codigo Tecsitel\Lib\FastReport3\frxPassw.dfm */ +/* C:\Codigo Tecsitel\Lib\FastReport3\frxClass.res */ +/* C:\Codigo Tecsitel\Lib\JVCL\JvConsts.res */ +/* C:\Archivos de programa\CodeGear\RAD Studio\5.0\Lib\WindowsXP.res */ +/* C:\Codigo Tecsitel\Lib\JVCL\JvLogForm.dfm */ +/* C:\Codigo Tecsitel\Lib\RemObjects\Data_Abstract\DataAbstract_IBXDriver_Glyphs.res */ +/* C:\Codigo Tecsitel\Lib\RemObjects\Data_Abstract\DataAbstract_ADODriver_Glyphs.res */ +/* C:\Codigo Tecsitel\Source\Servidor\uDataModuleServer.dfm */ +/* C:\Codigo Tecsitel\Source\Servidor\Configuracion\uFrameConfiguracion.dfm */ +/* C:\Codigo Tecsitel\Lib\DevExpressVCL\dxOffice11.res */ +/* C:\Codigo Tecsitel\Lib\DevExpressVCL\cxControls.res */ +/* C:\Codigo Tecsitel\Lib\DevExpressVCL\cxLookAndFeelPainters.res */ +/* C:\Archivos de programa\CodeGear\RAD Studio\5.0\Lib\filectrl.res */ +/* C:\Codigo Tecsitel\Lib\DevExpressVCL\cxEdit.res */ +/* C:\Codigo Tecsitel\Lib\DevExpressVCL\cxShellBrowser.dfm */ +/* C:\Codigo Tecsitel\Source\Servidor\Configuracion\uConexionBD.dfm */ +/* C:\Codigo Tecsitel\Source\Servidor\Configuracion\uConfGeneral.dfm */ +/* C:\Codigo Tecsitel\Source\Servidor\Configuracion\uConfiguracion.dfm */ +/* C:\Codigo Tecsitel\Source\Servidor\uAcercaDe.dfm */ +/* C:\Codigo Tecsitel\Source\Servidor\uServerMainForm.dfm */ +/* C:\Codigo Tecsitel\Source\Servicios\srvLogin_Impl.dfm */ +/* C:\Codigo Tecsitel\Source\Modulos\Contactos\Servidor\srvContactos_Impl.dfm */ +/* C:\Codigo Tecsitel\Source\Modulos\Empresas\Servidor\srvEmpresas_Impl.dfm */ +/* C:\Codigo Tecsitel\Source\Servicios\srvConfiguracion_Impl.dfm */ +/* C:\Codigo Tecsitel\Source\Modulos\Familias\Servidor\srvFamilias_Impl.dfm */ +/* C:\Codigo Tecsitel\Source\Modulos\Formas de pago\Servidor\srvFormasPago_Impl.dfm */ +/* C:\Codigo Tecsitel\Source\Modulos\Tipos de IVA\Servidor\srvTiposIVA_Impl.dfm */ +/* C:\Codigo Tecsitel\Source\Servidor\FactuGES_Server.RES */ +/* C:\Codigo Tecsitel\Source\Servidor\..\Servicios\RODLFILE.res */ +/* C:\DOCUME~1\Usuario\CONFIG~1\Temp\dtf72.tmp */ diff --git a/Source/Servidor/FactuGES_Server.identcache b/Source/Servidor/FactuGES_Server.identcache index ba3858a7e7dc750a0e8e37ccca78ebddacfcbb0a..1d7f898573ddcb1c6012f3eb0d571f5fd8b792b3 100644 GIT binary patch literal 3214 zcmcImU60c+5bRIsBTtA2KnQ`LpGV;;s>>Zukt$!Z%~>RNWXIKsU(Y6~ovULf?j7_g zT_vOO?Ch*xO(v6{i;wYwr!?c!TSz3WAde%iL;~@arz+<%zNICX(-fwgU$eT1Z^-1K zsbXc3Q()D8!>YsUl1PL!zt4W`2*i=5T*P-3%|XVhE`XSoWnGXq($@f_1!o7EDM1p- zS*-9cJmS-QX@iZ?!tZ4)#qkVqzbVSxMvDBjw0LVS3eu=ol8krqwe=m=+LJp4+>YZT z$%-TuGB%wtrGeIb@+0?JGgp!_kkZ+iAATS$f#GwasOI#~PVgfD8USQ_ep}jaP~`?Tf#^NJ%CHxxFi+1ClZ`)Tm&#V8|x+~y4bK!_T7)ycehci&5m{~ zovjQow`*ux=lLe)y`QULw#KMXSF31WSFjIhDNI`9!zF!)Kw`RrI~86STrE4NTLYxi zojTnBM{}1>y7KSYB61ES<(};_mU;RLaLqHyoR$eVueMxwUR@bjA=l&GIlGV5(lr+; z3>|$XdoE$!j*hUd3=kd|NW;yVowXnZoYidq2ldB<*@hi|+X!F$IvQH1t)_0^00LNo zo71^f-UMK&Spp&V@gQEOUJ@&E;Ch_sVx RpYcP8K=tBo0tVb5e*y4E8b<&C literal 3306 zcmb_e!H(K65am-iZZAFb&{lhB1p!vHOLt3_o+7Q>WXM`g;>eCs)vxcw!A@h0G3jzj zCgSRy0D=)A<)aR<{*ej@GK}2 zk-q3iR8Xjz=XKTWZR8I=WL1NdBJCAP8+o^k5##X7#`t&|U zszD}5sLN5#>7Pf=4gh!poY7_Lqo;LQFna4<(_C_b_No$zukah6=8JLWk{y=~p;arF z4Kg}c?4SZj#?Dyl%jg=ajy&hsr4P2vR1K!n6806f3lKz9n`Y?#qqm&ik46$zT0g{* zO>-86rzi3j_Q0V^(fMjD+h{>a>lrynS_hp;Kln)Md19KRpT;KSY4`U&Y@@u~3E*Nw zDw3bBp?e?1DLn&cX&)udx}$BL5@1~J<$|1GO$)&@;+ zZMxnuI?^Tu+_@j#`P4SWkh2tcN)})zz4QHDo5k9VW_|UG(L?Z)?*v0ow{#2ww*a{N z`8EhjE=WTZb?9i>Ie)$gqpmz%KlCHj>BS&n&0Os(cO0sox{V#J`#Y$Blanjt<*Wyn zUFEo0T{{QsE4jwgFt2c_@}OVm$<|Lli2!FQ!iJHy_ZCFMY1-a-(Bnc9PMH(-I)-y8 JC<3~><}bb7EBpWe diff --git a/Source/Servidor/FactuGES_Server.rc b/Source/Servidor/FactuGES_Server.rc index 50e84723..4a501951 100644 --- a/Source/Servidor/FactuGES_Server.rc +++ b/Source/Servidor/FactuGES_Server.rc @@ -1,4 +1,4 @@ -MAINICON ICON "C:\Codigo (Tecsitel)\Resources\Iconos\Servidor.ico" +MAINICON ICON "C:\Codigo Tecsitel\Resources\Iconos\Servidor.ico" 1 VERSIONINFO FILEVERSION 3,0,0,0 PRODUCTVERSION 3,0,0,0 @@ -14,7 +14,7 @@ BEGIN BEGIN VALUE "FileVersion", "3.0.0.0\0" VALUE "ProductVersion", "3.0.0.0\0" - VALUE "CompileDate", "miércoles, 12 de septiembre de 2007 16:09\0" + VALUE "CompileDate", "miércoles, 19 de septiembre de 2007 17:27\0" END END BLOCK "VarFileInfo" diff --git a/Source/Servidor/Utiles/RegExpr.pas b/Source/Servidor/Utiles/RegExpr.pas new file mode 100644 index 00000000..f17279a4 --- /dev/null +++ b/Source/Servidor/Utiles/RegExpr.pas @@ -0,0 +1,4042 @@ +unit RegExpr; + +{ + TRegExpr class library + Delphi Regular Expressions + + Copyright (c) 1999-2004 Andrey V. Sorokin, St.Petersburg, Russia + + You may use this software in any kind of development, + including comercial, redistribute, and modify it freely, + under the following restrictions : + 1. This software is provided as it is, without any kind of + warranty given. Use it at Your own risk.The author is not + responsible for any consequences of use of this software. + 2. The origin of this software may not be mispresented, You + must not claim that You wrote the original software. If + You use this software in any kind of product, it would be + appreciated that there in a information box, or in the + documentation would be an acknowledgement like + + Partial Copyright (c) 2004 Andrey V. Sorokin + http://RegExpStudio.com + mailto:anso@mail.ru + + 3. You may not have any income from distributing this source + (or altered version of it) to other developers. When You + use this product in a comercial package, the source may + not be charged seperatly. + 4. Altered versions must be plainly marked as such, and must + not be misrepresented as being the original software. + 5. RegExp Studio application and all the visual components as + well as documentation is not part of the TRegExpr library + and is not free for usage. + + mailto:anso@mail.ru + http://RegExpStudio.com + http://anso.da.ru/ +} + +interface + +// ======== Determine compiler +{$IFDEF VER80} Sorry, TRegExpr is for 32-bits Delphi only. Delphi 1 is not supported (and whos really care today?!). {$ENDIF} +{$IFDEF VER90} {$DEFINE D2} {$ENDIF} // D2 +{$IFDEF VER93} {$DEFINE D2} {$ENDIF} // CPPB 1 +{$IFDEF VER100} {$DEFINE D3} {$DEFINE D2} {$ENDIF} // D3 +{$IFDEF VER110} {$DEFINE D4} {$DEFINE D3} {$DEFINE D2} {$ENDIF} // CPPB 3 +{$IFDEF VER120} {$DEFINE D4} {$DEFINE D3} {$DEFINE D2} {$ENDIF} // D4 +{$IFDEF VER130} {$DEFINE D5} {$DEFINE D4} {$DEFINE D3} {$DEFINE D2} {$ENDIF} // D5 +{$IFDEF VER140} {$DEFINE D6} {$DEFINE D5} {$DEFINE D4} {$DEFINE D3} {$DEFINE D2} {$ENDIF} // D6 +{$IFDEF VER150} {$DEFINE D7} {$DEFINE D6} {$DEFINE D5} {$DEFINE D4} {$DEFINE D3} {$DEFINE D2} {$ENDIF} // D7 +{$IFDEF VER180} {$DEFINE D2007} {$DEFINE D10} {$DEFINE D7} {$DEFINE D6} {$DEFINE D5} {$DEFINE D4} {$DEFINE D3} {$DEFINE D2} {$ENDIF} // D10/D2007 + +// ======== Define base compiler options +{$BOOLEVAL OFF} +{$EXTENDEDSYNTAX ON} +{$LONGSTRINGS ON} +{$OPTIMIZATION ON} +{$IFDEF D6} + {$WARN SYMBOL_PLATFORM OFF} // Suppress .Net warnings +{$ENDIF} +{$IFDEF D7} + {$WARN UNSAFE_CAST OFF} // Suppress .Net warnings + {$WARN UNSAFE_TYPE OFF} // Suppress .Net warnings + {$WARN UNSAFE_CODE OFF} // Suppress .Net warnings +{$ENDIF} +{$IFDEF FPC} + {$MODE DELPHI} // Delphi-compatible mode in FreePascal +{$ENDIF} + +// ======== Define options for TRegExpr engine +{.$DEFINE UniCode} // Unicode support +{$DEFINE RegExpPCodeDump} // p-code dumping (see Dump method) +{$IFNDEF FPC} // the option is not supported in FreePascal + {$DEFINE reRealExceptionAddr} // exceptions will point to appropriate source line, not to Error procedure +{$ENDIF} +{$DEFINE ComplexBraces} // support braces in complex cases +{$IFNDEF UniCode} // the option applicable only for non-UniCode mode + {$DEFINE UseSetOfChar} // Significant optimization by using set of char +{$ENDIF} +{$IFDEF UseSetOfChar} + {$DEFINE UseFirstCharSet} // Fast skip between matches for r.e. that starts with determined set of chars +{$ENDIF} + +// ======== Define Pascal-language options +// Define 'UseAsserts' option (do not edit this definitions). +// Asserts used to catch 'strange bugs' in TRegExpr implementation (when something goes +// completely wrong). You can swith asserts on/off with help of {$C+}/{$C-} compiler options. +{$IFDEF D3} {$DEFINE UseAsserts} {$ENDIF} +{$IFDEF FPC} {$DEFINE UseAsserts} {$ENDIF} + +// Define 'use subroutine parameters default values' option (do not edit this definition). +{$IFDEF D4} {$DEFINE DefParam} {$ENDIF} + +// Define 'OverMeth' options, to use method overloading (do not edit this definitions). +{$IFDEF D5} {$DEFINE OverMeth} {$ENDIF} +{$IFDEF FPC} {$DEFINE OverMeth} {$ENDIF} + +uses + Classes, // TStrings in Split method + SysUtils; // Exception + +type + {$IFDEF UniCode} + PRegExprChar = PWideChar; + RegExprString = WideString; + REChar = WideChar; + {$ELSE} + PRegExprChar = PChar; + RegExprString = AnsiString; //###0.952 was string + REChar = Char; + {$ENDIF} + TREOp = REChar; // internal p-code type //###0.933 + PREOp = ^TREOp; + TRENextOff = integer; // internal Next "pointer" (offset to current p-code) //###0.933 + PRENextOff = ^TRENextOff; // used for extracting Next "pointers" from compiled r.e. //###0.933 + TREBracesArg = integer; // type of {m,n} arguments + PREBracesArg = ^TREBracesArg; + +const + REOpSz = SizeOf (TREOp) div SizeOf (REChar); // size of p-code in RegExprString units + RENextOffSz = SizeOf (TRENextOff) div SizeOf (REChar); // size of Next 'pointer' -"- + REBracesArgSz = SizeOf (TREBracesArg) div SizeOf (REChar); // size of BRACES arguments -"- + +type + TRegExprInvertCaseFunction = function (const Ch : REChar) : REChar + of object; + +const + EscChar = '\'; // 'Escape'-char ('\' in common r.e.) used for escaping metachars (\w, \d etc). + RegExprModifierI : boolean = False; // default value for ModifierI + RegExprModifierR : boolean = True; // default value for ModifierR + RegExprModifierS : boolean = True; // default value for ModifierS + RegExprModifierG : boolean = True; // default value for ModifierG + RegExprModifierM : boolean = False; // default value for ModifierM + RegExprModifierX : boolean = False; // default value for ModifierX + RegExprSpaceChars : RegExprString = // default value for SpaceChars + ' '#$9#$A#$D#$C; + RegExprWordChars : RegExprString = // default value for WordChars + '0123456789' //###0.940 + + 'abcdefghijklmnopqrstuvwxyz' + + 'ABCDEFGHIJKLMNOPQRSTUVWXYZ_'; + RegExprLineSeparators : RegExprString =// default value for LineSeparators + #$d#$a{$IFDEF UniCode}+#$b#$c#$2028#$2029#$85{$ENDIF}; //###0.947 + RegExprLinePairedSeparator : RegExprString =// default value for LinePairedSeparator + #$d#$a; + { if You need Unix-styled line separators (only \n), then use: + RegExprLineSeparators = #$a; + RegExprLinePairedSeparator = ''; + } + + +const + NSUBEXP = 15; // max number of subexpression //###0.929 + // Cannot be more than NSUBEXPMAX + // Be carefull - don't use values which overflow CLOSE opcode + // (in this case you'll get compiler erorr). + // Big NSUBEXP will cause more slow work and more stack required + NSUBEXPMAX = 255; // Max possible value for NSUBEXP. //###0.945 + // Don't change it! It's defined by internal TRegExpr design. + + MaxBracesArg = $7FFFFFFF - 1; // max value for {n,m} arguments //###0.933 + + {$IFDEF ComplexBraces} + LoopStackMax = 10; // max depth of loops stack //###0.925 + {$ENDIF} + + TinySetLen = 3; + // if range includes more then TinySetLen chars, //###0.934 + // then use full (32 bytes) ANYOFFULL instead of ANYOF[BUT]TINYSET + // !!! Attension ! If you change TinySetLen, you must + // change code marked as "//!!!TinySet" + + +type + +{$IFDEF UseSetOfChar} + PSetOfREChar = ^TSetOfREChar; + TSetOfREChar = set of REChar; +{$ENDIF} + + TRegExpr = class; + + TRegExprReplaceFunction = function (ARegExpr : TRegExpr): string + of object; + + TRegExpr = class + private + startp : array [0 .. NSUBEXP - 1] of PRegExprChar; // founded expr starting points + endp : array [0 .. NSUBEXP - 1] of PRegExprChar; // founded expr end points + + {$IFDEF ComplexBraces} + LoopStack : array [1 .. LoopStackMax] of integer; // state before entering loop + LoopStackIdx : integer; // 0 - out of all loops + {$ENDIF} + + // The "internal use only" fields to pass info from compile + // to execute that permits the execute phase to run lots faster on + // simple cases. + regstart : REChar; // char that must begin a match; '\0' if none obvious + reganch : REChar; // is the match anchored (at beginning-of-line only)? + regmust : PRegExprChar; // string (pointer into program) that match must include, or nil + regmlen : integer; // length of regmust string + // Regstart and reganch permit very fast decisions on suitable starting points + // for a match, cutting down the work a lot. Regmust permits fast rejection + // of lines that cannot possibly match. The regmust tests are costly enough + // that regcomp() supplies a regmust only if the r.e. contains something + // potentially expensive (at present, the only such thing detected is * or + + // at the start of the r.e., which can involve a lot of backup). Regmlen is + // supplied because the test in regexec() needs it and regcomp() is computing + // it anyway. + {$IFDEF UseFirstCharSet} //###0.929 + FirstCharSet : TSetOfREChar; + {$ENDIF} + + // work variables for Exec's routins - save stack in recursion} + reginput : PRegExprChar; // String-input pointer. + fInputStart : PRegExprChar; // Pointer to first char of input string. + fInputEnd : PRegExprChar; // Pointer to char AFTER last char of input string + + // work variables for compiler's routines + regparse : PRegExprChar; // Input-scan pointer. + regnpar : integer; // count. + regdummy : char; + regcode : PRegExprChar; // Code-emit pointer; @regdummy = don't. + regsize : integer; // Code size. + + regexpbeg : PRegExprChar; // only for error handling. Contains + // pointer to beginning of r.e. while compiling + fExprIsCompiled : boolean; // true if r.e. successfully compiled + + // programm is essentially a linear encoding + // of a nondeterministic finite-state machine (aka syntax charts or + // "railroad normal form" in parsing technology). Each node is an opcode + // plus a "next" pointer, possibly plus an operand. "Next" pointers of + // all nodes except BRANCH implement concatenation; a "next" pointer with + // a BRANCH on both ends of it is connecting two alternatives. (Here we + // have one of the subtle syntax dependencies: an individual BRANCH (as + // opposed to a collection of them) is never concatenated with anything + // because of operator precedence.) The operand of some types of node is + // a literal string; for others, it is a node leading into a sub-FSM. In + // particular, the operand of a BRANCH node is the first node of the branch. + // (NB this is *not* a tree structure: the tail of the branch connects + // to the thing following the set of BRANCHes.) The opcodes are: + programm : PRegExprChar; // Unwarranted chumminess with compiler. + + fExpression : PRegExprChar; // source of compiled r.e. + fInputString : PRegExprChar; // input string + + fLastError : integer; // see Error, LastError + + fModifiers : integer; // modifiers + fCompModifiers : integer; // compiler's copy of modifiers + fProgModifiers : integer; // modifiers values from last programm compilation + + fSpaceChars : RegExprString; //###0.927 + fWordChars : RegExprString; //###0.929 + fInvertCase : TRegExprInvertCaseFunction; //###0.927 + + fLineSeparators : RegExprString; //###0.941 + fLinePairedSeparatorAssigned : boolean; + fLinePairedSeparatorHead, + fLinePairedSeparatorTail : REChar; + {$IFNDEF UniCode} + fLineSeparatorsSet : set of REChar; + {$ENDIF} + + procedure InvalidateProgramm; + // Mark programm as have to be [re]compiled + + function IsProgrammOk : boolean; //###0.941 + // Check if we can use precompiled r.e. or + // [re]compile it if something changed + + function GetExpression : RegExprString; + procedure SetExpression (const s : RegExprString); + + function GetModifierStr : RegExprString; + class function ParseModifiersStr (const AModifiers : RegExprString; + var AModifiersInt : integer) : boolean; //###0.941 class function now + // Parse AModifiers string and return true and set AModifiersInt + // if it's in format 'ismxrg-ismxrg'. + procedure SetModifierStr (const AModifiers : RegExprString); + + function GetModifier (AIndex : integer) : boolean; + procedure SetModifier (AIndex : integer; ASet : boolean); + + procedure Error (AErrorID : integer); virtual; // error handler. + // Default handler raise exception ERegExpr with + // Message = ErrorMsg (AErrorID), ErrorCode = AErrorID + // and CompilerErrorPos = value of property CompilerErrorPos. + + + {==================== Compiler section ===================} + function CompileRegExpr (exp : PRegExprChar) : boolean; + // compile a regular expression into internal code + + procedure Tail (p : PRegExprChar; val : PRegExprChar); + // set the next-pointer at the end of a node chain + + procedure OpTail (p : PRegExprChar; val : PRegExprChar); + // regoptail - regtail on operand of first argument; nop if operandless + + function EmitNode (op : TREOp) : PRegExprChar; + // regnode - emit a node, return location + + procedure EmitC (b : REChar); + // emit (if appropriate) a byte of code + + procedure InsertOperator (op : TREOp; opnd : PRegExprChar; sz : integer); //###0.90 + // insert an operator in front of already-emitted operand + // Means relocating the operand. + + function ParseReg (paren : integer; var flagp : integer) : PRegExprChar; + // regular expression, i.e. main body or parenthesized thing + + function ParseBranch (var flagp : integer) : PRegExprChar; + // one alternative of an | operator + + function ParsePiece (var flagp : integer) : PRegExprChar; + // something followed by possible [*+?] + + function ParseAtom (var flagp : integer) : PRegExprChar; + // the lowest level + + function GetCompilerErrorPos : integer; + // current pos in r.e. - for error hanling + + {$IFDEF UseFirstCharSet} //###0.929 + procedure FillFirstCharSet (prog : PRegExprChar); + {$ENDIF} + + {===================== Mathing section ===================} + function regrepeat (p : PRegExprChar; AMax : integer) : integer; + // repeatedly match something simple, report how many + + function regnext (p : PRegExprChar) : PRegExprChar; + // dig the "next" pointer out of a node + + function MatchPrim (prog : PRegExprChar) : boolean; + // recursively matching routine + + function ExecPrim (AOffset: integer) : boolean; + // Exec for stored InputString + + {$IFDEF RegExpPCodeDump} + function DumpOp (op : REChar) : RegExprString; + {$ENDIF} + + function GetSubExprMatchCount : integer; + function GetMatchPos (Idx : integer) : integer; + function GetMatchLen (Idx : integer) : integer; + function GetMatch (Idx : integer) : RegExprString; + + function GetInputString : RegExprString; + procedure SetInputString (const AInputString : RegExprString); + + {$IFNDEF UseSetOfChar} + function StrScanCI (s : PRegExprChar; ch : REChar) : PRegExprChar; //###0.928 + {$ENDIF} + + procedure SetLineSeparators (const AStr : RegExprString); + procedure SetLinePairedSeparator (const AStr : RegExprString); + function GetLinePairedSeparator : RegExprString; + + public + constructor Create; + destructor Destroy; override; + + class function VersionMajor : integer; //###0.944 + class function VersionMinor : integer; //###0.944 + + property Expression : RegExprString read GetExpression write SetExpression; + // Regular expression. + // For optimization, TRegExpr will automatically compiles it into 'P-code' + // (You can see it with help of Dump method) and stores in internal + // structures. Real [re]compilation occures only when it really needed - + // while calling Exec[Next], Substitute, Dump, etc + // and only if Expression or other P-code affected properties was changed + // after last [re]compilation. + // If any errors while [re]compilation occures, Error method is called + // (by default Error raises exception - see below) + + property ModifierStr : RegExprString read GetModifierStr write SetModifierStr; + // Set/get default values of r.e.syntax modifiers. Modifiers in + // r.e. (?ismx-ismx) will replace this default values. + // If you try to set unsupported modifier, Error will be called + // (by defaul Error raises exception ERegExpr). + + property ModifierI : boolean index 1 read GetModifier write SetModifier; + // Modifier /i - caseinsensitive, initialized from RegExprModifierI + + property ModifierR : boolean index 2 read GetModifier write SetModifier; + // Modifier /r - use r.e.syntax extended for russian, + // (was property ExtSyntaxEnabled in previous versions) + // If true, then à-ÿ additional include russian letter '¸', + // À-ß additional include '¨', and à-ß include all russian symbols. + // You have to turn it off if it may interfere with you national alphabet. + // , initialized from RegExprModifierR + + property ModifierS : boolean index 3 read GetModifier write SetModifier; + // Modifier /s - '.' works as any char (else as [^\n]), + // , initialized from RegExprModifierS + + property ModifierG : boolean index 4 read GetModifier write SetModifier; + // Switching off modifier /g switchs all operators in + // non-greedy style, so if ModifierG = False, then + // all '*' works as '*?', all '+' as '+?' and so on. + // , initialized from RegExprModifierG + + property ModifierM : boolean index 5 read GetModifier write SetModifier; + // Treat string as multiple lines. That is, change `^' and `$' from + // matching at only the very start or end of the string to the start + // or end of any line anywhere within the string. + // , initialized from RegExprModifierM + + property ModifierX : boolean index 6 read GetModifier write SetModifier; + // Modifier /x - eXtended syntax, allow r.e. text formatting, + // see description in the help. Initialized from RegExprModifierX + + function Exec (const AInputString : RegExprString) : boolean; {$IFDEF OverMeth} overload; + {$IFNDEF FPC} // I do not know why FreePascal cannot overload methods with empty param list + function Exec : boolean; overload; //###0.949 + {$ENDIF} + function Exec (AOffset: integer) : boolean; overload; //###0.949 + {$ENDIF} + // match a programm against a string AInputString + // !!! Exec store AInputString into InputString property + // For Delphi 5 and higher available overloaded versions - first without + // parameter (uses already assigned to InputString property value) + // and second that has integer parameter and is same as ExecPos + + function ExecNext : boolean; + // find next match: + // ExecNext; + // works same as + // if MatchLen [0] = 0 then ExecPos (MatchPos [0] + 1) + // else ExecPos (MatchPos [0] + MatchLen [0]); + // but it's more simpler ! + // Raises exception if used without preceeding SUCCESSFUL call to + // Exec* (Exec, ExecPos, ExecNext). So You always must use something like + // if Exec (InputString) then repeat { proceed results} until not ExecNext; + + function ExecPos (AOffset: integer {$IFDEF DefParam}= 1{$ENDIF}) : boolean; + // find match for InputString starting from AOffset position + // (AOffset=1 - first char of InputString) + + property InputString : RegExprString read GetInputString write SetInputString; + // returns current input string (from last Exec call or last assign + // to this property). + // Any assignment to this property clear Match* properties ! + + function Substitute (const ATemplate : RegExprString) : RegExprString; + // Returns ATemplate with '$&' or '$0' replaced by whole r.e. + // occurence and '$n' replaced by occurence of subexpression #n. + // Since v.0.929 '$' used instead of '\' (for future extensions + // and for more Perl-compatibility) and accept more then one digit. + // If you want place into template raw '$' or '\', use prefix '\' + // Example: '1\$ is $2\\rub\\' -> '1$ is \rub\' + // If you want to place raw digit after '$n' you must delimit + // n with curly braces '{}'. + // Example: 'a$12bc' -> 'abc' + // 'a${1}2bc' -> 'a2bc'. + + procedure Split (AInputStr : RegExprString; APieces : TStrings); + // Split AInputStr into APieces by r.e. occurencies + // Internally calls Exec[Next] + + function Replace (AInputStr : RegExprString; + const AReplaceStr : RegExprString; + AUseSubstitution : boolean{$IFDEF DefParam}= False{$ENDIF}) //###0.946 + : RegExprString; {$IFDEF OverMeth} overload; + function Replace (AInputStr : RegExprString; + AReplaceFunc : TRegExprReplaceFunction) + : RegExprString; overload; + {$ENDIF} + function ReplaceEx (AInputStr : RegExprString; + AReplaceFunc : TRegExprReplaceFunction) + : RegExprString; + // Returns AInputStr with r.e. occurencies replaced by AReplaceStr + // If AUseSubstitution is true, then AReplaceStr will be used + // as template for Substitution methods. + // For example: + // Expression := '({-i}block|var)\s*\(\s*([^ ]*)\s*\)\s*'; + // Replace ('BLOCK( test1)', 'def "$1" value "$2"', True); + // will return: def 'BLOCK' value 'test1' + // Replace ('BLOCK( test1)', 'def "$1" value "$2"') + // will return: def "$1" value "$2" + // Internally calls Exec[Next] + // Overloaded version and ReplaceEx operate with call-back function, + // so You can implement really complex functionality. + + property SubExprMatchCount : integer read GetSubExprMatchCount; + // Number of subexpressions has been found in last Exec* call. + // If there are no subexpr. but whole expr was found (Exec* returned True), + // then SubExprMatchCount=0, if no subexpressions nor whole + // r.e. found (Exec* returned false) then SubExprMatchCount=-1. + // Note, that some subexpr. may be not found and for such + // subexpr. MathPos=MatchLen=-1 and Match=''. + // For example: Expression := '(1)?2(3)?'; + // Exec ('123'): SubExprMatchCount=2, Match[0]='123', [1]='1', [2]='3' + // Exec ('12'): SubExprMatchCount=1, Match[0]='12', [1]='1' + // Exec ('23'): SubExprMatchCount=2, Match[0]='23', [1]='', [2]='3' + // Exec ('2'): SubExprMatchCount=0, Match[0]='2' + // Exec ('7') - return False: SubExprMatchCount=-1 + + property MatchPos [Idx : integer] : integer read GetMatchPos; + // pos of entrance subexpr. #Idx into tested in last Exec* + // string. First subexpr. have Idx=1, last - MatchCount, + // whole r.e. have Idx=0. + // Returns -1 if in r.e. no such subexpr. or this subexpr. + // not found in input string. + + property MatchLen [Idx : integer] : integer read GetMatchLen; + // len of entrance subexpr. #Idx r.e. into tested in last Exec* + // string. First subexpr. have Idx=1, last - MatchCount, + // whole r.e. have Idx=0. + // Returns -1 if in r.e. no such subexpr. or this subexpr. + // not found in input string. + // Remember - MatchLen may be 0 (if r.e. match empty string) ! + + property Match [Idx : integer] : RegExprString read GetMatch; + // == copy (InputString, MatchPos [Idx], MatchLen [Idx]) + // Returns '' if in r.e. no such subexpr. or this subexpr. + // not found in input string. + + function LastError : integer; + // Returns ID of last error, 0 if no errors (unusable if + // Error method raises exception) and clear internal status + // into 0 (no errors). + + function ErrorMsg (AErrorID : integer) : RegExprString; virtual; + // Returns Error message for error with ID = AErrorID. + + property CompilerErrorPos : integer read GetCompilerErrorPos; + // Returns pos in r.e. there compiler stopped. + // Usefull for error diagnostics + + property SpaceChars : RegExprString read fSpaceChars write fSpaceChars; //###0.927 + // Contains chars, treated as /s (initially filled with RegExprSpaceChars + // global constant) + + property WordChars : RegExprString read fWordChars write fWordChars; //###0.929 + // Contains chars, treated as /w (initially filled with RegExprWordChars + // global constant) + + property LineSeparators : RegExprString read fLineSeparators write SetLineSeparators; //###0.941 + // line separators (like \n in Unix) + + property LinePairedSeparator : RegExprString read GetLinePairedSeparator write SetLinePairedSeparator; //###0.941 + // paired line separator (like \r\n in DOS and Windows). + // must contain exactly two chars or no chars at all + + class function InvertCaseFunction (const Ch : REChar) : REChar; + // Converts Ch into upper case if it in lower case or in lower + // if it in upper (uses current system local setings) + + property InvertCase : TRegExprInvertCaseFunction read fInvertCase write fInvertCase; //##0.935 + // Set this property if you want to override case-insensitive functionality. + // Create set it to RegExprInvertCaseFunction (InvertCaseFunction by default) + + procedure Compile; //###0.941 + // [Re]compile r.e. Usefull for example for GUI r.e. editors (to check + // all properties validity). + + {$IFDEF RegExpPCodeDump} + function Dump : RegExprString; + // dump a compiled regexp in vaguely comprehensible form + {$ENDIF} + end; + + ERegExpr = class (Exception) + public + ErrorCode : integer; + CompilerErrorPos : integer; + end; + +const + RegExprInvertCaseFunction : TRegExprInvertCaseFunction = {$IFDEF FPC} nil {$ELSE} TRegExpr.InvertCaseFunction{$ENDIF}; + // defaul for InvertCase property + +function ExecRegExpr (const ARegExpr, AInputStr : RegExprString) : boolean; +// true if string AInputString match regular expression ARegExpr +// ! will raise exeption if syntax errors in ARegExpr + +procedure SplitRegExpr (const ARegExpr, AInputStr : RegExprString; APieces : TStrings); +// Split AInputStr into APieces by r.e. ARegExpr occurencies + +function ReplaceRegExpr (const ARegExpr, AInputStr, AReplaceStr : RegExprString; + AUseSubstitution : boolean{$IFDEF DefParam}= False{$ENDIF}) : RegExprString; //###0.947 +// Returns AInputStr with r.e. occurencies replaced by AReplaceStr +// If AUseSubstitution is true, then AReplaceStr will be used +// as template for Substitution methods. +// For example: +// ReplaceRegExpr ('({-i}block|var)\s*\(\s*([^ ]*)\s*\)\s*', +// 'BLOCK( test1)', 'def "$1" value "$2"', True) +// will return: def 'BLOCK' value 'test1' +// ReplaceRegExpr ('({-i}block|var)\s*\(\s*([^ ]*)\s*\)\s*', +// 'BLOCK( test1)', 'def "$1" value "$2"') +// will return: def "$1" value "$2" + +function QuoteRegExprMetaChars (const AStr : RegExprString) : RegExprString; +// Replace all metachars with its safe representation, +// for example 'abc$cd.(' converts into 'abc\$cd\.\(' +// This function usefull for r.e. autogeneration from +// user input + +function RegExprSubExpressions (const ARegExpr : string; + ASubExprs : TStrings; AExtendedSyntax : boolean{$IFDEF DefParam}= False{$ENDIF}) : integer; +// Makes list of subexpressions found in ARegExpr r.e. +// In ASubExps every item represent subexpression, +// from first to last, in format: +// String - subexpression text (without '()') +// low word of Object - starting position in ARegExpr, including '(' +// if exists! (first position is 1) +// high word of Object - length, including starting '(' and ending ')' +// if exist! +// AExtendedSyntax - must be True if modifier /m will be On while +// using the r.e. +// Usefull for GUI editors of r.e. etc (You can find example of using +// in TestRExp.dpr project) +// Returns +// 0 Success. No unbalanced brackets was found; +// -1 There are not enough closing brackets ')'; +// -(n+1) At position n was found opening '[' without //###0.942 +// corresponding closing ']'; +// n At position n was found closing bracket ')' without +// corresponding opening '('. +// If Result <> 0, then ASubExpr can contain empty items or illegal ones + + +implementation + +uses + Windows; // CharUpper/Lower + +const + TRegExprVersionMajor : integer = 0; + TRegExprVersionMinor : integer = 952; + // TRegExpr.VersionMajor/Minor return values of this constants + + MaskModI = 1; // modifier /i bit in fModifiers + MaskModR = 2; // -"- /r + MaskModS = 4; // -"- /s + MaskModG = 8; // -"- /g + MaskModM = 16; // -"- /m + MaskModX = 32; // -"- /x + + {$IFDEF UniCode} + XIgnoredChars = ' '#9#$d#$a; + {$ELSE} + XIgnoredChars = [' ', #9, #$d, #$a]; + {$ENDIF} + +{=============================================================} +{=================== WideString functions ====================} +{=============================================================} + +{$IFDEF UniCode} + +function StrPCopy (Dest: PRegExprChar; const Source: RegExprString): PRegExprChar; + var + i, Len : Integer; + begin + Len := length (Source); //###0.932 + for i := 1 to Len do + Dest [i - 1] := Source [i]; + Dest [Len] := #0; + Result := Dest; + end; { of function StrPCopy +--------------------------------------------------------------} + +function StrLCopy (Dest, Source: PRegExprChar; MaxLen: Cardinal): PRegExprChar; + var i: Integer; + begin + for i := 0 to MaxLen - 1 do + Dest [i] := Source [i]; + Result := Dest; + end; { of function StrLCopy +--------------------------------------------------------------} + +function StrLen (Str: PRegExprChar): Cardinal; + begin + Result:=0; + while Str [result] <> #0 + do Inc (Result); + end; { of function StrLen +--------------------------------------------------------------} + +function StrPos (Str1, Str2: PRegExprChar): PRegExprChar; + var n: Integer; + begin + Result := nil; + n := Pos (RegExprString (Str2), RegExprString (Str1)); + if n = 0 + then EXIT; + Result := Str1 + n - 1; + end; { of function StrPos +--------------------------------------------------------------} + +function StrLComp (Str1, Str2: PRegExprChar; MaxLen: Cardinal): Integer; + var S1, S2: RegExprString; + begin + S1 := Str1; + S2 := Str2; + if Copy (S1, 1, MaxLen) > Copy (S2, 1, MaxLen) + then Result := 1 + else + if Copy (S1, 1, MaxLen) < Copy (S2, 1, MaxLen) + then Result := -1 + else Result := 0; + end; { function StrLComp +--------------------------------------------------------------} + +function StrScan (Str: PRegExprChar; Chr: WideChar): PRegExprChar; + begin + Result := nil; + while (Str^ <> #0) and (Str^ <> Chr) + do Inc (Str); + if (Str^ <> #0) + then Result := Str; + end; { of function StrScan +--------------------------------------------------------------} + +{$ENDIF} + + +{=============================================================} +{===================== Global functions ======================} +{=============================================================} + +function ExecRegExpr (const ARegExpr, AInputStr : RegExprString) : boolean; + var r : TRegExpr; + begin + r := TRegExpr.Create; + try + r.Expression := ARegExpr; + Result := r.Exec (AInputStr); + finally r.Free; + end; + end; { of function ExecRegExpr +--------------------------------------------------------------} + +procedure SplitRegExpr (const ARegExpr, AInputStr : RegExprString; APieces : TStrings); + var r : TRegExpr; + begin + APieces.Clear; + r := TRegExpr.Create; + try + r.Expression := ARegExpr; + r.Split (AInputStr, APieces); + finally r.Free; + end; + end; { of procedure SplitRegExpr +--------------------------------------------------------------} + +function ReplaceRegExpr (const ARegExpr, AInputStr, AReplaceStr : RegExprString; + AUseSubstitution : boolean{$IFDEF DefParam}= False{$ENDIF}) : RegExprString; + begin + with TRegExpr.Create do try + Expression := ARegExpr; + Result := Replace (AInputStr, AReplaceStr, AUseSubstitution); + finally Free; + end; + end; { of function ReplaceRegExpr +--------------------------------------------------------------} + +function QuoteRegExprMetaChars (const AStr : RegExprString) : RegExprString; + const + RegExprMetaSet : RegExprString = '^$.[()|?+*'+EscChar+'{' + + ']}'; // - this last are additional to META. + // Very similar to META array, but slighly changed. + // !Any changes in META array must be synchronized with this set. + var + i, i0, Len : integer; + begin + Result := ''; + Len := length (AStr); + i := 1; + i0 := i; + while i <= Len do begin + if Pos (AStr [i], RegExprMetaSet) > 0 then begin + Result := Result + System.Copy (AStr, i0, i - i0) + + EscChar + AStr [i]; + i0 := i + 1; + end; + inc (i); + end; + Result := Result + System.Copy (AStr, i0, MaxInt); // Tail + end; { of function QuoteRegExprMetaChars +--------------------------------------------------------------} + +function RegExprSubExpressions (const ARegExpr : string; + ASubExprs : TStrings; AExtendedSyntax : boolean{$IFDEF DefParam}= False{$ENDIF}) : integer; + type + TStackItemRec = record //###0.945 + SubExprIdx : integer; + StartPos : integer; + end; + TStackArray = packed array [0 .. NSUBEXPMAX - 1] of TStackItemRec; + var + Len, SubExprLen : integer; + i, i0 : integer; + Modif : integer; + Stack : ^TStackArray; //###0.945 + StackIdx, StackSz : integer; + begin + Result := 0; // no unbalanced brackets found at this very moment + + ASubExprs.Clear; // I don't think that adding to non empty list + // can be usefull, so I simplified algorithm to work only with empty list + + Len := length (ARegExpr); // some optimization tricks + + // first we have to calculate number of subexpression to reserve + // space in Stack array (may be we'll reserve more then need, but + // it's faster then memory reallocation during parsing) + StackSz := 1; // add 1 for entire r.e. + for i := 1 to Len do + if ARegExpr [i] = '(' + then inc (StackSz); +// SetLength (Stack, StackSz); //###0.945 + GetMem (Stack, SizeOf (TStackItemRec) * StackSz); + try + + StackIdx := 0; + i := 1; + while (i <= Len) do begin + case ARegExpr [i] of + '(': begin + if (i < Len) and (ARegExpr [i + 1] = '?') then begin + // this is not subexpression, but comment or other + // Perl extension. We must check is it (?ismxrg-ismxrg) + // and change AExtendedSyntax if /x is changed. + inc (i, 2); // skip '(?' + i0 := i; + while (i <= Len) and (ARegExpr [i] <> ')') + do inc (i); + if i > Len + then Result := -1 // unbalansed '(' + else + if TRegExpr.ParseModifiersStr (System.Copy (ARegExpr, i, i - i0), Modif) + then AExtendedSyntax := (Modif and MaskModX) <> 0; + end + else begin // subexpression starts + ASubExprs.Add (''); // just reserve space + with Stack [StackIdx] do begin + SubExprIdx := ASubExprs.Count - 1; + StartPos := i; + end; + inc (StackIdx); + end; + end; + ')': begin + if StackIdx = 0 + then Result := i // unbalanced ')' + else begin + dec (StackIdx); + with Stack [StackIdx] do begin + SubExprLen := i - StartPos + 1; + ASubExprs.Objects [SubExprIdx] := + TObject (StartPos or (SubExprLen ShL 16)); + ASubExprs [SubExprIdx] := System.Copy ( + ARegExpr, StartPos + 1, SubExprLen - 2); // add without brackets + end; + end; + end; + EscChar: inc (i); // skip quoted symbol + '[': begin + // we have to skip character ranges at once, because they can + // contain '#', and '#' in it must NOT be recognized as eXtended + // comment beginning! + i0 := i; + inc (i); + if ARegExpr [i] = ']' // cannot be 'emty' ranges - this interpretes + then inc (i); // as ']' by itself + while (i <= Len) and (ARegExpr [i] <> ']') do + if ARegExpr [i] = EscChar //###0.942 + then inc (i, 2) // skip 'escaped' char to prevent stopping at '\]' + else inc (i); + if (i > Len) or (ARegExpr [i] <> ']') //###0.942 + then Result := - (i0 + 1); // unbalansed '[' //###0.942 + end; + '#': if AExtendedSyntax then begin + // skip eXtended comments + while (i <= Len) and (ARegExpr [i] <> #$d) and (ARegExpr [i] <> #$a) + // do not use [#$d, #$a] due to UniCode compatibility + do inc (i); + while (i + 1 <= Len) and ((ARegExpr [i + 1] = #$d) or (ARegExpr [i + 1] = #$a)) + do inc (i); // attempt to work with different kinds of line separators + // now we are at the line separator that must be skipped. + end; + // here is no 'else' clause - we simply skip ordinary chars + end; // of case + inc (i); // skip scanned char + // ! can move after Len due to skipping quoted symbol + end; + + // check brackets balance + if StackIdx <> 0 + then Result := -1; // unbalansed '(' + + // check if entire r.e. added + if (ASubExprs.Count = 0) + or ((integer (ASubExprs.Objects [0]) and $FFFF) <> 1) + or (((integer (ASubExprs.Objects [0]) ShR 16) and $FFFF) <> Len) + // whole r.e. wasn't added because it isn't bracketed + // well, we add it now: + then ASubExprs.InsertObject (0, ARegExpr, TObject ((Len ShL 16) or 1)); + + finally FreeMem (Stack); + end; + end; { of function RegExprSubExpressions +--------------------------------------------------------------} + + + +const + MAGIC = TREOp (216);// programm signature + +// name opcode opnd? meaning + EEND = TREOp (0); // - End of program + BOL = TREOp (1); // - Match "" at beginning of line + EOL = TREOp (2); // - Match "" at end of line + ANY = TREOp (3); // - Match any one character + ANYOF = TREOp (4); // Str Match any character in string Str + ANYBUT = TREOp (5); // Str Match any char. not in string Str + BRANCH = TREOp (6); // Node Match this alternative, or the next + BACK = TREOp (7); // - Jump backward (Next < 0) + EXACTLY = TREOp (8); // Str Match string Str + NOTHING = TREOp (9); // - Match empty string + STAR = TREOp (10); // Node Match this (simple) thing 0 or more times + PLUS = TREOp (11); // Node Match this (simple) thing 1 or more times + ANYDIGIT = TREOp (12); // - Match any digit (equiv [0-9]) + NOTDIGIT = TREOp (13); // - Match not digit (equiv [0-9]) + ANYLETTER = TREOp (14); // - Match any letter from property WordChars + NOTLETTER = TREOp (15); // - Match not letter from property WordChars + ANYSPACE = TREOp (16); // - Match any space char (see property SpaceChars) + NOTSPACE = TREOp (17); // - Match not space char (see property SpaceChars) + BRACES = TREOp (18); // Node,Min,Max Match this (simple) thing from Min to Max times. + // Min and Max are TREBracesArg + COMMENT = TREOp (19); // - Comment ;) + EXACTLYCI = TREOp (20); // Str Match string Str case insensitive + ANYOFCI = TREOp (21); // Str Match any character in string Str, case insensitive + ANYBUTCI = TREOp (22); // Str Match any char. not in string Str, case insensitive + LOOPENTRY = TREOp (23); // Node Start of loop (Node - LOOP for this loop) + LOOP = TREOp (24); // Node,Min,Max,LoopEntryJmp - back jump for LOOPENTRY. + // Min and Max are TREBracesArg + // Node - next node in sequence, + // LoopEntryJmp - associated LOOPENTRY node addr + ANYOFTINYSET= TREOp (25); // Chrs Match any one char from Chrs (exactly TinySetLen chars) + ANYBUTTINYSET=TREOp (26); // Chrs Match any one char not in Chrs (exactly TinySetLen chars) + ANYOFFULLSET= TREOp (27); // Set Match any one char from set of char + // - very fast (one CPU instruction !) but takes 32 bytes of p-code + BSUBEXP = TREOp (28); // Idx Match previously matched subexpression #Idx (stored as REChar) //###0.936 + BSUBEXPCI = TREOp (29); // Idx -"- in case-insensitive mode + + // Non-Greedy Style Ops //###0.940 + STARNG = TREOp (30); // Same as START but in non-greedy mode + PLUSNG = TREOp (31); // Same as PLUS but in non-greedy mode + BRACESNG = TREOp (32); // Same as BRACES but in non-greedy mode + LOOPNG = TREOp (33); // Same as LOOP but in non-greedy mode + + // Multiline mode \m + BOLML = TREOp (34); // - Match "" at beginning of line + EOLML = TREOp (35); // - Match "" at end of line + ANYML = TREOp (36); // - Match any one character + + // Word boundary + BOUND = TREOp (37); // Match "" between words //###0.943 + NOTBOUND = TREOp (38); // Match "" not between words //###0.943 + + // !!! Change OPEN value if you add new opcodes !!! + + OPEN = TREOp (39); // - Mark this point in input as start of \n + // OPEN + 1 is \1, etc. + CLOSE = TREOp (ord (OPEN) + NSUBEXP); + // - Analogous to OPEN. + + // !!! Don't add new OpCodes after CLOSE !!! + +// We work with p-code thru pointers, compatible with PRegExprChar. +// Note: all code components (TRENextOff, TREOp, TREBracesArg, etc) +// must have lengths that can be divided by SizeOf (REChar) ! +// A node is TREOp of opcode followed Next "pointer" of TRENextOff type. +// The Next is a offset from the opcode of the node containing it. +// An operand, if any, simply follows the node. (Note that much of +// the code generation knows about this implicit relationship!) +// Using TRENextOff=integer speed up p-code processing. + +// Opcodes description: +// +// BRANCH The set of branches constituting a single choice are hooked +// together with their "next" pointers, since precedence prevents +// anything being concatenated to any individual branch. The +// "next" pointer of the last BRANCH in a choice points to the +// thing following the whole choice. This is also where the +// final "next" pointer of each individual branch points; each +// branch starts with the operand node of a BRANCH node. +// BACK Normal "next" pointers all implicitly point forward; BACK +// exists to make loop structures possible. +// STAR,PLUS,BRACES '?', and complex '*' and '+', are implemented as +// circular BRANCH structures using BACK. Complex '{min,max}' +// - as pair LOOPENTRY-LOOP (see below). Simple cases (one +// character per match) are implemented with STAR, PLUS and +// BRACES for speed and to minimize recursive plunges. +// LOOPENTRY,LOOP {min,max} are implemented as special pair +// LOOPENTRY-LOOP. Each LOOPENTRY initialize loopstack for +// current level. +// OPEN,CLOSE are numbered at compile time. + + +{=============================================================} +{================== Error handling section ===================} +{=============================================================} + +const + reeOk = 0; + reeCompNullArgument = 100; + reeCompRegexpTooBig = 101; + reeCompParseRegTooManyBrackets = 102; + reeCompParseRegUnmatchedBrackets = 103; + reeCompParseRegUnmatchedBrackets2 = 104; + reeCompParseRegJunkOnEnd = 105; + reePlusStarOperandCouldBeEmpty = 106; + reeNestedSQP = 107; + reeBadHexDigit = 108; + reeInvalidRange = 109; + reeParseAtomTrailingBackSlash = 110; + reeNoHexCodeAfterBSlashX = 111; + reeHexCodeAfterBSlashXTooBig = 112; + reeUnmatchedSqBrackets = 113; + reeInternalUrp = 114; + reeQPSBFollowsNothing = 115; + reeTrailingBackSlash = 116; + reeRarseAtomInternalDisaster = 119; + reeBRACESArgTooBig = 122; + reeBracesMinParamGreaterMax = 124; + reeUnclosedComment = 125; + reeComplexBracesNotImplemented = 126; + reeUrecognizedModifier = 127; + reeBadLinePairedSeparator = 128; + reeRegRepeatCalledInappropriately = 1000; + reeMatchPrimMemoryCorruption = 1001; + reeMatchPrimCorruptedPointers = 1002; + reeNoExpression = 1003; + reeCorruptedProgram = 1004; + reeNoInpitStringSpecified = 1005; + reeOffsetMustBeGreaterThen0 = 1006; + reeExecNextWithoutExec = 1007; + reeGetInputStringWithoutInputString = 1008; + reeDumpCorruptedOpcode = 1011; + reeModifierUnsupported = 1013; + reeLoopStackExceeded = 1014; + reeLoopWithoutEntry = 1015; + reeBadPCodeImported = 2000; + +function TRegExpr.ErrorMsg (AErrorID : integer) : RegExprString; + begin + case AErrorID of + reeOk: Result := 'No errors'; + reeCompNullArgument: Result := 'TRegExpr(comp): Null Argument'; + reeCompRegexpTooBig: Result := 'TRegExpr(comp): Regexp Too Big'; + reeCompParseRegTooManyBrackets: Result := 'TRegExpr(comp): ParseReg Too Many ()'; + reeCompParseRegUnmatchedBrackets: Result := 'TRegExpr(comp): ParseReg Unmatched ()'; + reeCompParseRegUnmatchedBrackets2: Result := 'TRegExpr(comp): ParseReg Unmatched ()'; + reeCompParseRegJunkOnEnd: Result := 'TRegExpr(comp): ParseReg Junk On End'; + reePlusStarOperandCouldBeEmpty: Result := 'TRegExpr(comp): *+ Operand Could Be Empty'; + reeNestedSQP: Result := 'TRegExpr(comp): Nested *?+'; + reeBadHexDigit: Result := 'TRegExpr(comp): Bad Hex Digit'; + reeInvalidRange: Result := 'TRegExpr(comp): Invalid [] Range'; + reeParseAtomTrailingBackSlash: Result := 'TRegExpr(comp): Parse Atom Trailing \'; + reeNoHexCodeAfterBSlashX: Result := 'TRegExpr(comp): No Hex Code After \x'; + reeHexCodeAfterBSlashXTooBig: Result := 'TRegExpr(comp): Hex Code After \x Is Too Big'; + reeUnmatchedSqBrackets: Result := 'TRegExpr(comp): Unmatched []'; + reeInternalUrp: Result := 'TRegExpr(comp): Internal Urp'; + reeQPSBFollowsNothing: Result := 'TRegExpr(comp): ?+*{ Follows Nothing'; + reeTrailingBackSlash: Result := 'TRegExpr(comp): Trailing \'; + reeRarseAtomInternalDisaster: Result := 'TRegExpr(comp): RarseAtom Internal Disaster'; + reeBRACESArgTooBig: Result := 'TRegExpr(comp): BRACES Argument Too Big'; + reeBracesMinParamGreaterMax: Result := 'TRegExpr(comp): BRACE Min Param Greater then Max'; + reeUnclosedComment: Result := 'TRegExpr(comp): Unclosed (?#Comment)'; + reeComplexBracesNotImplemented: Result := 'TRegExpr(comp): If you want take part in beta-testing BRACES ''{min,max}'' and non-greedy ops ''*?'', ''+?'', ''??'' for complex cases - remove ''.'' from {.$DEFINE ComplexBraces}'; + reeUrecognizedModifier: Result := 'TRegExpr(comp): Urecognized Modifier'; + reeBadLinePairedSeparator: Result := 'TRegExpr(comp): LinePairedSeparator must countain two different chars or no chars at all'; + + reeRegRepeatCalledInappropriately: Result := 'TRegExpr(exec): RegRepeat Called Inappropriately'; + reeMatchPrimMemoryCorruption: Result := 'TRegExpr(exec): MatchPrim Memory Corruption'; + reeMatchPrimCorruptedPointers: Result := 'TRegExpr(exec): MatchPrim Corrupted Pointers'; + reeNoExpression: Result := 'TRegExpr(exec): Not Assigned Expression Property'; + reeCorruptedProgram: Result := 'TRegExpr(exec): Corrupted Program'; + reeNoInpitStringSpecified: Result := 'TRegExpr(exec): No Input String Specified'; + reeOffsetMustBeGreaterThen0: Result := 'TRegExpr(exec): Offset Must Be Greater Then 0'; + reeExecNextWithoutExec: Result := 'TRegExpr(exec): ExecNext Without Exec[Pos]'; + reeGetInputStringWithoutInputString: Result := 'TRegExpr(exec): GetInputString Without InputString'; + reeDumpCorruptedOpcode: Result := 'TRegExpr(dump): Corrupted Opcode'; + reeLoopStackExceeded: Result := 'TRegExpr(exec): Loop Stack Exceeded'; + reeLoopWithoutEntry: Result := 'TRegExpr(exec): Loop Without LoopEntry !'; + + reeBadPCodeImported: Result := 'TRegExpr(misc): Bad p-code imported'; + else Result := 'Unknown error'; + end; + end; { of procedure TRegExpr.Error +--------------------------------------------------------------} + +function TRegExpr.LastError : integer; + begin + Result := fLastError; + fLastError := reeOk; + end; { of function TRegExpr.LastError +--------------------------------------------------------------} + + +{=============================================================} +{===================== Common section ========================} +{=============================================================} + +class function TRegExpr.VersionMajor : integer; //###0.944 + begin + Result := TRegExprVersionMajor; + end; { of class function TRegExpr.VersionMajor +--------------------------------------------------------------} + +class function TRegExpr.VersionMinor : integer; //###0.944 + begin + Result := TRegExprVersionMinor; + end; { of class function TRegExpr.VersionMinor +--------------------------------------------------------------} + +constructor TRegExpr.Create; + begin + inherited; + programm := nil; + fExpression := nil; + fInputString := nil; + + regexpbeg := nil; + fExprIsCompiled := false; + + ModifierI := RegExprModifierI; + ModifierR := RegExprModifierR; + ModifierS := RegExprModifierS; + ModifierG := RegExprModifierG; + ModifierM := RegExprModifierM; //###0.940 + + SpaceChars := RegExprSpaceChars; //###0.927 + WordChars := RegExprWordChars; //###0.929 + fInvertCase := RegExprInvertCaseFunction; //###0.927 + + fLineSeparators := RegExprLineSeparators; //###0.941 + LinePairedSeparator := RegExprLinePairedSeparator; //###0.941 + end; { of constructor TRegExpr.Create +--------------------------------------------------------------} + +destructor TRegExpr.Destroy; + begin + if programm <> nil + then FreeMem (programm); + if fExpression <> nil + then FreeMem (fExpression); + if fInputString <> nil + then FreeMem (fInputString); + end; { of destructor TRegExpr.Destroy +--------------------------------------------------------------} + +class function TRegExpr.InvertCaseFunction (const Ch : REChar) : REChar; + begin + {$IFDEF UniCode} + if Ch >= #128 + then Result := Ch + else + {$ENDIF} + begin + Result := {$IFDEF FPC}AnsiUpperCase (Ch) [1]{$ELSE} REChar (CharUpper (PChar (Ch))){$ENDIF}; + if Result = Ch + then Result := {$IFDEF FPC}AnsiLowerCase (Ch) [1]{$ELSE} REChar (CharLower (PChar (Ch))){$ENDIF}; + end; + end; { of function TRegExpr.InvertCaseFunction +--------------------------------------------------------------} + +function TRegExpr.GetExpression : RegExprString; + begin + if fExpression <> nil + then Result := fExpression + else Result := ''; + end; { of function TRegExpr.GetExpression +--------------------------------------------------------------} + +procedure TRegExpr.SetExpression (const s : RegExprString); + var + Len : integer; //###0.950 + begin + if (s <> fExpression) or not fExprIsCompiled then begin + fExprIsCompiled := false; + if fExpression <> nil then begin + FreeMem (fExpression); + fExpression := nil; + end; + if s <> '' then begin + Len := length (s); //###0.950 + GetMem (fExpression, (Len + 1) * SizeOf (REChar)); +// StrPCopy (fExpression, s); //###0.950 replaced due to StrPCopy limitation of 255 chars + {$IFDEF UniCode} + StrPCopy (fExpression, Copy (s, 1, Len)); //###0.950 + {$ELSE} + StrLCopy (fExpression, PRegExprChar (s), Len); //###0.950 + {$ENDIF UniCode} + + InvalidateProgramm; //###0.941 + end; + end; + end; { of procedure TRegExpr.SetExpression +--------------------------------------------------------------} + +function TRegExpr.GetSubExprMatchCount : integer; + begin + if Assigned (fInputString) then begin + Result := NSUBEXP - 1; + while (Result > 0) and ((startp [Result] = nil) + or (endp [Result] = nil)) + do dec (Result); + end + else Result := -1; + end; { of function TRegExpr.GetSubExprMatchCount +--------------------------------------------------------------} + +function TRegExpr.GetMatchPos (Idx : integer) : integer; + begin + if (Idx >= 0) and (Idx < NSUBEXP) and Assigned (fInputString) + and Assigned (startp [Idx]) and Assigned (endp [Idx]) then begin + Result := (startp [Idx] - fInputString) + 1; + end + else Result := -1; + end; { of function TRegExpr.GetMatchPos +--------------------------------------------------------------} + +function TRegExpr.GetMatchLen (Idx : integer) : integer; + begin + if (Idx >= 0) and (Idx < NSUBEXP) and Assigned (fInputString) + and Assigned (startp [Idx]) and Assigned (endp [Idx]) then begin + Result := endp [Idx] - startp [Idx]; + end + else Result := -1; + end; { of function TRegExpr.GetMatchLen +--------------------------------------------------------------} + +function TRegExpr.GetMatch (Idx : integer) : RegExprString; + begin + if (Idx >= 0) and (Idx < NSUBEXP) and Assigned (fInputString) + and Assigned (startp [Idx]) and Assigned (endp [Idx]) + //then Result := copy (fInputString, MatchPos [Idx], MatchLen [Idx]) //###0.929 + then SetString (Result, startp [idx], endp [idx] - startp [idx]) + else Result := ''; + end; { of function TRegExpr.GetMatch +--------------------------------------------------------------} + +function TRegExpr.GetModifierStr : RegExprString; + begin + Result := '-'; + + if ModifierI + then Result := 'i' + Result + else Result := Result + 'i'; + if ModifierR + then Result := 'r' + Result + else Result := Result + 'r'; + if ModifierS + then Result := 's' + Result + else Result := Result + 's'; + if ModifierG + then Result := 'g' + Result + else Result := Result + 'g'; + if ModifierM + then Result := 'm' + Result + else Result := Result + 'm'; + if ModifierX + then Result := 'x' + Result + else Result := Result + 'x'; + + if Result [length (Result)] = '-' // remove '-' if all modifiers are 'On' + then System.Delete (Result, length (Result), 1); + end; { of function TRegExpr.GetModifierStr +--------------------------------------------------------------} + +class function TRegExpr.ParseModifiersStr (const AModifiers : RegExprString; +var AModifiersInt : integer) : boolean; +// !!! Be carefull - this is class function and must not use object instance fields + var + i : integer; + IsOn : boolean; + Mask : integer; + begin + Result := true; + IsOn := true; + Mask := 0; // prevent compiler warning + for i := 1 to length (AModifiers) do + if AModifiers [i] = '-' + then IsOn := false + else begin + if Pos (AModifiers [i], 'iI') > 0 + then Mask := MaskModI + else if Pos (AModifiers [i], 'rR') > 0 + then Mask := MaskModR + else if Pos (AModifiers [i], 'sS') > 0 + then Mask := MaskModS + else if Pos (AModifiers [i], 'gG') > 0 + then Mask := MaskModG + else if Pos (AModifiers [i], 'mM') > 0 + then Mask := MaskModM + else if Pos (AModifiers [i], 'xX') > 0 + then Mask := MaskModX + else begin + Result := false; + EXIT; + end; + if IsOn + then AModifiersInt := AModifiersInt or Mask + else AModifiersInt := AModifiersInt and not Mask; + end; + end; { of function TRegExpr.ParseModifiersStr +--------------------------------------------------------------} + +procedure TRegExpr.SetModifierStr (const AModifiers : RegExprString); + begin + if not ParseModifiersStr (AModifiers, fModifiers) + then Error (reeModifierUnsupported); + end; { of procedure TRegExpr.SetModifierStr +--------------------------------------------------------------} + +function TRegExpr.GetModifier (AIndex : integer) : boolean; + var + Mask : integer; + begin + Result := false; + case AIndex of + 1: Mask := MaskModI; + 2: Mask := MaskModR; + 3: Mask := MaskModS; + 4: Mask := MaskModG; + 5: Mask := MaskModM; + 6: Mask := MaskModX; + else begin + Error (reeModifierUnsupported); + EXIT; + end; + end; + Result := (fModifiers and Mask) <> 0; + end; { of function TRegExpr.GetModifier +--------------------------------------------------------------} + +procedure TRegExpr.SetModifier (AIndex : integer; ASet : boolean); + var + Mask : integer; + begin + case AIndex of + 1: Mask := MaskModI; + 2: Mask := MaskModR; + 3: Mask := MaskModS; + 4: Mask := MaskModG; + 5: Mask := MaskModM; + 6: Mask := MaskModX; + else begin + Error (reeModifierUnsupported); + EXIT; + end; + end; + if ASet + then fModifiers := fModifiers or Mask + else fModifiers := fModifiers and not Mask; + end; { of procedure TRegExpr.SetModifier +--------------------------------------------------------------} + + +{=============================================================} +{==================== Compiler section =======================} +{=============================================================} + +procedure TRegExpr.InvalidateProgramm; + begin + if programm <> nil then begin + FreeMem (programm); + programm := nil; + end; + end; { of procedure TRegExpr.InvalidateProgramm +--------------------------------------------------------------} + +procedure TRegExpr.Compile; //###0.941 + begin + if fExpression = nil then begin // No Expression assigned + Error (reeNoExpression); + EXIT; + end; + CompileRegExpr (fExpression); + end; { of procedure TRegExpr.Compile +--------------------------------------------------------------} + +function TRegExpr.IsProgrammOk : boolean; + {$IFNDEF UniCode} + var + i : integer; + {$ENDIF} + begin + Result := false; + + // check modifiers + if fModifiers <> fProgModifiers //###0.941 + then InvalidateProgramm; + + // can we optimize line separators by using sets? + {$IFNDEF UniCode} + fLineSeparatorsSet := []; + for i := 1 to length (fLineSeparators) + do System.Include (fLineSeparatorsSet, fLineSeparators [i]); + {$ENDIF} + + // [Re]compile if needed + if programm = nil + then Compile; //###0.941 + + // check [re]compiled programm + if programm = nil + then EXIT // error was set/raised by Compile (was reeExecAfterCompErr) + else if programm [0] <> MAGIC // Program corrupted. + then Error (reeCorruptedProgram) + else Result := true; + end; { of function TRegExpr.IsProgrammOk +--------------------------------------------------------------} + +procedure TRegExpr.Tail (p : PRegExprChar; val : PRegExprChar); +// set the next-pointer at the end of a node chain + var + scan : PRegExprChar; + temp : PRegExprChar; +// i : int64; + begin + if p = @regdummy + then EXIT; + // Find last node. + scan := p; + REPEAT + temp := regnext (scan); + if temp = nil + then BREAK; + scan := temp; + UNTIL false; + // Set Next 'pointer' + if val < scan + then PRENextOff (scan + REOpSz)^ := - (scan - val) //###0.948 + // work around PWideChar subtraction bug (Delphi uses + // shr after subtraction to calculate widechar distance %-( ) + // so, if difference is negative we have .. the "feature" :( + // I could wrap it in $IFDEF UniCode, but I didn't because + // "P – Q computes the difference between the address given + // by P (the higher address) and the address given by Q (the + // lower address)" - Delphi help quotation. + else PRENextOff (scan + REOpSz)^ := val - scan; //###0.933 + end; { of procedure TRegExpr.Tail +--------------------------------------------------------------} + +procedure TRegExpr.OpTail (p : PRegExprChar; val : PRegExprChar); +// regtail on operand of first argument; nop if operandless + begin + // "Operandless" and "op != BRANCH" are synonymous in practice. + if (p = nil) or (p = @regdummy) or (PREOp (p)^ <> BRANCH) + then EXIT; + Tail (p + REOpSz + RENextOffSz, val); //###0.933 + end; { of procedure TRegExpr.OpTail +--------------------------------------------------------------} + +function TRegExpr.EmitNode (op : TREOp) : PRegExprChar; //###0.933 +// emit a node, return location + begin + Result := regcode; + if Result <> @regdummy then begin + PREOp (regcode)^ := op; + inc (regcode, REOpSz); + PRENextOff (regcode)^ := 0; // Next "pointer" := nil + inc (regcode, RENextOffSz); + end + else inc (regsize, REOpSz + RENextOffSz); // compute code size without code generation + end; { of function TRegExpr.EmitNode +--------------------------------------------------------------} + +procedure TRegExpr.EmitC (b : REChar); +// emit a byte to code + begin + if regcode <> @regdummy then begin + regcode^ := b; + inc (regcode); + end + else inc (regsize); // Type of p-code pointer always is ^REChar + end; { of procedure TRegExpr.EmitC +--------------------------------------------------------------} + +procedure TRegExpr.InsertOperator (op : TREOp; opnd : PRegExprChar; sz : integer); +// insert an operator in front of already-emitted operand +// Means relocating the operand. + var + src, dst, place : PRegExprChar; + i : integer; + begin + if regcode = @regdummy then begin + inc (regsize, sz); + EXIT; + end; + src := regcode; + inc (regcode, sz); + dst := regcode; + while src > opnd do begin + dec (dst); + dec (src); + dst^ := src^; + end; + place := opnd; // Op node, where operand used to be. + PREOp (place)^ := op; + inc (place, REOpSz); + for i := 1 + REOpSz to sz do begin + place^ := #0; + inc (place); + end; + end; { of procedure TRegExpr.InsertOperator +--------------------------------------------------------------} + +function strcspn (s1 : PRegExprChar; s2 : PRegExprChar) : integer; +// find length of initial segment of s1 consisting +// entirely of characters not from s2 + var scan1, scan2 : PRegExprChar; + begin + Result := 0; + scan1 := s1; + while scan1^ <> #0 do begin + scan2 := s2; + while scan2^ <> #0 do + if scan1^ = scan2^ + then EXIT + else inc (scan2); + inc (Result); + inc (scan1) + end; + end; { of function strcspn +--------------------------------------------------------------} + +const +// Flags to be passed up and down. + HASWIDTH = 01; // Known never to match nil string. + SIMPLE = 02; // Simple enough to be STAR/PLUS/BRACES operand. + SPSTART = 04; // Starts with * or +. + WORST = 0; // Worst case. + META : array [0 .. 12] of REChar = ( + '^', '$', '.', '[', '(', ')', '|', '?', '+', '*', EscChar, '{', #0); + // Any modification must be synchronized with QuoteRegExprMetaChars !!! + +{$IFDEF UniCode} + RusRangeLo : array [0 .. 33] of REChar = + (#$430,#$431,#$432,#$433,#$434,#$435,#$451,#$436,#$437, + #$438,#$439,#$43A,#$43B,#$43C,#$43D,#$43E,#$43F, + #$440,#$441,#$442,#$443,#$444,#$445,#$446,#$447, + #$448,#$449,#$44A,#$44B,#$44C,#$44D,#$44E,#$44F,#0); + RusRangeHi : array [0 .. 33] of REChar = + (#$410,#$411,#$412,#$413,#$414,#$415,#$401,#$416,#$417, + #$418,#$419,#$41A,#$41B,#$41C,#$41D,#$41E,#$41F, + #$420,#$421,#$422,#$423,#$424,#$425,#$426,#$427, + #$428,#$429,#$42A,#$42B,#$42C,#$42D,#$42E,#$42F,#0); + RusRangeLoLow = #$430{'à'}; + RusRangeLoHigh = #$44F{'ÿ'}; + RusRangeHiLow = #$410{'À'}; + RusRangeHiHigh = #$42F{'ß'}; +{$ELSE} + RusRangeLo = 'àáâãä叿çèéêëìíîïðñòóôõö÷øùúûüýþÿ'; + RusRangeHi = 'ÀÁÂÃÄŨÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖרÙÚÛÜÝÞß'; + RusRangeLoLow = 'à'; + RusRangeLoHigh = 'ÿ'; + RusRangeHiLow = 'À'; + RusRangeHiHigh = 'ß'; +{$ENDIF} + +function TRegExpr.CompileRegExpr (exp : PRegExprChar) : boolean; +// compile a regular expression into internal code +// We can't allocate space until we know how big the compiled form will be, +// but we can't compile it (and thus know how big it is) until we've got a +// place to put the code. So we cheat: we compile it twice, once with code +// generation turned off and size counting turned on, and once "for real". +// This also means that we don't allocate space until we are sure that the +// thing really will compile successfully, and we never have to move the +// code and thus invalidate pointers into it. (Note that it has to be in +// one piece because free() must be able to free it all.) +// Beware that the optimization-preparation code in here knows about some +// of the structure of the compiled regexp. + var + scan, longest : PRegExprChar; + len : cardinal; + flags : integer; + begin + Result := false; // life too dark + + regparse := nil; // for correct error handling + regexpbeg := exp; + try + + if programm <> nil then begin + FreeMem (programm); + programm := nil; + end; + + if exp = nil then begin + Error (reeCompNullArgument); + EXIT; + end; + + fProgModifiers := fModifiers; + // well, may it's paranoia. I'll check it later... !!!!!!!! + + // First pass: determine size, legality. + fCompModifiers := fModifiers; + regparse := exp; + regnpar := 1; + regsize := 0; + regcode := @regdummy; + EmitC (MAGIC); + if ParseReg (0, flags) = nil + then EXIT; + + // Small enough for 2-bytes programm pointers ? + // ###0.933 no real p-code length limits now :))) +// if regsize >= 64 * 1024 then begin +// Error (reeCompRegexpTooBig); +// EXIT; +// end; + + // Allocate space. + GetMem (programm, regsize * SizeOf (REChar)); + + // Second pass: emit code. + fCompModifiers := fModifiers; + regparse := exp; + regnpar := 1; + regcode := programm; + EmitC (MAGIC); + if ParseReg (0, flags) = nil + then EXIT; + + // Dig out information for optimizations. + {$IFDEF UseFirstCharSet} //###0.929 + FirstCharSet := []; + FillFirstCharSet (programm + REOpSz); + {$ENDIF} + regstart := #0; // Worst-case defaults. + reganch := #0; + regmust := nil; + regmlen := 0; + scan := programm + REOpSz; // First BRANCH. + if PREOp (regnext (scan))^ = EEND then begin // Only one top-level choice. + scan := scan + REOpSz + RENextOffSz; + + // Starting-point info. + if PREOp (scan)^ = EXACTLY + then regstart := (scan + REOpSz + RENextOffSz)^ + else if PREOp (scan)^ = BOL + then inc (reganch); + + // If there's something expensive in the r.e., find the longest + // literal string that must appear and make it the regmust. Resolve + // ties in favor of later strings, since the regstart check works + // with the beginning of the r.e. and avoiding duplication + // strengthens checking. Not a strong reason, but sufficient in the + // absence of others. + if (flags and SPSTART) <> 0 then begin + longest := nil; + len := 0; + while scan <> nil do begin + if (PREOp (scan)^ = EXACTLY) + and (strlen (scan + REOpSz + RENextOffSz) >= len) then begin + longest := scan + REOpSz + RENextOffSz; + len := strlen (longest); + end; + scan := regnext (scan); + end; + regmust := longest; + regmlen := len; + end; + end; + + Result := true; + + finally begin + if not Result + then InvalidateProgramm; + regexpbeg := nil; + fExprIsCompiled := Result; //###0.944 + end; + end; + + end; { of function TRegExpr.CompileRegExpr +--------------------------------------------------------------} + +function TRegExpr.ParseReg (paren : integer; var flagp : integer) : PRegExprChar; +// regular expression, i.e. main body or parenthesized thing +// Caller must absorb opening parenthesis. +// Combining parenthesis handling with the base level of regular expression +// is a trifle forced, but the need to tie the tails of the branches to what +// follows makes it hard to avoid. + var + ret, br, ender : PRegExprChar; + parno : integer; + flags : integer; + SavedModifiers : integer; + begin + Result := nil; + flagp := HASWIDTH; // Tentatively. + parno := 0; // eliminate compiler stupid warning + SavedModifiers := fCompModifiers; + + // Make an OPEN node, if parenthesized. + if paren <> 0 then begin + if regnpar >= NSUBEXP then begin + Error (reeCompParseRegTooManyBrackets); + EXIT; + end; + parno := regnpar; + inc (regnpar); + ret := EmitNode (TREOp (ord (OPEN) + parno)); + end + else ret := nil; + + // Pick up the branches, linking them together. + br := ParseBranch (flags); + if br = nil then begin + Result := nil; + EXIT; + end; + if ret <> nil + then Tail (ret, br) // OPEN -> first. + else ret := br; + if (flags and HASWIDTH) = 0 + then flagp := flagp and not HASWIDTH; + flagp := flagp or flags and SPSTART; + while (regparse^ = '|') do begin + inc (regparse); + br := ParseBranch (flags); + if br = nil then begin + Result := nil; + EXIT; + end; + Tail (ret, br); // BRANCH -> BRANCH. + if (flags and HASWIDTH) = 0 + then flagp := flagp and not HASWIDTH; + flagp := flagp or flags and SPSTART; + end; + + // Make a closing node, and hook it on the end. + if paren <> 0 + then ender := EmitNode (TREOp (ord (CLOSE) + parno)) + else ender := EmitNode (EEND); + Tail (ret, ender); + + // Hook the tails of the branches to the closing node. + br := ret; + while br <> nil do begin + OpTail (br, ender); + br := regnext (br); + end; + + // Check for proper termination. + if paren <> 0 then + if regparse^ <> ')' then begin + Error (reeCompParseRegUnmatchedBrackets); + EXIT; + end + else inc (regparse); // skip trailing ')' + if (paren = 0) and (regparse^ <> #0) then begin + if regparse^ = ')' + then Error (reeCompParseRegUnmatchedBrackets2) + else Error (reeCompParseRegJunkOnEnd); + EXIT; + end; + fCompModifiers := SavedModifiers; // restore modifiers of parent + Result := ret; + end; { of function TRegExpr.ParseReg +--------------------------------------------------------------} + +function TRegExpr.ParseBranch (var flagp : integer) : PRegExprChar; +// one alternative of an | operator +// Implements the concatenation operator. + var + ret, chain, latest : PRegExprChar; + flags : integer; + begin + flagp := WORST; // Tentatively. + + ret := EmitNode (BRANCH); + chain := nil; + while (regparse^ <> #0) and (regparse^ <> '|') + and (regparse^ <> ')') do begin + latest := ParsePiece (flags); + if latest = nil then begin + Result := nil; + EXIT; + end; + flagp := flagp or flags and HASWIDTH; + if chain = nil // First piece. + then flagp := flagp or flags and SPSTART + else Tail (chain, latest); + chain := latest; + end; + if chain = nil // Loop ran zero times. + then EmitNode (NOTHING); + Result := ret; + end; { of function TRegExpr.ParseBranch +--------------------------------------------------------------} + +function TRegExpr.ParsePiece (var flagp : integer) : PRegExprChar; +// something followed by possible [*+?{] +// Note that the branching code sequences used for ? and the general cases +// of * and + and { are somewhat optimized: they use the same NOTHING node as +// both the endmarker for their branch list and the body of the last branch. +// It might seem that this node could be dispensed with entirely, but the +// endmarker role is not redundant. + function parsenum (AStart, AEnd : PRegExprChar) : TREBracesArg; + begin + Result := 0; + if AEnd - AStart + 1 > 8 then begin // prevent stupid scanning + Error (reeBRACESArgTooBig); + EXIT; + end; + while AStart <= AEnd do begin + Result := Result * 10 + (ord (AStart^) - ord ('0')); + inc (AStart); + end; + if (Result > MaxBracesArg) or (Result < 0) then begin + Error (reeBRACESArgTooBig); + EXIT; + end; + end; + + var + op : REChar; + NonGreedyOp, NonGreedyCh : boolean; //###0.940 + TheOp : TREOp; //###0.940 + NextNode : PRegExprChar; + flags : integer; + BracesMin, Bracesmax : TREBracesArg; + p, savedparse : PRegExprChar; + + procedure EmitComplexBraces (ABracesMin, ABracesMax : TREBracesArg; + ANonGreedyOp : boolean); //###0.940 + {$IFDEF ComplexBraces} + var + off : integer; + {$ENDIF} + begin + {$IFNDEF ComplexBraces} + Error (reeComplexBracesNotImplemented); + {$ELSE} + if ANonGreedyOp + then TheOp := LOOPNG + else TheOp := LOOP; + InsertOperator (LOOPENTRY, Result, REOpSz + RENextOffSz); + NextNode := EmitNode (TheOp); + if regcode <> @regdummy then begin + off := (Result + REOpSz + RENextOffSz) + - (regcode - REOpSz - RENextOffSz); // back to Atom after LOOPENTRY + PREBracesArg (regcode)^ := ABracesMin; + inc (regcode, REBracesArgSz); + PREBracesArg (regcode)^ := ABracesMax; + inc (regcode, REBracesArgSz); + PRENextOff (regcode)^ := off; + inc (regcode, RENextOffSz); + end + else inc (regsize, REBracesArgSz * 2 + RENextOffSz); + Tail (Result, NextNode); // LOOPENTRY -> LOOP + if regcode <> @regdummy then + Tail (Result + REOpSz + RENextOffSz, NextNode); // Atom -> LOOP + {$ENDIF} + end; + + procedure EmitSimpleBraces (ABracesMin, ABracesMax : TREBracesArg; + ANonGreedyOp : boolean); //###0.940 + begin + if ANonGreedyOp //###0.940 + then TheOp := BRACESNG + else TheOp := BRACES; + InsertOperator (TheOp, Result, REOpSz + RENextOffSz + REBracesArgSz * 2); + if regcode <> @regdummy then begin + PREBracesArg (Result + REOpSz + RENextOffSz)^ := ABracesMin; + PREBracesArg (Result + REOpSz + RENextOffSz + REBracesArgSz)^ := ABracesMax; + end; + end; + + begin + Result := ParseAtom (flags); + if Result = nil + then EXIT; + + op := regparse^; + if not ((op = '*') or (op = '+') or (op = '?') or (op = '{')) then begin + flagp := flags; + EXIT; + end; + if ((flags and HASWIDTH) = 0) and (op <> '?') then begin + Error (reePlusStarOperandCouldBeEmpty); + EXIT; + end; + + case op of + '*': begin + flagp := WORST or SPSTART; + NonGreedyCh := (regparse + 1)^ = '?'; //###0.940 + NonGreedyOp := NonGreedyCh or ((fCompModifiers and MaskModG) = 0); //###0.940 + if (flags and SIMPLE) = 0 then begin + if NonGreedyOp //###0.940 + then EmitComplexBraces (0, MaxBracesArg, NonGreedyOp) + else begin // Emit x* as (x&|), where & means "self". + InsertOperator (BRANCH, Result, REOpSz + RENextOffSz); // Either x + OpTail (Result, EmitNode (BACK)); // and loop + OpTail (Result, Result); // back + Tail (Result, EmitNode (BRANCH)); // or + Tail (Result, EmitNode (NOTHING)); // nil. + end + end + else begin // Simple + if NonGreedyOp //###0.940 + then TheOp := STARNG + else TheOp := STAR; + InsertOperator (TheOp, Result, REOpSz + RENextOffSz); + end; + if NonGreedyCh //###0.940 + then inc (regparse); // Skip extra char ('?') + end; { of case '*'} + '+': begin + flagp := WORST or SPSTART or HASWIDTH; + NonGreedyCh := (regparse + 1)^ = '?'; //###0.940 + NonGreedyOp := NonGreedyCh or ((fCompModifiers and MaskModG) = 0); //###0.940 + if (flags and SIMPLE) = 0 then begin + if NonGreedyOp //###0.940 + then EmitComplexBraces (1, MaxBracesArg, NonGreedyOp) + else begin // Emit x+ as x(&|), where & means "self". + NextNode := EmitNode (BRANCH); // Either + Tail (Result, NextNode); + Tail (EmitNode (BACK), Result); // loop back + Tail (NextNode, EmitNode (BRANCH)); // or + Tail (Result, EmitNode (NOTHING)); // nil. + end + end + else begin // Simple + if NonGreedyOp //###0.940 + then TheOp := PLUSNG + else TheOp := PLUS; + InsertOperator (TheOp, Result, REOpSz + RENextOffSz); + end; + if NonGreedyCh //###0.940 + then inc (regparse); // Skip extra char ('?') + end; { of case '+'} + '?': begin + flagp := WORST; + NonGreedyCh := (regparse + 1)^ = '?'; //###0.940 + NonGreedyOp := NonGreedyCh or ((fCompModifiers and MaskModG) = 0); //###0.940 + if NonGreedyOp then begin //###0.940 // We emit x?? as x{0,1}? + if (flags and SIMPLE) = 0 + then EmitComplexBraces (0, 1, NonGreedyOp) + else EmitSimpleBraces (0, 1, NonGreedyOp); + end + else begin // greedy '?' + InsertOperator (BRANCH, Result, REOpSz + RENextOffSz); // Either x + Tail (Result, EmitNode (BRANCH)); // or + NextNode := EmitNode (NOTHING); // nil. + Tail (Result, NextNode); + OpTail (Result, NextNode); + end; + if NonGreedyCh //###0.940 + then inc (regparse); // Skip extra char ('?') + end; { of case '?'} + '{': begin + savedparse := regparse; + // !!!!!!!!!!!! + // Filip Jirsak's note - what will happen, when we are at the end of regparse? + inc (regparse); + p := regparse; + while Pos (regparse^, '0123456789') > 0 // MUST appear + do inc (regparse); + if (regparse^ <> '}') and (regparse^ <> ',') or (p = regparse) then begin + regparse := savedparse; + flagp := flags; + EXIT; + end; + BracesMin := parsenum (p, regparse - 1); + if regparse^ = ',' then begin + inc (regparse); + p := regparse; + while Pos (regparse^, '0123456789') > 0 + do inc (regparse); + if regparse^ <> '}' then begin + regparse := savedparse; + EXIT; + end; + if p = regparse + then BracesMax := MaxBracesArg + else BracesMax := parsenum (p, regparse - 1); + end + else BracesMax := BracesMin; // {n} == {n,n} + if BracesMin > BracesMax then begin + Error (reeBracesMinParamGreaterMax); + EXIT; + end; + if BracesMin > 0 + then flagp := WORST; + if BracesMax > 0 + then flagp := flagp or HASWIDTH or SPSTART; + + NonGreedyCh := (regparse + 1)^ = '?'; //###0.940 + NonGreedyOp := NonGreedyCh or ((fCompModifiers and MaskModG) = 0); //###0.940 + if (flags and SIMPLE) <> 0 + then EmitSimpleBraces (BracesMin, BracesMax, NonGreedyOp) + else EmitComplexBraces (BracesMin, BracesMax, NonGreedyOp); + if NonGreedyCh //###0.940 + then inc (regparse); // Skip extra char '?' + end; { of case '{'} +// else // here we can't be + end; { of case op} + + inc (regparse); + if (regparse^ = '*') or (regparse^ = '+') or (regparse^ = '?') or (regparse^ = '{') then begin + Error (reeNestedSQP); + EXIT; + end; + end; { of function TRegExpr.ParsePiece +--------------------------------------------------------------} + +function TRegExpr.ParseAtom (var flagp : integer) : PRegExprChar; +// the lowest level +// Optimization: gobbles an entire sequence of ordinary characters so that +// it can turn them into a single node, which is smaller to store and +// faster to run. Backslashed characters are exceptions, each becoming a +// separate node; the code is simpler that way and it's not worth fixing. + var + ret : PRegExprChar; + flags : integer; + RangeBeg, RangeEnd : REChar; + CanBeRange : boolean; + len : integer; + ender : REChar; + begmodfs : PRegExprChar; + + {$IFDEF UseSetOfChar} //###0.930 + RangePCodeBeg : PRegExprChar; + RangePCodeIdx : integer; + RangeIsCI : boolean; + RangeSet : TSetOfREChar; + RangeLen : integer; + RangeChMin, RangeChMax : REChar; + {$ENDIF} + + procedure EmitExactly (ch : REChar); + begin + if (fCompModifiers and MaskModI) <> 0 + then ret := EmitNode (EXACTLYCI) + else ret := EmitNode (EXACTLY); + EmitC (ch); + EmitC (#0); + flagp := flagp or HASWIDTH or SIMPLE; + end; + + procedure EmitStr (const s : RegExprString); + var i : integer; + begin + for i := 1 to length (s) + do EmitC (s [i]); + end; + + function HexDig (ch : REChar) : integer; + begin + Result := 0; + if (ch >= 'a') and (ch <= 'f') + then ch := REChar (ord (ch) - (ord ('a') - ord ('A'))); + if (ch < '0') or (ch > 'F') or ((ch > '9') and (ch < 'A')) then begin + Error (reeBadHexDigit); + EXIT; + end; + Result := ord (ch) - ord ('0'); + if ch >= 'A' + then Result := Result - (ord ('A') - ord ('9') - 1); + end; + + function EmitRange (AOpCode : REChar) : PRegExprChar; + begin + {$IFDEF UseSetOfChar} + case AOpCode of + ANYBUTCI, ANYBUT: + Result := EmitNode (ANYBUTTINYSET); + else // ANYOFCI, ANYOF + Result := EmitNode (ANYOFTINYSET); + end; + case AOpCode of + ANYBUTCI, ANYOFCI: + RangeIsCI := True; + else // ANYBUT, ANYOF + RangeIsCI := False; + end; + RangePCodeBeg := regcode; + RangePCodeIdx := regsize; + RangeLen := 0; + RangeSet := []; + RangeChMin := #255; + RangeChMax := #0; + {$ELSE} + Result := EmitNode (AOpCode); + // ToDo: + // !!!!!!!!!!!!! Implement ANYOF[BUT]TINYSET generation for UniCode !!!!!!!!!! + {$ENDIF} + end; + +{$IFDEF UseSetOfChar} + procedure EmitRangeCPrim (b : REChar); //###0.930 + begin + if b in RangeSet + then EXIT; + inc (RangeLen); + if b < RangeChMin + then RangeChMin := b; + if b > RangeChMax + then RangeChMax := b; + Include (RangeSet, b); + end; + {$ENDIF} + + procedure EmitRangeC (b : REChar); + {$IFDEF UseSetOfChar} + var + Ch : REChar; + {$ENDIF} + begin + CanBeRange := false; + {$IFDEF UseSetOfChar} + if b <> #0 then begin + EmitRangeCPrim (b); //###0.930 + if RangeIsCI + then EmitRangeCPrim (InvertCase (b)); //###0.930 + end + else begin + {$IFDEF UseAsserts} + Assert (RangeLen > 0, 'TRegExpr.ParseAtom(subroutine EmitRangeC): empty range'); // impossible, but who knows.. + Assert (RangeChMin <= RangeChMax, 'TRegExpr.ParseAtom(subroutine EmitRangeC): RangeChMin > RangeChMax'); // impossible, but who knows.. + {$ENDIF} + if RangeLen <= TinySetLen then begin // emit "tiny set" + if regcode = @regdummy then begin + regsize := RangePCodeIdx + TinySetLen; // RangeChMin/Max !!! + EXIT; + end; + regcode := RangePCodeBeg; + for Ch := RangeChMin to RangeChMax do //###0.930 + if Ch in RangeSet then begin + regcode^ := Ch; + inc (regcode); + end; + // fill rest: + while regcode < RangePCodeBeg + TinySetLen do begin + regcode^ := RangeChMax; + inc (regcode); + end; + end + else begin + if regcode = @regdummy then begin + regsize := RangePCodeIdx + SizeOf (TSetOfREChar); + EXIT; + end; + if (RangePCodeBeg - REOpSz - RENextOffSz)^ = ANYBUTTINYSET + then RangeSet := [#0 .. #255] - RangeSet; + PREOp (RangePCodeBeg - REOpSz - RENextOffSz)^ := ANYOFFULLSET; + regcode := RangePCodeBeg; + Move (RangeSet, regcode^, SizeOf (TSetOfREChar)); + inc (regcode, SizeOf (TSetOfREChar)); + end; + end; + {$ELSE} + EmitC (b); + {$ENDIF} + end; + + procedure EmitSimpleRangeC (b : REChar); + begin + RangeBeg := b; + EmitRangeC (b); + CanBeRange := true; + end; + + procedure EmitRangeStr (const s : RegExprString); + var i : integer; + begin + for i := 1 to length (s) + do EmitRangeC (s [i]); + end; + + function UnQuoteChar (var APtr : PRegExprChar) : REChar; //###0.934 + begin + case APtr^ of + 't': Result := #$9; // tab (HT/TAB) + 'n': Result := #$a; // newline (NL) + 'r': Result := #$d; // car.return (CR) + 'f': Result := #$c; // form feed (FF) + 'a': Result := #$7; // alarm (bell) (BEL) + 'e': Result := #$1b; // escape (ESC) + 'x': begin // hex char + Result := #0; + inc (APtr); + if APtr^ = #0 then begin + Error (reeNoHexCodeAfterBSlashX); + EXIT; + end; + if APtr^ = '{' then begin // \x{nnnn} //###0.936 + REPEAT + inc (APtr); + if APtr^ = #0 then begin + Error (reeNoHexCodeAfterBSlashX); + EXIT; + end; + if APtr^ <> '}' then begin + if (Ord (Result) + ShR (SizeOf (REChar) * 8 - 4)) and $F <> 0 then begin + Error (reeHexCodeAfterBSlashXTooBig); + EXIT; + end; + Result := REChar ((Ord (Result) ShL 4) or HexDig (APtr^)); + // HexDig will cause Error if bad hex digit found + end + else BREAK; + UNTIL False; + end + else begin + Result := REChar (HexDig (APtr^)); + // HexDig will cause Error if bad hex digit found + inc (APtr); + if APtr^ = #0 then begin + Error (reeNoHexCodeAfterBSlashX); + EXIT; + end; + Result := REChar ((Ord (Result) ShL 4) or HexDig (APtr^)); + // HexDig will cause Error if bad hex digit found + end; + end; + else Result := APtr^; + end; + end; + + begin + Result := nil; + flagp := WORST; // Tentatively. + + inc (regparse); + case (regparse - 1)^ of + '^': if ((fCompModifiers and MaskModM) = 0) + or ((fLineSeparators = '') and not fLinePairedSeparatorAssigned) + then ret := EmitNode (BOL) + else ret := EmitNode (BOLML); + '$': if ((fCompModifiers and MaskModM) = 0) + or ((fLineSeparators = '') and not fLinePairedSeparatorAssigned) + then ret := EmitNode (EOL) + else ret := EmitNode (EOLML); + '.': + if (fCompModifiers and MaskModS) <> 0 then begin + ret := EmitNode (ANY); + flagp := flagp or HASWIDTH or SIMPLE; + end + else begin // not /s, so emit [^:LineSeparators:] + ret := EmitNode (ANYML); + flagp := flagp or HASWIDTH; // not so simple ;) +// ret := EmitRange (ANYBUT); +// EmitRangeStr (LineSeparators); //###0.941 +// EmitRangeStr (LinePairedSeparator); // !!! isn't correct if have to accept only paired +// EmitRangeC (#0); +// flagp := flagp or HASWIDTH or SIMPLE; + end; + '[': begin + if regparse^ = '^' then begin // Complement of range. + if (fCompModifiers and MaskModI) <> 0 + then ret := EmitRange (ANYBUTCI) + else ret := EmitRange (ANYBUT); + inc (regparse); + end + else + if (fCompModifiers and MaskModI) <> 0 + then ret := EmitRange (ANYOFCI) + else ret := EmitRange (ANYOF); + + CanBeRange := false; + + if (regparse^ = ']') then begin + EmitSimpleRangeC (regparse^); // []-a] -> ']' .. 'a' + inc (regparse); + end; + + while (regparse^ <> #0) and (regparse^ <> ']') do begin + if (regparse^ = '-') + and ((regparse + 1)^ <> #0) and ((regparse + 1)^ <> ']') + and CanBeRange then begin + inc (regparse); + RangeEnd := regparse^; + if RangeEnd = EscChar then begin + {$IFDEF UniCode} //###0.935 + if (ord ((regparse + 1)^) < 256) + and (char ((regparse + 1)^) + in ['d', 'D', 's', 'S', 'w', 'W']) then begin + {$ELSE} + if (regparse + 1)^ in ['d', 'D', 's', 'S', 'w', 'W'] then begin + {$ENDIF} + EmitRangeC ('-'); // or treat as error ?!! + CONTINUE; + end; + inc (regparse); + RangeEnd := UnQuoteChar (regparse); + end; + + // r.e.ranges extension for russian + if ((fCompModifiers and MaskModR) <> 0) + and (RangeBeg = RusRangeLoLow) and (RangeEnd = RusRangeLoHigh) then begin + EmitRangeStr (RusRangeLo); + end + else if ((fCompModifiers and MaskModR) <> 0) + and (RangeBeg = RusRangeHiLow) and (RangeEnd = RusRangeHiHigh) then begin + EmitRangeStr (RusRangeHi); + end + else if ((fCompModifiers and MaskModR) <> 0) + and (RangeBeg = RusRangeLoLow) and (RangeEnd = RusRangeHiHigh) then begin + EmitRangeStr (RusRangeLo); + EmitRangeStr (RusRangeHi); + end + else begin // standard r.e. handling + if RangeBeg > RangeEnd then begin + Error (reeInvalidRange); + EXIT; + end; + inc (RangeBeg); + EmitRangeC (RangeEnd); // prevent infinite loop if RangeEnd=$ff + while RangeBeg < RangeEnd do begin //###0.929 + EmitRangeC (RangeBeg); + inc (RangeBeg); + end; + end; + inc (regparse); + end + else begin + if regparse^ = EscChar then begin + inc (regparse); + if regparse^ = #0 then begin + Error (reeParseAtomTrailingBackSlash); + EXIT; + end; + case regparse^ of // r.e.extensions + 'd': EmitRangeStr ('0123456789'); + 'w': EmitRangeStr (WordChars); + 's': EmitRangeStr (SpaceChars); + else EmitSimpleRangeC (UnQuoteChar (regparse)); + end; { of case} + end + else EmitSimpleRangeC (regparse^); + inc (regparse); + end; + end; { of while} + EmitRangeC (#0); + if regparse^ <> ']' then begin + Error (reeUnmatchedSqBrackets); + EXIT; + end; + inc (regparse); + flagp := flagp or HASWIDTH or SIMPLE; + end; + '(': begin + if regparse^ = '?' then begin + // check for extended Perl syntax : (?..) + if (regparse + 1)^ = '#' then begin // (?#comment) + inc (regparse, 2); // find closing ')' + while (regparse^ <> #0) and (regparse^ <> ')') + do inc (regparse); + if regparse^ <> ')' then begin + Error (reeUnclosedComment); + EXIT; + end; + inc (regparse); // skip ')' + ret := EmitNode (COMMENT); // comment + end + else begin // modifiers ? + inc (regparse); // skip '?' + begmodfs := regparse; + while (regparse^ <> #0) and (regparse^ <> ')') + do inc (regparse); + if (regparse^ <> ')') + or not ParseModifiersStr (copy (begmodfs, 1, (regparse - begmodfs)), fCompModifiers) then begin + Error (reeUrecognizedModifier); + EXIT; + end; + inc (regparse); // skip ')' + ret := EmitNode (COMMENT); // comment +// Error (reeQPSBFollowsNothing); +// EXIT; + end; + end + else begin + ret := ParseReg (1, flags); + if ret = nil then begin + Result := nil; + EXIT; + end; + flagp := flagp or flags and (HASWIDTH or SPSTART); + end; + end; + #0, '|', ')': begin // Supposed to be caught earlier. + Error (reeInternalUrp); + EXIT; + end; + '?', '+', '*': begin + Error (reeQPSBFollowsNothing); + EXIT; + end; + EscChar: begin + if regparse^ = #0 then begin + Error (reeTrailingBackSlash); + EXIT; + end; + case regparse^ of // r.e.extensions + 'b': ret := EmitNode (BOUND); //###0.943 + 'B': ret := EmitNode (NOTBOUND); //###0.943 + 'A': ret := EmitNode (BOL); //###0.941 + 'Z': ret := EmitNode (EOL); //###0.941 + 'd': begin // r.e.extension - any digit ('0' .. '9') + ret := EmitNode (ANYDIGIT); + flagp := flagp or HASWIDTH or SIMPLE; + end; + 'D': begin // r.e.extension - not digit ('0' .. '9') + ret := EmitNode (NOTDIGIT); + flagp := flagp or HASWIDTH or SIMPLE; + end; + 's': begin // r.e.extension - any space char + {$IFDEF UseSetOfChar} + ret := EmitRange (ANYOF); + EmitRangeStr (SpaceChars); + EmitRangeC (#0); + {$ELSE} + ret := EmitNode (ANYSPACE); + {$ENDIF} + flagp := flagp or HASWIDTH or SIMPLE; + end; + 'S': begin // r.e.extension - not space char + {$IFDEF UseSetOfChar} + ret := EmitRange (ANYBUT); + EmitRangeStr (SpaceChars); + EmitRangeC (#0); + {$ELSE} + ret := EmitNode (NOTSPACE); + {$ENDIF} + flagp := flagp or HASWIDTH or SIMPLE; + end; + 'w': begin // r.e.extension - any english char / digit / '_' + {$IFDEF UseSetOfChar} + ret := EmitRange (ANYOF); + EmitRangeStr (WordChars); + EmitRangeC (#0); + {$ELSE} + ret := EmitNode (ANYLETTER); + {$ENDIF} + flagp := flagp or HASWIDTH or SIMPLE; + end; + 'W': begin // r.e.extension - not english char / digit / '_' + {$IFDEF UseSetOfChar} + ret := EmitRange (ANYBUT); + EmitRangeStr (WordChars); + EmitRangeC (#0); + {$ELSE} + ret := EmitNode (NOTLETTER); + {$ENDIF} + flagp := flagp or HASWIDTH or SIMPLE; + end; + '1' .. '9': begin //###0.936 + if (fCompModifiers and MaskModI) <> 0 + then ret := EmitNode (BSUBEXPCI) + else ret := EmitNode (BSUBEXP); + EmitC (REChar (ord (regparse^) - ord ('0'))); + flagp := flagp or HASWIDTH or SIMPLE; + end; + else EmitExactly (UnQuoteChar (regparse)); + end; { of case} + inc (regparse); + end; + else begin + dec (regparse); + if ((fCompModifiers and MaskModX) <> 0) and // check for eXtended syntax + ((regparse^ = '#') + or ({$IFDEF UniCode}StrScan (XIgnoredChars, regparse^) <> nil //###0.947 + {$ELSE}regparse^ in XIgnoredChars{$ENDIF})) then begin //###0.941 \x + if regparse^ = '#' then begin // Skip eXtended comment + // find comment terminator (group of \n and/or \r) + while (regparse^ <> #0) and (regparse^ <> #$d) and (regparse^ <> #$a) + do inc (regparse); + while (regparse^ = #$d) or (regparse^ = #$a) // skip comment terminator + do inc (regparse); // attempt to support different type of line separators + end + else begin // Skip the blanks! + while {$IFDEF UniCode}StrScan (XIgnoredChars, regparse^) <> nil //###0.947 + {$ELSE}regparse^ in XIgnoredChars{$ENDIF} + do inc (regparse); + end; + ret := EmitNode (COMMENT); // comment + end + else begin + len := strcspn (regparse, META); + if len <= 0 then + if regparse^ <> '{' then begin + Error (reeRarseAtomInternalDisaster); + EXIT; + end + else len := strcspn (regparse + 1, META) + 1; // bad {n,m} - compile as EXATLY + ender := (regparse + len)^; + if (len > 1) + and ((ender = '*') or (ender = '+') or (ender = '?') or (ender = '{')) + then dec (len); // Back off clear of ?+*{ operand. + flagp := flagp or HASWIDTH; + if len = 1 + then flagp := flagp or SIMPLE; + if (fCompModifiers and MaskModI) <> 0 + then ret := EmitNode (EXACTLYCI) + else ret := EmitNode (EXACTLY); + while (len > 0) + and (((fCompModifiers and MaskModX) = 0) or (regparse^ <> '#')) do begin + if ((fCompModifiers and MaskModX) = 0) or not ( //###0.941 + {$IFDEF UniCode}StrScan (XIgnoredChars, regparse^) <> nil //###0.947 + {$ELSE}regparse^ in XIgnoredChars{$ENDIF} ) + then EmitC (regparse^); + inc (regparse); + dec (len); + end; + EmitC (#0); + end; { of if not comment} + end; { of case else} + end; { of case} + + Result := ret; + end; { of function TRegExpr.ParseAtom +--------------------------------------------------------------} + +function TRegExpr.GetCompilerErrorPos : integer; + begin + Result := 0; + if (regexpbeg = nil) or (regparse = nil) + then EXIT; // not in compiling mode ? + Result := regparse - regexpbeg; + end; { of function TRegExpr.GetCompilerErrorPos +--------------------------------------------------------------} + + +{=============================================================} +{===================== Matching section ======================} +{=============================================================} + +{$IFNDEF UseSetOfChar} +function TRegExpr.StrScanCI (s : PRegExprChar; ch : REChar) : PRegExprChar; //###0.928 - now method of TRegExpr + begin + while (s^ <> #0) and (s^ <> ch) and (s^ <> InvertCase (ch)) + do inc (s); + if s^ <> #0 + then Result := s + else Result := nil; + end; { of function TRegExpr.StrScanCI +--------------------------------------------------------------} +{$ENDIF} + +function TRegExpr.regrepeat (p : PRegExprChar; AMax : integer) : integer; +// repeatedly match something simple, report how many + var + scan : PRegExprChar; + opnd : PRegExprChar; + TheMax : integer; + {Ch,} InvCh : REChar; //###0.931 + sestart, seend : PRegExprChar; //###0.936 + begin + Result := 0; + scan := reginput; + opnd := p + REOpSz + RENextOffSz; //OPERAND + TheMax := fInputEnd - scan; + if TheMax > AMax + then TheMax := AMax; + case PREOp (p)^ of + ANY: begin + // note - ANYML cannot be proceeded in regrepeat because can skip + // more than one char at once + Result := TheMax; + inc (scan, Result); + end; + EXACTLY: begin // in opnd can be only ONE char !!! +// Ch := opnd^; // store in register //###0.931 + while (Result < TheMax) and (opnd^ = scan^) do begin + inc (Result); + inc (scan); + end; + end; + EXACTLYCI: begin // in opnd can be only ONE char !!! +// Ch := opnd^; // store in register //###0.931 + while (Result < TheMax) and (opnd^ = scan^) do begin // prevent unneeded InvertCase //###0.931 + inc (Result); + inc (scan); + end; + if Result < TheMax then begin //###0.931 + InvCh := InvertCase (opnd^); // store in register + while (Result < TheMax) and + ((opnd^ = scan^) or (InvCh = scan^)) do begin + inc (Result); + inc (scan); + end; + end; + end; + BSUBEXP: begin //###0.936 + sestart := startp [ord (opnd^)]; + if sestart = nil + then EXIT; + seend := endp [ord (opnd^)]; + if seend = nil + then EXIT; + REPEAT + opnd := sestart; + while opnd < seend do begin + if (scan >= fInputEnd) or (scan^ <> opnd^) + then EXIT; + inc (scan); + inc (opnd); + end; + inc (Result); + reginput := scan; + UNTIL Result >= AMax; + end; + BSUBEXPCI: begin //###0.936 + sestart := startp [ord (opnd^)]; + if sestart = nil + then EXIT; + seend := endp [ord (opnd^)]; + if seend = nil + then EXIT; + REPEAT + opnd := sestart; + while opnd < seend do begin + if (scan >= fInputEnd) or + ((scan^ <> opnd^) and (scan^ <> InvertCase (opnd^))) + then EXIT; + inc (scan); + inc (opnd); + end; + inc (Result); + reginput := scan; + UNTIL Result >= AMax; + end; + ANYDIGIT: + while (Result < TheMax) and + (scan^ >= '0') and (scan^ <= '9') do begin + inc (Result); + inc (scan); + end; + NOTDIGIT: + while (Result < TheMax) and + ((scan^ < '0') or (scan^ > '9')) do begin + inc (Result); + inc (scan); + end; + {$IFNDEF UseSetOfChar} //###0.929 + ANYLETTER: + while (Result < TheMax) and + (Pos (scan^, fWordChars) > 0) //###0.940 + { ((scan^ >= 'a') and (scan^ <= 'z') !! I've forgotten (>='0') and (<='9') + or (scan^ >= 'A') and (scan^ <= 'Z') or (scan^ = '_'))} do begin + inc (Result); + inc (scan); + end; + NOTLETTER: + while (Result < TheMax) and + (Pos (scan^, fWordChars) <= 0) //###0.940 + { not ((scan^ >= 'a') and (scan^ <= 'z') !! I've forgotten (>='0') and (<='9') + or (scan^ >= 'A') and (scan^ <= 'Z') + or (scan^ = '_'))} do begin + inc (Result); + inc (scan); + end; + ANYSPACE: + while (Result < TheMax) and + (Pos (scan^, fSpaceChars) > 0) do begin + inc (Result); + inc (scan); + end; + NOTSPACE: + while (Result < TheMax) and + (Pos (scan^, fSpaceChars) <= 0) do begin + inc (Result); + inc (scan); + end; + {$ENDIF} + ANYOFTINYSET: begin + while (Result < TheMax) and //!!!TinySet + ((scan^ = opnd^) or (scan^ = (opnd + 1)^) + or (scan^ = (opnd + 2)^)) do begin + inc (Result); + inc (scan); + end; + end; + ANYBUTTINYSET: begin + while (Result < TheMax) and //!!!TinySet + (scan^ <> opnd^) and (scan^ <> (opnd + 1)^) + and (scan^ <> (opnd + 2)^) do begin + inc (Result); + inc (scan); + end; + end; + {$IFDEF UseSetOfChar} //###0.929 + ANYOFFULLSET: begin + while (Result < TheMax) and + (scan^ in PSetOfREChar (opnd)^) do begin + inc (Result); + inc (scan); + end; + end; + {$ELSE} + ANYOF: + while (Result < TheMax) and + (StrScan (opnd, scan^) <> nil) do begin + inc (Result); + inc (scan); + end; + ANYBUT: + while (Result < TheMax) and + (StrScan (opnd, scan^) = nil) do begin + inc (Result); + inc (scan); + end; + ANYOFCI: + while (Result < TheMax) and (StrScanCI (opnd, scan^) <> nil) do begin + inc (Result); + inc (scan); + end; + ANYBUTCI: + while (Result < TheMax) and (StrScanCI (opnd, scan^) = nil) do begin + inc (Result); + inc (scan); + end; + {$ENDIF} + else begin // Oh dear. Called inappropriately. + Result := 0; // Best compromise. + Error (reeRegRepeatCalledInappropriately); + EXIT; + end; + end; { of case} + reginput := scan; + end; { of function TRegExpr.regrepeat +--------------------------------------------------------------} + +function TRegExpr.regnext (p : PRegExprChar) : PRegExprChar; +// dig the "next" pointer out of a node + var offset : TRENextOff; + begin + if p = @regdummy then begin + Result := nil; + EXIT; + end; + offset := PRENextOff (p + REOpSz)^; //###0.933 inlined NEXT + if offset = 0 + then Result := nil + else Result := p + offset; + end; { of function TRegExpr.regnext +--------------------------------------------------------------} + +function TRegExpr.MatchPrim (prog : PRegExprChar) : boolean; +// recursively matching routine +// Conceptually the strategy is simple: check to see whether the current +// node matches, call self recursively to see whether the rest matches, +// and then act accordingly. In practice we make some effort to avoid +// recursion, in particular by going through "ordinary" nodes (that don't +// need to know whether the rest of the match failed) by a loop instead of +// by recursion. + var + scan : PRegExprChar; // Current node. + next : PRegExprChar; // Next node. + len : integer; + opnd : PRegExprChar; + no : integer; + save : PRegExprChar; + nextch : REChar; + BracesMin, BracesMax : integer; // we use integer instead of TREBracesArg for better support */+ + {$IFDEF ComplexBraces} + SavedLoopStack : array [1 .. LoopStackMax] of integer; // :(( very bad for recursion + SavedLoopStackIdx : integer; //###0.925 + {$ENDIF} + begin + Result := false; + scan := prog; + + while scan <> nil do begin + len := PRENextOff (scan + 1)^; //###0.932 inlined regnext + if len = 0 + then next := nil + else next := scan + len; + + case scan^ of + NOTBOUND, //###0.943 //!!! think about UseSetOfChar !!! + BOUND: + if (scan^ = BOUND) + xor ( + ((reginput = fInputStart) or (Pos ((reginput - 1)^, fWordChars) <= 0)) + and (reginput^ <> #0) and (Pos (reginput^, fWordChars) > 0) + or + (reginput <> fInputStart) and (Pos ((reginput - 1)^, fWordChars) > 0) + and ((reginput^ = #0) or (Pos (reginput^, fWordChars) <= 0))) + then EXIT; + + BOL: if reginput <> fInputStart + then EXIT; + EOL: if reginput^ <> #0 + then EXIT; + BOLML: if reginput > fInputStart then begin + nextch := (reginput - 1)^; + if (nextch <> fLinePairedSeparatorTail) + or ((reginput - 1) <= fInputStart) + or ((reginput - 2)^ <> fLinePairedSeparatorHead) + then begin + if (nextch = fLinePairedSeparatorHead) + and (reginput^ = fLinePairedSeparatorTail) + then EXIT; // don't stop between paired separator + if + {$IFNDEF UniCode} + not (nextch in fLineSeparatorsSet) + {$ELSE} + (pos (nextch, fLineSeparators) <= 0) + {$ENDIF} + then EXIT; + end; + end; + EOLML: if reginput^ <> #0 then begin + nextch := reginput^; + if (nextch <> fLinePairedSeparatorHead) + or ((reginput + 1)^ <> fLinePairedSeparatorTail) + then begin + if (nextch = fLinePairedSeparatorTail) + and (reginput > fInputStart) + and ((reginput - 1)^ = fLinePairedSeparatorHead) + then EXIT; // don't stop between paired separator + if + {$IFNDEF UniCode} + not (nextch in fLineSeparatorsSet) + {$ELSE} + (pos (nextch, fLineSeparators) <= 0) + {$ENDIF} + then EXIT; + end; + end; + ANY: begin + if reginput^ = #0 + then EXIT; + inc (reginput); + end; + ANYML: begin //###0.941 + if (reginput^ = #0) + or ((reginput^ = fLinePairedSeparatorHead) + and ((reginput + 1)^ = fLinePairedSeparatorTail)) + or {$IFNDEF UniCode} (reginput^ in fLineSeparatorsSet) + {$ELSE} (pos (reginput^, fLineSeparators) > 0) {$ENDIF} + then EXIT; + inc (reginput); + end; + ANYDIGIT: begin + if (reginput^ = #0) or (reginput^ < '0') or (reginput^ > '9') + then EXIT; + inc (reginput); + end; + NOTDIGIT: begin + if (reginput^ = #0) or ((reginput^ >= '0') and (reginput^ <= '9')) + then EXIT; + inc (reginput); + end; + {$IFNDEF UseSetOfChar} //###0.929 + ANYLETTER: begin + if (reginput^ = #0) or (Pos (reginput^, fWordChars) <= 0) //###0.943 + then EXIT; + inc (reginput); + end; + NOTLETTER: begin + if (reginput^ = #0) or (Pos (reginput^, fWordChars) > 0) //###0.943 + then EXIT; + inc (reginput); + end; + ANYSPACE: begin + if (reginput^ = #0) or not (Pos (reginput^, fSpaceChars) > 0) //###0.943 + then EXIT; + inc (reginput); + end; + NOTSPACE: begin + if (reginput^ = #0) or (Pos (reginput^, fSpaceChars) > 0) //###0.943 + then EXIT; + inc (reginput); + end; + {$ENDIF} + EXACTLYCI: begin + opnd := scan + REOpSz + RENextOffSz; // OPERAND + // Inline the first character, for speed. + if (opnd^ <> reginput^) + and (InvertCase (opnd^) <> reginput^) + then EXIT; + len := strlen (opnd); + //###0.929 begin + no := len; + save := reginput; + while no > 1 do begin + inc (save); + inc (opnd); + if (opnd^ <> save^) + and (InvertCase (opnd^) <> save^) + then EXIT; + dec (no); + end; + //###0.929 end + inc (reginput, len); + end; + EXACTLY: begin + opnd := scan + REOpSz + RENextOffSz; // OPERAND + // Inline the first character, for speed. + if opnd^ <> reginput^ + then EXIT; + len := strlen (opnd); + //###0.929 begin + no := len; + save := reginput; + while no > 1 do begin + inc (save); + inc (opnd); + if opnd^ <> save^ + then EXIT; + dec (no); + end; + //###0.929 end + inc (reginput, len); + end; + BSUBEXP: begin //###0.936 + no := ord ((scan + REOpSz + RENextOffSz)^); + if startp [no] = nil + then EXIT; + if endp [no] = nil + then EXIT; + save := reginput; + opnd := startp [no]; + while opnd < endp [no] do begin + if (save >= fInputEnd) or (save^ <> opnd^) + then EXIT; + inc (save); + inc (opnd); + end; + reginput := save; + end; + BSUBEXPCI: begin //###0.936 + no := ord ((scan + REOpSz + RENextOffSz)^); + if startp [no] = nil + then EXIT; + if endp [no] = nil + then EXIT; + save := reginput; + opnd := startp [no]; + while opnd < endp [no] do begin + if (save >= fInputEnd) or + ((save^ <> opnd^) and (save^ <> InvertCase (opnd^))) + then EXIT; + inc (save); + inc (opnd); + end; + reginput := save; + end; + ANYOFTINYSET: begin + if (reginput^ = #0) or //!!!TinySet + ((reginput^ <> (scan + REOpSz + RENextOffSz)^) + and (reginput^ <> (scan + REOpSz + RENextOffSz + 1)^) + and (reginput^ <> (scan + REOpSz + RENextOffSz + 2)^)) + then EXIT; + inc (reginput); + end; + ANYBUTTINYSET: begin + if (reginput^ = #0) or //!!!TinySet + (reginput^ = (scan + REOpSz + RENextOffSz)^) + or (reginput^ = (scan + REOpSz + RENextOffSz + 1)^) + or (reginput^ = (scan + REOpSz + RENextOffSz + 2)^) + then EXIT; + inc (reginput); + end; + {$IFDEF UseSetOfChar} //###0.929 + ANYOFFULLSET: begin + if (reginput^ = #0) + or not (reginput^ in PSetOfREChar (scan + REOpSz + RENextOffSz)^) + then EXIT; + inc (reginput); + end; + {$ELSE} + ANYOF: begin + if (reginput^ = #0) or (StrScan (scan + REOpSz + RENextOffSz, reginput^) = nil) + then EXIT; + inc (reginput); + end; + ANYBUT: begin + if (reginput^ = #0) or (StrScan (scan + REOpSz + RENextOffSz, reginput^) <> nil) + then EXIT; + inc (reginput); + end; + ANYOFCI: begin + if (reginput^ = #0) or (StrScanCI (scan + REOpSz + RENextOffSz, reginput^) = nil) + then EXIT; + inc (reginput); + end; + ANYBUTCI: begin + if (reginput^ = #0) or (StrScanCI (scan + REOpSz + RENextOffSz, reginput^) <> nil) + then EXIT; + inc (reginput); + end; + {$ENDIF} + NOTHING: ; + COMMENT: ; + BACK: ; + Succ (OPEN) .. TREOp (Ord (OPEN) + NSUBEXP - 1) : begin //###0.929 + no := ord (scan^) - ord (OPEN); +// save := reginput; + save := startp [no]; //###0.936 + startp [no] := reginput; //###0.936 + Result := MatchPrim (next); + if not Result //###0.936 + then startp [no] := save; +// if Result and (startp [no] = nil) +// then startp [no] := save; + // Don't set startp if some later invocation of the same + // parentheses already has. + EXIT; + end; + Succ (CLOSE) .. TREOp (Ord (CLOSE) + NSUBEXP - 1): begin //###0.929 + no := ord (scan^) - ord (CLOSE); +// save := reginput; + save := endp [no]; //###0.936 + endp [no] := reginput; //###0.936 + Result := MatchPrim (next); + if not Result //###0.936 + then endp [no] := save; +// if Result and (endp [no] = nil) +// then endp [no] := save; + // Don't set endp if some later invocation of the same + // parentheses already has. + EXIT; + end; + BRANCH: begin + if (next^ <> BRANCH) // No choice. + then next := scan + REOpSz + RENextOffSz // Avoid recursion + else begin + REPEAT + save := reginput; + Result := MatchPrim (scan + REOpSz + RENextOffSz); + if Result + then EXIT; + reginput := save; + scan := regnext (scan); + UNTIL (scan = nil) or (scan^ <> BRANCH); + EXIT; + end; + end; + {$IFDEF ComplexBraces} + LOOPENTRY: begin //###0.925 + no := LoopStackIdx; + inc (LoopStackIdx); + if LoopStackIdx > LoopStackMax then begin + Error (reeLoopStackExceeded); + EXIT; + end; + save := reginput; + LoopStack [LoopStackIdx] := 0; // init loop counter + Result := MatchPrim (next); // execute LOOP + LoopStackIdx := no; // cleanup + if Result + then EXIT; + reginput := save; + EXIT; + end; + LOOP, LOOPNG: begin //###0.940 + if LoopStackIdx <= 0 then begin + Error (reeLoopWithoutEntry); + EXIT; + end; + opnd := scan + PRENextOff (scan + REOpSz + RENextOffSz + 2 * REBracesArgSz)^; + BracesMin := PREBracesArg (scan + REOpSz + RENextOffSz)^; + BracesMax := PREBracesArg (scan + REOpSz + RENextOffSz + REBracesArgSz)^; + save := reginput; + if LoopStack [LoopStackIdx] >= BracesMin then begin // Min alredy matched - we can work + if scan^ = LOOP then begin + // greedy way - first try to max deep of greed ;) + if LoopStack [LoopStackIdx] < BracesMax then begin + inc (LoopStack [LoopStackIdx]); + no := LoopStackIdx; + Result := MatchPrim (opnd); + LoopStackIdx := no; + if Result + then EXIT; + reginput := save; + end; + dec (LoopStackIdx); // Fail. May be we are too greedy? ;) + Result := MatchPrim (next); + if not Result + then reginput := save; + EXIT; + end + else begin + // non-greedy - try just now + Result := MatchPrim (next); + if Result + then EXIT + else reginput := save; // failed - move next and try again + if LoopStack [LoopStackIdx] < BracesMax then begin + inc (LoopStack [LoopStackIdx]); + no := LoopStackIdx; + Result := MatchPrim (opnd); + LoopStackIdx := no; + if Result + then EXIT; + reginput := save; + end; + dec (LoopStackIdx); // Failed - back up + EXIT; + end + end + else begin // first match a min_cnt times + inc (LoopStack [LoopStackIdx]); + no := LoopStackIdx; + Result := MatchPrim (opnd); + LoopStackIdx := no; + if Result + then EXIT; + dec (LoopStack [LoopStackIdx]); + reginput := save; + EXIT; + end; + end; + {$ENDIF} + STAR, PLUS, BRACES, STARNG, PLUSNG, BRACESNG: begin + // Lookahead to avoid useless match attempts when we know + // what character comes next. + nextch := #0; + if next^ = EXACTLY + then nextch := (next + REOpSz + RENextOffSz)^; + BracesMax := MaxInt; // infinite loop for * and + //###0.92 + if (scan^ = STAR) or (scan^ = STARNG) + then BracesMin := 0 // STAR + else if (scan^ = PLUS) or (scan^ = PLUSNG) + then BracesMin := 1 // PLUS + else begin // BRACES + BracesMin := PREBracesArg (scan + REOpSz + RENextOffSz)^; + BracesMax := PREBracesArg (scan + REOpSz + RENextOffSz + REBracesArgSz)^; + end; + save := reginput; + opnd := scan + REOpSz + RENextOffSz; + if (scan^ = BRACES) or (scan^ = BRACESNG) + then inc (opnd, 2 * REBracesArgSz); + + if (scan^ = PLUSNG) or (scan^ = STARNG) or (scan^ = BRACESNG) then begin + // non-greedy mode + BracesMax := regrepeat (opnd, BracesMax); // don't repeat more than BracesMax + // Now we know real Max limit to move forward (for recursion 'back up') + // In some cases it can be faster to check only Min positions first, + // but after that we have to check every position separtely instead + // of fast scannig in loop. + no := BracesMin; + while no <= BracesMax do begin + reginput := save + no; + // If it could work, try it. + if (nextch = #0) or (reginput^ = nextch) then begin + {$IFDEF ComplexBraces} + System.Move (LoopStack, SavedLoopStack, SizeOf (LoopStack)); //###0.925 + SavedLoopStackIdx := LoopStackIdx; + {$ENDIF} + if MatchPrim (next) then begin + Result := true; + EXIT; + end; + {$IFDEF ComplexBraces} + System.Move (SavedLoopStack, LoopStack, SizeOf (LoopStack)); + LoopStackIdx := SavedLoopStackIdx; + {$ENDIF} + end; + inc (no); // Couldn't or didn't - move forward. + end; { of while} + EXIT; + end + else begin // greedy mode + no := regrepeat (opnd, BracesMax); // don't repeat more than max_cnt + while no >= BracesMin do begin + // If it could work, try it. + if (nextch = #0) or (reginput^ = nextch) then begin + {$IFDEF ComplexBraces} + System.Move (LoopStack, SavedLoopStack, SizeOf (LoopStack)); //###0.925 + SavedLoopStackIdx := LoopStackIdx; + {$ENDIF} + if MatchPrim (next) then begin + Result := true; + EXIT; + end; + {$IFDEF ComplexBraces} + System.Move (SavedLoopStack, LoopStack, SizeOf (LoopStack)); + LoopStackIdx := SavedLoopStackIdx; + {$ENDIF} + end; + dec (no); // Couldn't or didn't - back up. + reginput := save + no; + end; { of while} + EXIT; + end; + end; + EEND: begin + Result := true; // Success! + EXIT; + end; + else begin + Error (reeMatchPrimMemoryCorruption); + EXIT; + end; + end; { of case scan^} + scan := next; + end; { of while scan <> nil} + + // We get here only if there's trouble -- normally "case EEND" is the + // terminating point. + Error (reeMatchPrimCorruptedPointers); + end; { of function TRegExpr.MatchPrim +--------------------------------------------------------------} + +{$IFDEF UseFirstCharSet} //###0.929 +procedure TRegExpr.FillFirstCharSet (prog : PRegExprChar); + var + scan : PRegExprChar; // Current node. + next : PRegExprChar; // Next node. + opnd : PRegExprChar; + min_cnt : integer; + begin + scan := prog; + while scan <> nil do begin + next := regnext (scan); + case PREOp (scan)^ of + BSUBEXP, BSUBEXPCI: begin //###0.938 + FirstCharSet := [#0 .. #255]; // :((( we cannot + // optimize r.e. if it starts with back reference + EXIT; + end; + BOL, BOLML: ; // EXIT; //###0.937 + EOL, EOLML: begin //###0.948 was empty in 0.947, was EXIT in 0.937 + Include (FirstCharSet, #0); + if ModifierM + then begin + opnd := PRegExprChar (LineSeparators); + while opnd^ <> #0 do begin + Include (FirstCharSet, opnd^); + inc (opnd); + end; + end; + EXIT; + end; + BOUND, NOTBOUND: ; //###0.943 ?!! + ANY, ANYML: begin // we can better define ANYML !!! + FirstCharSet := [#0 .. #255]; //###0.930 + EXIT; + end; + ANYDIGIT: begin + FirstCharSet := FirstCharSet + ['0' .. '9']; + EXIT; + end; + NOTDIGIT: begin + FirstCharSet := FirstCharSet + ([#0 .. #255] - ['0' .. '9']); //###0.948 FirstCharSet was forgotten + EXIT; + end; + EXACTLYCI: begin + Include (FirstCharSet, (scan + REOpSz + RENextOffSz)^); + Include (FirstCharSet, InvertCase ((scan + REOpSz + RENextOffSz)^)); + EXIT; + end; + EXACTLY: begin + Include (FirstCharSet, (scan + REOpSz + RENextOffSz)^); + EXIT; + end; + ANYOFFULLSET: begin + FirstCharSet := FirstCharSet + PSetOfREChar (scan + REOpSz + RENextOffSz)^; + EXIT; + end; + ANYOFTINYSET: begin + //!!!TinySet + Include (FirstCharSet, (scan + REOpSz + RENextOffSz)^); + Include (FirstCharSet, (scan + REOpSz + RENextOffSz + 1)^); + Include (FirstCharSet, (scan + REOpSz + RENextOffSz + 2)^); + // ... // up to TinySetLen + EXIT; + end; + ANYBUTTINYSET: begin + //!!!TinySet + FirstCharSet := FirstCharSet + ([#0 .. #255] - [ //###0.948 FirstCharSet was forgotten + (scan + REOpSz + RENextOffSz)^, + (scan + REOpSz + RENextOffSz + 1)^, + (scan + REOpSz + RENextOffSz + 2)^]); + // ... // up to TinySetLen + EXIT; + end; + NOTHING: ; + COMMENT: ; + BACK: ; + Succ (OPEN) .. TREOp (Ord (OPEN) + NSUBEXP - 1) : begin //###0.929 + FillFirstCharSet (next); + EXIT; + end; + Succ (CLOSE) .. TREOp (Ord (CLOSE) + NSUBEXP - 1): begin //###0.929 + FillFirstCharSet (next); + EXIT; + end; + BRANCH: begin + if (PREOp (next)^ <> BRANCH) // No choice. + then next := scan + REOpSz + RENextOffSz // Avoid recursion. + else begin + REPEAT + FillFirstCharSet (scan + REOpSz + RENextOffSz); + scan := regnext (scan); + UNTIL (scan = nil) or (PREOp (scan)^ <> BRANCH); + EXIT; + end; + end; + {$IFDEF ComplexBraces} + LOOPENTRY: begin //###0.925 +// LoopStack [LoopStackIdx] := 0; //###0.940 line removed + FillFirstCharSet (next); // execute LOOP + EXIT; + end; + LOOP, LOOPNG: begin //###0.940 + opnd := scan + PRENextOff (scan + REOpSz + RENextOffSz + REBracesArgSz * 2)^; + min_cnt := PREBracesArg (scan + REOpSz + RENextOffSz)^; + FillFirstCharSet (opnd); + if min_cnt = 0 + then FillFirstCharSet (next); + EXIT; + end; + {$ENDIF} + STAR, STARNG: //###0.940 + FillFirstCharSet (scan + REOpSz + RENextOffSz); + PLUS, PLUSNG: begin //###0.940 + FillFirstCharSet (scan + REOpSz + RENextOffSz); + EXIT; + end; + BRACES, BRACESNG: begin //###0.940 + opnd := scan + REOpSz + RENextOffSz + REBracesArgSz * 2; + min_cnt := PREBracesArg (scan + REOpSz + RENextOffSz)^; // BRACES + FillFirstCharSet (opnd); + if min_cnt > 0 + then EXIT; + end; + EEND: begin + FirstCharSet := [#0 .. #255]; //###0.948 + EXIT; + end; + else begin + Error (reeMatchPrimMemoryCorruption); + EXIT; + end; + end; { of case scan^} + scan := next; + end; { of while scan <> nil} + end; { of procedure FillFirstCharSet +--------------------------------------------------------------} +{$ENDIF} + +function TRegExpr.Exec (const AInputString : RegExprString) : boolean; + begin + InputString := AInputString; + Result := ExecPrim (1); + end; { of function TRegExpr.Exec +--------------------------------------------------------------} + +{$IFDEF OverMeth} +{$IFNDEF FPC} +function TRegExpr.Exec : boolean; + begin + Result := ExecPrim (1); + end; { of function TRegExpr.Exec +--------------------------------------------------------------} +{$ENDIF} +function TRegExpr.Exec (AOffset: integer) : boolean; + begin + Result := ExecPrim (AOffset); + end; { of function TRegExpr.Exec +--------------------------------------------------------------} +{$ENDIF} + +function TRegExpr.ExecPos (AOffset: integer {$IFDEF DefParam}= 1{$ENDIF}) : boolean; + begin + Result := ExecPrim (AOffset); + end; { of function TRegExpr.ExecPos +--------------------------------------------------------------} + +function TRegExpr.ExecPrim (AOffset: integer) : boolean; + procedure ClearMatchs; + // Clears matchs array + var i : integer; + begin + for i := 0 to NSUBEXP - 1 do begin + startp [i] := nil; + endp [i] := nil; + end; + end; { of procedure ClearMatchs; +..............................................................} + function RegMatch (str : PRegExprChar) : boolean; + // try match at specific point + begin + //###0.949 removed clearing of start\endp + reginput := str; + Result := MatchPrim (programm + REOpSz); + if Result then begin + startp [0] := str; + endp [0] := reginput; + end; + end; { of function RegMatch +..............................................................} + var + s : PRegExprChar; + StartPtr: PRegExprChar; + InputLen : integer; + begin + Result := false; // Be paranoid... + + ClearMatchs; //###0.949 + // ensure that Match cleared either if optimization tricks or some error + // will lead to leaving ExecPrim without actual search. That is + // importent for ExecNext logic and so on. + + if not IsProgrammOk //###0.929 + then EXIT; + + // Check InputString presence + if not Assigned (fInputString) then begin + Error (reeNoInpitStringSpecified); + EXIT; + end; + + InputLen := length (fInputString); + + //Check that the start position is not negative + if AOffset < 1 then begin + Error (reeOffsetMustBeGreaterThen0); + EXIT; + end; + // Check that the start position is not longer than the line + // If so then exit with nothing found + if AOffset > (InputLen + 1) // for matching empty string after last char. + then EXIT; + + StartPtr := fInputString + AOffset - 1; + + // If there is a "must appear" string, look for it. + if regmust <> nil then begin + s := StartPtr; + REPEAT + s := StrScan (s, regmust [0]); + if s <> nil then begin + if StrLComp (s, regmust, regmlen) = 0 + then BREAK; // Found it. + inc (s); + end; + UNTIL s = nil; + if s = nil // Not present. + then EXIT; + end; + + // Mark beginning of line for ^ . + fInputStart := fInputString; + + // Pointer to end of input stream - for + // pascal-style string processing (may include #0) + fInputEnd := fInputString + InputLen; + + {$IFDEF ComplexBraces} + // no loops started + LoopStackIdx := 0; //###0.925 + {$ENDIF} + + // Simplest case: anchored match need be tried only once. + if reganch <> #0 then begin + Result := RegMatch (StartPtr); + EXIT; + end; + + // Messy cases: unanchored match. + s := StartPtr; + if regstart <> #0 then // We know what char it must start with. + REPEAT + s := StrScan (s, regstart); + if s <> nil then begin + Result := RegMatch (s); + if Result + then EXIT + else ClearMatchs; //###0.949 + inc (s); + end; + UNTIL s = nil + else begin // We don't - general case. + repeat //###0.948 + {$IFDEF UseFirstCharSet} + if s^ in FirstCharSet + then Result := RegMatch (s); + {$ELSE} + Result := RegMatch (s); + {$ENDIF} + if Result or (s^ = #0) // Exit on a match or after testing the end-of-string. + then EXIT + else ClearMatchs; //###0.949 + inc (s); + until false; +(* optimized and fixed by Martin Fuller - empty strings + were not allowed to pass thru in UseFirstCharSet mode + {$IFDEF UseFirstCharSet} //###0.929 + while s^ <> #0 do begin + if s^ in FirstCharSet + then Result := RegMatch (s); + if Result + then EXIT; + inc (s); + end; + {$ELSE} + REPEAT + Result := RegMatch (s); + if Result + then EXIT; + inc (s); + UNTIL s^ = #0; + {$ENDIF} +*) + end; + // Failure + end; { of function TRegExpr.ExecPrim +--------------------------------------------------------------} + +function TRegExpr.ExecNext : boolean; + var offset : integer; + begin + Result := false; + if not Assigned (startp[0]) or not Assigned (endp[0]) then begin + Error (reeExecNextWithoutExec); + EXIT; + end; +// Offset := MatchPos [0] + MatchLen [0]; +// if MatchLen [0] = 0 + Offset := endp [0] - fInputString + 1; //###0.929 + if endp [0] = startp [0] //###0.929 + then inc (Offset); // prevent infinite looping if empty string match r.e. + Result := ExecPrim (Offset); + end; { of function TRegExpr.ExecNext +--------------------------------------------------------------} + +function TRegExpr.GetInputString : RegExprString; + begin + if not Assigned (fInputString) then begin + Error (reeGetInputStringWithoutInputString); + EXIT; + end; + Result := fInputString; + end; { of function TRegExpr.GetInputString +--------------------------------------------------------------} + +procedure TRegExpr.SetInputString (const AInputString : RegExprString); + var + Len : integer; + i : integer; + begin + // clear Match* - before next Exec* call it's undefined + for i := 0 to NSUBEXP - 1 do begin + startp [i] := nil; + endp [i] := nil; + end; + + // need reallocation of input string buffer ? + Len := length (AInputString); + if Assigned (fInputString) and (Length (fInputString) <> Len) then begin + FreeMem (fInputString); + fInputString := nil; + end; + // buffer [re]allocation + if not Assigned (fInputString) + then GetMem (fInputString, (Len + 1) * SizeOf (REChar)); + + // copy input string into buffer + {$IFDEF UniCode} + StrPCopy (fInputString, Copy (AInputString, 1, Len)); //###0.927 + {$ELSE} + StrLCopy (fInputString, PRegExprChar (AInputString), Len); + {$ENDIF} + + { + fInputString : string; + fInputStart, fInputEnd : PRegExprChar; + + SetInputString: + fInputString := AInputString; + UniqueString (fInputString); + fInputStart := PChar (fInputString); + Len := length (fInputString); + fInputEnd := PRegExprChar (integer (fInputStart) + Len); ?? + !! startp/endp âñå ðàâíî áóäåò îïàñíî èñïîëüçîâàòü ? + } + end; { of procedure TRegExpr.SetInputString +--------------------------------------------------------------} + +procedure TRegExpr.SetLineSeparators (const AStr : RegExprString); + begin + if AStr <> fLineSeparators then begin + fLineSeparators := AStr; + InvalidateProgramm; + end; + end; { of procedure TRegExpr.SetLineSeparators +--------------------------------------------------------------} + +procedure TRegExpr.SetLinePairedSeparator (const AStr : RegExprString); + begin + if length (AStr) = 2 then begin + if AStr [1] = AStr [2] then begin + // it's impossible for our 'one-point' checking to support + // two chars separator for identical chars + Error (reeBadLinePairedSeparator); + EXIT; + end; + if not fLinePairedSeparatorAssigned + or (AStr [1] <> fLinePairedSeparatorHead) + or (AStr [2] <> fLinePairedSeparatorTail) then begin + fLinePairedSeparatorAssigned := true; + fLinePairedSeparatorHead := AStr [1]; + fLinePairedSeparatorTail := AStr [2]; + InvalidateProgramm; + end; + end + else if length (AStr) = 0 then begin + if fLinePairedSeparatorAssigned then begin + fLinePairedSeparatorAssigned := false; + InvalidateProgramm; + end; + end + else Error (reeBadLinePairedSeparator); + end; { of procedure TRegExpr.SetLinePairedSeparator +--------------------------------------------------------------} + +function TRegExpr.GetLinePairedSeparator : RegExprString; + begin + if fLinePairedSeparatorAssigned then begin + {$IFDEF UniCode} + // Here is some UniCode 'magic' + // If You do know better decision to concatenate + // two WideChars, please, let me know! + Result := fLinePairedSeparatorHead; //###0.947 + Result := Result + fLinePairedSeparatorTail; + {$ELSE} + Result := fLinePairedSeparatorHead + fLinePairedSeparatorTail; + {$ENDIF} + end + else Result := ''; + end; { of function TRegExpr.GetLinePairedSeparator +--------------------------------------------------------------} + +function TRegExpr.Substitute (const ATemplate : RegExprString) : RegExprString; +// perform substitutions after a regexp match +// completely rewritten in 0.929 + var + TemplateLen : integer; + TemplateBeg, TemplateEnd : PRegExprChar; + p, p0, ResultPtr : PRegExprChar; + ResultLen : integer; + n : integer; + Ch : REChar; + function ParseVarName (var APtr : PRegExprChar) : integer; + // extract name of variable (digits, may be enclosed with + // curly braces) from APtr^, uses TemplateEnd !!! + const + Digits = ['0' .. '9']; + var + p : PRegExprChar; + Delimited : boolean; + begin + Result := 0; + p := APtr; + Delimited := (p < TemplateEnd) and (p^ = '{'); + if Delimited + then inc (p); // skip left curly brace + if (p < TemplateEnd) and (p^ = '&') + then inc (p) // this is '$&' or '${&}' + else + while (p < TemplateEnd) and + {$IFDEF UniCode} //###0.935 + (ord (p^) < 256) and (char (p^) in Digits) + {$ELSE} + (p^ in Digits) + {$ENDIF} + do begin + Result := Result * 10 + (ord (p^) - ord ('0')); //###0.939 + inc (p); + end; + if Delimited then + if (p < TemplateEnd) and (p^ = '}') + then inc (p) // skip right curly brace + else p := APtr; // isn't properly terminated + if p = APtr + then Result := -1; // no valid digits found or no right curly brace + APtr := p; + end; + begin + // Check programm and input string + if not IsProgrammOk + then EXIT; + if not Assigned (fInputString) then begin + Error (reeNoInpitStringSpecified); + EXIT; + end; + // Prepare for working + TemplateLen := length (ATemplate); + if TemplateLen = 0 then begin // prevent nil pointers + Result := ''; + EXIT; + end; + TemplateBeg := pointer (ATemplate); + TemplateEnd := TemplateBeg + TemplateLen; + // Count result length for speed optimization. + ResultLen := 0; + p := TemplateBeg; + while p < TemplateEnd do begin + Ch := p^; + inc (p); + if Ch = '$' + then n := ParseVarName (p) + else n := -1; + if n >= 0 then begin + if (n < NSUBEXP) and Assigned (startp [n]) and Assigned (endp [n]) + then inc (ResultLen, endp [n] - startp [n]); + end + else begin + if (Ch = EscChar) and (p < TemplateEnd) + then inc (p); // quoted or special char followed + inc (ResultLen); + end; + end; + // Get memory. We do it once and it significant speed up work ! + if ResultLen = 0 then begin + Result := ''; + EXIT; + end; + SetString (Result, nil, ResultLen); + // Fill Result + ResultPtr := pointer (Result); + p := TemplateBeg; + while p < TemplateEnd do begin + Ch := p^; + inc (p); + if Ch = '$' + then n := ParseVarName (p) + else n := -1; + if n >= 0 then begin + p0 := startp [n]; + if (n < NSUBEXP) and Assigned (p0) and Assigned (endp [n]) then + while p0 < endp [n] do begin + ResultPtr^ := p0^; + inc (ResultPtr); + inc (p0); + end; + end + else begin + if (Ch = EscChar) and (p < TemplateEnd) then begin // quoted or special char followed + Ch := p^; + inc (p); + end; + ResultPtr^ := Ch; + inc (ResultPtr); + end; + end; + end; { of function TRegExpr.Substitute +--------------------------------------------------------------} + +procedure TRegExpr.Split (AInputStr : RegExprString; APieces : TStrings); + var PrevPos : integer; + begin + PrevPos := 1; + if Exec (AInputStr) then + REPEAT + APieces.Add (System.Copy (AInputStr, PrevPos, MatchPos [0] - PrevPos)); + PrevPos := MatchPos [0] + MatchLen [0]; + UNTIL not ExecNext; + APieces.Add (System.Copy (AInputStr, PrevPos, MaxInt)); // Tail + end; { of procedure TRegExpr.Split +--------------------------------------------------------------} + +function TRegExpr.Replace (AInputStr : RegExprString; const AReplaceStr : RegExprString; + AUseSubstitution : boolean{$IFDEF DefParam}= False{$ENDIF}) : RegExprString; + var + PrevPos : integer; + begin + Result := ''; + PrevPos := 1; + if Exec (AInputStr) then + REPEAT + Result := Result + System.Copy (AInputStr, PrevPos, + MatchPos [0] - PrevPos); + if AUseSubstitution //###0.946 + then Result := Result + Substitute (AReplaceStr) + else Result := Result + AReplaceStr; + PrevPos := MatchPos [0] + MatchLen [0]; + UNTIL not ExecNext; + Result := Result + System.Copy (AInputStr, PrevPos, MaxInt); // Tail + end; { of function TRegExpr.Replace +--------------------------------------------------------------} + +function TRegExpr.ReplaceEx (AInputStr : RegExprString; + AReplaceFunc : TRegExprReplaceFunction) + : RegExprString; + var + PrevPos : integer; + begin + Result := ''; + PrevPos := 1; + if Exec (AInputStr) then + REPEAT + Result := Result + System.Copy (AInputStr, PrevPos, + MatchPos [0] - PrevPos) + + AReplaceFunc (Self); + PrevPos := MatchPos [0] + MatchLen [0]; + UNTIL not ExecNext; + Result := Result + System.Copy (AInputStr, PrevPos, MaxInt); // Tail + end; { of function TRegExpr.ReplaceEx +--------------------------------------------------------------} + + +{$IFDEF OverMeth} +function TRegExpr.Replace (AInputStr : RegExprString; + AReplaceFunc : TRegExprReplaceFunction) + : RegExprString; + begin + ReplaceEx (AInputStr, AReplaceFunc); + end; { of function TRegExpr.Replace +--------------------------------------------------------------} +{$ENDIF} + +{=============================================================} +{====================== Debug section ========================} +{=============================================================} + +{$IFDEF RegExpPCodeDump} +function TRegExpr.DumpOp (op : TREOp) : RegExprString; +// printable representation of opcode + begin + case op of + BOL: Result := 'BOL'; + EOL: Result := 'EOL'; + BOLML: Result := 'BOLML'; + EOLML: Result := 'EOLML'; + BOUND: Result := 'BOUND'; //###0.943 + NOTBOUND: Result := 'NOTBOUND'; //###0.943 + ANY: Result := 'ANY'; + ANYML: Result := 'ANYML'; //###0.941 + ANYLETTER: Result := 'ANYLETTER'; + NOTLETTER: Result := 'NOTLETTER'; + ANYDIGIT: Result := 'ANYDIGIT'; + NOTDIGIT: Result := 'NOTDIGIT'; + ANYSPACE: Result := 'ANYSPACE'; + NOTSPACE: Result := 'NOTSPACE'; + ANYOF: Result := 'ANYOF'; + ANYBUT: Result := 'ANYBUT'; + ANYOFCI: Result := 'ANYOF/CI'; + ANYBUTCI: Result := 'ANYBUT/CI'; + BRANCH: Result := 'BRANCH'; + EXACTLY: Result := 'EXACTLY'; + EXACTLYCI: Result := 'EXACTLY/CI'; + NOTHING: Result := 'NOTHING'; + COMMENT: Result := 'COMMENT'; + BACK: Result := 'BACK'; + EEND: Result := 'END'; + BSUBEXP: Result := 'BSUBEXP'; + BSUBEXPCI: Result := 'BSUBEXP/CI'; + Succ (OPEN) .. TREOp (Ord (OPEN) + NSUBEXP - 1): //###0.929 + Result := Format ('OPEN[%d]', [ord (op) - ord (OPEN)]); + Succ (CLOSE) .. TREOp (Ord (CLOSE) + NSUBEXP - 1): //###0.929 + Result := Format ('CLOSE[%d]', [ord (op) - ord (CLOSE)]); + STAR: Result := 'STAR'; + PLUS: Result := 'PLUS'; + BRACES: Result := 'BRACES'; + {$IFDEF ComplexBraces} + LOOPENTRY: Result := 'LOOPENTRY'; //###0.925 + LOOP: Result := 'LOOP'; //###0.925 + LOOPNG: Result := 'LOOPNG'; //###0.940 + {$ENDIF} + ANYOFTINYSET: Result:= 'ANYOFTINYSET'; + ANYBUTTINYSET:Result:= 'ANYBUTTINYSET'; + {$IFDEF UseSetOfChar} //###0.929 + ANYOFFULLSET: Result:= 'ANYOFFULLSET'; + {$ENDIF} + STARNG: Result := 'STARNG'; //###0.940 + PLUSNG: Result := 'PLUSNG'; //###0.940 + BRACESNG: Result := 'BRACESNG'; //###0.940 + else Error (reeDumpCorruptedOpcode); + end; {of case op} + Result := ':' + Result; + end; { of function TRegExpr.DumpOp +--------------------------------------------------------------} + +function TRegExpr.Dump : RegExprString; +// dump a regexp in vaguely comprehensible form + var + s : PRegExprChar; + op : TREOp; // Arbitrary non-END op. + next : PRegExprChar; + i : integer; + Diff : integer; +{$IFDEF UseSetOfChar} //###0.929 + Ch : REChar; +{$ENDIF} + begin + if not IsProgrammOk //###0.929 + then EXIT; + + op := EXACTLY; + Result := ''; + s := programm + REOpSz; + while op <> EEND do begin // While that wasn't END last time... + op := s^; + Result := Result + Format ('%2d%s', [s - programm, DumpOp (s^)]); // Where, what. + next := regnext (s); + if next = nil // Next ptr. + then Result := Result + ' (0)' + else begin + if next > s //###0.948 PWideChar subtraction workaround (see comments in Tail method for details) + then Diff := next - s + else Diff := - (s - next); + Result := Result + Format (' (%d) ', [(s - programm) + Diff]); + end; + inc (s, REOpSz + RENextOffSz); + if (op = ANYOF) or (op = ANYOFCI) or (op = ANYBUT) or (op = ANYBUTCI) + or (op = EXACTLY) or (op = EXACTLYCI) then begin + // Literal string, where present. + while s^ <> #0 do begin + Result := Result + s^; + inc (s); + end; + inc (s); + end; + if (op = ANYOFTINYSET) or (op = ANYBUTTINYSET) then begin + for i := 1 to TinySetLen do begin + Result := Result + s^; + inc (s); + end; + end; + if (op = BSUBEXP) or (op = BSUBEXPCI) then begin + Result := Result + ' \' + IntToStr (Ord (s^)); + inc (s); + end; + {$IFDEF UseSetOfChar} //###0.929 + if op = ANYOFFULLSET then begin + for Ch := #0 to #255 do + if Ch in PSetOfREChar (s)^ then + if Ch < ' ' + then Result := Result + '#' + IntToStr (Ord (Ch)) //###0.936 + else Result := Result + Ch; + inc (s, SizeOf (TSetOfREChar)); + end; + {$ENDIF} + if (op = BRACES) or (op = BRACESNG) then begin //###0.941 + // show min/max argument of BRACES operator + Result := Result + Format ('{%d,%d}', [PREBracesArg (s)^, PREBracesArg (s + REBracesArgSz)^]); + inc (s, REBracesArgSz * 2); + end; + {$IFDEF ComplexBraces} + if (op = LOOP) or (op = LOOPNG) then begin //###0.940 + Result := Result + Format (' -> (%d) {%d,%d}', [ + (s - programm - (REOpSz + RENextOffSz)) + PRENextOff (s + 2 * REBracesArgSz)^, + PREBracesArg (s)^, PREBracesArg (s + REBracesArgSz)^]); + inc (s, 2 * REBracesArgSz + RENextOffSz); + end; + {$ENDIF} + Result := Result + #$d#$a; + end; { of while} + + // Header fields of interest. + + if regstart <> #0 + then Result := Result + 'start ' + regstart; + if reganch <> #0 + then Result := Result + 'anchored '; + if regmust <> nil + then Result := Result + 'must have ' + regmust; + {$IFDEF UseFirstCharSet} //###0.929 + Result := Result + #$d#$a'FirstCharSet:'; + for Ch := #0 to #255 do + if Ch in FirstCharSet + then begin + if Ch < ' ' + then Result := Result + '#' + IntToStr(Ord(Ch)) //###0.948 + else Result := Result + Ch; + end; + {$ENDIF} + Result := Result + #$d#$a; + end; { of function TRegExpr.Dump +--------------------------------------------------------------} +{$ENDIF} + +{$IFDEF reRealExceptionAddr} +{$OPTIMIZATION ON} +// ReturnAddr works correctly only if compiler optimization is ON +// I placed this method at very end of unit because there are no +// way to restore compiler optimization flag ... +{$ENDIF} +procedure TRegExpr.Error (AErrorID : integer); +{$IFDEF reRealExceptionAddr} + function ReturnAddr : pointer; //###0.938 + asm + mov eax,[ebp+4] + end; +{$ENDIF} + var + e : ERegExpr; + begin + fLastError := AErrorID; // dummy stub - useless because will raise exception + if AErrorID < 1000 // compilation error ? + then e := ERegExpr.Create (ErrorMsg (AErrorID) // yes - show error pos + + ' (pos ' + IntToStr (CompilerErrorPos) + ')') + else e := ERegExpr.Create (ErrorMsg (AErrorID)); + e.ErrorCode := AErrorID; + e.CompilerErrorPos := CompilerErrorPos; + raise e + {$IFDEF reRealExceptionAddr} + At ReturnAddr; //###0.938 + {$ENDIF} + end; { of procedure TRegExpr.Error +--------------------------------------------------------------} + +(* + PCode persistence: + FirstCharSet + programm, regsize + regstart // -> programm + reganch // -> programm + regmust, regmlen // -> programm + fExprIsCompiled +*) + +// be carefull - placed here code will be always compiled with +// compiler optimization flag + +{$IFDEF FPC} +initialization + RegExprInvertCaseFunction := TRegExpr.InvertCaseFunction; + +{$ENDIF} +end. + diff --git a/Source/Servidor/uDataModuleServer.dfm b/Source/Servidor/uDataModuleServer.dfm index fe5a834e..1ab018ae 100644 --- a/Source/Servidor/uDataModuleServer.dfm +++ b/Source/Servidor/uDataModuleServer.dfm @@ -36,21 +36,33 @@ object dmServer: TdmServer object ConnectionManager: TDAConnectionManager Connections = < item - Name = 'MySQL' + Name = 'IBX_FIB' ConnectionString = - 'ADO?AuxDriver=MSDASQL.1;Server=OSCommerce Desarrollo;UserID=root' + - ';Password=;' + 'FIB?Server=localhost;Database=C:\Codigo Tecsitel\Database\FACTUG' + + 'ES.FDB;UserID=sysdba;Password=masterkey;Dialect=3;Charset=ISO885' + + '9_1;' + ConnectionType = 'Interbase' + end + item + Name = 'IBX_IBO' + ConnectionString = + 'IBO?Server=localhost;Database=C:\Codigo Tecsitel\Database\FACTUG' + + 'ES.FDB;UserID=sysdba;Password=masterkey;Dialect=3;Charset=ISO885' + + '9_1' + ConnectionType = 'Interbase' end item Name = 'IBX' ConnectionString = - 'IBX?Server=localhost;Database=C:\Codigo (Tecsitel)\Database\FACT' + - 'UGES.FDB;UserID=sysdba;Password=masterkey;Dialect=3;Charset=ISO8' + - '859_1;' + 'IBX?Server=localhost;Database=C:\Codigo Tecsitel\Database\FACTUG' + + 'ES.FDB;UserID=sysdba;Password=masterkey;Dialect=3;Charset=ISO885' + + '9_1;' + ConnectionType = 'Interbase' Default = True end> DriverManager = DriverManager PoolingEnabled = True + PoolTransactionBehaviour = ptRollback Left = 40 Top = 80 end diff --git a/Source/Servidor/uDataModuleServer.pas b/Source/Servidor/uDataModuleServer.pas index e50a1682..4cf409b8 100644 --- a/Source/Servidor/uDataModuleServer.pas +++ b/Source/Servidor/uDataModuleServer.pas @@ -147,7 +147,7 @@ end; function TdmServer.DarNuevaConexion: IDAConnection; begin with ConnectionManager do - Result := NewConnection(GetDefaultConnectionName, True); + Result := NewConnection(GetDefaultConnectionName, False); end; procedure TdmServer.IniciarLog; @@ -175,6 +175,12 @@ begin + ';UserID=' + FDBUser + ';Password=' + Decrypt(FDBPass) + ';Dialect=3;Charset=ISO8859_1;'; + +{ Result := 'FIB?Server=' + FDBServer + '/' + FDBPort + + ';Database=' + FDBPath + + ';UserID=' + FDBUser + + ';Password=' + Decrypt(FDBPass) + + ';Dialect=3;Charset=ISO8859_1;';} end; procedure TdmServer.LeerConfiguracion; @@ -266,9 +272,6 @@ begin ConnectionName := ConnectionManager.GetDefaultConnectionName; ConnectionManager.Connections.GetDefaultConnection.ConnectionString := GetConnectionString; - with ConnectionManager.Connections.ConnectionByName('MySQL') do - ConnectionString := 'ADO?AuxDriver=MSDASQL.1;Server=' + FOSCServer + ';'; - ShowBalloonHint('Conectado a ' + ConnectionName, biInfo); CoInitialize(nil); diff --git a/Source/Servidor/uServerMainForm.pas b/Source/Servidor/uServerMainForm.pas index eb28cdd6..40523be4 100644 --- a/Source/Servidor/uServerMainForm.pas +++ b/Source/Servidor/uServerMainForm.pas @@ -6,8 +6,8 @@ uses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, uROClient, uROPoweredByRemObjectsButton, uROClientIntf, uROServer, uROBinMessage, uROIndyHTTPServer, uROIndyTCPServer, frxClass, frxPreview, - JvComponent, JvTrayIcon, ActnList, Menus, XPMan, JvExControls, - JvGradient, JvGIF, ExtCtrls, JvComponentBase, JvAppInst; + JvAppInst, JvComponentBase, JvTrayIcon, XPMan, ActnList, Menus, JvGIF, + ExtCtrls, JvExControls, JvGradient; type TfServerForm = class(TForm) diff --git a/Tools/fbclient.dll b/Tools/fbclient.dll new file mode 100644 index 0000000000000000000000000000000000000000..97e688062d99c2761a6cc3a7a11edea423c19db8 GIT binary patch literal 393216 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 k+DR?^ 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Ͷ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
x>@@4on%_3N+)c=&v2aL#}xczrNy5%+6itv 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
yypXJ*7dNa_D-b=HDEiZPv6n7gx78A19Ja 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%0A6Hh0HwTLb^O^ zFXyyLJ`uw7RV5|-NZC4TV^+TOg*0WvqfG7m2znI}vQp?B8lvR4xn&iK-!4nie}&sTst?Cs%qX8K<%w%? z6o<$QOV_EwEv1x9F$%$?VJx)YUT=Y+h636d8mpcJx@;ZOLOb$ z(s16KCJqhae23E)E~OgLSS~QrV~U|+mX+G@b(E=bMSl3G#YItPu2{au>2aS)GsQtC zw(}Uzi`?^kx!JZ-;tq$uoKHySn5m^S&68zb6tP{kyda!6v!dp%DkY!uEr;}|xkUv9 z#WTuzwH6x(geGET0y@%=L}OYWd)pY zlUK~K1fo_vPQ1+D2lqR&`nTk)I)K!APR=RjkP|#x_4?#ce5ETm DOY43S_@u#6Y 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 literal 0 HcmV?d00001 diff --git a/Tools/isql.exe b/Tools/isql.exe new file mode 100644 index 0000000000000000000000000000000000000000..a9946c0d152cafdbf2e9fdbdc2832c7d0043cf65 GIT binary patch literal 188416 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 z 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 EAXr<-%1DvWK|xb2&0U&s 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�#LZ}q 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 P3I$duutI_VClvU