git-svn-id: https://192.168.0.254/svn/Proyectos.Tecsitel_FactuGES2/branches/D2007-DA5@31 0c75b7a4-871f-7646-8a2f-f78d34cc349f
This commit is contained in:
parent
2db7e78811
commit
87b5b28b1c
Binary file not shown.
Binary file not shown.
@ -1,336 +0,0 @@
|
|||||||
unit uClassRegistryUtils;
|
|
||||||
|
|
||||||
interface
|
|
||||||
|
|
||||||
uses
|
|
||||||
Classes, SysUtils, Forms, uGUIBase;
|
|
||||||
|
|
||||||
type
|
|
||||||
IClassRegistry = Interface
|
|
||||||
['{FD23C946-4103-4C67-9C3F-644B52826833}']
|
|
||||||
procedure RegisterClass( aClass: TClass; const aDisplayname: String = '');
|
|
||||||
procedure RegisterClasses( const aClasses: array of TClass;
|
|
||||||
const aDisplaynames: array of String );
|
|
||||||
procedure UnRegisterClass( aClass: TClass );
|
|
||||||
function FindClass( const aClassOrDisplayname: String ): Tclass;
|
|
||||||
function IsClassRegistered( aClass: TClass ): Boolean; overload;
|
|
||||||
function IsClassRegistered( const aDisplayname: String ): Boolean; overload;
|
|
||||||
procedure GetRegisteredClasses( aList: TStrings; aMinClass: TClass = nil);
|
|
||||||
function CreateObject( const aClassOrDisplayname: String ): TObject;
|
|
||||||
end;
|
|
||||||
|
|
||||||
IComponentRegistry = Interface( IClassRegistry )
|
|
||||||
['{04BAA01F-9AF4-4E60-9922-641E127A35C2}']
|
|
||||||
function CreateComponent( const aClassOrDisplayname: String;
|
|
||||||
aOwner:TComponent = nil ): TComponent;
|
|
||||||
end;
|
|
||||||
|
|
||||||
IFormRegistry = Interface( IComponentRegistry )
|
|
||||||
['{28E3BF72-1378-4136-B1FB-027FBB8FE99B}']
|
|
||||||
function CreateForm( const aClassOrDisplayname: String;
|
|
||||||
aOwner: TComponent = nil ): TForm;
|
|
||||||
end;
|
|
||||||
|
|
||||||
IDataModuleRegistry = Interface( IComponentRegistry )
|
|
||||||
['{9D8D1D23-6A5C-4351-9393-093CD8B76788}']
|
|
||||||
function CreateDatamodule( const aClassOrDisplayname: String;
|
|
||||||
aOwner: TComponent = nil ): TDatamodule;
|
|
||||||
end;
|
|
||||||
|
|
||||||
IReportRegistry = Interface( IComponentRegistry )
|
|
||||||
['{49D3C8D5-8FEE-4F15-A6D2-51CB1DB29F8D}']
|
|
||||||
function CreateReport( const aClassOrDisplayname: String;
|
|
||||||
aOwner: TComponent = nil ): TInterfacedObject;
|
|
||||||
end;
|
|
||||||
|
|
||||||
TClassRegistry = class( TInterfacedObject, IClassRegistry )
|
|
||||||
private
|
|
||||||
FList: TStringlist;
|
|
||||||
FMinAcceptableClass: TClass;
|
|
||||||
|
|
||||||
function FindClassByClassname( const aClassname: String ): Tclass;
|
|
||||||
function FindClassByDisplayname( const aDisplayname: String ): TClass;
|
|
||||||
function IsClassAcceptable( aClass: TClass ): Boolean;
|
|
||||||
function GetClasses(index: integer): TClass;
|
|
||||||
function GetCount: Integer;
|
|
||||||
protected
|
|
||||||
procedure ValidateMinAcceptableClass(var aMinAcceptableClass: TClass ); virtual;
|
|
||||||
procedure RegisterClass( aClass: TClass; const aDisplayname: String = '');
|
|
||||||
procedure RegisterClasses( const aClasses: array of TClass;
|
|
||||||
const aDisplaynames: array of String );
|
|
||||||
procedure UnRegisterClass( aClass: TClass );
|
|
||||||
function FindClass( const aClassOrDisplayname: String ): Tclass;
|
|
||||||
function IsClassRegistered( aClass: TClass ): Boolean; overload;
|
|
||||||
function IsClassRegistered( const aDisplayname: String ): Boolean; overload;
|
|
||||||
procedure GetRegisteredClasses( aList: TStrings; aMinClass: TClass = nil);
|
|
||||||
function CreateObject( const aClassOrDisplayname: String ): TObject;
|
|
||||||
property MinAcceptableClass: TClass read FMinAcceptableClass;
|
|
||||||
property List: TStringlist read FList;
|
|
||||||
property Count: Integer read GetCount;
|
|
||||||
property Classes[ index: integer ]: TClass read GetClasses;
|
|
||||||
public
|
|
||||||
constructor Create( minAcceptableClass: TClass = nil ); virtual;
|
|
||||||
destructor Destroy; override;
|
|
||||||
end;
|
|
||||||
|
|
||||||
TComponentRegistry = class( TClassRegistry, IComponentRegistry )
|
|
||||||
protected
|
|
||||||
procedure ValidateMinAcceptableClass(var aMinAcceptableClass: TClass ); override;
|
|
||||||
function CreateComponent( const aClassOrDisplayname: String;
|
|
||||||
aOwner: TComponent = nil ): TComponent;
|
|
||||||
end;
|
|
||||||
|
|
||||||
TFormRegistry = class( TComponentRegistry, IFormRegistry )
|
|
||||||
protected
|
|
||||||
procedure ValidateMinAcceptableClass(var aMinAcceptableClass: TClass ); override;
|
|
||||||
function CreateForm( const aClassOrDisplayname: String;
|
|
||||||
aOwner: TComponent = nil ): TForm;
|
|
||||||
end;
|
|
||||||
|
|
||||||
TDataModuleRegistry = class( TComponentRegistry, IDataModuleRegistry )
|
|
||||||
protected
|
|
||||||
procedure ValidateMinAcceptableClass(var aMinAcceptableClass: TClass); override;
|
|
||||||
function CreateDatamodule( const aClassOrDisplayname: String;
|
|
||||||
aOwner: TComponent = nil ): TDatamodule;
|
|
||||||
end;
|
|
||||||
|
|
||||||
TReportRegistry = class( TComponentRegistry, IReportRegistry )
|
|
||||||
protected
|
|
||||||
procedure ValidateMinAcceptableClass(var aMinAcceptableClass: TClass ); override;
|
|
||||||
function CreateReport( const aClassOrDisplayname: String;
|
|
||||||
aOwner: TComponent = nil ): TInterfacedObject;
|
|
||||||
end;
|
|
||||||
|
|
||||||
EClassRegistryError = class( Exception );
|
|
||||||
|
|
||||||
implementation
|
|
||||||
|
|
||||||
{ TClassRegistry }
|
|
||||||
|
|
||||||
ResourceString
|
|
||||||
eClassnotFound = 'Class "%s" was not found in the registry.';
|
|
||||||
|
|
||||||
constructor TClassRegistry.Create(minAcceptableClass: TClass);
|
|
||||||
begin
|
|
||||||
inherited Create;
|
|
||||||
FList := Tstringlist.Create;
|
|
||||||
ValidateMinAcceptableClass( minAcceptableClass );
|
|
||||||
FMinAcceptableClass := minAcceptableClass;
|
|
||||||
end;
|
|
||||||
|
|
||||||
function TClassRegistry.CreateObject(
|
|
||||||
const aClassOrDisplayname: String): TObject;
|
|
||||||
begin
|
|
||||||
Result := FindClass( aClassOrDisplayname ).Create;
|
|
||||||
end;
|
|
||||||
|
|
||||||
destructor TClassRegistry.Destroy;
|
|
||||||
begin
|
|
||||||
Flist.Free;
|
|
||||||
inherited;
|
|
||||||
end;
|
|
||||||
|
|
||||||
function TClassRegistry.FindClass(
|
|
||||||
const aClassOrDisplayname: String): Tclass;
|
|
||||||
begin
|
|
||||||
Result := FindClassByDisplayname( aClassOrDisplayname );
|
|
||||||
If not Assigned( Result ) Then
|
|
||||||
Result := FindClassByClassname( aClassOrDisplayname );
|
|
||||||
If not Assigned( Result ) Then
|
|
||||||
raise EClassRegistryError.CreateFmt
|
|
||||||
( eClassnotFound, [ aClassOrDisplayname ] );
|
|
||||||
end;
|
|
||||||
|
|
||||||
function TClassRegistry.FindClassByClassname(
|
|
||||||
const aClassname: String): Tclass;
|
|
||||||
var
|
|
||||||
i: Integer;
|
|
||||||
begin
|
|
||||||
for i:= 0 to count-1 do begin
|
|
||||||
Result := classes[i];
|
|
||||||
If Result.ClassNameIs( aClassname ) Then
|
|
||||||
Exit;
|
|
||||||
end;
|
|
||||||
Result := nil;
|
|
||||||
end;
|
|
||||||
|
|
||||||
function TClassRegistry.FindClassByDisplayname(
|
|
||||||
const aDisplayname: String): TClass;
|
|
||||||
var
|
|
||||||
i: Integer;
|
|
||||||
begin
|
|
||||||
i:= List.IndexOf( aDisplayname );
|
|
||||||
If i >= 0 Then
|
|
||||||
Result := Classes[i]
|
|
||||||
Else
|
|
||||||
Result := nil;
|
|
||||||
end;
|
|
||||||
|
|
||||||
function TClassRegistry.GetClasses(index: integer): TClass;
|
|
||||||
begin
|
|
||||||
Result := TClass( List.Objects[index] );
|
|
||||||
end;
|
|
||||||
|
|
||||||
function TClassRegistry.GetCount: Integer;
|
|
||||||
begin
|
|
||||||
Result := List.Count;
|
|
||||||
end;
|
|
||||||
|
|
||||||
procedure TClassRegistry.GetRegisteredClasses(aList: TStrings;
|
|
||||||
aMinClass: TClass);
|
|
||||||
var
|
|
||||||
i: Integer;
|
|
||||||
aClass: TClass;
|
|
||||||
begin
|
|
||||||
Assert( Assigned( aList ));
|
|
||||||
aList.BeginUpdate;
|
|
||||||
try
|
|
||||||
aList.Clear;
|
|
||||||
If not Assigned( aMinClass ) Then
|
|
||||||
aList.Assign( List )
|
|
||||||
else begin
|
|
||||||
For i:= 0 To Count-1 Do Begin
|
|
||||||
aClass := Classes[i];
|
|
||||||
If aClass.InheritsFrom( aMinClass ) Then
|
|
||||||
aList.AddObject( List[i], TObject( aClass ));
|
|
||||||
end;
|
|
||||||
end;
|
|
||||||
finally
|
|
||||||
aList.EndUpdate
|
|
||||||
end;
|
|
||||||
end;
|
|
||||||
|
|
||||||
function TClassRegistry.IsClassAcceptable(aClass: TClass): Boolean;
|
|
||||||
begin
|
|
||||||
Result := Assigned( aClass ) and
|
|
||||||
aClass.InheritsFrom( MinAcceptableClass );
|
|
||||||
end;
|
|
||||||
|
|
||||||
function TClassRegistry.IsClassRegistered(const aDisplayname: String): Boolean;
|
|
||||||
begin
|
|
||||||
Result := List.IndexOf(aDisplayname) >= 0;
|
|
||||||
end;
|
|
||||||
|
|
||||||
function TClassRegistry.IsClassRegistered(aClass: TClass): Boolean;
|
|
||||||
begin
|
|
||||||
Result := List.IndexOfObject( TObject( aClass )) >= 0;
|
|
||||||
end;
|
|
||||||
|
|
||||||
procedure TClassRegistry.RegisterClass(aClass: TClass;
|
|
||||||
const aDisplayname: String);
|
|
||||||
begin
|
|
||||||
Assert( Assigned( aClass ), 'Cannot register Nil class' );
|
|
||||||
If aDisplayname = '' Then
|
|
||||||
RegisterClass( aClass, aClass.Classname )
|
|
||||||
else begin
|
|
||||||
Assert( IsClassAcceptable( aClass ),
|
|
||||||
format('Cannot register %s since it does not inherit from %s',
|
|
||||||
[aclass.classname, MinAcceptableClass.classname] ));
|
|
||||||
Assert( not IsClassRegistered( aClass ),
|
|
||||||
Format('Class %s is already registered.', [aClass.Classname]));
|
|
||||||
List.AddObject( aDisplayname, TObject( aClass ));
|
|
||||||
end;
|
|
||||||
end;
|
|
||||||
|
|
||||||
procedure TClassRegistry.RegisterClasses(const aClasses: array of TClass;
|
|
||||||
const aDisplaynames: array of String);
|
|
||||||
var
|
|
||||||
i: Integer;
|
|
||||||
begin
|
|
||||||
Assert( High( aClasses ) = High( aDisplaynames ),
|
|
||||||
'Size of both parameter arrays has to be the same.' );
|
|
||||||
for i:= Low( aClasses ) to High( aClasses ) do
|
|
||||||
RegisterClass( aClasses[i], aDisplaynames[i] );
|
|
||||||
end;
|
|
||||||
|
|
||||||
procedure TClassRegistry.UnRegisterClass(aClass: TClass);
|
|
||||||
var
|
|
||||||
i: Integer;
|
|
||||||
begin
|
|
||||||
i:= List.IndexOfObject( TObject( aClass ));
|
|
||||||
If i >= 0 Then
|
|
||||||
List.Delete( i );
|
|
||||||
// does not consider attempt to unregister a class that is not
|
|
||||||
// registered as an error.
|
|
||||||
end;
|
|
||||||
|
|
||||||
procedure TClassRegistry.ValidateMinAcceptableClass(
|
|
||||||
var aMinAcceptableClass: TClass);
|
|
||||||
begin
|
|
||||||
If not Assigned( aMinAcceptableClass ) Then
|
|
||||||
aMinAcceptableClass := TObject;
|
|
||||||
end;
|
|
||||||
|
|
||||||
{ TComponentRegistry }
|
|
||||||
|
|
||||||
function TComponentRegistry.CreateComponent(
|
|
||||||
const aClassOrDisplayname: String; aOwner: TComponent): TComponent;
|
|
||||||
var
|
|
||||||
aClass: TComponentClass;
|
|
||||||
begin
|
|
||||||
aClass := TComponentClass( FindClass( aClassOrDisplayname ));
|
|
||||||
Result := aClass.Create( aOwner );
|
|
||||||
end;
|
|
||||||
|
|
||||||
procedure TComponentRegistry.ValidateMinAcceptableClass(
|
|
||||||
var aMinAcceptableClass: TClass);
|
|
||||||
begin
|
|
||||||
inherited;
|
|
||||||
If not aMinAcceptableClass.InheritsFrom( TComponent )
|
|
||||||
Then
|
|
||||||
aMinAcceptableClass := TComponent;
|
|
||||||
end;
|
|
||||||
|
|
||||||
{ TFormRegistry }
|
|
||||||
|
|
||||||
function TFormRegistry.CreateForm(const aClassOrDisplayname: String;
|
|
||||||
aOwner: TComponent): TForm;
|
|
||||||
begin
|
|
||||||
Result := CreateComponent( aClassOrDisplayname, aOwner ) As TForm;
|
|
||||||
end;
|
|
||||||
|
|
||||||
procedure TFormRegistry.ValidateMinAcceptableClass(
|
|
||||||
var aMinAcceptableClass: TClass);
|
|
||||||
begin
|
|
||||||
inherited;
|
|
||||||
If not aMinAcceptableClass.InheritsFrom( TForm )
|
|
||||||
Then
|
|
||||||
aMinAcceptableClass := TForm;
|
|
||||||
end;
|
|
||||||
|
|
||||||
{ TDataModuleRegistry }
|
|
||||||
|
|
||||||
function TDataModuleRegistry.CreateDatamodule(
|
|
||||||
const aClassOrDisplayname: String; aOwner: TComponent): TDatamodule;
|
|
||||||
begin
|
|
||||||
Result := CreateComponent( aClassOrDisplayname, aOwner ) As TDatamodule;
|
|
||||||
end;
|
|
||||||
|
|
||||||
procedure TDataModuleRegistry.ValidateMinAcceptableClass(
|
|
||||||
var aMinAcceptableClass: TClass);
|
|
||||||
begin
|
|
||||||
inherited;
|
|
||||||
If not aMinAcceptableClass.InheritsFrom( TDatamodule )
|
|
||||||
Then
|
|
||||||
aMinAcceptableClass := TDatamodule;
|
|
||||||
end;
|
|
||||||
|
|
||||||
{ TReportRegistry }
|
|
||||||
|
|
||||||
function TReportRegistry.CreateReport(const aClassOrDisplayname: String;
|
|
||||||
aOwner: TComponent): TInterfacedObject;
|
|
||||||
begin
|
|
||||||
Result := CreateObject( aClassOrDisplayname) As TInterfacedObject;
|
|
||||||
// Result := CreateComponent( aClassOrDisplayname, aOwner ) As TInterfacedObject;
|
|
||||||
end;
|
|
||||||
|
|
||||||
procedure TReportRegistry.ValidateMinAcceptableClass(
|
|
||||||
var aMinAcceptableClass: TClass);
|
|
||||||
begin
|
|
||||||
inherited;
|
|
||||||
If not aMinAcceptableClass.InheritsFrom( TInterfacedObject )
|
|
||||||
Then
|
|
||||||
aMinAcceptableClass := TInterfacedObject;
|
|
||||||
end;
|
|
||||||
|
|
||||||
end.
|
|
||||||
@ -1,81 +0,0 @@
|
|||||||
unit uEditorRegistryUtils;
|
|
||||||
|
|
||||||
interface
|
|
||||||
|
|
||||||
uses
|
|
||||||
Classes, Forms, uClassRegistryUtils, uCustomEditor;
|
|
||||||
|
|
||||||
type
|
|
||||||
{
|
|
||||||
IEditorRegistry = interface (IComponentRegistry)
|
|
||||||
22F14B82-AC61-4987-847E-AF8513DE2A10
|
|
||||||
function CreateEditor(const aClassOrDisplayname: String;
|
|
||||||
aOwner: TComponent = NIL): TCustomEditor;
|
|
||||||
end;
|
|
||||||
|
|
||||||
TEditorRegistry = class(TComponentRegistry, IEditorRegistry)
|
|
||||||
protected
|
|
||||||
procedure ValidateMinAcceptableClass(var aMinAcceptableClass: TClass); override;
|
|
||||||
function CreateEditor(const aClassOrDisplayname: String;
|
|
||||||
aOwner: TComponent = nil): TCustomEditor;
|
|
||||||
end;
|
|
||||||
}
|
|
||||||
|
|
||||||
IEditorRegistry = interface (IFormRegistry)
|
|
||||||
['{F6AC050F-5547-4E1F-AA44-DA0D06EDA4D7}']
|
|
||||||
function CreateEditor(const aClassOrDisplayname: String;
|
|
||||||
aOwner: TComponent = NIL): TForm;
|
|
||||||
end;
|
|
||||||
|
|
||||||
TEditorRegistry = class(TFormRegistry, IEditorRegistry)
|
|
||||||
protected
|
|
||||||
function CreateEditor(const aClassOrDisplayname: String;
|
|
||||||
aOwner: TComponent = nil): TForm;
|
|
||||||
end;
|
|
||||||
|
|
||||||
function CreateEditor(const AName: String; const IID: TGUID; out Intf): Boolean;
|
|
||||||
|
|
||||||
var
|
|
||||||
EditorRegistry : IEditorRegistry;
|
|
||||||
|
|
||||||
implementation
|
|
||||||
|
|
||||||
uses
|
|
||||||
SysUtils, cxControls;
|
|
||||||
|
|
||||||
function CreateEditor(const AName: String; const IID: TGUID; out Intf): Boolean;
|
|
||||||
begin
|
|
||||||
ShowHourglassCursor;
|
|
||||||
try
|
|
||||||
Result := Supports(EditorRegistry.CreateEditor(AName, Application), IID, Intf);
|
|
||||||
finally
|
|
||||||
HideHourglassCursor;
|
|
||||||
end;
|
|
||||||
end;
|
|
||||||
|
|
||||||
|
|
||||||
{ TEditorRegistry }
|
|
||||||
|
|
||||||
function TEditorRegistry.CreateEditor(const aClassOrDisplayname: String;
|
|
||||||
aOwner: TComponent): TForm;
|
|
||||||
begin
|
|
||||||
if not Assigned(AOwner) then
|
|
||||||
AOwner := Application;
|
|
||||||
Result := CreateComponent( aClassOrDisplayname, aOwner ) as TForm;
|
|
||||||
end;
|
|
||||||
|
|
||||||
{procedure TEditorRegistry.ValidateMinAcceptableClass(
|
|
||||||
var aMinAcceptableClass: TClass);
|
|
||||||
begin
|
|
||||||
inherited;
|
|
||||||
if not aMinAcceptableClass.InheritsFrom(TCustomEditor) then
|
|
||||||
aMinAcceptableClass := TCustomEditor;
|
|
||||||
end;}
|
|
||||||
|
|
||||||
initialization
|
|
||||||
EditorRegistry := TEditorRegistry.Create;
|
|
||||||
|
|
||||||
finalization
|
|
||||||
EditorRegistry := NIL;
|
|
||||||
|
|
||||||
end.
|
|
||||||
@ -1,59 +0,0 @@
|
|||||||
unit uInformeRegistryUtils;
|
|
||||||
|
|
||||||
interface
|
|
||||||
|
|
||||||
uses
|
|
||||||
Classes, Forms, uClassRegistryUtils;
|
|
||||||
|
|
||||||
type
|
|
||||||
IInformeRegistry = interface (IReportRegistry)
|
|
||||||
['{F6AC050F-5547-4E1F-AA44-DA0D06EDA4D7}']
|
|
||||||
function CreateInforme(const aClassOrDisplayname: String;
|
|
||||||
aOwner: TComponent = NIL): TInterfacedObject;
|
|
||||||
end;
|
|
||||||
|
|
||||||
TInformeRegistry = class(TReportRegistry, IInformeRegistry)
|
|
||||||
protected
|
|
||||||
function CreateInforme(const aClassOrDisplayname: String;
|
|
||||||
aOwner: TComponent = nil): TInterfacedObject;
|
|
||||||
end;
|
|
||||||
|
|
||||||
function CreateInforme(const AName: String; const IID: TGUID; out Intf): Boolean;
|
|
||||||
|
|
||||||
var
|
|
||||||
InformeRegistry : IInformeRegistry;
|
|
||||||
|
|
||||||
implementation
|
|
||||||
|
|
||||||
uses
|
|
||||||
SysUtils, cxControls;
|
|
||||||
|
|
||||||
function CreateInforme(const AName: String; const IID: TGUID; out Intf): Boolean;
|
|
||||||
begin
|
|
||||||
ShowHourglassCursor;
|
|
||||||
try
|
|
||||||
Result := Supports(InformeRegistry.CreateInforme(AName, Application), IID, Intf);
|
|
||||||
finally
|
|
||||||
HideHourglassCursor;
|
|
||||||
end;
|
|
||||||
end;
|
|
||||||
|
|
||||||
|
|
||||||
{ TInformeRegistry }
|
|
||||||
|
|
||||||
function TInformeRegistry.CreateInforme(const aClassOrDisplayname: String;
|
|
||||||
aOwner: TComponent): TInterfacedObject;
|
|
||||||
begin
|
|
||||||
if not Assigned(AOwner) then
|
|
||||||
AOwner := Application;
|
|
||||||
Result := CreateObject( aClassOrDisplayname) as TInterfacedObject;
|
|
||||||
end;
|
|
||||||
|
|
||||||
|
|
||||||
initialization
|
|
||||||
InformeRegistry := TInformeRegistry.Create;
|
|
||||||
|
|
||||||
finalization
|
|
||||||
InformeRegistry := NIL;
|
|
||||||
|
|
||||||
end.
|
|
||||||
@ -1,50 +0,0 @@
|
|||||||
unit uViewRegistryUtils;
|
|
||||||
|
|
||||||
interface
|
|
||||||
|
|
||||||
uses
|
|
||||||
Classes, Forms, uClassRegistryUtils, uCustomView;
|
|
||||||
|
|
||||||
type
|
|
||||||
IViewRegistry = interface (IComponentRegistry)
|
|
||||||
['{F49AE52F-47EC-42AF-8365-A09270E4B45D}']
|
|
||||||
function CreateView(const aClassOrDisplayname: String;
|
|
||||||
aOwner: TComponent = nil): TCustomView;
|
|
||||||
end;
|
|
||||||
|
|
||||||
|
|
||||||
TViewRegistry = class(TComponentRegistry, IViewRegistry)
|
|
||||||
protected
|
|
||||||
procedure ValidateMinAcceptableClass(var aMinAcceptableClass: TClass); override;
|
|
||||||
function CreateView( const aClassOrDisplayname: String;
|
|
||||||
aOwner: TComponent = nil ): TCustomView;
|
|
||||||
end;
|
|
||||||
|
|
||||||
var
|
|
||||||
ViewRegistry : IViewRegistry;
|
|
||||||
|
|
||||||
implementation
|
|
||||||
|
|
||||||
{ TViewRegistry }
|
|
||||||
|
|
||||||
function TViewRegistry.CreateView(const aClassOrDisplayname: String;
|
|
||||||
aOwner: TComponent): TCustomView;
|
|
||||||
begin
|
|
||||||
Result := CreateComponent( aClassOrDisplayname, aOwner ) as TCustomView;
|
|
||||||
end;
|
|
||||||
|
|
||||||
procedure TViewRegistry.ValidateMinAcceptableClass(
|
|
||||||
var aMinAcceptableClass: TClass);
|
|
||||||
begin
|
|
||||||
inherited;
|
|
||||||
if not aMinAcceptableClass.InheritsFrom(TCustomView) then
|
|
||||||
aMinAcceptableClass := TCustomView;
|
|
||||||
end;
|
|
||||||
|
|
||||||
initialization
|
|
||||||
ViewRegistry := TViewRegistry.Create;
|
|
||||||
|
|
||||||
finalization
|
|
||||||
ViewRegistry := NIL;
|
|
||||||
|
|
||||||
end.
|
|
||||||
@ -1,21 +0,0 @@
|
|||||||
/* VER180
|
|
||||||
Generated by the Borland Delphi Pascal Compiler
|
|
||||||
because -GD or --drc was supplied to the compiler.
|
|
||||||
|
|
||||||
This file contains compiler-generated resources that
|
|
||||||
were bound to the executable.
|
|
||||||
If this file is empty, then no compiler-generated
|
|
||||||
resources were bound to the produced executable.
|
|
||||||
*/
|
|
||||||
|
|
||||||
DESCRIPTION RCDATA
|
|
||||||
BEGIN
|
|
||||||
"\x4c", "\x00", "\x69", "\x00", "\x62", "\x00", "\x72", "\x00", /* 0000: L.i.b.r. */
|
|
||||||
"\x65", "\x00", "\x72", "\x00", "\x69", "\x00", "\x61", "\x00", /* 0008: e.r.i.a. */
|
|
||||||
"\x20", "\x00", "\x62", "\x00", "\x61", "\x00", "\x73", "\x00", /* 0010: .b.a.s. */
|
|
||||||
"\x65", "\x00", "\x20", "\x00", "\x64", "\x00", "\x65", "\x00", /* 0018: e. .d.e. */
|
|
||||||
"\x20", "\x00", "\x46", "\x00", "\x61", "\x00", "\x63", "\x00", /* 0020: .F.a.c. */
|
|
||||||
"\x74", "\x00", "\x75", "\x00", "\x47", "\x00", "\x45", "\x00", /* 0028: t.u.G.E. */
|
|
||||||
"\x53", "\x00", "\x00", "\x00" /* 0030: S... */
|
|
||||||
END
|
|
||||||
|
|
||||||
@ -1,492 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
|
||||||
<BorlandProject>
|
|
||||||
<PersonalityInfo>
|
|
||||||
<Option>
|
|
||||||
<Option Name="Personality">Delphi.Personality</Option>
|
|
||||||
<Option Name="ProjectType"></Option>
|
|
||||||
<Option Name="Version">1.0</Option>
|
|
||||||
<Option Name="GUID">{EF3998E7-B579-4A14-9E7A-6CDDB582B1C7}</Option>
|
|
||||||
</Option>
|
|
||||||
</PersonalityInfo>
|
|
||||||
<Delphi.Personality>
|
|
||||||
<Source>
|
|
||||||
<Source Name="MainSource">ControllerBase.dpk</Source>
|
|
||||||
</Source>
|
|
||||||
<FileVersion>
|
|
||||||
<FileVersion Name="Version">7.0</FileVersion>
|
|
||||||
</FileVersion>
|
|
||||||
<Compiler>
|
|
||||||
<Compiler Name="A">8</Compiler>
|
|
||||||
<Compiler Name="B">0</Compiler>
|
|
||||||
<Compiler Name="C">1</Compiler>
|
|
||||||
<Compiler Name="D">1</Compiler>
|
|
||||||
<Compiler Name="E">0</Compiler>
|
|
||||||
<Compiler Name="F">0</Compiler>
|
|
||||||
<Compiler Name="G">1</Compiler>
|
|
||||||
<Compiler Name="H">1</Compiler>
|
|
||||||
<Compiler Name="I">1</Compiler>
|
|
||||||
<Compiler Name="J">0</Compiler>
|
|
||||||
<Compiler Name="K">0</Compiler>
|
|
||||||
<Compiler Name="L">1</Compiler>
|
|
||||||
<Compiler Name="M">0</Compiler>
|
|
||||||
<Compiler Name="N">1</Compiler>
|
|
||||||
<Compiler Name="O">0</Compiler>
|
|
||||||
<Compiler Name="P">1</Compiler>
|
|
||||||
<Compiler Name="Q">0</Compiler>
|
|
||||||
<Compiler Name="R">0</Compiler>
|
|
||||||
<Compiler Name="S">0</Compiler>
|
|
||||||
<Compiler Name="T">0</Compiler>
|
|
||||||
<Compiler Name="U">0</Compiler>
|
|
||||||
<Compiler Name="V">1</Compiler>
|
|
||||||
<Compiler Name="W">1</Compiler>
|
|
||||||
<Compiler Name="X">1</Compiler>
|
|
||||||
<Compiler Name="Y">1</Compiler>
|
|
||||||
<Compiler Name="Z">1</Compiler>
|
|
||||||
<Compiler Name="ShowHints">True</Compiler>
|
|
||||||
<Compiler Name="ShowWarnings">True</Compiler>
|
|
||||||
<Compiler Name="UnitAliases">WinTypes=Windows;WinProcs=Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE;</Compiler>
|
|
||||||
<Compiler Name="NamespacePrefix"></Compiler>
|
|
||||||
<Compiler Name="GenerateDocumentation">False</Compiler>
|
|
||||||
<Compiler Name="DefaultNamespace"></Compiler>
|
|
||||||
<Compiler Name="SymbolDeprecated">True</Compiler>
|
|
||||||
<Compiler Name="SymbolLibrary">True</Compiler>
|
|
||||||
<Compiler Name="SymbolPlatform">True</Compiler>
|
|
||||||
<Compiler Name="SymbolExperimental">True</Compiler>
|
|
||||||
<Compiler Name="UnitLibrary">True</Compiler>
|
|
||||||
<Compiler Name="UnitPlatform">True</Compiler>
|
|
||||||
<Compiler Name="UnitDeprecated">True</Compiler>
|
|
||||||
<Compiler Name="UnitExperimental">True</Compiler>
|
|
||||||
<Compiler Name="HResultCompat">True</Compiler>
|
|
||||||
<Compiler Name="HidingMember">True</Compiler>
|
|
||||||
<Compiler Name="HiddenVirtual">True</Compiler>
|
|
||||||
<Compiler Name="Garbage">True</Compiler>
|
|
||||||
<Compiler Name="BoundsError">True</Compiler>
|
|
||||||
<Compiler Name="ZeroNilCompat">True</Compiler>
|
|
||||||
<Compiler Name="StringConstTruncated">True</Compiler>
|
|
||||||
<Compiler Name="ForLoopVarVarPar">True</Compiler>
|
|
||||||
<Compiler Name="TypedConstVarPar">True</Compiler>
|
|
||||||
<Compiler Name="AsgToTypedConst">True</Compiler>
|
|
||||||
<Compiler Name="CaseLabelRange">True</Compiler>
|
|
||||||
<Compiler Name="ForVariable">True</Compiler>
|
|
||||||
<Compiler Name="ConstructingAbstract">True</Compiler>
|
|
||||||
<Compiler Name="ComparisonFalse">True</Compiler>
|
|
||||||
<Compiler Name="ComparisonTrue">True</Compiler>
|
|
||||||
<Compiler Name="ComparingSignedUnsigned">True</Compiler>
|
|
||||||
<Compiler Name="CombiningSignedUnsigned">True</Compiler>
|
|
||||||
<Compiler Name="UnsupportedConstruct">True</Compiler>
|
|
||||||
<Compiler Name="FileOpen">True</Compiler>
|
|
||||||
<Compiler Name="FileOpenUnitSrc">True</Compiler>
|
|
||||||
<Compiler Name="BadGlobalSymbol">True</Compiler>
|
|
||||||
<Compiler Name="DuplicateConstructorDestructor">True</Compiler>
|
|
||||||
<Compiler Name="InvalidDirective">True</Compiler>
|
|
||||||
<Compiler Name="PackageNoLink">True</Compiler>
|
|
||||||
<Compiler Name="PackageThreadVar">True</Compiler>
|
|
||||||
<Compiler Name="ImplicitImport">True</Compiler>
|
|
||||||
<Compiler Name="HPPEMITIgnored">True</Compiler>
|
|
||||||
<Compiler Name="NoRetVal">True</Compiler>
|
|
||||||
<Compiler Name="UseBeforeDef">True</Compiler>
|
|
||||||
<Compiler Name="ForLoopVarUndef">True</Compiler>
|
|
||||||
<Compiler Name="UnitNameMismatch">True</Compiler>
|
|
||||||
<Compiler Name="NoCFGFileFound">True</Compiler>
|
|
||||||
<Compiler Name="ImplicitVariants">True</Compiler>
|
|
||||||
<Compiler Name="UnicodeToLocale">True</Compiler>
|
|
||||||
<Compiler Name="LocaleToUnicode">True</Compiler>
|
|
||||||
<Compiler Name="ImagebaseMultiple">True</Compiler>
|
|
||||||
<Compiler Name="SuspiciousTypecast">True</Compiler>
|
|
||||||
<Compiler Name="PrivatePropAccessor">True</Compiler>
|
|
||||||
<Compiler Name="UnsafeType">False</Compiler>
|
|
||||||
<Compiler Name="UnsafeCode">False</Compiler>
|
|
||||||
<Compiler Name="UnsafeCast">False</Compiler>
|
|
||||||
<Compiler Name="OptionTruncated">True</Compiler>
|
|
||||||
<Compiler Name="WideCharReduced">True</Compiler>
|
|
||||||
<Compiler Name="DuplicatesIgnored">True</Compiler>
|
|
||||||
<Compiler Name="UnitInitSeq">True</Compiler>
|
|
||||||
<Compiler Name="LocalPInvoke">True</Compiler>
|
|
||||||
<Compiler Name="MessageDirective">True</Compiler>
|
|
||||||
<Compiler Name="CodePage"></Compiler>
|
|
||||||
</Compiler>
|
|
||||||
<Linker>
|
|
||||||
<Linker Name="MapFile">3</Linker>
|
|
||||||
<Linker Name="OutputObjs">0</Linker>
|
|
||||||
<Linker Name="GenerateHpps">False</Linker>
|
|
||||||
<Linker Name="ConsoleApp">1</Linker>
|
|
||||||
<Linker Name="DebugInfo">True</Linker>
|
|
||||||
<Linker Name="RemoteSymbols">False</Linker>
|
|
||||||
<Linker Name="GenerateDRC">False</Linker>
|
|
||||||
<Linker Name="MinStackSize">16384</Linker>
|
|
||||||
<Linker Name="MaxStackSize">1048576</Linker>
|
|
||||||
<Linker Name="ImageBase">4194304</Linker>
|
|
||||||
<Linker Name="ExeDescription"></Linker>
|
|
||||||
</Linker>
|
|
||||||
<Directories>
|
|
||||||
<Directories Name="OutputDir"></Directories>
|
|
||||||
<Directories Name="UnitOutputDir">.\</Directories>
|
|
||||||
<Directories Name="PackageDLLOutputDir">..\..\..\Output\Debug\Cliente</Directories>
|
|
||||||
<Directories Name="PackageDCPOutputDir">..\..\Lib</Directories>
|
|
||||||
<Directories Name="SearchPath">T:\COMPON~1\jcl\lib\d10\debug;$(BDS)\lib\Debug;$(BDS)\Lib\Debug\Indy9;..\..\DataAbstract_D10\Lib;..\Lib</Directories>
|
|
||||||
<Directories Name="Packages"></Directories>
|
|
||||||
<Directories Name="Conditionals"></Directories>
|
|
||||||
<Directories Name="DebugSourceDirs"></Directories>
|
|
||||||
<Directories Name="UsePackages">False</Directories>
|
|
||||||
</Directories>
|
|
||||||
<Parameters>
|
|
||||||
<Parameters Name="RunParams"></Parameters>
|
|
||||||
<Parameters Name="HostApplication"></Parameters>
|
|
||||||
<Parameters Name="Launcher"></Parameters>
|
|
||||||
<Parameters Name="UseLauncher">False</Parameters>
|
|
||||||
<Parameters Name="DebugCWD"></Parameters>
|
|
||||||
<Parameters Name="Debug Symbols Search Path"></Parameters>
|
|
||||||
<Parameters Name="LoadAllSymbols">True</Parameters>
|
|
||||||
<Parameters Name="LoadUnspecifiedSymbols">False</Parameters>
|
|
||||||
</Parameters>
|
|
||||||
<Language>
|
|
||||||
<Language Name="ActiveLang"></Language>
|
|
||||||
<Language Name="ProjectLang">$00000000</Language>
|
|
||||||
<Language Name="RootDir"></Language>
|
|
||||||
</Language>
|
|
||||||
<VersionInfo>
|
|
||||||
<VersionInfo Name="IncludeVerInfo">True</VersionInfo>
|
|
||||||
<VersionInfo Name="AutoIncBuild">False</VersionInfo>
|
|
||||||
<VersionInfo Name="MajorVer">1</VersionInfo>
|
|
||||||
<VersionInfo Name="MinorVer">0</VersionInfo>
|
|
||||||
<VersionInfo Name="Release">0</VersionInfo>
|
|
||||||
<VersionInfo Name="Build">0</VersionInfo>
|
|
||||||
<VersionInfo Name="Debug">False</VersionInfo>
|
|
||||||
<VersionInfo Name="PreRelease">False</VersionInfo>
|
|
||||||
<VersionInfo Name="Special">False</VersionInfo>
|
|
||||||
<VersionInfo Name="Private">False</VersionInfo>
|
|
||||||
<VersionInfo Name="DLL">False</VersionInfo>
|
|
||||||
<VersionInfo Name="Locale">3082</VersionInfo>
|
|
||||||
<VersionInfo Name="CodePage">1252</VersionInfo>
|
|
||||||
</VersionInfo>
|
|
||||||
<VersionInfoKeys>
|
|
||||||
<VersionInfoKeys Name="CompanyName"></VersionInfoKeys>
|
|
||||||
<VersionInfoKeys Name="FileDescription"></VersionInfoKeys>
|
|
||||||
<VersionInfoKeys Name="FileVersion">1.0.0.0</VersionInfoKeys>
|
|
||||||
<VersionInfoKeys Name="InternalName"></VersionInfoKeys>
|
|
||||||
<VersionInfoKeys Name="LegalCopyright"></VersionInfoKeys>
|
|
||||||
<VersionInfoKeys Name="LegalTrademarks"></VersionInfoKeys>
|
|
||||||
<VersionInfoKeys Name="OriginalFilename"></VersionInfoKeys>
|
|
||||||
<VersionInfoKeys Name="ProductName"></VersionInfoKeys>
|
|
||||||
<VersionInfoKeys Name="ProductVersion">1.0.0.0</VersionInfoKeys>
|
|
||||||
<VersionInfoKeys Name="Comments"></VersionInfoKeys>
|
|
||||||
</VersionInfoKeys>
|
|
||||||
</Delphi.Personality>
|
|
||||||
<!-- EurekaLog First Line
|
|
||||||
[Exception Log]
|
|
||||||
EurekaLog Version=519
|
|
||||||
Activate=1
|
|
||||||
Activate Handle=1
|
|
||||||
Save Log File=1
|
|
||||||
Foreground Tab=0
|
|
||||||
Freeze Activate=0
|
|
||||||
Freeze Timeout=0
|
|
||||||
Freeze Message=The application seems to be frozen.
|
|
||||||
SMTP From=eurekalog@email.com
|
|
||||||
SMTP Host=
|
|
||||||
SMTP Port=25
|
|
||||||
SMTP UserID=
|
|
||||||
SMTP Password=
|
|
||||||
Append to Log=0
|
|
||||||
Show TerminateBtn=1
|
|
||||||
TerminateBtn Operation=1
|
|
||||||
Errors Number=32
|
|
||||||
Errors Terminate=3
|
|
||||||
Email Address=
|
|
||||||
Email Object=
|
|
||||||
Email Send Options=0
|
|
||||||
Output Path=
|
|
||||||
Encrypt Password=
|
|
||||||
AutoCloseDialogSecs=0
|
|
||||||
WebSendMode=0
|
|
||||||
SupportULR=
|
|
||||||
HTMLLayout Count=15
|
|
||||||
HTMLLine0="%3Chtml%3E"
|
|
||||||
HTMLLine1=" %3Chead%3E"
|
|
||||||
HTMLLine2=" %3C/head%3E"
|
|
||||||
HTMLLine3=" %3Cbody TopMargin=10 LeftMargin=10%3E"
|
|
||||||
HTMLLine4=" %3Ctable width="100%%" border="0"%3E"
|
|
||||||
HTMLLine5=" %3Ctr%3E"
|
|
||||||
HTMLLine6=" %3Ctd nowrap%3E"
|
|
||||||
HTMLLine7=" %3Cfont face="Lucida Console, Courier" size="2"%3E"
|
|
||||||
HTMLLine8=" %3C%%HTML_TAG%%%3E"
|
|
||||||
HTMLLine9=" %3C/font%3E"
|
|
||||||
HTMLLine10=" %3C/td%3E"
|
|
||||||
HTMLLine11=" %3C/tr%3E"
|
|
||||||
HTMLLine12=" %3C/table%3E"
|
|
||||||
HTMLLine13=" %3C/body%3E"
|
|
||||||
HTMLLine14="%3C/html%3E"
|
|
||||||
AutoCrashOperation=1
|
|
||||||
AutoCrashNumber=10
|
|
||||||
AutoCrashMinutes=1
|
|
||||||
WebURL=
|
|
||||||
WebUserID=
|
|
||||||
WebPassword=
|
|
||||||
WebPort=0
|
|
||||||
AttachedFiles=
|
|
||||||
Count=0
|
|
||||||
EMail Message Line Count=0
|
|
||||||
loNoDuplicateErrors=0
|
|
||||||
loAppendReproduceText=0
|
|
||||||
loDeleteLogAtVersionChange=0
|
|
||||||
loAddComputerNameInLogFileName=0
|
|
||||||
loSaveModulesSection=1
|
|
||||||
loSaveCPUSection=1
|
|
||||||
soAppStartDate=1
|
|
||||||
soAppName=1
|
|
||||||
soAppVersionNumber=1
|
|
||||||
soAppParameters=1
|
|
||||||
soAppCompilationDate=1
|
|
||||||
soExcDate=1
|
|
||||||
soExcAddress=1
|
|
||||||
soExcModule=1
|
|
||||||
soExcType=1
|
|
||||||
soExcMessage=1
|
|
||||||
soActCtlsFormClass=1
|
|
||||||
soActCtlsFormText=1
|
|
||||||
soActCtlsControlClass=1
|
|
||||||
soActCtlsControlText=1
|
|
||||||
soCmpName=1
|
|
||||||
soCmpUser=1
|
|
||||||
soCmpTotalMemory=1
|
|
||||||
soCmpFreeMemory=1
|
|
||||||
soCmpTotalDisk=1
|
|
||||||
soCmpFreeDisk=1
|
|
||||||
soCmpSysUpTime=1
|
|
||||||
soCmpProcessor=1
|
|
||||||
soCmpDisplayMode=1
|
|
||||||
soOSType=1
|
|
||||||
soOSBuildN=1
|
|
||||||
soOSUpdate=1
|
|
||||||
soOSLanguage=1
|
|
||||||
soNetIP=1
|
|
||||||
soNetSubmask=1
|
|
||||||
soNetGateway=1
|
|
||||||
soNetDNS1=1
|
|
||||||
soNetDNS2=1
|
|
||||||
soNetDHCP=1
|
|
||||||
sndShowSendDialog=1
|
|
||||||
sndShowSuccessFailureMsg=0
|
|
||||||
sndSendEntireLog=0
|
|
||||||
sndSendXMLLogCopy=0
|
|
||||||
sndSendScreenshot=0
|
|
||||||
sndUseOnlyActiveWindow=0
|
|
||||||
sndSendLastHTMLPage=1
|
|
||||||
sndSendInSeparatedThread=0
|
|
||||||
sndAddDateInFileName=0
|
|
||||||
sndCompressAllFiles=0
|
|
||||||
edoShowExceptionDialog=1
|
|
||||||
edoSendEmailChecked=1
|
|
||||||
edoAttachScreenshotChecked=1
|
|
||||||
edoShowCopyToClipOption=1
|
|
||||||
edoShowDetailsButton=1
|
|
||||||
edoShowInDetailedMode=0
|
|
||||||
edoShowInTopMostMode=0
|
|
||||||
edoUseEurekaLogLookAndFeel=1
|
|
||||||
csoShowDLLs=1
|
|
||||||
csoShowBPLs=1
|
|
||||||
csoShowBorlandThreads=1
|
|
||||||
csoShowWindowsThreads=1
|
|
||||||
csoShowProcedureOffset=0
|
|
||||||
boActivateCrashDetection=0
|
|
||||||
boPauseBorlandThreads=0
|
|
||||||
boDoNotPauseMainThread=0
|
|
||||||
boPauseWindowsThreads=0
|
|
||||||
boUseMainModuleOptions=1
|
|
||||||
boCopyLogInCaseOfError=1
|
|
||||||
boSaveCompressedCopyInCaseOfError=0
|
|
||||||
Count mtInformationMsgCaption=1
|
|
||||||
mtInformationMsgCaption0="Information."
|
|
||||||
Count mtQuestionMsgCaption=1
|
|
||||||
mtQuestionMsgCaption0="Question."
|
|
||||||
Count mtDialog_Caption=1
|
|
||||||
mtDialog_Caption0="Error."
|
|
||||||
Count mtDialog_ErrorMsgCaption=2
|
|
||||||
mtDialog_ErrorMsgCaption0="An error has occurred during program execution."
|
|
||||||
mtDialog_ErrorMsgCaption1="Please read the following information for further details."
|
|
||||||
Count mtDialog_GeneralCaption=1
|
|
||||||
mtDialog_GeneralCaption0="General"
|
|
||||||
Count mtDialog_GeneralHeader=1
|
|
||||||
mtDialog_GeneralHeader0="General Information"
|
|
||||||
Count mtDialog_CallStackCaption=1
|
|
||||||
mtDialog_CallStackCaption0="Call Stack"
|
|
||||||
Count mtDialog_CallStackHeader=1
|
|
||||||
mtDialog_CallStackHeader0="Call Stack Information"
|
|
||||||
Count mtDialog_ModulesCaption=1
|
|
||||||
mtDialog_ModulesCaption0="Modules"
|
|
||||||
Count mtDialog_ModulesHeader=1
|
|
||||||
mtDialog_ModulesHeader0="Modules Information"
|
|
||||||
Count mtDialog_CPUCaption=1
|
|
||||||
mtDialog_CPUCaption0="CPU"
|
|
||||||
Count mtDialog_CPUHeader=1
|
|
||||||
mtDialog_CPUHeader0="CPU Information"
|
|
||||||
Count mtDialog_CustomDataCaption=1
|
|
||||||
mtDialog_CustomDataCaption0="Other"
|
|
||||||
Count mtDialog_CustomDataHeader=1
|
|
||||||
mtDialog_CustomDataHeader0="Other Information"
|
|
||||||
Count mtDialog_OKButtonCaption=1
|
|
||||||
mtDialog_OKButtonCaption0="%26OK"
|
|
||||||
Count mtDialog_TerminateButtonCaption=1
|
|
||||||
mtDialog_TerminateButtonCaption0="%26Terminate"
|
|
||||||
Count mtDialog_RestartButtonCaption=1
|
|
||||||
mtDialog_RestartButtonCaption0="%26Restart"
|
|
||||||
Count mtDialog_DetailsButtonCaption=1
|
|
||||||
mtDialog_DetailsButtonCaption0="%26Details"
|
|
||||||
Count mtDialog_SendMessage=1
|
|
||||||
mtDialog_SendMessage0="%26Send this error via Internet"
|
|
||||||
Count mtDialog_ScreenshotMessage=1
|
|
||||||
mtDialog_ScreenshotMessage0="%26Attach a Screenshot image"
|
|
||||||
Count mtDialog_CopyMessage=1
|
|
||||||
mtDialog_CopyMessage0="%26Copy to Clipboard"
|
|
||||||
Count mtDialog_SupportMessage=1
|
|
||||||
mtDialog_SupportMessage0="Go to the Support Page"
|
|
||||||
Count mtLog_AppHeader=1
|
|
||||||
mtLog_AppHeader0="Application"
|
|
||||||
Count mtLog_AppStartDate=1
|
|
||||||
mtLog_AppStartDate0="Start Date"
|
|
||||||
Count mtLog_AppName=1
|
|
||||||
mtLog_AppName0="Name/Description"
|
|
||||||
Count mtLog_AppVersionNumber=1
|
|
||||||
mtLog_AppVersionNumber0="Version Number"
|
|
||||||
Count mtLog_AppParameters=1
|
|
||||||
mtLog_AppParameters0="Parameters"
|
|
||||||
Count mtLog_AppCompilationDate=1
|
|
||||||
mtLog_AppCompilationDate0="Compilation Date"
|
|
||||||
Count mtLog_ExcHeader=1
|
|
||||||
mtLog_ExcHeader0="Exception"
|
|
||||||
Count mtLog_ExcDate=1
|
|
||||||
mtLog_ExcDate0="Date"
|
|
||||||
Count mtLog_ExcAddress=1
|
|
||||||
mtLog_ExcAddress0="Address"
|
|
||||||
Count mtLog_ExcModule=1
|
|
||||||
mtLog_ExcModule0="Module"
|
|
||||||
Count mtLog_ExcType=1
|
|
||||||
mtLog_ExcType0="Type"
|
|
||||||
Count mtLog_ExcMessage=1
|
|
||||||
mtLog_ExcMessage0="Message"
|
|
||||||
Count mtLog_ActCtrlsHeader=1
|
|
||||||
mtLog_ActCtrlsHeader0="Active Controls"
|
|
||||||
Count mtLog_ActCtrlsFormClass=1
|
|
||||||
mtLog_ActCtrlsFormClass0="Form Class"
|
|
||||||
Count mtLog_ActCtrlsFormText=1
|
|
||||||
mtLog_ActCtrlsFormText0="Form Text"
|
|
||||||
Count mtLog_ActCtrlsControlClass=1
|
|
||||||
mtLog_ActCtrlsControlClass0="Control Class"
|
|
||||||
Count mtLog_ActCtrlsControlText=1
|
|
||||||
mtLog_ActCtrlsControlText0="Control Text"
|
|
||||||
Count mtLog_CmpHeader=1
|
|
||||||
mtLog_CmpHeader0="Computer"
|
|
||||||
Count mtLog_CmpName=1
|
|
||||||
mtLog_CmpName0="Name"
|
|
||||||
Count mtLog_CmpUser=1
|
|
||||||
mtLog_CmpUser0="User"
|
|
||||||
Count mtLog_CmpTotalMemory=1
|
|
||||||
mtLog_CmpTotalMemory0="Total Memory"
|
|
||||||
Count mtLog_CmpFreeMemory=1
|
|
||||||
mtLog_CmpFreeMemory0="Free Memory"
|
|
||||||
Count mtLog_CmpTotalDisk=1
|
|
||||||
mtLog_CmpTotalDisk0="Total Disk"
|
|
||||||
Count mtLog_CmpFreeDisk=1
|
|
||||||
mtLog_CmpFreeDisk0="Free Disk"
|
|
||||||
Count mtLog_CmpSystemUpTime=1
|
|
||||||
mtLog_CmpSystemUpTime0="System Up Time"
|
|
||||||
Count mtLog_CmpProcessor=1
|
|
||||||
mtLog_CmpProcessor0="Processor"
|
|
||||||
Count mtLog_CmpDisplayMode=1
|
|
||||||
mtLog_CmpDisplayMode0="Display Mode"
|
|
||||||
Count mtLog_OSHeader=1
|
|
||||||
mtLog_OSHeader0="Operating System"
|
|
||||||
Count mtLog_OSType=1
|
|
||||||
mtLog_OSType0="Type"
|
|
||||||
Count mtLog_OSBuildN=1
|
|
||||||
mtLog_OSBuildN0="Build #"
|
|
||||||
Count mtLog_OSUpdate=1
|
|
||||||
mtLog_OSUpdate0="Update"
|
|
||||||
Count mtLog_OSLanguage=1
|
|
||||||
mtLog_OSLanguage0="Language"
|
|
||||||
Count mtLog_NetHeader=1
|
|
||||||
mtLog_NetHeader0="Network"
|
|
||||||
Count mtLog_NetIP=1
|
|
||||||
mtLog_NetIP0="IP Address"
|
|
||||||
Count mtLog_NetSubmask=1
|
|
||||||
mtLog_NetSubmask0="Submask"
|
|
||||||
Count mtLog_NetGateway=1
|
|
||||||
mtLog_NetGateway0="Gateway"
|
|
||||||
Count mtLog_NetDNS1=1
|
|
||||||
mtLog_NetDNS10="DNS 1"
|
|
||||||
Count mtLog_NetDNS2=1
|
|
||||||
mtLog_NetDNS20="DNS 2"
|
|
||||||
Count mtLog_NetDHCP=1
|
|
||||||
mtLog_NetDHCP0="DHCP"
|
|
||||||
Count mtLog_CustInfoHeader=1
|
|
||||||
mtLog_CustInfoHeader0="Custom Information"
|
|
||||||
Count mtCallStack_Address=1
|
|
||||||
mtCallStack_Address0="Address"
|
|
||||||
Count mtCallStack_Name=1
|
|
||||||
mtCallStack_Name0="Module"
|
|
||||||
Count mtCallStack_Unit=1
|
|
||||||
mtCallStack_Unit0="Unit"
|
|
||||||
Count mtCallStack_Class=1
|
|
||||||
mtCallStack_Class0="Class"
|
|
||||||
Count mtCallStack_Procedure=1
|
|
||||||
mtCallStack_Procedure0="Procedure/Method"
|
|
||||||
Count mtCallStack_Line=1
|
|
||||||
mtCallStack_Line0="Line"
|
|
||||||
Count mtCallStack_MainThread=1
|
|
||||||
mtCallStack_MainThread0="Main"
|
|
||||||
Count mtCallStack_ExceptionThread=1
|
|
||||||
mtCallStack_ExceptionThread0="Exception Thread"
|
|
||||||
Count mtCallStack_RunningThread=1
|
|
||||||
mtCallStack_RunningThread0="Running Thread"
|
|
||||||
Count mtCallStack_CallingThread=1
|
|
||||||
mtCallStack_CallingThread0="Calling Thread"
|
|
||||||
Count mtCallStack_ThreadID=1
|
|
||||||
mtCallStack_ThreadID0="ID"
|
|
||||||
Count mtCallStack_ThreadPriority=1
|
|
||||||
mtCallStack_ThreadPriority0="Priority"
|
|
||||||
Count mtCallStack_ThreadClass=1
|
|
||||||
mtCallStack_ThreadClass0="Class"
|
|
||||||
Count mtSendDialog_Caption=1
|
|
||||||
mtSendDialog_Caption0="Send."
|
|
||||||
Count mtSendDialog_Message=1
|
|
||||||
mtSendDialog_Message0="Message"
|
|
||||||
Count mtSendDialog_Resolving=1
|
|
||||||
mtSendDialog_Resolving0="Resolving DNS..."
|
|
||||||
Count mtSendDialog_Connecting=1
|
|
||||||
mtSendDialog_Connecting0="Connecting with server..."
|
|
||||||
Count mtSendDialog_Connected=1
|
|
||||||
mtSendDialog_Connected0="Connected with server."
|
|
||||||
Count mtSendDialog_Sending=1
|
|
||||||
mtSendDialog_Sending0="Sending message..."
|
|
||||||
Count mtReproduceDialog_Caption=1
|
|
||||||
mtReproduceDialog_Caption0="Request"
|
|
||||||
Count mtReproduceDialog_Request=1
|
|
||||||
mtReproduceDialog_Request0="Please describe the steps to reproduce the error:"
|
|
||||||
Count mtReproduceDialog_OKButtonCaption=1
|
|
||||||
mtReproduceDialog_OKButtonCaption0="%26OK"
|
|
||||||
Count mtModules_Handle=1
|
|
||||||
mtModules_Handle0="Handle"
|
|
||||||
Count mtModules_Name=1
|
|
||||||
mtModules_Name0="Name"
|
|
||||||
Count mtModules_Description=1
|
|
||||||
mtModules_Description0="Description"
|
|
||||||
Count mtModules_Version=1
|
|
||||||
mtModules_Version0="Version"
|
|
||||||
Count mtModules_Size=1
|
|
||||||
mtModules_Size0="Size"
|
|
||||||
Count mtModules_LastModified=1
|
|
||||||
mtModules_LastModified0="Modified"
|
|
||||||
Count mtModules_Path=1
|
|
||||||
mtModules_Path0="Path"
|
|
||||||
Count mtCPU_Registers=1
|
|
||||||
mtCPU_Registers0="Registers"
|
|
||||||
Count mtCPU_Stack=1
|
|
||||||
mtCPU_Stack0="Stack"
|
|
||||||
Count mtCPU_MemoryDump=1
|
|
||||||
mtCPU_MemoryDump0="Memory Dump"
|
|
||||||
Count mtSend_SuccessMsg=1
|
|
||||||
mtSend_SuccessMsg0="The message was sent successfully."
|
|
||||||
Count mtSend_FailureMsg=1
|
|
||||||
mtSend_FailureMsg0="Sorry, sending the message didn't work."
|
|
||||||
EurekaLog Last Line -->
|
|
||||||
</BorlandProject>
|
|
||||||
Binary file not shown.
@ -1,44 +0,0 @@
|
|||||||
package ControllerBase;
|
|
||||||
|
|
||||||
{$R *.res}
|
|
||||||
{$ALIGN 8}
|
|
||||||
{$ASSERTIONS ON}
|
|
||||||
{$BOOLEVAL OFF}
|
|
||||||
{$DEBUGINFO ON}
|
|
||||||
{$EXTENDEDSYNTAX ON}
|
|
||||||
{$IMPORTEDDATA ON}
|
|
||||||
{$IOCHECKS ON}
|
|
||||||
{$LOCALSYMBOLS ON}
|
|
||||||
{$LONGSTRINGS ON}
|
|
||||||
{$OPENSTRINGS ON}
|
|
||||||
{$OPTIMIZATION OFF}
|
|
||||||
{$OVERFLOWCHECKS OFF}
|
|
||||||
{$RANGECHECKS OFF}
|
|
||||||
{$REFERENCEINFO ON}
|
|
||||||
{$SAFEDIVIDE OFF}
|
|
||||||
{$STACKFRAMES ON}
|
|
||||||
{$TYPEDADDRESS OFF}
|
|
||||||
{$VARSTRINGCHECKS ON}
|
|
||||||
{$WRITEABLECONST OFF}
|
|
||||||
{$MINENUMSIZE 1}
|
|
||||||
{$IMAGEBASE $400000}
|
|
||||||
{$IMPLICITBUILD ON}
|
|
||||||
|
|
||||||
requires
|
|
||||||
rtl,
|
|
||||||
vcl,
|
|
||||||
dbrtl,
|
|
||||||
dsnap,
|
|
||||||
vcldb,
|
|
||||||
adortl,
|
|
||||||
RemObjects_Core_D10,
|
|
||||||
DataAbstract_Core_D10,
|
|
||||||
cxLibraryD10,
|
|
||||||
dxThemeD10;
|
|
||||||
|
|
||||||
contains
|
|
||||||
uControllerBase in 'uControllerBase.pas',
|
|
||||||
uControllerDetallesBase in 'uControllerDetallesBase.pas',
|
|
||||||
uControllerDetallesDTO in 'uControllerDetallesDTO.pas';
|
|
||||||
|
|
||||||
end.
|
|
||||||
@ -1,44 +0,0 @@
|
|||||||
package ControllerBase;
|
|
||||||
|
|
||||||
{$R *.res}
|
|
||||||
{$ALIGN 8}
|
|
||||||
{$ASSERTIONS ON}
|
|
||||||
{$BOOLEVAL OFF}
|
|
||||||
{$DEBUGINFO ON}
|
|
||||||
{$EXTENDEDSYNTAX ON}
|
|
||||||
{$IMPORTEDDATA ON}
|
|
||||||
{$IOCHECKS ON}
|
|
||||||
{$LOCALSYMBOLS ON}
|
|
||||||
{$LONGSTRINGS ON}
|
|
||||||
{$OPENSTRINGS ON}
|
|
||||||
{$OPTIMIZATION OFF}
|
|
||||||
{$OVERFLOWCHECKS OFF}
|
|
||||||
{$RANGECHECKS OFF}
|
|
||||||
{$REFERENCEINFO ON}
|
|
||||||
{$SAFEDIVIDE OFF}
|
|
||||||
{$STACKFRAMES ON}
|
|
||||||
{$TYPEDADDRESS OFF}
|
|
||||||
{$VARSTRINGCHECKS ON}
|
|
||||||
{$WRITEABLECONST OFF}
|
|
||||||
{$MINENUMSIZE 1}
|
|
||||||
{$IMAGEBASE $400000}
|
|
||||||
{$IMPLICITBUILD OFF}
|
|
||||||
|
|
||||||
requires
|
|
||||||
rtl,
|
|
||||||
vcl,
|
|
||||||
dbrtl,
|
|
||||||
dsnap,
|
|
||||||
vcldb,
|
|
||||||
adortl,
|
|
||||||
RemObjects_Core_D10,
|
|
||||||
DataAbstract_Core_D10,
|
|
||||||
cxLibraryD10,
|
|
||||||
dxThemeD10;
|
|
||||||
|
|
||||||
contains
|
|
||||||
uControllerBase in 'uControllerBase.pas',
|
|
||||||
uControllerDetallesBase in 'uControllerDetallesBase.pas',
|
|
||||||
uControllerDetallesDTO in 'uControllerDetallesDTO.pas';
|
|
||||||
|
|
||||||
end.
|
|
||||||
@ -1,556 +0,0 @@
|
|||||||
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
|
||||||
<PropertyGroup>
|
|
||||||
<ProjectGuid>{ef3998e7-b579-4a14-9e7a-6cddb582b1c7}</ProjectGuid>
|
|
||||||
<MainSource>ControllerBase.dpk</MainSource>
|
|
||||||
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
|
|
||||||
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
|
|
||||||
<DCC_DCCCompiler>DCC32</DCC_DCCCompiler>
|
|
||||||
<DCC_DependencyCheckOutputName>..\..\..\Output\Debug\Cliente\ControllerBase.bpl</DCC_DependencyCheckOutputName>
|
|
||||||
</PropertyGroup>
|
|
||||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
|
|
||||||
<Version>7.0</Version>
|
|
||||||
<DCC_DebugInformation>False</DCC_DebugInformation>
|
|
||||||
<DCC_LocalDebugSymbols>False</DCC_LocalDebugSymbols>
|
|
||||||
<DCC_Optimize>False</DCC_Optimize>
|
|
||||||
<DCC_GenerateStackFrames>True</DCC_GenerateStackFrames>
|
|
||||||
<DCC_SymbolReferenceInfo>0</DCC_SymbolReferenceInfo>
|
|
||||||
<DCC_MapFile>3</DCC_MapFile>
|
|
||||||
<DCC_DebugInfoInExe>True</DCC_DebugInfoInExe>
|
|
||||||
<DCC_DebugVN>True</DCC_DebugVN>
|
|
||||||
<DCC_DcuOutput>.\</DCC_DcuOutput>
|
|
||||||
<DCC_ObjOutput>.\</DCC_ObjOutput>
|
|
||||||
<DCC_HppOutput>.\</DCC_HppOutput>
|
|
||||||
<DCC_BplOutput>..\..\..\Output\Debug\Cliente</DCC_BplOutput>
|
|
||||||
<DCC_DcpOutput>..\..\Lib</DCC_DcpOutput>
|
|
||||||
<DCC_UnitSearchPath>T:\COMPON~1\jcl\lib\d10\debug;$(BDS)\lib\Debug;$(BDS)\Lib\Debug\Indy9;..\..\DataAbstract_D10\Lib;..\Lib</DCC_UnitSearchPath>
|
|
||||||
<DCC_ResourcePath>T:\COMPON~1\jcl\lib\d10\debug;$(BDS)\lib\Debug;$(BDS)\Lib\Debug\Indy9;..\..\DataAbstract_D10\Lib;..\Lib</DCC_ResourcePath>
|
|
||||||
<DCC_ObjPath>T:\COMPON~1\jcl\lib\d10\debug;$(BDS)\lib\Debug;$(BDS)\Lib\Debug\Indy9;..\..\DataAbstract_D10\Lib;..\Lib</DCC_ObjPath>
|
|
||||||
<DCC_IncludePath>T:\COMPON~1\jcl\lib\d10\debug;$(BDS)\lib\Debug;$(BDS)\Lib\Debug\Indy9;..\..\DataAbstract_D10\Lib;..\Lib</DCC_IncludePath>
|
|
||||||
<DCC_Define>RELEASE</DCC_Define>
|
|
||||||
</PropertyGroup>
|
|
||||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
|
|
||||||
<Version>7.0</Version>
|
|
||||||
<DCC_Optimize>False</DCC_Optimize>
|
|
||||||
<DCC_GenerateStackFrames>True</DCC_GenerateStackFrames>
|
|
||||||
<DCC_MapFile>3</DCC_MapFile>
|
|
||||||
<DCC_DebugInfoInExe>True</DCC_DebugInfoInExe>
|
|
||||||
<DCC_DebugVN>True</DCC_DebugVN>
|
|
||||||
<DCC_DcuOutput>.\</DCC_DcuOutput>
|
|
||||||
<DCC_ObjOutput>.\</DCC_ObjOutput>
|
|
||||||
<DCC_HppOutput>.\</DCC_HppOutput>
|
|
||||||
<DCC_BplOutput>..\..\..\Output\Debug\Cliente</DCC_BplOutput>
|
|
||||||
<DCC_DcpOutput>..\..\Lib</DCC_DcpOutput>
|
|
||||||
<DCC_UnitSearchPath>T:\COMPON~1\jcl\lib\d10\debug;$(BDS)\lib\Debug;$(BDS)\Lib\Debug\Indy9;..\..\DataAbstract_D10\Lib;..\Lib</DCC_UnitSearchPath>
|
|
||||||
<DCC_ResourcePath>T:\COMPON~1\jcl\lib\d10\debug;$(BDS)\lib\Debug;$(BDS)\Lib\Debug\Indy9;..\..\DataAbstract_D10\Lib;..\Lib</DCC_ResourcePath>
|
|
||||||
<DCC_ObjPath>T:\COMPON~1\jcl\lib\d10\debug;$(BDS)\lib\Debug;$(BDS)\Lib\Debug\Indy9;..\..\DataAbstract_D10\Lib;..\Lib</DCC_ObjPath>
|
|
||||||
<DCC_IncludePath>T:\COMPON~1\jcl\lib\d10\debug;$(BDS)\lib\Debug;$(BDS)\Lib\Debug\Indy9;..\..\DataAbstract_D10\Lib;..\Lib</DCC_IncludePath>
|
|
||||||
</PropertyGroup>
|
|
||||||
<ProjectExtensions>
|
|
||||||
<Borland.Personality>Delphi.Personality</Borland.Personality>
|
|
||||||
<Borland.ProjectType>Package</Borland.ProjectType>
|
|
||||||
<BorlandProject>
|
|
||||||
<BorlandProject><Delphi.Personality><Parameters><Parameters Name="UseLauncher">False</Parameters><Parameters Name="LoadAllSymbols">True</Parameters><Parameters Name="LoadUnspecifiedSymbols">False</Parameters></Parameters><Package_Options><Package_Options Name="ImplicitBuild">False</Package_Options><Package_Options Name="DesigntimeOnly">False</Package_Options><Package_Options Name="RuntimeOnly">False</Package_Options></Package_Options><VersionInfo><VersionInfo Name="IncludeVerInfo">True</VersionInfo><VersionInfo Name="AutoIncBuild">False</VersionInfo><VersionInfo Name="MajorVer">1</VersionInfo><VersionInfo Name="MinorVer">0</VersionInfo><VersionInfo Name="Release">0</VersionInfo><VersionInfo Name="Build">0</VersionInfo><VersionInfo Name="Debug">False</VersionInfo><VersionInfo Name="PreRelease">False</VersionInfo><VersionInfo Name="Special">False</VersionInfo><VersionInfo Name="Private">False</VersionInfo><VersionInfo Name="DLL">False</VersionInfo><VersionInfo Name="Locale">3082</VersionInfo><VersionInfo Name="CodePage">1252</VersionInfo></VersionInfo><VersionInfoKeys><VersionInfoKeys Name="CompanyName"></VersionInfoKeys><VersionInfoKeys Name="FileDescription"></VersionInfoKeys><VersionInfoKeys Name="FileVersion">1.0.0.0</VersionInfoKeys><VersionInfoKeys Name="InternalName"></VersionInfoKeys><VersionInfoKeys Name="LegalCopyright"></VersionInfoKeys><VersionInfoKeys Name="LegalTrademarks"></VersionInfoKeys><VersionInfoKeys Name="OriginalFilename"></VersionInfoKeys><VersionInfoKeys Name="ProductName"></VersionInfoKeys><VersionInfoKeys Name="ProductVersion">1.0.0.0</VersionInfoKeys><VersionInfoKeys Name="Comments"></VersionInfoKeys></VersionInfoKeys><Source><Source Name="MainSource">ControllerBase.dpk</Source></Source></Delphi.Personality></BorlandProject></BorlandProject>
|
|
||||||
</ProjectExtensions>
|
|
||||||
<Import Project="$(MSBuildBinPath)\Borland.Delphi.Targets" />
|
|
||||||
<ItemGroup>
|
|
||||||
<DelphiCompile Include="ControllerBase.dpk">
|
|
||||||
<MainSource>MainSource</MainSource>
|
|
||||||
</DelphiCompile>
|
|
||||||
<DCCReference Include="..\adortl.dcp" />
|
|
||||||
<DCCReference Include="..\cxLibraryD10.dcp" />
|
|
||||||
<DCCReference Include="..\DataAbstract_Core_D10.dcp" />
|
|
||||||
<DCCReference Include="..\dbrtl.dcp" />
|
|
||||||
<DCCReference Include="..\dsnap.dcp" />
|
|
||||||
<DCCReference Include="..\dxThemeD10.dcp" />
|
|
||||||
<DCCReference Include="..\RemObjects_Core_D10.dcp" />
|
|
||||||
<DCCReference Include="..\rtl.dcp" />
|
|
||||||
<DCCReference Include="..\vcl.dcp" />
|
|
||||||
<DCCReference Include="..\vcldb.dcp" />
|
|
||||||
<DCCReference Include="uControllerBase.pas" />
|
|
||||||
<DCCReference Include="uControllerDetallesBase.pas" />
|
|
||||||
<DCCReference Include="uControllerDetallesDTO.pas" />
|
|
||||||
</ItemGroup>
|
|
||||||
</Project>
|
|
||||||
<!-- EurekaLog First Line
|
|
||||||
[Exception Log]
|
|
||||||
EurekaLog Version=6006
|
|
||||||
Activate=1
|
|
||||||
Activate Handle=1
|
|
||||||
Save Log File=1
|
|
||||||
Foreground Tab=0
|
|
||||||
Freeze Activate=0
|
|
||||||
Freeze Timeout=0
|
|
||||||
SMTP From=eurekalog@email.com
|
|
||||||
SMTP Host=
|
|
||||||
SMTP Port=25
|
|
||||||
SMTP UserID=
|
|
||||||
SMTP Password=
|
|
||||||
Append to Log=0
|
|
||||||
TerminateBtn Operation=1
|
|
||||||
Errors Number=32
|
|
||||||
Errors Terminate=3
|
|
||||||
Email Address=
|
|
||||||
Email Object=
|
|
||||||
Email Send Options=0
|
|
||||||
Output Path=
|
|
||||||
Encrypt Password=
|
|
||||||
AutoCloseDialogSecs=0
|
|
||||||
WebSendMode=0
|
|
||||||
SupportULR=
|
|
||||||
HTMLLayout Count=15
|
|
||||||
HTMLLine0="%3Chtml%3E"
|
|
||||||
HTMLLine1=" %3Chead%3E"
|
|
||||||
HTMLLine2=" %3C/head%3E"
|
|
||||||
HTMLLine3=" %3Cbody TopMargin=10 LeftMargin=10%3E"
|
|
||||||
HTMLLine4=" %3Ctable width="100%%" border="0"%3E"
|
|
||||||
HTMLLine5=" %3Ctr%3E"
|
|
||||||
HTMLLine6=" %3Ctd nowrap%3E"
|
|
||||||
HTMLLine7=" %3Cfont face="Lucida Console, Courier" size="2"%3E"
|
|
||||||
HTMLLine8=" %3C%%HTML_TAG%%%3E"
|
|
||||||
HTMLLine9=" %3C/font%3E"
|
|
||||||
HTMLLine10=" %3C/td%3E"
|
|
||||||
HTMLLine11=" %3C/tr%3E"
|
|
||||||
HTMLLine12=" %3C/table%3E"
|
|
||||||
HTMLLine13=" %3C/body%3E"
|
|
||||||
HTMLLine14="%3C/html%3E"
|
|
||||||
AutoCrashOperation=1
|
|
||||||
AutoCrashNumber=10
|
|
||||||
AutoCrashMinutes=1
|
|
||||||
WebURL=
|
|
||||||
WebUserID=
|
|
||||||
WebPassword=
|
|
||||||
WebPort=0
|
|
||||||
AttachedFiles=
|
|
||||||
ProxyURL=
|
|
||||||
ProxyUser=
|
|
||||||
ProxyPassword=
|
|
||||||
ProxyPort=8080
|
|
||||||
TrakerUser=
|
|
||||||
TrakerPassword=
|
|
||||||
TrakerAssignTo=
|
|
||||||
TrakerProject=
|
|
||||||
TrakerCategory=
|
|
||||||
TrakerTrialID=
|
|
||||||
ZipPassword=
|
|
||||||
PreBuildEvent=
|
|
||||||
PostSuccessfulBuildEvent=
|
|
||||||
PostFailureBuildEvent=
|
|
||||||
ExceptionDialogType=2
|
|
||||||
Count=0
|
|
||||||
EMail Message Line Count=0
|
|
||||||
loNoDuplicateErrors=0
|
|
||||||
loAppendReproduceText=0
|
|
||||||
loDeleteLogAtVersionChange=0
|
|
||||||
loAddComputerNameInLogFileName=0
|
|
||||||
loSaveModulesAndProcessesSections=1
|
|
||||||
loSaveAssemblerAndCPUSections=1
|
|
||||||
soAppStartDate=1
|
|
||||||
soAppName=1
|
|
||||||
soAppVersionNumber=1
|
|
||||||
soAppParameters=1
|
|
||||||
soAppCompilationDate=1
|
|
||||||
soAppUpTime=1
|
|
||||||
soExcDate=1
|
|
||||||
soExcAddress=1
|
|
||||||
soExcModuleName=1
|
|
||||||
soExcModuleVersion=1
|
|
||||||
soExcType=1
|
|
||||||
soExcMessage=1
|
|
||||||
soExcID=1
|
|
||||||
soExcCount=1
|
|
||||||
soExcStatus=1
|
|
||||||
soExcNote=1
|
|
||||||
soUserID=1
|
|
||||||
soUserName=1
|
|
||||||
soUserEmail=1
|
|
||||||
soUserPrivileges=1
|
|
||||||
soUserCompany=1
|
|
||||||
soActCtlsFormClass=1
|
|
||||||
soActCtlsFormText=1
|
|
||||||
soActCtlsControlClass=1
|
|
||||||
soActCtlsControlText=1
|
|
||||||
soCmpName=1
|
|
||||||
soCmpTotalMemory=1
|
|
||||||
soCmpFreeMemory=1
|
|
||||||
soCmpTotalDisk=1
|
|
||||||
soCmpFreeDisk=1
|
|
||||||
soCmpSysUpTime=1
|
|
||||||
soCmpProcessor=1
|
|
||||||
soCmpDisplayMode=1
|
|
||||||
soCmpDisplayDPI=1
|
|
||||||
soCmpVideoCard=1
|
|
||||||
soCmpPrinter=1
|
|
||||||
soOSType=1
|
|
||||||
soOSBuildN=1
|
|
||||||
soOSUpdate=1
|
|
||||||
soOSLanguage=1
|
|
||||||
soOSCharset=1
|
|
||||||
soNetIP=1
|
|
||||||
soNetSubmask=1
|
|
||||||
soNetGateway=1
|
|
||||||
soNetDNS1=1
|
|
||||||
soNetDNS2=1
|
|
||||||
soNetDHCP=1
|
|
||||||
soCustomData=1
|
|
||||||
sndShowSendDialog=1
|
|
||||||
sndShowSuccessFailureMsg=0
|
|
||||||
sndSendEntireLog=0
|
|
||||||
sndSendXMLLogCopy=0
|
|
||||||
sndSendScreenshot=0
|
|
||||||
sndUseOnlyActiveWindow=0
|
|
||||||
sndSendLastHTMLPage=1
|
|
||||||
sndSendInSeparatedThread=0
|
|
||||||
sndAddDateInFileName=0
|
|
||||||
sndAddComputerNameInFileName=0
|
|
||||||
edoSendErrorReportChecked=1
|
|
||||||
edoAttachScreenshotChecked=1
|
|
||||||
edoShowCopyToClipOption=1
|
|
||||||
edoShowDetailsButton=1
|
|
||||||
edoShowInDetailedMode=0
|
|
||||||
edoShowInTopMostMode=0
|
|
||||||
edoUseEurekaLogLookAndFeel=1
|
|
||||||
edoShowSendErrorReportOption=1
|
|
||||||
edoShowAttachScreenshotOption=1
|
|
||||||
edoShowCustomButton=0
|
|
||||||
csoShowDLLs=1
|
|
||||||
csoShowBPLs=1
|
|
||||||
csoShowBorlandThreads=1
|
|
||||||
csoShowWindowsThreads=1
|
|
||||||
csoDoNotStoreProcNames=0
|
|
||||||
boPauseBorlandThreads=0
|
|
||||||
boDoNotPauseMainThread=0
|
|
||||||
boPauseWindowsThreads=0
|
|
||||||
boUseMainModuleOptions=1
|
|
||||||
boCopyLogInCaseOfError=1
|
|
||||||
boSaveCompressedCopyInCaseOfError=0
|
|
||||||
boHandleSafeCallExceptions=1
|
|
||||||
boCallRTLExceptionEvent=0
|
|
||||||
boCatchHandledExceptions=0
|
|
||||||
loCatchLeaks=0
|
|
||||||
loGroupsSonLeaks=1
|
|
||||||
loHideBorlandLeaks=1
|
|
||||||
loFreeAllLeaks=1
|
|
||||||
loCatchLeaksExceptions=1
|
|
||||||
cfoReduceFileSize=1
|
|
||||||
cfoCheckFileCorruption=0
|
|
||||||
Count mtInformationMsgCaption=1
|
|
||||||
mtInformationMsgCaption0="Information."
|
|
||||||
Count mtQuestionMsgCaption=1
|
|
||||||
mtQuestionMsgCaption0="Question."
|
|
||||||
Count mtErrorMsgCaption=1
|
|
||||||
mtErrorMsgCaption0="Error."
|
|
||||||
Count mtDialog_Caption=1
|
|
||||||
mtDialog_Caption0="Error."
|
|
||||||
Count mtDialog_ErrorMsgCaption=2
|
|
||||||
mtDialog_ErrorMsgCaption0="An error has occurred during program execution."
|
|
||||||
mtDialog_ErrorMsgCaption1="Please read the following information for further details."
|
|
||||||
Count mtDialog_GeneralCaption=1
|
|
||||||
mtDialog_GeneralCaption0="General"
|
|
||||||
Count mtDialog_GeneralHeader=1
|
|
||||||
mtDialog_GeneralHeader0="General Information"
|
|
||||||
Count mtDialog_CallStackCaption=1
|
|
||||||
mtDialog_CallStackCaption0="Call Stack"
|
|
||||||
Count mtDialog_CallStackHeader=1
|
|
||||||
mtDialog_CallStackHeader0="Call Stack Information"
|
|
||||||
Count mtDialog_ModulesCaption=1
|
|
||||||
mtDialog_ModulesCaption0="Modules"
|
|
||||||
Count mtDialog_ModulesHeader=1
|
|
||||||
mtDialog_ModulesHeader0="Modules Information"
|
|
||||||
Count mtDialog_ProcessesCaption=1
|
|
||||||
mtDialog_ProcessesCaption0="Processes"
|
|
||||||
Count mtDialog_ProcessesHeader=1
|
|
||||||
mtDialog_ProcessesHeader0="Processes Information"
|
|
||||||
Count mtDialog_AsmCaption=1
|
|
||||||
mtDialog_AsmCaption0="Assembler"
|
|
||||||
Count mtDialog_AsmHeader=1
|
|
||||||
mtDialog_AsmHeader0="Assembler Information"
|
|
||||||
Count mtDialog_CPUCaption=1
|
|
||||||
mtDialog_CPUCaption0="CPU"
|
|
||||||
Count mtDialog_CPUHeader=1
|
|
||||||
mtDialog_CPUHeader0="CPU Information"
|
|
||||||
Count mtDialog_OKButtonCaption=1
|
|
||||||
mtDialog_OKButtonCaption0="%26OK"
|
|
||||||
Count mtDialog_TerminateButtonCaption=1
|
|
||||||
mtDialog_TerminateButtonCaption0="%26Terminate"
|
|
||||||
Count mtDialog_RestartButtonCaption=1
|
|
||||||
mtDialog_RestartButtonCaption0="%26Restart"
|
|
||||||
Count mtDialog_DetailsButtonCaption=1
|
|
||||||
mtDialog_DetailsButtonCaption0="%26Details"
|
|
||||||
Count mtDialog_CustomButtonCaption=1
|
|
||||||
mtDialog_CustomButtonCaption0="%26Help"
|
|
||||||
Count mtDialog_SendMessage=1
|
|
||||||
mtDialog_SendMessage0="%26Send this error via Internet"
|
|
||||||
Count mtDialog_ScreenshotMessage=1
|
|
||||||
mtDialog_ScreenshotMessage0="%26Attach a Screenshot image"
|
|
||||||
Count mtDialog_CopyMessage=1
|
|
||||||
mtDialog_CopyMessage0="%26Copy to Clipboard"
|
|
||||||
Count mtDialog_SupportMessage=1
|
|
||||||
mtDialog_SupportMessage0="Go to the Support Page"
|
|
||||||
Count mtMSDialog_ErrorMsgCaption=1
|
|
||||||
mtMSDialog_ErrorMsgCaption0="The application has encountered a problem. We are sorry for the inconvenience."
|
|
||||||
Count mtMSDialog_RestartCaption=1
|
|
||||||
mtMSDialog_RestartCaption0="Restart application."
|
|
||||||
Count mtMSDialog_TerminateCaption=1
|
|
||||||
mtMSDialog_TerminateCaption0="Terminate application."
|
|
||||||
Count mtMSDialog_PleaseCaption=1
|
|
||||||
mtMSDialog_PleaseCaption0="Please tell us about this problem."
|
|
||||||
Count mtMSDialog_DescriptionCaption=1
|
|
||||||
mtMSDialog_DescriptionCaption0="We have created an error report that you can send to us. We will treat this report as confidential and anonymous."
|
|
||||||
Count mtMSDialog_SeeDetailsCaption=1
|
|
||||||
mtMSDialog_SeeDetailsCaption0="To see what data the error report contains,"
|
|
||||||
Count mtMSDialog_SeeClickCaption=1
|
|
||||||
mtMSDialog_SeeClickCaption0="click here."
|
|
||||||
Count mtMSDialog_HowToReproduceCaption=1
|
|
||||||
mtMSDialog_HowToReproduceCaption0="What were you doing when the problem happended (optional)?"
|
|
||||||
Count mtMSDialog_EmailCaption=1
|
|
||||||
mtMSDialog_EmailCaption0="Email address (optional):"
|
|
||||||
Count mtMSDialog_SendButtonCaption=1
|
|
||||||
mtMSDialog_SendButtonCaption0="%26Send Error Report"
|
|
||||||
Count mtMSDialog_NoSendButtonCaption=1
|
|
||||||
mtMSDialog_NoSendButtonCaption0="%26Don't Send"
|
|
||||||
Count mtLog_AppHeader=1
|
|
||||||
mtLog_AppHeader0="Application"
|
|
||||||
Count mtLog_AppStartDate=1
|
|
||||||
mtLog_AppStartDate0="Start Date"
|
|
||||||
Count mtLog_AppName=1
|
|
||||||
mtLog_AppName0="Name/Description"
|
|
||||||
Count mtLog_AppVersionNumber=1
|
|
||||||
mtLog_AppVersionNumber0="Version Number"
|
|
||||||
Count mtLog_AppParameters=1
|
|
||||||
mtLog_AppParameters0="Parameters"
|
|
||||||
Count mtLog_AppCompilationDate=1
|
|
||||||
mtLog_AppCompilationDate0="Compilation Date"
|
|
||||||
Count mtLog_AppUpTime=1
|
|
||||||
mtLog_AppUpTime0="Up Time"
|
|
||||||
Count mtLog_ExcHeader=1
|
|
||||||
mtLog_ExcHeader0="Exception"
|
|
||||||
Count mtLog_ExcDate=1
|
|
||||||
mtLog_ExcDate0="Date"
|
|
||||||
Count mtLog_ExcAddress=1
|
|
||||||
mtLog_ExcAddress0="Address"
|
|
||||||
Count mtLog_ExcModuleName=1
|
|
||||||
mtLog_ExcModuleName0="Module Name"
|
|
||||||
Count mtLog_ExcModuleVersion=1
|
|
||||||
mtLog_ExcModuleVersion0="Module Version"
|
|
||||||
Count mtLog_ExcType=1
|
|
||||||
mtLog_ExcType0="Type"
|
|
||||||
Count mtLog_ExcMessage=1
|
|
||||||
mtLog_ExcMessage0="Message"
|
|
||||||
Count mtLog_ExcID=1
|
|
||||||
mtLog_ExcID0="ID"
|
|
||||||
Count mtLog_ExcCount=1
|
|
||||||
mtLog_ExcCount0="Count"
|
|
||||||
Count mtLog_ExcStatus=1
|
|
||||||
mtLog_ExcStatus0="Status"
|
|
||||||
Count mtLog_ExcNote=1
|
|
||||||
mtLog_ExcNote0="Note"
|
|
||||||
Count mtLog_UserHeader=1
|
|
||||||
mtLog_UserHeader0="User"
|
|
||||||
Count mtLog_UserID=1
|
|
||||||
mtLog_UserID0="ID"
|
|
||||||
Count mtLog_UserName=1
|
|
||||||
mtLog_UserName0="Name"
|
|
||||||
Count mtLog_UserEmail=1
|
|
||||||
mtLog_UserEmail0="Email"
|
|
||||||
Count mtLog_UserCompany=1
|
|
||||||
mtLog_UserCompany0="Company"
|
|
||||||
Count mtLog_UserPrivileges=1
|
|
||||||
mtLog_UserPrivileges0="Privileges"
|
|
||||||
Count mtLog_ActCtrlsHeader=1
|
|
||||||
mtLog_ActCtrlsHeader0="Active Controls"
|
|
||||||
Count mtLog_ActCtrlsFormClass=1
|
|
||||||
mtLog_ActCtrlsFormClass0="Form Class"
|
|
||||||
Count mtLog_ActCtrlsFormText=1
|
|
||||||
mtLog_ActCtrlsFormText0="Form Text"
|
|
||||||
Count mtLog_ActCtrlsControlClass=1
|
|
||||||
mtLog_ActCtrlsControlClass0="Control Class"
|
|
||||||
Count mtLog_ActCtrlsControlText=1
|
|
||||||
mtLog_ActCtrlsControlText0="Control Text"
|
|
||||||
Count mtLog_CmpHeader=1
|
|
||||||
mtLog_CmpHeader0="Computer"
|
|
||||||
Count mtLog_CmpName=1
|
|
||||||
mtLog_CmpName0="Name"
|
|
||||||
Count mtLog_CmpTotalMemory=1
|
|
||||||
mtLog_CmpTotalMemory0="Total Memory"
|
|
||||||
Count mtLog_CmpFreeMemory=1
|
|
||||||
mtLog_CmpFreeMemory0="Free Memory"
|
|
||||||
Count mtLog_CmpTotalDisk=1
|
|
||||||
mtLog_CmpTotalDisk0="Total Disk"
|
|
||||||
Count mtLog_CmpFreeDisk=1
|
|
||||||
mtLog_CmpFreeDisk0="Free Disk"
|
|
||||||
Count mtLog_CmpSystemUpTime=1
|
|
||||||
mtLog_CmpSystemUpTime0="System Up Time"
|
|
||||||
Count mtLog_CmpProcessor=1
|
|
||||||
mtLog_CmpProcessor0="Processor"
|
|
||||||
Count mtLog_CmpDisplayMode=1
|
|
||||||
mtLog_CmpDisplayMode0="Display Mode"
|
|
||||||
Count mtLog_CmpDisplayDPI=1
|
|
||||||
mtLog_CmpDisplayDPI0="Display DPI"
|
|
||||||
Count mtLog_CmpVideoCard=1
|
|
||||||
mtLog_CmpVideoCard0="Video Card"
|
|
||||||
Count mtLog_CmpPrinter=1
|
|
||||||
mtLog_CmpPrinter0="Printer"
|
|
||||||
Count mtLog_OSHeader=1
|
|
||||||
mtLog_OSHeader0="Operating System"
|
|
||||||
Count mtLog_OSType=1
|
|
||||||
mtLog_OSType0="Type"
|
|
||||||
Count mtLog_OSBuildN=1
|
|
||||||
mtLog_OSBuildN0="Build #"
|
|
||||||
Count mtLog_OSUpdate=1
|
|
||||||
mtLog_OSUpdate0="Update"
|
|
||||||
Count mtLog_OSLanguage=1
|
|
||||||
mtLog_OSLanguage0="Language"
|
|
||||||
Count mtLog_OSCharset=1
|
|
||||||
mtLog_OSCharset0="Charset"
|
|
||||||
Count mtLog_NetHeader=1
|
|
||||||
mtLog_NetHeader0="Network"
|
|
||||||
Count mtLog_NetIP=1
|
|
||||||
mtLog_NetIP0="IP Address"
|
|
||||||
Count mtLog_NetSubmask=1
|
|
||||||
mtLog_NetSubmask0="Submask"
|
|
||||||
Count mtLog_NetGateway=1
|
|
||||||
mtLog_NetGateway0="Gateway"
|
|
||||||
Count mtLog_NetDNS1=1
|
|
||||||
mtLog_NetDNS10="DNS 1"
|
|
||||||
Count mtLog_NetDNS2=1
|
|
||||||
mtLog_NetDNS20="DNS 2"
|
|
||||||
Count mtLog_NetDHCP=1
|
|
||||||
mtLog_NetDHCP0="DHCP"
|
|
||||||
Count mtLog_CustInfoHeader=1
|
|
||||||
mtLog_CustInfoHeader0="Custom Information"
|
|
||||||
Count mtCallStack_Address=1
|
|
||||||
mtCallStack_Address0="Address"
|
|
||||||
Count mtCallStack_Name=1
|
|
||||||
mtCallStack_Name0="Module"
|
|
||||||
Count mtCallStack_Unit=1
|
|
||||||
mtCallStack_Unit0="Unit"
|
|
||||||
Count mtCallStack_Class=1
|
|
||||||
mtCallStack_Class0="Class"
|
|
||||||
Count mtCallStack_Procedure=1
|
|
||||||
mtCallStack_Procedure0="Procedure/Method"
|
|
||||||
Count mtCallStack_Line=1
|
|
||||||
mtCallStack_Line0="Line"
|
|
||||||
Count mtCallStack_MainThread=1
|
|
||||||
mtCallStack_MainThread0="Main"
|
|
||||||
Count mtCallStack_ExceptionThread=1
|
|
||||||
mtCallStack_ExceptionThread0="Exception Thread"
|
|
||||||
Count mtCallStack_RunningThread=1
|
|
||||||
mtCallStack_RunningThread0="Running Thread"
|
|
||||||
Count mtCallStack_CallingThread=1
|
|
||||||
mtCallStack_CallingThread0="Calling Thread"
|
|
||||||
Count mtCallStack_ThreadID=1
|
|
||||||
mtCallStack_ThreadID0="ID"
|
|
||||||
Count mtCallStack_ThreadPriority=1
|
|
||||||
mtCallStack_ThreadPriority0="Priority"
|
|
||||||
Count mtCallStack_ThreadClass=1
|
|
||||||
mtCallStack_ThreadClass0="Class"
|
|
||||||
Count mtCallStack_LeakCaption=1
|
|
||||||
mtCallStack_LeakCaption0="Memory Leak"
|
|
||||||
Count mtCallStack_LeakData=1
|
|
||||||
mtCallStack_LeakData0="Data"
|
|
||||||
Count mtCallStack_LeakType=1
|
|
||||||
mtCallStack_LeakType0="Type"
|
|
||||||
Count mtCallStack_LeakSize=1
|
|
||||||
mtCallStack_LeakSize0="Total size"
|
|
||||||
Count mtCallStack_LeakCount=1
|
|
||||||
mtCallStack_LeakCount0="Count"
|
|
||||||
Count mtSendDialog_Caption=1
|
|
||||||
mtSendDialog_Caption0="Send."
|
|
||||||
Count mtSendDialog_Message=1
|
|
||||||
mtSendDialog_Message0="Message"
|
|
||||||
Count mtSendDialog_Resolving=1
|
|
||||||
mtSendDialog_Resolving0="Resolving DNS..."
|
|
||||||
Count mtSendDialog_Login=1
|
|
||||||
mtSendDialog_Login0="Login..."
|
|
||||||
Count mtSendDialog_Connecting=1
|
|
||||||
mtSendDialog_Connecting0="Connecting with server..."
|
|
||||||
Count mtSendDialog_Connected=1
|
|
||||||
mtSendDialog_Connected0="Connected with server."
|
|
||||||
Count mtSendDialog_Sending=1
|
|
||||||
mtSendDialog_Sending0="Sending message..."
|
|
||||||
Count mtSendDialog_Sent=1
|
|
||||||
mtSendDialog_Sent0="Message sent."
|
|
||||||
Count mtSendDialog_SelectProject=1
|
|
||||||
mtSendDialog_SelectProject0="Select project..."
|
|
||||||
Count mtSendDialog_Searching=1
|
|
||||||
mtSendDialog_Searching0="Searching..."
|
|
||||||
Count mtSendDialog_Modifying=1
|
|
||||||
mtSendDialog_Modifying0="Modifying..."
|
|
||||||
Count mtSendDialog_Disconnecting=1
|
|
||||||
mtSendDialog_Disconnecting0="Disconnecting..."
|
|
||||||
Count mtSendDialog_Disconnected=1
|
|
||||||
mtSendDialog_Disconnected0="Disconnected."
|
|
||||||
Count mtReproduceDialog_Caption=1
|
|
||||||
mtReproduceDialog_Caption0="Request"
|
|
||||||
Count mtReproduceDialog_Request=1
|
|
||||||
mtReproduceDialog_Request0="Please describe the steps to reproduce the error:"
|
|
||||||
Count mtReproduceDialog_OKButtonCaption=1
|
|
||||||
mtReproduceDialog_OKButtonCaption0="%26OK"
|
|
||||||
Count mtModules_Handle=1
|
|
||||||
mtModules_Handle0="Handle"
|
|
||||||
Count mtModules_Name=1
|
|
||||||
mtModules_Name0="Name"
|
|
||||||
Count mtModules_Description=1
|
|
||||||
mtModules_Description0="Description"
|
|
||||||
Count mtModules_Version=1
|
|
||||||
mtModules_Version0="Version"
|
|
||||||
Count mtModules_Size=1
|
|
||||||
mtModules_Size0="Size"
|
|
||||||
Count mtModules_LastModified=1
|
|
||||||
mtModules_LastModified0="Modified"
|
|
||||||
Count mtModules_Path=1
|
|
||||||
mtModules_Path0="Path"
|
|
||||||
Count mtProcesses_ID=1
|
|
||||||
mtProcesses_ID0="ID"
|
|
||||||
Count mtProcesses_Name=1
|
|
||||||
mtProcesses_Name0="Name"
|
|
||||||
Count mtProcesses_Description=1
|
|
||||||
mtProcesses_Description0="Description"
|
|
||||||
Count mtProcesses_Version=1
|
|
||||||
mtProcesses_Version0="Version"
|
|
||||||
Count mtProcesses_Memory=1
|
|
||||||
mtProcesses_Memory0="Memory"
|
|
||||||
Count mtProcesses_Priority=1
|
|
||||||
mtProcesses_Priority0="Priority"
|
|
||||||
Count mtProcesses_Threads=1
|
|
||||||
mtProcesses_Threads0="Threads"
|
|
||||||
Count mtProcesses_Path=1
|
|
||||||
mtProcesses_Path0="Path"
|
|
||||||
Count mtCPU_Registers=1
|
|
||||||
mtCPU_Registers0="Registers"
|
|
||||||
Count mtCPU_Stack=1
|
|
||||||
mtCPU_Stack0="Stack"
|
|
||||||
Count mtCPU_MemoryDump=1
|
|
||||||
mtCPU_MemoryDump0="Memory Dump"
|
|
||||||
Count mtSend_SuccessMsg=1
|
|
||||||
mtSend_SuccessMsg0="The message was sent successfully."
|
|
||||||
Count mtSend_FailureMsg=1
|
|
||||||
mtSend_FailureMsg0="Sorry, sending the message didn't work."
|
|
||||||
Count mtSend_BugClosedMsg=2
|
|
||||||
mtSend_BugClosedMsg0="These BUG is just closed."
|
|
||||||
mtSend_BugClosedMsg1="Contact the program support to obtain an update."
|
|
||||||
Count mtSend_UnknownErrorMsg=1
|
|
||||||
mtSend_UnknownErrorMsg0="Unknown error."
|
|
||||||
Count mtSend_InvalidLoginMsg=1
|
|
||||||
mtSend_InvalidLoginMsg0="Invalid login request."
|
|
||||||
Count mtSend_InvalidSearchMsg=1
|
|
||||||
mtSend_InvalidSearchMsg0="Invalid search request."
|
|
||||||
Count mtSend_InvalidSelectionMsg=1
|
|
||||||
mtSend_InvalidSelectionMsg0="Invalid selection request."
|
|
||||||
Count mtSend_InvalidInsertMsg=1
|
|
||||||
mtSend_InvalidInsertMsg0="Invalid insert request."
|
|
||||||
Count mtSend_InvalidModifyMsg=1
|
|
||||||
mtSend_InvalidModifyMsg0="Invalid modify request."
|
|
||||||
Count mtFileCrackedMsg=2
|
|
||||||
mtFileCrackedMsg0="This file is cracked."
|
|
||||||
mtFileCrackedMsg1="The application will be closed."
|
|
||||||
Count mtException_LeakMultiFree=1
|
|
||||||
mtException_LeakMultiFree0="Multi Free memory leak."
|
|
||||||
Count mtException_LeakMemoryOverrun=1
|
|
||||||
mtException_LeakMemoryOverrun0="Memory Overrun leak."
|
|
||||||
Count mtException_AntiFreeze=1
|
|
||||||
mtException_AntiFreeze0="The application seems to be frozen."
|
|
||||||
Count mtInvalidEmailMsg=1
|
|
||||||
mtInvalidEmailMsg0="Invalid email."
|
|
||||||
TextsCollection=English
|
|
||||||
EurekaLog Last Line -->
|
|
||||||
@ -1,16 +0,0 @@
|
|||||||
/* VER185
|
|
||||||
Generated by the CodeGear Delphi Pascal Compiler
|
|
||||||
because -GD or --drc was supplied to the compiler.
|
|
||||||
|
|
||||||
This file contains compiler-generated resources that
|
|
||||||
were bound to the executable.
|
|
||||||
If this file is empty, then no compiler-generated
|
|
||||||
resources were bound to the produced executable.
|
|
||||||
*/
|
|
||||||
|
|
||||||
STRINGTABLE
|
|
||||||
BEGIN
|
|
||||||
END
|
|
||||||
|
|
||||||
/* C:\Codigo Tecsitel\Source\Base\ControllerBase\ControllerBase.res */
|
|
||||||
/* C:\Codigo Tecsitel\Source\Base\ControllerBase\ControllerBase.drf */
|
|
||||||
@ -1,22 +0,0 @@
|
|||||||
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
|
|
||||||
Binary file not shown.
Binary file not shown.
@ -1,102 +0,0 @@
|
|||||||
unit uControllerBase;
|
|
||||||
|
|
||||||
interface
|
|
||||||
|
|
||||||
uses
|
|
||||||
Classes, uDADataTable;
|
|
||||||
|
|
||||||
type
|
|
||||||
ISujeto = interface;
|
|
||||||
|
|
||||||
IObservador = interface
|
|
||||||
['{679D5CF2-D5DC-4A52-9FF3-04AD91402483}']
|
|
||||||
procedure RecibirAviso(ASujeto: ISujeto); overload;
|
|
||||||
procedure RecibirAviso(ASujeto: ISujeto; ADataTable: IDAStronglyTypedDataTable); overload;
|
|
||||||
end;
|
|
||||||
|
|
||||||
ISujeto = interface
|
|
||||||
['{CDB691CD-D1D6-4F2E-AA34-93B1CD0E6030}']
|
|
||||||
procedure AddObservador(Observador: IObservador);
|
|
||||||
procedure DeleteObservador(Observador: IObservador);
|
|
||||||
end;
|
|
||||||
|
|
||||||
TObservador = class(TInterfacedObject, IObservador)
|
|
||||||
protected
|
|
||||||
procedure RecibirAviso(ASujeto: ISujeto); overload; virtual;
|
|
||||||
procedure RecibirAviso(ASujeto: ISujeto; ADataTable: IDAStronglyTypedDataTable); overload; virtual; abstract;
|
|
||||||
end;
|
|
||||||
|
|
||||||
TSujeto = class(TInterfacedObject, ISujeto)
|
|
||||||
private
|
|
||||||
fObservadores: IInterfaceList;
|
|
||||||
protected
|
|
||||||
procedure AvisarObservadores; overload;
|
|
||||||
procedure AvisarObservadores(ADataTable: IDAStronglyTypedDataTable); overload;
|
|
||||||
public
|
|
||||||
constructor Create; virtual;
|
|
||||||
procedure AddObservador(Observador: IObservador);
|
|
||||||
procedure DeleteObservador(Observador: IObservador);
|
|
||||||
destructor Destroy; override;
|
|
||||||
end;
|
|
||||||
|
|
||||||
implementation
|
|
||||||
|
|
||||||
uses
|
|
||||||
SysUtils;
|
|
||||||
|
|
||||||
{ TSujeto }
|
|
||||||
|
|
||||||
procedure TSujeto.addObservador(Observador: IObservador);
|
|
||||||
begin
|
|
||||||
FObservadores.Add(Observador);
|
|
||||||
end;
|
|
||||||
|
|
||||||
procedure TSujeto.AvisarObservadores;
|
|
||||||
var
|
|
||||||
i: Integer;
|
|
||||||
AObs : IObservador;
|
|
||||||
begin
|
|
||||||
for i := 0 to Pred(FObservadores.Count) do
|
|
||||||
begin
|
|
||||||
if Supports(FObservadores[i], IObservador, AObs) then
|
|
||||||
AObs.RecibirAviso(Self);
|
|
||||||
end;
|
|
||||||
end;
|
|
||||||
|
|
||||||
procedure TSujeto.AvisarObservadores(ADataTable: IDAStronglyTypedDataTable);
|
|
||||||
var
|
|
||||||
i: Integer;
|
|
||||||
AObs : IObservador;
|
|
||||||
begin
|
|
||||||
for i := 0 to Pred(FObservadores.Count) do
|
|
||||||
begin
|
|
||||||
if Supports(FObservadores[i], IObservador, AObs) then
|
|
||||||
AObs.RecibirAviso(Self, ADataTable);
|
|
||||||
end;
|
|
||||||
end;
|
|
||||||
|
|
||||||
constructor TSujeto.Create;
|
|
||||||
begin
|
|
||||||
inherited;
|
|
||||||
FObservadores := TInterfaceList.Create;
|
|
||||||
end;
|
|
||||||
|
|
||||||
procedure TSujeto.DeleteObservador(Observador: IObservador);
|
|
||||||
begin
|
|
||||||
FObservadores.Remove(Observador);
|
|
||||||
end;
|
|
||||||
|
|
||||||
destructor TSujeto.Destroy;
|
|
||||||
begin
|
|
||||||
FObservadores := NIL;
|
|
||||||
inherited;
|
|
||||||
end;
|
|
||||||
|
|
||||||
{ TObservador }
|
|
||||||
|
|
||||||
procedure TObservador.RecibirAviso(ASujeto: ISujeto);
|
|
||||||
begin
|
|
||||||
//
|
|
||||||
end;
|
|
||||||
|
|
||||||
end.
|
|
||||||
Binary file not shown.
@ -1,585 +0,0 @@
|
|||||||
unit uControllerDetallesBase;
|
|
||||||
|
|
||||||
interface
|
|
||||||
|
|
||||||
uses Classes, Variants, uDACDSDataTable, uDADataTable, uControllerBase;
|
|
||||||
|
|
||||||
const
|
|
||||||
CAMPO_ID = 'ID';
|
|
||||||
CAMPO_POSICION = 'POSICION';
|
|
||||||
CAMPO_TIPO = 'TIPO_DETALLE';
|
|
||||||
CAMPO_CONCEPTO = 'CONCEPTO';
|
|
||||||
CAMPO_CANTIDAD = 'CANTIDAD';
|
|
||||||
CAMPO_IMPORTE_UNIDAD = 'IMPORTE_UNIDAD';
|
|
||||||
CAMPO_IMPORTE_TOTAL = 'IMPORTE_TOTAL';
|
|
||||||
|
|
||||||
TIPO_DETALLE_CONCEPTO = 'Concepto';
|
|
||||||
TIPO_DETALLE_TITULO = 'Titulo';
|
|
||||||
TIPO_DETALLE_SUBTOTAL = 'Subtotal';
|
|
||||||
TIPO_DETALLE_SALTO = 'Salto';
|
|
||||||
|
|
||||||
CTE_DESC_SALTO = 'SALTO DE PAGINA >>';
|
|
||||||
|
|
||||||
type
|
|
||||||
TIntegerArray = array of Integer;
|
|
||||||
|
|
||||||
IControllerDetallesBase = interface(ISujeto)
|
|
||||||
['{F0B0E714-EC0D-4B6B-98B1-76F72F70B735}']
|
|
||||||
|
|
||||||
function getTipo(ADataTable: IDAStronglyTypedDataTable; pPosicion: Integer): String;
|
|
||||||
procedure Clear(ADataTable: IDAStronglyTypedDataTable);
|
|
||||||
procedure Add(ADataTable: IDAStronglyTypedDataTable; TipoConcepto: Variant);
|
|
||||||
procedure Delete(ADataTable: IDAStronglyTypedDataTable; Posicion: TIntegerArray);
|
|
||||||
procedure Move(ADataTable: IDAStronglyTypedDataTable; Posicion: TIntegerArray; Posiciones: Integer);
|
|
||||||
|
|
||||||
// procedure Copy(SMExport: TSMExportToClipboard);
|
|
||||||
// procedure Paste;
|
|
||||||
|
|
||||||
procedure ActualizarTotales(ADataTable: IDAStronglyTypedDataTable);
|
|
||||||
function DarTotalImporteTotal(ADataTable: IDAStronglyTypedDataTable): Double;
|
|
||||||
|
|
||||||
function DarListaTiposDetalle: TStringList;
|
|
||||||
end;
|
|
||||||
|
|
||||||
TControllerDetallesBase = class (TSujeto, IControllerDetallesBase)
|
|
||||||
private
|
|
||||||
fUpdateCount: Integer;
|
|
||||||
|
|
||||||
function CalcularTotales(Modificar: boolean; DataTable: TDADataTable): Double;
|
|
||||||
|
|
||||||
protected
|
|
||||||
procedure Renumerar(DataTable: TDADataTable; LocalizaPosicion: Integer);
|
|
||||||
function DesplazarNPosiciones(DataTable: TDADataTable; NumOrdenIni: Variant; NPosiciones: Variant): Integer;
|
|
||||||
procedure Mover(DataTable: TDADataTable; Posicion: Integer; NumPosiciones: Integer);
|
|
||||||
procedure BeginUpdate(ADataTable: IDAStronglyTypedDataTable);
|
|
||||||
procedure EndUpdate(ADataTable: IDAStronglyTypedDataTable);
|
|
||||||
|
|
||||||
//Si en los hijos existen campos a tener en cuenta se sobreescribira este metodo
|
|
||||||
procedure validarCampos(DataTable: TDADataTable); virtual;
|
|
||||||
|
|
||||||
//Si sobreescribimos este método podremos tener en cuenta otras columnas para el calculo del importe total de un concepto
|
|
||||||
function CalcularImporteTotalConcepto(DataTable: TDADataTable): Double; virtual;
|
|
||||||
procedure TratamientoDetalleConcepto(DataTable: TDADataTable); virtual;
|
|
||||||
procedure CalculoDetalleConcepto(DataTable: TDADataTable; var ImporteAcumulado : Double; var ImporteTotal : Double); virtual;
|
|
||||||
procedure TratamientoDetalleSalto(DataTable: TDADataTable); virtual;
|
|
||||||
procedure CalculoDetalleSalto(DataTable: TDADataTable; var ImporteAcumulado : Double; var ImporteTotal : Double); virtual;
|
|
||||||
procedure TratamientoDetalleTitulo(DataTable: TDADataTable); virtual;
|
|
||||||
procedure CalculoDetalleTitulo(DataTable: TDADataTable; var ImporteAcumulado : Double; var ImporteTotal : Double); virtual;
|
|
||||||
procedure TratamientoDetalleSubtotal(DataTable: TDADataTable); virtual;
|
|
||||||
procedure CalculoDetalleSubtotal(DataTable: TDADataTable; var ImporteAcumulado : Double; var ImporteTotal : Double); virtual;
|
|
||||||
//Si sobreescribimos este metodo es para continuar el CalcularTotales segun los tipos de concepto de los hijos
|
|
||||||
function CalcularTotalesHijos(Modificar: boolean; DataTable: TDADataTable; var ImporteAcumulado : Double; var ImporteTotal : Double): Double; virtual;
|
|
||||||
|
|
||||||
public
|
|
||||||
constructor Create; override;
|
|
||||||
destructor Destroy; override;
|
|
||||||
|
|
||||||
function getTipo(ADataTable: IDAStronglyTypedDataTable; pPosicion: Integer): String;
|
|
||||||
procedure Clear(ADataTable: IDAStronglyTypedDataTable);
|
|
||||||
procedure Add(ADataTable: IDAStronglyTypedDataTable; TipoConcepto: Variant); virtual;
|
|
||||||
procedure Delete(ADataTable: IDAStronglyTypedDataTable; Posicion: TIntegerArray); virtual;
|
|
||||||
procedure Move(ADataTable: IDAStronglyTypedDataTable; Posicion: TIntegerArray; Posiciones: Integer); virtual;
|
|
||||||
|
|
||||||
// procedure Copy(SMExport: TSMExportToClipboard);
|
|
||||||
// procedure Paste;
|
|
||||||
|
|
||||||
procedure ActualizarTotales(ADataTable: IDAStronglyTypedDataTable);
|
|
||||||
function DarTotalImporteTotal(ADataTable: IDAStronglyTypedDataTable): Double;
|
|
||||||
function DarListaTiposDetalle: TStringList; virtual;
|
|
||||||
end;
|
|
||||||
|
|
||||||
|
|
||||||
implementation
|
|
||||||
|
|
||||||
{ TControllerDetallesBase }
|
|
||||||
|
|
||||||
uses cxControls, SysUtils, DB, uDAInterfaces;
|
|
||||||
|
|
||||||
procedure TControllerDetallesBase.ActualizarTotales(ADataTable: IDAStronglyTypedDataTable);
|
|
||||||
begin
|
|
||||||
BeginUpdate(ADataTable);
|
|
||||||
try
|
|
||||||
CalcularTotales(True, ADataTable.DataTable);
|
|
||||||
finally
|
|
||||||
EndUpdate(ADataTable);
|
|
||||||
end;
|
|
||||||
end;
|
|
||||||
|
|
||||||
procedure TControllerDetallesBase.Add(ADataTable: IDAStronglyTypedDataTable; TipoConcepto: Variant);
|
|
||||||
var
|
|
||||||
AuxNumOrden : Integer;
|
|
||||||
|
|
||||||
begin
|
|
||||||
BeginUpdate(ADataTable);
|
|
||||||
try
|
|
||||||
with ADataTable do
|
|
||||||
begin
|
|
||||||
AuxNumOrden := desplazarNPosiciones(DataTable, DataTable.FieldByName(CAMPO_POSICION).AsVariant, 1);
|
|
||||||
|
|
||||||
DataTable.Insert;
|
|
||||||
DataTable.FieldByName(CAMPO_POSICION).AsInteger := AuxNumOrden;
|
|
||||||
DataTable.FieldByName(CAMPO_TIPO).AsVariant := TipoConcepto;
|
|
||||||
DataTable.post;
|
|
||||||
end;
|
|
||||||
finally
|
|
||||||
EndUpdate(ADataTable);
|
|
||||||
end;
|
|
||||||
end;
|
|
||||||
|
|
||||||
procedure TControllerDetallesBase.BeginUpdate(ADataTable: IDAStronglyTypedDataTable);
|
|
||||||
begin
|
|
||||||
ShowHourglassCursor;
|
|
||||||
Inc(fUpdateCount);
|
|
||||||
ADataTable.DataTable.DisableControls;
|
|
||||||
end;
|
|
||||||
|
|
||||||
function TControllerDetallesBase.CalcularImporteTotalConcepto(DataTable: TDADataTable): Double;
|
|
||||||
begin
|
|
||||||
with DataTable do
|
|
||||||
Result := FieldByName(CAMPO_CANTIDAD).asInteger * FieldByName(CAMPO_IMPORTE_UNIDAD).AsFloat;
|
|
||||||
end;
|
|
||||||
|
|
||||||
function TControllerDetallesBase.CalcularTotales(Modificar: boolean; DataTable: TDADataTable): Double;
|
|
||||||
{
|
|
||||||
funcion que recalcula todos los detalles de la tabla pasada por parametro y devuelve
|
|
||||||
la cantidad total de los mismos
|
|
||||||
}
|
|
||||||
var
|
|
||||||
AuxPosicionIni : Integer;
|
|
||||||
AuxPosicion : Integer;
|
|
||||||
AuxImporteAcumulado : Double;
|
|
||||||
AuxImporteTotal : Double;
|
|
||||||
|
|
||||||
begin
|
|
||||||
if (DataTable.State in dsEditModes) then
|
|
||||||
DataTable.Post;
|
|
||||||
|
|
||||||
ValidarCampos(DataTable);
|
|
||||||
|
|
||||||
DataTable.DisableControls;
|
|
||||||
AuxPosicionIni := DataTable.FieldByName(CAMPO_POSICION).AsInteger;
|
|
||||||
AuxPosicion := 0;
|
|
||||||
AuxImporteAcumulado := 0;
|
|
||||||
AuxImporteTotal := 0;
|
|
||||||
try
|
|
||||||
|
|
||||||
DataTable.First;
|
|
||||||
while DataTable.Locate(CAMPO_POSICION, IntToStr(AuxPosicion), []) do
|
|
||||||
begin
|
|
||||||
//SALTOS DE LINEA
|
|
||||||
if (DataTable.FieldByName(CAMPO_TIPO).AsString = TIPO_DETALLE_SALTO) then
|
|
||||||
begin
|
|
||||||
if Modificar then
|
|
||||||
TratamientoDetalleSalto(DataTable); //Se podrá sobreescribir para que se tengan en cuenta nuevos campos en hijos
|
|
||||||
CalculoDetalleSalto(DataTable, AuxImporteAcumulado, AuxImporteTotal); //Se podrá sobreescribir para posibles nuevos calculos de los hijos
|
|
||||||
end
|
|
||||||
//TITULOS
|
|
||||||
else if (DataTable.FieldByName(CAMPO_TIPO).AsString = TIPO_DETALLE_TITULO) then
|
|
||||||
begin
|
|
||||||
if Modificar then
|
|
||||||
TratamientoDetalleTitulo(DataTable); //Se podrá sobreescribir para que se tengan en cuenta nuevos campos en hijos
|
|
||||||
CalculoDetalleTitulo(DataTable, AuxImporteAcumulado, AuxImporteTotal); //Se podrá sobreescribir para posibles nuevos calculos de los hijos
|
|
||||||
end
|
|
||||||
//SUBTITULOS
|
|
||||||
else if (DataTable.FieldByName(CAMPO_TIPO).AsString = TIPO_DETALLE_SUBTOTAL) then
|
|
||||||
begin
|
|
||||||
if Modificar then
|
|
||||||
TratamientoDetalleSubtotal(DataTable); //Se podrá sobreescribir para que se tengan en cuenta nuevos campos
|
|
||||||
CalculoDetalleSubtotal(DataTable, AuxImporteAcumulado, AuxImporteTotal); //Se podrá sobreescribir para posibles nuevos calculos de los hijos
|
|
||||||
end
|
|
||||||
//CONCEPTOS
|
|
||||||
else if (DataTable.FieldByName(CAMPO_TIPO).AsString = TIPO_DETALLE_CONCEPTO) then
|
|
||||||
begin
|
|
||||||
if Modificar then
|
|
||||||
TratamientoDetalleConcepto(DataTable); //Se podrá sobreescribir para que se tengan en cuenta nuevos campos
|
|
||||||
CalculoDetalleConcepto(DataTable, AuxImporteAcumulado, AuxImporteTotal); //Se podrá sobreescribir para posibles nuevos calculos de los hijos
|
|
||||||
end
|
|
||||||
//HIJOS
|
|
||||||
else CalcularTotalesHijos(Modificar, DataTable, AuxImporteAcumulado, AuxImporteTotal);
|
|
||||||
|
|
||||||
Inc(AuxPosicion);
|
|
||||||
DataTable.First;
|
|
||||||
end;
|
|
||||||
|
|
||||||
finally
|
|
||||||
//Dejamos el puntero en la misma posición que la que partió
|
|
||||||
DataTable.Locate(CAMPO_POSICION, IntToStr(AuxPosicionIni), []);
|
|
||||||
DataTable.EnableControls;
|
|
||||||
end;
|
|
||||||
|
|
||||||
Result := AuxImporteTotal;
|
|
||||||
end;
|
|
||||||
|
|
||||||
function TControllerDetallesBase.CalcularTotalesHijos(Modificar: boolean; DataTable: TDADataTable; var ImporteAcumulado : Double; var ImporteTotal : Double): Double;
|
|
||||||
begin
|
|
||||||
//
|
|
||||||
Result := 0;
|
|
||||||
end;
|
|
||||||
|
|
||||||
procedure TControllerDetallesBase.CalculoDetalleConcepto(DataTable: TDADataTable; var ImporteAcumulado, ImporteTotal: Double);
|
|
||||||
begin
|
|
||||||
with DataTable do
|
|
||||||
begin
|
|
||||||
ImporteAcumulado := ImporteAcumulado + FieldByName(CAMPO_IMPORTE_TOTAL).AsFloat;
|
|
||||||
ImporteTotal := ImporteTotal + FieldByName(CAMPO_IMPORTE_TOTAL).AsFloat;
|
|
||||||
end;
|
|
||||||
end;
|
|
||||||
|
|
||||||
procedure TControllerDetallesBase.CalculoDetalleSalto(DataTable: TDADataTable; var ImporteAcumulado, ImporteTotal: Double);
|
|
||||||
begin
|
|
||||||
with DataTable do
|
|
||||||
begin
|
|
||||||
if not Editing then Edit;
|
|
||||||
FieldByName(CAMPO_CANTIDAD).AsVariant := Null;
|
|
||||||
FieldByName(CAMPO_IMPORTE_UNIDAD).AsVariant := Null;
|
|
||||||
FieldByName(CAMPO_IMPORTE_TOTAL).AsVariant := Null;
|
|
||||||
Post;
|
|
||||||
end;
|
|
||||||
end;
|
|
||||||
|
|
||||||
procedure TControllerDetallesBase.CalculoDetalleSubtotal(DataTable: TDADataTable; var ImporteAcumulado, ImporteTotal: Double);
|
|
||||||
begin
|
|
||||||
with DataTable do
|
|
||||||
begin
|
|
||||||
if not Editing then Edit;
|
|
||||||
FieldByName(CAMPO_IMPORTE_TOTAL).AsFloat := ImporteAcumulado;
|
|
||||||
Post;
|
|
||||||
end;
|
|
||||||
ImporteAcumulado := 0;
|
|
||||||
end;
|
|
||||||
|
|
||||||
procedure TControllerDetallesBase.CalculoDetalleTitulo(DataTable: TDADataTable; var ImporteAcumulado, ImporteTotal: Double);
|
|
||||||
begin
|
|
||||||
//
|
|
||||||
end;
|
|
||||||
|
|
||||||
procedure TControllerDetallesBase.Clear(ADataTable: IDAStronglyTypedDataTable);
|
|
||||||
begin
|
|
||||||
//
|
|
||||||
end;
|
|
||||||
|
|
||||||
constructor TControllerDetallesBase.Create;
|
|
||||||
begin
|
|
||||||
inherited;
|
|
||||||
end;
|
|
||||||
|
|
||||||
function TControllerDetallesBase.DarListaTiposDetalle: TStringList;
|
|
||||||
begin
|
|
||||||
Result := TStringList.Create;
|
|
||||||
Result.Values[TIPO_DETALLE_CONCEPTO] := 'Concepto';
|
|
||||||
Result.Values[TIPO_DETALLE_TITULO] := 'Título de capítulo';
|
|
||||||
Result.Values[TIPO_DETALLE_SUBTOTAL] := 'Final de capítulo';
|
|
||||||
Result.Values[TIPO_DETALLE_SALTO] := 'Salto de página';
|
|
||||||
end;
|
|
||||||
|
|
||||||
function TControllerDetallesBase.darTotalImporteTotal(ADataTable: IDAStronglyTypedDataTable): Double;
|
|
||||||
begin
|
|
||||||
Result := CalcularTotales(False, ADataTable.DataTable);
|
|
||||||
end;
|
|
||||||
|
|
||||||
procedure TControllerDetallesBase.Delete(ADataTable: IDAStronglyTypedDataTable; Posicion: TIntegerArray);
|
|
||||||
var
|
|
||||||
i: integer;
|
|
||||||
AField: TDAField;
|
|
||||||
DeletePosicion: Integer;
|
|
||||||
begin
|
|
||||||
AField := ADataTable.DataTable.FindField(CAMPO_POSICION);
|
|
||||||
if not Assigned(AField) then
|
|
||||||
raise Exception.Create('Campo ' + CAMPO_POSICION + ' no encontrado (Delete)');
|
|
||||||
|
|
||||||
BeginUpdate(ADataTable);
|
|
||||||
try
|
|
||||||
with ADataTable do
|
|
||||||
begin
|
|
||||||
DeletePosicion := 0;
|
|
||||||
for i := 0 to High(POSICION) do
|
|
||||||
begin
|
|
||||||
DataTable.First;
|
|
||||||
DeletePosicion := POSICION[i];
|
|
||||||
if DataTable.Locate(CAMPO_POSICION, IntToStr(DeletePosicion), []) then
|
|
||||||
DataTable.Delete;
|
|
||||||
end;
|
|
||||||
Renumerar(DataTable, DeletePosicion);
|
|
||||||
end;
|
|
||||||
finally
|
|
||||||
EndUpdate(ADataTable);
|
|
||||||
end;
|
|
||||||
end;
|
|
||||||
|
|
||||||
function TControllerDetallesBase.DesplazarNPosiciones(DataTable: TDADataTable; NumOrdenIni: Variant; NPosiciones: Variant): Integer;
|
|
||||||
{
|
|
||||||
Función que desplaza NPosiciones el numero de orden a partir del elemento con el
|
|
||||||
número de orden dado. Devuelve el numero de orden del primer elemento del hueco
|
|
||||||
generado
|
|
||||||
}
|
|
||||||
var
|
|
||||||
AuxNumOrden: Integer;
|
|
||||||
AuxNumPos: Integer;
|
|
||||||
AField: TDAField;
|
|
||||||
begin
|
|
||||||
|
|
||||||
AField := DataTable.FindField(CAMPO_POSICION);
|
|
||||||
if not Assigned(AField) then
|
|
||||||
raise Exception.Create('Campo ' + CAMPO_POSICION + ' no encontrado (desplazarNPosiciones)');
|
|
||||||
|
|
||||||
if VarIsNull(NPosiciones)
|
|
||||||
then AuxNumPos := 1
|
|
||||||
else AuxNumPos := NPosiciones;
|
|
||||||
|
|
||||||
if VarIsNull(NumOrdenIni)
|
|
||||||
then AuxNumOrden := 0
|
|
||||||
else AuxNumOrden := NumOrdenIni + 1; //Añadimos por abajo siempre
|
|
||||||
|
|
||||||
Result := AuxNumOrden;
|
|
||||||
|
|
||||||
with DataTable do
|
|
||||||
begin
|
|
||||||
First;
|
|
||||||
while not EOF do
|
|
||||||
begin
|
|
||||||
if (FieldByName(CAMPO_POSICION).AsInteger >= AuxNumOrden) then
|
|
||||||
begin
|
|
||||||
if not Editing then Edit;
|
|
||||||
FieldByName(CAMPO_POSICION).AsInteger := FieldByName(CAMPO_POSICION).AsInteger + AuxNumPos;
|
|
||||||
Post;
|
|
||||||
end;
|
|
||||||
Next;
|
|
||||||
end;
|
|
||||||
end;
|
|
||||||
end;
|
|
||||||
|
|
||||||
destructor TControllerDetallesBase.Destroy;
|
|
||||||
begin
|
|
||||||
inherited;
|
|
||||||
end;
|
|
||||||
|
|
||||||
procedure TControllerDetallesBase.EndUpdate(ADataTable: IDAStronglyTypedDataTable);
|
|
||||||
begin
|
|
||||||
Dec(fUpdateCount);
|
|
||||||
CalcularTotales(True, ADataTable.DataTable);
|
|
||||||
ADataTable.DataTable.EnableControls;
|
|
||||||
|
|
||||||
if fUpdateCount = 0 then
|
|
||||||
AvisarObservadores(ADataTable);
|
|
||||||
|
|
||||||
HideHourglassCursor;
|
|
||||||
end;
|
|
||||||
|
|
||||||
function TControllerDetallesBase.getTipo(ADataTable: IDAStronglyTypedDataTable; pPosicion: Integer): String;
|
|
||||||
var
|
|
||||||
posIni: integer;
|
|
||||||
AField: TDAField;
|
|
||||||
begin
|
|
||||||
AField := ADataTable.DataTable.FindField(CAMPO_POSICION);
|
|
||||||
if not Assigned(AField) then
|
|
||||||
raise Exception.Create('Campo ' + CAMPO_POSICION + ' no encontrado (getTipo)');
|
|
||||||
|
|
||||||
Result := '';
|
|
||||||
BeginUpdate(ADataTable);
|
|
||||||
try
|
|
||||||
with ADataTable do
|
|
||||||
begin
|
|
||||||
//Guardamos la posicion en la que estamos
|
|
||||||
posIni := DataTable.FieldByName(CAMPO_POSICION).AsInteger;
|
|
||||||
|
|
||||||
DataTable.First;
|
|
||||||
if DataTable.Locate(CAMPO_POSICION, IntToStr(pPosicion), []) then
|
|
||||||
Result := DataTable.FieldByName(CAMPO_TIPO).AsString;
|
|
||||||
|
|
||||||
//Volvemos a posicionar el puntero donde estaba
|
|
||||||
DataTable.First;
|
|
||||||
if not DataTable.Locate(CAMPO_POSICION, IntToStr(posIni), []) then
|
|
||||||
raise Exception.Create('La posición ' + IntToStr(posIni) + ' no existe (getTipo)');
|
|
||||||
end;
|
|
||||||
finally
|
|
||||||
EndUpdate(ADataTable);
|
|
||||||
end;
|
|
||||||
end;
|
|
||||||
|
|
||||||
procedure TControllerDetallesBase.Move(ADataTable: IDAStronglyTypedDataTable; Posicion: TIntegerArray; Posiciones: Integer);
|
|
||||||
var
|
|
||||||
i:Integer;
|
|
||||||
begin
|
|
||||||
BeginUpdate(ADataTable);
|
|
||||||
try
|
|
||||||
with ADataTable do
|
|
||||||
begin
|
|
||||||
//Empezamos desde abajo
|
|
||||||
if Posiciones > 0 then
|
|
||||||
for i:= High(POSICION) downto 0 do
|
|
||||||
Mover(DataTable, POSICION[i], Posiciones)
|
|
||||||
else
|
|
||||||
//Empezamos desde arriba
|
|
||||||
for i:= 0 to High(POSICION) do
|
|
||||||
Mover(DataTable, POSICION[i], Posiciones);
|
|
||||||
end;
|
|
||||||
finally
|
|
||||||
EndUpdate(ADataTable);
|
|
||||||
end;
|
|
||||||
end;
|
|
||||||
|
|
||||||
procedure TControllerDetallesBase.Mover(DataTable: TDADataTable; Posicion: Integer; NumPosiciones: Integer);
|
|
||||||
{
|
|
||||||
procedimiento que desplaza el número de posiciones (NumPosiciones) pasados por parametro
|
|
||||||
a la posicion (Posicion) dada, en caso de ser negativo será hacia arriba y positivo hacia
|
|
||||||
abajo
|
|
||||||
}
|
|
||||||
var
|
|
||||||
AuxOrden : Integer;
|
|
||||||
AuxID : Integer;
|
|
||||||
AField: TDAField;
|
|
||||||
begin
|
|
||||||
AField := DataTable.FindField(CAMPO_POSICION);
|
|
||||||
if not Assigned(AField) then
|
|
||||||
raise Exception.Create('Campo ' + CAMPO_POSICION + ' no encontrado (mover)');
|
|
||||||
|
|
||||||
AField := DataTable.FindField(CAMPO_ID);
|
|
||||||
if not Assigned(AField) then
|
|
||||||
raise Exception.Create('Campo ' + CAMPO_ID + ' no encontrado (mover)');
|
|
||||||
|
|
||||||
//Buscamos el elemento con la posicion pasada por parametro
|
|
||||||
DataTable.First;
|
|
||||||
if not DataTable.Locate(CAMPO_POSICION, IntToStr(Posicion), []) then
|
|
||||||
raise Exception.Create('Error, no se ha encontrado la POSICION [' + IntToStr(Posicion) + '] (mover)');
|
|
||||||
|
|
||||||
//Guardamos el id del elemento a cambiar de posicion y calculamos su nueva posicion
|
|
||||||
AuxID := DataTable.FieldByName(CAMPO_ID).AsInteger;
|
|
||||||
AuxOrden := Posicion + NumPosiciones;
|
|
||||||
|
|
||||||
DataTable.First;
|
|
||||||
if DataTable.Locate(CAMPO_POSICION, IntToStr(AuxOrden), []) then
|
|
||||||
begin
|
|
||||||
if not DataTable.Editing then DataTable.Edit;
|
|
||||||
DataTable.FieldByName(CAMPO_POSICION).AsInteger := DataTable.FieldByName(CAMPO_POSICION).AsInteger - NumPosiciones;
|
|
||||||
|
|
||||||
//Se hace dentro por si es el ultimo o el primero
|
|
||||||
DataTable.First;
|
|
||||||
if not DataTable.Locate(CAMPO_ID, IntToStr(AuxID), []) then
|
|
||||||
raise Exception.Create('Error, no se ha encontrado el ID [' + IntToStr(AuxID) + '] (mover)');
|
|
||||||
|
|
||||||
if not DataTable.Editing then DataTable.Edit;
|
|
||||||
DataTable.FieldByName(CAMPO_POSICION).AsInteger := AuxOrden;
|
|
||||||
|
|
||||||
DataTable.Post;
|
|
||||||
end;
|
|
||||||
|
|
||||||
//Colocamos el puntero en la posición en la que estaba
|
|
||||||
DataTable.First;
|
|
||||||
DataTable.Locate(CAMPO_ID, IntToStr(AuxID), []);
|
|
||||||
end;
|
|
||||||
|
|
||||||
procedure TControllerDetallesBase.Renumerar(DataTable: TDADataTable; LocalizaPosicion: Integer);
|
|
||||||
{
|
|
||||||
procedimiento que renumera todos los conceptos de la tabla dada por parametro
|
|
||||||
}
|
|
||||||
var
|
|
||||||
i, j : Integer;
|
|
||||||
AField: TDAField;
|
|
||||||
begin
|
|
||||||
AField := DataTable.FindField(CAMPO_POSICION);
|
|
||||||
if not Assigned(AField) then
|
|
||||||
raise Exception.Create('Campo ' + CAMPO_POSICION + ' no encontrado (renumerar)');
|
|
||||||
|
|
||||||
with DataTable do
|
|
||||||
begin
|
|
||||||
for i:=0 to RecordCount-1 do
|
|
||||||
begin
|
|
||||||
First;
|
|
||||||
if not Locate(CAMPO_POSICION, IntToStr(i), []) then
|
|
||||||
begin
|
|
||||||
j := i;
|
|
||||||
First;
|
|
||||||
while not Locate(CAMPO_POSICION, IntToStr(j), []) do
|
|
||||||
begin
|
|
||||||
Inc(j);
|
|
||||||
First;
|
|
||||||
end;
|
|
||||||
|
|
||||||
if not Editing then Edit;
|
|
||||||
FieldByName(CAMPO_POSICION).AsInteger := i;
|
|
||||||
Post;
|
|
||||||
end;
|
|
||||||
end;
|
|
||||||
|
|
||||||
//Posicionamos el puntero en la posición dada por parametro
|
|
||||||
if Locate(CAMPO_POSICION, IntToStr(LocalizaPosicion), []) then
|
|
||||||
end;
|
|
||||||
end;
|
|
||||||
|
|
||||||
procedure TControllerDetallesBase.TratamientoDetalleConcepto(DataTable: TDADataTable);
|
|
||||||
begin
|
|
||||||
with DataTable do
|
|
||||||
begin
|
|
||||||
if not Editing then Edit;
|
|
||||||
//Si alguno de los campos de calculo de total es nulo el total tambien será nulo
|
|
||||||
if (VarIsNull(FieldByName(CAMPO_CANTIDAD).AsVariant)
|
|
||||||
or VarIsNull(FieldByName(CAMPO_IMPORTE_UNIDAD).AsVariant))
|
|
||||||
then FieldByName(CAMPO_IMPORTE_TOTAL).AsVariant := Null
|
|
||||||
else FieldByName(CAMPO_IMPORTE_TOTAL).AsFloat := CalcularImporteTotalConcepto(DataTable);
|
|
||||||
Post;
|
|
||||||
end;
|
|
||||||
end;
|
|
||||||
|
|
||||||
procedure TControllerDetallesBase.TratamientoDetalleSalto(DataTable: TDADataTable);
|
|
||||||
begin
|
|
||||||
with DataTable do
|
|
||||||
begin
|
|
||||||
if not Editing then Edit;
|
|
||||||
FieldByName(CAMPO_CONCEPTO).AsString := CTE_DESC_SALTO;
|
|
||||||
FieldByName(CAMPO_CANTIDAD).AsVariant := Null;
|
|
||||||
FieldByName(CAMPO_IMPORTE_UNIDAD).AsVariant := Null;
|
|
||||||
FieldByName(CAMPO_IMPORTE_TOTAL).AsVariant := Null;
|
|
||||||
Post;
|
|
||||||
end;
|
|
||||||
end;
|
|
||||||
|
|
||||||
procedure TControllerDetallesBase.TratamientoDetalleSubtotal(DataTable: TDADataTable);
|
|
||||||
begin
|
|
||||||
with DataTable do
|
|
||||||
begin
|
|
||||||
if not Editing then Edit;
|
|
||||||
if (FieldByName(CAMPO_CONCEPTO).AsString = CTE_DESC_SALTO) then
|
|
||||||
FieldByName(CAMPO_CONCEPTO).AsVariant := Null;
|
|
||||||
FieldByName(CAMPO_CANTIDAD).AsVariant := Null;
|
|
||||||
FieldByName(CAMPO_IMPORTE_UNIDAD).AsVariant := Null;
|
|
||||||
Post;
|
|
||||||
end;
|
|
||||||
end;
|
|
||||||
|
|
||||||
procedure TControllerDetallesBase.TratamientoDetalleTitulo(DataTable: TDADataTable);
|
|
||||||
begin
|
|
||||||
with DataTable do
|
|
||||||
begin
|
|
||||||
if not Editing then Edit;
|
|
||||||
if (FieldByName(CAMPO_CONCEPTO).AsString = CTE_DESC_SALTO) then
|
|
||||||
FieldByName(CAMPO_CONCEPTO).AsVariant := Null;
|
|
||||||
FieldByName(CAMPO_CANTIDAD).AsVariant := Null;
|
|
||||||
FieldByName(CAMPO_IMPORTE_UNIDAD).AsVariant := Null;
|
|
||||||
FieldByName(CAMPO_IMPORTE_TOTAL).AsVariant := Null;
|
|
||||||
Post;
|
|
||||||
end;
|
|
||||||
end;
|
|
||||||
|
|
||||||
procedure TControllerDetallesBase.validarCampos(DataTable: TDADataTable);
|
|
||||||
var
|
|
||||||
AField: TDAField;
|
|
||||||
begin
|
|
||||||
//Validamos la existencia de todos los campos necesarios
|
|
||||||
AField := DataTable.FindField(CAMPO_POSICION);
|
|
||||||
if not Assigned(AField) then
|
|
||||||
raise Exception.Create('Campo ' + CAMPO_POSICION + ' no encontrado (validarCampos)');
|
|
||||||
AField := DataTable.FindField(CAMPO_TIPO);
|
|
||||||
if not Assigned(AField) then
|
|
||||||
raise Exception.Create('Campo ' + CAMPO_TIPO + ' no encontrado (validarCampos)');
|
|
||||||
AField := DataTable.FindField(CAMPO_CANTIDAD);
|
|
||||||
if not Assigned(AField) then
|
|
||||||
raise Exception.Create('Campo ' + CAMPO_CANTIDAD + ' no encontrado (validarCampos)');
|
|
||||||
AField := DataTable.FindField(CAMPO_IMPORTE_UNIDAD);
|
|
||||||
if not Assigned(AField) then
|
|
||||||
raise Exception.Create('Campo ' + CAMPO_IMPORTE_UNIDAD + ' no encontrado (validarCampos)');
|
|
||||||
AField := DataTable.FindField(CAMPO_IMPORTE_TOTAL);
|
|
||||||
if not Assigned(AField) then
|
|
||||||
raise Exception.Create('Campo ' + CAMPO_IMPORTE_TOTAL + ' no encontrado (validarCampos)');
|
|
||||||
end;
|
|
||||||
|
|
||||||
end.
|
|
||||||
Binary file not shown.
@ -1,70 +0,0 @@
|
|||||||
unit uControllerDetallesDTO;
|
|
||||||
|
|
||||||
interface
|
|
||||||
|
|
||||||
uses Classes, Variants, uDACDSDataTable, uDADataTable, uControllerDetallesBase;
|
|
||||||
|
|
||||||
const
|
|
||||||
CAMPO_DESCUENTO = 'DESCUENTO';
|
|
||||||
//Además del descuento tambien se añade el Precio de porte por artículo
|
|
||||||
CAMPO_IMPORTE_PORTE = 'IMPORTE_PORTE';
|
|
||||||
|
|
||||||
type
|
|
||||||
IControllerDetallesDTO = interface(IControllerDetallesBase)
|
|
||||||
['{F6C5D9E4-4D3D-404F-9B6A-58D4A24B01C6}']
|
|
||||||
end;
|
|
||||||
|
|
||||||
TControllerDetallesDTO = class (TControllerDetallesBase, IControllerDetallesDTO)
|
|
||||||
protected
|
|
||||||
//Si en los hijos existen campos a tener en cuenta se sobreescribira este metodo
|
|
||||||
procedure ValidarCampos(DataTable: TDADataTable); override;
|
|
||||||
|
|
||||||
//Si sobreescribimos este método podremos tener en cuenta otras columnas para el calculo del importe total de un concepto
|
|
||||||
function CalcularImporteTotalConcepto(DataTable: TDADataTable): Double; override;
|
|
||||||
end;
|
|
||||||
|
|
||||||
|
|
||||||
implementation
|
|
||||||
|
|
||||||
{ TControllerDetallesBase }
|
|
||||||
|
|
||||||
uses SysUtils, uDAInterfaces;
|
|
||||||
|
|
||||||
function TControllerDetallesDTO.CalcularImporteTotalConcepto(DataTable: TDADataTable): Double;
|
|
||||||
var
|
|
||||||
ImporteTotal : Double;
|
|
||||||
begin
|
|
||||||
with DataTable do
|
|
||||||
begin
|
|
||||||
if (VarIsNull(FieldByName(CAMPO_DESCUENTO).AsVariant)) then
|
|
||||||
ImporteTotal := FieldByName(CAMPO_CANTIDAD).asInteger * FieldByName(CAMPO_IMPORTE_UNIDAD).AsFloat
|
|
||||||
else
|
|
||||||
ImporteTotal := FieldByName(CAMPO_CANTIDAD).asInteger * (FieldByName(CAMPO_IMPORTE_UNIDAD).AsFloat - (FieldByName(CAMPO_IMPORTE_UNIDAD).AsFloat * (FieldByName(CAMPO_DESCUENTO).AsFloat/100)));
|
|
||||||
|
|
||||||
if (VarIsNull(FieldByName(CAMPO_IMPORTE_PORTE).AsVariant)) then
|
|
||||||
ImporteTotal := ImporteTotal
|
|
||||||
else
|
|
||||||
ImporteTotal := ImporteTotal + (FieldByName(CAMPO_CANTIDAD).asInteger * FieldByName(CAMPO_IMPORTE_PORTE).AsFloat);
|
|
||||||
end;
|
|
||||||
|
|
||||||
Result := ImporteTotal;
|
|
||||||
end;
|
|
||||||
|
|
||||||
procedure TControllerDetallesDTO.validarCampos(DataTable: TDADataTable);
|
|
||||||
var
|
|
||||||
AField: TDAField;
|
|
||||||
begin
|
|
||||||
inherited;
|
|
||||||
//Validamos la existencia de todos los campos necesarios
|
|
||||||
|
|
||||||
AField := DataTable.FindField(CAMPO_DESCUENTO);
|
|
||||||
if not Assigned(AField) then
|
|
||||||
raise Exception.Create('Campo ' + CAMPO_DESCUENTO + ' no encontrado (validarCampos)');
|
|
||||||
|
|
||||||
|
|
||||||
AField := DataTable.FindField(CAMPO_IMPORTE_PORTE);
|
|
||||||
if not Assigned(AField) then
|
|
||||||
raise Exception.Create('Campo ' + CAMPO_IMPORTE_PORTE + ' no encontrado (validarCampos)');
|
|
||||||
end;
|
|
||||||
|
|
||||||
end.
|
|
||||||
Binary file not shown.
@ -1,686 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
|
||||||
<BorlandProject>
|
|
||||||
<PersonalityInfo>
|
|
||||||
<Option>
|
|
||||||
<Option Name="Personality">Delphi.Personality</Option>
|
|
||||||
<Option Name="ProjectType"></Option>
|
|
||||||
<Option Name="Version">1.0</Option>
|
|
||||||
<Option Name="GUID">{0CA27A95-0B81-4724-84BF-8F8ED4E421AE}</Option>
|
|
||||||
</Option>
|
|
||||||
</PersonalityInfo>
|
|
||||||
<Delphi.Personality>
|
|
||||||
<Source>
|
|
||||||
<Source Name="MainSource">GUIBase.dpk</Source>
|
|
||||||
</Source>
|
|
||||||
<FileVersion>
|
|
||||||
<FileVersion Name="Version">7.0</FileVersion>
|
|
||||||
</FileVersion>
|
|
||||||
<Compiler>
|
|
||||||
<Compiler Name="A">8</Compiler>
|
|
||||||
<Compiler Name="B">0</Compiler>
|
|
||||||
<Compiler Name="C">1</Compiler>
|
|
||||||
<Compiler Name="D">1</Compiler>
|
|
||||||
<Compiler Name="E">0</Compiler>
|
|
||||||
<Compiler Name="F">0</Compiler>
|
|
||||||
<Compiler Name="G">1</Compiler>
|
|
||||||
<Compiler Name="H">1</Compiler>
|
|
||||||
<Compiler Name="I">1</Compiler>
|
|
||||||
<Compiler Name="J">0</Compiler>
|
|
||||||
<Compiler Name="K">0</Compiler>
|
|
||||||
<Compiler Name="L">1</Compiler>
|
|
||||||
<Compiler Name="M">0</Compiler>
|
|
||||||
<Compiler Name="N">1</Compiler>
|
|
||||||
<Compiler Name="O">0</Compiler>
|
|
||||||
<Compiler Name="P">1</Compiler>
|
|
||||||
<Compiler Name="Q">0</Compiler>
|
|
||||||
<Compiler Name="R">0</Compiler>
|
|
||||||
<Compiler Name="S">0</Compiler>
|
|
||||||
<Compiler Name="T">0</Compiler>
|
|
||||||
<Compiler Name="U">0</Compiler>
|
|
||||||
<Compiler Name="V">1</Compiler>
|
|
||||||
<Compiler Name="W">1</Compiler>
|
|
||||||
<Compiler Name="X">1</Compiler>
|
|
||||||
<Compiler Name="Y">1</Compiler>
|
|
||||||
<Compiler Name="Z">1</Compiler>
|
|
||||||
<Compiler Name="ShowHints">True</Compiler>
|
|
||||||
<Compiler Name="ShowWarnings">True</Compiler>
|
|
||||||
<Compiler Name="UnitAliases">WinTypes=Windows;WinProcs=Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE;</Compiler>
|
|
||||||
<Compiler Name="NamespacePrefix"></Compiler>
|
|
||||||
<Compiler Name="GenerateDocumentation">False</Compiler>
|
|
||||||
<Compiler Name="DefaultNamespace"></Compiler>
|
|
||||||
<Compiler Name="SymbolDeprecated">True</Compiler>
|
|
||||||
<Compiler Name="SymbolLibrary">True</Compiler>
|
|
||||||
<Compiler Name="SymbolPlatform">True</Compiler>
|
|
||||||
<Compiler Name="SymbolExperimental">True</Compiler>
|
|
||||||
<Compiler Name="UnitLibrary">True</Compiler>
|
|
||||||
<Compiler Name="UnitPlatform">True</Compiler>
|
|
||||||
<Compiler Name="UnitDeprecated">True</Compiler>
|
|
||||||
<Compiler Name="UnitExperimental">True</Compiler>
|
|
||||||
<Compiler Name="HResultCompat">True</Compiler>
|
|
||||||
<Compiler Name="HidingMember">True</Compiler>
|
|
||||||
<Compiler Name="HiddenVirtual">True</Compiler>
|
|
||||||
<Compiler Name="Garbage">True</Compiler>
|
|
||||||
<Compiler Name="BoundsError">True</Compiler>
|
|
||||||
<Compiler Name="ZeroNilCompat">True</Compiler>
|
|
||||||
<Compiler Name="StringConstTruncated">True</Compiler>
|
|
||||||
<Compiler Name="ForLoopVarVarPar">True</Compiler>
|
|
||||||
<Compiler Name="TypedConstVarPar">True</Compiler>
|
|
||||||
<Compiler Name="AsgToTypedConst">True</Compiler>
|
|
||||||
<Compiler Name="CaseLabelRange">True</Compiler>
|
|
||||||
<Compiler Name="ForVariable">True</Compiler>
|
|
||||||
<Compiler Name="ConstructingAbstract">True</Compiler>
|
|
||||||
<Compiler Name="ComparisonFalse">True</Compiler>
|
|
||||||
<Compiler Name="ComparisonTrue">True</Compiler>
|
|
||||||
<Compiler Name="ComparingSignedUnsigned">True</Compiler>
|
|
||||||
<Compiler Name="CombiningSignedUnsigned">True</Compiler>
|
|
||||||
<Compiler Name="UnsupportedConstruct">True</Compiler>
|
|
||||||
<Compiler Name="FileOpen">True</Compiler>
|
|
||||||
<Compiler Name="FileOpenUnitSrc">True</Compiler>
|
|
||||||
<Compiler Name="BadGlobalSymbol">True</Compiler>
|
|
||||||
<Compiler Name="DuplicateConstructorDestructor">True</Compiler>
|
|
||||||
<Compiler Name="InvalidDirective">True</Compiler>
|
|
||||||
<Compiler Name="PackageNoLink">True</Compiler>
|
|
||||||
<Compiler Name="PackageThreadVar">True</Compiler>
|
|
||||||
<Compiler Name="ImplicitImport">True</Compiler>
|
|
||||||
<Compiler Name="HPPEMITIgnored">True</Compiler>
|
|
||||||
<Compiler Name="NoRetVal">True</Compiler>
|
|
||||||
<Compiler Name="UseBeforeDef">True</Compiler>
|
|
||||||
<Compiler Name="ForLoopVarUndef">True</Compiler>
|
|
||||||
<Compiler Name="UnitNameMismatch">True</Compiler>
|
|
||||||
<Compiler Name="NoCFGFileFound">True</Compiler>
|
|
||||||
<Compiler Name="ImplicitVariants">True</Compiler>
|
|
||||||
<Compiler Name="UnicodeToLocale">True</Compiler>
|
|
||||||
<Compiler Name="LocaleToUnicode">True</Compiler>
|
|
||||||
<Compiler Name="ImagebaseMultiple">True</Compiler>
|
|
||||||
<Compiler Name="SuspiciousTypecast">True</Compiler>
|
|
||||||
<Compiler Name="PrivatePropAccessor">True</Compiler>
|
|
||||||
<Compiler Name="UnsafeType">False</Compiler>
|
|
||||||
<Compiler Name="UnsafeCode">False</Compiler>
|
|
||||||
<Compiler Name="UnsafeCast">False</Compiler>
|
|
||||||
<Compiler Name="OptionTruncated">True</Compiler>
|
|
||||||
<Compiler Name="WideCharReduced">True</Compiler>
|
|
||||||
<Compiler Name="DuplicatesIgnored">True</Compiler>
|
|
||||||
<Compiler Name="UnitInitSeq">True</Compiler>
|
|
||||||
<Compiler Name="LocalPInvoke">True</Compiler>
|
|
||||||
<Compiler Name="MessageDirective">True</Compiler>
|
|
||||||
<Compiler Name="CodePage"></Compiler>
|
|
||||||
</Compiler>
|
|
||||||
<Linker>
|
|
||||||
<Linker Name="MapFile">3</Linker>
|
|
||||||
<Linker Name="OutputObjs">0</Linker>
|
|
||||||
<Linker Name="GenerateHpps">False</Linker>
|
|
||||||
<Linker Name="ConsoleApp">1</Linker>
|
|
||||||
<Linker Name="DebugInfo">True</Linker>
|
|
||||||
<Linker Name="RemoteSymbols">False</Linker>
|
|
||||||
<Linker Name="GenerateDRC">False</Linker>
|
|
||||||
<Linker Name="MinStackSize">16384</Linker>
|
|
||||||
<Linker Name="MaxStackSize">1048576</Linker>
|
|
||||||
<Linker Name="ImageBase">4194304</Linker>
|
|
||||||
<Linker Name="ExeDescription"></Linker>
|
|
||||||
</Linker>
|
|
||||||
<Directories>
|
|
||||||
<Directories Name="OutputDir"></Directories>
|
|
||||||
<Directories Name="UnitOutputDir">.\</Directories>
|
|
||||||
<Directories Name="PackageDLLOutputDir">..\..\..\Output\Debug\Cliente</Directories>
|
|
||||||
<Directories Name="PackageDCPOutputDir">..\..\Lib</Directories>
|
|
||||||
<Directories Name="SearchPath">T:\COMPON~1\jcl\lib\d10\debug;$(BDS)\lib\Debug;$(BDS)\Lib\Debug\Indy9;..\..\Lib</Directories>
|
|
||||||
<Directories Name="Packages"></Directories>
|
|
||||||
<Directories Name="Conditionals"></Directories>
|
|
||||||
<Directories Name="DebugSourceDirs"></Directories>
|
|
||||||
<Directories Name="UsePackages">False</Directories>
|
|
||||||
</Directories>
|
|
||||||
<Parameters>
|
|
||||||
<Parameters Name="RunParams"></Parameters>
|
|
||||||
<Parameters Name="HostApplication"></Parameters>
|
|
||||||
<Parameters Name="Launcher"></Parameters>
|
|
||||||
<Parameters Name="UseLauncher">False</Parameters>
|
|
||||||
<Parameters Name="DebugCWD"></Parameters>
|
|
||||||
<Parameters Name="Debug Symbols Search Path"></Parameters>
|
|
||||||
<Parameters Name="LoadAllSymbols">True</Parameters>
|
|
||||||
<Parameters Name="LoadUnspecifiedSymbols">False</Parameters>
|
|
||||||
</Parameters>
|
|
||||||
<Language>
|
|
||||||
<Language Name="ActiveLang"></Language>
|
|
||||||
<Language Name="ProjectLang">$00000000</Language>
|
|
||||||
<Language Name="RootDir"></Language>
|
|
||||||
</Language>
|
|
||||||
<VersionInfo>
|
|
||||||
<VersionInfo Name="IncludeVerInfo">True</VersionInfo>
|
|
||||||
<VersionInfo Name="AutoIncBuild">False</VersionInfo>
|
|
||||||
<VersionInfo Name="MajorVer">1</VersionInfo>
|
|
||||||
<VersionInfo Name="MinorVer">0</VersionInfo>
|
|
||||||
<VersionInfo Name="Release">0</VersionInfo>
|
|
||||||
<VersionInfo Name="Build">0</VersionInfo>
|
|
||||||
<VersionInfo Name="Debug">False</VersionInfo>
|
|
||||||
<VersionInfo Name="PreRelease">False</VersionInfo>
|
|
||||||
<VersionInfo Name="Special">False</VersionInfo>
|
|
||||||
<VersionInfo Name="Private">False</VersionInfo>
|
|
||||||
<VersionInfo Name="DLL">False</VersionInfo>
|
|
||||||
<VersionInfo Name="Locale">3082</VersionInfo>
|
|
||||||
<VersionInfo Name="CodePage">1252</VersionInfo>
|
|
||||||
</VersionInfo>
|
|
||||||
<VersionInfoKeys>
|
|
||||||
<VersionInfoKeys Name="CompanyName"></VersionInfoKeys>
|
|
||||||
<VersionInfoKeys Name="FileDescription"></VersionInfoKeys>
|
|
||||||
<VersionInfoKeys Name="FileVersion">1.0.0.0</VersionInfoKeys>
|
|
||||||
<VersionInfoKeys Name="InternalName"></VersionInfoKeys>
|
|
||||||
<VersionInfoKeys Name="LegalCopyright"></VersionInfoKeys>
|
|
||||||
<VersionInfoKeys Name="LegalTrademarks"></VersionInfoKeys>
|
|
||||||
<VersionInfoKeys Name="OriginalFilename"></VersionInfoKeys>
|
|
||||||
<VersionInfoKeys Name="ProductName"></VersionInfoKeys>
|
|
||||||
<VersionInfoKeys Name="ProductVersion">1.0.0.0</VersionInfoKeys>
|
|
||||||
<VersionInfoKeys Name="Comments"></VersionInfoKeys>
|
|
||||||
</VersionInfoKeys> <Excluded_Packages>
|
|
||||||
<Excluded_Packages Name="C:\Archivos de programa\RemObjects Software\Data Abstract for Delphi\Dcu\D10\DataAbstract_IDE_D10.bpl">RemObjects Data Abstract - IDE Package</Excluded_Packages>
|
|
||||||
<Excluded_Packages Name="C:\Documents and Settings\David\Mis documentos\Borland Studio Projects\Bpl\SMImportD2006.bpl">SMImport suite: data importing into dataset. Scalabium/Mike Shkolnik, 2000-2005</Excluded_Packages>
|
|
||||||
<Excluded_Packages Name="C:\Documents and Settings\David\Mis documentos\Borland Studio Projects\Bpl\SMExportD2006.bpl">SMExport suite: data export from dataset. Written by Mike Shkolnik/Scalabium, 1998-2004.</Excluded_Packages>
|
|
||||||
<Excluded_Packages Name="C:\Archivos de programa\RemObjects Software\Data Abstract for Delphi\Dcu\D10\DataAbstract_ADODriver_D10.bpl">RemObjects Data Abstract - ADOExpress/dbGo Driver</Excluded_Packages>
|
|
||||||
<Excluded_Packages Name="C:\Archivos de programa\RemObjects Software\Data Abstract for Delphi\Dcu\D10\DataAbstract_IBXDriver_D10.bpl">RemObjects Data Abstract - InterBase Express Driver</Excluded_Packages>
|
|
||||||
<Excluded_Packages Name="C:\Archivos de programa\RemObjects Software\Data Abstract for Delphi\Dcu\D10\DataAbstract_DBXDriver_D10.bpl">RemObjects Data Abstract - dbExpress Driver</Excluded_Packages>
|
|
||||||
<Excluded_Packages Name="C:\Archivos de programa\RemObjects Software\Data Abstract for Delphi\Dcu\D10\DataAbstract_Scripting_D10.bpl">RemObjects Data Abstract - Scripting Integration Library</Excluded_Packages>
|
|
||||||
<Excluded_Packages Name="c:\archivos de programa\borland\delphi10\Bin\dcltee100.bpl">TeeChart Components</Excluded_Packages>
|
|
||||||
</Excluded_Packages>
|
|
||||||
</Delphi.Personality>
|
|
||||||
<!-- EurekaLog First Line
|
|
||||||
[Exception Log]
|
|
||||||
EurekaLog Version=519
|
|
||||||
Activate=1
|
|
||||||
Activate Handle=1
|
|
||||||
Save Log File=1
|
|
||||||
Foreground Tab=0
|
|
||||||
Freeze Activate=0
|
|
||||||
Freeze Timeout=0
|
|
||||||
Freeze Message=The application seems to be frozen.
|
|
||||||
SMTP From=eurekalog@email.com
|
|
||||||
SMTP Host=
|
|
||||||
SMTP Port=25
|
|
||||||
SMTP UserID=
|
|
||||||
SMTP Password=
|
|
||||||
Append to Log=0
|
|
||||||
Show TerminateBtn=1
|
|
||||||
TerminateBtn Operation=1
|
|
||||||
Errors Number=32
|
|
||||||
Errors Terminate=3
|
|
||||||
Email Address=
|
|
||||||
Email Object=
|
|
||||||
Email Send Options=0
|
|
||||||
Output Path=
|
|
||||||
Encrypt Password=
|
|
||||||
AutoCloseDialogSecs=0
|
|
||||||
WebSendMode=0
|
|
||||||
SupportULR=
|
|
||||||
HTMLLayout Count=15
|
|
||||||
HTMLLine0="%3Chtml%3E"
|
|
||||||
HTMLLine1=" %3Chead%3E"
|
|
||||||
HTMLLine2=" %3C/head%3E"
|
|
||||||
HTMLLine3=" %3Cbody TopMargin=10 LeftMargin=10%3E"
|
|
||||||
HTMLLine4=" %3Ctable width="100%%" border="0"%3E"
|
|
||||||
HTMLLine5=" %3Ctr%3E"
|
|
||||||
HTMLLine6=" %3Ctd nowrap%3E"
|
|
||||||
HTMLLine7=" %3Cfont face="Lucida Console, Courier" size="2"%3E"
|
|
||||||
HTMLLine8=" %3C%%HTML_TAG%%%3E"
|
|
||||||
HTMLLine9=" %3C/font%3E"
|
|
||||||
HTMLLine10=" %3C/td%3E"
|
|
||||||
HTMLLine11=" %3C/tr%3E"
|
|
||||||
HTMLLine12=" %3C/table%3E"
|
|
||||||
HTMLLine13=" %3C/body%3E"
|
|
||||||
HTMLLine14="%3C/html%3E"
|
|
||||||
AutoCrashOperation=1
|
|
||||||
AutoCrashNumber=10
|
|
||||||
AutoCrashMinutes=1
|
|
||||||
WebURL=
|
|
||||||
WebUserID=
|
|
||||||
WebPassword=
|
|
||||||
WebPort=0
|
|
||||||
AttachedFiles=
|
|
||||||
Count=0
|
|
||||||
EMail Message Line Count=0
|
|
||||||
loNoDuplicateErrors=0
|
|
||||||
loAppendReproduceText=0
|
|
||||||
loDeleteLogAtVersionChange=0
|
|
||||||
loAddComputerNameInLogFileName=0
|
|
||||||
loSaveModulesSection=1
|
|
||||||
loSaveCPUSection=1
|
|
||||||
soAppStartDate=1
|
|
||||||
soAppName=1
|
|
||||||
soAppVersionNumber=1
|
|
||||||
soAppParameters=1
|
|
||||||
soAppCompilationDate=1
|
|
||||||
soExcDate=1
|
|
||||||
soExcAddress=1
|
|
||||||
soExcModule=1
|
|
||||||
soExcType=1
|
|
||||||
soExcMessage=1
|
|
||||||
soActCtlsFormClass=1
|
|
||||||
soActCtlsFormText=1
|
|
||||||
soActCtlsControlClass=1
|
|
||||||
soActCtlsControlText=1
|
|
||||||
soCmpName=1
|
|
||||||
soCmpUser=1
|
|
||||||
soCmpTotalMemory=1
|
|
||||||
soCmpFreeMemory=1
|
|
||||||
soCmpTotalDisk=1
|
|
||||||
soCmpFreeDisk=1
|
|
||||||
soCmpSysUpTime=1
|
|
||||||
soCmpProcessor=1
|
|
||||||
soCmpDisplayMode=1
|
|
||||||
soOSType=1
|
|
||||||
soOSBuildN=1
|
|
||||||
soOSUpdate=1
|
|
||||||
soOSLanguage=1
|
|
||||||
soNetIP=1
|
|
||||||
soNetSubmask=1
|
|
||||||
soNetGateway=1
|
|
||||||
soNetDNS1=1
|
|
||||||
soNetDNS2=1
|
|
||||||
soNetDHCP=1
|
|
||||||
sndShowSendDialog=1
|
|
||||||
sndShowSuccessFailureMsg=0
|
|
||||||
sndSendEntireLog=0
|
|
||||||
sndSendXMLLogCopy=0
|
|
||||||
sndSendScreenshot=0
|
|
||||||
sndUseOnlyActiveWindow=0
|
|
||||||
sndSendLastHTMLPage=1
|
|
||||||
sndSendInSeparatedThread=0
|
|
||||||
sndAddDateInFileName=0
|
|
||||||
sndCompressAllFiles=0
|
|
||||||
edoShowExceptionDialog=1
|
|
||||||
edoSendEmailChecked=1
|
|
||||||
edoAttachScreenshotChecked=1
|
|
||||||
edoShowCopyToClipOption=1
|
|
||||||
edoShowDetailsButton=1
|
|
||||||
edoShowInDetailedMode=0
|
|
||||||
edoShowInTopMostMode=0
|
|
||||||
edoUseEurekaLogLookAndFeel=1
|
|
||||||
csoShowDLLs=1
|
|
||||||
csoShowBPLs=1
|
|
||||||
csoShowBorlandThreads=1
|
|
||||||
csoShowWindowsThreads=1
|
|
||||||
csoShowProcedureOffset=0
|
|
||||||
boActivateCrashDetection=0
|
|
||||||
boPauseBorlandThreads=0
|
|
||||||
boDoNotPauseMainThread=0
|
|
||||||
boPauseWindowsThreads=0
|
|
||||||
boUseMainModuleOptions=1
|
|
||||||
boCopyLogInCaseOfError=1
|
|
||||||
boSaveCompressedCopyInCaseOfError=0
|
|
||||||
Count mtInformationMsgCaption=1
|
|
||||||
mtInformationMsgCaption0="Information."
|
|
||||||
Count mtQuestionMsgCaption=1
|
|
||||||
mtQuestionMsgCaption0="Question."
|
|
||||||
Count mtDialog_Caption=1
|
|
||||||
mtDialog_Caption0="Error."
|
|
||||||
Count mtDialog_ErrorMsgCaption=2
|
|
||||||
mtDialog_ErrorMsgCaption0="An error has occurred during program execution."
|
|
||||||
mtDialog_ErrorMsgCaption1="Please read the following information for further details."
|
|
||||||
Count mtDialog_GeneralCaption=1
|
|
||||||
mtDialog_GeneralCaption0="General"
|
|
||||||
Count mtDialog_GeneralHeader=1
|
|
||||||
mtDialog_GeneralHeader0="General Information"
|
|
||||||
Count mtDialog_CallStackCaption=1
|
|
||||||
mtDialog_CallStackCaption0="Call Stack"
|
|
||||||
Count mtDialog_CallStackHeader=1
|
|
||||||
mtDialog_CallStackHeader0="Call Stack Information"
|
|
||||||
Count mtDialog_ModulesCaption=1
|
|
||||||
mtDialog_ModulesCaption0="Modules"
|
|
||||||
Count mtDialog_ModulesHeader=1
|
|
||||||
mtDialog_ModulesHeader0="Modules Information"
|
|
||||||
Count mtDialog_CPUCaption=1
|
|
||||||
mtDialog_CPUCaption0="CPU"
|
|
||||||
Count mtDialog_CPUHeader=1
|
|
||||||
mtDialog_CPUHeader0="CPU Information"
|
|
||||||
Count mtDialog_CustomDataCaption=1
|
|
||||||
mtDialog_CustomDataCaption0="Other"
|
|
||||||
Count mtDialog_CustomDataHeader=1
|
|
||||||
mtDialog_CustomDataHeader0="Other Information"
|
|
||||||
Count mtDialog_OKButtonCaption=1
|
|
||||||
mtDialog_OKButtonCaption0="%26OK"
|
|
||||||
Count mtDialog_TerminateButtonCaption=1
|
|
||||||
mtDialog_TerminateButtonCaption0="%26Terminate"
|
|
||||||
Count mtDialog_RestartButtonCaption=1
|
|
||||||
mtDialog_RestartButtonCaption0="%26Restart"
|
|
||||||
Count mtDialog_DetailsButtonCaption=1
|
|
||||||
mtDialog_DetailsButtonCaption0="%26Details"
|
|
||||||
Count mtDialog_SendMessage=1
|
|
||||||
mtDialog_SendMessage0="%26Send this error via Internet"
|
|
||||||
Count mtDialog_ScreenshotMessage=1
|
|
||||||
mtDialog_ScreenshotMessage0="%26Attach a Screenshot image"
|
|
||||||
Count mtDialog_CopyMessage=1
|
|
||||||
mtDialog_CopyMessage0="%26Copy to Clipboard"
|
|
||||||
Count mtDialog_SupportMessage=1
|
|
||||||
mtDialog_SupportMessage0="Go to the Support Page"
|
|
||||||
Count mtLog_AppHeader=1
|
|
||||||
mtLog_AppHeader0="Application"
|
|
||||||
Count mtLog_AppStartDate=1
|
|
||||||
mtLog_AppStartDate0="Start Date"
|
|
||||||
Count mtLog_AppName=1
|
|
||||||
mtLog_AppName0="Name/Description"
|
|
||||||
Count mtLog_AppVersionNumber=1
|
|
||||||
mtLog_AppVersionNumber0="Version Number"
|
|
||||||
Count mtLog_AppParameters=1
|
|
||||||
mtLog_AppParameters0="Parameters"
|
|
||||||
Count mtLog_AppCompilationDate=1
|
|
||||||
mtLog_AppCompilationDate0="Compilation Date"
|
|
||||||
Count mtLog_ExcHeader=1
|
|
||||||
mtLog_ExcHeader0="Exception"
|
|
||||||
Count mtLog_ExcDate=1
|
|
||||||
mtLog_ExcDate0="Date"
|
|
||||||
Count mtLog_ExcAddress=1
|
|
||||||
mtLog_ExcAddress0="Address"
|
|
||||||
Count mtLog_ExcModule=1
|
|
||||||
mtLog_ExcModule0="Module"
|
|
||||||
Count mtLog_ExcType=1
|
|
||||||
mtLog_ExcType0="Type"
|
|
||||||
Count mtLog_ExcMessage=1
|
|
||||||
mtLog_ExcMessage0="Message"
|
|
||||||
Count mtLog_ActCtrlsHeader=1
|
|
||||||
mtLog_ActCtrlsHeader0="Active Controls"
|
|
||||||
Count mtLog_ActCtrlsFormClass=1
|
|
||||||
mtLog_ActCtrlsFormClass0="Form Class"
|
|
||||||
Count mtLog_ActCtrlsFormText=1
|
|
||||||
mtLog_ActCtrlsFormText0="Form Text"
|
|
||||||
Count mtLog_ActCtrlsControlClass=1
|
|
||||||
mtLog_ActCtrlsControlClass0="Control Class"
|
|
||||||
Count mtLog_ActCtrlsControlText=1
|
|
||||||
mtLog_ActCtrlsControlText0="Control Text"
|
|
||||||
Count mtLog_CmpHeader=1
|
|
||||||
mtLog_CmpHeader0="Computer"
|
|
||||||
Count mtLog_CmpName=1
|
|
||||||
mtLog_CmpName0="Name"
|
|
||||||
Count mtLog_CmpUser=1
|
|
||||||
mtLog_CmpUser0="User"
|
|
||||||
Count mtLog_CmpTotalMemory=1
|
|
||||||
mtLog_CmpTotalMemory0="Total Memory"
|
|
||||||
Count mtLog_CmpFreeMemory=1
|
|
||||||
mtLog_CmpFreeMemory0="Free Memory"
|
|
||||||
Count mtLog_CmpTotalDisk=1
|
|
||||||
mtLog_CmpTotalDisk0="Total Disk"
|
|
||||||
Count mtLog_CmpFreeDisk=1
|
|
||||||
mtLog_CmpFreeDisk0="Free Disk"
|
|
||||||
Count mtLog_CmpSystemUpTime=1
|
|
||||||
mtLog_CmpSystemUpTime0="System Up Time"
|
|
||||||
Count mtLog_CmpProcessor=1
|
|
||||||
mtLog_CmpProcessor0="Processor"
|
|
||||||
Count mtLog_CmpDisplayMode=1
|
|
||||||
mtLog_CmpDisplayMode0="Display Mode"
|
|
||||||
Count mtLog_OSHeader=1
|
|
||||||
mtLog_OSHeader0="Operating System"
|
|
||||||
Count mtLog_OSType=1
|
|
||||||
mtLog_OSType0="Type"
|
|
||||||
Count mtLog_OSBuildN=1
|
|
||||||
mtLog_OSBuildN0="Build #"
|
|
||||||
Count mtLog_OSUpdate=1
|
|
||||||
mtLog_OSUpdate0="Update"
|
|
||||||
Count mtLog_OSLanguage=1
|
|
||||||
mtLog_OSLanguage0="Language"
|
|
||||||
Count mtLog_NetHeader=1
|
|
||||||
mtLog_NetHeader0="Network"
|
|
||||||
Count mtLog_NetIP=1
|
|
||||||
mtLog_NetIP0="IP Address"
|
|
||||||
Count mtLog_NetSubmask=1
|
|
||||||
mtLog_NetSubmask0="Submask"
|
|
||||||
Count mtLog_NetGateway=1
|
|
||||||
mtLog_NetGateway0="Gateway"
|
|
||||||
Count mtLog_NetDNS1=1
|
|
||||||
mtLog_NetDNS10="DNS 1"
|
|
||||||
Count mtLog_NetDNS2=1
|
|
||||||
mtLog_NetDNS20="DNS 2"
|
|
||||||
Count mtLog_NetDHCP=1
|
|
||||||
mtLog_NetDHCP0="DHCP"
|
|
||||||
Count mtLog_CustInfoHeader=1
|
|
||||||
mtLog_CustInfoHeader0="Custom Information"
|
|
||||||
Count mtCallStack_Address=1
|
|
||||||
mtCallStack_Address0="Address"
|
|
||||||
Count mtCallStack_Name=1
|
|
||||||
mtCallStack_Name0="Module"
|
|
||||||
Count mtCallStack_Unit=1
|
|
||||||
mtCallStack_Unit0="Unit"
|
|
||||||
Count mtCallStack_Class=1
|
|
||||||
mtCallStack_Class0="Class"
|
|
||||||
Count mtCallStack_Procedure=1
|
|
||||||
mtCallStack_Procedure0="Procedure/Method"
|
|
||||||
Count mtCallStack_Line=1
|
|
||||||
mtCallStack_Line0="Line"
|
|
||||||
Count mtCallStack_MainThread=1
|
|
||||||
mtCallStack_MainThread0="Main"
|
|
||||||
Count mtCallStack_ExceptionThread=1
|
|
||||||
mtCallStack_ExceptionThread0="Exception Thread"
|
|
||||||
Count mtCallStack_RunningThread=1
|
|
||||||
mtCallStack_RunningThread0="Running Thread"
|
|
||||||
Count mtCallStack_CallingThread=1
|
|
||||||
mtCallStack_CallingThread0="Calling Thread"
|
|
||||||
Count mtCallStack_ThreadID=1
|
|
||||||
mtCallStack_ThreadID0="ID"
|
|
||||||
Count mtCallStack_ThreadPriority=1
|
|
||||||
mtCallStack_ThreadPriority0="Priority"
|
|
||||||
Count mtCallStack_ThreadClass=1
|
|
||||||
mtCallStack_ThreadClass0="Class"
|
|
||||||
Count mtSendDialog_Caption=1
|
|
||||||
mtSendDialog_Caption0="Send."
|
|
||||||
Count mtSendDialog_Message=1
|
|
||||||
mtSendDialog_Message0="Message"
|
|
||||||
Count mtSendDialog_Resolving=1
|
|
||||||
mtSendDialog_Resolving0="Resolving DNS..."
|
|
||||||
Count mtSendDialog_Connecting=1
|
|
||||||
mtSendDialog_Connecting0="Connecting with server..."
|
|
||||||
Count mtSendDialog_Connected=1
|
|
||||||
mtSendDialog_Connected0="Connected with server."
|
|
||||||
Count mtSendDialog_Sending=1
|
|
||||||
mtSendDialog_Sending0="Sending message..."
|
|
||||||
Count mtReproduceDialog_Caption=1
|
|
||||||
mtReproduceDialog_Caption0="Request"
|
|
||||||
Count mtReproduceDialog_Request=1
|
|
||||||
mtReproduceDialog_Request0="Please describe the steps to reproduce the error:"
|
|
||||||
Count mtReproduceDialog_OKButtonCaption=1
|
|
||||||
mtReproduceDialog_OKButtonCaption0="%26OK"
|
|
||||||
Count mtModules_Handle=1
|
|
||||||
mtModules_Handle0="Handle"
|
|
||||||
Count mtModules_Name=1
|
|
||||||
mtModules_Name0="Name"
|
|
||||||
Count mtModules_Description=1
|
|
||||||
mtModules_Description0="Description"
|
|
||||||
Count mtModules_Version=1
|
|
||||||
mtModules_Version0="Version"
|
|
||||||
Count mtModules_Size=1
|
|
||||||
mtModules_Size0="Size"
|
|
||||||
Count mtModules_LastModified=1
|
|
||||||
mtModules_LastModified0="Modified"
|
|
||||||
Count mtModules_Path=1
|
|
||||||
mtModules_Path0="Path"
|
|
||||||
Count mtCPU_Registers=1
|
|
||||||
mtCPU_Registers0="Registers"
|
|
||||||
Count mtCPU_Stack=1
|
|
||||||
mtCPU_Stack0="Stack"
|
|
||||||
Count mtCPU_MemoryDump=1
|
|
||||||
mtCPU_MemoryDump0="Memory Dump"
|
|
||||||
Count mtSend_SuccessMsg=1
|
|
||||||
mtSend_SuccessMsg0="The message was sent successfully."
|
|
||||||
Count mtSend_FailureMsg=1
|
|
||||||
mtSend_FailureMsg0="Sorry, sending the message didn't work."
|
|
||||||
ProxyURL=
|
|
||||||
ProxyUser=
|
|
||||||
ProxyPassword=
|
|
||||||
ProxyPort=8080
|
|
||||||
TrakerUser=
|
|
||||||
TrakerPassword=
|
|
||||||
TrakerAssignTo=
|
|
||||||
TrakerProject=
|
|
||||||
TrakerCategory=
|
|
||||||
TrakerTrialID=
|
|
||||||
ZipPassword=
|
|
||||||
PreBuildEvent=
|
|
||||||
PostSuccessfulBuildEvent=
|
|
||||||
PostFailureBuildEvent=
|
|
||||||
ExceptionDialogType=2
|
|
||||||
loSaveModulesAndProcessesSections=1
|
|
||||||
loSaveAssemblerAndCPUSections=1
|
|
||||||
soAppUpTime=1
|
|
||||||
soExcModuleName=1
|
|
||||||
soExcModuleVersion=1
|
|
||||||
soExcID=1
|
|
||||||
soExcCount=1
|
|
||||||
soExcStatus=1
|
|
||||||
soExcNote=1
|
|
||||||
soUserID=1
|
|
||||||
soUserName=1
|
|
||||||
soUserEmail=1
|
|
||||||
soUserPrivileges=1
|
|
||||||
soUserCompany=1
|
|
||||||
soCmpDisplayDPI=1
|
|
||||||
soCmpVideoCard=1
|
|
||||||
soCmpPrinter=1
|
|
||||||
soOSCharset=1
|
|
||||||
soCustomData=1
|
|
||||||
sndAddComputerNameInFileName=0
|
|
||||||
edoSendErrorReportChecked=1
|
|
||||||
edoShowSendErrorReportOption=1
|
|
||||||
edoShowAttachScreenshotOption=1
|
|
||||||
edoShowCustomButton=0
|
|
||||||
csoDoNotStoreProcNames=0
|
|
||||||
boHandleSafeCallExceptions=0
|
|
||||||
boCallRTLExceptionEvent=0
|
|
||||||
boCatchHandledExceptions=0
|
|
||||||
loCatchLeaks=0
|
|
||||||
loGroupsSonLeaks=1
|
|
||||||
loHideBorlandLeaks=1
|
|
||||||
loFreeAllLeaks=1
|
|
||||||
loCatchLeaksExceptions=1
|
|
||||||
cfoReduceFileSize=1
|
|
||||||
cfoCheckFileCorruption=0
|
|
||||||
Count mtErrorMsgCaption=1
|
|
||||||
mtErrorMsgCaption0="Error."
|
|
||||||
Count mtDialog_ProcessesCaption=1
|
|
||||||
mtDialog_ProcessesCaption0="Processes"
|
|
||||||
Count mtDialog_ProcessesHeader=1
|
|
||||||
mtDialog_ProcessesHeader0="Processes Information"
|
|
||||||
Count mtDialog_AsmCaption=1
|
|
||||||
mtDialog_AsmCaption0="Assembler"
|
|
||||||
Count mtDialog_AsmHeader=1
|
|
||||||
mtDialog_AsmHeader0="Assembler Information"
|
|
||||||
Count mtDialog_CustomButtonCaption=1
|
|
||||||
mtDialog_CustomButtonCaption0="%26Help"
|
|
||||||
Count mtMSDialog_ErrorMsgCaption=1
|
|
||||||
mtMSDialog_ErrorMsgCaption0="The application has encountered a problem. We are sorry for the inconvenience."
|
|
||||||
Count mtMSDialog_RestartCaption=1
|
|
||||||
mtMSDialog_RestartCaption0="Restart application."
|
|
||||||
Count mtMSDialog_TerminateCaption=1
|
|
||||||
mtMSDialog_TerminateCaption0="Terminate application."
|
|
||||||
Count mtMSDialog_PleaseCaption=1
|
|
||||||
mtMSDialog_PleaseCaption0="Please tell us about this problem."
|
|
||||||
Count mtMSDialog_DescriptionCaption=1
|
|
||||||
mtMSDialog_DescriptionCaption0="We have created an error report that you can send to us. We will treat this report as confidential and anonymous."
|
|
||||||
Count mtMSDialog_SeeDetailsCaption=1
|
|
||||||
mtMSDialog_SeeDetailsCaption0="To see what data the error report contains,"
|
|
||||||
Count mtMSDialog_SeeClickCaption=1
|
|
||||||
mtMSDialog_SeeClickCaption0="click here."
|
|
||||||
Count mtMSDialog_HowToReproduceCaption=1
|
|
||||||
mtMSDialog_HowToReproduceCaption0="What were you doing when the problem happended (optional)?"
|
|
||||||
Count mtMSDialog_EmailCaption=1
|
|
||||||
mtMSDialog_EmailCaption0="Email address (optional):"
|
|
||||||
Count mtMSDialog_SendButtonCaption=1
|
|
||||||
mtMSDialog_SendButtonCaption0="%26Send Error Report"
|
|
||||||
Count mtMSDialog_NoSendButtonCaption=1
|
|
||||||
mtMSDialog_NoSendButtonCaption0="%26Don't Send"
|
|
||||||
Count mtLog_AppUpTime=1
|
|
||||||
mtLog_AppUpTime0="Up Time"
|
|
||||||
Count mtLog_ExcModuleName=1
|
|
||||||
mtLog_ExcModuleName0="Module Name"
|
|
||||||
Count mtLog_ExcModuleVersion=1
|
|
||||||
mtLog_ExcModuleVersion0="Module Version"
|
|
||||||
Count mtLog_ExcID=1
|
|
||||||
mtLog_ExcID0="ID"
|
|
||||||
Count mtLog_ExcCount=1
|
|
||||||
mtLog_ExcCount0="Count"
|
|
||||||
Count mtLog_ExcStatus=1
|
|
||||||
mtLog_ExcStatus0="Status"
|
|
||||||
Count mtLog_ExcNote=1
|
|
||||||
mtLog_ExcNote0="Note"
|
|
||||||
Count mtLog_UserHeader=1
|
|
||||||
mtLog_UserHeader0="User"
|
|
||||||
Count mtLog_UserID=1
|
|
||||||
mtLog_UserID0="ID"
|
|
||||||
Count mtLog_UserName=1
|
|
||||||
mtLog_UserName0="Name"
|
|
||||||
Count mtLog_UserEmail=1
|
|
||||||
mtLog_UserEmail0="Email"
|
|
||||||
Count mtLog_UserCompany=1
|
|
||||||
mtLog_UserCompany0="Company"
|
|
||||||
Count mtLog_UserPrivileges=1
|
|
||||||
mtLog_UserPrivileges0="Privileges"
|
|
||||||
Count mtLog_CmpDisplayDPI=1
|
|
||||||
mtLog_CmpDisplayDPI0="Display DPI"
|
|
||||||
Count mtLog_CmpVideoCard=1
|
|
||||||
mtLog_CmpVideoCard0="Video Card"
|
|
||||||
Count mtLog_CmpPrinter=1
|
|
||||||
mtLog_CmpPrinter0="Printer"
|
|
||||||
Count mtLog_OSCharset=1
|
|
||||||
mtLog_OSCharset0="Charset"
|
|
||||||
Count mtCallStack_LeakCaption=1
|
|
||||||
mtCallStack_LeakCaption0="Memory Leak"
|
|
||||||
Count mtCallStack_LeakData=1
|
|
||||||
mtCallStack_LeakData0="Data"
|
|
||||||
Count mtCallStack_LeakType=1
|
|
||||||
mtCallStack_LeakType0="Type"
|
|
||||||
Count mtCallStack_LeakSize=1
|
|
||||||
mtCallStack_LeakSize0="Total size"
|
|
||||||
Count mtCallStack_LeakCount=1
|
|
||||||
mtCallStack_LeakCount0="Count"
|
|
||||||
Count mtSendDialog_Login=1
|
|
||||||
mtSendDialog_Login0="Login..."
|
|
||||||
Count mtSendDialog_Sent=1
|
|
||||||
mtSendDialog_Sent0="Message sent."
|
|
||||||
Count mtSendDialog_SelectProject=1
|
|
||||||
mtSendDialog_SelectProject0="Select project..."
|
|
||||||
Count mtSendDialog_Searching=1
|
|
||||||
mtSendDialog_Searching0="Searching..."
|
|
||||||
Count mtSendDialog_Modifying=1
|
|
||||||
mtSendDialog_Modifying0="Modifying..."
|
|
||||||
Count mtSendDialog_Disconnecting=1
|
|
||||||
mtSendDialog_Disconnecting0="Disconnecting..."
|
|
||||||
Count mtSendDialog_Disconnected=1
|
|
||||||
mtSendDialog_Disconnected0="Disconnected."
|
|
||||||
Count mtProcesses_ID=1
|
|
||||||
mtProcesses_ID0="ID"
|
|
||||||
Count mtProcesses_Name=1
|
|
||||||
mtProcesses_Name0="Name"
|
|
||||||
Count mtProcesses_Description=1
|
|
||||||
mtProcesses_Description0="Description"
|
|
||||||
Count mtProcesses_Version=1
|
|
||||||
mtProcesses_Version0="Version"
|
|
||||||
Count mtProcesses_Memory=1
|
|
||||||
mtProcesses_Memory0="Memory"
|
|
||||||
Count mtProcesses_Priority=1
|
|
||||||
mtProcesses_Priority0="Priority"
|
|
||||||
Count mtProcesses_Threads=1
|
|
||||||
mtProcesses_Threads0="Threads"
|
|
||||||
Count mtProcesses_Path=1
|
|
||||||
mtProcesses_Path0="Path"
|
|
||||||
Count mtSend_BugClosedMsg=2
|
|
||||||
mtSend_BugClosedMsg0="These BUG is just closed."
|
|
||||||
mtSend_BugClosedMsg1="Contact the program support to obtain an update."
|
|
||||||
Count mtSend_UnknownErrorMsg=1
|
|
||||||
mtSend_UnknownErrorMsg0="Unknown error."
|
|
||||||
Count mtSend_InvalidLoginMsg=1
|
|
||||||
mtSend_InvalidLoginMsg0="Invalid login request."
|
|
||||||
Count mtSend_InvalidSearchMsg=1
|
|
||||||
mtSend_InvalidSearchMsg0="Invalid search request."
|
|
||||||
Count mtSend_InvalidSelectionMsg=1
|
|
||||||
mtSend_InvalidSelectionMsg0="Invalid selection request."
|
|
||||||
Count mtSend_InvalidInsertMsg=1
|
|
||||||
mtSend_InvalidInsertMsg0="Invalid insert request."
|
|
||||||
Count mtSend_InvalidModifyMsg=1
|
|
||||||
mtSend_InvalidModifyMsg0="Invalid modify request."
|
|
||||||
Count mtFileCrackedMsg=2
|
|
||||||
mtFileCrackedMsg0="This file is cracked."
|
|
||||||
mtFileCrackedMsg1="The application will be closed."
|
|
||||||
Count mtException_LeakMultiFree=1
|
|
||||||
mtException_LeakMultiFree0="Multi Free memory leak."
|
|
||||||
Count mtException_LeakMemoryOverrun=1
|
|
||||||
mtException_LeakMemoryOverrun0="Memory Overrun leak."
|
|
||||||
Count mtException_AntiFreeze=1
|
|
||||||
mtException_AntiFreeze0="The application seems to be frozen."
|
|
||||||
Count mtInvalidEmailMsg=1
|
|
||||||
mtInvalidEmailMsg0="Invalid email."
|
|
||||||
TextsCollection=English
|
|
||||||
EurekaLog Last Line -->
|
|
||||||
</BorlandProject>
|
|
||||||
Binary file not shown.
@ -1,71 +0,0 @@
|
|||||||
package GUIBase;
|
|
||||||
|
|
||||||
{$R *.res}
|
|
||||||
{$ALIGN 8}
|
|
||||||
{$ASSERTIONS ON}
|
|
||||||
{$BOOLEVAL OFF}
|
|
||||||
{$DEBUGINFO ON}
|
|
||||||
{$EXTENDEDSYNTAX ON}
|
|
||||||
{$IMPORTEDDATA ON}
|
|
||||||
{$IOCHECKS ON}
|
|
||||||
{$LOCALSYMBOLS ON}
|
|
||||||
{$LONGSTRINGS ON}
|
|
||||||
{$OPENSTRINGS ON}
|
|
||||||
{$OPTIMIZATION OFF}
|
|
||||||
{$OVERFLOWCHECKS OFF}
|
|
||||||
{$RANGECHECKS OFF}
|
|
||||||
{$REFERENCEINFO ON}
|
|
||||||
{$SAFEDIVIDE OFF}
|
|
||||||
{$STACKFRAMES ON}
|
|
||||||
{$TYPEDADDRESS OFF}
|
|
||||||
{$VARSTRINGCHECKS ON}
|
|
||||||
{$WRITEABLECONST OFF}
|
|
||||||
{$MINENUMSIZE 1}
|
|
||||||
{$IMAGEBASE $400000}
|
|
||||||
{$IMPLICITBUILD ON}
|
|
||||||
|
|
||||||
requires
|
|
||||||
rtl,
|
|
||||||
Base,
|
|
||||||
vcl,
|
|
||||||
dbrtl,
|
|
||||||
vcldb,
|
|
||||||
ControllerBase,
|
|
||||||
dxBarD10,
|
|
||||||
dxBarExtItemsD10,
|
|
||||||
dxPScxCommonD10,
|
|
||||||
dxPScxGridLnkD10,
|
|
||||||
dxPsPrVwAdvD10,
|
|
||||||
dxLayoutControlD10,
|
|
||||||
frx10,
|
|
||||||
frxe10,
|
|
||||||
fs10,
|
|
||||||
JvAppFrmD11R,
|
|
||||||
JvCtrlsD11R;
|
|
||||||
|
|
||||||
contains
|
|
||||||
uEditorBase in 'uEditorBase.pas' {fEditorBase: TCustomEditor},
|
|
||||||
uEditorGridBase in 'uEditorGridBase.pas' {fEditorGridBase: TCustomEditor},
|
|
||||||
uEditorItem in 'uEditorItem.pas' {fEditorItem: TCustomEditor},
|
|
||||||
uEditorPreview in 'uEditorPreview.pas' {fEditorPreview: TCustomEditor},
|
|
||||||
uViewPreview in 'uViewPreview.pas' {frViewPreview: TFrame},
|
|
||||||
uViewBase in 'uViewBase.pas' {frViewBase: TFrame},
|
|
||||||
uEditorDBBase in 'uEditorDBBase.pas' {fEditorDBBase: TCustomEditor},
|
|
||||||
uEditorDBItem in 'uEditorDBItem.pas' {fEditorDBItem: TCustomEditor},
|
|
||||||
uViewBarraSeleccion in 'uViewBarraSeleccion.pas' {frViewBarraSeleccion: TFrame},
|
|
||||||
uViewGridBase in 'uViewGridBase.pas' {frViewGridBase: TFrame},
|
|
||||||
uBizInformesAware in 'uBizInformesAware.pas',
|
|
||||||
uViewFormaPago in 'uViewFormaPago.pas' {frViewFormaPago: TFrame},
|
|
||||||
uViewObservaciones in 'uViewObservaciones.pas' {frViewObservaciones: TFrame},
|
|
||||||
uViewTotales in 'uViewTotales.pas' {frViewTotales: TFrame},
|
|
||||||
uViewDetallesBase in 'uViewDetallesBase.pas' {frViewDetallesBase: TFrame},
|
|
||||||
uViewIncidencias in 'uViewIncidencias.pas' {frViewIncidencias: TFrame},
|
|
||||||
uViewDetallesDTO in 'uViewDetallesDTO.pas' {frViewDetallesDTO: TCustomView},
|
|
||||||
uViewDetallesGenerico in 'uViewDetallesGenerico.pas' {frViewDetallesGenerico: TFrame},
|
|
||||||
uViewGrid2Niveles in 'uViewGrid2Niveles.pas' {frViewGrid2Niveles: TFrame},
|
|
||||||
uEditorBasico in 'uEditorBasico.pas' {fEditorBasico},
|
|
||||||
uDialogBase in 'uDialogBase.pas' {fDialogBase},
|
|
||||||
uViewFiltroBase in 'uViewFiltroBase.pas' {frViewFiltroBase: TFrame},
|
|
||||||
uViewGrid in 'uViewGrid.pas' {frViewGrid: TFrame};
|
|
||||||
|
|
||||||
end.
|
|
||||||
@ -1,71 +0,0 @@
|
|||||||
package GUIBase;
|
|
||||||
|
|
||||||
{$R *.res}
|
|
||||||
{$ALIGN 8}
|
|
||||||
{$ASSERTIONS ON}
|
|
||||||
{$BOOLEVAL OFF}
|
|
||||||
{$DEBUGINFO ON}
|
|
||||||
{$EXTENDEDSYNTAX ON}
|
|
||||||
{$IMPORTEDDATA ON}
|
|
||||||
{$IOCHECKS ON}
|
|
||||||
{$LOCALSYMBOLS ON}
|
|
||||||
{$LONGSTRINGS ON}
|
|
||||||
{$OPENSTRINGS ON}
|
|
||||||
{$OPTIMIZATION OFF}
|
|
||||||
{$OVERFLOWCHECKS OFF}
|
|
||||||
{$RANGECHECKS OFF}
|
|
||||||
{$REFERENCEINFO ON}
|
|
||||||
{$SAFEDIVIDE OFF}
|
|
||||||
{$STACKFRAMES ON}
|
|
||||||
{$TYPEDADDRESS OFF}
|
|
||||||
{$VARSTRINGCHECKS ON}
|
|
||||||
{$WRITEABLECONST OFF}
|
|
||||||
{$MINENUMSIZE 1}
|
|
||||||
{$IMAGEBASE $400000}
|
|
||||||
{$IMPLICITBUILD OFF}
|
|
||||||
|
|
||||||
requires
|
|
||||||
rtl,
|
|
||||||
Base,
|
|
||||||
vcl,
|
|
||||||
dbrtl,
|
|
||||||
vcldb,
|
|
||||||
ControllerBase,
|
|
||||||
dxBarD10,
|
|
||||||
dxBarExtItemsD10,
|
|
||||||
dxPScxCommonD10,
|
|
||||||
dxPScxGridLnkD10,
|
|
||||||
dxPsPrVwAdvD10,
|
|
||||||
dxLayoutControlD10,
|
|
||||||
frx10,
|
|
||||||
frxe10,
|
|
||||||
fs10,
|
|
||||||
JvAppFrmD11R,
|
|
||||||
JvCtrlsD11R;
|
|
||||||
|
|
||||||
contains
|
|
||||||
uEditorBase in 'uEditorBase.pas' {fEditorBase: TCustomEditor},
|
|
||||||
uEditorGridBase in 'uEditorGridBase.pas' {fEditorGridBase: TCustomEditor},
|
|
||||||
uEditorItem in 'uEditorItem.pas' {fEditorItem: TCustomEditor},
|
|
||||||
uEditorPreview in 'uEditorPreview.pas' {fEditorPreview: TCustomEditor},
|
|
||||||
uViewPreview in 'uViewPreview.pas' {frViewPreview: TFrame},
|
|
||||||
uViewBase in 'uViewBase.pas' {frViewBase: TFrame},
|
|
||||||
uEditorDBBase in 'uEditorDBBase.pas' {fEditorDBBase: TCustomEditor},
|
|
||||||
uEditorDBItem in 'uEditorDBItem.pas' {fEditorDBItem: TCustomEditor},
|
|
||||||
uViewBarraSeleccion in 'uViewBarraSeleccion.pas' {frViewBarraSeleccion: TFrame},
|
|
||||||
uViewGridBase in 'uViewGridBase.pas' {frViewGridBase: TFrame},
|
|
||||||
uBizInformesAware in 'uBizInformesAware.pas',
|
|
||||||
uViewFormaPago in 'uViewFormaPago.pas' {frViewFormaPago: TFrame},
|
|
||||||
uViewObservaciones in 'uViewObservaciones.pas' {frViewObservaciones: TFrame},
|
|
||||||
uViewTotales in 'uViewTotales.pas' {frViewTotales: TFrame},
|
|
||||||
uViewDetallesBase in 'uViewDetallesBase.pas' {frViewDetallesBase: TFrame},
|
|
||||||
uViewIncidencias in 'uViewIncidencias.pas' {frViewIncidencias: TFrame},
|
|
||||||
uViewDetallesDTO in 'uViewDetallesDTO.pas' {frViewDetallesDTO: TCustomView},
|
|
||||||
uViewDetallesGenerico in 'uViewDetallesGenerico.pas' {frViewDetallesGenerico: TFrame},
|
|
||||||
uViewGrid2Niveles in 'uViewGrid2Niveles.pas' {frViewGrid2Niveles: TFrame},
|
|
||||||
uEditorBasico in 'uEditorBasico.pas' {fEditorBasico},
|
|
||||||
uDialogBase in 'uDialogBase.pas' {fDialogBase},
|
|
||||||
uViewFiltroBase in 'uViewFiltroBase.pas' {frViewFiltroBase: TFrame},
|
|
||||||
uViewGrid in 'uViewGrid.pas' {frViewGrid: TFrame};
|
|
||||||
|
|
||||||
end.
|
|
||||||
@ -1,152 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
|
||||||
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
|
||||||
<PropertyGroup>
|
|
||||||
<ProjectGuid>{0ca27a95-0b81-4724-84bf-8f8ed4e421ae}</ProjectGuid>
|
|
||||||
<MainSource>GUIBase.dpk</MainSource>
|
|
||||||
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
|
|
||||||
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
|
|
||||||
<DCC_DCCCompiler>DCC32</DCC_DCCCompiler>
|
|
||||||
<DCC_DependencyCheckOutputName>..\..\..\Output\Debug\Cliente\GUIBase.bpl</DCC_DependencyCheckOutputName>
|
|
||||||
</PropertyGroup>
|
|
||||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
|
|
||||||
<Version>7.0</Version>
|
|
||||||
<DCC_DebugInformation>False</DCC_DebugInformation>
|
|
||||||
<DCC_LocalDebugSymbols>False</DCC_LocalDebugSymbols>
|
|
||||||
<DCC_Optimize>False</DCC_Optimize>
|
|
||||||
<DCC_GenerateStackFrames>True</DCC_GenerateStackFrames>
|
|
||||||
<DCC_SymbolReferenceInfo>0</DCC_SymbolReferenceInfo>
|
|
||||||
<DCC_MapFile>3</DCC_MapFile>
|
|
||||||
<DCC_DebugInfoInExe>True</DCC_DebugInfoInExe>
|
|
||||||
<DCC_DebugVN>True</DCC_DebugVN>
|
|
||||||
<DCC_DcuOutput>.\</DCC_DcuOutput>
|
|
||||||
<DCC_ObjOutput>.\</DCC_ObjOutput>
|
|
||||||
<DCC_HppOutput>.\</DCC_HppOutput>
|
|
||||||
<DCC_BplOutput>..\..\..\Output\Debug\Cliente</DCC_BplOutput>
|
|
||||||
<DCC_DcpOutput>..\..\Lib</DCC_DcpOutput>
|
|
||||||
<DCC_UnitSearchPath>T:\COMPON~1\jcl\lib\d10\debug;$(BDS)\lib\Debug;$(BDS)\Lib\Debug\Indy9;..\..\Lib</DCC_UnitSearchPath>
|
|
||||||
<DCC_ResourcePath>T:\COMPON~1\jcl\lib\d10\debug;$(BDS)\lib\Debug;$(BDS)\Lib\Debug\Indy9;..\..\Lib</DCC_ResourcePath>
|
|
||||||
<DCC_ObjPath>T:\COMPON~1\jcl\lib\d10\debug;$(BDS)\lib\Debug;$(BDS)\Lib\Debug\Indy9;..\..\Lib</DCC_ObjPath>
|
|
||||||
<DCC_IncludePath>T:\COMPON~1\jcl\lib\d10\debug;$(BDS)\lib\Debug;$(BDS)\Lib\Debug\Indy9;..\..\Lib</DCC_IncludePath>
|
|
||||||
<DCC_Define>RELEASE</DCC_Define>
|
|
||||||
</PropertyGroup>
|
|
||||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
|
|
||||||
<Version>7.0</Version>
|
|
||||||
<DCC_Optimize>False</DCC_Optimize>
|
|
||||||
<DCC_GenerateStackFrames>True</DCC_GenerateStackFrames>
|
|
||||||
<DCC_MapFile>3</DCC_MapFile>
|
|
||||||
<DCC_DebugInfoInExe>True</DCC_DebugInfoInExe>
|
|
||||||
<DCC_DebugVN>True</DCC_DebugVN>
|
|
||||||
<DCC_DcuOutput>.\</DCC_DcuOutput>
|
|
||||||
<DCC_ObjOutput>.\</DCC_ObjOutput>
|
|
||||||
<DCC_HppOutput>.\</DCC_HppOutput>
|
|
||||||
<DCC_BplOutput>..\..\..\Output\Debug\Cliente</DCC_BplOutput>
|
|
||||||
<DCC_DcpOutput>..\..\Lib</DCC_DcpOutput>
|
|
||||||
<DCC_UnitSearchPath>T:\COMPON~1\jcl\lib\d10\debug;$(BDS)\lib\Debug;$(BDS)\Lib\Debug\Indy9;..\..\Lib</DCC_UnitSearchPath>
|
|
||||||
<DCC_ResourcePath>T:\COMPON~1\jcl\lib\d10\debug;$(BDS)\lib\Debug;$(BDS)\Lib\Debug\Indy9;..\..\Lib</DCC_ResourcePath>
|
|
||||||
<DCC_ObjPath>T:\COMPON~1\jcl\lib\d10\debug;$(BDS)\lib\Debug;$(BDS)\Lib\Debug\Indy9;..\..\Lib</DCC_ObjPath>
|
|
||||||
<DCC_IncludePath>T:\COMPON~1\jcl\lib\d10\debug;$(BDS)\lib\Debug;$(BDS)\Lib\Debug\Indy9;..\..\Lib</DCC_IncludePath>
|
|
||||||
</PropertyGroup>
|
|
||||||
<ProjectExtensions>
|
|
||||||
<Borland.Personality>Delphi.Personality</Borland.Personality>
|
|
||||||
<Borland.ProjectType>Package</Borland.ProjectType>
|
|
||||||
<BorlandProject>
|
|
||||||
<BorlandProject><Delphi.Personality><Parameters><Parameters Name="UseLauncher">False</Parameters><Parameters Name="LoadAllSymbols">True</Parameters><Parameters Name="LoadUnspecifiedSymbols">False</Parameters></Parameters><Package_Options><Package_Options Name="ImplicitBuild">False</Package_Options><Package_Options Name="DesigntimeOnly">False</Package_Options><Package_Options Name="RuntimeOnly">False</Package_Options></Package_Options><VersionInfo><VersionInfo Name="IncludeVerInfo">True</VersionInfo><VersionInfo Name="AutoIncBuild">False</VersionInfo><VersionInfo Name="MajorVer">1</VersionInfo><VersionInfo Name="MinorVer">0</VersionInfo><VersionInfo Name="Release">0</VersionInfo><VersionInfo Name="Build">0</VersionInfo><VersionInfo Name="Debug">False</VersionInfo><VersionInfo Name="PreRelease">False</VersionInfo><VersionInfo Name="Special">False</VersionInfo><VersionInfo Name="Private">False</VersionInfo><VersionInfo Name="DLL">False</VersionInfo><VersionInfo Name="Locale">3082</VersionInfo><VersionInfo Name="CodePage">1252</VersionInfo></VersionInfo><VersionInfoKeys><VersionInfoKeys Name="CompanyName"></VersionInfoKeys><VersionInfoKeys Name="FileDescription"></VersionInfoKeys><VersionInfoKeys Name="FileVersion">1.0.0.0</VersionInfoKeys><VersionInfoKeys Name="InternalName"></VersionInfoKeys><VersionInfoKeys Name="LegalCopyright"></VersionInfoKeys><VersionInfoKeys Name="LegalTrademarks"></VersionInfoKeys><VersionInfoKeys Name="OriginalFilename"></VersionInfoKeys><VersionInfoKeys Name="ProductName"></VersionInfoKeys><VersionInfoKeys Name="ProductVersion">1.0.0.0</VersionInfoKeys><VersionInfoKeys Name="Comments"></VersionInfoKeys></VersionInfoKeys><Excluded_Packages>
|
|
||||||
<Excluded_Packages Name="$(BDS)\bin\dclwebsnap100.bpl">CodeGear WebSnap Components</Excluded_Packages>
|
|
||||||
<Excluded_Packages Name="$(BDS)\bin\dclsoap100.bpl">CodeGear SOAP Components</Excluded_Packages>
|
|
||||||
<Excluded_Packages Name="$(BDS)\bin\dclofficexp100.bpl">Microsoft Office XP Sample Automation Server Wrapper Components</Excluded_Packages>
|
|
||||||
<Excluded_Packages Name="$(BDS)\bin\dcloffice2k100.bpl">Microsoft Office 2000 Sample Automation Server Wrapper Components</Excluded_Packages>
|
|
||||||
<Excluded_Packages Name="$(BDS)\bin\bcboffice2k100.bpl">CodeGear C++Builder Office 2000 Servers Package</Excluded_Packages>
|
|
||||||
<Excluded_Packages Name="$(BDS)\bin\bcbofficexp100.bpl">CodeGear C++Builder Office XP Servers Package</Excluded_Packages>
|
|
||||||
</Excluded_Packages><Source><Source Name="MainSource">GUIBase.dpk</Source></Source></Delphi.Personality></BorlandProject></BorlandProject>
|
|
||||||
</ProjectExtensions>
|
|
||||||
<Import Project="$(MSBuildBinPath)\Borland.Delphi.Targets" />
|
|
||||||
<ItemGroup>
|
|
||||||
<DelphiCompile Include="GUIBase.dpk">
|
|
||||||
<MainSource>MainSource</MainSource>
|
|
||||||
</DelphiCompile>
|
|
||||||
<DCCReference Include="..\..\Modulos\Empresas\Base.dcp" />
|
|
||||||
<DCCReference Include="..\..\Modulos\Empresas\ControllerBase.dcp" />
|
|
||||||
<DCCReference Include="..\..\Modulos\Empresas\dbrtl.dcp" />
|
|
||||||
<DCCReference Include="..\..\Modulos\Empresas\dxBarD10.dcp" />
|
|
||||||
<DCCReference Include="..\..\Modulos\Empresas\dxBarExtItemsD10.dcp" />
|
|
||||||
<DCCReference Include="..\..\Modulos\Empresas\dxLayoutControlD10.dcp" />
|
|
||||||
<DCCReference Include="..\..\Modulos\Empresas\dxPScxCommonD10.dcp" />
|
|
||||||
<DCCReference Include="..\..\Modulos\Empresas\dxPScxGridLnkD10.dcp" />
|
|
||||||
<DCCReference Include="..\..\Modulos\Empresas\dxPsPrVwAdvD10.dcp" />
|
|
||||||
<DCCReference Include="..\..\Modulos\Empresas\frx10.dcp" />
|
|
||||||
<DCCReference Include="..\..\Modulos\Empresas\frxe10.dcp" />
|
|
||||||
<DCCReference Include="..\..\Modulos\Empresas\fs10.dcp" />
|
|
||||||
<DCCReference Include="..\..\Modulos\Empresas\JvAppFrmD11R.dcp" />
|
|
||||||
<DCCReference Include="..\..\Modulos\Empresas\JvCtrlsD11R.dcp" />
|
|
||||||
<DCCReference Include="..\..\Modulos\Empresas\rtl.dcp" />
|
|
||||||
<DCCReference Include="..\..\Modulos\Empresas\vcl.dcp" />
|
|
||||||
<DCCReference Include="..\..\Modulos\Empresas\vcldb.dcp" />
|
|
||||||
<DCCReference Include="uBizInformesAware.pas" />
|
|
||||||
<DCCReference Include="uDialogBase.pas">
|
|
||||||
<Form>fDialogBase</Form>
|
|
||||||
</DCCReference>
|
|
||||||
<DCCReference Include="uEditorBase.pas">
|
|
||||||
<Form>fEditorBase</Form>
|
|
||||||
</DCCReference>
|
|
||||||
<DCCReference Include="uEditorBasico.pas">
|
|
||||||
<Form>fEditorBasico</Form>
|
|
||||||
</DCCReference>
|
|
||||||
<DCCReference Include="uEditorDBBase.pas">
|
|
||||||
<Form>fEditorDBBase</Form>
|
|
||||||
</DCCReference>
|
|
||||||
<DCCReference Include="uEditorDBItem.pas">
|
|
||||||
<Form>fEditorDBItem</Form>
|
|
||||||
</DCCReference>
|
|
||||||
<DCCReference Include="uEditorGridBase.pas">
|
|
||||||
<Form>fEditorGridBase</Form>
|
|
||||||
</DCCReference>
|
|
||||||
<DCCReference Include="uEditorItem.pas">
|
|
||||||
<Form>fEditorItem</Form>
|
|
||||||
</DCCReference>
|
|
||||||
<DCCReference Include="uEditorPreview.pas">
|
|
||||||
<Form>fEditorPreview</Form>
|
|
||||||
</DCCReference>
|
|
||||||
<DCCReference Include="uViewBarraSeleccion.pas">
|
|
||||||
<Form>frViewBarraSeleccion</Form>
|
|
||||||
</DCCReference>
|
|
||||||
<DCCReference Include="uViewBase.pas">
|
|
||||||
<Form>frViewBase</Form>
|
|
||||||
</DCCReference>
|
|
||||||
<DCCReference Include="uViewDetallesBase.pas">
|
|
||||||
<Form>frViewDetallesBase</Form>
|
|
||||||
</DCCReference>
|
|
||||||
<DCCReference Include="uViewDetallesDTO.pas">
|
|
||||||
<Form>frViewDetallesDTO</Form>
|
|
||||||
</DCCReference>
|
|
||||||
<DCCReference Include="uViewDetallesGenerico.pas">
|
|
||||||
<Form>frViewDetallesGenerico</Form>
|
|
||||||
</DCCReference>
|
|
||||||
<DCCReference Include="uViewFiltroBase.pas">
|
|
||||||
<Form>frViewFiltroBase</Form>
|
|
||||||
</DCCReference>
|
|
||||||
<DCCReference Include="uViewFormaPago.pas">
|
|
||||||
<Form>frViewFormaPago</Form>
|
|
||||||
</DCCReference>
|
|
||||||
<DCCReference Include="uViewGrid.pas">
|
|
||||||
<Form>frViewGrid</Form>
|
|
||||||
</DCCReference>
|
|
||||||
<DCCReference Include="uViewGrid2Niveles.pas">
|
|
||||||
<Form>frViewGrid2Niveles</Form>
|
|
||||||
</DCCReference>
|
|
||||||
<DCCReference Include="uViewGridBase.pas">
|
|
||||||
<Form>frViewGridBase</Form>
|
|
||||||
</DCCReference>
|
|
||||||
<DCCReference Include="uViewIncidencias.pas">
|
|
||||||
<Form>frViewIncidencias</Form>
|
|
||||||
</DCCReference>
|
|
||||||
<DCCReference Include="uViewObservaciones.pas">
|
|
||||||
<Form>frViewObservaciones</Form>
|
|
||||||
</DCCReference>
|
|
||||||
<DCCReference Include="uViewPreview.pas">
|
|
||||||
<Form>frViewPreview</Form>
|
|
||||||
</DCCReference>
|
|
||||||
<DCCReference Include="uViewTotales.pas">
|
|
||||||
<Form>frViewTotales</Form>
|
|
||||||
</DCCReference>
|
|
||||||
</ItemGroup>
|
|
||||||
</Project>
|
|
||||||
@ -1,38 +0,0 @@
|
|||||||
/* VER185
|
|
||||||
Generated by the CodeGear Delphi Pascal Compiler
|
|
||||||
because -GD or --drc was supplied to the compiler.
|
|
||||||
|
|
||||||
This file contains compiler-generated resources that
|
|
||||||
were bound to the executable.
|
|
||||||
If this file is empty, then no compiler-generated
|
|
||||||
resources were bound to the produced executable.
|
|
||||||
*/
|
|
||||||
|
|
||||||
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:\Codigo Tecsitel\Source\Base\GUIBase\GUIBase.drf */
|
|
||||||
Binary file not shown.
@ -1,22 +0,0 @@
|
|||||||
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
|
|
||||||
Binary file not shown.
@ -1,345 +0,0 @@
|
|||||||
{*******************************************************}
|
|
||||||
{ }
|
|
||||||
{ Administración de puntos de venta }
|
|
||||||
{ }
|
|
||||||
{ Copyright (C) 2006 Rodax Software S.L. }
|
|
||||||
{ }
|
|
||||||
{*******************************************************}
|
|
||||||
|
|
||||||
unit uViewGridBase;
|
|
||||||
|
|
||||||
interface
|
|
||||||
|
|
||||||
uses
|
|
||||||
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
|
|
||||||
Dialogs, uViewBase, cxStyles, cxCustomData, cxGraphics, cxFilter, cxData,
|
|
||||||
cxDataStorage, cxEdit, DB, cxDBData, uDADataTable, cxGridLevel,
|
|
||||||
cxClasses, cxControls, cxGridCustomView, cxGridCustomTableView,
|
|
||||||
cxGridTableView, cxGridDBTableView, cxGrid, Menus, ActnList, Grids,
|
|
||||||
DBGrids, JvComponent, JvFormAutoSize, dxPSGlbl, dxPSUtl, dxPSEngn,
|
|
||||||
dxPrnPg, dxBkgnd, dxWrap, dxPrnDev, dxPSCompsProvider, dxPSFillPatterns,
|
|
||||||
dxPSEdgePatterns, dxPSCore, dxPScxCommon, dxPScxGridLnk, dxPrnDlg,
|
|
||||||
cxIntlPrintSys3, dxPSPrvwAdv, uGridUtils;
|
|
||||||
|
|
||||||
type
|
|
||||||
IViewGridBase = interface(IViewBase)
|
|
||||||
['{D5B9B017-2A2E-44AC-8223-E54664C6BC66}']
|
|
||||||
procedure ExpandirTodo;
|
|
||||||
procedure ContraerTodo;
|
|
||||||
procedure AjustarAncho;
|
|
||||||
|
|
||||||
procedure Preview;
|
|
||||||
procedure Print;
|
|
||||||
procedure PrintSetup;
|
|
||||||
|
|
||||||
function IsEmpty : Boolean;
|
|
||||||
|
|
||||||
procedure SaveGridStatus;
|
|
||||||
procedure RestoreGridStatus;
|
|
||||||
|
|
||||||
procedure GotoFirst;
|
|
||||||
procedure GotoLast;
|
|
||||||
|
|
||||||
function GetFocusedView : TcxGridDBTableView;
|
|
||||||
property _FocusedView : TcxGridDBTableView read GetFocusedView;
|
|
||||||
|
|
||||||
function GetGrid : TcxGrid;
|
|
||||||
property _Grid : TcxGrid read GetGrid;
|
|
||||||
|
|
||||||
procedure StoreToRegistry (const Path : String);
|
|
||||||
procedure RestoreFromRegistry (const Path : String);
|
|
||||||
|
|
||||||
procedure SetDblClick(const Value: TNotifyEvent);
|
|
||||||
function GetDblClick: TNotifyEvent;
|
|
||||||
property OnDblClick: TNotifyEvent read GetDblClick write SetDblClick;
|
|
||||||
|
|
||||||
procedure SetPopupMenu(const Value: TPopupMenu);
|
|
||||||
function GetPopupMenu: TPopupMenu;
|
|
||||||
property PopupMenu: TPopupMenu read GetPopupMenu write SetPopupMenu;
|
|
||||||
|
|
||||||
function GetMultiSelect: Boolean;
|
|
||||||
procedure SetMultiSelect(const Value: Boolean);
|
|
||||||
property MultiSelect : Boolean read GetMultiSelect write SetMultiSelect;
|
|
||||||
|
|
||||||
procedure SetFilter(const Value: string);
|
|
||||||
function GetFilter: string;
|
|
||||||
property Filter: string read GetFilter write SetFilter;
|
|
||||||
|
|
||||||
function GetFiltered: Boolean;
|
|
||||||
property Filtered : Boolean read GetFiltered;
|
|
||||||
end;
|
|
||||||
|
|
||||||
|
|
||||||
TfrViewGridBase = class(TfrViewBase, IViewGridBase)
|
|
||||||
dsDataSource: TDADataSource;
|
|
||||||
private
|
|
||||||
FFilter: string;
|
|
||||||
FOnFilterChanged : TNotifyEvent;
|
|
||||||
procedure FiltrarGrid(TextoFiltro : String);
|
|
||||||
protected
|
|
||||||
FGridStatus : TcxGridStatus;
|
|
||||||
FOnDblClick: TNotifyEvent;
|
|
||||||
FPopupMenu: TPopupMenu;
|
|
||||||
function GetMultiSelect: Boolean; virtual;
|
|
||||||
procedure SetMultiSelect(const Value: Boolean); virtual;
|
|
||||||
procedure SetPopupMenu(const Value: TPopupMenu); virtual;
|
|
||||||
function GetPopupMenu: TPopupMenu; virtual;
|
|
||||||
procedure SetDblClick(const Value: TNotifyEvent); virtual;
|
|
||||||
function GetDblClick: TNotifyEvent; virtual;
|
|
||||||
function GetGrid : TcxGrid; virtual; abstract;
|
|
||||||
function GetFocusedView : TcxGridDBTableView; virtual; abstract;
|
|
||||||
procedure SetFilter(const Value: string); virtual;
|
|
||||||
function GetFilter: string; virtual;
|
|
||||||
function GetFiltered: Boolean; virtual;
|
|
||||||
procedure FilterChanged(Sender : TObject); virtual;
|
|
||||||
public
|
|
||||||
constructor Create(AOwner: TComponent); override;
|
|
||||||
|
|
||||||
procedure ShowEmbedded(const AParent : TWinControl); override;
|
|
||||||
|
|
||||||
procedure ExpandirTodo;
|
|
||||||
procedure ContraerTodo;
|
|
||||||
procedure AjustarAncho;
|
|
||||||
|
|
||||||
procedure Preview; virtual;
|
|
||||||
procedure Print; virtual;
|
|
||||||
procedure PrintSetup; virtual;
|
|
||||||
|
|
||||||
function IsEmpty : Boolean;
|
|
||||||
|
|
||||||
procedure SaveGridStatus;
|
|
||||||
procedure RestoreGridStatus;
|
|
||||||
|
|
||||||
procedure GotoFirst;
|
|
||||||
procedure GotoLast;
|
|
||||||
|
|
||||||
procedure StoreToRegistry (const Path : String);
|
|
||||||
procedure RestoreFromRegistry (const Path : String);
|
|
||||||
|
|
||||||
property Filter: string read GetFilter write SetFilter;
|
|
||||||
property Filtered : Boolean read GetFiltered;
|
|
||||||
property _FocusedView : TcxGridDBTableView read GetFocusedView;
|
|
||||||
property _Grid : TcxGrid read GetGrid;
|
|
||||||
property OnDblClick: TNotifyEvent read GetDblClick write SetDblClick;
|
|
||||||
property PopupMenu: TPopupMenu read GetPopupMenu write SetPopupMenu;
|
|
||||||
property MultiSelect : Boolean read GetMultiSelect write SetMultiSelect;
|
|
||||||
destructor Destroy; override;
|
|
||||||
end;
|
|
||||||
|
|
||||||
procedure Register;
|
|
||||||
|
|
||||||
implementation
|
|
||||||
|
|
||||||
uses
|
|
||||||
CCReg, uDataModuleBase, uDBSelectionListUtils;
|
|
||||||
|
|
||||||
{$R *.dfm}
|
|
||||||
|
|
||||||
procedure Register;
|
|
||||||
begin
|
|
||||||
RegisterCustomContainer(TfrViewGridBase);
|
|
||||||
end;
|
|
||||||
|
|
||||||
{ TfrViewGrid }
|
|
||||||
|
|
||||||
procedure TfrViewGridBase.AjustarAncho;
|
|
||||||
begin
|
|
||||||
if Assigned(_FocusedView) then
|
|
||||||
_FocusedView.ApplyBestFit;
|
|
||||||
end;
|
|
||||||
|
|
||||||
procedure TfrViewGridBase.ContraerTodo;
|
|
||||||
begin
|
|
||||||
if Assigned(_FocusedView) then
|
|
||||||
_FocusedView.ViewData.Collapse(True);
|
|
||||||
end;
|
|
||||||
|
|
||||||
constructor TfrViewGridBase.Create(AOwner: TComponent);
|
|
||||||
begin
|
|
||||||
inherited;
|
|
||||||
FFilter := '';
|
|
||||||
FOnFilterChanged := FilterChanged;
|
|
||||||
FPopupMenu := nil;
|
|
||||||
FOnDblClick := nil;
|
|
||||||
FGridStatus := NIL;
|
|
||||||
end;
|
|
||||||
|
|
||||||
procedure TfrViewGridBase.ExpandirTodo;
|
|
||||||
begin
|
|
||||||
if Assigned(_FocusedView) then
|
|
||||||
_FocusedView.ViewData.Expand(True);
|
|
||||||
end;
|
|
||||||
|
|
||||||
function TfrViewGridBase.GetDblClick: TNotifyEvent;
|
|
||||||
begin
|
|
||||||
Result := FOnDblClick;
|
|
||||||
end;
|
|
||||||
|
|
||||||
function TfrViewGridBase.GetFilter: string;
|
|
||||||
begin
|
|
||||||
Result := FFilter;
|
|
||||||
end;
|
|
||||||
|
|
||||||
function TfrViewGridBase.GetFiltered: Boolean;
|
|
||||||
begin
|
|
||||||
Result := (_FocusedView.DataController.Filter.Root.Count > 0);
|
|
||||||
end;
|
|
||||||
|
|
||||||
function TfrViewGridBase.GetMultiSelect: Boolean;
|
|
||||||
begin
|
|
||||||
Result := _FocusedView.OptionsSelection.MultiSelect;
|
|
||||||
end;
|
|
||||||
|
|
||||||
function TfrViewGridBase.GetPopupMenu: TPopupMenu;
|
|
||||||
begin
|
|
||||||
Result := FPopupMenu;
|
|
||||||
end;
|
|
||||||
|
|
||||||
procedure TfrViewGridBase.GotoFirst;
|
|
||||||
begin
|
|
||||||
if Assigned(_FocusedView) then
|
|
||||||
_FocusedView.DataController.GotoFirst;
|
|
||||||
end;
|
|
||||||
|
|
||||||
procedure TfrViewGridBase.GotoLast;
|
|
||||||
begin
|
|
||||||
if Assigned(_FocusedView) then
|
|
||||||
_FocusedView.DataController.GotoLast;
|
|
||||||
end;
|
|
||||||
|
|
||||||
function TfrViewGridBase.IsEmpty: Boolean;
|
|
||||||
begin
|
|
||||||
Result := (_FocusedView.ViewData.RowCount < 1);
|
|
||||||
end;
|
|
||||||
|
|
||||||
procedure TfrViewGridBase.Preview;
|
|
||||||
begin
|
|
||||||
|
|
||||||
end;
|
|
||||||
|
|
||||||
procedure TfrViewGridBase.Print;
|
|
||||||
begin
|
|
||||||
|
|
||||||
end;
|
|
||||||
|
|
||||||
procedure TfrViewGridBase.PrintSetup;
|
|
||||||
begin
|
|
||||||
|
|
||||||
end;
|
|
||||||
|
|
||||||
procedure TfrViewGridBase.RestoreFromRegistry(const Path : String);
|
|
||||||
begin
|
|
||||||
if Assigned(_FocusedView) then
|
|
||||||
_FocusedView.RestoreFromRegistry(Path + '\\GridSettings\\' + Self.Name, False, False, []);
|
|
||||||
end;
|
|
||||||
|
|
||||||
procedure TfrViewGridBase.RestoreGridStatus;
|
|
||||||
begin
|
|
||||||
if Assigned(FGridStatus) then
|
|
||||||
FGridStatus.Restore(_FocusedView);
|
|
||||||
end;
|
|
||||||
|
|
||||||
procedure TfrViewGridBase.SaveGridStatus;
|
|
||||||
begin
|
|
||||||
FreeAndNil(FGridStatus);
|
|
||||||
FGridStatus := TcxGridStatus.Create(_FocusedView);
|
|
||||||
end;
|
|
||||||
|
|
||||||
procedure TfrViewGridBase.SetDblClick(const Value: TNotifyEvent);
|
|
||||||
begin
|
|
||||||
FOnDblClick := Value;
|
|
||||||
end;
|
|
||||||
|
|
||||||
procedure TfrViewGridBase.SetFilter(const Value: string);
|
|
||||||
begin
|
|
||||||
if FFilter <> Value then
|
|
||||||
begin
|
|
||||||
FFilter := Value;
|
|
||||||
FiltrarGrid(FFilter);
|
|
||||||
if Assigned(FOnFilterChanged) then
|
|
||||||
FOnFilterChanged(Self);
|
|
||||||
end;
|
|
||||||
end;
|
|
||||||
|
|
||||||
procedure TfrViewGridBase.SetMultiSelect(const Value: Boolean);
|
|
||||||
begin
|
|
||||||
_FocusedView.OptionsSelection.MultiSelect := Value;
|
|
||||||
// _FocusedView..OnSelectionChanged := SelectionChanged;
|
|
||||||
end;
|
|
||||||
|
|
||||||
procedure TfrViewGridBase.SetPopupMenu(const Value: TPopupMenu);
|
|
||||||
begin
|
|
||||||
FPopupMenu := Value;
|
|
||||||
end;
|
|
||||||
|
|
||||||
procedure TfrViewGridBase.ShowEmbedded(const AParent: TWinControl);
|
|
||||||
begin
|
|
||||||
inherited;
|
|
||||||
|
|
||||||
// No activar la tabla ya por si acaso tuviera parámetros
|
|
||||||
{ if not DADataSource.DataTable.Active then
|
|
||||||
DADataSource.DataTable.Active := True;}
|
|
||||||
|
|
||||||
GotoFirst;
|
|
||||||
_FocusedView.Focused := True;
|
|
||||||
if _FocusedView.ViewData.RecordCount > 0 then
|
|
||||||
begin
|
|
||||||
_FocusedView.ViewData.Records[0].Selected := True;
|
|
||||||
_FocusedView.ViewData.Records[0].Focused := True;
|
|
||||||
end;
|
|
||||||
end;
|
|
||||||
|
|
||||||
procedure TfrViewGridBase.StoreToRegistry(const Path : String);
|
|
||||||
begin
|
|
||||||
if Assigned(_FocusedView) then
|
|
||||||
_FocusedView.StoreToRegistry(Path + '\\GridSettings\\' + Self.Name, False, []);
|
|
||||||
end;
|
|
||||||
|
|
||||||
procedure TfrViewGridBase.FiltrarGrid(TextoFiltro : String);
|
|
||||||
var
|
|
||||||
Columna: TcxGridDBColumn;
|
|
||||||
i: Integer;
|
|
||||||
AItemList: TcxFilterCriteriaItemList;
|
|
||||||
begin
|
|
||||||
with _FocusedView.DataController.Filter do
|
|
||||||
begin
|
|
||||||
BeginUpdate;
|
|
||||||
try
|
|
||||||
Options := [fcoCaseInsensitive, fcoSoftCompare];
|
|
||||||
Root.Clear;
|
|
||||||
if Length(TextoFiltro) > 0 then
|
|
||||||
begin
|
|
||||||
AItemList := Root.AddItemList(fboAnd);
|
|
||||||
AItemList.BoolOperatorKind := fboOr;
|
|
||||||
for i:=0 to (_FocusedView as TcxGridDBTableView).ColumnCount - 1 do
|
|
||||||
begin
|
|
||||||
Columna := (_FocusedView as TcxGridDBTableView).Columns[i];
|
|
||||||
if (Length(Columna.Caption) > 0) and (Columna.Caption <> 'RecID') then
|
|
||||||
AItemList.AddItem(Columna, foLike, '%'+TextoFiltro+'%', IntToStr(i));
|
|
||||||
end;
|
|
||||||
Active := True;
|
|
||||||
end
|
|
||||||
else
|
|
||||||
Active := False;
|
|
||||||
finally
|
|
||||||
EndUpdate;
|
|
||||||
end;
|
|
||||||
end;
|
|
||||||
end;
|
|
||||||
|
|
||||||
|
|
||||||
procedure TfrViewGridBase.FilterChanged(Sender: TObject);
|
|
||||||
begin
|
|
||||||
//
|
|
||||||
end;
|
|
||||||
|
|
||||||
destructor TfrViewGridBase.Destroy;
|
|
||||||
begin
|
|
||||||
FOnFilterChanged := Nil;
|
|
||||||
if Assigned(FGridStatus) then
|
|
||||||
FreeAndNil(FGridStatus);
|
|
||||||
inherited;
|
|
||||||
end;
|
|
||||||
|
|
||||||
end.
|
|
||||||
|
|
||||||
@ -1,32 +0,0 @@
|
|||||||
/* VER185
|
|
||||||
Generated by the CodeGear Delphi Pascal Compiler
|
|
||||||
because -GD or --drc was supplied to the compiler.
|
|
||||||
|
|
||||||
This file contains compiler-generated resources that
|
|
||||||
were bound to the executable.
|
|
||||||
If this file is empty, then no compiler-generated
|
|
||||||
resources were bound to the produced executable.
|
|
||||||
*/
|
|
||||||
|
|
||||||
/* uViewBase.dfm */
|
|
||||||
/* uEditorBase.dfm */
|
|
||||||
/* uEditorItem.dfm */
|
|
||||||
/* uEditorDBBase.dfm */
|
|
||||||
/* uViewFiltroBase.dfm */
|
|
||||||
/* uViewGridBase.dfm */
|
|
||||||
/* uEditorGridBase.dfm */
|
|
||||||
/* uViewPreview.dfm */
|
|
||||||
/* uEditorPreview.dfm */
|
|
||||||
/* uEditorDBItem.dfm */
|
|
||||||
/* uViewBarraSeleccion.dfm */
|
|
||||||
/* uViewFormaPago.dfm */
|
|
||||||
/* uViewObservaciones.dfm */
|
|
||||||
/* uViewTotales.dfm */
|
|
||||||
/* uViewDetallesBase.dfm */
|
|
||||||
/* uViewIncidencias.dfm */
|
|
||||||
/* uViewDetallesDTO.dfm */
|
|
||||||
/* uViewDetallesGenerico.dfm */
|
|
||||||
/* uViewGrid2Niveles.dfm */
|
|
||||||
/* uEditorBasico.dfm */
|
|
||||||
/* uDialogBase.dfm */
|
|
||||||
/* uViewGrid.dfm */
|
|
||||||
Binary file not shown.
@ -1,14 +0,0 @@
|
|||||||
unit uBizInformesAware;
|
|
||||||
|
|
||||||
interface
|
|
||||||
|
|
||||||
type
|
|
||||||
IBizInformesAware = interface
|
|
||||||
['{98AD6541-199F-4155-B394-ED0316298759}']
|
|
||||||
procedure Preview;
|
|
||||||
procedure Print;
|
|
||||||
end;
|
|
||||||
|
|
||||||
implementation
|
|
||||||
|
|
||||||
end.
|
|
||||||
Binary file not shown.
@ -1,106 +0,0 @@
|
|||||||
object fDialogBase: TfDialogBase
|
|
||||||
Left = 0
|
|
||||||
Top = 0
|
|
||||||
BorderStyle = bsDialog
|
|
||||||
Caption = 'fDialogBase'
|
|
||||||
ClientHeight = 430
|
|
||||||
ClientWidth = 623
|
|
||||||
Color = clWindow
|
|
||||||
Font.Charset = DEFAULT_CHARSET
|
|
||||||
Font.Color = clWindowText
|
|
||||||
Font.Height = -11
|
|
||||||
Font.Name = 'Tahoma'
|
|
||||||
Font.Style = []
|
|
||||||
OldCreateOrder = False
|
|
||||||
Position = poMainFormCenter
|
|
||||||
OnShow = FormShow
|
|
||||||
PixelsPerInch = 96
|
|
||||||
TextHeight = 13
|
|
||||||
object pnlBotones: TFlowPanel
|
|
||||||
Left = 0
|
|
||||||
Top = 374
|
|
||||||
Width = 623
|
|
||||||
Height = 56
|
|
||||||
Align = alBottom
|
|
||||||
FlowStyle = fsBottomTopRightLeft
|
|
||||||
Padding.Left = 20
|
|
||||||
Padding.Top = 20
|
|
||||||
Padding.Right = 20
|
|
||||||
Padding.Bottom = 15
|
|
||||||
ParentBackground = False
|
|
||||||
TabOrder = 0
|
|
||||||
VerticalAlignment = taAlignTop
|
|
||||||
object Button1: TButton
|
|
||||||
Left = 527
|
|
||||||
Top = 15
|
|
||||||
Width = 75
|
|
||||||
Height = 25
|
|
||||||
Action = actCancelar
|
|
||||||
TabOrder = 0
|
|
||||||
end
|
|
||||||
object Button2: TButton
|
|
||||||
AlignWithMargins = True
|
|
||||||
Left = 437
|
|
||||||
Top = 15
|
|
||||||
Width = 75
|
|
||||||
Height = 25
|
|
||||||
Margins.Left = 0
|
|
||||||
Margins.Top = 0
|
|
||||||
Margins.Right = 15
|
|
||||||
Margins.Bottom = 0
|
|
||||||
Action = actAceptar
|
|
||||||
TabOrder = 1
|
|
||||||
end
|
|
||||||
end
|
|
||||||
object FlowPanel1: TFlowPanel
|
|
||||||
Left = 0
|
|
||||||
Top = 0
|
|
||||||
Width = 623
|
|
||||||
Height = 374
|
|
||||||
Align = alClient
|
|
||||||
Padding.Left = 30
|
|
||||||
Padding.Top = 30
|
|
||||||
Padding.Right = 30
|
|
||||||
Padding.Bottom = 30
|
|
||||||
ParentColor = True
|
|
||||||
TabOrder = 1
|
|
||||||
object lblInstruccion: TLabel
|
|
||||||
AlignWithMargins = True
|
|
||||||
Left = 31
|
|
||||||
Top = 31
|
|
||||||
Width = 78
|
|
||||||
Height = 19
|
|
||||||
Margins.Left = 0
|
|
||||||
Margins.Top = 0
|
|
||||||
Margins.Right = 0
|
|
||||||
Margins.Bottom = 20
|
|
||||||
Align = alTop
|
|
||||||
Caption = 'Instrucci'#243'n'
|
|
||||||
Font.Charset = DEFAULT_CHARSET
|
|
||||||
Font.Color = clWindowText
|
|
||||||
Font.Height = -16
|
|
||||||
Font.Name = 'Tahoma'
|
|
||||||
Font.Style = []
|
|
||||||
ParentFont = False
|
|
||||||
end
|
|
||||||
object Label2: TLabel
|
|
||||||
Left = 31
|
|
||||||
Top = 70
|
|
||||||
Width = 571
|
|
||||||
Height = 81
|
|
||||||
Align = alTop
|
|
||||||
AutoSize = False
|
|
||||||
Caption = 'Comentarios'
|
|
||||||
end
|
|
||||||
end
|
|
||||||
object ActionList1: TActionList
|
|
||||||
Left = 16
|
|
||||||
Top = 384
|
|
||||||
object actAceptar: TAction
|
|
||||||
Caption = '&Aceptar'
|
|
||||||
end
|
|
||||||
object actCancelar: TAction
|
|
||||||
Caption = '&Cancelar'
|
|
||||||
end
|
|
||||||
end
|
|
||||||
end
|
|
||||||
@ -1,39 +0,0 @@
|
|||||||
unit uDialogBase;
|
|
||||||
|
|
||||||
interface
|
|
||||||
|
|
||||||
uses
|
|
||||||
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
|
|
||||||
Dialogs, StdCtrls, ExtCtrls, ActnList;
|
|
||||||
|
|
||||||
type
|
|
||||||
TfDialogBase = class(TForm)
|
|
||||||
pnlBotones: TFlowPanel;
|
|
||||||
Button1: TButton;
|
|
||||||
Button2: TButton;
|
|
||||||
ActionList1: TActionList;
|
|
||||||
actAceptar: TAction;
|
|
||||||
actCancelar: TAction;
|
|
||||||
FlowPanel1: TFlowPanel;
|
|
||||||
lblInstruccion: TLabel;
|
|
||||||
Label2: TLabel;
|
|
||||||
procedure FormShow(Sender: TObject);
|
|
||||||
private
|
|
||||||
{ Private declarations }
|
|
||||||
public
|
|
||||||
{ Public declarations }
|
|
||||||
end;
|
|
||||||
|
|
||||||
implementation
|
|
||||||
|
|
||||||
{$R *.dfm}
|
|
||||||
|
|
||||||
uses
|
|
||||||
uDataModuleBase, JvNavigationPane;
|
|
||||||
|
|
||||||
procedure TfDialogBase.FormShow(Sender: TObject);
|
|
||||||
begin
|
|
||||||
lblInstruccion.Font.Color := dmBase.StyleManager.Colors.HeaderColorTo;
|
|
||||||
end;
|
|
||||||
|
|
||||||
end.
|
|
||||||
Binary file not shown.
File diff suppressed because it is too large
Load Diff
@ -1,460 +0,0 @@
|
|||||||
unit uEditorBase;
|
|
||||||
|
|
||||||
interface
|
|
||||||
|
|
||||||
uses
|
|
||||||
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
|
|
||||||
uGUIBase, uCustomEditor, ToolWin, ComCtrls, JvExControls,
|
|
||||||
JvComponent, JvNavigationPane, ActnList, TBX, TB2Item, ImgList,
|
|
||||||
PngImageList, StdActns, JvFormAutoSize, AppEvnts, uCustomView, uViewBase,
|
|
||||||
JvAppStorage, JvAppRegistryStorage, JvFormPlacement, pngimage, ExtCtrls,
|
|
||||||
JvComponentBase, TB2Dock, TB2Toolbar, dxLayoutLookAndFeels, TBXStatusBars,
|
|
||||||
JvExComCtrls, JvStatusBar;
|
|
||||||
|
|
||||||
type
|
|
||||||
IEditorBase = interface(ICustomEditor)
|
|
||||||
['{CB8CDE00-B225-4A1D-9A5C-EC6FBE2C854B}']
|
|
||||||
function ShowModal : Integer;
|
|
||||||
procedure Show;
|
|
||||||
end;
|
|
||||||
|
|
||||||
TfEditorBase = class(TCustomEditor, IEditorBase)
|
|
||||||
actAcercaDe: TAction;
|
|
||||||
actAnterior: TAction;
|
|
||||||
actBuscar: TAction;
|
|
||||||
actCancelarCambios: TAction;
|
|
||||||
actCerrar: TAction;
|
|
||||||
actConfPagina: TAction;
|
|
||||||
actCopiar: TEditCopy;
|
|
||||||
actCortar: TEditCut;
|
|
||||||
actDeshacer: TEditUndo;
|
|
||||||
actEliminar: TAction;
|
|
||||||
actGuardar: TAction;
|
|
||||||
actGuardarCerrar: TAction;
|
|
||||||
actImprimir: TAction;
|
|
||||||
actLimpiar: TEditDelete;
|
|
||||||
actModificar: TAction;
|
|
||||||
actNuevo: TAction;
|
|
||||||
actPegar: TEditPaste;
|
|
||||||
actPrevisualizar: TAction;
|
|
||||||
actRefrescar: TAction;
|
|
||||||
actSeleccionarTodo: TEditSelectAll;
|
|
||||||
actSiguiente: TAction;
|
|
||||||
EditorActionList: TActionList;
|
|
||||||
JvNavPanelHeader: TJvNavPanelHeader;
|
|
||||||
LargeImages: TPngImageList;
|
|
||||||
SmallImages: TPngImageList;
|
|
||||||
TBXDock: TTBXDock;
|
|
||||||
TBXItem1: TTBXItem;
|
|
||||||
TBXItem10: TTBXItem;
|
|
||||||
TBXItem11: TTBXItem;
|
|
||||||
TBXItem12: TTBXItem;
|
|
||||||
TBXItem13: TTBXItem;
|
|
||||||
TBXItem14: TTBXItem;
|
|
||||||
TBXItem15: TTBXItem;
|
|
||||||
TBXItem16: TTBXItem;
|
|
||||||
TBXItem17: TTBXItem;
|
|
||||||
TBXItem18: TTBXItem;
|
|
||||||
TBXItem19: TTBXItem;
|
|
||||||
TBXItem2: TTBXItem;
|
|
||||||
TBXItem20: TTBXItem;
|
|
||||||
TBXItem21: TTBXItem;
|
|
||||||
TBXItem22: TTBXItem;
|
|
||||||
TBXItem23: TTBXItem;
|
|
||||||
TBXItem24: TTBXItem;
|
|
||||||
TBXItem25: TTBXItem;
|
|
||||||
TBXItem26: TTBXItem;
|
|
||||||
TBXItem27: TTBXItem;
|
|
||||||
TBXItem28: TTBXItem;
|
|
||||||
TBXItem29: TTBXItem;
|
|
||||||
TBXItem3: TTBXItem;
|
|
||||||
TBXItem30: TTBXItem;
|
|
||||||
TBXItem31: TTBXItem;
|
|
||||||
TBXItem32: TTBXItem;
|
|
||||||
TBXItem4: TTBXItem;
|
|
||||||
TBXItem5: TTBXItem;
|
|
||||||
TBXItem6: TTBXItem;
|
|
||||||
TBXItem8: TTBXItem;
|
|
||||||
TBXItem9: TTBXItem;
|
|
||||||
tbxMain: TTBXToolbar;
|
|
||||||
tbxMenu: TTBXToolbar;
|
|
||||||
TBXSeparatorItem1: TTBXSeparatorItem;
|
|
||||||
TBXSeparatorItem10: TTBXSeparatorItem;
|
|
||||||
TBXSeparatorItem11: TTBXSeparatorItem;
|
|
||||||
TBXSeparatorItem12: TTBXSeparatorItem;
|
|
||||||
TBXSeparatorItem13: TTBXSeparatorItem;
|
|
||||||
TBXSeparatorItem2: TTBXSeparatorItem;
|
|
||||||
TBXSeparatorItem3: TTBXSeparatorItem;
|
|
||||||
TBXSeparatorItem4: TTBXSeparatorItem;
|
|
||||||
TBXSeparatorItem5: TTBXSeparatorItem;
|
|
||||||
TBXSeparatorItem7: TTBXSeparatorItem;
|
|
||||||
TBXSeparatorItem8: TTBXSeparatorItem;
|
|
||||||
TBXSeparatorItem9: TTBXSeparatorItem;
|
|
||||||
TBXSubmenuItem1: TTBXSubmenuItem;
|
|
||||||
TBXSubmenuItem4: TTBXSubmenuItem;
|
|
||||||
TBXSubmenuItem5: TTBXSubmenuItem;
|
|
||||||
TBXSubmenuItem6: TTBXSubmenuItem;
|
|
||||||
TBXSubmenuItem7: TTBXSubmenuItem;
|
|
||||||
JvFormStorage: TJvFormStorage;
|
|
||||||
JvAppRegistryStorage: TJvAppRegistryStorage;
|
|
||||||
Image1: TImage;
|
|
||||||
TBXSeparatorItem15: TTBXSeparatorItem;
|
|
||||||
StatusBarImages: TPngImageList;
|
|
||||||
StatusBar: TJvStatusBar;
|
|
||||||
procedure actCerrarExecute(Sender: TObject);
|
|
||||||
procedure actGuardarCerrarExecute(Sender: TObject);
|
|
||||||
procedure FormCloseQuery(Sender: TObject; var CanClose: Boolean);
|
|
||||||
procedure CustomEditorActivate(Sender: TObject);
|
|
||||||
procedure actModificarExecute(Sender: TObject);
|
|
||||||
procedure actGuardarExecute(Sender: TObject);
|
|
||||||
procedure actPrevisualizarExecute(Sender: TObject);
|
|
||||||
procedure actImprimirExecute(Sender: TObject);
|
|
||||||
procedure actNuevoExecute(Sender: TObject);
|
|
||||||
procedure actEliminarExecute(Sender: TObject);
|
|
||||||
procedure actConfPaginaExecute(Sender: TObject);
|
|
||||||
procedure actCancelarCambiosExecute(Sender: TObject);
|
|
||||||
procedure actDuplicarExecute(Sender: TObject);
|
|
||||||
procedure actRefrescarExecute(Sender: TObject);
|
|
||||||
procedure actModificarUpdate(Sender: TObject);
|
|
||||||
procedure actEliminarUpdate(Sender: TObject);
|
|
||||||
procedure actGuardarCerrarUpdate(Sender: TObject);
|
|
||||||
procedure actGuardarUpdate(Sender: TObject);
|
|
||||||
protected
|
|
||||||
procedure CreateParams(Var params: TCreateParams); override;
|
|
||||||
procedure ActualizarEstadoEditor; virtual;
|
|
||||||
function ModifiedQuery : Boolean;
|
|
||||||
procedure ModificarInterno; virtual;
|
|
||||||
procedure EliminarInterno; virtual;
|
|
||||||
procedure GuardarInterno; virtual;
|
|
||||||
procedure NuevoInterno; virtual;
|
|
||||||
procedure ImprimirInterno; virtual;
|
|
||||||
procedure PrevisualizarInterno; virtual;
|
|
||||||
procedure ConfPaginaInterno; virtual;
|
|
||||||
procedure RefrescarInterno; virtual;
|
|
||||||
procedure CancelarCambiosInterno; virtual;
|
|
||||||
procedure CerrarInterno; virtual;
|
|
||||||
procedure DuplicarInterno; virtual;
|
|
||||||
procedure PonerTitulos(const ATitulo: String = ''); virtual;
|
|
||||||
procedure SetReadOnly(Value: Boolean); override;
|
|
||||||
public
|
|
||||||
constructor Create(AOwner: TComponent); override;
|
|
||||||
function ShowModal : Integer;
|
|
||||||
procedure Show;
|
|
||||||
published
|
|
||||||
procedure FormShow(Sender: TObject); virtual;
|
|
||||||
end;
|
|
||||||
|
|
||||||
TfEditorBaseClass = class of TfEditorBase;
|
|
||||||
|
|
||||||
implementation
|
|
||||||
|
|
||||||
{$R *.dfm}
|
|
||||||
|
|
||||||
uses
|
|
||||||
Menus, uDataModuleBase, cxControls, uDialogUtils;
|
|
||||||
|
|
||||||
{
|
|
||||||
********************************* TfEditorBase *********************************
|
|
||||||
}
|
|
||||||
procedure TfEditorBase.actCancelarCambiosExecute(Sender: TObject);
|
|
||||||
begin
|
|
||||||
CancelarCambiosInterno;
|
|
||||||
ActualizarEstadoEditor;
|
|
||||||
end;
|
|
||||||
|
|
||||||
procedure TfEditorBase.actCerrarExecute(Sender: TObject);
|
|
||||||
begin
|
|
||||||
CerrarInterno;
|
|
||||||
end;
|
|
||||||
|
|
||||||
procedure TfEditorBase.actConfPaginaExecute(Sender: TObject);
|
|
||||||
begin
|
|
||||||
ConfPaginaInterno;
|
|
||||||
ActualizarEstadoEditor;
|
|
||||||
end;
|
|
||||||
|
|
||||||
procedure TfEditorBase.actDuplicarExecute(Sender: TObject);
|
|
||||||
begin
|
|
||||||
DuplicarInterno;
|
|
||||||
ActualizarEstadoEditor;
|
|
||||||
end;
|
|
||||||
|
|
||||||
procedure TfEditorBase.actEliminarExecute(Sender: TObject);
|
|
||||||
begin
|
|
||||||
if actEliminar.Enabled then
|
|
||||||
begin
|
|
||||||
EliminarInterno;
|
|
||||||
ActualizarEstadoEditor;
|
|
||||||
end;
|
|
||||||
end;
|
|
||||||
|
|
||||||
procedure TfEditorBase.actEliminarUpdate(Sender: TObject);
|
|
||||||
begin
|
|
||||||
(Sender as TAction).Enabled := not ReadOnly;
|
|
||||||
end;
|
|
||||||
|
|
||||||
procedure TfEditorBase.actGuardarCerrarExecute(Sender: TObject);
|
|
||||||
begin
|
|
||||||
ShowHourglassCursor;
|
|
||||||
try
|
|
||||||
if actGuardar.Execute then
|
|
||||||
actCerrar.Execute;
|
|
||||||
finally
|
|
||||||
HideHourglassCursor;
|
|
||||||
end;
|
|
||||||
end;
|
|
||||||
|
|
||||||
procedure TfEditorBase.actGuardarCerrarUpdate(Sender: TObject);
|
|
||||||
begin
|
|
||||||
(Sender as TAction).Enabled := not ReadOnly;
|
|
||||||
end;
|
|
||||||
|
|
||||||
procedure TfEditorBase.actGuardarExecute(Sender: TObject);
|
|
||||||
begin
|
|
||||||
GuardarInterno;
|
|
||||||
ActualizarEstadoEditor;
|
|
||||||
end;
|
|
||||||
|
|
||||||
procedure TfEditorBase.actGuardarUpdate(Sender: TObject);
|
|
||||||
begin
|
|
||||||
(Sender as TAction).Enabled := not ReadOnly;
|
|
||||||
end;
|
|
||||||
|
|
||||||
procedure TfEditorBase.actImprimirExecute(Sender: TObject);
|
|
||||||
begin
|
|
||||||
if actImprimir.Enabled then
|
|
||||||
begin
|
|
||||||
ImprimirInterno;
|
|
||||||
ActualizarEstadoEditor;
|
|
||||||
end;
|
|
||||||
end;
|
|
||||||
|
|
||||||
procedure TfEditorBase.actModificarExecute(Sender: TObject);
|
|
||||||
begin
|
|
||||||
if actModificar.Enabled then
|
|
||||||
begin
|
|
||||||
ModificarInterno;
|
|
||||||
ActualizarEstadoEditor;
|
|
||||||
end;
|
|
||||||
end;
|
|
||||||
|
|
||||||
procedure TfEditorBase.actModificarUpdate(Sender: TObject);
|
|
||||||
begin
|
|
||||||
(Sender as TAction).Enabled := not ReadOnly;
|
|
||||||
end;
|
|
||||||
|
|
||||||
procedure TfEditorBase.actNuevoExecute(Sender: TObject);
|
|
||||||
begin
|
|
||||||
if actNuevo.Enabled then
|
|
||||||
begin
|
|
||||||
NuevoInterno;
|
|
||||||
ActualizarEstadoEditor;
|
|
||||||
end;
|
|
||||||
end;
|
|
||||||
|
|
||||||
procedure TfEditorBase.actPrevisualizarExecute(Sender: TObject);
|
|
||||||
begin
|
|
||||||
if actPrevisualizar.Enabled then
|
|
||||||
begin
|
|
||||||
PrevisualizarInterno;
|
|
||||||
ActualizarEstadoEditor;
|
|
||||||
end;
|
|
||||||
end;
|
|
||||||
|
|
||||||
procedure TfEditorBase.actRefrescarExecute(Sender: TObject);
|
|
||||||
begin
|
|
||||||
if actRefrescar.Enabled then
|
|
||||||
begin
|
|
||||||
RefrescarInterno;
|
|
||||||
ActualizarEstadoEditor;
|
|
||||||
end;
|
|
||||||
end;
|
|
||||||
|
|
||||||
procedure TfEditorBase.ActualizarEstadoEditor;
|
|
||||||
begin
|
|
||||||
PonerTitulos;
|
|
||||||
end;
|
|
||||||
|
|
||||||
procedure TfEditorBase.CancelarCambiosInterno;
|
|
||||||
begin
|
|
||||||
//
|
|
||||||
end;
|
|
||||||
|
|
||||||
procedure TfEditorBase.CerrarInterno;
|
|
||||||
begin
|
|
||||||
Close;
|
|
||||||
end;
|
|
||||||
|
|
||||||
procedure TfEditorBase.ConfPaginaInterno;
|
|
||||||
begin
|
|
||||||
//
|
|
||||||
end;
|
|
||||||
|
|
||||||
constructor TfEditorBase.Create(AOwner: TComponent);
|
|
||||||
var
|
|
||||||
APath : String;
|
|
||||||
begin
|
|
||||||
inherited;
|
|
||||||
with JvFormStorage do
|
|
||||||
begin
|
|
||||||
if Pos('_', Self.Name) = 0 then
|
|
||||||
APath := Self.Name
|
|
||||||
else
|
|
||||||
APath := Copy(Self.Name, 0, (Pos('_', Self.Name)-1));
|
|
||||||
AppStoragePath := APath;
|
|
||||||
end;
|
|
||||||
JvNavPanelHeader.StyleManager := dmBase.StyleManager;
|
|
||||||
end;
|
|
||||||
|
|
||||||
procedure TfEditorBase.CustomEditorActivate(Sender: TObject);
|
|
||||||
begin
|
|
||||||
PonerTitulos;
|
|
||||||
end;
|
|
||||||
|
|
||||||
procedure TfEditorBase.DuplicarInterno;
|
|
||||||
begin
|
|
||||||
//
|
|
||||||
end;
|
|
||||||
|
|
||||||
procedure TfEditorBase.EliminarInterno;
|
|
||||||
begin
|
|
||||||
//
|
|
||||||
end;
|
|
||||||
|
|
||||||
procedure TfEditorBase.FormCloseQuery(Sender: TObject; var CanClose: Boolean);
|
|
||||||
begin
|
|
||||||
if Valid then
|
|
||||||
CanClose := ModifiedQuery
|
|
||||||
else
|
|
||||||
CanClose := False;
|
|
||||||
end;
|
|
||||||
|
|
||||||
procedure TfEditorBase.FormShow(Sender: TObject);
|
|
||||||
begin
|
|
||||||
ActualizarEstadoEditor;
|
|
||||||
if Assigned(Parent) then
|
|
||||||
begin
|
|
||||||
StatusBar.Visible := False;
|
|
||||||
actCerrar.ShortCut := 0
|
|
||||||
end
|
|
||||||
else begin
|
|
||||||
StatusBar.Visible := True;
|
|
||||||
actCerrar.ShortCut := ShortCut(VK_ESCAPE, []);
|
|
||||||
end;
|
|
||||||
end;
|
|
||||||
|
|
||||||
procedure TfEditorBase.GuardarInterno;
|
|
||||||
begin
|
|
||||||
//
|
|
||||||
end;
|
|
||||||
|
|
||||||
procedure TfEditorBase.ImprimirInterno;
|
|
||||||
begin
|
|
||||||
//
|
|
||||||
end;
|
|
||||||
|
|
||||||
procedure TfEditorBase.ModificarInterno;
|
|
||||||
begin
|
|
||||||
//
|
|
||||||
end;
|
|
||||||
|
|
||||||
function TfEditorBase.ModifiedQuery: Boolean;
|
|
||||||
var
|
|
||||||
Respuesta: Integer;
|
|
||||||
begin
|
|
||||||
Result := True;
|
|
||||||
if Modified then
|
|
||||||
begin
|
|
||||||
|
|
||||||
Respuesta := ShowConfirmMessage('Atención',
|
|
||||||
'Se han producido cambios',
|
|
||||||
'¿Desea guardar los cambios que se han producido antes de cerrar?',
|
|
||||||
[TDlgButton_SI, TDlgButton_NO, TDlgButton_CANCELAR]);
|
|
||||||
|
|
||||||
case Respuesta of
|
|
||||||
IDYES : actGuardar.Execute;
|
|
||||||
IDNO : actCancelarCambios.Execute;
|
|
||||||
else
|
|
||||||
Result := False;
|
|
||||||
end;
|
|
||||||
end
|
|
||||||
end;
|
|
||||||
|
|
||||||
procedure TfEditorBase.NuevoInterno;
|
|
||||||
begin
|
|
||||||
//
|
|
||||||
end;
|
|
||||||
|
|
||||||
procedure TfEditorBase.PonerTitulos(const ATitulo: String);
|
|
||||||
begin
|
|
||||||
if ReadOnly then
|
|
||||||
begin
|
|
||||||
JvNavPanelHeader.Caption := ATitulo + ' (NO MODIFICABLE)';
|
|
||||||
Caption := ATitulo + ' (NO MODIFICABLE)';
|
|
||||||
end
|
|
||||||
else
|
|
||||||
begin
|
|
||||||
JvNavPanelHeader.Caption := ATitulo;
|
|
||||||
Caption := ATitulo;
|
|
||||||
end;
|
|
||||||
end;
|
|
||||||
|
|
||||||
procedure TfEditorBase.PrevisualizarInterno;
|
|
||||||
begin
|
|
||||||
//
|
|
||||||
end;
|
|
||||||
|
|
||||||
procedure TfEditorBase.RefrescarInterno;
|
|
||||||
begin
|
|
||||||
//
|
|
||||||
end;
|
|
||||||
|
|
||||||
procedure TfEditorBase.SetReadOnly(Value: Boolean);
|
|
||||||
var
|
|
||||||
i: integer;
|
|
||||||
begin
|
|
||||||
inherited;
|
|
||||||
|
|
||||||
if ReadOnly then
|
|
||||||
for i:=0 to Self.ComponentCount-1 do
|
|
||||||
begin
|
|
||||||
If Self.Components[i] Is TfrViewBase then
|
|
||||||
(Self.Components[i] as TfrViewBase).ReadOnly := ReadOnly
|
|
||||||
end;
|
|
||||||
end;
|
|
||||||
|
|
||||||
procedure TfEditorBase.Show;
|
|
||||||
begin
|
|
||||||
inherited Show;
|
|
||||||
// Self.WindowState := wsNormal;
|
|
||||||
// self.FormStyle := fsNormal;
|
|
||||||
end;
|
|
||||||
|
|
||||||
procedure TfEditorBase.CreateParams(var params: TCreateParams);
|
|
||||||
begin
|
|
||||||
//No tocar, sirve para crear varios formularios hijos abiertos a la vez fuera de la aplicación principal
|
|
||||||
inherited CreateParams( params );
|
|
||||||
params.Style := params.Style and not WS_POPUP;
|
|
||||||
params.ExStyle := params.ExStyle and not WS_EX_TOOLWINDOW or WS_EX_APPWINDOW;
|
|
||||||
end;
|
|
||||||
|
|
||||||
function TfEditorBase.ShowModal: Integer;
|
|
||||||
var
|
|
||||||
ABorderIcons : TBorderIcons;
|
|
||||||
begin
|
|
||||||
ABorderIcons := Self.BorderIcons;
|
|
||||||
Self.BorderIcons := Self.BorderIcons - [biMinimize];
|
|
||||||
try
|
|
||||||
Result := inherited ShowModal;
|
|
||||||
finally
|
|
||||||
Self.BorderIcons := ABorderIcons;
|
|
||||||
end;
|
|
||||||
end;
|
|
||||||
|
|
||||||
initialization
|
|
||||||
RegisterClass(TfEditorBase);
|
|
||||||
|
|
||||||
finalization
|
|
||||||
UnRegisterClass(TfEditorBase);
|
|
||||||
|
|
||||||
end.
|
|
||||||
Binary file not shown.
@ -1,18 +0,0 @@
|
|||||||
object fEditorBasico: TfEditorBasico
|
|
||||||
Left = 0
|
|
||||||
Top = 0
|
|
||||||
Caption = 'fEditorBasico'
|
|
||||||
ClientHeight = 236
|
|
||||||
ClientWidth = 383
|
|
||||||
Color = clBtnFace
|
|
||||||
Font.Charset = DEFAULT_CHARSET
|
|
||||||
Font.Color = clWindowText
|
|
||||||
Font.Height = -11
|
|
||||||
Font.Name = 'Tahoma'
|
|
||||||
Font.Style = []
|
|
||||||
OldCreateOrder = False
|
|
||||||
InstanceID = 0
|
|
||||||
ReadOnly = False
|
|
||||||
PixelsPerInch = 96
|
|
||||||
TextHeight = 13
|
|
||||||
end
|
|
||||||
@ -1,26 +0,0 @@
|
|||||||
unit uEditorBasico;
|
|
||||||
|
|
||||||
interface
|
|
||||||
|
|
||||||
uses
|
|
||||||
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
|
|
||||||
Dialogs, uGUIBase, uCustomEditor;
|
|
||||||
|
|
||||||
type
|
|
||||||
IEditorBasico = interface(ICustomEditor)
|
|
||||||
['{CE4B2B04-F8DA-4C96-B071-CC5792C14D51}']
|
|
||||||
function ShowModal : Integer;
|
|
||||||
end;
|
|
||||||
|
|
||||||
TfEditorBasico = class(TCustomEditor, IEditorBasico)
|
|
||||||
end;
|
|
||||||
|
|
||||||
implementation
|
|
||||||
{$R *.dfm}
|
|
||||||
|
|
||||||
initialization
|
|
||||||
RegisterClass(TfEditorBasico);
|
|
||||||
|
|
||||||
finalization
|
|
||||||
UnRegisterClass(TfEditorBasico);
|
|
||||||
end.
|
|
||||||
Binary file not shown.
@ -1,59 +0,0 @@
|
|||||||
inherited fEditorDBBase: TfEditorDBBase
|
|
||||||
Left = 295
|
|
||||||
Top = 247
|
|
||||||
Caption = 'fEditorDBBase'
|
|
||||||
ClientHeight = 456
|
|
||||||
ClientWidth = 648
|
|
||||||
ExplicitWidth = 656
|
|
||||||
ExplicitHeight = 490
|
|
||||||
PixelsPerInch = 96
|
|
||||||
TextHeight = 13
|
|
||||||
inherited JvNavPanelHeader: TJvNavPanelHeader
|
|
||||||
Width = 648
|
|
||||||
ExplicitWidth = 648
|
|
||||||
inherited Image1: TImage
|
|
||||||
Left = 621
|
|
||||||
ExplicitLeft = 625
|
|
||||||
end
|
|
||||||
end
|
|
||||||
inherited TBXDock: TTBXDock
|
|
||||||
Width = 648
|
|
||||||
ExplicitWidth = 648
|
|
||||||
inherited tbxMain: TTBXToolbar
|
|
||||||
ExplicitWidth = 648
|
|
||||||
end
|
|
||||||
inherited tbxMenu: TTBXToolbar
|
|
||||||
ExplicitWidth = 648
|
|
||||||
end
|
|
||||||
end
|
|
||||||
inherited StatusBar: TJvStatusBar
|
|
||||||
Top = 437
|
|
||||||
Width = 648
|
|
||||||
ExplicitTop = 437
|
|
||||||
ExplicitWidth = 648
|
|
||||||
end
|
|
||||||
inherited EditorActionList: TActionList
|
|
||||||
inherited actPrevisualizar: TAction
|
|
||||||
OnUpdate = actPrevisualizarUpdate
|
|
||||||
end
|
|
||||||
inherited actImprimir: TAction
|
|
||||||
OnUpdate = actImprimirUpdate
|
|
||||||
end
|
|
||||||
inherited actRefrescar: TAction
|
|
||||||
OnUpdate = actRefrescarUpdate
|
|
||||||
end
|
|
||||||
inherited actAnterior: TAction
|
|
||||||
OnExecute = actAnteriorExecute
|
|
||||||
OnUpdate = actAnteriorUpdate
|
|
||||||
end
|
|
||||||
inherited actSiguiente: TAction
|
|
||||||
OnExecute = actSiguienteExecute
|
|
||||||
OnUpdate = actSiguienteUpdate
|
|
||||||
end
|
|
||||||
end
|
|
||||||
object dsDataTable: TDADataSource [7]
|
|
||||||
OnDataChange = dsDataTableDataChange
|
|
||||||
Left = 40
|
|
||||||
Top = 88
|
|
||||||
end
|
|
||||||
end
|
|
||||||
@ -1,256 +0,0 @@
|
|||||||
unit uEditorDBBase;
|
|
||||||
|
|
||||||
interface
|
|
||||||
|
|
||||||
uses
|
|
||||||
Windows, SysUtils, Variants, Classes, Graphics, Controls, Forms,
|
|
||||||
uEditorItem, ImgList, PngImageList, StdActns, ActnList, TBX,
|
|
||||||
TB2Item, TB2Dock, TB2Toolbar, ComCtrls, JvExControls, JvComponent,
|
|
||||||
JvNavigationPane, DB, uDADataTable, uEditorBase, JvFormAutoSize,
|
|
||||||
uDAScriptingProvider, uDACDSDataTable, AppEvnts, uCustomView, uViewBase,
|
|
||||||
JvAppStorage, JvAppRegistryStorage, JvFormPlacement,
|
|
||||||
pngimage, ExtCtrls, dxLayoutLookAndFeels, JvComponentBase, TBXStatusBars,
|
|
||||||
JvExComCtrls, JvStatusBar, uDAInterfaces;
|
|
||||||
|
|
||||||
type
|
|
||||||
IEditorDBBase = interface(IEditorBase)
|
|
||||||
['{1F5B318F-F700-4C78-ABCE-E2329AD876B8}']
|
|
||||||
end;
|
|
||||||
|
|
||||||
TfEditorDBBase = class(TfEditorBase, IEditorDBBase)
|
|
||||||
dsDataTable: TDADataSource;
|
|
||||||
procedure actAnteriorExecute(Sender: TObject);
|
|
||||||
procedure actSiguienteExecute(Sender: TObject);
|
|
||||||
procedure actAnteriorUpdate(Sender: TObject);
|
|
||||||
procedure actSiguienteUpdate(Sender: TObject);
|
|
||||||
procedure actRefrescarUpdate(Sender: TObject);
|
|
||||||
procedure FormCloseQuery(Sender: TObject; var CanClose: Boolean); virtual;
|
|
||||||
procedure actEliminarUpdate(Sender: TObject);
|
|
||||||
procedure actModificarUpdate(Sender: TObject);
|
|
||||||
procedure actPrevisualizarUpdate(Sender: TObject);
|
|
||||||
procedure actImprimirUpdate(Sender: TObject);
|
|
||||||
procedure actGuardarUpdate(Sender: TObject);
|
|
||||||
procedure actGuardarCerrarUpdate(Sender: TObject);
|
|
||||||
procedure dsDataTableDataChange(Sender: TObject; Field: TField);
|
|
||||||
protected
|
|
||||||
function HayDatos: Boolean;
|
|
||||||
function GetModified: Boolean; override;
|
|
||||||
procedure RefrescarInterno; override;
|
|
||||||
procedure CancelarCambiosInterno; override;
|
|
||||||
end;
|
|
||||||
|
|
||||||
implementation
|
|
||||||
|
|
||||||
uses
|
|
||||||
uDataTableUtils, uBizInformesAware, cxControls, uCustomEditor;
|
|
||||||
|
|
||||||
{$R *.dfm}
|
|
||||||
|
|
||||||
procedure TfEditorDBBase.actAnteriorExecute(Sender: TObject);
|
|
||||||
begin
|
|
||||||
inherited;
|
|
||||||
if Assigned(dsDataTable.DataTable) then
|
|
||||||
begin
|
|
||||||
if (not ModifiedQuery) then
|
|
||||||
Exit;
|
|
||||||
|
|
||||||
dsDataTable.DataTable.Prior;
|
|
||||||
end;
|
|
||||||
end;
|
|
||||||
|
|
||||||
procedure TfEditorDBBase.actSiguienteExecute(Sender: TObject);
|
|
||||||
begin
|
|
||||||
inherited;
|
|
||||||
if Assigned(dsDataTable.DataTable) then
|
|
||||||
begin
|
|
||||||
if (not ModifiedQuery) then
|
|
||||||
Exit;
|
|
||||||
|
|
||||||
dsDataTable.DataTable.Next;
|
|
||||||
end;
|
|
||||||
end;
|
|
||||||
|
|
||||||
procedure TfEditorDBBase.actAnteriorUpdate(Sender: TObject);
|
|
||||||
begin
|
|
||||||
inherited;
|
|
||||||
if HayDatos then
|
|
||||||
(Sender as TAction).Enabled := not dsDataTable.DataTable.BOF
|
|
||||||
else
|
|
||||||
(Sender as TAction).Enabled := False;
|
|
||||||
end;
|
|
||||||
|
|
||||||
procedure TfEditorDBBase.actSiguienteUpdate(Sender: TObject);
|
|
||||||
begin
|
|
||||||
inherited;
|
|
||||||
if HayDatos then
|
|
||||||
(Sender as TAction).Enabled := not dsDataTable.DataTable.EOF
|
|
||||||
else
|
|
||||||
(Sender as TAction).Enabled := False;
|
|
||||||
end;
|
|
||||||
|
|
||||||
procedure TfEditorDBBase.CancelarCambiosInterno;
|
|
||||||
var
|
|
||||||
dtDetails : TList;
|
|
||||||
i : integer;
|
|
||||||
ABookmark : TBookmark;
|
|
||||||
begin
|
|
||||||
inherited;
|
|
||||||
|
|
||||||
if Assigned(dsDataTable.DataTable) then
|
|
||||||
begin
|
|
||||||
ABookmark := dsDataTable.DataTable.GetBookMark;
|
|
||||||
dsDataTable.DataTable.DisableControls;
|
|
||||||
// dsDataTable.DataTable.DisableEventHandlers; <- No descomentar
|
|
||||||
|
|
||||||
ShowHourglassCursor;
|
|
||||||
{ No lo pongo en try..finally para ver posibles errores }
|
|
||||||
//try
|
|
||||||
dsDataTable.DataTable.Cancel;
|
|
||||||
|
|
||||||
dtDetails := dsDataTable.DataTable.GetDetailDataTables;
|
|
||||||
for i := 0 to dtDetails.Count - 1 do
|
|
||||||
begin
|
|
||||||
(TDADataTable(dtDetails.Items[i])).Cancel;
|
|
||||||
end;
|
|
||||||
|
|
||||||
dsDataTable.DataTable.CancelUpdates;
|
|
||||||
|
|
||||||
{ Comprobar si el bookmark no es válido cuando estamos cancelando la
|
|
||||||
inserción de una fila nueva.
|
|
||||||
CUIDADO!! Si no es válido salta una excepción. NO devuelve false!!!}
|
|
||||||
try
|
|
||||||
if (Assigned(ABookmark)) and
|
|
||||||
(dsDataTable.DataTable.Dataset.BookmarkValid(ABookmark)) then
|
|
||||||
dsDataTable.DataTable.GotoBookmark(ABookmark);
|
|
||||||
except
|
|
||||||
end;
|
|
||||||
|
|
||||||
//finally
|
|
||||||
dsDataTable.DataTable.EnableControls;
|
|
||||||
dsDataTable.DataTable.FreeBookmark(ABookmark);
|
|
||||||
// dsDataTable.DataTable.EnableEventHandlers; <- No descomentar
|
|
||||||
HideHourglassCursor
|
|
||||||
//end;
|
|
||||||
end;
|
|
||||||
end;
|
|
||||||
|
|
||||||
procedure TfEditorDBBase.dsDataTableDataChange(Sender: TObject; Field: TField);
|
|
||||||
begin
|
|
||||||
inherited;
|
|
||||||
ActualizarEstadoEditor;
|
|
||||||
end;
|
|
||||||
|
|
||||||
procedure TfEditorDBBase.actRefrescarUpdate(Sender: TObject);
|
|
||||||
begin
|
|
||||||
inherited;
|
|
||||||
if HayDatos then
|
|
||||||
(Sender as TAction).Enabled := (not dsDataTable.DataTable.Fetching) and
|
|
||||||
(not dsDataTable.DataTable.Opening) and
|
|
||||||
(not dsDataTable.DataTable.Closing) and
|
|
||||||
(dsDataTable.DataTable.State <> dsInsert)
|
|
||||||
else
|
|
||||||
(Sender as TAction).Enabled := False;
|
|
||||||
|
|
||||||
//MODO CONSULTAR ITEM
|
|
||||||
if (Sender as TAction).Enabled
|
|
||||||
and Assigned(dsDataTable.DataTable) then
|
|
||||||
(Sender as TAction).Enabled := not dsDataTable.DataTable.ReadOnly;
|
|
||||||
end;
|
|
||||||
|
|
||||||
function TfEditorDBBase.GetModified: Boolean;
|
|
||||||
begin
|
|
||||||
if ReadOnly then
|
|
||||||
Result := False
|
|
||||||
else
|
|
||||||
Result := DataTableModified(dsDataTable.DataTable) or inherited GetModified;
|
|
||||||
end;
|
|
||||||
|
|
||||||
function TfEditorDBBase.HayDatos: Boolean;
|
|
||||||
begin
|
|
||||||
Result := Assigned(dsDataTable.DataTable) and (dsDataTable.DataTable.State <> dsInactive)
|
|
||||||
and (not dsDataTable.DataTable.IsEmpty);
|
|
||||||
end;
|
|
||||||
|
|
||||||
procedure TfEditorDBBase.RefrescarInterno;
|
|
||||||
var
|
|
||||||
ABookmark : TBookmark;
|
|
||||||
begin
|
|
||||||
inherited;
|
|
||||||
if Assigned(dsDataTable.DataTable) then
|
|
||||||
begin
|
|
||||||
if (dsDataTable.DataTable.IsEmpty) or (not ModifiedQuery) then
|
|
||||||
Exit; // No continuar con el refresco
|
|
||||||
|
|
||||||
ABookmark := dsDataTable.DataTable.GetBookMark;
|
|
||||||
dsDataTable.DataTable.DisableControls; //<- No descomentar
|
|
||||||
|
|
||||||
ShowHourglassCursor;
|
|
||||||
try
|
|
||||||
dsDataTable.DataTable.Refresh;
|
|
||||||
|
|
||||||
if dsDataTable.DataTable.Dataset.BookmarkValid(ABookmark) then
|
|
||||||
dsDataTable.DataTable.GotoBookmark(ABookmark);
|
|
||||||
finally
|
|
||||||
dsDataTable.DataTable.FreeBookmark(ABookmark);
|
|
||||||
dsDataTable.DataTable.EnableControls; //<- No descomentar
|
|
||||||
HideHourglassCursor;
|
|
||||||
end;
|
|
||||||
end;
|
|
||||||
end;
|
|
||||||
|
|
||||||
procedure TfEditorDBBase.FormCloseQuery(Sender: TObject; var CanClose: Boolean);
|
|
||||||
begin
|
|
||||||
{ Para resetear el estado de la tabla en el caso de hacer un insert
|
|
||||||
sin meter ningún dato. }
|
|
||||||
if Assigned(dsDataTable.DataTable) and (not Modified) then
|
|
||||||
dsDataTable.DataTable.Cancel;
|
|
||||||
inherited;
|
|
||||||
end;
|
|
||||||
|
|
||||||
procedure TfEditorDBBase.actEliminarUpdate(Sender: TObject);
|
|
||||||
begin
|
|
||||||
inherited;
|
|
||||||
if (Sender as TAction).Enabled then
|
|
||||||
(Sender as TAction).Enabled := HayDatos and (dsDataTable.DataTable.State <> dsInsert)
|
|
||||||
end;
|
|
||||||
|
|
||||||
procedure TfEditorDBBase.actGuardarCerrarUpdate(Sender: TObject);
|
|
||||||
begin
|
|
||||||
inherited;
|
|
||||||
if (Sender as TAction).Enabled then
|
|
||||||
(Sender as TAction).Enabled := HayDatos;
|
|
||||||
end;
|
|
||||||
|
|
||||||
procedure TfEditorDBBase.actGuardarUpdate(Sender: TObject);
|
|
||||||
begin
|
|
||||||
inherited;
|
|
||||||
if (Sender as TAction).Enabled then
|
|
||||||
(Sender as TAction).Enabled := HayDatos;
|
|
||||||
end;
|
|
||||||
|
|
||||||
procedure TfEditorDBBase.actModificarUpdate(Sender: TObject);
|
|
||||||
begin
|
|
||||||
inherited;
|
|
||||||
if (Sender as TAction).Enabled then
|
|
||||||
(Sender as TAction).Enabled := HayDatos;
|
|
||||||
end;
|
|
||||||
|
|
||||||
procedure TfEditorDBBase.actPrevisualizarUpdate(Sender: TObject);
|
|
||||||
begin
|
|
||||||
inherited;
|
|
||||||
(Sender as TAction).Enabled := HayDatos;
|
|
||||||
end;
|
|
||||||
|
|
||||||
procedure TfEditorDBBase.actImprimirUpdate(Sender: TObject);
|
|
||||||
begin
|
|
||||||
inherited;
|
|
||||||
(Sender as TAction).Enabled := HayDatos;
|
|
||||||
end;
|
|
||||||
|
|
||||||
initialization
|
|
||||||
RegisterClass(TfEditorDBBase);
|
|
||||||
|
|
||||||
finalization
|
|
||||||
UnRegisterClass(TfEditorDBBase);
|
|
||||||
|
|
||||||
end.
|
|
||||||
Binary file not shown.
@ -1,103 +0,0 @@
|
|||||||
inherited fEditorDBItem: TfEditorDBItem
|
|
||||||
Left = 450
|
|
||||||
Top = 321
|
|
||||||
Caption = 'fEditorDBItem'
|
|
||||||
ClientHeight = 461
|
|
||||||
ClientWidth = 652
|
|
||||||
ExplicitWidth = 660
|
|
||||||
ExplicitHeight = 495
|
|
||||||
PixelsPerInch = 96
|
|
||||||
TextHeight = 13
|
|
||||||
inherited JvNavPanelHeader: TJvNavPanelHeader
|
|
||||||
Width = 652
|
|
||||||
ExplicitWidth = 652
|
|
||||||
inherited Image1: TImage
|
|
||||||
Left = 625
|
|
||||||
ExplicitLeft = 627
|
|
||||||
ExplicitHeight = 19
|
|
||||||
end
|
|
||||||
end
|
|
||||||
inherited TBXDock: TTBXDock
|
|
||||||
Width = 652
|
|
||||||
ExplicitWidth = 652
|
|
||||||
inherited tbxMain: TTBXToolbar
|
|
||||||
ExplicitWidth = 605
|
|
||||||
inherited TBXItem26: TTBXItem
|
|
||||||
Visible = False
|
|
||||||
end
|
|
||||||
inherited TBXItem25: TTBXItem
|
|
||||||
Visible = False
|
|
||||||
end
|
|
||||||
end
|
|
||||||
inherited tbxMenu: TTBXToolbar
|
|
||||||
ExplicitWidth = 652
|
|
||||||
inherited TBXSubmenuItem1: TTBXSubmenuItem
|
|
||||||
Visible = False
|
|
||||||
end
|
|
||||||
end
|
|
||||||
end
|
|
||||||
object pgPaginas: TPageControl [2]
|
|
||||||
Left = 0
|
|
||||||
Top = 76
|
|
||||||
Width = 652
|
|
||||||
Height = 366
|
|
||||||
ActivePage = pagGeneral
|
|
||||||
Align = alClient
|
|
||||||
TabOrder = 2
|
|
||||||
object pagGeneral: TTabSheet
|
|
||||||
Caption = 'General'
|
|
||||||
ExplicitLeft = 0
|
|
||||||
ExplicitTop = 0
|
|
||||||
ExplicitWidth = 0
|
|
||||||
ExplicitHeight = 0
|
|
||||||
end
|
|
||||||
end
|
|
||||||
inherited StatusBar: TJvStatusBar
|
|
||||||
Top = 442
|
|
||||||
Width = 652
|
|
||||||
Panels = <
|
|
||||||
item
|
|
||||||
Width = 200
|
|
||||||
Control = imgStatus
|
|
||||||
end>
|
|
||||||
ExplicitTop = 442
|
|
||||||
ExplicitWidth = 652
|
|
||||||
object imgStatus: TImage
|
|
||||||
Left = 3
|
|
||||||
Top = 3
|
|
||||||
Width = 16
|
|
||||||
Height = 16
|
|
||||||
AutoSize = True
|
|
||||||
Picture.Data = {
|
|
||||||
0A54504E474F626A65637489504E470D0A1A0A0000000D494844520000001000
|
|
||||||
00001008060000001FF3FF61000001E24944415478DAA5932B93DB3014858F99
|
|
||||||
59C46A669599456561166B59DD5F50C342E717C461652B58A8658182810A0BAB
|
|
||||||
C35C26B394C92C8BDC6BB99BCD63A7339DB547638D1EDF3DE7488EF0C627BA1D
|
|
||||||
70466896303FE352747B9DA78B62D77B677DEBA0AC342C663F9D77F0473F2E7F
|
|
||||||
7F0718DAA2EE9C5BA58B125DD320150204024BF85A6DC44A4A097FF27004ACEB
|
|
||||||
BABB071C6B8B98E588057AEF31630C3835D4FC6EF9DDE76221D0EC1B789A33C6
|
|
||||||
F491327EC009449D5AC90455A3969598BD93E87F5BF85613802A6A01216F011B
|
|
||||||
3FB06416AA8F80823F224DC8DF8D82CE3394A5DE0921F271F39881D99A750084
|
|
||||||
3882020F9158C85891F7029405D26CCAC0C52579364BCEF9C3B86E54E19CFB10
|
|
||||||
996D337CFE389F027802BA760D465567F1D837002FC0E875270E91C988677CE0
|
|
||||||
0987B5B6A71DEC0C38FCEA820A9EA5B0FB43E0896C8EF2DB12D6A8CBB02B3A89
|
|
||||||
07022CA9AFCE80FEE9EFF469FA3CDB7A0500B23190FC3016E9AD1DBECA1C87B6
|
|
||||||
0B210A5260ECA4402E5E5500BA4C15E5A02680B143F1293F57F7972AE85B55D7
|
|
||||||
80AAAA6A02ACD40FF5854EC3447A4380220FBEC70D52CC5F32A0FE2D806EDF28
|
|
||||||
1F5AEB202052DA0E65915FF97E51D113A0BE02D009D4EEE856D49D4254DA0C7A
|
|
||||||
63465FCF88A0E4C2EF5D06FFFC1BFFF7F903DDDC21F8890148C2000000004945
|
|
||||||
4E44AE426082}
|
|
||||||
Transparent = True
|
|
||||||
end
|
|
||||||
end
|
|
||||||
inherited EditorActionList: TActionList
|
|
||||||
Top = 112
|
|
||||||
inherited actEliminar: TAction
|
|
||||||
ShortCut = 0
|
|
||||||
end
|
|
||||||
end
|
|
||||||
inherited dsDataTable: TDADataSource
|
|
||||||
Left = 48
|
|
||||||
Top = 112
|
|
||||||
end
|
|
||||||
end
|
|
||||||
@ -1,93 +0,0 @@
|
|||||||
unit uEditorDBItem;
|
|
||||||
|
|
||||||
interface
|
|
||||||
|
|
||||||
uses
|
|
||||||
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
|
|
||||||
uEditorItem, ImgList, PngImageList, StdActns, ActnList, TBX,
|
|
||||||
TB2Item, TB2Dock, TB2Toolbar, ComCtrls, JvExControls, JvComponent,
|
|
||||||
JvNavigationPane, DB, uDADataTable, uEditorDBBase, JvFormAutoSize,
|
|
||||||
StdCtrls, uDAScriptingProvider, uDACDSDataTable, AppEvnts, uCustomView,
|
|
||||||
uViewBase, JvAppStorage, JvAppRegistryStorage,
|
|
||||||
JvFormPlacement, pngimage, ExtCtrls, JvComponentBase, dxLayoutLookAndFeels,
|
|
||||||
JvExComCtrls, JvStatusBar, uDAInterfaces;
|
|
||||||
|
|
||||||
type
|
|
||||||
IEditorDBItem = interface(IEditorDBBase)
|
|
||||||
['{497AE4CE-D061-4F75-A29A-320F8565FF54}']
|
|
||||||
end;
|
|
||||||
|
|
||||||
TfEditorDBItem = class(TfEditorDBBase, IEditorDBItem)
|
|
||||||
pgPaginas: TPageControl;
|
|
||||||
pagGeneral: TTabSheet;
|
|
||||||
imgStatus: TImage;
|
|
||||||
protected
|
|
||||||
procedure EliminarInterno; override;
|
|
||||||
procedure PrevisualizarInterno; override;
|
|
||||||
procedure ImprimirInterno; override;
|
|
||||||
procedure ActualizarEstadoEditor; override;
|
|
||||||
end;
|
|
||||||
|
|
||||||
implementation
|
|
||||||
|
|
||||||
uses
|
|
||||||
uBizInformesAware, uEditorBase, uDialogUtils;
|
|
||||||
|
|
||||||
{$R *.dfm}
|
|
||||||
|
|
||||||
procedure TfEditorDBItem.ActualizarEstadoEditor;
|
|
||||||
begin
|
|
||||||
inherited;
|
|
||||||
if HayDatos then
|
|
||||||
begin
|
|
||||||
if (Self.Modified) and (dsDataTable.DataTable.State <> dsInsert) then
|
|
||||||
begin
|
|
||||||
StatusBar.Panels[0].Text := ' Se han producido cambios';
|
|
||||||
imgStatus.Visible := True;
|
|
||||||
end
|
|
||||||
else begin
|
|
||||||
imgStatus.Visible := False;
|
|
||||||
StatusBar.Panels[0].Text := '';
|
|
||||||
end
|
|
||||||
end;
|
|
||||||
end;
|
|
||||||
|
|
||||||
procedure TfEditorDBItem.EliminarInterno;
|
|
||||||
begin
|
|
||||||
inherited;
|
|
||||||
actCerrar.Execute;
|
|
||||||
end;
|
|
||||||
|
|
||||||
procedure TfEditorDBItem.ImprimirInterno;
|
|
||||||
begin
|
|
||||||
inherited;
|
|
||||||
if Modified then
|
|
||||||
begin
|
|
||||||
if (ShowConfirmMessage('Se han producido cambios', 'Se han producido cambios y no se puede imprimir hasta que no se guarden.' + #10#13 +
|
|
||||||
'¿Desea guardarlos ahora?') = IDYES) then
|
|
||||||
actGuardar.Execute
|
|
||||||
else
|
|
||||||
ShowInfoMessage('Recuerde guardar los cambios si quiere previsualizar o imprimir.');
|
|
||||||
end;
|
|
||||||
end;
|
|
||||||
|
|
||||||
procedure TfEditorDBItem.PrevisualizarInterno;
|
|
||||||
begin
|
|
||||||
inherited;
|
|
||||||
if Modified then
|
|
||||||
begin
|
|
||||||
if (ShowConfirmMessage('Se han producido cambios', 'Se han producido cambios y no se puede previsualizar hasta que no se guarden.' + #10#13 +
|
|
||||||
'¿Desea guardarlos ahora?') = IDYES) then
|
|
||||||
actGuardar.Execute
|
|
||||||
else
|
|
||||||
ShowInfoMessage('Recuerde guardar los cambios si quiere previsualizar o imprimir.');
|
|
||||||
end;
|
|
||||||
end;
|
|
||||||
|
|
||||||
initialization
|
|
||||||
RegisterClass(TfEditorDBItem);
|
|
||||||
|
|
||||||
finalization
|
|
||||||
UnRegisterClass(TfEditorDBItem);
|
|
||||||
|
|
||||||
end.
|
|
||||||
Binary file not shown.
File diff suppressed because it is too large
Load Diff
@ -1,319 +0,0 @@
|
|||||||
{*******************************************************}
|
|
||||||
{ }
|
|
||||||
{ Administración de puntos de venta }
|
|
||||||
{ }
|
|
||||||
{ Copyright (C) 2006 Rodax Software S.L. }
|
|
||||||
{ }
|
|
||||||
{*******************************************************}
|
|
||||||
|
|
||||||
unit uEditorGridBase;
|
|
||||||
|
|
||||||
interface
|
|
||||||
|
|
||||||
uses
|
|
||||||
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
|
|
||||||
Dialogs, uEditorBase, ToolWin, ComCtrls, JvExControls, JvComponent,
|
|
||||||
JvNavigationPane, ActnList, TB2Dock, TB2Toolbar, TBX, TB2Item,
|
|
||||||
ImgList, PngImageList, StdActns, TB2ExtItems, TBXExtItems, uViewGridBase,
|
|
||||||
uEditorDBBase, DB, uDADataTable, Menus, JvFormAutoSize,
|
|
||||||
uDAScriptingProvider, uDACDSDataTable, AppEvnts, JvAppStorage,
|
|
||||||
JvAppRegistryStorage, JvFormPlacement, pngimage, ExtCtrls,
|
|
||||||
JvComponentBase, dxLayoutLookAndFeels, TBXStatusBars, JvExComCtrls,
|
|
||||||
JvStatusBar, uDAInterfaces;
|
|
||||||
|
|
||||||
type
|
|
||||||
IEditorGridBase = interface(IEditorDBBase)
|
|
||||||
['{CB8CDE00-B225-4A1D-9A5C-EC6FBE2C854B}']
|
|
||||||
|
|
||||||
procedure SetMultiSelect (AValue : Boolean);
|
|
||||||
function GetMultiSelect : Boolean;
|
|
||||||
property MultiSelect : Boolean read GetMultiSelect write SetMultiSelect;
|
|
||||||
end;
|
|
||||||
|
|
||||||
TfEditorGridBase = class(TfEditorDBBase, IEditorGridBase)
|
|
||||||
tbxEditFiltro: TTBXEditItem;
|
|
||||||
tbxFiltro: TTBXToolbar;
|
|
||||||
GridPopupMenu: TPopupMenu;
|
|
||||||
Modificar1: TMenuItem;
|
|
||||||
Eliminar1: TMenuItem;
|
|
||||||
N1: TMenuItem;
|
|
||||||
Nuevo1: TMenuItem;
|
|
||||||
TBXLabelItem1: TTBXLabelItem;
|
|
||||||
actQuitarFiltro: TAction;
|
|
||||||
N2: TMenuItem;
|
|
||||||
Previsualizar1: TMenuItem;
|
|
||||||
Imprimir1: TMenuItem;
|
|
||||||
TBXSeparatorItem14: TTBXSeparatorItem;
|
|
||||||
TBXItem33: TTBXItem;
|
|
||||||
N3: TMenuItem;
|
|
||||||
Actualizar1: TMenuItem;
|
|
||||||
TBXItem34: TTBXItem;
|
|
||||||
actAnchoAuto: TAction;
|
|
||||||
TBXSeparatorItem16: TTBXSeparatorItem;
|
|
||||||
TBXItem35: TTBXItem;
|
|
||||||
TBXItem36: TTBXItem;
|
|
||||||
TBXSeparatorItem6: TTBXSeparatorItem;
|
|
||||||
TBXItem7: TTBXItem;
|
|
||||||
actFiltrar: TAction;
|
|
||||||
TBXItem37: TTBXItem;
|
|
||||||
TBXTMain2: TTBXToolbar;
|
|
||||||
procedure tbxEditFiltroChange(Sender: TObject; const Text: String);
|
|
||||||
procedure FormShow(Sender: TObject); override;
|
|
||||||
procedure actQuitarFiltroExecute(Sender: TObject);
|
|
||||||
procedure actDuplicarUpdate(Sender: TObject);
|
|
||||||
procedure JvFormStorageSavePlacement(Sender: TObject);
|
|
||||||
procedure JvFormStorageRestorePlacement(Sender: TObject);
|
|
||||||
procedure actModificarUpdate(Sender: TObject);
|
|
||||||
procedure actEliminarUpdate(Sender: TObject);
|
|
||||||
procedure actNuevoUpdate(Sender: TObject);
|
|
||||||
procedure actAnchoAutoExecute(Sender: TObject);
|
|
||||||
procedure actRefrescarUpdate(Sender: TObject);
|
|
||||||
procedure actFiltrarExecute(Sender: TObject);
|
|
||||||
procedure actFiltrarUpdate(Sender: TObject);
|
|
||||||
protected
|
|
||||||
FViewGrid : IViewGridBase;
|
|
||||||
procedure SetViewGrid(const Value : IViewGridBase); virtual;
|
|
||||||
function GetViewGrid: IViewGridBase;
|
|
||||||
procedure SetMultiSelect (AValue : Boolean);
|
|
||||||
function GetMultiSelect : Boolean;
|
|
||||||
|
|
||||||
procedure PrevisualizarInterno; override;
|
|
||||||
procedure ConfPaginaInterno; override;
|
|
||||||
procedure ImprimirInterno; override;
|
|
||||||
procedure RefrescarInterno; override;
|
|
||||||
public
|
|
||||||
property ViewGrid: IViewGridBase read GetViewGrid write SetViewGrid;
|
|
||||||
property MultiSelect : Boolean read GetMultiSelect write SetMultiSelect;
|
|
||||||
|
|
||||||
constructor Create(AOwner : TComponent); override;
|
|
||||||
destructor Destroy; override;
|
|
||||||
end;
|
|
||||||
|
|
||||||
implementation
|
|
||||||
|
|
||||||
uses
|
|
||||||
uDataModuleBase, uCustomEditor, cxGridTableView, cxControls;
|
|
||||||
|
|
||||||
{$R *.dfm}
|
|
||||||
|
|
||||||
{
|
|
||||||
********************************* TfEditorGridBase *****************************
|
|
||||||
}
|
|
||||||
destructor TfEditorGridBase.Destroy;
|
|
||||||
begin
|
|
||||||
FViewGrid := NIL;
|
|
||||||
inherited;
|
|
||||||
end;
|
|
||||||
|
|
||||||
function TfEditorGridBase.GetMultiSelect: Boolean;
|
|
||||||
begin
|
|
||||||
Result := False;
|
|
||||||
if Assigned(ViewGrid) then
|
|
||||||
Result := ViewGrid.MultiSelect;
|
|
||||||
end;
|
|
||||||
|
|
||||||
function TfEditorGridBase.GetViewGrid: IViewGridBase;
|
|
||||||
begin
|
|
||||||
Result := FViewGrid;
|
|
||||||
end;
|
|
||||||
|
|
||||||
procedure TfEditorGridBase.ImprimirInterno;
|
|
||||||
begin
|
|
||||||
inherited;
|
|
||||||
ViewGrid.Print;
|
|
||||||
end;
|
|
||||||
|
|
||||||
procedure TfEditorGridBase.SetMultiSelect(AValue: Boolean);
|
|
||||||
begin
|
|
||||||
if Assigned(ViewGrid) then
|
|
||||||
ViewGrid.MultiSelect := AValue;
|
|
||||||
end;
|
|
||||||
|
|
||||||
procedure TfEditorGridBase.SetViewGrid(const Value: IViewGridBase);
|
|
||||||
begin
|
|
||||||
FViewGrid := Value;
|
|
||||||
if Assigned(FViewGrid) then
|
|
||||||
begin
|
|
||||||
FViewGrid.PopupMenu := GridPopupMenu;
|
|
||||||
FViewGrid.OnDblClick := actModificar.OnExecute;
|
|
||||||
end;
|
|
||||||
end;
|
|
||||||
|
|
||||||
procedure TfEditorGridBase.tbxEditFiltroChange(Sender: TObject; const Text: String);
|
|
||||||
begin
|
|
||||||
if Assigned(ViewGrid) then
|
|
||||||
begin
|
|
||||||
if Length(Text) > 0 then
|
|
||||||
ViewGrid.Filter := Text
|
|
||||||
else
|
|
||||||
actQuitarFiltro.Execute;
|
|
||||||
end;
|
|
||||||
end;
|
|
||||||
|
|
||||||
procedure TfEditorGridBase.FormShow(Sender: TObject);
|
|
||||||
begin
|
|
||||||
inherited;
|
|
||||||
if Assigned(ViewGrid) then
|
|
||||||
ViewGrid.ShowEmbedded(Self);
|
|
||||||
|
|
||||||
|
|
||||||
end;
|
|
||||||
|
|
||||||
procedure TfEditorGridBase.actEliminarUpdate(Sender: TObject);
|
|
||||||
begin
|
|
||||||
inherited;
|
|
||||||
if HayDatos and Assigned(ViewGrid) then
|
|
||||||
(Sender as TAction).Enabled := not (dsDataTable.DataTable.State in dsEditModes)
|
|
||||||
and not ViewGrid.IsEmpty
|
|
||||||
and ViewGrid.esSeleccionCeldaDatos
|
|
||||||
else
|
|
||||||
(Sender as TAction).Enabled := False;
|
|
||||||
end;
|
|
||||||
|
|
||||||
procedure TfEditorGridBase.actFiltrarExecute(Sender: TObject);
|
|
||||||
begin
|
|
||||||
inherited;
|
|
||||||
if Assigned(ViewGrid) then
|
|
||||||
ViewGrid.ViewFiltros.VerFiltros := not ViewGrid.ViewFiltros.VerFiltros;
|
|
||||||
|
|
||||||
if Assigned(ViewGrid) then
|
|
||||||
if ViewGrid.ViewFiltros.VerFiltros then
|
|
||||||
begin
|
|
||||||
tbxEditFiltro.Visible := False;
|
|
||||||
TBXItem7.Visible := False;
|
|
||||||
end
|
|
||||||
else
|
|
||||||
begin
|
|
||||||
tbxEditFiltro.Text := '';
|
|
||||||
tbxEditFiltro.Visible := True;
|
|
||||||
TBXItem7.Visible := True;
|
|
||||||
end;
|
|
||||||
end;
|
|
||||||
|
|
||||||
procedure TfEditorGridBase.actFiltrarUpdate(Sender: TObject);
|
|
||||||
begin
|
|
||||||
inherited;
|
|
||||||
if Assigned(ViewGrid) then
|
|
||||||
(Sender as TAction).Checked := ViewGrid.ViewFiltros.VerFiltros;
|
|
||||||
end;
|
|
||||||
|
|
||||||
procedure TfEditorGridBase.actModificarUpdate(Sender: TObject);
|
|
||||||
begin
|
|
||||||
inherited;
|
|
||||||
if HayDatos and Assigned(ViewGrid) then
|
|
||||||
(Sender as TAction).Enabled := not (dsDataTable.DataTable.State in dsEditModes)
|
|
||||||
and not ViewGrid.IsEmpty
|
|
||||||
and ViewGrid.esSeleccionCeldaDatos
|
|
||||||
else
|
|
||||||
(Sender as TAction).Enabled := False;
|
|
||||||
|
|
||||||
//En el caso de que el grid sea multiselección solo se podrá modificar si solo se tiene un elemento seleccionado
|
|
||||||
if (Sender as TAction).Enabled then
|
|
||||||
if MultiSelect and Assigned(ViewGrid) then
|
|
||||||
(Sender as TAction).Enabled := (ViewGrid.NumSeleccionados = 1);
|
|
||||||
end;
|
|
||||||
|
|
||||||
procedure TfEditorGridBase.actNuevoUpdate(Sender: TObject);
|
|
||||||
begin
|
|
||||||
inherited;
|
|
||||||
(Sender as TAction).Enabled := Assigned(dsDataTable.DataTable);
|
|
||||||
end;
|
|
||||||
|
|
||||||
procedure TfEditorGridBase.actQuitarFiltroExecute(Sender: TObject);
|
|
||||||
begin
|
|
||||||
if Assigned(ViewGrid) then
|
|
||||||
begin
|
|
||||||
tbxEditFiltro.Text := '';
|
|
||||||
ViewGrid.Filter := '';
|
|
||||||
end;
|
|
||||||
end;
|
|
||||||
|
|
||||||
procedure TfEditorGridBase.actRefrescarUpdate(Sender: TObject);
|
|
||||||
begin
|
|
||||||
inherited;
|
|
||||||
(Sender as TAction).Enabled := Assigned(dsDataTable.DataTable);
|
|
||||||
end;
|
|
||||||
|
|
||||||
procedure TfEditorGridBase.ConfPaginaInterno;
|
|
||||||
begin
|
|
||||||
inherited;
|
|
||||||
ViewGrid.PrintSetup;
|
|
||||||
end;
|
|
||||||
|
|
||||||
constructor TfEditorGridBase.Create(AOwner: TComponent);
|
|
||||||
begin
|
|
||||||
inherited;
|
|
||||||
actModificar.ShortCut := ShortCut(VK_RETURN, []);
|
|
||||||
end;
|
|
||||||
|
|
||||||
procedure TfEditorGridBase.actAnchoAutoExecute(Sender: TObject);
|
|
||||||
begin
|
|
||||||
inherited;
|
|
||||||
if Assigned(ViewGrid) then
|
|
||||||
ViewGrid.AjustarAncho;
|
|
||||||
end;
|
|
||||||
|
|
||||||
procedure TfEditorGridBase.actDuplicarUpdate(Sender: TObject);
|
|
||||||
begin
|
|
||||||
inherited;
|
|
||||||
if HayDatos and Assigned(ViewGrid) then
|
|
||||||
(Sender as TAction).Enabled := not (dsDataTable.DataTable.State in dsEditModes)
|
|
||||||
and not ViewGrid.IsEmpty
|
|
||||||
and ViewGrid.esSeleccionCeldaDatos
|
|
||||||
else
|
|
||||||
(Sender as TAction).Enabled := False;
|
|
||||||
|
|
||||||
//En el caso de que el grid sea multiselección solo se podrá modificar si solo se tiene un elemento seleccionado
|
|
||||||
if (Sender as TAction).Enabled then
|
|
||||||
if MultiSelect and Assigned(ViewGrid) then
|
|
||||||
(Sender as TAction).Enabled := (ViewGrid.NumSeleccionados = 1);
|
|
||||||
end;
|
|
||||||
|
|
||||||
procedure TfEditorGridBase.JvFormStorageSavePlacement(Sender: TObject);
|
|
||||||
begin
|
|
||||||
inherited;
|
|
||||||
if Assigned(ViewGrid) then
|
|
||||||
ViewGrid.StoreToRegistry(JvAppRegistryStorage.Root);
|
|
||||||
end;
|
|
||||||
|
|
||||||
procedure TfEditorGridBase.PrevisualizarInterno;
|
|
||||||
begin
|
|
||||||
inherited;
|
|
||||||
ViewGrid.Preview;
|
|
||||||
end;
|
|
||||||
|
|
||||||
procedure TfEditorGridBase.RefrescarInterno;
|
|
||||||
var
|
|
||||||
FocusedRow, TopRow : Integer;
|
|
||||||
begin
|
|
||||||
TopRow := ViewGrid._FocusedView.Controller.TopRowIndex;
|
|
||||||
FocusedRow := ViewGrid._FocusedView.DataController.FocusedRowIndex;
|
|
||||||
ViewGrid._FocusedView.BeginUpdate;
|
|
||||||
ShowHourglassCursor;
|
|
||||||
|
|
||||||
try
|
|
||||||
// inherited; <- No hacemos lo que hay en el padre
|
|
||||||
dsDataTable.DataTable.Refresh;
|
|
||||||
finally
|
|
||||||
ViewGrid._FocusedView.EndUpdate;
|
|
||||||
ViewGrid._FocusedView.DataController.FocusedRowIndex := FocusedRow;
|
|
||||||
ViewGrid._FocusedView.Controller.TopRowIndex := TopRow;
|
|
||||||
HideHourglassCursor;
|
|
||||||
end;
|
|
||||||
end;
|
|
||||||
|
|
||||||
procedure TfEditorGridBase.JvFormStorageRestorePlacement(Sender: TObject);
|
|
||||||
begin
|
|
||||||
inherited;
|
|
||||||
if Assigned(ViewGrid) then
|
|
||||||
ViewGrid.RestoreFromRegistry(JvAppRegistryStorage.Root);
|
|
||||||
end;
|
|
||||||
|
|
||||||
initialization
|
|
||||||
RegisterClass(TfEditorGridBase);
|
|
||||||
|
|
||||||
finalization
|
|
||||||
UnRegisterClass(TfEditorGridBase);
|
|
||||||
|
|
||||||
end.
|
|
||||||
|
|
||||||
Binary file not shown.
@ -1,62 +0,0 @@
|
|||||||
inherited fEditorItem: TfEditorItem
|
|
||||||
Left = 423
|
|
||||||
Top = 273
|
|
||||||
Caption = 'fEditorItem'
|
|
||||||
ClientHeight = 501
|
|
||||||
ClientWidth = 678
|
|
||||||
ExplicitWidth = 686
|
|
||||||
ExplicitHeight = 535
|
|
||||||
PixelsPerInch = 96
|
|
||||||
TextHeight = 13
|
|
||||||
inherited JvNavPanelHeader: TJvNavPanelHeader
|
|
||||||
Width = 678
|
|
||||||
Visible = False
|
|
||||||
ExplicitWidth = 678
|
|
||||||
inherited Image1: TImage
|
|
||||||
Left = 651
|
|
||||||
ExplicitLeft = 651
|
|
||||||
end
|
|
||||||
end
|
|
||||||
object pgPaginas: TPageControl [1]
|
|
||||||
Left = 0
|
|
||||||
Top = 76
|
|
||||||
Width = 678
|
|
||||||
Height = 406
|
|
||||||
ActivePage = pagGeneral
|
|
||||||
Align = alClient
|
|
||||||
TabOrder = 1
|
|
||||||
object pagGeneral: TTabSheet
|
|
||||||
Caption = 'General'
|
|
||||||
end
|
|
||||||
end
|
|
||||||
inherited TBXDock: TTBXDock
|
|
||||||
Width = 678
|
|
||||||
ExplicitWidth = 678
|
|
||||||
inherited tbxMain: TTBXToolbar
|
|
||||||
ExplicitWidth = 575
|
|
||||||
inherited TBXItem5: TTBXItem
|
|
||||||
Visible = False
|
|
||||||
end
|
|
||||||
end
|
|
||||||
inherited tbxMenu: TTBXToolbar
|
|
||||||
ExplicitWidth = 678
|
|
||||||
inherited TBXSubmenuItem4: TTBXSubmenuItem
|
|
||||||
inherited TBXItem10: TTBXItem
|
|
||||||
Visible = False
|
|
||||||
end
|
|
||||||
end
|
|
||||||
end
|
|
||||||
end
|
|
||||||
inherited StatusBar: TJvStatusBar
|
|
||||||
Top = 482
|
|
||||||
Width = 678
|
|
||||||
ExplicitTop = 482
|
|
||||||
ExplicitWidth = 678
|
|
||||||
end
|
|
||||||
inherited EditorActionList: TActionList
|
|
||||||
Top = 104
|
|
||||||
inherited actEliminar: TAction
|
|
||||||
ShortCut = 0
|
|
||||||
end
|
|
||||||
end
|
|
||||||
end
|
|
||||||
@ -1,39 +0,0 @@
|
|||||||
|
|
||||||
unit uEditorItem;
|
|
||||||
|
|
||||||
interface
|
|
||||||
|
|
||||||
uses
|
|
||||||
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
|
|
||||||
Dialogs, uEditorBase, ActnList, JvExControls, JvComponent,
|
|
||||||
JvNavigationPane, ComCtrls, StdActns, TB2Dock, TB2Toolbar, TBX, TB2Item,
|
|
||||||
ImgList, PngImageList, JvFormAutoSize, JvAppStorage,
|
|
||||||
JvAppRegistryStorage, JvFormPlacement, pngimage, ExtCtrls,
|
|
||||||
JvComponentBase, dxLayoutLookAndFeels, TBXStatusBars, JvExComCtrls,
|
|
||||||
JvStatusBar;
|
|
||||||
|
|
||||||
type
|
|
||||||
IEditorItem = interface(IEditorBase)
|
|
||||||
['{F6A412D1-59AA-41D2-ADD5-C92687CD5387}']
|
|
||||||
end;
|
|
||||||
|
|
||||||
TfEditorItem = class(TfEditorBase, IEditorItem)
|
|
||||||
pagGeneral: TTabSheet;
|
|
||||||
pgPaginas: TPageControl;
|
|
||||||
end;
|
|
||||||
|
|
||||||
implementation
|
|
||||||
|
|
||||||
uses uDataModuleBase;
|
|
||||||
|
|
||||||
{$R *.dfm}
|
|
||||||
|
|
||||||
initialization
|
|
||||||
RegisterClass(TfEditorItem);
|
|
||||||
|
|
||||||
finalization
|
|
||||||
|
|
||||||
UnRegisterClass(TfEditorItem);
|
|
||||||
|
|
||||||
|
|
||||||
end.
|
|
||||||
@ -1,15 +0,0 @@
|
|||||||
object Form1: TForm1
|
|
||||||
Left = 580
|
|
||||||
Top = 506
|
|
||||||
Width = 320
|
|
||||||
Height = 240
|
|
||||||
Color = clBtnFace
|
|
||||||
Font.Charset = DEFAULT_CHARSET
|
|
||||||
Font.Color = clWindowText
|
|
||||||
Font.Height = -11
|
|
||||||
Font.Name = 'MS Sans Serif'
|
|
||||||
Font.Style = []
|
|
||||||
OldCreateOrder = True
|
|
||||||
PixelsPerInch = 96
|
|
||||||
TextHeight = 13
|
|
||||||
end
|
|
||||||
@ -1,24 +0,0 @@
|
|||||||
unit uEditorPSPreview;
|
|
||||||
|
|
||||||
interface
|
|
||||||
|
|
||||||
uses
|
|
||||||
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
|
|
||||||
Dialogs, dxPSPrVw;
|
|
||||||
|
|
||||||
type
|
|
||||||
TForm1 = class(TCustomdxPSPreviewWindow)
|
|
||||||
private
|
|
||||||
{ Private declarations }
|
|
||||||
public
|
|
||||||
{ Public declarations }
|
|
||||||
end;
|
|
||||||
|
|
||||||
var
|
|
||||||
Form1: TForm1;
|
|
||||||
|
|
||||||
implementation
|
|
||||||
|
|
||||||
{$R *.dfm}
|
|
||||||
|
|
||||||
end.
|
|
||||||
Binary file not shown.
@ -1,938 +0,0 @@
|
|||||||
inherited fEditorPreview: TfEditorPreview
|
|
||||||
Left = 521
|
|
||||||
Top = 340
|
|
||||||
Caption = 'Previsualizar'
|
|
||||||
WindowState = wsMaximized
|
|
||||||
OnDestroy = FormDestroy
|
|
||||||
OnResize = FormResize
|
|
||||||
ExplicitWidth = 658
|
|
||||||
ExplicitHeight = 492
|
|
||||||
PixelsPerInch = 96
|
|
||||||
TextHeight = 13
|
|
||||||
inherited JvNavPanelHeader: TJvNavPanelHeader
|
|
||||||
Top = 75
|
|
||||||
Visible = False
|
|
||||||
ExplicitTop = 75
|
|
||||||
ExplicitWidth = 650
|
|
||||||
inherited Image1: TImage
|
|
||||||
Left = 623
|
|
||||||
ExplicitLeft = 623
|
|
||||||
end
|
|
||||||
end
|
|
||||||
inherited TBXDock: TTBXDock
|
|
||||||
Height = 75
|
|
||||||
ExplicitHeight = 75
|
|
||||||
inherited tbxMain: TTBXToolbar
|
|
||||||
Top = 49
|
|
||||||
DefaultDock = TBXDock
|
|
||||||
Visible = False
|
|
||||||
ExplicitTop = 49
|
|
||||||
ExplicitWidth = 248
|
|
||||||
end
|
|
||||||
inherited tbxMenu: TTBXToolbar
|
|
||||||
DockPos = -24
|
|
||||||
inherited TBXSubmenuItem5: TTBXSubmenuItem
|
|
||||||
Visible = False
|
|
||||||
end
|
|
||||||
inherited TBXSubmenuItem1: TTBXSubmenuItem
|
|
||||||
Visible = False
|
|
||||||
end
|
|
||||||
object TBXSubmenuItem2: TTBXSubmenuItem [3]
|
|
||||||
Caption = '&Ir'
|
|
||||||
object TBXItem47: TTBXItem
|
|
||||||
Action = actPrimeraPagina
|
|
||||||
Images = PreviewSmallImageList
|
|
||||||
end
|
|
||||||
object TBXItem43: TTBXItem
|
|
||||||
Action = actPaginaAnterior
|
|
||||||
Images = PreviewSmallImageList
|
|
||||||
end
|
|
||||||
object TBXItem44: TTBXItem
|
|
||||||
Action = actPaginaSiguiente
|
|
||||||
Images = PreviewSmallImageList
|
|
||||||
end
|
|
||||||
object TBXItem45: TTBXItem
|
|
||||||
Action = actUltimaPagina
|
|
||||||
Images = PreviewSmallImageList
|
|
||||||
end
|
|
||||||
end
|
|
||||||
inherited TBXSubmenuItem6: TTBXSubmenuItem
|
|
||||||
Caption = '&Zoom'
|
|
||||||
inherited TBXItem18: TTBXItem
|
|
||||||
Action = actZoomIn
|
|
||||||
Images = PreviewSmallImageList
|
|
||||||
end
|
|
||||||
object TBXItem38: TTBXItem
|
|
||||||
Action = actZoomOut
|
|
||||||
Images = PreviewSmallImageList
|
|
||||||
end
|
|
||||||
object TBXSeparatorItem19: TTBXSeparatorItem
|
|
||||||
end
|
|
||||||
object TBXItem48: TTBXItem
|
|
||||||
Action = actAnchoPagina
|
|
||||||
Images = PreviewSmallImageList
|
|
||||||
end
|
|
||||||
object TBXItem46: TTBXItem
|
|
||||||
Action = actTodaPagina
|
|
||||||
Images = PreviewSmallImageList
|
|
||||||
end
|
|
||||||
end
|
|
||||||
object TBXSubmenuItem3: TTBXSubmenuItem [5]
|
|
||||||
Caption = '&Herramientas'
|
|
||||||
object TBXItem49: TTBXItem
|
|
||||||
Action = actToolHand
|
|
||||||
Checked = True
|
|
||||||
GroupIndex = 1
|
|
||||||
Images = PreviewSmallImageList
|
|
||||||
end
|
|
||||||
object TBXItem50: TTBXItem
|
|
||||||
Action = actToolZoom
|
|
||||||
GroupIndex = 1
|
|
||||||
Images = PreviewSmallImageList
|
|
||||||
end
|
|
||||||
end
|
|
||||||
end
|
|
||||||
object TBXToolbar1: TTBXToolbar
|
|
||||||
Left = 0
|
|
||||||
Top = 23
|
|
||||||
Caption = 'TBXToolbar1'
|
|
||||||
DefaultDock = TBXDock
|
|
||||||
DragHandleStyle = dhNone
|
|
||||||
ParentShowHint = False
|
|
||||||
ShowHint = True
|
|
||||||
TabOrder = 2
|
|
||||||
object TBXItem39: TTBXItem
|
|
||||||
Action = actImprimir
|
|
||||||
DisplayMode = nbdmImageAndText
|
|
||||||
Images = SmallImages
|
|
||||||
end
|
|
||||||
object TBXSeparatorItem18: TTBXSeparatorItem
|
|
||||||
end
|
|
||||||
object tbxMano: TTBXItem
|
|
||||||
Action = actToolHand
|
|
||||||
Checked = True
|
|
||||||
DisplayMode = nbdmImageAndText
|
|
||||||
GroupIndex = 1
|
|
||||||
Images = PreviewSmallImageList
|
|
||||||
end
|
|
||||||
object tbxZoom: TTBXItem
|
|
||||||
Action = actToolZoom
|
|
||||||
DisplayMode = nbdmImageAndText
|
|
||||||
GroupIndex = 1
|
|
||||||
Images = PreviewSmallImageList
|
|
||||||
end
|
|
||||||
object TBXItem42: TTBXItem
|
|
||||||
Action = actTodaPagina
|
|
||||||
Images = PreviewSmallImageList
|
|
||||||
end
|
|
||||||
object TBXItem41: TTBXItem
|
|
||||||
Action = actAnchoPagina
|
|
||||||
Images = PreviewSmallImageList
|
|
||||||
end
|
|
||||||
object TBXItem40: TTBXItem
|
|
||||||
Action = actZoomOut
|
|
||||||
Images = PreviewSmallImageList
|
|
||||||
end
|
|
||||||
object cbZoom: TTBXComboBoxItem
|
|
||||||
Caption = 'Zoom'
|
|
||||||
ReadOnly = True
|
|
||||||
OnItemClick = cbZoomItemClick
|
|
||||||
end
|
|
||||||
object TBXItem37: TTBXItem
|
|
||||||
Action = actZoomIn
|
|
||||||
Images = PreviewSmallImageList
|
|
||||||
end
|
|
||||||
object TBXSeparatorItem17: TTBXSeparatorItem
|
|
||||||
end
|
|
||||||
object TBXItem7: TTBXItem
|
|
||||||
Action = actPrimeraPagina
|
|
||||||
Images = PreviewSmallImageList
|
|
||||||
end
|
|
||||||
object TBXItem34: TTBXItem
|
|
||||||
Action = actPaginaAnterior
|
|
||||||
Images = PreviewSmallImageList
|
|
||||||
end
|
|
||||||
object TBXItem33: TTBXItem
|
|
||||||
Action = actPaginaSiguiente
|
|
||||||
Images = PreviewSmallImageList
|
|
||||||
end
|
|
||||||
object TBXItem36: TTBXItem
|
|
||||||
Action = actUltimaPagina
|
|
||||||
Images = PreviewSmallImageList
|
|
||||||
end
|
|
||||||
object TBXSeparatorItem16: TTBXSeparatorItem
|
|
||||||
end
|
|
||||||
object TBXItem35: TTBXItem
|
|
||||||
Action = actCerrar
|
|
||||||
end
|
|
||||||
end
|
|
||||||
end
|
|
||||||
inherited StatusBar: TJvStatusBar
|
|
||||||
Panels = <
|
|
||||||
item
|
|
||||||
Width = 150
|
|
||||||
end
|
|
||||||
item
|
|
||||||
Width = 50
|
|
||||||
end>
|
|
||||||
ExplicitWidth = 650
|
|
||||||
end
|
|
||||||
inherited EditorActionList: TActionList
|
|
||||||
Top = 104
|
|
||||||
inherited actNuevo: TAction
|
|
||||||
Enabled = False
|
|
||||||
Visible = False
|
|
||||||
end
|
|
||||||
inherited actModificar: TAction
|
|
||||||
Enabled = False
|
|
||||||
Visible = False
|
|
||||||
end
|
|
||||||
inherited actGuardarCerrar: TAction
|
|
||||||
Enabled = False
|
|
||||||
Visible = False
|
|
||||||
end
|
|
||||||
inherited actGuardar: TAction
|
|
||||||
Enabled = False
|
|
||||||
Visible = False
|
|
||||||
end
|
|
||||||
inherited actEliminar: TAction
|
|
||||||
Enabled = False
|
|
||||||
Visible = False
|
|
||||||
end
|
|
||||||
inherited actConfPagina: TAction
|
|
||||||
Enabled = False
|
|
||||||
Visible = False
|
|
||||||
end
|
|
||||||
inherited actPrevisualizar: TAction
|
|
||||||
Enabled = False
|
|
||||||
Visible = False
|
|
||||||
end
|
|
||||||
inherited actDeshacer: TEditUndo
|
|
||||||
Enabled = False
|
|
||||||
Visible = False
|
|
||||||
end
|
|
||||||
inherited actCortar: TEditCut
|
|
||||||
Enabled = False
|
|
||||||
Visible = False
|
|
||||||
end
|
|
||||||
inherited actCopiar: TEditCopy
|
|
||||||
Enabled = False
|
|
||||||
Visible = False
|
|
||||||
end
|
|
||||||
inherited actPegar: TEditPaste
|
|
||||||
Enabled = False
|
|
||||||
Visible = False
|
|
||||||
end
|
|
||||||
inherited actSeleccionarTodo: TEditSelectAll
|
|
||||||
Enabled = False
|
|
||||||
Visible = False
|
|
||||||
end
|
|
||||||
inherited actLimpiar: TEditDelete
|
|
||||||
Enabled = False
|
|
||||||
Visible = False
|
|
||||||
end
|
|
||||||
inherited actBuscar: TAction
|
|
||||||
Enabled = False
|
|
||||||
Visible = False
|
|
||||||
end
|
|
||||||
inherited actCancelarCambios: TAction
|
|
||||||
Enabled = False
|
|
||||||
Visible = False
|
|
||||||
end
|
|
||||||
end
|
|
||||||
inherited SmallImages: TPngImageList
|
|
||||||
Left = 43
|
|
||||||
Top = 104
|
|
||||||
end
|
|
||||||
inherited LargeImages: TPngImageList
|
|
||||||
Left = 75
|
|
||||||
Top = 104
|
|
||||||
end
|
|
||||||
inherited JvFormStorage: TJvFormStorage
|
|
||||||
Left = 376
|
|
||||||
Top = 136
|
|
||||||
end
|
|
||||||
inherited JvAppRegistryStorage: TJvAppRegistryStorage
|
|
||||||
Left = 408
|
|
||||||
Top = 136
|
|
||||||
end
|
|
||||||
object PreviewActionList: TActionList
|
|
||||||
Images = PreviewSmallImageList
|
|
||||||
Left = 344
|
|
||||||
Top = 104
|
|
||||||
object actPrimeraPagina: TAction
|
|
||||||
Category = 'Ver'
|
|
||||||
Caption = 'Primera p'#225'gina'
|
|
||||||
ImageIndex = 0
|
|
||||||
OnExecute = actPrimeraPaginaExecute
|
|
||||||
OnUpdate = actPrimeraPaginaUpdate
|
|
||||||
end
|
|
||||||
object actUltimaPagina: TAction
|
|
||||||
Category = 'Ver'
|
|
||||||
Caption = #218'ltima p'#225'gina'
|
|
||||||
ImageIndex = 3
|
|
||||||
OnExecute = actUltimaPaginaExecute
|
|
||||||
OnUpdate = actUltimaPaginaUpdate
|
|
||||||
end
|
|
||||||
object actPaginaAnterior: TAction
|
|
||||||
Category = 'Ver'
|
|
||||||
Caption = 'P'#225'gina anterior'
|
|
||||||
ImageIndex = 1
|
|
||||||
OnExecute = actPaginaAnteriorExecute
|
|
||||||
OnUpdate = actPaginaAnteriorUpdate
|
|
||||||
end
|
|
||||||
object actPaginaSiguiente: TAction
|
|
||||||
Category = 'Ver'
|
|
||||||
Caption = 'P'#225'gina siguiente'
|
|
||||||
ImageIndex = 2
|
|
||||||
OnExecute = actPaginaSiguienteExecute
|
|
||||||
OnUpdate = actPaginaSiguienteUpdate
|
|
||||||
end
|
|
||||||
object actZoomIn: TAction
|
|
||||||
Category = 'Ver'
|
|
||||||
Caption = 'M'#225's zoom'
|
|
||||||
ImageIndex = 8
|
|
||||||
OnExecute = actZoomInExecute
|
|
||||||
end
|
|
||||||
object actZoomOut: TAction
|
|
||||||
Category = 'Ver'
|
|
||||||
Caption = 'Menos zoom'
|
|
||||||
ImageIndex = 9
|
|
||||||
OnExecute = actZoomOutExecute
|
|
||||||
end
|
|
||||||
object actTodaPagina: TAction
|
|
||||||
Category = 'Ver'
|
|
||||||
Caption = 'Toda la p'#225'gina'
|
|
||||||
GroupIndex = 1
|
|
||||||
ImageIndex = 4
|
|
||||||
OnExecute = actTodaPaginaExecute
|
|
||||||
end
|
|
||||||
object actAnchoPagina: TAction
|
|
||||||
Category = 'Ver'
|
|
||||||
Caption = 'Ancho de p'#225'gina'
|
|
||||||
GroupIndex = 1
|
|
||||||
ImageIndex = 5
|
|
||||||
OnExecute = actAnchoPaginaExecute
|
|
||||||
end
|
|
||||||
object actToolHand: TAction
|
|
||||||
Category = 'Herramientas'
|
|
||||||
AutoCheck = True
|
|
||||||
Caption = 'Mano'
|
|
||||||
GroupIndex = 1
|
|
||||||
ImageIndex = 10
|
|
||||||
OnExecute = actToolHandExecute
|
|
||||||
end
|
|
||||||
object actToolZoom: TAction
|
|
||||||
Category = 'Herramientas'
|
|
||||||
AutoCheck = True
|
|
||||||
Caption = 'Zoom'
|
|
||||||
GroupIndex = 1
|
|
||||||
ImageIndex = 6
|
|
||||||
OnExecute = actToolZoomExecute
|
|
||||||
end
|
|
||||||
end
|
|
||||||
object PreviewSmallImageList: TPngImageList
|
|
||||||
PngImages = <
|
|
||||||
item
|
|
||||||
PngImage.Data = {
|
|
||||||
89504E470D0A1A0A0000000D49484452000000100000001008060000001FF3FF
|
|
||||||
610000000970485973000017120000171201679FD252000000F14944415478DA
|
|
||||||
C5D2A10EC2301006E01B4F30893C39C59619EC70937B843D014C829B0339DEA0
|
|
||||||
1289638EC9C9E1160C9553A43882A0B45DC80223A30112CE346DFA7F697A6770
|
|
||||||
CEE19B327E0A8C663BB5A14506348D8CE7CBDEB4E0DBB96D7402518010C5A405
|
|
||||||
C8B0840F9B493710FA08F1E21190E1D0B7C5F9F23D10780849D200F7705102AC
|
|
||||||
D73A8023005203F73065A08022D3003C0B81AC08A0E3810C33115600156BAE01
|
|
||||||
3888E2A9F50BDC71CE07EE105875025A01B09268007D01A4CD1F48E4DAB3809D
|
|
||||||
657F35001440963E764122C78BA50798268ACF6ACF8142F6F97B400E8B9AC617
|
|
||||||
93887EC23B814FEAFFC00D0E3CD3E1153EE1F30000000049454E44AE426082}
|
|
||||||
Name = 'PngImage1'
|
|
||||||
Background = clWindow
|
|
||||||
end
|
|
||||||
item
|
|
||||||
PngImage.Data = {
|
|
||||||
89504E470D0A1A0A0000000D49484452000000100000001008060000001FF3FF
|
|
||||||
610000000970485973000017120000171201679FD252000000A34944415478DA
|
|
||||||
63FCFFFF3F032580912606303232628839545CF8BFBF5D9F912C03409A1F5C38
|
|
||||||
C0707F7B3EE90680342778E83334744C24DD0098E60B371818366C20D10098E6
|
|
||||||
071F18C0065C384082018E9517C19A3F0035830D7800A44F90E802A3BC13FFF5
|
|
||||||
8CCC193EBCF8C8F0E00503C3871B0B480F039021FF9834183EFC00721E906100
|
|
||||||
CC9077BF34C837006EC8AD13E41B00020A1E13FE136D002960E00D000045F48A
|
|
||||||
E13771044B0000000049454E44AE426082}
|
|
||||||
Name = 'PngImage0'
|
|
||||||
Background = clWindow
|
|
||||||
end
|
|
||||||
item
|
|
||||||
PngImage.Data = {
|
|
||||||
89504E470D0A1A0A0000000D49484452000000100000001008060000001FF3FF
|
|
||||||
610000000970485973000017120000171201679FD252000000A44944415478DA
|
|
||||||
63FCFFFF3F03258091260638565EFC7FA0C380115D1C9B5A9C067CFAF683E1DC
|
|
||||||
240B46B20D48F0D06798B4EE248A21241BF0E10703C3A26D0843483220C0419F
|
|
||||||
E1C10706860F407CE91AC410920C70B0506078F0829FE1C2838F0C1F1E3C009A
|
|
||||||
7480E1FEF67C46A20D30D0506038708301AEF9C18E02D25C202020C070E1C207
|
|
||||||
B86692C3800118800F6E2034936CC0830BA89A493680A294480A18780300CF22
|
|
||||||
A8E18A4EF6A30000000049454E44AE426082}
|
|
||||||
Name = 'PngImage3'
|
|
||||||
Background = clWindow
|
|
||||||
end
|
|
||||||
item
|
|
||||||
PngImage.Data = {
|
|
||||||
89504E470D0A1A0A0000000D49484452000000100000001008060000001FF3FF
|
|
||||||
610000000970485973000017120000171201679FD252000000EC4944415478DA
|
|
||||||
C5D2A10EC2301405D0DB2FA012F9246E95C8E290FB04FE8049703890842F5850
|
|
||||||
2882021CB5185210044725B220086E74908D40C252020937A97BF7A479792C49
|
|
||||||
127C13F673A0D65E27AA27D8EBA06CE97C70D10D5821703A5FB01A54D92B1085
|
|
||||||
84A813633F6B16038D7A80C178F984A440A34EE8F43C017B0186D3079202A124
|
|
||||||
F4FB1E402803180B58F736DB3B72038403620F405609E65082364758639CA440
|
|
||||||
42425608F1C803106E50ED9097CD3CBAFD40106132F10038E7D0DAE6E56C07A2
|
|
||||||
EC80B90700B740B37B9433801CA07C00A39FCB19C039412B0FE0DD25A6709A42
|
|
||||||
E0D3FC1FB8020318D0E1923D9C4B0000000049454E44AE426082}
|
|
||||||
Name = 'PngImage2'
|
|
||||||
Background = clWindow
|
|
||||||
end
|
|
||||||
item
|
|
||||||
PngImage.Data = {
|
|
||||||
89504E470D0A1A0A0000000D49484452000000100000001008060000001FF3FF
|
|
||||||
610000000970485973000017120000171201679FD2520000017E4944415478DA
|
|
||||||
630C9B1C9ACFC0C03081813C50C00834E07F7E400E51AAFFFEFBC3F0EBDF7786
|
|
||||||
9F7F2138C9268F01C58073FBBF113444C9EA0B58F38469B3192E2DBB8C69404E
|
|
||||||
AC07568DBFFE303058F86431D44EB264F8053460DACC25B80DA89FBC1FC38092
|
|
||||||
144706FBC02C86F27E03B00BE6CE594B9C0B4036FFFC0DA15D43B31872BB95C0
|
|
||||||
062C5FB09B341764C4383278476631A4754882BDB076F111FC2E40B619860363
|
|
||||||
B318125A05187E026362CBD2B3A4B92036D491212C218B21B2999DE1C7DF6F0C
|
|
||||||
7B565CC76E4072B807D8E6BFFF1036FFFE0BA16352B218021BFE82C3E0F0EA07
|
|
||||||
080372FC3218FEFEFFCD70E5D07F8698200F86FE79982E08F4756448CAC862F0
|
|
||||||
AA05A5836F0CA7D6BD421890E6130F36F5DE311E86303F0F145B616C1048C9CC
|
|
||||||
6270AE7A05567B71E3678401F19E6160C1A7274519E62DDD843725DA943F04BB
|
|
||||||
E0C696BF080322DC7CC151034BE390F4FE0DCA47D07FFEFF01D37F81F4EDAD8C
|
|
||||||
0803829C5DC04993540033207F57D36EB2B2B35B9D6B0100103839527F8C36D7
|
|
||||||
0000000049454E44AE426082}
|
|
||||||
Name = 'PngImage5'
|
|
||||||
Background = clWindow
|
|
||||||
end
|
|
||||||
item
|
|
||||||
PngImage.Data = {
|
|
||||||
89504E470D0A1A0A0000000D49484452000000100000001008060000001FF3FF
|
|
||||||
610000000970485973000017120000171201679FD252000001714944415478DA
|
|
||||||
630C9B1C9ACFC0C03081813C50C00834E07F7E400E51AAFFFEFBC3F0EBDF7786
|
|
||||||
9F7F2138C9268F016EC099973B18F253E4198E6ED6C4A9D9CEFF36C3C4390F19
|
|
||||||
64793519264C9BCD7069D9658801D6962A60CDC40290216B171F411880CF05BF
|
|
||||||
A0CE05D17E619FC09A05D8C519E6CE598B6AC0B9FDDF8876018BEE6986E50B76
|
|
||||||
631A9013EB8153D3AF3F0C0C3F7F3330D807663124B40A607A016640FDE4FD58
|
|
||||||
0D2849716458B86607C3BCA59B18229BD919B62C3D4B9C0B603683E8E51B2006
|
|
||||||
0436FC65D8B3E23A692EC888716458BB05628057ED1786C3AB1F200CC8F1CB60
|
|
||||||
B878F0178A0B906D86E1CD3B20063857BD6238B5EE15C280349F7886EB8799F1
|
|
||||||
BA2036D49161C76E880136E50F192E6EFC8C3020DE338CE1DE311EB001D86CFE
|
|
||||||
FD1742EFDB0F31C0B4E43AC38D2D7F110644B8F9323C3D29CA901CEE81A219A6
|
|
||||||
11C63E7604628051F16586DB5B1911060439BB304C9BB984E88404033003F277
|
|
||||||
35ED262B3BBBD5B9160000C8E01B524AB937870000000049454E44AE426082}
|
|
||||||
Name = 'PngImage4'
|
|
||||||
Background = clWindow
|
|
||||||
end
|
|
||||||
item
|
|
||||||
PngImage.Data = {
|
|
||||||
89504E470D0A1A0A0000000D49484452000000100000001008060000001FF3FF
|
|
||||||
61000000097048597300000AEB00000AEB01828B0D5A000002E64944415478DA
|
|
||||||
8D936B4893511CC6FF67DA74BAC9BC9478C9357338CC4B0EBC1709F929A25414
|
|
||||||
A13E48082D8CFC20267E1B925DD004B3120C75919AA99B5DADD485E56DA2791D
|
|
||||||
739ABA2D9DB7A953379D6EEF5EDFDE14859C810F3C5F0ECFF33BFFF38783E0FF
|
|
||||||
425902A13B668448DCB4C5B658709C40D8F0A4563120A97FB1B61F3AAC291008
|
|
||||||
EDB1630ED7ECECA97C6F7F6FAEABB72BCDB46902B54CAD5BD4CCF7AAC68772C5
|
|
||||||
6F8A06C8286E05484EAEB3F10BB6A49FE2B2F2C2628318E0C440063300410050
|
|
||||||
910596D4B344F7BBB63169FBA7B4D6E65AA915205320E47A9EF4ECB89A7CCE85
|
|
||||||
CDA021950141E2BD2E9049645029E683BB3301EB2AE5F657E15B4955457EAA15
|
|
||||||
205B5095CD8BE33D0C8BE0523C1002B50120E5C12EE03509D8A60078386EC1B7
|
|
||||||
F2066DA3A89C8FFE1DBF9076CADFADFA4A467C829E70829C82AE43B79B97150D
|
|
||||||
B3522956F3F4C9B3030001DD87C3AE49C84CBCBC646640FCA5D29DF3A0B8A09D
|
|
||||||
09F62469E1C3A4B4D7F2EAF1A3DA834FA064DC2D2D8E4DB9984E63F922ED2A02
|
|
||||||
161DE04EE1EE13D4ED7CB090CB5CD9C6E1439978A3FE655189D50E52D37263CE
|
|
||||||
4486374725C5D2168DF6C88E2CE414ED02942400030246C6A7087149C5688DF0
|
|
||||||
7EC63EE0F38DB3C79974A8ECB70B7459649E0F64F17854767800C588D390830D
|
|
||||||
02172A19226F5E58D211DFEB9AF40DD5CFCB46E5DD0568AFECC6C43FFA470747
|
|
||||||
2CEBF420D2048072C57ED3CB2F846005F9D19CBD4E80C96882B9F16942D1DBA7
|
|
||||||
FBD15C2B960F77159355056AB919E0E3E24C17F9C58487E1737218966D429386
|
|
||||||
01F235CB8589854D87D3DCD0448613938D61669B89B1C1099552DEB9AA9B9790
|
|
||||||
E559D204FA99C5EBF78D0A0FB5D5ABA0BF6F0D7AA66CA1757CC4B862D808E9D6
|
|
||||||
9826C990236927D236A4B748AF92C6F6FF82243F890861AE817CC8001D6A0A74
|
|
||||||
2A478D1AFD7A926CC6FC058E20743BEDFA2F1ECC70B45A0CDA2614CB5AFDFAAD
|
|
||||||
BE19B3E828E51D009FCFE710C6F546ED680F473DFF3B7E70DAFCFEA8E5BFFA03
|
|
||||||
503A4EA60D6AAC070000000049454E44AE426082}
|
|
||||||
Name = 'PngImage6'
|
|
||||||
Background = clWindow
|
|
||||||
end
|
|
||||||
item
|
|
||||||
PngImage.Data = {
|
|
||||||
89504E470D0A1A0A0000000D49484452000000100000001008060000001FF3FF
|
|
||||||
61000000097048597300000AEB00000AEB01828B0D5A000002E44944415478DA
|
|
||||||
8D936B48D35118C6DFB379D9D4C9BC94A8CB399B38CC4B0E9C9A45427D8C5251
|
|
||||||
82FA2021B430F08398F4258650145A615642A12E4A31AF6565795958A69B685E
|
|
||||||
C7BCB4B92D9D3AA74E7771BAFD37FFFDA728E40A7CE0FDF6FC9E73DE877310FC
|
|
||||||
5FA850200CC22C90ECB06EB1EC76870347D8F88C6E7244D4F8D2B06FFA172910
|
|
||||||
082998BBD7154F8A079F11C5E0043002A8D64D2BA8A56AFDB2463BA8928F1537
|
|
||||||
BF2D1B21AC0E9780ECEC06323BCE9E17CE61DE4D4C8BA5812F0D996C00380EE0
|
|
||||||
81ECB0A25EC0FBDFF74C4B7E7CCAEDEEAC97B8041408849C906321BD97B24FFB
|
|
||||||
B36854A43221106B01ECCE007780203F1CCC2AE576BBF09DA8A6BA24C725A048
|
|
||||||
5053C43DCFBD9F98C4210523046A13C0D0320099BCBBF0360920D87B0BBE56B5
|
|
||||||
E8DA9AAAF8E8EFEB3FA2864705D65ECC4FCF30E2BE70BB54ECD28F542485D676
|
|
||||||
3E2C482458DDD327CF0E04087CC222597519059917566C34B8F358BC031C94A8
|
|
||||||
8B0F339241FBEB870FEA0FAE40CABFF5A23CEDF2B93C2A3302E9D611307D0002
|
|
||||||
29006EC4D529A4DD2ED6B61DF0A1B279A3F15559854B0739B9C5A92792799D29
|
|
||||||
5969D4650B05791200C31B804A74E046B831C061423E8B3757544FD509EFE5EF
|
|
||||||
077CBE76F208DD07DE0C7BC6F82FD3CFC430B95C0F162F9A64715091171981BF
|
|
||||||
0761224E5E5AD1E3DF1A3A8C2DB5CF2BA764FDA5680F0EA43B3E469D8A4B5AD5
|
|
||||||
1BA149130DCA35CA66283B1E67C6B2A97EA147C16AB1C2A27C0E9F1C1CD27FEF
|
|
||||||
AC6F968D8BCB097412755D8F0EF3F7F36962A7F2121D8B3218976E4287860632
|
|
||||||
83FDAC6269D3EB38272193E64B6761988DAC981E55A894B2BE75BD5644C00BC4
|
|
||||||
E0E867217738228597E06654C1F090010666DDA05B3E6159336DC4F76BAC3384
|
|
||||||
8968007C8971BE842D62D6C159C5DE5F109564E1F17403C8C64CD0AB26419F72
|
|
||||||
CAA2319AB3A4F3B62F7008A19BB9577F71613E52A7C3A04731B9AA339A6F0CCD
|
|
||||||
DB9A0E03EF04F0F9FC48DC626ED34D0D44AAB5BFD347E76CAD87859DFA0386D8
|
|
||||||
3FA68502A9830000000049454E44AE426082}
|
|
||||||
Name = 'PngImage7'
|
|
||||||
Background = clWindow
|
|
||||||
end
|
|
||||||
item
|
|
||||||
PngImage.Data = {
|
|
||||||
89504E470D0A1A0A0000000D49484452000000100000001008060000001FF3FF
|
|
||||||
610000000970485973000017120000171201679FD252000000E14944415478DA
|
|
||||||
63FCFFFF3F032580717019C0C8C8086787B4DDF8FFEBD76F869F3F7F33EC6C37
|
|
||||||
824BA05B88D300BF86CBFFA3A35419A6CFB8C870A0CF9C7403DC2BCFFD8F88D4
|
|
||||||
66983DEB34C3B12936C41910DA7E13EE6C100E0D37609837E7180358EC0708FF
|
|
||||||
6278B0218011A701FE8D57C0CEFEF68391E1DB770630FD1D88BF7C07E26F8C0C
|
|
||||||
6B17AE6178B1230CB7011E55E7FF836C86B9C23FC48661C9BC5D609B7F40F187
|
|
||||||
0331B80D400E03DDF85DFF3D039D1856CEDFCCF0706320E981A816BEF5BF8BBF
|
|
||||||
07D8D92F7786936E80BCFFFAFF30677F3C184B9C01E480616000007F3BB6E1E0
|
|
||||||
0AF3B40000000049454E44AE426082}
|
|
||||||
Name = 'PngImage8'
|
|
||||||
Background = clWindow
|
|
||||||
end
|
|
||||||
item
|
|
||||||
PngImage.Data = {
|
|
||||||
89504E470D0A1A0A0000000D49484452000000100000001008060000001FF3FF
|
|
||||||
610000000970485973000017120000171201679FD252000000714944415478DA
|
|
||||||
63FCFFFF3F03258071D4002A1B10DA7E13CC01897DFDFA83E1DBB71F60FAFBB7
|
|
||||||
9F0C9F3F7F03E3F7FBA219F11A1013A500E77FFCCCC8F0EA1D23C38BB74C0CCF
|
|
||||||
5E3131AC9E3397E1F7E914DC0684B4DDF88FCBE62F9FBF33FCF9F397E1FFF974
|
|
||||||
DC060C7C208E1A401E0000EFE473E127272ED00000000049454E44AE426082}
|
|
||||||
Name = 'PngImage9'
|
|
||||||
Background = clWindow
|
|
||||||
end
|
|
||||||
item
|
|
||||||
PngImage.Data = {
|
|
||||||
89504E470D0A1A0A0000000D49484452000000100000001008060000001FF3FF
|
|
||||||
610000000970485973000017120000171201679FD252000001C74944415478DA
|
|
||||||
A5934D4B5B411885CF5D9982288874EB0F306E5CBA9A646514E33536264AE456
|
|
||||||
5184528AE0424A043751FCC08228E24788894631D5D6D12C5C08EA2A74512AD8
|
|
||||||
E4070822EE44A3E255CC386F24264AAE5978609881B9E739EFCCBC571142E03D
|
|
||||||
5208A0284ADECDA08FB9E4342087EFF3C04124772F139C1790319614C3DCE456
|
|
||||||
B116E2D0EF11CF051502FCD7BA54F37A98C3E951110E70783A5584FC3C2E0155
|
|
||||||
0501DB534C34389F92DD9A342E7068DD2A96FC1CD296AE44F3EE470C019B934C
|
|
||||||
A8AE6CF2E29C9C3B6C5809EEC0EEA84194C7E212506508D8F8C144735B36D93F
|
|
||||||
232B69B72212DE43BDBD1A5BBFFFA1C7B7AF3C03424396C6B252F08714709184
|
|
||||||
F94311E22DEDD9E4C0FC0E9CEE1AFC8AC4505B5789E876025F867300D1694BFA
|
|
||||||
CCA49FCB1C046AD5B2C94B813D383E3D25334B0576778FF17524074047C8944D
|
|
||||||
A2B3BB3C36E8BA8E3BFD363DEEEF74DC5C5F2179718ED89F4B7C1B7B0520AD8E
|
|
||||||
3241C9F4B191F93A798943F90EBDE37900A4908F0987CB6A6826FD3D02FA260C
|
|
||||||
0024FF201374DBF9CCA767B7F28E4CF07C7F03409AF532411796319391747266
|
|
||||||
C2C77298651F240AFE4C53FD4CA4E48BA464FBD1CBD09ACCB29D132F5AF93D7A
|
|
||||||
04D7A238F0C903C3480000000049454E44AE426082}
|
|
||||||
Name = 'PngImage10'
|
|
||||||
Background = clWindow
|
|
||||||
end>
|
|
||||||
PngOptions = [pngBlendOnDisabled, pngGrayscaleOnDisabled]
|
|
||||||
Left = 371
|
|
||||||
Top = 104
|
|
||||||
Bitmap = {}
|
|
||||||
end
|
|
||||||
object PreviewLargeImageList: TPngImageList
|
|
||||||
Height = 24
|
|
||||||
Width = 24
|
|
||||||
PngImages = <
|
|
||||||
item
|
|
||||||
PngImage.Data = {
|
|
||||||
89504E470D0A1A0A0000000D4948445200000018000000180806000000E0773D
|
|
||||||
F80000000970485973000017120000171201679FD252000001894944415478DA
|
|
||||||
63FCFFFF3F032D01E3F0B4C0B1F2228AE0810E03467C8638545CF8BFBF5D1FAB
|
|
||||||
1A9C1604D9E980D97D93A6303CD851C088CFF007170E30DCDF9E4F7D0B408683
|
|
||||||
D481D450DD0298E1DF7EFE679831732A752D4036FCDBAF7F0C8BE64F27CF82AF
|
|
||||||
3FFE33CC9C3515C50274C3BF03E9D5CB66906E81BB9936C3E7EFFF18962D9E0E
|
|
||||||
B7009BE1DF7FFD67D8B26626E91658E96A022DF8CFB079CD0CB005B80CFFF693
|
|
||||||
8161DF66322CD055D160F80C0CA2035B663228183830E032FC0B50CDA9DDB348
|
|
||||||
B74041469DE1D3B77F0CE7F6CD06FBC028EFC47F1F6B430CC3BFFEF8C770F5F0
|
|
||||||
1CD22D10125265F8F0F53FC3BD9373E07100B2C44A4F1FC5F0AF400B1F9C9A4B
|
|
||||||
BA054CEC2A0C1F813E787B791E4A2A0259A222AF07371C64D19B4BF348B7E0F3
|
|
||||||
5F25A00FFE31FCBDB700231F802CE113D0061B0EC23F6ECD27DD82C79F1418FE
|
|
||||||
FE03721E2CC09A9341967C63D064F8018C0F901A922D78F04101C2C16101CC92
|
|
||||||
77BF34686701DC925B27C8B0005804C3003E0B4040C163C27F922CA02618B580
|
|
||||||
200000A0D9B0E00198A13A0000000049454E44AE426082}
|
|
||||||
Name = 'PngImage1'
|
|
||||||
Background = clWindow
|
|
||||||
end
|
|
||||||
item
|
|
||||||
PngImage.Data = {
|
|
||||||
89504E470D0A1A0A0000000D4948445200000018000000180806000000E0773D
|
|
||||||
F80000000970485973000017120000171201679FD252000000FA4944415478DA
|
|
||||||
63FCFFFF3F032D01E3F0B680919111AF66878A0BFFF7B7EBE35544B60520C31F
|
|
||||||
5C38C0707F7B3EF52D00191E64A7C3D037690AF52D8019FEEDE77F861933A752
|
|
||||||
D70264C3BFFDFAC7B068FE74EA59806EF87720BD7AD90CEA5880CDF0EFBFFE33
|
|
||||||
6C593393720B7019FEED2703C3BECD145AE0587911A7E15F7EFC6738B57B16E5
|
|
||||||
3E30CA3BF1DFC7DA10C3F0AF3FFE315C3D3C873A7100B2C44A4F1FC5F0AF400B
|
|
||||||
1F9C9A4BBD5404B244455E0F6E38C8A23797E651371F802CE113D0061B0EC23F
|
|
||||||
6ECDA77E4E0659F28D4193E107303E181E2CA04D5904B2E4DD2F0DDA5900B7E4
|
|
||||||
D609DA5900020A1E13FE53640135C0A805040100D3AF21E00AC8E9BE00000000
|
|
||||||
49454E44AE426082}
|
|
||||||
Name = 'PngImage0'
|
|
||||||
Background = clWindow
|
|
||||||
end
|
|
||||||
item
|
|
||||||
PngImage.Data = {
|
|
||||||
89504E470D0A1A0A0000000D4948445200000018000000180806000000E0773D
|
|
||||||
F80000000970485973000017120000171201679FD2520000012E4944415478DA
|
|
||||||
63FCFFFF3F032D01E3F0B6C0B1F2E2FF031D068CF80C20E440BC16D8955FF9FF
|
|
||||||
F5C7578673932C705A429105B6400BF2037518DA979FC469094516D8945DFD5F
|
|
||||||
10A40D66E3B284220BACCBAEFD2F0CD202B37FFDF9CFD0BBFA148625145A701D
|
|
||||||
688126D8F0EFBFFE337CFBF99F61C18E33289650648155E98DFF39FEEA70C3C1
|
|
||||||
F8D73F862D47CFC32DA1C802CBD29BFF533C55510CFFFE13E29B63972E822DA1
|
|
||||||
C8028B929BFFA39D55300CFFF69381E1CB8FFF0CA776CF62B8BF3D9F916C0BCC
|
|
||||||
4B6EFD0FB251C269F8831D0594F9C0ACF8F67F4F73799C86531C07A6C577FE3B
|
|
||||||
1AC8E2349C620B4C8AEEFEB7D496C66938152CB8F75F5F450AA7E1145B605C74
|
|
||||||
FFBF8A8C044EC329B6C0A8F0C1FFF73736E2349C620B0C0B1FFEBF30418176F5
|
|
||||||
0135C0A80504010058FB49E08BBA20470000000049454E44AE426082}
|
|
||||||
Name = 'PngImage3'
|
|
||||||
Background = clWindow
|
|
||||||
end
|
|
||||||
item
|
|
||||||
PngImage.Data = {
|
|
||||||
89504E470D0A1A0A0000000D4948445200000018000000180806000000E0773D
|
|
||||||
F80000000970485973000017120000171201679FD252000001C24944415478DA
|
|
||||||
63FCFFFF3F032D01E3F0B4C0B1F2E2FF031D068CF834DA965D46D178A85307AB
|
|
||||||
7AAC16D8955FF9FFF5C7578673932C705A02B220D44113CCEE9B3485E1FEF67C
|
|
||||||
E22DB0055A901FA8C3D0BEFC244E4B28B2C0A6ECEAFF82206D301B9725145960
|
|
||||||
5D76ED7F61901698FDEBCF7F86DED5A7302CA1D082EB400B34C1867FFFF59FE1
|
|
||||||
DBCFFF0C0B769C41B10466C1D71FFF1966CE9A4A9A0556A537FEE7F8ABC30D07
|
|
||||||
E35FFF18B61C3D0FB7046481978506C3E7EFFF18962D9E4E9A0596A537FFA778
|
|
||||||
AAA218FEFD27C437C72E5D045B02B2C0565F0D68C17F86CD6B6690668145C9CD
|
|
||||||
FFD1CE2A18867FFBC9C0F0051824A776CF6290D5736630505365F80CE41FD832
|
|
||||||
93340BCC4B6EFD0FB251C269F8831D05601F28CBA9307CFAF68FE1DCBED9A459
|
|
||||||
60567CFBBFA7B93C4EC36171202AA2C4F0E1EB7F867B27E790668169F19DFF8E
|
|
||||||
06B2380D8759C0CAA9C8F011E883B797E791668149D1DDFF96DAD2380D8759F0
|
|
||||||
EDBF3CD007FF18FEDE5B40AA05F7FEEBAB48E1341C66C1B32FB20C7FFF01390F
|
|
||||||
48B4C0B8E8FE7F1519099C86C32C78FC4916C221D502A3C207FFDFDFD888D370
|
|
||||||
8A2D302C7CF8FFC2040582F5C1E34B7BE17C922CA02618B5802000000BFCA8E0
|
|
||||||
E6ADB53E0000000049454E44AE426082}
|
|
||||||
Name = 'PngImage2'
|
|
||||||
Background = clWindow
|
|
||||||
end
|
|
||||||
item
|
|
||||||
PngImage.Data = {
|
|
||||||
89504E470D0A1A0A0000000D4948445200000018000000180806000000E0773D
|
|
||||||
F80000000970485973000017120000171201679FD252000002344944415478DA
|
|
||||||
63FCFFFF3F032D0123C882F02961F940F6042A9B5DB03267D5449805FFF30372
|
|
||||||
C832E51FC35F863FFF7E31FCFEF713887F41D9BF18526C0A19DEBF7ACF489105
|
|
||||||
7FFE430C86190AA3A74C5FC87069D965FC169CDBFF8D24CB642C5EC32D993173
|
|
||||||
397116E4C47AE035F4EFBFFF0CBFFFFC65B0F2CB63A89C680CF7C1DCD96B29B7
|
|
||||||
0066F89C957B18E62DDDC450DAAF0BF7C1C2B99B89B7A07EF27E9C9614275932
|
|
||||||
2C5A77006C4141AF3ADC07CBE6EF24DF073097FFFAFD87E1F7EFBF0CCB371F06
|
|
||||||
5B90D3AD08F7C1AA85FBA9E383CC48638635DB8F812D48ED9060F8FD1F62C1C6
|
|
||||||
C52748F701BACB21ECBF0C9BF69C045B90D02E04CF0FDB969EA78E0FA2FD7418
|
|
||||||
761D3A0BB620A695079ED9762FBF8ADF0250EEBCB0FF27D8825F409722BB18CE
|
|
||||||
868AEF3F7E016C4178332B3C0EF6AFBC8DDB0258D6BF72F03F435AA42B43EBF4
|
|
||||||
43387D10E8AAC670E4F465B005418DFFE1417464F523EC1620972B370FB33124
|
|
||||||
8638E174394CFCD4856B600BFCEA7FC283E8E4DA179816E40664A2145AF78EF2
|
|
||||||
30C404D8E3351CC43E7FF526D802F79AF7607D20FD17367CC2B420D32F19A544
|
|
||||||
7C745C8821CCDB06AFE120F6959B77C0163855BD84177C5736FDC0B420C93B12
|
|
||||||
A5447C794A9A21D0CD9261FDAEE30C8400C802DB8A4770BD37B7FCC3B420D633
|
|
||||||
18A5D87D7B4611AC915860597607ACF7DFFFBF0CB7B732625A10E9EE8BE20314
|
|
||||||
1AADDCC7C506190E02582D087175A78AE1382D087076045714D402E816E4EF6A
|
|
||||||
DA4DD54ADFADCE1551E9D31200008EE53CFED5D704CB0000000049454E44AE42
|
|
||||||
6082}
|
|
||||||
Name = 'PngImage5'
|
|
||||||
Background = clWindow
|
|
||||||
end
|
|
||||||
item
|
|
||||||
PngImage.Data = {
|
|
||||||
89504E470D0A1A0A0000000D4948445200000018000000180806000000E0773D
|
|
||||||
F80000000970485973000017120000171201679FD252000003154944415478DA
|
|
||||||
B5956D48536114C7CFC89022883E288415547E48F243651451425A6A929361A2
|
|
||||||
0E13D14553985AA411944A5A4804622AE9AC25CBDCD0125F4B526CD87C2F75E8
|
|
||||||
544C83B23EE45829E6667AEFEEEDDE3377756D6B1BD98167CFB37BEEF9FFCE39
|
|
||||||
CF81CBA3691A783C1ED8B300F1043D28F5B3EF64ED50390D9A14877ED4667F62
|
|
||||||
4B633298FF45EB9D1FB579B8EFF7CF71A8CFBE33D8DF0931A20E7BEE2B3592DA
|
|
||||||
0716009D2190709EF43BDE902EF48562E5B45544F12D1DFAD65B5CC401C8CA96
|
|
||||||
425BFD4E20A8152099C5EE974E5D8539DD1CCF066011D7FDF400EF1D24279428
|
|
||||||
914177B39FD99FE08BCFBECC52603018F15C505803F5B55B51BCB44C0E238A51
|
|
||||||
5BC049FE04C88B4428CE9A716909F4FA1F60342E81EC5987154037E7012B0401
|
|
||||||
8B8B065CEC595AF91A140A0ACAA54AFB00D658C8FD7C3127AEFF6E0634B60E73
|
|
||||||
80E4A85D306FF0E4C4170D06A8AC56A1385B81EC519D7DC090CA5C6E5AE16748
|
|
||||||
BB1C0125152D56FD7E98B91764EA3D78B1164B8A0F42F1A7B907711A57F6F580
|
|
||||||
5CD6EC182049388781BCC352F3A80D8BED4E1045D1B029A002CFF36F13813499
|
|
||||||
20242E0BC4F77C40C1B4CA29C002B10760C54913059EC71E73E2CA66353CA96E
|
|
||||||
02518117D4CA55AE011C65CE8A13A4094892427182D95FB47623E0E2DD6DD058
|
|
||||||
D5E71C905BA202572C5578940199A0A1BD0F01B1F99BE155F5B0FB15B0D912A6
|
|
||||||
D5AC194182A902AB612B61CE2D6F061010759B8676E5987B007BE224D722F36A
|
|
||||||
530F22203277195435531BD7A278BE3FDE87AA578380F0EC05E87A3EE35A05AE
|
|
||||||
646EB96CF5BB11049CBDA987FEBA6FB68034412A6854CB1CC01D7176927A87C6
|
|
||||||
1010786306340D0BB680D44811683B6904B041F9659D2EB52832D817C7F4FDC8
|
|
||||||
04024E5C9F066DD32F5B40F279214C756D811461A85B9913ABEF69C63F20E068
|
|
||||||
E6384CB650B68084F00BF0A9673B2445075B055314E5549C7DAE9D9C46C0916B
|
|
||||||
A330F592670B1086F1E16B9F1724084E637071D5804B2D0A3ABE1B77A780E890
|
|
||||||
30981DF001213FD02AB3BF5D36C5C45ACC29407026083F141B657F0232DAF2DA
|
|
||||||
8BFE5D76CD427342D63EFAFFD37E031AD161FE86E3B8C60000000049454E44AE
|
|
||||||
426082}
|
|
||||||
Name = 'PngImage4'
|
|
||||||
Background = clWindow
|
|
||||||
end
|
|
||||||
item
|
|
||||||
PngImage.Data = {
|
|
||||||
89504E470D0A1A0A0000000D4948445200000018000000180806000000E0773D
|
|
||||||
F8000000097048597300000AEB00000AEB01828B0D5A0000053A4944415478DA
|
|
||||||
AD956B50546518C79F73CE2ECB5ED9B3ECB22C48800A02CA45101BBCA005D9D4
|
|
||||||
4C17758C6FD57899FAE0D4871AB3CC6B5FD2748CA91877600AB3A949CA4427E3
|
|
||||||
A65C1409729565B92CEEB2807B935DD80BECB2B773F6F4420A5841493D33E7D3
|
|
||||||
7BDEDFEF39FFF799F760F058C5601F2BAB443E079B0C077DF250304086432117
|
|
||||||
CDC6AD3EA77FACAC6CAF77EAA5B93BB07F8B3EFD55A37872CC95C7E5725E6671
|
|
||||||
584F4570D871188E7182815068D2E3354E38DC17273C8E2B9DC33A4D735599E7
|
|
||||||
B10495E76FC63B6CCED7F8A4708F58267A429620C5C4B1628C601310F006C06E
|
|
||||||
1A656CF7ECA151B3ADDB366256EA07BB2EFEF4CD19FBF427FF13FCA4F29214A3
|
|
||||||
88BD9218F2CDB4DCA531B1F1122C40B0C11B02A0C37F74C822502A011F63EA37
|
|
||||||
33BACEBB8377BBD5A75B9B7EF956A3B9E15C50B063C77922AF20622B29979CC8
|
|
||||||
29484D4C7F428647E038DCF703BC70E826681A34F0F9B15720398F0452C0000F
|
|
||||||
0FC1B0C640AB9A3ABA55ED8DEFFD5C5D797541C1A7E5D5F2E024766C59CEB29D
|
|
||||||
F96B5388380E0BC351CFEE2040E187B3024516096C1680044958FE71467D4D1D
|
|
||||||
AAABAE52B65D6F38BAA0E0E8890B05B21871E5AAC28C94D8043926A601F80480
|
|
||||||
651260DB47B382F47C12BC14008ED6A2793458D4FDE196CBB53D576BBE7B635E
|
|
||||||
C1543C2B32A8ED4B33932A5617670929161F761EB9396F330F6519EB49A06C56
|
|
||||||
4655D3EA3A5B7162DF0282C3112969A9AFA7E7A794E61467478E072360FD66E5
|
|
||||||
CC7A6671E634746E4D0956AD2301BC4EE8ACFDD5AF2C3DF2C9BC824D9B0EB30A
|
|
||||||
3624EF589EBDBC3CB7389B1F2004A06A76CEAC2B5BFA66BA9E5B1B3693601DB6
|
|
||||||
30B7EB5B3D155F1C2B5DF00C0E1CAE2C8C8E8B399BFB744EA2302E16333B3020
|
|
||||||
D08E680EC09EE3B367B0BD98041A4D2A9A5AF08469E8EAE8635A2E5D19BCF07D
|
|
||||||
D9A90505EF1CA84814F1F92757ADCFDC96929F8A8F4DA2F9F7014421C1C62DCA
|
|
||||||
9958B622C154518866754E80A6454D55559EA96F69AA3E3EAF40B57FCB726D50
|
|
||||||
C0D2466DD9268D4F7C376B6396589A28C7EC1E0218344D7DEDB371BD84040CC6
|
|
||||||
80C31F64746A1DEABECE5873F9EBB33A9DFAB3BF15B41F78A690C7659A3D9152
|
|
||||||
D044AE8500AE08B1F83266C593692C91428A071836BA0470E0A2B1E4A10747E1
|
|
||||||
38C6BD8C65C014EEBCFE9BA3B1EEC7DAB6EB57CA298A6AFB8BA0637FF18B3C11
|
|
||||||
5D91B03A534684ECA0712583C61D0316271EE408E4DEA495295162B904E39242
|
|
||||||
60B1D998DFE367D04507F6210BD577476DBD73BBF9467B5BED799FC7D38470EE
|
|
||||||
47041D1F146D1788C22715B9EB92843C0A5CDA4EE8B708A163221E8C7E4269F3
|
|
||||||
B0FB2339FC2269AC224D1EAF904444B2591E97276C1A1A720E1B740383035DB7
|
|
||||||
7A7B54F5341DB88D702E987BD94D752E10D3A58ABC8D4922AE7F1A6E30B2C130
|
|
||||||
26048DD50A23E38EE7CBEB354D19196B93A3158A748C2696D1B43F0AC5002EF7
|
|
||||||
98C334ACEFF47ADD030835821EDF432EF630733E9FFA217ECD3A998817828981
|
|
||||||
2ED0E93130B824A0350D41B7590F6E7FF0B9BA2E67CD833DE8E6017410403CE0
|
|
||||||
4C4D68706A90E0CF3F1CD5C1E2A24801D1B0243707F85C149AF60E188609E877
|
|
||||||
4483D6A8875E8BDEE5F4516F35F6B8CEC1220AEB39FE2CB3247B25F0055C14CB
|
|
||||||
2D1834B2C0E010836678007AAD7ABBCB1B3C78AD775CB918F8B4A0FE5409B366
|
|
||||||
752A50860E1832A1CC4705A0351B416DEC7721F8FBD7FAC6CF2C163E2D38B4EF
|
|
||||||
6D2647781F12682F82F3A0CF6C821EF3008C7A03AF2E36964704BB77EF629688
|
|
||||||
F9407A6CE01CB987E006704FFA76D575BBBFFCAFF06941494949915020688811
|
|
||||||
F1E15E4F2BD82CFA5D63DDEE732A80D0FF21F81D69327688E78891A000000000
|
|
||||||
49454E44AE426082}
|
|
||||||
Name = 'PngImage7'
|
|
||||||
Background = clWindow
|
|
||||||
end
|
|
||||||
item
|
|
||||||
PngImage.Data = {
|
|
||||||
89504E470D0A1A0A0000000D4948445200000018000000180806000000E0773D
|
|
||||||
F8000000097048597300000AEB00000AEB01828B0D5A000005234944415478DA
|
|
||||||
AD956B4C53671880DF7329BD9CB6B4A5174A454005112F205E16DCD46C3097ED
|
|
||||||
C7B2690CFFB665BAE80FB3FDD8E2DC8C739AFD984EE3C8326203D9702E5B069B
|
|
||||||
139D8E9B82283299454AB9147B81DA9BB4D00BB4F476DAB3AF80896E02D3ED24
|
|
||||||
5F4E4ECEF99EE7FDDEEF7DBF83C1135D0CF6B9BA4E18F2B0C4896848118B46C4
|
|
||||||
8958CC1767E1CE90373C5E59B92F98FCE8E119D8BF459FFAB6553435EE5BC7E5
|
|
||||||
B25F23D9E4F3296C56068663EC6824169B0A04AD931EFFF9C980E7728FC5A0BB
|
|
||||||
5657197822414DED4D95C7E57D93120BDE11C9848B6599524C942EC208160191
|
|
||||||
6004DCB631C675CF1D1BB3BBFA5CA376B571B8F7FCAFDF9F764F2F7921F809F5
|
|
||||||
05294613FB2472F1DEFCE225F27495048B102C08C600E2899908490265251262
|
|
||||||
6C4376C6D07377F86E9FF65447DBEF3FE87437BCF30A76EEAC25D695A4BC2E56
|
|
||||||
488E1795E465AD582CC353701CEE870106BD00D1F84C0E481C40CC678087C7C0
|
|
||||||
A233C7356D5D7D9A5BAD1F5EAAAFB932AFE0CBAA7A45740A3BBAB468E9DB1B36
|
|
||||||
E612196C12C311D11F05E81E07F044101F9B192C12408224647882D15ED5C69A
|
|
||||||
EAEBD49DD75B8ECC2B3872FC5C894C2EAA59B5A520373D53818950C41401E098
|
|
||||||
0218F2CD940B8F35B38A200D80A37769BC3838B44389F68B8DFD571A7EDC33A7
|
|
||||||
20999EE505F48E25ABB3ABD796AD11D024056EEFC2BBC6E502D02E27A369E8F0
|
|
||||||
9DA93EBE7F1EC1E194DCFCBCB7566CC8AD282A2BE44C445360EF6737E704EB5A
|
|
||||||
7470E9B73D4071D043D00B3D8D7F84D5159F7E31A760EBD6C364C973393B9715
|
|
||||||
2EAB2A2E2BA422041F4AB6AAE78D3E295009019C1607D3DDDC11A8FEFA68C5BC
|
|
||||||
0B3E78B8664B5A86FC4CF10B4559828C74ECBE77E1B6C9498D436FD720D37EE1
|
|
||||||
F2F0B99F2A4FCE3BE3FD83D559428A3AB1EAD9D5DB7337E4E1E353A8FE4300A9
|
|
||||||
6C00394A059B98ED83590A8DEE4EEF24E8DAB5745DCDE9E6F6B6FA63730A3407
|
|
||||||
B62DD347F9A43E75DB76A92AEB83359BD788A4590ACC1D208041D5244896650A
|
|
||||||
2A4FD4033896DC7C063CE12863D01A50F44DD6868BDF9D3118B45F3D5670EBE0
|
|
||||||
8B5B785CE65A8023051D67234470658CA464CCF267F249A1528A4718549B0C0E
|
|
||||||
5CB4021E1A3824C03311641C265BA2E7FA9F9ED6A65F1A3BAF5FAEA269BAF31F
|
|
||||||
82AE0365AFF284F1EACCB5AB6544CC0D3A5F0EE8FC727078F1289BAF0866AFCC
|
|
||||||
4D15292418572C0092C5C2C28130830E3A708F38E8C13B5AE79DEE6B376E7536
|
|
||||||
D68602813684F33F22E8FAB874075F9838A12CDE942DE0D1E0D3F7C09043005D
|
|
||||||
932AB08609B52BC01AE2B0A95269BA325FA1524A52382C32E00B246C23235E8B
|
|
||||||
D9601A36F5DE1EE8D734C7E3916E8443ADF850DB2423E78BE215CA759BB385DC
|
|
||||||
F034DC6C6581795C003AA71346273CAF5435EBDA0A0A36E6A429952BB038B134
|
|
||||||
1E0FA7A23480CF3FEEB1598C3DC1A0DF8450A368841E70B10739A728FA67D5FA
|
|
||||||
4D32212F0693A65E30183130FB24A0B78D409FDD08FE70F4E5A65E6FC3EC1CB4
|
|
||||||
C5903C2488590E3A57219A2C24F8FB0F4773A8AC94C3275A1615170185DADCAF
|
|
||||||
BF03660B01439E34D05B8D30E030FABC21FADDD67EDFD9059BE03117D67FEC25
|
|
||||||
6651E14AA0F85C9496DB306C25C1EC1181CE628201A7D1ED0B460F5D1D98503F
|
|
||||||
0D7C5AD07CB29C59BF360F6873178CD850CEC7F8A0B75B416B1DF221F8475707
|
|
||||||
274E3F2D7C5AF0C9FEF79822C17DC88C07119C0783761BF4DB4D30168CBCF1B4
|
|
||||||
697944B07BF72E6691880271C005DED17B086E06FF546857539FFF9BFF0A9F16
|
|
||||||
949797970AF8FC16B990827BFD1DE07218778DF7F9CF6A0062FF87E02F9F6855
|
|
||||||
88E7298D620000000049454E44AE426082}
|
|
||||||
Name = 'PngImage6'
|
|
||||||
Background = clWindow
|
|
||||||
end
|
|
||||||
item
|
|
||||||
PngImage.Data = {
|
|
||||||
89504E470D0A1A0A0000000D4948445200000018000000180806000000E0773D
|
|
||||||
F80000000970485973000017120000171201679FD252000001324944415478DA
|
|
||||||
63FCFFFF3F032D0123DD2C606464C4A9C8A5EF22862BF614E9E3D480EC68A22D
|
|
||||||
C8F05765F8FDE72F10FF63888B5ECEC0702183BA16247B2B810DFF03B424297E
|
|
||||||
15F52D887357001B0EB2243D790DF52D887296051B0E0AA69CF4F5D4B720D45E
|
|
||||||
1A6CF89FBF7F190AB23651DF82006B09B0E1205F94E66D21DD02D7FE4B783384
|
|
||||||
8F85283C88AA8AB633B8C459E254BBBB508F11AB05C8491116A1B06081B1C172
|
|
||||||
28FCBF0CBF7E0331880DA4174F3ECBF0FF7C3A760B909322398683D82B675CC0
|
|
||||||
6D01725224C770107BFD9CCBB82DD8B3E838F6480686B7A52637DCF0DEC683F8
|
|
||||||
A20BBB05845291892A27DCE5935A8F503F99EA2BB2C1836546D771EA5BA025CB
|
|
||||||
0C0FE7797DA7A86F818A04034A52A4BA057222A84991EA1648F2FF42498A54B7
|
|
||||||
002309936A01ADC0D0B700000ADFCFE01EDA3C000000000049454E44AE426082}
|
|
||||||
Name = 'PngImage8'
|
|
||||||
Background = clWindow
|
|
||||||
end
|
|
||||||
item
|
|
||||||
PngImage.Data = {
|
|
||||||
89504E470D0A1A0A0000000D4948445200000018000000180806000000E0773D
|
|
||||||
F80000000970485973000017120000171201679FD2520000007C4944415478DA
|
|
||||||
63FCFFFF3F032D01E3A805A3168C5A80B0C0B5FF12D56CDA5DA8C788D5829C20
|
|
||||||
751485BFFFFC65F8F1F30FC38F5FBF19BE83E89F501ACAFFF6E317C3B7EFBF21
|
|
||||||
F40F087D68CD3D86FFE7D3095B408EE13F7EFD6138B5E911610BC8351C04F05A
|
|
||||||
B067D171AAC401560B6805462D18B560D4023A5800007B57E2D1072B1BE80000
|
|
||||||
000049454E44AE426082}
|
|
||||||
Name = 'PngImage9'
|
|
||||||
Background = clWindow
|
|
||||||
end
|
|
||||||
item
|
|
||||||
PngImage.Data = {
|
|
||||||
89504E470D0A1A0A0000000D4948445200000018000000180806000000E0773D
|
|
||||||
F80000000970485973000017120000171201679FD252000002E84944415478DA
|
|
||||||
A5957D48144118C69F2B29B3FA23222C02598AA48F3B4A304A839C120C925022
|
|
||||||
4AA2F2B3B313FB80A0C20E333F52FC2348C24AC49490D4C414394D4D4F33112B
|
|
||||||
C1F0233090C9D0142BA920AFDA73DAD975E5923BDDB5178679776EEFF9CD3CF3
|
|
||||||
CEAC8131061E0683010B457126392175D699C7CC186B6BB9BBF7544D595727A0
|
|
||||||
373A21D238D8DF83CE4EDA27014CFF0D5067BD7C198CD3D3C0C9984870404707
|
|
||||||
057FF6F242DFDCD5E805CCCEFA5517C5A93805D0DE4E117F4EC9E7AE4617E071
|
|
||||||
2E615167668520C1E4BCAD8DE26C929237355124E7B41A160528CD21CCD59658
|
|
||||||
B392DBED1489C94ADED048B1CA0758B254B12BFABABD5C33E0D12DC2DCD9D2DC
|
|
||||||
4C61B9A0E4F5CF284E4707E3F3F8A86C9704306906487BC03CD992743102EF07
|
|
||||||
DEC2564761B61CC4C8872154D7505CB96337680614A513E6C9164B72388606FB
|
|
||||||
516B93C0E6FD181B19465535C5B53C1D80C234C23CD992981486E1A141D4D44A
|
|
||||||
D6252816555651A4DCD5012848254C8B2DB171BB31F96502159514D67C378092
|
|
||||||
AC03EA356094DA6C5DDFB712A6DAF2E923C5BED07088E21F74B5352260AF620B
|
|
||||||
1FF73706E0C7B749943DA148BDE71E201F289EAB1B6A4E6F35E4A710C66DE1EF
|
|
||||||
BD68A8C19E9030389D22DEBC6C812930184E0936D0F31A9BB79AE4F1E29277B8
|
|
||||||
F1C03D40AE163554CFF975C06D718AA23C732EA2E4A22CAEF4A23CFECB3185D2
|
|
||||||
328A9B051E5610142418FD77ECFA07A2568B1671DE2AAAC69151E86193F98686
|
|
||||||
84085021FC37AD3397DBD4149EDABE23AB689E2AE29E87860AD8B27DA76E7187
|
|
||||||
E3276CCF45643F5CA04CF3AE1276284C80DF267F5DE27CBCBE05C829D1700E6E
|
|
||||||
5F262CFCB080F51BFD348B8F8E39F05BF4764877D10A4D072DF71261114704AC
|
|
||||||
59BB6E41711E9DDDC0065F44E9BA4DB3CF1376345280CFCAD5F38AABB397D240
|
|
||||||
09D0AF19C023C342D8F163829C7B12EFEEF586691BA2F8A773511FFD34B3B492
|
|
||||||
085F7C9D1897055DC3555C2D6FDD001ED678C2F8C99E96FEC2783F93BB8ACF05
|
|
||||||
FC0592430CFE3F77C7A70000000049454E44AE426082}
|
|
||||||
Name = 'PngImage10'
|
|
||||||
Background = clWindow
|
|
||||||
end>
|
|
||||||
PngOptions = [pngBlendOnDisabled, pngGrayscaleOnDisabled]
|
|
||||||
Left = 403
|
|
||||||
Top = 104
|
|
||||||
Bitmap = {}
|
|
||||||
end
|
|
||||||
object frxReport1: TfrxReport
|
|
||||||
Version = '3.23.7'
|
|
||||||
DotMatrixReport = False
|
|
||||||
EngineOptions.DoublePass = True
|
|
||||||
IniFile = '\Software\Fast Reports'
|
|
||||||
PreviewOptions.Buttons = [pbPrint, pbLoad, pbSave, pbExport, pbZoom, pbFind, pbOutline, pbPageSetup, pbTools, pbEdit, pbNavigator]
|
|
||||||
PreviewOptions.Zoom = 1.000000000000000000
|
|
||||||
PrintOptions.Printer = 'Default'
|
|
||||||
ReportOptions.CreateDate = 38658.858023541660000000
|
|
||||||
ReportOptions.LastChange = 38658.858023541660000000
|
|
||||||
ScriptLanguage = 'PascalScript'
|
|
||||||
ScriptText.Strings = (
|
|
||||||
'begin'
|
|
||||||
''
|
|
||||||
'end.')
|
|
||||||
StoreInDFM = False
|
|
||||||
Left = 16
|
|
||||||
Top = 200
|
|
||||||
Datasets = <>
|
|
||||||
Variables = <>
|
|
||||||
Style = <>
|
|
||||||
end
|
|
||||||
object frxBarCodeObject1: TfrxBarCodeObject
|
|
||||||
Left = 16
|
|
||||||
Top = 240
|
|
||||||
end
|
|
||||||
object frxOLEObject1: TfrxOLEObject
|
|
||||||
Left = 48
|
|
||||||
Top = 240
|
|
||||||
end
|
|
||||||
object frxRichObject1: TfrxRichObject
|
|
||||||
Left = 48
|
|
||||||
Top = 272
|
|
||||||
end
|
|
||||||
object frxCrossObject1: TfrxCrossObject
|
|
||||||
Left = 80
|
|
||||||
Top = 240
|
|
||||||
end
|
|
||||||
object frxCheckBoxObject1: TfrxCheckBoxObject
|
|
||||||
Left = 80
|
|
||||||
Top = 272
|
|
||||||
end
|
|
||||||
object frxGradientObject1: TfrxGradientObject
|
|
||||||
Left = 16
|
|
||||||
Top = 304
|
|
||||||
end
|
|
||||||
object frxDotMatrixExport1: TfrxDotMatrixExport
|
|
||||||
UseFileCache = True
|
|
||||||
ShowProgress = True
|
|
||||||
EscModel = 0
|
|
||||||
GraphicFrames = False
|
|
||||||
SaveToFile = False
|
|
||||||
UseIniSettings = True
|
|
||||||
Left = 48
|
|
||||||
Top = 304
|
|
||||||
end
|
|
||||||
object frxDialogControls1: TfrxDialogControls
|
|
||||||
Left = 80
|
|
||||||
Top = 304
|
|
||||||
end
|
|
||||||
object frxTIFFExport1: TfrxTIFFExport
|
|
||||||
ShowDialog = False
|
|
||||||
UseFileCache = True
|
|
||||||
ShowProgress = True
|
|
||||||
Monochrome = True
|
|
||||||
Left = 144
|
|
||||||
Top = 240
|
|
||||||
end
|
|
||||||
object frxPDFExport1: TfrxPDFExport
|
|
||||||
ShowDialog = False
|
|
||||||
UseFileCache = True
|
|
||||||
ShowProgress = True
|
|
||||||
PrintOptimized = False
|
|
||||||
Outline = False
|
|
||||||
Author = 'FastReport'#174
|
|
||||||
Subject = 'FastReport'#174' PDF export'
|
|
||||||
Background = False
|
|
||||||
Creator = 'FastReport'#174' (http://www.fast-report.com)'
|
|
||||||
HTMLTags = False
|
|
||||||
Left = 144
|
|
||||||
Top = 280
|
|
||||||
end
|
|
||||||
object frxBMPExport1: TfrxBMPExport
|
|
||||||
ShowDialog = False
|
|
||||||
UseFileCache = True
|
|
||||||
ShowProgress = True
|
|
||||||
Monochrome = True
|
|
||||||
Left = 144
|
|
||||||
Top = 320
|
|
||||||
end
|
|
||||||
end
|
|
||||||
@ -1,353 +0,0 @@
|
|||||||
unit uEditorPreview;
|
|
||||||
|
|
||||||
interface
|
|
||||||
|
|
||||||
uses
|
|
||||||
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
|
|
||||||
Dialogs, uEditorBase, ImgList, PngImageList, StdActns, ActnList, TBX,
|
|
||||||
TB2Item, TB2Dock, TB2Toolbar, JvExControls, JvComponent, JvNavigationPane,
|
|
||||||
TB2ExtItems, TBXExtItems, uViewPreview, frxClass, ComCtrls, frxPreview,
|
|
||||||
JvFormAutoSize, JvAppStorage, JvAppRegistryStorage, JvFormPlacement,
|
|
||||||
pngimage, frxExportImage, frxExportPDF, frxDCtrl, frxDMPExport,
|
|
||||||
frxGradient, frxChBox, frxCross, frxRich, frxOLE, frxBarcode,
|
|
||||||
ExtCtrls, JvComponentBase, TBXStatusBars, JvExComCtrls, JvStatusBar;
|
|
||||||
|
|
||||||
type
|
|
||||||
IEditorPreview = interface(IEditorBase)
|
|
||||||
['{43934C3E-2776-4F9E-9292-FB0D7DE2E4DA}']
|
|
||||||
function GetReport: TfrxReport;
|
|
||||||
property Report: TfrxReport read GetReport;
|
|
||||||
procedure LoadFromStream(AStream : TStream);
|
|
||||||
function ExportToFile : String;
|
|
||||||
procedure Print;
|
|
||||||
procedure Preview;
|
|
||||||
end;
|
|
||||||
|
|
||||||
TfEditorPreview = class(TfEditorBase, IEditorPreview)
|
|
||||||
TBXToolbar1: TTBXToolbar;
|
|
||||||
TBXItem33: TTBXItem;
|
|
||||||
TBXItem34: TTBXItem;
|
|
||||||
TBXItem39: TTBXItem;
|
|
||||||
TBXSeparatorItem16: TTBXSeparatorItem;
|
|
||||||
cbZoom: TTBXComboBoxItem;
|
|
||||||
PreviewActionList: TActionList;
|
|
||||||
PreviewSmallImageList: TPngImageList;
|
|
||||||
PreviewLargeImageList: TPngImageList;
|
|
||||||
actPrimeraPagina: TAction;
|
|
||||||
actUltimaPagina: TAction;
|
|
||||||
actPaginaAnterior: TAction;
|
|
||||||
actPaginaSiguiente: TAction;
|
|
||||||
TBXItem36: TTBXItem;
|
|
||||||
actZoomIn: TAction;
|
|
||||||
actZoomOut: TAction;
|
|
||||||
actTodaPagina: TAction;
|
|
||||||
actAnchoPagina: TAction;
|
|
||||||
TBXSeparatorItem17: TTBXSeparatorItem;
|
|
||||||
TBXItem37: TTBXItem;
|
|
||||||
TBXItem40: TTBXItem;
|
|
||||||
TBXItem41: TTBXItem;
|
|
||||||
TBXItem42: TTBXItem;
|
|
||||||
frxReport1: TfrxReport;
|
|
||||||
actToolHand: TAction;
|
|
||||||
actToolZoom: TAction;
|
|
||||||
tbxZoom: TTBXItem;
|
|
||||||
tbxMano: TTBXItem;
|
|
||||||
TBXSeparatorItem18: TTBXSeparatorItem;
|
|
||||||
frxBarCodeObject1: TfrxBarCodeObject;
|
|
||||||
frxOLEObject1: TfrxOLEObject;
|
|
||||||
frxRichObject1: TfrxRichObject;
|
|
||||||
frxCrossObject1: TfrxCrossObject;
|
|
||||||
frxCheckBoxObject1: TfrxCheckBoxObject;
|
|
||||||
frxGradientObject1: TfrxGradientObject;
|
|
||||||
frxDotMatrixExport1: TfrxDotMatrixExport;
|
|
||||||
frxDialogControls1: TfrxDialogControls;
|
|
||||||
frxTIFFExport1: TfrxTIFFExport;
|
|
||||||
frxPDFExport1: TfrxPDFExport;
|
|
||||||
frxBMPExport1: TfrxBMPExport;
|
|
||||||
TBXItem38: TTBXItem;
|
|
||||||
TBXSeparatorItem19: TTBXSeparatorItem;
|
|
||||||
TBXItem43: TTBXItem;
|
|
||||||
TBXItem44: TTBXItem;
|
|
||||||
TBXItem45: TTBXItem;
|
|
||||||
TBXItem46: TTBXItem;
|
|
||||||
TBXItem47: TTBXItem;
|
|
||||||
TBXSubmenuItem2: TTBXSubmenuItem;
|
|
||||||
TBXItem48: TTBXItem;
|
|
||||||
TBXSubmenuItem3: TTBXSubmenuItem;
|
|
||||||
TBXItem49: TTBXItem;
|
|
||||||
TBXItem50: TTBXItem;
|
|
||||||
TBXItem7: TTBXItem;
|
|
||||||
TBXItem35: TTBXItem;
|
|
||||||
procedure FormShow(Sender: TObject);
|
|
||||||
procedure actPrimeraPaginaExecute(Sender: TObject);
|
|
||||||
procedure actUltimaPaginaExecute(Sender: TObject);
|
|
||||||
procedure actPaginaAnteriorExecute(Sender: TObject);
|
|
||||||
procedure actPaginaSiguienteExecute(Sender: TObject);
|
|
||||||
procedure actZoomInExecute(Sender: TObject);
|
|
||||||
procedure actTodaPaginaExecute(Sender: TObject);
|
|
||||||
procedure FormDestroy(Sender: TObject);
|
|
||||||
procedure FormResize(Sender: TObject);
|
|
||||||
procedure actImprimirExecute(Sender: TObject);
|
|
||||||
procedure actAnchoPaginaExecute(Sender: TObject);
|
|
||||||
procedure actZoomOutExecute(Sender: TObject);
|
|
||||||
procedure cbZoomItemClick(Sender: TObject);
|
|
||||||
procedure actToolHandExecute(Sender: TObject);
|
|
||||||
procedure actToolZoomExecute(Sender: TObject);
|
|
||||||
procedure actPaginaSiguienteUpdate(Sender: TObject);
|
|
||||||
procedure actUltimaPaginaUpdate(Sender: TObject);
|
|
||||||
procedure actPrimeraPaginaUpdate(Sender: TObject);
|
|
||||||
procedure actPaginaAnteriorUpdate(Sender: TObject);
|
|
||||||
private
|
|
||||||
FPreview : TfrViewPreview;
|
|
||||||
procedure OnPageChanged(Sender: TfrxPreview; PageNo: Integer);
|
|
||||||
procedure UpdateZoom;
|
|
||||||
protected
|
|
||||||
function GetReport: TfrxReport; virtual;
|
|
||||||
public
|
|
||||||
constructor Create(AOwner: TComponent); override;
|
|
||||||
property Report: TfrxReport read GetReport;
|
|
||||||
procedure Print;
|
|
||||||
procedure Preview;
|
|
||||||
procedure LoadFromStream(AStream : TStream);
|
|
||||||
function ExportToFile : String;
|
|
||||||
end;
|
|
||||||
|
|
||||||
|
|
||||||
implementation
|
|
||||||
|
|
||||||
uses
|
|
||||||
frxRes, frxUtils, frxPrinter, frxFormUtils,
|
|
||||||
uCustomEditor, uSistemaFunc;
|
|
||||||
|
|
||||||
{$R *.dfm}
|
|
||||||
|
|
||||||
{ TfEditorBase1 }
|
|
||||||
|
|
||||||
function TfEditorPreview.GetReport: TfrxReport;
|
|
||||||
begin
|
|
||||||
Result := frxReport1;
|
|
||||||
end;
|
|
||||||
|
|
||||||
|
|
||||||
procedure TfEditorPreview.FormShow(Sender: TObject);
|
|
||||||
begin
|
|
||||||
inherited;
|
|
||||||
UpdateZoom;
|
|
||||||
actPrimeraPagina.Execute;
|
|
||||||
FPreview.ShowEmbedded(Self);
|
|
||||||
Report.ShowPreparedReport;
|
|
||||||
actAnchoPagina.Execute;
|
|
||||||
end;
|
|
||||||
|
|
||||||
procedure TfEditorPreview.actPrimeraPaginaExecute(Sender: TObject);
|
|
||||||
begin
|
|
||||||
inherited;
|
|
||||||
FPreview.Preview.First;
|
|
||||||
end;
|
|
||||||
|
|
||||||
procedure TfEditorPreview.actPrimeraPaginaUpdate(Sender: TObject);
|
|
||||||
begin
|
|
||||||
inherited;
|
|
||||||
(Sender as TAction).Enabled := (FPreview.Preview.PageNo > 1);
|
|
||||||
end;
|
|
||||||
|
|
||||||
procedure TfEditorPreview.actUltimaPaginaExecute(Sender: TObject);
|
|
||||||
begin
|
|
||||||
inherited;
|
|
||||||
FPreview.Preview.Last;
|
|
||||||
end;
|
|
||||||
|
|
||||||
procedure TfEditorPreview.actUltimaPaginaUpdate(Sender: TObject);
|
|
||||||
begin
|
|
||||||
inherited;
|
|
||||||
(Sender as TAction).Enabled := (FPreview.Preview.PageNo < FPreview.Preview.PageCount);
|
|
||||||
end;
|
|
||||||
|
|
||||||
procedure TfEditorPreview.actPaginaAnteriorExecute(Sender: TObject);
|
|
||||||
begin
|
|
||||||
inherited;
|
|
||||||
FPreview.Preview.Prior;
|
|
||||||
end;
|
|
||||||
|
|
||||||
procedure TfEditorPreview.actPaginaAnteriorUpdate(Sender: TObject);
|
|
||||||
begin
|
|
||||||
inherited;
|
|
||||||
(Sender as TAction).Enabled := (FPreview.Preview.PageNo > 1);
|
|
||||||
end;
|
|
||||||
|
|
||||||
procedure TfEditorPreview.actPaginaSiguienteExecute(Sender: TObject);
|
|
||||||
begin
|
|
||||||
inherited;
|
|
||||||
FPreview.Preview.Next;
|
|
||||||
end;
|
|
||||||
|
|
||||||
procedure TfEditorPreview.actPaginaSiguienteUpdate(Sender: TObject);
|
|
||||||
begin
|
|
||||||
inherited;
|
|
||||||
(Sender as TAction).Enabled := (FPreview.Preview.PageNo < FPreview.Preview.PageCount);
|
|
||||||
end;
|
|
||||||
|
|
||||||
procedure TfEditorPreview.actZoomInExecute(Sender: TObject);
|
|
||||||
begin
|
|
||||||
inherited;
|
|
||||||
FPreview.Preview.Zoom := FPreview.Preview.Zoom + 0.25;
|
|
||||||
UpdateZoom;
|
|
||||||
end;
|
|
||||||
|
|
||||||
procedure TfEditorPreview.UpdateZoom;
|
|
||||||
begin
|
|
||||||
cbZoom.Text := IntToStr(Round(FPreview.Preview.Zoom * 100)) + '%';
|
|
||||||
end;
|
|
||||||
|
|
||||||
procedure TfEditorPreview.actTodaPaginaExecute(Sender: TObject);
|
|
||||||
begin
|
|
||||||
inherited;
|
|
||||||
FPreview.Preview.ZoomMode := zmWholePage;
|
|
||||||
UpdateZoom;
|
|
||||||
end;
|
|
||||||
|
|
||||||
procedure TfEditorPreview.FormDestroy(Sender: TObject);
|
|
||||||
begin
|
|
||||||
inherited;
|
|
||||||
FPreview.Free;
|
|
||||||
end;
|
|
||||||
|
|
||||||
procedure TfEditorPreview.FormResize(Sender: TObject);
|
|
||||||
begin
|
|
||||||
inherited;
|
|
||||||
UpdateZoom;
|
|
||||||
end;
|
|
||||||
|
|
||||||
procedure TfEditorPreview.actImprimirExecute(Sender: TObject);
|
|
||||||
begin
|
|
||||||
inherited;
|
|
||||||
Print;
|
|
||||||
end;
|
|
||||||
|
|
||||||
procedure TfEditorPreview.actAnchoPaginaExecute(Sender: TObject);
|
|
||||||
begin
|
|
||||||
inherited;
|
|
||||||
FPreview.Preview.ZoomMode := zmPageWidth;
|
|
||||||
UpdateZoom;
|
|
||||||
end;
|
|
||||||
|
|
||||||
procedure TfEditorPreview.actZoomOutExecute(Sender: TObject);
|
|
||||||
begin
|
|
||||||
inherited;
|
|
||||||
FPreview.Preview.Zoom := FPreview.Preview.Zoom - 0.25;
|
|
||||||
UpdateZoom;
|
|
||||||
end;
|
|
||||||
|
|
||||||
procedure TfEditorPreview.cbZoomItemClick(Sender: TObject);
|
|
||||||
var
|
|
||||||
s: String;
|
|
||||||
begin
|
|
||||||
FPreview.Preview.SetFocus;
|
|
||||||
|
|
||||||
if cbZoom.ItemIndex = 6 then
|
|
||||||
actAnchoPagina.Execute
|
|
||||||
else if cbZoom.ItemIndex = 7 then
|
|
||||||
actTodaPagina.Execute
|
|
||||||
else
|
|
||||||
begin
|
|
||||||
s := cbZoom.Text;
|
|
||||||
|
|
||||||
if Pos('%', s) <> 0 then
|
|
||||||
s[Pos('%', s)] := ' ';
|
|
||||||
while Pos(' ', s) <> 0 do
|
|
||||||
Delete(s, Pos(' ', s), 1);
|
|
||||||
|
|
||||||
if s <> '' then
|
|
||||||
FPreview.Preview.Zoom := frxStrToFloat(s) / 100;
|
|
||||||
end;
|
|
||||||
|
|
||||||
UpdateZoom;
|
|
||||||
end;
|
|
||||||
|
|
||||||
procedure TfEditorPreview.actToolHandExecute(Sender: TObject);
|
|
||||||
begin
|
|
||||||
if tbxMano.Checked then
|
|
||||||
FPreview.Preview.Tool := ptHand
|
|
||||||
end;
|
|
||||||
|
|
||||||
procedure TfEditorPreview.actToolZoomExecute(Sender: TObject);
|
|
||||||
begin
|
|
||||||
if tbxZoom.Checked then
|
|
||||||
FPreview.Preview.Tool := ptZoom;
|
|
||||||
end;
|
|
||||||
|
|
||||||
procedure TfEditorPreview.OnPageChanged(Sender: TfrxPreview;
|
|
||||||
PageNo: Integer);
|
|
||||||
begin
|
|
||||||
StatusBar.Panels[0].Text := Format(frxResources.Get('clPageOf'),
|
|
||||||
[PageNo, Sender.PageCount]);
|
|
||||||
end;
|
|
||||||
|
|
||||||
constructor TfEditorPreview.Create(AOwner: TComponent);
|
|
||||||
begin
|
|
||||||
inherited;
|
|
||||||
|
|
||||||
with cbZoom.Strings do
|
|
||||||
begin
|
|
||||||
Clear;
|
|
||||||
Add('25%');
|
|
||||||
Add('50%');
|
|
||||||
Add('75%');
|
|
||||||
Add('100%');
|
|
||||||
Add('150%');
|
|
||||||
Add('200%');
|
|
||||||
Add(frxResources.Get('zmPageWidth'));
|
|
||||||
Add(frxResources.Get('zmWholePage'));
|
|
||||||
end;
|
|
||||||
|
|
||||||
FPreview := TfrViewPreview.Create(Self);
|
|
||||||
Report.Preview := FPreview.Preview;
|
|
||||||
FPreview.Preview.OnPageChanged := OnPageChanged;
|
|
||||||
end;
|
|
||||||
|
|
||||||
procedure TfEditorPreview.Preview;
|
|
||||||
begin
|
|
||||||
Self.ShowModal;
|
|
||||||
end;
|
|
||||||
|
|
||||||
procedure TfEditorPreview.Print;
|
|
||||||
begin
|
|
||||||
if not frxPrinters.HasPhysicalPrinters then
|
|
||||||
frxErrorMsg(frxResources.Get('clNoPrinters'))
|
|
||||||
else
|
|
||||||
FPreview.Preview.Print;
|
|
||||||
Enabled := True;
|
|
||||||
end;
|
|
||||||
|
|
||||||
function TfEditorPreview.ExportToFile: String;
|
|
||||||
var
|
|
||||||
AFile : String;
|
|
||||||
begin
|
|
||||||
Result := '';
|
|
||||||
AFile := DarFicheroTIFFTemporal;
|
|
||||||
frxTIFFExport1.SeparateFiles := False;
|
|
||||||
frxTIFFExport1.DefaultPath := ExtractFilePath(AFile);
|
|
||||||
frxTIFFExport1.FileName := ExtractFileName(AFile);
|
|
||||||
try
|
|
||||||
if Report.Export(frxTIFFExport1) then
|
|
||||||
Result := AFile;
|
|
||||||
finally
|
|
||||||
frxTIFFExport1.DefaultPath := '';
|
|
||||||
frxTIFFExport1.FileName := '';
|
|
||||||
end;
|
|
||||||
end;
|
|
||||||
|
|
||||||
procedure TfEditorPreview.LoadFromStream(AStream: TStream);
|
|
||||||
begin
|
|
||||||
Report.PreviewPages.LoadFromStream(AStream);
|
|
||||||
end;
|
|
||||||
|
|
||||||
|
|
||||||
initialization
|
|
||||||
RegisterClass(TfEditorPreview);
|
|
||||||
|
|
||||||
finalization
|
|
||||||
UnRegisterClass(TfEditorPreview);
|
|
||||||
|
|
||||||
end.
|
|
||||||
|
|
||||||
@ -1,108 +0,0 @@
|
|||||||
unit uEditorUtils;
|
|
||||||
|
|
||||||
interface
|
|
||||||
|
|
||||||
uses
|
|
||||||
uEditorItem, uDADataTable, Controls;
|
|
||||||
|
|
||||||
type
|
|
||||||
TFuncItemEditor = function(ABizObject : TDADataTableRules) : TModalResult;
|
|
||||||
TProcItemEditor = procedure(ABizObject : TDADataTableRules);
|
|
||||||
TFuncGetEditor = function : IEditorItem;
|
|
||||||
|
|
||||||
TEditorType = (etItem, etItems, etSelectItems);
|
|
||||||
|
|
||||||
procedure RegisterEditor(const IID : TGUID; const AFuncItemEditor : TFuncItemEditor;
|
|
||||||
const AType : TEditorType);
|
|
||||||
|
|
||||||
function ShowEditor(const IID : TGUID; ABizObject : TDADataTableRules;
|
|
||||||
const AType : TEditorType) : TModalResult;
|
|
||||||
|
|
||||||
|
|
||||||
implementation
|
|
||||||
|
|
||||||
uses
|
|
||||||
Dialogs, Classes, ComObj, SysUtils;
|
|
||||||
|
|
||||||
var
|
|
||||||
FBizEditorsList : TList;
|
|
||||||
|
|
||||||
type
|
|
||||||
PBizEditorsRec = ^TBizEditorsRec;
|
|
||||||
TBizEditorsRec = record
|
|
||||||
IID : String;
|
|
||||||
ItemEditor : TFuncItemEditor;
|
|
||||||
ItemsEditor : TFuncItemEditor;
|
|
||||||
SelectItemsEditor : TFuncItemEditor;
|
|
||||||
end;
|
|
||||||
|
|
||||||
|
|
||||||
function FindBizEditors(const IID : TGUID) : PBizEditorsRec;
|
|
||||||
var
|
|
||||||
P: PBizEditorsRec;
|
|
||||||
I: Integer;
|
|
||||||
AIID : String;
|
|
||||||
begin
|
|
||||||
Result := NIL;
|
|
||||||
AIID := GUIDToString(IID);
|
|
||||||
if FBizEditorsList <> nil then
|
|
||||||
for I := 0 to FBizEditorsList.Count-1 do
|
|
||||||
begin
|
|
||||||
P := FBizEditorsList[I];
|
|
||||||
if (AIID = P^.IID) then
|
|
||||||
begin
|
|
||||||
Result := P;
|
|
||||||
Break;
|
|
||||||
end;
|
|
||||||
end;
|
|
||||||
end;
|
|
||||||
|
|
||||||
procedure RegisterEditor(const IID : TGUID; const AFuncItemEditor : TFuncItemEditor;
|
|
||||||
const AType : TEditorType);
|
|
||||||
var
|
|
||||||
P: PBizEditorsRec;
|
|
||||||
begin
|
|
||||||
P := NIL;
|
|
||||||
if FBizEditorsList = nil then
|
|
||||||
FBizEditorsList := TList.Create;
|
|
||||||
|
|
||||||
P := FindBizEditors(IID);
|
|
||||||
if not Assigned(P) then
|
|
||||||
New(P);
|
|
||||||
try
|
|
||||||
P^.IID := GUIDToString(IID);
|
|
||||||
case AType of
|
|
||||||
etItem : P^.ItemEditor := AFuncItemEditor;
|
|
||||||
etItems : P^.ItemsEditor := AFuncItemEditor;
|
|
||||||
etSelectItems : P^.SelectItemsEditor := AFuncItemEditor;
|
|
||||||
end;
|
|
||||||
FBizEditorsList.Insert(0, P);
|
|
||||||
except
|
|
||||||
on E: EConvertError do
|
|
||||||
ShowMessage(E.Message);
|
|
||||||
end;
|
|
||||||
end;
|
|
||||||
|
|
||||||
function ShowEditor(const IID : TGUID; ABizObject : TDADataTableRules;
|
|
||||||
const AType : TEditorType) : TModalResult;
|
|
||||||
var
|
|
||||||
P: PBizEditorsRec;
|
|
||||||
begin
|
|
||||||
P := FindBizEditors(IID);
|
|
||||||
|
|
||||||
if Assigned(P) then
|
|
||||||
case AType of
|
|
||||||
etItem : Result := P.ItemEditor(ABizObject);
|
|
||||||
etItems : Result := P.ItemsEditor(ABizObject);
|
|
||||||
etSelectItems : Result := P.SelectItemsEditor(ABizObject);
|
|
||||||
end;
|
|
||||||
end;
|
|
||||||
|
|
||||||
|
|
||||||
initialization
|
|
||||||
FBizEditorsList := TList.Create;
|
|
||||||
|
|
||||||
finalization
|
|
||||||
FBizEditorsList.Free;
|
|
||||||
|
|
||||||
end.
|
|
||||||
Binary file not shown.
@ -1,65 +0,0 @@
|
|||||||
inherited frViewBarraSeleccion: TfrViewBarraSeleccion
|
|
||||||
Width = 451
|
|
||||||
Height = 49
|
|
||||||
Align = alBottom
|
|
||||||
ExplicitWidth = 451
|
|
||||||
ExplicitHeight = 49
|
|
||||||
object JvFooter1: TJvFooter
|
|
||||||
Left = 0
|
|
||||||
Top = 0
|
|
||||||
Width = 451
|
|
||||||
Height = 49
|
|
||||||
Margins.Left = 5
|
|
||||||
Margins.Right = 5
|
|
||||||
Align = alClient
|
|
||||||
DesignSize = (
|
|
||||||
451
|
|
||||||
49)
|
|
||||||
object bSeleccionar: TJvFooterBtn
|
|
||||||
Left = 239
|
|
||||||
Top = 10
|
|
||||||
Width = 100
|
|
||||||
Height = 29
|
|
||||||
Action = actSeleccionar
|
|
||||||
Anchors = [akRight, akBottom]
|
|
||||||
Default = True
|
|
||||||
ModalResult = 1
|
|
||||||
TabOrder = 0
|
|
||||||
HotTrackFont.Charset = DEFAULT_CHARSET
|
|
||||||
HotTrackFont.Color = clWindowText
|
|
||||||
HotTrackFont.Height = -11
|
|
||||||
HotTrackFont.Name = 'Tahoma'
|
|
||||||
HotTrackFont.Style = []
|
|
||||||
ButtonIndex = 0
|
|
||||||
SpaceInterval = 6
|
|
||||||
end
|
|
||||||
object bCancelar: TJvFooterBtn
|
|
||||||
Left = 343
|
|
||||||
Top = 10
|
|
||||||
Width = 100
|
|
||||||
Height = 28
|
|
||||||
Action = actCancelar
|
|
||||||
Anchors = [akRight, akBottom]
|
|
||||||
Cancel = True
|
|
||||||
ModalResult = 2
|
|
||||||
TabOrder = 1
|
|
||||||
HotTrackFont.Charset = DEFAULT_CHARSET
|
|
||||||
HotTrackFont.Color = clWindowText
|
|
||||||
HotTrackFont.Height = -11
|
|
||||||
HotTrackFont.Name = 'Tahoma'
|
|
||||||
HotTrackFont.Style = []
|
|
||||||
ButtonIndex = 1
|
|
||||||
SpaceInterval = 6
|
|
||||||
end
|
|
||||||
end
|
|
||||||
object BarraSeleccionActionList: TActionList
|
|
||||||
Left = 12
|
|
||||||
Top = 3
|
|
||||||
object actSeleccionar: TAction
|
|
||||||
Caption = 'Seleccionar'
|
|
||||||
end
|
|
||||||
object actCancelar: TAction
|
|
||||||
Caption = 'Cancelar'
|
|
||||||
end
|
|
||||||
end
|
|
||||||
end
|
|
||||||
@ -1,28 +0,0 @@
|
|||||||
unit uViewBarraSeleccion;
|
|
||||||
|
|
||||||
interface
|
|
||||||
|
|
||||||
uses
|
|
||||||
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
|
|
||||||
Dialogs, uViewBase, StdCtrls, ActnList, ExtCtrls, JvExStdCtrls, JvButton,
|
|
||||||
JvCtrls, JvFooter, JvExExtCtrls, JvComponent, JvExtComponent;
|
|
||||||
|
|
||||||
type
|
|
||||||
TfrViewBarraSeleccion = class(TfrViewBase)
|
|
||||||
JvFooter1: TJvFooter;
|
|
||||||
bSeleccionar: TJvFooterBtn;
|
|
||||||
bCancelar: TJvFooterBtn;
|
|
||||||
BarraSeleccionActionList: TActionList;
|
|
||||||
actSeleccionar: TAction;
|
|
||||||
actCancelar: TAction;
|
|
||||||
private
|
|
||||||
{ Private declarations }
|
|
||||||
public
|
|
||||||
{ Public declarations }
|
|
||||||
end;
|
|
||||||
|
|
||||||
implementation
|
|
||||||
|
|
||||||
{$R *.dfm}
|
|
||||||
|
|
||||||
end.
|
|
||||||
Binary file not shown.
@ -1,14 +0,0 @@
|
|||||||
object frViewBase: TfrViewBase
|
|
||||||
Left = 0
|
|
||||||
Top = 0
|
|
||||||
Width = 445
|
|
||||||
Height = 291
|
|
||||||
Font.Charset = DEFAULT_CHARSET
|
|
||||||
Font.Color = clWindowText
|
|
||||||
Font.Height = -11
|
|
||||||
Font.Name = 'Tahoma'
|
|
||||||
Font.Style = []
|
|
||||||
ParentFont = False
|
|
||||||
TabOrder = 0
|
|
||||||
ReadOnly = False
|
|
||||||
end
|
|
||||||
@ -1,56 +0,0 @@
|
|||||||
unit uViewBase;
|
|
||||||
|
|
||||||
interface
|
|
||||||
|
|
||||||
uses
|
|
||||||
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
|
|
||||||
Dialogs, uGUIBase, uCustomView, JvComponent, JvFormAutoSize;
|
|
||||||
|
|
||||||
type
|
|
||||||
IViewBase = interface(ICustomView)
|
|
||||||
['{82FBDF28-9C5F-4922-952E-0E84D67FE4BB}']
|
|
||||||
procedure Refresh;
|
|
||||||
end;
|
|
||||||
|
|
||||||
TfrViewBase = class(TCustomView, IViewBase)
|
|
||||||
protected
|
|
||||||
procedure SetReadOnly(Value: Boolean); override;
|
|
||||||
|
|
||||||
public
|
|
||||||
procedure Refresh; virtual;
|
|
||||||
end;
|
|
||||||
|
|
||||||
implementation
|
|
||||||
|
|
||||||
{$R *.dfm}
|
|
||||||
|
|
||||||
|
|
||||||
uses
|
|
||||||
cxDBEdit, cxControls, dxLayoutControl;
|
|
||||||
|
|
||||||
{ TfrViewBase }
|
|
||||||
|
|
||||||
procedure TfrViewBase.Refresh;
|
|
||||||
begin
|
|
||||||
//
|
|
||||||
end;
|
|
||||||
|
|
||||||
procedure TfrViewBase.SetReadOnly(Value: Boolean);
|
|
||||||
var
|
|
||||||
i: integer;
|
|
||||||
begin
|
|
||||||
inherited;
|
|
||||||
|
|
||||||
if ReadOnly then
|
|
||||||
for i:=0 to Self.ComponentCount-1 do
|
|
||||||
begin
|
|
||||||
If (Self.Components[i] Is TfrViewBase) then
|
|
||||||
(Self.Components[i] as TfrViewBase).ReadOnly := ReadOnly;
|
|
||||||
|
|
||||||
If (Self.Components[i] Is TcxControl)
|
|
||||||
and (not (Self.Components[i] Is TdxLayoutControl)) then
|
|
||||||
(Self.Components[i] as TcxControl).Enabled := not ReadOnly;
|
|
||||||
end;
|
|
||||||
end;
|
|
||||||
|
|
||||||
end.
|
|
||||||
Binary file not shown.
@ -1,716 +0,0 @@
|
|||||||
inherited frViewDetallesBase: TfrViewDetallesBase
|
|
||||||
Width = 451
|
|
||||||
Height = 304
|
|
||||||
Align = alClient
|
|
||||||
OnCreate = CustomViewCreate
|
|
||||||
OnDestroy = CustomViewDestroy
|
|
||||||
ExplicitWidth = 451
|
|
||||||
ExplicitHeight = 304
|
|
||||||
object ToolBar1: TToolBar
|
|
||||||
Left = 0
|
|
||||||
Top = 0
|
|
||||||
Width = 451
|
|
||||||
Height = 46
|
|
||||||
AutoSize = True
|
|
||||||
ButtonWidth = 63
|
|
||||||
Caption = 'ToolBar1'
|
|
||||||
EdgeInner = esNone
|
|
||||||
EdgeOuter = esNone
|
|
||||||
Flat = False
|
|
||||||
Images = ContenidoImageList
|
|
||||||
List = True
|
|
||||||
ParentShowHint = False
|
|
||||||
ShowCaptions = True
|
|
||||||
ShowHint = True
|
|
||||||
TabOrder = 0
|
|
||||||
Transparent = True
|
|
||||||
Visible = False
|
|
||||||
object ToolButton1: TToolButton
|
|
||||||
Left = 0
|
|
||||||
Top = 2
|
|
||||||
Action = actAnadir
|
|
||||||
AutoSize = True
|
|
||||||
end
|
|
||||||
object ToolButton2: TToolButton
|
|
||||||
Left = 62
|
|
||||||
Top = 2
|
|
||||||
Action = actEliminar
|
|
||||||
AutoSize = True
|
|
||||||
end
|
|
||||||
object ToolButton3: TToolButton
|
|
||||||
Left = 129
|
|
||||||
Top = 2
|
|
||||||
Action = actSubir
|
|
||||||
AutoSize = True
|
|
||||||
end
|
|
||||||
object ToolButton4: TToolButton
|
|
||||||
Left = 184
|
|
||||||
Top = 2
|
|
||||||
Action = actBajar
|
|
||||||
AutoSize = True
|
|
||||||
end
|
|
||||||
object ToolButton14: TToolButton
|
|
||||||
Left = 240
|
|
||||||
Top = 2
|
|
||||||
Action = FontEdit1
|
|
||||||
AutoSize = True
|
|
||||||
Wrap = True
|
|
||||||
end
|
|
||||||
object FontName: TJvFontComboBox
|
|
||||||
Left = 0
|
|
||||||
Top = 24
|
|
||||||
Width = 145
|
|
||||||
Height = 22
|
|
||||||
DroppedDownWidth = 145
|
|
||||||
MaxMRUCount = 0
|
|
||||||
FontName = 'Tahoma'
|
|
||||||
ItemIndex = 108
|
|
||||||
Options = [foTrueTypeOnly, foNoOEMFonts, foScalableOnly, foWysiWyg]
|
|
||||||
Sorted = True
|
|
||||||
TabOrder = 2
|
|
||||||
Visible = False
|
|
||||||
OnChange = FontNameChange
|
|
||||||
OnClick = FontNameChange
|
|
||||||
end
|
|
||||||
object FontSize: TEdit
|
|
||||||
Left = 145
|
|
||||||
Top = 24
|
|
||||||
Width = 26
|
|
||||||
Height = 22
|
|
||||||
Hint = 'Font Size|Select font size'
|
|
||||||
TabOrder = 1
|
|
||||||
Text = '0'
|
|
||||||
Visible = False
|
|
||||||
OnChange = FontSizeChange
|
|
||||||
end
|
|
||||||
object UpDown1: TUpDown
|
|
||||||
Left = 171
|
|
||||||
Top = 24
|
|
||||||
Width = 16
|
|
||||||
Height = 22
|
|
||||||
Associate = FontSize
|
|
||||||
TabOrder = 0
|
|
||||||
Visible = False
|
|
||||||
end
|
|
||||||
object ToolButton13: TToolButton
|
|
||||||
Left = 187
|
|
||||||
Top = 24
|
|
||||||
Width = 8
|
|
||||||
Caption = 'ToolButton13'
|
|
||||||
ImageIndex = 10
|
|
||||||
Style = tbsSeparator
|
|
||||||
end
|
|
||||||
object ToolButton6: TToolButton
|
|
||||||
Left = 195
|
|
||||||
Top = 24
|
|
||||||
Action = RichEditBold1
|
|
||||||
AutoSize = True
|
|
||||||
end
|
|
||||||
object ToolButton7: TToolButton
|
|
||||||
Left = 229
|
|
||||||
Top = 24
|
|
||||||
Action = RichEditItalic1
|
|
||||||
AutoSize = True
|
|
||||||
end
|
|
||||||
object ToolButton8: TToolButton
|
|
||||||
Left = 263
|
|
||||||
Top = 24
|
|
||||||
Action = RichEditUnderline1
|
|
||||||
AutoSize = True
|
|
||||||
end
|
|
||||||
object ToolButton12: TToolButton
|
|
||||||
Left = 297
|
|
||||||
Top = 24
|
|
||||||
Width = 8
|
|
||||||
Caption = 'ToolButton12'
|
|
||||||
ImageIndex = 10
|
|
||||||
Style = tbsSeparator
|
|
||||||
end
|
|
||||||
object ToolButton9: TToolButton
|
|
||||||
Left = 305
|
|
||||||
Top = 24
|
|
||||||
Action = RichEditAlignLeft1
|
|
||||||
AutoSize = True
|
|
||||||
end
|
|
||||||
object ToolButton10: TToolButton
|
|
||||||
Left = 339
|
|
||||||
Top = 24
|
|
||||||
Action = RichEditAlignCenter1
|
|
||||||
AutoSize = True
|
|
||||||
end
|
|
||||||
object ToolButton11: TToolButton
|
|
||||||
Left = 373
|
|
||||||
Top = 24
|
|
||||||
Action = RichEditAlignRight1
|
|
||||||
AutoSize = True
|
|
||||||
end
|
|
||||||
end
|
|
||||||
object cxGrid: TcxGrid
|
|
||||||
Left = 0
|
|
||||||
Top = 72
|
|
||||||
Width = 451
|
|
||||||
Height = 232
|
|
||||||
Align = alClient
|
|
||||||
TabOrder = 1
|
|
||||||
LookAndFeel.Kind = lfOffice11
|
|
||||||
LookAndFeel.NativeStyle = True
|
|
||||||
object cxGridView: TcxGridDBTableView
|
|
||||||
NavigatorButtons.ConfirmDelete = False
|
|
||||||
FilterBox.Visible = fvNever
|
|
||||||
OnEditing = cxGridViewEditing
|
|
||||||
OnEditKeyDown = cxGridViewEditKeyDown
|
|
||||||
OnEditValueChanged = cxGridViewEditValueChanged
|
|
||||||
OnInitEdit = cxGridViewInitEdit
|
|
||||||
DataController.DataSource = DADataSource
|
|
||||||
DataController.Filter.Options = [fcoCaseInsensitive]
|
|
||||||
DataController.KeyFieldNames = 'ID'
|
|
||||||
DataController.Options = [dcoAnsiSort, dcoAssignGroupingValues, dcoAssignMasterDetailKeys, dcoSaveExpanding, dcoSortByDisplayText, dcoFocusTopRowAfterSorting, dcoImmediatePost]
|
|
||||||
DataController.Summary.DefaultGroupSummaryItems = <>
|
|
||||||
DataController.Summary.FooterSummaryItems = <
|
|
||||||
item
|
|
||||||
Format = ',0.00 '#8364';-,0.00 '#8364
|
|
||||||
Kind = skSum
|
|
||||||
end>
|
|
||||||
DataController.Summary.SummaryGroups = <>
|
|
||||||
OptionsBehavior.AlwaysShowEditor = True
|
|
||||||
OptionsBehavior.CellHints = True
|
|
||||||
OptionsBehavior.FocusCellOnTab = True
|
|
||||||
OptionsBehavior.GoToNextCellOnEnter = True
|
|
||||||
OptionsBehavior.BestFitMaxRecordCount = 20
|
|
||||||
OptionsBehavior.FocusCellOnCycle = True
|
|
||||||
OptionsCustomize.ColumnFiltering = False
|
|
||||||
OptionsCustomize.ColumnGrouping = False
|
|
||||||
OptionsCustomize.ColumnMoving = False
|
|
||||||
OptionsCustomize.ColumnSorting = False
|
|
||||||
OptionsCustomize.DataRowSizing = True
|
|
||||||
OptionsData.Appending = True
|
|
||||||
OptionsData.CancelOnExit = False
|
|
||||||
OptionsSelection.MultiSelect = True
|
|
||||||
OptionsSelection.UnselectFocusedRecordOnExit = False
|
|
||||||
OptionsView.CellEndEllipsis = True
|
|
||||||
OptionsView.CellAutoHeight = True
|
|
||||||
OptionsView.ColumnAutoWidth = True
|
|
||||||
OptionsView.GridLineColor = cl3DLight
|
|
||||||
OptionsView.GroupByBox = False
|
|
||||||
OptionsView.HeaderEndEllipsis = True
|
|
||||||
OptionsView.Indicator = True
|
|
||||||
OptionsView.NewItemRowInfoText = 'Click here to add a new row'
|
|
||||||
Styles.ContentEven = cxStyleEven
|
|
||||||
Styles.ContentOdd = cxStyleOdd
|
|
||||||
Styles.Inactive = cxStyleSelection
|
|
||||||
Styles.Selection = cxStyleSelection
|
|
||||||
Styles.OnGetContentStyle = cxGridViewStylesGetContentStyle
|
|
||||||
object cxGridViewID: TcxGridDBColumn
|
|
||||||
DataBinding.FieldName = 'ID'
|
|
||||||
Visible = False
|
|
||||||
end
|
|
||||||
object cxGridViewPOSICION: TcxGridDBColumn
|
|
||||||
DataBinding.FieldName = 'POSICION'
|
|
||||||
Visible = False
|
|
||||||
SortIndex = 0
|
|
||||||
SortOrder = soAscending
|
|
||||||
end
|
|
||||||
object cxGridViewTIPO: TcxGridDBColumn
|
|
||||||
Caption = 'Tipo'
|
|
||||||
DataBinding.FieldName = 'TIPO_DETALLE'
|
|
||||||
PropertiesClassName = 'TcxImageComboBoxProperties'
|
|
||||||
Properties.Items = <>
|
|
||||||
BestFitMaxWidth = 64
|
|
||||||
Width = 56
|
|
||||||
end
|
|
||||||
object cxGridViewDESCRIPCION: TcxGridDBColumn
|
|
||||||
Caption = 'Concepto'
|
|
||||||
DataBinding.FieldName = 'CONCEPTO'
|
|
||||||
PropertiesClassName = 'TcxRichEditProperties'
|
|
||||||
Width = 224
|
|
||||||
end
|
|
||||||
object cxGridViewCANTIDAD: TcxGridDBColumn
|
|
||||||
Caption = 'Cantidad'
|
|
||||||
DataBinding.FieldName = 'CANTIDAD'
|
|
||||||
PropertiesClassName = 'TcxMaskEditProperties'
|
|
||||||
Properties.Alignment.Horz = taRightJustify
|
|
||||||
BestFitMaxWidth = 64
|
|
||||||
HeaderAlignmentHorz = taRightJustify
|
|
||||||
Width = 130
|
|
||||||
end
|
|
||||||
object cxGridViewIMPORTEUNIDAD: TcxGridDBColumn
|
|
||||||
Caption = 'Importe unidad'
|
|
||||||
DataBinding.FieldName = 'IMPORTE_UNIDAD'
|
|
||||||
PropertiesClassName = 'TcxCurrencyEditProperties'
|
|
||||||
Properties.Alignment.Horz = taRightJustify
|
|
||||||
BestFitMaxWidth = 120
|
|
||||||
FooterAlignmentHorz = taRightJustify
|
|
||||||
HeaderAlignmentHorz = taRightJustify
|
|
||||||
Width = 130
|
|
||||||
end
|
|
||||||
object cxGridViewIMPORTETOTAL: TcxGridDBColumn
|
|
||||||
Caption = 'Importe total'
|
|
||||||
DataBinding.FieldName = 'IMPORTE_TOTAL'
|
|
||||||
PropertiesClassName = 'TcxCurrencyEditProperties'
|
|
||||||
Properties.Alignment.Horz = taRightJustify
|
|
||||||
BestFitMaxWidth = 120
|
|
||||||
HeaderAlignmentHorz = taRightJustify
|
|
||||||
Options.Editing = False
|
|
||||||
Width = 130
|
|
||||||
end
|
|
||||||
object cxGridViewVISIBLE: TcxGridDBColumn
|
|
||||||
Caption = #191'Visible?'
|
|
||||||
DataBinding.FieldName = 'VISIBLE'
|
|
||||||
PropertiesClassName = 'TcxCheckBoxProperties'
|
|
||||||
Properties.Alignment = taCenter
|
|
||||||
Properties.DisplayChecked = '1'
|
|
||||||
Properties.DisplayUnchecked = '0'
|
|
||||||
Properties.Glyph.Data = {
|
|
||||||
92030000424D9203000000000000920100002800000020000000100000000100
|
|
||||||
08000000000000020000120B0000120B0000570000005700000000000000FFFF
|
|
||||||
FF0040384000703840008048500090586000C0606000A0505000804040006030
|
|
||||||
30009050500070404000A060600090606000A0707000B0808000C09090004030
|
|
||||||
3000E0B0B000B0909000FFF0F000FF787000E0787000C0686000FF9890009048
|
|
||||||
4000A0585000D0888000E0989000E0706000FF80700080484000A0686000FFA0
|
|
||||||
9000FF887000B060500070484000FFB0A000C0989000D0A8A000E0B8B000FF98
|
|
||||||
8000A0605000FFC0B000F0C0B00080686000F0D8D000B0908000E0C8B000E0D8
|
|
||||||
D000FFE0C000FFF8F000F0E0C000FFF0D000FFF8E00020283000FEFEFE00FAFA
|
|
||||||
FA00F7F7F700F3F3F300F1F1F100F0F0F000EDEDED00EAEAEA00E7E7E700E6E6
|
|
||||||
E600E3E3E300E0E0E000DADADA00D7D7D700D3D3D300D0D0D000CDCDCD00C9C9
|
|
||||||
C900C6C6C600C4C4C400C3C3C300C0C0C000BEBEBE00BCBCBC00B9B9B900B7B7
|
|
||||||
B700B3B3B300AEAEAE00ACACAC00A6A6A600FFFFFF0056565656565656565656
|
|
||||||
5656565656565656565656565656565656565656565656565656565656565656
|
|
||||||
5656565656565656565656565656565656565656565656565656565656565656
|
|
||||||
5656565656565656565656565656565656565656565656565656565656565656
|
|
||||||
5656565656565656565656565656565656565656565656565656404040444C4C
|
|
||||||
463D5656565656565656122830262D2D2F325656565644444444433E4145474A
|
|
||||||
50463B404456101010102734181D061A242F35122656564646443A3F434A544C
|
|
||||||
49493A3C4646560F0F10362C1507110A2320362E0F0F56564845394341535554
|
|
||||||
44473944484856560E13331C21023711161714260E0E5656564A3E403E38544A
|
|
||||||
4344464B4B565656560D31122B01111A1E1B0F050556565656564E49423F4343
|
|
||||||
434A4E4E565656565656040C2925221E1E2A04045656565656565650504F4D4F
|
|
||||||
50505056565656565656560B0B1F19080B0B0B56565656565656565652505151
|
|
||||||
505656565656565656565656090B03030B565656565656565656565656565656
|
|
||||||
5656565656565656565656565656565656565656565656565656565656565656
|
|
||||||
5656565656565656565656565656565656565656565656565656565656565656
|
|
||||||
5656565656565656565656565656565656565656565656565656565656565656
|
|
||||||
56565656565656565656565656565656565656565656}
|
|
||||||
Properties.GlyphCount = 2
|
|
||||||
Properties.ImmediatePost = True
|
|
||||||
Properties.NullStyle = nssUnchecked
|
|
||||||
Properties.ValueChecked = 1
|
|
||||||
Properties.ValueUnchecked = 0
|
|
||||||
Visible = False
|
|
||||||
FooterAlignmentHorz = taCenter
|
|
||||||
HeaderAlignmentHorz = taCenter
|
|
||||||
end
|
|
||||||
end
|
|
||||||
object cxGridLevel: TcxGridLevel
|
|
||||||
GridView = cxGridView
|
|
||||||
end
|
|
||||||
end
|
|
||||||
object TBXDock1: TTBXDock
|
|
||||||
Left = 0
|
|
||||||
Top = 46
|
|
||||||
Width = 451
|
|
||||||
Height = 26
|
|
||||||
BackgroundOnToolbars = False
|
|
||||||
UseParentBackground = True
|
|
||||||
object TBXToolbar1: TTBXToolbar
|
|
||||||
Left = 0
|
|
||||||
Top = 0
|
|
||||||
Caption = 'TBXToolbar1'
|
|
||||||
DragHandleStyle = dhNone
|
|
||||||
Images = ContenidoImageList
|
|
||||||
TabOrder = 0
|
|
||||||
object TBXItem1: TTBXItem
|
|
||||||
Action = actAnadir
|
|
||||||
DisplayMode = nbdmImageAndText
|
|
||||||
Images = ContenidoImageList
|
|
||||||
end
|
|
||||||
object TBXItem2: TTBXItem
|
|
||||||
Action = actEliminar
|
|
||||||
DisplayMode = nbdmImageAndText
|
|
||||||
Images = ContenidoImageList
|
|
||||||
end
|
|
||||||
object TBXSeparatorItem1: TTBXSeparatorItem
|
|
||||||
end
|
|
||||||
object TBXItem3: TTBXItem
|
|
||||||
Action = actSubir
|
|
||||||
DisplayMode = nbdmImageAndText
|
|
||||||
end
|
|
||||||
object TBXItem4: TTBXItem
|
|
||||||
Action = actBajar
|
|
||||||
DisplayMode = nbdmImageAndText
|
|
||||||
end
|
|
||||||
object TBXSeparatorItem2: TTBXSeparatorItem
|
|
||||||
end
|
|
||||||
object TBXItem5: TTBXItem
|
|
||||||
Action = RichEditBold1
|
|
||||||
end
|
|
||||||
object TBXItem6: TTBXItem
|
|
||||||
Action = RichEditItalic1
|
|
||||||
end
|
|
||||||
object TBXItem7: TTBXItem
|
|
||||||
Action = RichEditUnderline1
|
|
||||||
end
|
|
||||||
object TBXSeparatorItem4: TTBXSeparatorItem
|
|
||||||
end
|
|
||||||
object TBXItem9: TTBXItem
|
|
||||||
Action = RichEditAlignLeft1
|
|
||||||
end
|
|
||||||
object TBXItem10: TTBXItem
|
|
||||||
Action = RichEditAlignCenter1
|
|
||||||
end
|
|
||||||
object TBXItem11: TTBXItem
|
|
||||||
Action = RichEditAlignRight1
|
|
||||||
end
|
|
||||||
object TBXSeparatorItem3: TTBXSeparatorItem
|
|
||||||
end
|
|
||||||
object TBXItem8: TTBXItem
|
|
||||||
Action = FontEdit1
|
|
||||||
end
|
|
||||||
object TBXSeparatorItem5: TTBXSeparatorItem
|
|
||||||
end
|
|
||||||
object TBXItem13: TTBXItem
|
|
||||||
Action = actAnchoAutomatico
|
|
||||||
DisplayMode = nbdmImageAndText
|
|
||||||
end
|
|
||||||
end
|
|
||||||
end
|
|
||||||
object ActionListContenido: TActionList
|
|
||||||
Images = ContenidoImageList
|
|
||||||
Left = 8
|
|
||||||
Top = 104
|
|
||||||
object actAnadir: TAction
|
|
||||||
Category = 'Operaciones'
|
|
||||||
Caption = 'A'#241'adir'
|
|
||||||
ImageIndex = 0
|
|
||||||
ShortCut = 45
|
|
||||||
OnExecute = actAnadirExecute
|
|
||||||
OnUpdate = actAnadirUpdate
|
|
||||||
end
|
|
||||||
object actEliminar: TAction
|
|
||||||
Category = 'Operaciones'
|
|
||||||
Caption = 'Eliminar'
|
|
||||||
ImageIndex = 1
|
|
||||||
ShortCut = 16430
|
|
||||||
OnExecute = actEliminarExecute
|
|
||||||
OnUpdate = actEliminarUpdate
|
|
||||||
end
|
|
||||||
object actSubir: TAction
|
|
||||||
Category = 'Operaciones'
|
|
||||||
Caption = 'Subir'
|
|
||||||
ImageIndex = 2
|
|
||||||
OnExecute = actSubirExecute
|
|
||||||
OnUpdate = actSubirUpdate
|
|
||||||
end
|
|
||||||
object actBajar: TAction
|
|
||||||
Category = 'Operaciones'
|
|
||||||
Caption = 'Bajar'
|
|
||||||
ImageIndex = 3
|
|
||||||
OnExecute = actBajarExecute
|
|
||||||
OnUpdate = actBajarUpdate
|
|
||||||
end
|
|
||||||
object RichEditBold1: TRichEditBold
|
|
||||||
Category = 'Format'
|
|
||||||
AutoCheck = True
|
|
||||||
Hint = 'Negrita'
|
|
||||||
ImageIndex = 4
|
|
||||||
ShortCut = 16450
|
|
||||||
end
|
|
||||||
object RichEditItalic1: TRichEditItalic
|
|
||||||
Category = 'Format'
|
|
||||||
AutoCheck = True
|
|
||||||
Hint = 'Cursiva'
|
|
||||||
ImageIndex = 5
|
|
||||||
ShortCut = 16457
|
|
||||||
end
|
|
||||||
object RichEditUnderline1: TRichEditUnderline
|
|
||||||
Category = 'Format'
|
|
||||||
AutoCheck = True
|
|
||||||
Hint = 'Subrayado'
|
|
||||||
ImageIndex = 6
|
|
||||||
ShortCut = 16469
|
|
||||||
end
|
|
||||||
object RichEditAlignLeft1: TRichEditAlignLeft
|
|
||||||
Category = 'Format'
|
|
||||||
AutoCheck = True
|
|
||||||
Hint = 'Alinear a la izquierda'
|
|
||||||
ImageIndex = 7
|
|
||||||
end
|
|
||||||
object RichEditAlignCenter1: TRichEditAlignCenter
|
|
||||||
Category = 'Format'
|
|
||||||
AutoCheck = True
|
|
||||||
Hint = 'Center|Centers text between margins'
|
|
||||||
ImageIndex = 8
|
|
||||||
end
|
|
||||||
object RichEditAlignRight1: TRichEditAlignRight
|
|
||||||
Category = 'Format'
|
|
||||||
AutoCheck = True
|
|
||||||
Hint = 'Align Right|Aligns text at the right indent'
|
|
||||||
ImageIndex = 9
|
|
||||||
end
|
|
||||||
object FontEdit1: TFontEdit
|
|
||||||
Category = 'Dialog'
|
|
||||||
Dialog.Font.Charset = DEFAULT_CHARSET
|
|
||||||
Dialog.Font.Color = clWindowText
|
|
||||||
Dialog.Font.Height = -11
|
|
||||||
Dialog.Font.Name = 'Tahoma'
|
|
||||||
Dialog.Font.Style = []
|
|
||||||
Enabled = False
|
|
||||||
Hint = 'Formato de fuente'
|
|
||||||
ImageIndex = 10
|
|
||||||
BeforeExecute = FontEdit1BeforeExecute
|
|
||||||
OnAccept = FontEdit1Accept
|
|
||||||
end
|
|
||||||
object RichEditAlignRight2: TRichEditAlignRight
|
|
||||||
Category = 'Format'
|
|
||||||
AutoCheck = True
|
|
||||||
Caption = 'Align &Right'
|
|
||||||
Hint = 'Align Right|Aligns text at the right indent'
|
|
||||||
ImageIndex = 11
|
|
||||||
end
|
|
||||||
object actAnchoAutomatico: TAction
|
|
||||||
Category = 'Operaciones'
|
|
||||||
Caption = 'Ancho autom'#225'tico'
|
|
||||||
ImageIndex = 11
|
|
||||||
OnExecute = actAnchoAutomaticoExecute
|
|
||||||
OnUpdate = actAnchoAutomaticoUpdate
|
|
||||||
end
|
|
||||||
end
|
|
||||||
object DADataSource: TDADataSource
|
|
||||||
Left = 8
|
|
||||||
Top = 136
|
|
||||||
end
|
|
||||||
object ContenidoImageList: TPngImageList
|
|
||||||
PngImages = <
|
|
||||||
item
|
|
||||||
PngImage.Data = {
|
|
||||||
89504E470D0A1A0A0000000D49484452000000100000001008060000001FF3FF
|
|
||||||
610000000970485973000017120000171201679FD252000000D04944415478DA
|
|
||||||
6364C0062630FCC72A5EC0C0882EC488CB80191909706EDDBA750CAF767D6260
|
|
||||||
5830240DF8F9FB3743EBE6CD780CC011602003409A7F0071EF8E1D10030C30D5
|
|
||||||
31A23B1706609AB1E23F7FC0F4FA2967B01B408CE6A3B76E815D856100319ABF
|
|
||||||
FFFAC570EEC103540340218D0C92EDECE01AD79E398335ACE106305CC0942CAC
|
|
||||||
77871BB0F5E2454820620138A331D3CB09EEECBD57AF929E0E629DADC106FCF9
|
|
||||||
F70F1E602419106A67C6F01DE40260805D7AFC9874037C2C0D194EDDBD8B1260
|
|
||||||
241900A6D103178B01000648ED7B1FCA93F30000000049454E44AE426082}
|
|
||||||
Name = 'PngImage0'
|
|
||||||
Background = clWindow
|
|
||||||
end
|
|
||||||
item
|
|
||||||
PngImage.Data = {
|
|
||||||
89504E470D0A1A0A0000000D49484452000000100000001008060000001FF3FF
|
|
||||||
610000000970485973000017120000171201679FD2520000006E4944415478DA
|
|
||||||
63FCFFFF3F03258071D40006C6397A1214990036203925952CCD73E7CCC66100
|
|
||||||
C85BBF7F32307CFDC4C0F0FD2B03C33710FD05487F46E0374F19E6FE964032E0
|
|
||||||
CF6F840120CD200D5F3F43357E42F0416C90013FBFA119B0B099742FC00CA028
|
|
||||||
10073E1D0C7D030077CE5E397DD56C480000000049454E44AE426082}
|
|
||||||
Name = 'PngImage1'
|
|
||||||
Background = clWindow
|
|
||||||
end
|
|
||||||
item
|
|
||||||
PngImage.Data = {
|
|
||||||
89504E470D0A1A0A0000000D49484452000000100000001008060000001FF3FF
|
|
||||||
610000000970485973000017120000171201679FD252000000E14944415478DA
|
|
||||||
63FCFFFF3F032580717019C0C8C88822E9D770F9FFA6065D1441740B711A00D2
|
|
||||||
1C1DA5CA307DC64586037DE68C241900D3FCF10B23C39123CF19AE5EBECF7076
|
|
||||||
B623235106206BFEF899114C3FBAFB94E1C4D1AB0CB7567A33E235C0BFF1CAFF
|
|
||||||
9F3F7F3380B0B7BF2158F3BB8F4C0C7B36EE60F8F9E317C30F207EB1238C91A0
|
|
||||||
17AC728EFC77F234076BFEF2E631C3C1BDE7191E6E0C24CE0B20609CBAFFBFB9
|
|
||||||
A31DD0004606B6DF8F18766E3DC9F0726738F106E8C6EFFA6F68AC0617DFB8F6
|
|
||||||
30C3C783B1C41BA016BEF53FCCCF30FCF364326103C801C3C00000BEA5B3E15D
|
|
||||||
7F64240000000049454E44AE426082}
|
|
||||||
Name = 'PngImage2'
|
|
||||||
Background = clWindow
|
|
||||||
end
|
|
||||||
item
|
|
||||||
PngImage.Data = {
|
|
||||||
89504E470D0A1A0A0000000D49484452000000100000001008060000001FF3FF
|
|
||||||
610000000970485973000017120000171201679FD252000000DF4944415478DA
|
|
||||||
63FCFFFF3F032580717019C0C8C808A643DA6E80057FFDFACDF0F327041FE833
|
|
||||||
074BA25B88D380982805869FBF18183E7E61645830EF34C3B12936C41BE0D770
|
|
||||||
F97F74942A58F39123CF19AE5EBECF7076B623F106B8579EFB1F1CAACDF0F133
|
|
||||||
23C3E58BCF18CE9FBDC57079A11B6103FC1BAFFC87F9D9DBDF10EC8247779F32
|
|
||||||
9C387A95E1E78F5F0C3F80F8C58E3046BC2E70283AF91FA6F9DD472620666460
|
|
||||||
FBFD8861E7D6930C2F77863312E505E3D4FDFFCD1DED3034131D0620A016BEF5
|
|
||||||
BF85B5368A66920C000171F795FF91351334801C300C0C00007FBCB4E1E577C7
|
|
||||||
9A0000000049454E44AE426082}
|
|
||||||
Name = 'PngImage3'
|
|
||||||
Background = clWindow
|
|
||||||
end
|
|
||||||
item
|
|
||||||
PngImage.Data = {
|
|
||||||
89504E470D0A1A0A0000000D49484452000000100000001008060000001FF3FF
|
|
||||||
610000000970485973000017120000171201679FD252000001984944415478DA
|
|
||||||
63FCFFFF3F0325801164C0C20D47A381F41292353332C6800D58B0FEC8FF8440
|
|
||||||
1BA234FDF9FB8FE1F79FBF60EC105CC4409201C89A8F9DBDC150D5360BD30046
|
|
||||||
C399181A59989918A23C55181A328C1804F9D8C0069CBD7C07BB01C886FC3F9F
|
|
||||||
CEF00F28BF7AD75D86888ABD0CEC6CCC0C8F774430FCF9F38FE1E2F57B840DF8
|
|
||||||
7B2E0DACF8C7AF3F0CFC360BC006DCDF120676C1B5DB0F091BF0F3540AC3C3E7
|
|
||||||
9F19DAE79D6758B6FD2E4353A6114384BB22D0D0BF0CB7EE3F216C003288F254
|
|
||||||
66288BD765E0E56206BAE01FC3FDC7CFB01B00F233B3D12C30FBFDA138B0730F
|
|
||||||
9C7ECE1056BE8FC1C954926172991958ECF9ABD79806803483FCCC6E36076CC0
|
|
||||||
8B3D5160C52031459FD560B10BCB7DC02E78F3EE2DAA01317E56F038E6B75908
|
|
||||||
567C6D6D1003273B33C396C38F18723B4F32B0B332311C99E70156F3F1D30754
|
|
||||||
03C2BDCC51342303666646066F1B1986EC5035065E6E16B0BA6FDF3EA31A10E4
|
|
||||||
6602762ACC1570F6EFBF503184DCBF7FFF197EFCF8826A809F9311C3A98BB748
|
|
||||||
CA4C700340B971E28CA524E7C6FC8CE81800E35A4E592A9A5C6B000000004945
|
|
||||||
4E44AE426082}
|
|
||||||
Name = 'PngImage4'
|
|
||||||
Background = clWindow
|
|
||||||
end
|
|
||||||
item
|
|
||||||
PngImage.Data = {
|
|
||||||
89504E470D0A1A0A0000000D49484452000000100000001008060000001FF3FF
|
|
||||||
610000000970485973000017120000171201679FD252000001844944415478DA
|
|
||||||
63FCFFFF3F0325801164C0C20D47A381F41292353332C6800D58B0FEC8FF8440
|
|
||||||
1BA234FDF9FB8FE1F79FBF60EC105CC4409201C89A8F9DBDC150D5360BB7010B
|
|
||||||
37DF6248A8DB0FE7CB4BF2325C5D1B0237E0ECE53BF80D0081C69967191A669C
|
|
||||||
6188F35163985C61C5F0EF1FC4057FFEFC63B878FD1E6103744357335CB9F38E
|
|
||||||
61CB240F066B0331B866107DEDF643FC067CFFF98781CB622E98FD745714032B
|
|
||||||
0B235CF31F20BE75FF096E03FE01C5CE5D7FC3601ABD8E41535180E1E05C6F14
|
|
||||||
CDBF81ECFB8F9F613700A419A478C9D65B0CC98D871862BC5518BAF24DE19A7F
|
|
||||||
005D06623F7FF51AD30098669082CA49A71826AFB8CAD05D68CA10E2AC0009FD
|
|
||||||
DF7FA1B1F08FE1CDBBB7A806C4F859C1A3E8DDC79F0C0185BB182EDE7AC7B0BE
|
|
||||||
D799415B991F453388FEF8E903AA01E15EE6608993975F31B8656E4709D02D13
|
|
||||||
9D1964C438E19A41F8DBB7CFA80604B999C09D8F1C5DE83683F0BF7FFF197EFC
|
|
||||||
F8826A809F9311C3A98BB748CA4C700340B971E28CA524E7C6FC8CE818000A3C
|
|
||||||
81590C9B58CC0000000049454E44AE426082}
|
|
||||||
Name = 'PngImage5'
|
|
||||||
Background = clWindow
|
|
||||||
end
|
|
||||||
item
|
|
||||||
PngImage.Data = {
|
|
||||||
89504E470D0A1A0A0000000D49484452000000100000001008060000001FF3FF
|
|
||||||
610000000970485973000017120000171201679FD252000001854944415478DA
|
|
||||||
63FCFFFF3F0325801164C0C20D47A381F41292353332C6800D58B0FEC8FF8440
|
|
||||||
1BA234FDF9FB8FE1F79FBF60EC105CC4806100A3E14C140DFFCFA763887F3C12
|
|
||||||
CF70ECEC0D86AAB65998067CFCF28B41C0763E98FDE6403C83303F07C33FA09A
|
|
||||||
B71F7E3088392D62B8BB259C81978B85E1ECE53BD80D40B60D643B48F39F3F10
|
|
||||||
67F358CD6778B52F1ACCBF78FD1E6103FE9E4B836B066141BB450CCF764582D9
|
|
||||||
D76E3F246CC0CF532970CD202CE6B494E1E1B630A0A17F196EDD7F42D880B707
|
|
||||||
E318981819C09ADF7DFCC9A011B886E1EEA66020FF1FC3FDC7CFB01B00F2B356
|
|
||||||
D02A869B0F3E305424EA3364846A80BDD1B5F012C3D53BEF1966D558820D7CFE
|
|
||||||
EA35A601B000BBF5F00343CDD4D30C07CE3C07C70A1F372B838BB91443419426
|
|
||||||
90CD0276C19B776F510D88F1B382FB1539E0E0ECDFB0B080F03F7EFA806A40B8
|
|
||||||
97395882DF6621C1D47870B60BC3B76F9F510D08723321CA6610FEF7EF3FC38F
|
|
||||||
1F5F500DF07332623875F1164999096E0028374E9CB194E4DC989F111D03002B
|
|
||||||
D67559EB1C43180000000049454E44AE426082}
|
|
||||||
Name = 'PngImage6'
|
|
||||||
Background = clWindow
|
|
||||||
end
|
|
||||||
item
|
|
||||||
PngImage.Data = {
|
|
||||||
89504E470D0A1A0A0000000D49484452000000100000001008060000001FF3FF
|
|
||||||
610000000970485973000017120000171201679FD252000000F94944415478DA
|
|
||||||
63FCFFFF3F0325801164C0C20D47A381F41292353332C6800D58B0FEC8FF8440
|
|
||||||
1BA234FDF9FB8FE1F79FBF60EC105CC4409201C89A8F9DBDC150D5368B3803FE
|
|
||||||
01D5FCF983D00CC2672FDFC134809B9B1BAF0B9EBE7803D60C32ECE2F57B845D
|
|
||||||
80CD6618FFDAED87A4BB00062EDF78C870EBFE13DC2EC067F31F30FF1FC3FDC7
|
|
||||||
CF487701C8E61F3FFF800D7AFEEA35A601E836FFFCF507C5F6DFBF612EFAC7F0
|
|
||||||
E6DD5B540362FCAC18F8F978890A833D47AF327CFCF401D580702F7354DB70D8
|
|
||||||
0C93FBF6ED33AA01416E26446BFEF7EF3FC38F1F5F500DF07332623875F11651
|
|
||||||
5E8001B801A0DC3871C6529273637E46740C002BB66C59EAC44C620000000049
|
|
||||||
454E44AE426082}
|
|
||||||
Name = 'PngImage7'
|
|
||||||
Background = clWindow
|
|
||||||
end
|
|
||||||
item
|
|
||||||
PngImage.Data = {
|
|
||||||
89504E470D0A1A0A0000000D49484452000000100000001008060000001FF3FF
|
|
||||||
610000000970485973000017120000171201679FD252000001004944415478DA
|
|
||||||
63FCFFFF3F0325801164C0C20D47A381F41292353332C6800D58B0FEC8FF8440
|
|
||||||
1BA234FDF9FB8FE1F79FBF60EC105CC4409201C89A8F9DBDC150D5368B3803FE
|
|
||||||
01D5FCF983D00CC2672FDFC16D0037373756839EBE7803D60C32ECE2F57B845D
|
|
||||||
80CD6618FFDAED879806E0B2191D5CBEF190E1D6FD27B85D80CFE63F60FE3F86
|
|
||||||
FB8F9F613700A499978707A7CD3F7EFE011BF4FCD56B4C03D06DFEF9EB0F8AED
|
|
||||||
BF7FC35CF48FE1CDBBB7A806C4F85931F0F3F11215067B8E5E65F8F8E903AA01
|
|
||||||
E15EE6A8B6E1B01926F7EDDB67540382DC4C88D6FCEFDF7F861F3FBEA01AE0E7
|
|
||||||
64C470EAE22DA2BC0003700340B971E28CA524E7C6FC8CE8180048E16F597BCE
|
|
||||||
9D230000000049454E44AE426082}
|
|
||||||
Name = 'PngImage8'
|
|
||||||
Background = clWindow
|
|
||||||
end
|
|
||||||
item
|
|
||||||
PngImage.Data = {
|
|
||||||
89504E470D0A1A0A0000000D49484452000000100000001008060000001FF3FF
|
|
||||||
610000000970485973000017120000171201679FD252000000FC4944415478DA
|
|
||||||
63FCFFFF3F0325801164C0C20D47A381F41292353332C6800D58B0FEC8FF8440
|
|
||||||
1BA234FDF9FB8FE1F79FBF60EC105CC4409201C89A8F9DBDC150D5368B3803FE
|
|
||||||
01D5FCF983D00CC2672FDFC16D003737375E97DC79F09CE1E2F57B845D80CD66
|
|
||||||
18FFDAED87980610B219062EDF78C870EBFE13DC2EC067F31F30FF1FC3FDC7CF
|
|
||||||
B01B00D2CCCBC383D705C7CEDE6278FEEA35A601E836FFFCF507C5F6DFBF612E
|
|
||||||
FAC7F0E6DD5B540362FCAC18F8F978890A833D47AF327CFCF401D580702F7354
|
|
||||||
DB70D80C93FBF6ED33AA01416E26446BFEF7EF3FC38F1F5F500DF07332623875
|
|
||||||
F116515E8001B801A0DC3871C6529273637E46740C0021BE635977EAA72D0000
|
|
||||||
000049454E44AE426082}
|
|
||||||
Name = 'PngImage9'
|
|
||||||
Background = clWindow
|
|
||||||
end
|
|
||||||
item
|
|
||||||
PngImage.Data = {
|
|
||||||
89504E470D0A1A0A0000000D49484452000000100000001008060000001FF3FF
|
|
||||||
610000000970485973000017120000171201679FD252000001CB4944415478DA
|
|
||||||
63FCFFFF3F0325801164C0C20D47A381F41292353332C6800D58B0FEC8FF8440
|
|
||||||
1BA234FDF9FB8FE1F79FBF60EC105CC480D580CAA3950C4B6E2C61789CFC18A7
|
|
||||||
E663676F3054B5CDC234E0EFFFBF0C327364185E7C7BC17020E40083BDB43DC3
|
|
||||||
3FA09A3F7F109A41F8ECE53BD80D587B672D43CBA916860BAF2F3024682530CC
|
|
||||||
759987A119C4BF78FD1E76031CD73A324CB09FC0E0B0C681E1CFBF3F0C8F129E
|
|
||||||
32B0317280350ADA2D6278B62B12CCBE76FB21A60137DFDF64D058A481E2EFB9
|
|
||||||
4E0B188214C2C09A41E0E1B630A00BFE32DCBAFF04D380C243850C06A2060CB1
|
|
||||||
1A710C871E1F61705C6FC7E020E5C470A02D0C6CB394DB7286BB9B82812EF8C7
|
|
||||||
70FFF13354034CED04194C969B303C4B7DCEC0CDC40B76A6DA52258667536B19
|
|
||||||
562D92623017B16190F75AC57075B53F58EEF9ABD7A806347E886578F0E90183
|
|
||||||
3CAF02C3D5C89B0C69FB531896555B63A4830BCB7DC02E78F3EE2DAA01317E56
|
|
||||||
28A12CECB098E1F18E70440CFCFECBA01DBA91E1F4622F30FFE3A70FA806847B
|
|
||||||
99A36886815B1B82E09A61E0E06C17866FDF3EA31A10E4668212DFC83643C410
|
|
||||||
72FFFEFD67F8F1E30BAA017E4E460CA72EDE222933C10D00E5C6893396929C1B
|
|
||||||
F333A26300FC1C815930D4A9C10000000049454E44AE426082}
|
|
||||||
Name = 'PngImage10'
|
|
||||||
Background = clWindow
|
|
||||||
end
|
|
||||||
item
|
|
||||||
PngImage.Data = {
|
|
||||||
89504E470D0A1A0A0000000D49484452000000100000001008060000001FF3FF
|
|
||||||
610000000970485973000017120000171201679FD252000001124944415478DA
|
|
||||||
63FCFFFF3F03258091620340848147C2FF0B3B1630A24B1223CE08E20CAC0B28
|
|
||||||
0A0098010B361C807BE3E7CF5F0C5FBF7D63F8F2ED3B98D65455C62ADE599ACC
|
|
||||||
886240BCBF3D58E19FBFFF18BE7DFFC5F0EDC72F86D6A98B1826D7E760159FD2
|
|
||||||
908B69C0EF3F7F810A7E337C072ABC71FF15C3FC556B1916F69463155FD45B81
|
|
||||||
3060DAF21DFF93835D18BEFF80D8F0FDC71F8647CFDF334C9CB38061E5D446AC
|
|
||||||
E21B66B7220CE89AB3EE7F6AA80754D16F862F409BDE7FFCC6D0D43F8561DDCC
|
|
||||||
76ACE2FB574C4418503771F1FFB4085F86DB0F5EA3847049633BC3C6F97D58C5
|
|
||||||
CF6E9B8730A0A86DE6FF6FC0D0FDF4F90BC3E72F5FA1F417867FFFFE33589818
|
|
||||||
601587A78381CF4C941A00005C20FBD97F751C0A0000000049454E44AE426082}
|
|
||||||
Name = 'PngImage11'
|
|
||||||
Background = clWindow
|
|
||||||
end>
|
|
||||||
Left = 40
|
|
||||||
Top = 112
|
|
||||||
Bitmap = {}
|
|
||||||
end
|
|
||||||
object cxStyleRepository: TcxStyleRepository
|
|
||||||
Left = 8
|
|
||||||
Top = 168
|
|
||||||
object cxStyleEven: TcxStyle
|
|
||||||
end
|
|
||||||
object cxStyleOdd: TcxStyle
|
|
||||||
AssignedValues = [svColor]
|
|
||||||
Color = 16119285
|
|
||||||
end
|
|
||||||
object cxStyleSelection: TcxStyle
|
|
||||||
AssignedValues = [svColor, svTextColor]
|
|
||||||
Color = clHighlight
|
|
||||||
TextColor = clHighlightText
|
|
||||||
end
|
|
||||||
object cxStyle_IMPORTETOTAL: TcxStyle
|
|
||||||
AssignedValues = [svColor]
|
|
||||||
Color = clInactiveCaptionText
|
|
||||||
end
|
|
||||||
object cxStyle_SUBTOTAL: TcxStyle
|
|
||||||
AssignedValues = [svColor]
|
|
||||||
Color = cl3DLight
|
|
||||||
end
|
|
||||||
object cxStyle_TITULO: TcxStyle
|
|
||||||
AssignedValues = [svColor]
|
|
||||||
Color = clMenuBar
|
|
||||||
end
|
|
||||||
end
|
|
||||||
end
|
|
||||||
@ -1,746 +0,0 @@
|
|||||||
unit uViewDetallesBase;
|
|
||||||
|
|
||||||
interface
|
|
||||||
|
|
||||||
uses
|
|
||||||
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
|
|
||||||
Dialogs, uViewBase, cxStyles, ComCtrls, ToolWin, ActnList, cxCustomData,
|
|
||||||
cxGraphics, cxFilter, cxData, cxDataStorage, cxEdit, DB, cxDBData,
|
|
||||||
uDADataTable, cxGridLevel, cxClasses, cxControls, cxGridCustomView,
|
|
||||||
cxGridCustomTableView, cxGridTableView, cxGridDBTableView, ImgList,
|
|
||||||
PngImageList, cxGrid, cxImageComboBox, cxTextEdit, cxMaskEdit, cxCheckBox,
|
|
||||||
uGridUtils, uControllerDetallesBase, cxCurrencyEdit, ExtCtrls, Grids, DBGrids, StdCtrls,
|
|
||||||
ExtActns, StdActns, cxRichEdit, JvExStdCtrls, JvCombobox, JvColorCombo,
|
|
||||||
TB2Item, TBX, TB2Dock, TB2Toolbar;
|
|
||||||
|
|
||||||
type
|
|
||||||
IViewDetallesBase = interface(IViewBase)
|
|
||||||
['{852EB860-13B6-4355-A6B0-4542AB16896F}']
|
|
||||||
procedure ExpandirTodo;
|
|
||||||
procedure ContraerTodo;
|
|
||||||
procedure AjustarAncho;
|
|
||||||
|
|
||||||
procedure SaveGridStatus;
|
|
||||||
procedure RestoreGridStatus;
|
|
||||||
|
|
||||||
procedure BeginUpdate;
|
|
||||||
procedure EndUpdate;
|
|
||||||
|
|
||||||
function IsEmpty : Boolean;
|
|
||||||
|
|
||||||
function GetFocusedView : TcxGridDBTableView;
|
|
||||||
property _FocusedView : TcxGridDBTableView read GetFocusedView;
|
|
||||||
|
|
||||||
function GetGrid : TcxGrid;
|
|
||||||
property _Grid : TcxGrid read GetGrid;
|
|
||||||
end;
|
|
||||||
|
|
||||||
TfrViewDetallesBase = class(TfrViewBase, IViewDetallesBase)
|
|
||||||
ActionListContenido: TActionList;
|
|
||||||
DADataSource: TDADataSource;
|
|
||||||
actAnadir: TAction;
|
|
||||||
actEliminar: TAction;
|
|
||||||
actSubir: TAction;
|
|
||||||
actBajar: TAction;
|
|
||||||
ContenidoImageList: TPngImageList;
|
|
||||||
ToolBar1: TToolBar;
|
|
||||||
cxStyleRepository: TcxStyleRepository;
|
|
||||||
cxStyleEven: TcxStyle;
|
|
||||||
cxStyleOdd: TcxStyle;
|
|
||||||
cxStyleSelection: TcxStyle;
|
|
||||||
ToolButton1: TToolButton;
|
|
||||||
ToolButton2: TToolButton;
|
|
||||||
ToolButton3: TToolButton;
|
|
||||||
ToolButton4: TToolButton;
|
|
||||||
cxGrid: TcxGrid;
|
|
||||||
cxGridView: TcxGridDBTableView;
|
|
||||||
cxGridViewID: TcxGridDBColumn;
|
|
||||||
cxGridViewPOSICION: TcxGridDBColumn;
|
|
||||||
cxGridViewTIPO: TcxGridDBColumn;
|
|
||||||
cxGridViewDESCRIPCION: TcxGridDBColumn;
|
|
||||||
cxGridViewCANTIDAD: TcxGridDBColumn;
|
|
||||||
cxGridViewIMPORTEUNIDAD: TcxGridDBColumn;
|
|
||||||
cxGridViewIMPORTETOTAL: TcxGridDBColumn;
|
|
||||||
cxGridViewVISIBLE: TcxGridDBColumn;
|
|
||||||
cxGridLevel: TcxGridLevel;
|
|
||||||
RichEditBold1: TRichEditBold;
|
|
||||||
RichEditItalic1: TRichEditItalic;
|
|
||||||
ToolButton6: TToolButton;
|
|
||||||
ToolButton7: TToolButton;
|
|
||||||
RichEditUnderline1: TRichEditUnderline;
|
|
||||||
RichEditAlignLeft1: TRichEditAlignLeft;
|
|
||||||
RichEditAlignRight1: TRichEditAlignRight;
|
|
||||||
RichEditAlignCenter1: TRichEditAlignCenter;
|
|
||||||
ToolButton8: TToolButton;
|
|
||||||
ToolButton9: TToolButton;
|
|
||||||
ToolButton10: TToolButton;
|
|
||||||
ToolButton11: TToolButton;
|
|
||||||
ToolButton12: TToolButton;
|
|
||||||
ToolButton13: TToolButton;
|
|
||||||
FontEdit1: TFontEdit;
|
|
||||||
ToolButton14: TToolButton;
|
|
||||||
UpDown1: TUpDown;
|
|
||||||
FontSize: TEdit;
|
|
||||||
FontName: TJvFontComboBox;
|
|
||||||
TBXDock1: TTBXDock;
|
|
||||||
TBXToolbar1: TTBXToolbar;
|
|
||||||
TBXItem1: TTBXItem;
|
|
||||||
TBXItem2: TTBXItem;
|
|
||||||
TBXSeparatorItem1: TTBXSeparatorItem;
|
|
||||||
TBXItem3: TTBXItem;
|
|
||||||
TBXItem4: TTBXItem;
|
|
||||||
TBXSeparatorItem2: TTBXSeparatorItem;
|
|
||||||
TBXItem5: TTBXItem;
|
|
||||||
TBXItem6: TTBXItem;
|
|
||||||
TBXItem7: TTBXItem;
|
|
||||||
TBXSeparatorItem3: TTBXSeparatorItem;
|
|
||||||
TBXItem8: TTBXItem;
|
|
||||||
TBXSeparatorItem4: TTBXSeparatorItem;
|
|
||||||
TBXItem9: TTBXItem;
|
|
||||||
TBXItem10: TTBXItem;
|
|
||||||
TBXItem11: TTBXItem;
|
|
||||||
cxStyle_IMPORTETOTAL: TcxStyle;
|
|
||||||
cxStyle_SUBTOTAL: TcxStyle;
|
|
||||||
cxStyle_TITULO: TcxStyle;
|
|
||||||
RichEditAlignRight2: TRichEditAlignRight;
|
|
||||||
actAnchoAutomatico: TAction;
|
|
||||||
TBXSeparatorItem5: TTBXSeparatorItem;
|
|
||||||
TBXItem13: TTBXItem;
|
|
||||||
|
|
||||||
procedure actAnadirExecute(Sender: TObject);
|
|
||||||
procedure actEliminarExecute(Sender: TObject);
|
|
||||||
procedure actSubirExecute(Sender: TObject);
|
|
||||||
procedure actBajarExecute(Sender: TObject);
|
|
||||||
procedure actEliminarUpdate(Sender: TObject);
|
|
||||||
procedure actSubirUpdate(Sender: TObject);
|
|
||||||
procedure actBajarUpdate(Sender: TObject);
|
|
||||||
procedure actAnadirUpdate(Sender: TObject);
|
|
||||||
|
|
||||||
procedure cxGridViewEditValueChanged(Sender: TcxCustomGridTableView; AItem: TcxCustomGridTableItem);
|
|
||||||
procedure cxGridViewEditKeyDown(Sender: TcxCustomGridTableView;
|
|
||||||
AItem: TcxCustomGridTableItem; AEdit: TcxCustomEdit; var Key: Word;
|
|
||||||
Shift: TShiftState);
|
|
||||||
|
|
||||||
procedure cxGridViewInitEdit(Sender: TcxCustomGridTableView;
|
|
||||||
AItem: TcxCustomGridTableItem; AEdit: TcxCustomEdit);
|
|
||||||
procedure FontEdit1BeforeExecute(Sender: TObject);
|
|
||||||
procedure FontEdit1Accept(Sender: TObject);
|
|
||||||
|
|
||||||
procedure CustomViewCreate(Sender: TObject);
|
|
||||||
procedure CustomViewDestroy(Sender: TObject);
|
|
||||||
procedure FontSizeChange(Sender: TObject);
|
|
||||||
procedure FontNameChange(Sender: TObject);
|
|
||||||
|
|
||||||
procedure cxGridViewEditing(Sender: TcxCustomGridTableView;
|
|
||||||
AItem: TcxCustomGridTableItem; var AAllow: Boolean);
|
|
||||||
procedure cxGridViewStylesGetContentStyle(Sender: TcxCustomGridTableView;
|
|
||||||
ARecord: TcxCustomGridRecord; AItem: TcxCustomGridTableItem;
|
|
||||||
out AStyle: TcxStyle);
|
|
||||||
procedure TBXItem13Click(Sender: TObject);
|
|
||||||
procedure actAnchoAutomaticoExecute(Sender: TObject);
|
|
||||||
procedure actAnchoAutomaticoUpdate(Sender: TObject);
|
|
||||||
|
|
||||||
private
|
|
||||||
FController : IControllerDetallesBase;
|
|
||||||
FDetalles: IDAStronglyTypedDataTable;
|
|
||||||
FGridStatus: TcxGridStatus;
|
|
||||||
CurEdit: TcxRichEdit;
|
|
||||||
FUpdating: Boolean;
|
|
||||||
function CurrText: TTextAttributes;
|
|
||||||
procedure OnSelectChange(Sender:TObject);
|
|
||||||
|
|
||||||
function GetController: IControllerDetallesBase;
|
|
||||||
procedure SetController(const Value: IControllerDetallesBase);
|
|
||||||
function GetDetalles: IDAStronglyTypedDataTable;
|
|
||||||
procedure SetDetalles(const Value: IDAStronglyTypedDataTable);
|
|
||||||
|
|
||||||
function darPosicionCAMPO(const Nombre:String): Integer;
|
|
||||||
function darListaSeleccionados: TIntegerArray;
|
|
||||||
|
|
||||||
protected
|
|
||||||
function HayQueRecalcular(AItem: TcxCustomGridTableItem): Boolean; virtual;
|
|
||||||
function EsTipoEditable(AItem: TcxCustomGridTableItem): Boolean; virtual;
|
|
||||||
function darTipoLetraPorDefecto: TFont; virtual;
|
|
||||||
function GetFocusedView : TcxGridDBTableView; virtual;
|
|
||||||
function GetGrid : TcxGrid; virtual;
|
|
||||||
procedure SeleccionarRowActual;
|
|
||||||
|
|
||||||
public
|
|
||||||
procedure BeginUpdate;
|
|
||||||
procedure EndUpdate;
|
|
||||||
procedure SaveGridStatus;
|
|
||||||
procedure RestoreGridStatus;
|
|
||||||
procedure ExpandirTodo;
|
|
||||||
procedure ContraerTodo;
|
|
||||||
procedure AjustarAncho;
|
|
||||||
function IsEmpty : Boolean;
|
|
||||||
destructor Destroy; override;
|
|
||||||
property _FocusedView : TcxGridDBTableView read GetFocusedView;
|
|
||||||
property _Grid : TcxGrid read GetGrid;
|
|
||||||
property Controller: IControllerDetallesBase read GetController write SetController;
|
|
||||||
property Detalles: IDAStronglyTypedDataTable read GetDetalles write SetDetalles;
|
|
||||||
|
|
||||||
end;
|
|
||||||
|
|
||||||
implementation
|
|
||||||
{$R *.dfm}
|
|
||||||
|
|
||||||
function EnumFontsProc(var LogFont: TLogFont; var TextMetric: TTextMetric;
|
|
||||||
FontType: Integer; Data: Pointer): Integer; stdcall;
|
|
||||||
begin
|
|
||||||
TStrings(Data).Add(LogFont.lfFaceName);
|
|
||||||
Result := 1;
|
|
||||||
end;
|
|
||||||
|
|
||||||
|
|
||||||
procedure TfrViewDetallesBase.actAnadirExecute(Sender: TObject);
|
|
||||||
var
|
|
||||||
bEsMultiSelect : Boolean;
|
|
||||||
begin
|
|
||||||
// Debo quitar el multiselect porque provoca que se quede seleccionado
|
|
||||||
// el registro actual y no el nuevo registro que voy a añadir
|
|
||||||
bEsMultiSelect := cxGridView.OptionsSelection.MultiSelect;
|
|
||||||
if bEsMultiSelect then
|
|
||||||
cxGridView.OptionsSelection.MultiSelect := False;
|
|
||||||
|
|
||||||
cxGridView.BeginUpdate;
|
|
||||||
try
|
|
||||||
if cxGridView.Controller.EditingController.IsEditing then
|
|
||||||
cxGridView.Controller.EditingController.Edit.PostEditValue;
|
|
||||||
|
|
||||||
if Assigned(Controller)
|
|
||||||
and Assigned(FDetalles) then
|
|
||||||
Controller.add(FDetalles, TIPO_DETALLE_CONCEPTO);
|
|
||||||
finally
|
|
||||||
cxGridView.EndUpdate;
|
|
||||||
|
|
||||||
// Dejo la propiedad MultiSelect como estaba
|
|
||||||
if bEsMultiSelect then
|
|
||||||
cxGridView.OptionsSelection.MultiSelect := bEsMultiSelect;
|
|
||||||
end;
|
|
||||||
end;
|
|
||||||
|
|
||||||
procedure TfrViewDetallesBase.actEliminarExecute(Sender: TObject);
|
|
||||||
var
|
|
||||||
AuxTop, AuxRow:Integer;
|
|
||||||
|
|
||||||
begin
|
|
||||||
cxGridView.BeginUpdate;
|
|
||||||
try
|
|
||||||
if Assigned(Controller)
|
|
||||||
and Assigned(FDetalles) then
|
|
||||||
begin
|
|
||||||
AuxTop := cxGridView.Controller.TopRowIndex;
|
|
||||||
AuxRow := cxGridView.DataController.FocusedRowIndex;
|
|
||||||
|
|
||||||
Controller.delete(FDetalles, darListaSeleccionados);
|
|
||||||
|
|
||||||
if(FDetalles.RecordCount > 0) then
|
|
||||||
begin
|
|
||||||
//Selecciona en el grid el registro siguiente
|
|
||||||
if (AuxRow < cxGridView.DataController.RowCount-1) then
|
|
||||||
Inc(AuxRow)
|
|
||||||
else
|
|
||||||
Dec(AuxRow);
|
|
||||||
|
|
||||||
cxGridView.DataController.SelectRows(AuxRow,AuxRow);
|
|
||||||
cxGridView.Controller.TopRowIndex := AuxTop;
|
|
||||||
end;
|
|
||||||
end
|
|
||||||
finally
|
|
||||||
cxGridView.EndUpdate;
|
|
||||||
end;
|
|
||||||
|
|
||||||
SeleccionarRowActual;
|
|
||||||
end;
|
|
||||||
|
|
||||||
procedure TfrViewDetallesBase.actEliminarUpdate(Sender: TObject);
|
|
||||||
begin
|
|
||||||
if not Assigned(DADataSource.DataTable) then
|
|
||||||
(Sender as TAction).Enabled := False
|
|
||||||
else
|
|
||||||
(Sender as TAction).Enabled := (not ReadOnly)
|
|
||||||
and (not DADataSource.DataTable.IsEmpty)
|
|
||||||
end;
|
|
||||||
|
|
||||||
procedure TfrViewDetallesBase.actSubirUpdate(Sender: TObject);
|
|
||||||
begin
|
|
||||||
inherited;
|
|
||||||
if not Assigned(cxGridView.Controller.FocusedRow) then
|
|
||||||
(Sender as TAction).Enabled := False
|
|
||||||
else
|
|
||||||
(Sender as TAction).Enabled := (not ReadOnly)
|
|
||||||
and (not cxGridView.Controller.FocusedRow.IsFirst)
|
|
||||||
end;
|
|
||||||
|
|
||||||
procedure TfrViewDetallesBase.AjustarAncho;
|
|
||||||
begin
|
|
||||||
if Assigned(_FocusedView) then
|
|
||||||
_FocusedView.ApplyBestFit;
|
|
||||||
end;
|
|
||||||
|
|
||||||
procedure TfrViewDetallesBase.BeginUpdate;
|
|
||||||
begin
|
|
||||||
if Assigned(_FocusedView) then
|
|
||||||
_FocusedView.BeginUpdate;
|
|
||||||
end;
|
|
||||||
|
|
||||||
function TfrViewDetallesBase.darTipoLetraPorDefecto: TFont;
|
|
||||||
begin
|
|
||||||
Result := TFont.Create;
|
|
||||||
Result.Name := 'Tahoma';
|
|
||||||
Result.Size := 9;
|
|
||||||
end;
|
|
||||||
|
|
||||||
destructor TfrViewDetallesBase.Destroy;
|
|
||||||
begin
|
|
||||||
FController := NIL;
|
|
||||||
FDetalles := NIL;
|
|
||||||
|
|
||||||
if Assigned(FGridStatus) then
|
|
||||||
FreeAndNil(FGridStatus);
|
|
||||||
inherited;
|
|
||||||
end;
|
|
||||||
|
|
||||||
procedure TfrViewDetallesBase.ContraerTodo;
|
|
||||||
begin
|
|
||||||
if Assigned(_FocusedView) then
|
|
||||||
_FocusedView.ViewData.Collapse(True);
|
|
||||||
end;
|
|
||||||
|
|
||||||
function TfrViewDetallesBase.CurrText: TTextAttributes;
|
|
||||||
begin
|
|
||||||
Result := NIL;
|
|
||||||
if Assigned(CurEdit) then
|
|
||||||
// if CurEdit.FindSelection then
|
|
||||||
if CurEdit.SelLength > 0 then
|
|
||||||
Result := CurEdit.SelAttributes
|
|
||||||
else
|
|
||||||
Result := CurEdit.DefAttributes;
|
|
||||||
end;
|
|
||||||
|
|
||||||
procedure TfrViewDetallesBase.CustomViewCreate(Sender: TObject);
|
|
||||||
begin
|
|
||||||
inherited;
|
|
||||||
CurEdit := Nil;
|
|
||||||
FUpdating := False;
|
|
||||||
end;
|
|
||||||
|
|
||||||
procedure TfrViewDetallesBase.CustomViewDestroy(Sender: TObject);
|
|
||||||
begin
|
|
||||||
inherited;
|
|
||||||
CurEdit := Nil;
|
|
||||||
end;
|
|
||||||
|
|
||||||
procedure TfrViewDetallesBase.cxGridViewEditing(Sender: TcxCustomGridTableView;
|
|
||||||
AItem: TcxCustomGridTableItem; var AAllow: Boolean);
|
|
||||||
begin
|
|
||||||
AAllow := EsTipoEditable(AItem);
|
|
||||||
end;
|
|
||||||
|
|
||||||
procedure TfrViewDetallesBase.cxGridViewEditKeyDown(
|
|
||||||
Sender: TcxCustomGridTableView; AItem: TcxCustomGridTableItem;
|
|
||||||
AEdit: TcxCustomEdit; var Key: Word; Shift: TShiftState);
|
|
||||||
begin
|
|
||||||
inherited;
|
|
||||||
cxGridView.BeginUpdate;
|
|
||||||
try
|
|
||||||
Case Key of
|
|
||||||
VK_DOWN : begin
|
|
||||||
//En el caso de ser la última fila hacemos un append nosotros no el grid
|
|
||||||
//ya que se saltaria la lógica del controllerDetallesBase
|
|
||||||
if cxGridView.Controller.IsFinish then
|
|
||||||
begin
|
|
||||||
Key := 0;
|
|
||||||
if Sender.Controller.EditingController.IsEditing then
|
|
||||||
Sender.Controller.EditingController.Edit.PostEditValue;
|
|
||||||
actAnadir.Execute;
|
|
||||||
end;
|
|
||||||
|
|
||||||
//Baja los conceptos seleccionados
|
|
||||||
if Shift = [ssAlt] then
|
|
||||||
begin
|
|
||||||
Key := 0;
|
|
||||||
actBajar.Execute;
|
|
||||||
end;
|
|
||||||
end;
|
|
||||||
VK_UP : begin
|
|
||||||
//Sube los conceptos seleccionados
|
|
||||||
if Shift = [ssAlt] then
|
|
||||||
begin
|
|
||||||
Key := 0;
|
|
||||||
actSubir.Execute;
|
|
||||||
end;
|
|
||||||
end;
|
|
||||||
|
|
||||||
VK_RETURN, VK_RIGHT
|
|
||||||
: begin
|
|
||||||
//En el caso de ser la última fila hacemos un append nosotros no el grid
|
|
||||||
//ya que se saltaria la lógica del controllerDetallesBase
|
|
||||||
if cxGridView.Controller.IsFinish
|
|
||||||
and AItem.IsLast then
|
|
||||||
begin
|
|
||||||
Key := 0;
|
|
||||||
if Sender.Controller.EditingController.IsEditing then
|
|
||||||
Sender.Controller.EditingController.Edit.PostEditValue;
|
|
||||||
actAnadir.Execute;
|
|
||||||
end;
|
|
||||||
end;
|
|
||||||
end;
|
|
||||||
finally
|
|
||||||
cxGridView.EndUpdate;
|
|
||||||
end;
|
|
||||||
end;
|
|
||||||
|
|
||||||
procedure TfrViewDetallesBase.cxGridViewEditValueChanged(Sender: TcxCustomGridTableView; AItem: TcxCustomGridTableItem);
|
|
||||||
begin
|
|
||||||
inherited;
|
|
||||||
cxGridView.BeginUpdate;
|
|
||||||
try
|
|
||||||
if HayQueRecalcular(AItem) then
|
|
||||||
begin
|
|
||||||
if Sender.Controller.EditingController.IsEditing then
|
|
||||||
Sender.Controller.EditingController.Edit.PostEditValue;
|
|
||||||
|
|
||||||
Controller.actualizarTotales(Detalles);
|
|
||||||
end;
|
|
||||||
finally
|
|
||||||
cxGridView.EndUpdate;
|
|
||||||
end;
|
|
||||||
end;
|
|
||||||
|
|
||||||
procedure TfrViewDetallesBase.cxGridViewInitEdit(Sender: TcxCustomGridTableView;
|
|
||||||
AItem: TcxCustomGridTableItem; AEdit: TcxCustomEdit);
|
|
||||||
var
|
|
||||||
FuentePorDefecto: TFont;
|
|
||||||
begin
|
|
||||||
inherited;
|
|
||||||
|
|
||||||
if AEdit is TcxRichEdit then
|
|
||||||
begin
|
|
||||||
FuentePorDefecto := darTipoLetraPorDefecto;
|
|
||||||
//La primera vez que accedemos al grid entra dos veces y perderiamos el editor
|
|
||||||
//dando un pete.
|
|
||||||
if not Assigned(CurEdit) then
|
|
||||||
begin
|
|
||||||
FontEdit1.Enabled := True;
|
|
||||||
// UpDown1.Enabled := True;
|
|
||||||
// FontSize.Enabled := True;
|
|
||||||
// FontName.Enabled := True;
|
|
||||||
|
|
||||||
CurEdit := TcxRichEdit(AEdit);
|
|
||||||
if length(CurEdit.Text) = 0 then
|
|
||||||
CurEdit.DefAttributes.Assign(FuentePorDefecto)
|
|
||||||
end
|
|
||||||
else
|
|
||||||
if length(CurEdit.Text) = 0 then
|
|
||||||
CurEdit.DefAttributes.Assign(FuentePorDefecto);
|
|
||||||
|
|
||||||
FreeAndNil(FuentePorDefecto);
|
|
||||||
end
|
|
||||||
else
|
|
||||||
begin
|
|
||||||
CurEdit := Nil;
|
|
||||||
FontEdit1.Enabled := False;
|
|
||||||
// UpDown1.Enabled := False;
|
|
||||||
// FontSize.Enabled := False;
|
|
||||||
// FontName.Enabled := False;
|
|
||||||
end;
|
|
||||||
end;
|
|
||||||
|
|
||||||
procedure TfrViewDetallesBase.cxGridViewStylesGetContentStyle(
|
|
||||||
Sender: TcxCustomGridTableView; ARecord: TcxCustomGridRecord;
|
|
||||||
AItem: TcxCustomGridTableItem; out AStyle: TcxStyle);
|
|
||||||
var
|
|
||||||
IndiceCol : Integer;
|
|
||||||
ATipo : String;
|
|
||||||
begin
|
|
||||||
if Assigned(ARecord) then
|
|
||||||
begin
|
|
||||||
IndiceCol := cxGridViewTIPO.Index;
|
|
||||||
ATipo := VarToStr(ARecord.Values[IndiceCol]);
|
|
||||||
if ATipo = TIPO_DETALLE_SUBTOTAL then
|
|
||||||
AStyle := cxStyle_SUBTOTAL;
|
|
||||||
if ATipo = TIPO_DETALLE_TITULO then
|
|
||||||
AStyle := cxStyle_TITULO;
|
|
||||||
end;
|
|
||||||
end;
|
|
||||||
|
|
||||||
function TfrViewDetallesBase.darListaSeleccionados: TIntegerArray;
|
|
||||||
var
|
|
||||||
i, j: Integer;
|
|
||||||
begin
|
|
||||||
j := darPosicionCampo(CAMPO_POSICION);
|
|
||||||
|
|
||||||
with cxGridView.Controller do
|
|
||||||
for i:=0 to SelectedRecordCount-1 do
|
|
||||||
begin
|
|
||||||
SetLength(Result, i+1);
|
|
||||||
Result[i] := SelectedRecords[i].Values[j];
|
|
||||||
end;
|
|
||||||
end;
|
|
||||||
|
|
||||||
function TfrViewDetallesBase.DarPosicionCAMPO(const Nombre: String): Integer;
|
|
||||||
var
|
|
||||||
i: Integer;
|
|
||||||
begin
|
|
||||||
Result := -1;
|
|
||||||
|
|
||||||
i:=0;
|
|
||||||
while ((cxGridView.Columns[i].DataBinding.FieldName <> Nombre)
|
|
||||||
and (i < cxGridView.ColumnCount)) do
|
|
||||||
inc(i);
|
|
||||||
|
|
||||||
if (i = cxGridView.ColumnCount)
|
|
||||||
then raise Exception.Create('El campo ' + Nombre + ' no se ha encontrado en el grid (uViewDetallesBase)');
|
|
||||||
|
|
||||||
Result := i;
|
|
||||||
end;
|
|
||||||
|
|
||||||
procedure TfrViewDetallesBase.EndUpdate;
|
|
||||||
begin
|
|
||||||
if Assigned(_FocusedView) then
|
|
||||||
_FocusedView.EndUpdate;
|
|
||||||
end;
|
|
||||||
|
|
||||||
function TfrViewDetallesBase.EsTipoEditable(AItem: TcxCustomGridTableItem): Boolean;
|
|
||||||
var
|
|
||||||
IndiceCol : Integer;
|
|
||||||
begin
|
|
||||||
Result := True;
|
|
||||||
|
|
||||||
IndiceCol := cxGridView.GetColumnByFieldName(CAMPO_TIPO).Index;
|
|
||||||
if (AItem.GridView.Items[IndiceCol].EditValue = TIPO_DETALLE_SALTO) then
|
|
||||||
begin
|
|
||||||
IndiceCol := cxGridView.GetColumnByFieldName(CAMPO_CONCEPTO).Index;
|
|
||||||
if AItem.Index >= IndiceCol then
|
|
||||||
Result := False
|
|
||||||
end
|
|
||||||
else
|
|
||||||
begin
|
|
||||||
if (AItem.GridView.Items[IndiceCol].EditValue = TIPO_DETALLE_SUBTOTAL)
|
|
||||||
or (AItem.GridView.Items[IndiceCol].EditValue = TIPO_DETALLE_TITULO) then
|
|
||||||
begin
|
|
||||||
IndiceCol := cxGridView.GetColumnByFieldName(CAMPO_CONCEPTO).Index;
|
|
||||||
if AItem.Index > IndiceCol then
|
|
||||||
Result := False
|
|
||||||
end
|
|
||||||
end;
|
|
||||||
end;
|
|
||||||
|
|
||||||
procedure TfrViewDetallesBase.ExpandirTodo;
|
|
||||||
begin
|
|
||||||
if Assigned(_FocusedView) then
|
|
||||||
_FocusedView.ViewData.Expand(True);
|
|
||||||
end;
|
|
||||||
|
|
||||||
procedure TfrViewDetallesBase.FontEdit1Accept(Sender: TObject);
|
|
||||||
begin
|
|
||||||
inherited;
|
|
||||||
CurrText.Assign(FontEdit1.Dialog.Font);
|
|
||||||
end;
|
|
||||||
|
|
||||||
procedure TfrViewDetallesBase.FontEdit1BeforeExecute(Sender: TObject);
|
|
||||||
begin
|
|
||||||
inherited;
|
|
||||||
FontEdit1.Dialog.Font.Assign(CurEdit.SelAttributes);
|
|
||||||
end;
|
|
||||||
|
|
||||||
procedure TfrViewDetallesBase.FontNameChange(Sender: TObject);
|
|
||||||
begin
|
|
||||||
if FUpdating then Exit;
|
|
||||||
CurrText.Name := FontName.Items[FontName.ItemIndex];
|
|
||||||
end;
|
|
||||||
|
|
||||||
procedure TfrViewDetallesBase.FontSizeChange(Sender: TObject);
|
|
||||||
begin
|
|
||||||
if FUpdating then Exit;
|
|
||||||
CurrText.Size := StrToInt(FontSize.Text);
|
|
||||||
end;
|
|
||||||
|
|
||||||
function TfrViewDetallesBase.GetController: IControllerDetallesBase;
|
|
||||||
begin
|
|
||||||
Result := FController;
|
|
||||||
end;
|
|
||||||
|
|
||||||
function TfrViewDetallesBase.GetDetalles: IDAStronglyTypedDataTable;
|
|
||||||
begin
|
|
||||||
Result := FDetalles;
|
|
||||||
end;
|
|
||||||
|
|
||||||
function TfrViewDetallesBase.GetFocusedView: TcxGridDBTableView;
|
|
||||||
begin
|
|
||||||
Result := cxGridView;
|
|
||||||
end;
|
|
||||||
|
|
||||||
function TfrViewDetallesBase.GetGrid: TcxGrid;
|
|
||||||
begin
|
|
||||||
Result := cxGrid;
|
|
||||||
end;
|
|
||||||
|
|
||||||
function TfrViewDetallesBase.HayQueRecalcular(AItem: TcxCustomGridTableItem): Boolean;
|
|
||||||
begin
|
|
||||||
Result := (AItem = cxGridViewTIPO)
|
|
||||||
or (AItem = cxGridViewCANTIDAD)
|
|
||||||
or (AItem = cxGridViewIMPORTEUNIDAD);
|
|
||||||
end;
|
|
||||||
|
|
||||||
function TfrViewDetallesBase.IsEmpty: Boolean;
|
|
||||||
begin
|
|
||||||
Result := (_FocusedView.ViewData.RowCount < 1);
|
|
||||||
end;
|
|
||||||
|
|
||||||
procedure TfrViewDetallesBase.OnSelectChange(Sender: TObject);
|
|
||||||
begin
|
|
||||||
if (csDestroying in ComponentState) then
|
|
||||||
Exit;
|
|
||||||
|
|
||||||
try
|
|
||||||
FUpdating := True;
|
|
||||||
// FontSize.Text := IntToStr(CurEdit.SelAttributes.Size);
|
|
||||||
// FontName.FontName := CurEdit.SelAttributes.Name;
|
|
||||||
finally
|
|
||||||
FUpdating := False;
|
|
||||||
end;
|
|
||||||
end;
|
|
||||||
|
|
||||||
procedure TfrViewDetallesBase.RestoreGridStatus;
|
|
||||||
begin
|
|
||||||
if Assigned(FGridStatus) and (not IsEmpty) then
|
|
||||||
FGridStatus.Restore(_FocusedView);
|
|
||||||
end;
|
|
||||||
|
|
||||||
procedure TfrViewDetallesBase.SaveGridStatus;
|
|
||||||
begin
|
|
||||||
FreeAndNil(FGridStatus);
|
|
||||||
if not IsEmpty then
|
|
||||||
FGridStatus := TcxGridStatus.Create(_FocusedView);
|
|
||||||
end;
|
|
||||||
|
|
||||||
procedure TfrViewDetallesBase.SeleccionarRowActual;
|
|
||||||
begin
|
|
||||||
//Quitamos lo que hubiera seleccionado
|
|
||||||
cxGrid.ActiveView.DataController.ClearSelection;
|
|
||||||
with cxGrid.ActiveView.DataController do
|
|
||||||
if RowCount > 0 then
|
|
||||||
SelectRows(GetFocusedRowIndex,GetFocusedRowIndex);
|
|
||||||
end;
|
|
||||||
|
|
||||||
procedure TfrViewDetallesBase.SetController(const Value: IControllerDetallesBase);
|
|
||||||
var
|
|
||||||
AListaValores : TStringList;
|
|
||||||
AItem : TcxImageComboBoxItem;
|
|
||||||
i: integer;
|
|
||||||
DC: HDC;
|
|
||||||
begin
|
|
||||||
FController := Value;
|
|
||||||
|
|
||||||
//Rellenamos los tipos de letra que tenemos
|
|
||||||
FontName.Items.Clear;
|
|
||||||
DC := GetDC(0);
|
|
||||||
EnumFonts(DC, nil, @EnumFontsProc, Pointer(FontName.Items));
|
|
||||||
ReleaseDC(0, DC);
|
|
||||||
FontName.Sorted := True;
|
|
||||||
|
|
||||||
//Rellenamos los tipos de conceptos que hay
|
|
||||||
if Assigned(FController) then
|
|
||||||
begin
|
|
||||||
AListaValores := FController.darListaTIPOSDETALLE;
|
|
||||||
with (cxGridViewTIPO.Properties as TcxImageComboBoxProperties) do
|
|
||||||
if Items.Count = 0 then
|
|
||||||
begin
|
|
||||||
Items.BeginUpdate;
|
|
||||||
try
|
|
||||||
Items.Clear;
|
|
||||||
for i:=0 to AListaValores.Count-1 do
|
|
||||||
begin
|
|
||||||
AItem := Items.Add;
|
|
||||||
AItem.Tag := i;
|
|
||||||
AItem.Description := AListaValores.ValueFromIndex[i];
|
|
||||||
AItem.Value := AListaValores.Names[i];
|
|
||||||
end;
|
|
||||||
finally
|
|
||||||
DefaultDescription := AListaValores.ValueFromIndex[0];
|
|
||||||
FreeAndNil(AListaValores);
|
|
||||||
Items.EndUpdate;
|
|
||||||
end;
|
|
||||||
end;
|
|
||||||
end;
|
|
||||||
end;
|
|
||||||
|
|
||||||
procedure TfrViewDetallesBase.SetDetalles(const Value: IDAStronglyTypedDataTable);
|
|
||||||
begin
|
|
||||||
FDetalles := Value;
|
|
||||||
if Assigned(FDetalles) then
|
|
||||||
DADataSource.DataTable := FDetalles.DataTable
|
|
||||||
else
|
|
||||||
DADataSource.DataTable := NIL;
|
|
||||||
end;
|
|
||||||
|
|
||||||
procedure TfrViewDetallesBase.TBXItem13Click(Sender: TObject);
|
|
||||||
begin
|
|
||||||
inherited;
|
|
||||||
if cxGridView.Controller.EditingController.IsEditing then
|
|
||||||
cxGridView.Controller.EditingController.Edit.PostEditValue;
|
|
||||||
|
|
||||||
end;
|
|
||||||
|
|
||||||
procedure TfrViewDetallesBase.actAnadirUpdate(Sender: TObject);
|
|
||||||
begin
|
|
||||||
inherited;
|
|
||||||
(Sender as TAction).Enabled := not ReadOnly;
|
|
||||||
end;
|
|
||||||
|
|
||||||
procedure TfrViewDetallesBase.actAnchoAutomaticoExecute(Sender: TObject);
|
|
||||||
begin
|
|
||||||
inherited;
|
|
||||||
cxGridView.ApplyBestFit;
|
|
||||||
end;
|
|
||||||
|
|
||||||
procedure TfrViewDetallesBase.actAnchoAutomaticoUpdate(Sender: TObject);
|
|
||||||
begin
|
|
||||||
inherited;
|
|
||||||
(Sender as TAction).Enabled := not IsEmpty;
|
|
||||||
end;
|
|
||||||
|
|
||||||
procedure TfrViewDetallesBase.actBajarExecute(Sender: TObject);
|
|
||||||
begin
|
|
||||||
cxGridView.BeginUpdate;
|
|
||||||
try
|
|
||||||
if cxGridView.Controller.EditingController.IsEditing then
|
|
||||||
cxGridView.Controller.EditingController.Edit.PostEditValue;
|
|
||||||
|
|
||||||
if Assigned(Controller)
|
|
||||||
and Assigned(FDetalles) then
|
|
||||||
Controller.move(FDetalles, darListaSeleccionados, 1);
|
|
||||||
finally
|
|
||||||
cxGridView.EndUpdate;
|
|
||||||
end;
|
|
||||||
end;
|
|
||||||
|
|
||||||
procedure TfrViewDetallesBase.actBajarUpdate(Sender: TObject);
|
|
||||||
begin
|
|
||||||
inherited;
|
|
||||||
if not Assigned(cxGridView.Controller.FocusedRow) then
|
|
||||||
(Sender as TAction).Enabled := False
|
|
||||||
else
|
|
||||||
(Sender as TAction).Enabled := (not ReadOnly)
|
|
||||||
and (not cxGridView.Controller.FocusedRow.IsLast)
|
|
||||||
end;
|
|
||||||
|
|
||||||
procedure TfrViewDetallesBase.actSubirExecute(Sender: TObject);
|
|
||||||
begin
|
|
||||||
cxGridView.BeginUpdate;
|
|
||||||
try
|
|
||||||
if cxGridView.Controller.EditingController.IsEditing then
|
|
||||||
cxGridView.Controller.EditingController.Edit.PostEditValue;
|
|
||||||
|
|
||||||
if Assigned(Controller)
|
|
||||||
and Assigned(FDetalles) then
|
|
||||||
Controller.move(FDetalles, darListaSeleccionados, -1);
|
|
||||||
finally
|
|
||||||
cxGridView.EndUpdate;
|
|
||||||
end;
|
|
||||||
end;
|
|
||||||
|
|
||||||
end.
|
|
||||||
Binary file not shown.
@ -1,95 +0,0 @@
|
|||||||
inherited frViewDetallesDTO: TfrViewDetallesDTO
|
|
||||||
inherited ToolBar1: TToolBar
|
|
||||||
ButtonWidth = 110
|
|
||||||
inherited ToolButton1: TToolButton
|
|
||||||
ExplicitWidth = 109
|
|
||||||
end
|
|
||||||
inherited ToolButton2: TToolButton
|
|
||||||
Left = 109
|
|
||||||
ExplicitLeft = 109
|
|
||||||
ExplicitWidth = 114
|
|
||||||
end
|
|
||||||
inherited ToolButton3: TToolButton
|
|
||||||
Left = 223
|
|
||||||
ExplicitLeft = 223
|
|
||||||
end
|
|
||||||
inherited ToolButton4: TToolButton
|
|
||||||
Left = 278
|
|
||||||
ExplicitLeft = 278
|
|
||||||
end
|
|
||||||
inherited ToolButton14: TToolButton
|
|
||||||
Left = 334
|
|
||||||
ExplicitLeft = 334
|
|
||||||
end
|
|
||||||
end
|
|
||||||
inherited cxGrid: TcxGrid
|
|
||||||
inherited cxGridView: TcxGridDBTableView
|
|
||||||
object cxGridViewDESCUENTO: TcxGridDBColumn [6]
|
|
||||||
Caption = 'Dto'
|
|
||||||
DataBinding.FieldName = 'DESCUENTO'
|
|
||||||
PropertiesClassName = 'TcxCurrencyEditProperties'
|
|
||||||
Properties.DisplayFormat = ',0.00 %;-,0.00 %'
|
|
||||||
Properties.EditFormat = ',0.00;-,0.00'
|
|
||||||
Properties.MaxValue = 100.000000000000000000
|
|
||||||
end
|
|
||||||
object cxGridViewIMPORTENETO: TcxGridDBColumn [7]
|
|
||||||
Caption = 'Importe neto'
|
|
||||||
DataBinding.ValueType = 'Currency'
|
|
||||||
PropertiesClassName = 'TcxCurrencyEditProperties'
|
|
||||||
Properties.Alignment.Horz = taRightJustify
|
|
||||||
Properties.DisplayFormat = ',0.00 '#8364';-,0.00 '#8364
|
|
||||||
Properties.EditFormat = ',0.00 '#8364';-,0.00 '#8364
|
|
||||||
Properties.ReadOnly = True
|
|
||||||
Properties.OnValidate = cxGridViewIMPORTENETOPropertiesValidate
|
|
||||||
OnGetDisplayText = cxGridViewIMPORTENETOGetDisplayText
|
|
||||||
HeaderAlignmentHorz = taRightJustify
|
|
||||||
Options.Editing = False
|
|
||||||
end
|
|
||||||
object cxGridViewIMPORTEPORTE: TcxGridDBColumn [8]
|
|
||||||
Caption = 'Importe porte'
|
|
||||||
DataBinding.FieldName = 'IMPORTE_PORTE'
|
|
||||||
PropertiesClassName = 'TcxCurrencyEditProperties'
|
|
||||||
Properties.Alignment.Horz = taRightJustify
|
|
||||||
Properties.EditFormat = ',0.00 '#8364';-,0.00 '#8364
|
|
||||||
HeaderAlignmentHorz = taRightJustify
|
|
||||||
end
|
|
||||||
end
|
|
||||||
end
|
|
||||||
inherited TBXDock1: TTBXDock
|
|
||||||
inherited TBXToolbar1: TTBXToolbar
|
|
||||||
ExplicitWidth = 447
|
|
||||||
end
|
|
||||||
end
|
|
||||||
inherited ActionListContenido: TActionList
|
|
||||||
inherited actAnadir: TAction
|
|
||||||
Caption = 'A'#241'adir concepto'
|
|
||||||
end
|
|
||||||
inherited actEliminar: TAction
|
|
||||||
Caption = 'Eliminar concepto'
|
|
||||||
end
|
|
||||||
inherited RichEditBold1: TRichEditBold
|
|
||||||
Visible = False
|
|
||||||
end
|
|
||||||
inherited RichEditItalic1: TRichEditItalic
|
|
||||||
Visible = False
|
|
||||||
end
|
|
||||||
inherited RichEditUnderline1: TRichEditUnderline
|
|
||||||
Visible = False
|
|
||||||
end
|
|
||||||
inherited RichEditAlignLeft1: TRichEditAlignLeft
|
|
||||||
Visible = False
|
|
||||||
end
|
|
||||||
inherited RichEditAlignCenter1: TRichEditAlignCenter
|
|
||||||
Visible = False
|
|
||||||
end
|
|
||||||
inherited RichEditAlignRight1: TRichEditAlignRight
|
|
||||||
Visible = False
|
|
||||||
end
|
|
||||||
inherited FontEdit1: TFontEdit
|
|
||||||
Visible = False
|
|
||||||
end
|
|
||||||
inherited RichEditAlignRight2: TRichEditAlignRight
|
|
||||||
Visible = False
|
|
||||||
end
|
|
||||||
end
|
|
||||||
end
|
|
||||||
@ -1,75 +0,0 @@
|
|||||||
unit uViewDetallesDTO;
|
|
||||||
|
|
||||||
interface
|
|
||||||
|
|
||||||
uses
|
|
||||||
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
|
|
||||||
Dialogs, uViewDetallesBase, cxStyles, cxCustomData, cxGraphics, cxFilter,
|
|
||||||
cxData, cxDataStorage, cxEdit, DB, cxDBData, cxImageComboBox, cxRichEdit,
|
|
||||||
cxMaskEdit, cxCurrencyEdit, cxCheckBox, ImgList, PngImageList, uDADataTable,
|
|
||||||
StdActns, ExtActns, ActnList, TB2Item, TBX, TB2Dock, TB2Toolbar, cxGridLevel,
|
|
||||||
cxGridCustomTableView, cxGridTableView, cxGridDBTableView, cxClasses,
|
|
||||||
cxControls, cxGridCustomView, cxGrid, ComCtrls, StdCtrls, JvExStdCtrls,
|
|
||||||
JvCombobox, JvColorCombo, ToolWin;
|
|
||||||
|
|
||||||
type
|
|
||||||
IViewDetallesDTO = interface(IViewDetallesBase)
|
|
||||||
['{0D221FFB-9F43-48FC-9AE7-0AD0F0791AD1}']
|
|
||||||
end;
|
|
||||||
|
|
||||||
TfrViewDetallesDTO = class(TfrViewDetallesBase, IViewDetallesDTO)
|
|
||||||
cxGridViewDESCUENTO: TcxGridDBColumn;
|
|
||||||
cxGridViewIMPORTEPORTE: TcxGridDBColumn;
|
|
||||||
cxGridViewIMPORTENETO: TcxGridDBColumn;
|
|
||||||
procedure cxGridViewIMPORTENETOGetDisplayText(Sender: TcxCustomGridTableItem; ARecord: TcxCustomGridRecord;
|
|
||||||
var AText: string);
|
|
||||||
procedure cxGridViewIMPORTENETOPropertiesValidate(Sender: TObject;
|
|
||||||
var DisplayValue: Variant; var ErrorText: TCaption; var Error: Boolean);
|
|
||||||
protected
|
|
||||||
function HayQueRecalcular(AItem: TcxCustomGridTableItem): Boolean; override;
|
|
||||||
end;
|
|
||||||
|
|
||||||
implementation
|
|
||||||
{$R *.dfm}
|
|
||||||
|
|
||||||
{ TfrViewDetallesDTO }
|
|
||||||
|
|
||||||
procedure TfrViewDetallesDTO.cxGridViewIMPORTENETOGetDisplayText(Sender: TcxCustomGridTableItem; ARecord: TcxCustomGridRecord;
|
|
||||||
var AText: string);
|
|
||||||
var
|
|
||||||
ImporteNeto : Double;
|
|
||||||
begin
|
|
||||||
//Se encarga de mostrar el campo calculado de importe neto
|
|
||||||
ImporteNeto := -1;
|
|
||||||
|
|
||||||
if not VarIsNull(ARecord.Values[cxGridViewIMPORTEUNIDAD.Index]) then
|
|
||||||
if not VarIsNull(ARecord.Values[cxGridViewDESCUENTO.Index]) then
|
|
||||||
ImporteNeto := ARecord.Values[cxGridViewIMPORTEUNIDAD.Index] - ((ARecord.Values[cxGridViewIMPORTEUNIDAD.Index] * ARecord.Values[cxGridViewDESCUENTO.Index])/100)
|
|
||||||
else
|
|
||||||
ImporteNeto := ARecord.Values[cxGridViewIMPORTEUNIDAD.Index];
|
|
||||||
|
|
||||||
if (ImporteNeto <> -1) then
|
|
||||||
begin
|
|
||||||
AText := FormatCurr(',0.00 €;-,0.00 €', FloatToCurr(ImporteNeto))
|
|
||||||
end;
|
|
||||||
end;
|
|
||||||
|
|
||||||
procedure TfrViewDetallesDTO.cxGridViewIMPORTENETOPropertiesValidate(Sender: TObject; var DisplayValue: Variant; var ErrorText: TCaption;
|
|
||||||
var Error: Boolean);
|
|
||||||
begin
|
|
||||||
inherited;
|
|
||||||
if not VarIsNull(DisplayValue) then
|
|
||||||
begin
|
|
||||||
cxGridViewDESCUENTO.DataBinding.Field.Value := ((cxGridViewIMPORTEUNIDAD.DataBinding.Field.Value - DisplayValue) * 100) / cxGridViewIMPORTEUNIDAD.DataBinding.Field.Value;
|
|
||||||
Controller.ActualizarTotales(Detalles);
|
|
||||||
end;
|
|
||||||
end;
|
|
||||||
|
|
||||||
function TfrViewDetallesDTO.HayQueRecalcular(AItem: TcxCustomGridTableItem): Boolean;
|
|
||||||
begin
|
|
||||||
Result := inherited HayQueRecalcular(AItem);
|
|
||||||
if not Result then
|
|
||||||
Result := (AItem = cxGridViewDESCUENTO) or (AItem = cxGridViewIMPORTEPORTE);
|
|
||||||
end;
|
|
||||||
|
|
||||||
end.
|
|
||||||
Binary file not shown.
@ -1,238 +0,0 @@
|
|||||||
inherited frViewDetallesGenerico: TfrViewDetallesGenerico
|
|
||||||
Width = 503
|
|
||||||
Height = 357
|
|
||||||
ExplicitWidth = 503
|
|
||||||
ExplicitHeight = 357
|
|
||||||
object cxGrid: TcxGrid
|
|
||||||
Left = 0
|
|
||||||
Top = 25
|
|
||||||
Width = 503
|
|
||||||
Height = 332
|
|
||||||
Align = alClient
|
|
||||||
TabOrder = 0
|
|
||||||
LookAndFeel.Kind = lfOffice11
|
|
||||||
LookAndFeel.NativeStyle = True
|
|
||||||
object cxGridView: TcxGridDBTableView
|
|
||||||
NavigatorButtons.ConfirmDelete = False
|
|
||||||
FilterBox.Visible = fvNever
|
|
||||||
OnEditKeyDown = cxGridViewEditKeyDown
|
|
||||||
DataController.DataSource = dsDetalles
|
|
||||||
DataController.Filter.Options = [fcoCaseInsensitive]
|
|
||||||
DataController.KeyFieldNames = 'ID'
|
|
||||||
DataController.Options = [dcoAnsiSort, dcoAssignGroupingValues, dcoAssignMasterDetailKeys, dcoSaveExpanding, dcoFocusTopRowAfterSorting, dcoImmediatePost]
|
|
||||||
DataController.Summary.DefaultGroupSummaryItems = <>
|
|
||||||
DataController.Summary.FooterSummaryItems = <>
|
|
||||||
DataController.Summary.SummaryGroups = <>
|
|
||||||
OptionsBehavior.AlwaysShowEditor = True
|
|
||||||
OptionsBehavior.CellHints = True
|
|
||||||
OptionsBehavior.FocusCellOnTab = True
|
|
||||||
OptionsBehavior.GoToNextCellOnEnter = True
|
|
||||||
OptionsBehavior.BestFitMaxRecordCount = 20
|
|
||||||
OptionsBehavior.FocusCellOnCycle = True
|
|
||||||
OptionsCustomize.ColumnFiltering = False
|
|
||||||
OptionsCustomize.ColumnGrouping = False
|
|
||||||
OptionsCustomize.ColumnMoving = False
|
|
||||||
OptionsCustomize.ColumnSorting = False
|
|
||||||
OptionsCustomize.DataRowSizing = True
|
|
||||||
OptionsData.Appending = True
|
|
||||||
OptionsData.CancelOnExit = False
|
|
||||||
OptionsSelection.MultiSelect = True
|
|
||||||
OptionsSelection.UnselectFocusedRecordOnExit = False
|
|
||||||
OptionsView.CellEndEllipsis = True
|
|
||||||
OptionsView.CellAutoHeight = True
|
|
||||||
OptionsView.ColumnAutoWidth = True
|
|
||||||
OptionsView.GridLineColor = cl3DLight
|
|
||||||
OptionsView.GroupByBox = False
|
|
||||||
OptionsView.HeaderEndEllipsis = True
|
|
||||||
OptionsView.Indicator = True
|
|
||||||
object cxGridViewID: TcxGridDBColumn
|
|
||||||
DataBinding.FieldName = 'ID'
|
|
||||||
Visible = False
|
|
||||||
end
|
|
||||||
end
|
|
||||||
object cxGridLevel: TcxGridLevel
|
|
||||||
GridView = cxGridView
|
|
||||||
end
|
|
||||||
end
|
|
||||||
object ToolBar1: TToolBar
|
|
||||||
Left = 0
|
|
||||||
Top = 0
|
|
||||||
Width = 503
|
|
||||||
Height = 25
|
|
||||||
ButtonWidth = 113
|
|
||||||
Caption = 'ToolBar1'
|
|
||||||
EdgeInner = esNone
|
|
||||||
EdgeOuter = esNone
|
|
||||||
Flat = False
|
|
||||||
Images = ContenidoImageList
|
|
||||||
List = True
|
|
||||||
ParentShowHint = False
|
|
||||||
ShowCaptions = True
|
|
||||||
ShowHint = True
|
|
||||||
TabOrder = 1
|
|
||||||
Transparent = True
|
|
||||||
object ToolButton1: TToolButton
|
|
||||||
Left = 0
|
|
||||||
Top = 2
|
|
||||||
Action = actAnadir
|
|
||||||
AutoSize = True
|
|
||||||
end
|
|
||||||
object ToolButton4: TToolButton
|
|
||||||
Left = 62
|
|
||||||
Top = 2
|
|
||||||
Action = actModificar
|
|
||||||
AutoSize = True
|
|
||||||
end
|
|
||||||
object ToolButton5: TToolButton
|
|
||||||
Left = 136
|
|
||||||
Top = 2
|
|
||||||
Width = 8
|
|
||||||
Caption = 'ToolButton5'
|
|
||||||
ImageIndex = 2
|
|
||||||
Style = tbsSeparator
|
|
||||||
end
|
|
||||||
object ToolButton2: TToolButton
|
|
||||||
Left = 144
|
|
||||||
Top = 2
|
|
||||||
Action = actEliminar
|
|
||||||
AutoSize = True
|
|
||||||
end
|
|
||||||
object ToolButton6: TToolButton
|
|
||||||
Left = 211
|
|
||||||
Top = 2
|
|
||||||
Width = 8
|
|
||||||
Caption = 'ToolButton6'
|
|
||||||
ImageIndex = 2
|
|
||||||
Style = tbsSeparator
|
|
||||||
end
|
|
||||||
object ToolButton7: TToolButton
|
|
||||||
Left = 219
|
|
||||||
Top = 2
|
|
||||||
Action = actAnchoAutomatico
|
|
||||||
AutoSize = True
|
|
||||||
end
|
|
||||||
end
|
|
||||||
object dsDetalles: TDADataSource
|
|
||||||
Left = 40
|
|
||||||
Top = 144
|
|
||||||
end
|
|
||||||
object ContenidoImageList: TPngImageList
|
|
||||||
PngImages = <
|
|
||||||
item
|
|
||||||
PngImage.Data = {
|
|
||||||
89504E470D0A1A0A0000000D49484452000000100000001008060000001FF3FF
|
|
||||||
610000000970485973000017120000171201679FD252000000F84944415478DA
|
|
||||||
63FCFFFF3F03084C59BC03C2200072E33C19616C905E46640372623DF06A06AA
|
|
||||||
6198B77413C3F99DD3194936E0DFBF7F0CD396EE62D051576128AAEB031B42B4
|
|
||||||
0120CDBFFFFC6398BD720F43B0A70DC3CD7B2FC0869CDB318D91A00130CDBF7F
|
|
||||||
FF6558B06E3FD80B3040D00064CDBFFF40F0AA6D47C1722083F01A804D3304FF
|
|
||||||
63D8B2EF147E03F06906D13B0F9DC56D0058E16F540D20FC07C607CA1D387911
|
|
||||||
BB01E991AE043583F847CF5EC16E4052881341CD207CEAE275EC06C406D813D4
|
|
||||||
0CC2E7AFDEC26E40848F2D41CD20B12B37EF603720D8C38AA06610C069809F8B
|
|
||||||
39C3A63D2789C994D80D404EA6C400900100F58BBFF09BC1E25C000000004945
|
|
||||||
4E44AE426082}
|
|
||||||
Name = 'PngImage0'
|
|
||||||
Background = clWindow
|
|
||||||
end
|
|
||||||
item
|
|
||||||
PngImage.Data = {
|
|
||||||
89504E470D0A1A0A0000000D49484452000000100000001008060000001FF3FF
|
|
||||||
61000000097048597300000AEB00000AEB01828B0D5A000002854944415478DA
|
|
||||||
A5935D48536118C7FFAFDB8CCD557E7F34B33167F9119617A91596495D781304
|
|
||||||
451021A651362821B1ABA49B6EA4460961D88542055D84DD6545415992174994
|
|
||||||
9625CC8F9C329D9B5F3BE9CED9D9797BCEA1C932A3A0079EC3CBE13CBFE7FF7F
|
|
||||||
9FF330CE39FE2798FAB80BA4E61559EB2551E67B07279AE8D51FA98F2CC99546
|
|
||||||
031A3D6E5FF329993F631D80B52227A6D7929F9BAEA459D1D73BE8DC3330D6B8
|
|
||||||
1AD206641414DA5A6224E1E8ECA47779660955D532EF642F1371BD74331A14FA
|
|
||||||
9C27A4439F5D88777DAE1B65FD230D11485786B9363D65FD35C1EB4B9817427E
|
|
||||||
9F80C335C05BD53E23B2A934132FB23662B71406C2B14698F38AF0E9EB9473E8
|
|
||||||
E3C8655BD686D6F858A5DA3F27B04511E37E0195B5C0A00AD6003FE5259758F0
|
|
||||||
3AD1843C15125218CCB6AD707FF34EAC93973217041154ECF608D8770E188BD8
|
|
||||||
5A01A8A1DEC5F60CF4980CB0A890E8A47AFFF477EC3F037C8EBE975F006ADC37
|
|
||||||
60A7351E3D061DE222C522A5270047AD82DBAB27B21AC09EDA373525E9A52BCB
|
|
||||||
7E5F4CB4822509BE80848AB3C0C09A806380EE7CA1BDC55EB4CDE17AF2984932
|
|
||||||
75A60CCA088739742A84CE1E49C1010730F41BA03B27CD595C517CB1FFF92B04
|
|
||||||
E6035AF142101DCB12DA743AB413243FA468331D0F01E51780D1154057AAF148
|
|
||||||
D92E7BE794778E8DB92634C901116FA6451CAA27214EC06802AE5227AA839ED2
|
|
||||||
45A0729AC6A406182DD9329C10A7B7F57D18D63A93DF99D92076905F4FB4DF56
|
|
||||||
A08C20ED9476027CD1209C7BD9FBDC947BC1C0E2C9596A4B003E27E2F8E9301E
|
|
||||||
AEB507B700334968A6631D019C759C5F627780822413BA194312CDFB41958C13
|
|
||||||
7FDB4052739000430ECEDD913F313B568F9B8B326AC8F7CCBFAEB27A073F0058
|
|
||||||
5538F0EAB25B380000000049454E44AE426082}
|
|
||||||
Name = 'PngImage1'
|
|
||||||
Background = clWindow
|
|
||||||
end
|
|
||||||
item
|
|
||||||
PngImage.Data = {
|
|
||||||
89504E470D0A1A0A0000000D49484452000000100000001008060000001FF3FF
|
|
||||||
610000000970485973000017120000171201679FD2520000015D4944415478DA
|
|
||||||
63FCFFFF3F03082CDD7212C22000627C2D1891F98CC80644FB98E3D50C54C3D0
|
|
||||||
3B6521C3F99DD3194936E0DFBF7F0CCBB79D6690161366B04C57058B715C6060
|
|
||||||
24CA0090E6DF7FFE31ACD9759621A4D68281352A97E1F7B2C90C8B2E10E10298
|
|
||||||
E6DFBFFF325C5DC2C1F044E912C39B4B4B19984A3AB17BC171E64DACAEE860D0
|
|
||||||
60D0F399C2F0F2D636868587CC18A41A1A18D218F07801DD669866100E699161
|
|
||||||
10D5F6050726411720DB0CD35CDE369B61DED24DD80DF8FDE72FD856107D6319
|
|
||||||
1786E6ED7B4F311C387911BB01611E260C6E73EF80F9110C1F180C182C18C4D5
|
|
||||||
BC5034830C3E7AF60A7603029D0D212E00FA7DEDAA2B0C2D2D210C6B6A9EA068
|
|
||||||
06E15317AF6337C0C75E8F2160D92330FF4E8B0B838B4B0D985D5CE907D70CC2
|
|
||||||
E7AFDEC26E80BBB50E5CD11FA84B60E181C0FF18AEDCBC83DD0027734D829A41
|
|
||||||
00A701B6C66A0C9BF69C24265362370094D348012003002CB76B52FA97B19500
|
|
||||||
00000049454E44AE426082}
|
|
||||||
Name = 'PngImage2'
|
|
||||||
Background = clWindow
|
|
||||||
end
|
|
||||||
item
|
|
||||||
PngImage.Data = {
|
|
||||||
89504E470D0A1A0A0000000D49484452000000100000001008060000001FF3FF
|
|
||||||
610000000970485973000017120000171201679FD252000001124944415478DA
|
|
||||||
63FCFFFF3F03258091620340848147C2FF0B3B1630A24B1223CE08E20CAC0B28
|
|
||||||
0A0098010B361C807BE3E7CF5F0C5FBF7D63F8F2ED3B98D65455C62ADE599ACC
|
|
||||||
886240BCBF3D58E19FBFFF18BE7DFFC5F0EDC72F86D6A98B1826D7E760159FD2
|
|
||||||
908B69C0EF3F7F810A7E337C072ABC71FF15C3FC556B1916F69463155FD45B81
|
|
||||||
3060DAF21DFF93835D18BEFF80D8F0FDC71F8647CFDF334C9CB38061E5D446AC
|
|
||||||
E21B66B7220CE89AB3EE7F6AA80754D16F862F409BDE7FFCC6D0D43F8561DDCC
|
|
||||||
76ACE2FB574C4418503771F1FFB4085F86DB0F5EA3847049633BC3C6F97D58C5
|
|
||||||
CF6E9B8730A0A86DE6FF6FC0D0FDF4F90BC3E72F5FA1F417867FFFFE33589818
|
|
||||||
601587A78381CF4C941A00005C20FBD97F751C0A0000000049454E44AE426082}
|
|
||||||
Name = 'PngImage3'
|
|
||||||
Background = clWindow
|
|
||||||
end>
|
|
||||||
Left = 40
|
|
||||||
Top = 112
|
|
||||||
Bitmap = {}
|
|
||||||
end
|
|
||||||
object ActionListContenido: TActionList
|
|
||||||
Images = ContenidoImageList
|
|
||||||
Left = 40
|
|
||||||
Top = 80
|
|
||||||
object actAnadir: TAction
|
|
||||||
Category = 'Operaciones'
|
|
||||||
Caption = 'A'#241'adir'
|
|
||||||
ImageIndex = 0
|
|
||||||
ShortCut = 45
|
|
||||||
OnExecute = actAnadirExecute
|
|
||||||
OnUpdate = actAnadirUpdate
|
|
||||||
end
|
|
||||||
object actEliminar: TAction
|
|
||||||
Category = 'Operaciones'
|
|
||||||
Caption = 'Eliminar'
|
|
||||||
ImageIndex = 1
|
|
||||||
ShortCut = 16430
|
|
||||||
OnExecute = actEliminarExecute
|
|
||||||
OnUpdate = actEliminarUpdate
|
|
||||||
end
|
|
||||||
object actModificar: TAction
|
|
||||||
Category = 'Operaciones'
|
|
||||||
Caption = 'Modificar'
|
|
||||||
ImageIndex = 2
|
|
||||||
OnExecute = actModificarExecute
|
|
||||||
OnUpdate = actModificarUpdate
|
|
||||||
end
|
|
||||||
object actAnchoAutomatico: TAction
|
|
||||||
Category = 'Operaciones'
|
|
||||||
Caption = 'Ancho autom'#225'tico'
|
|
||||||
ImageIndex = 3
|
|
||||||
OnExecute = actAnchoAutomaticoExecute
|
|
||||||
end
|
|
||||||
end
|
|
||||||
end
|
|
||||||
@ -1,206 +0,0 @@
|
|||||||
unit uViewDetallesGenerico;
|
|
||||||
|
|
||||||
interface
|
|
||||||
|
|
||||||
uses
|
|
||||||
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
|
|
||||||
Dialogs, uViewBase, cxStyles, cxCustomData, cxGraphics, cxFilter, cxData,
|
|
||||||
cxDataStorage, cxEdit, DB, cxDBData, cxTextEdit, ActnList, ImgList,
|
|
||||||
PngImageList, uDADataTable, ComCtrls, ToolWin, cxGridLevel,
|
|
||||||
cxGridCustomTableView, cxGridTableView, cxGridDBTableView, cxClasses,
|
|
||||||
cxControls, cxGridCustomView, cxGrid, uDAInterfaces;
|
|
||||||
|
|
||||||
type
|
|
||||||
TfrViewDetallesGenerico = class(TfrViewBase)
|
|
||||||
cxGrid: TcxGrid;
|
|
||||||
cxGridView: TcxGridDBTableView;
|
|
||||||
cxGridViewID: TcxGridDBColumn;
|
|
||||||
cxGridLevel: TcxGridLevel;
|
|
||||||
ToolBar1: TToolBar;
|
|
||||||
ToolButton1: TToolButton;
|
|
||||||
ToolButton2: TToolButton;
|
|
||||||
dsDetalles: TDADataSource;
|
|
||||||
ContenidoImageList: TPngImageList;
|
|
||||||
ActionListContenido: TActionList;
|
|
||||||
actAnadir: TAction;
|
|
||||||
actEliminar: TAction;
|
|
||||||
ToolButton4: TToolButton;
|
|
||||||
actModificar: TAction;
|
|
||||||
ToolButton5: TToolButton;
|
|
||||||
ToolButton6: TToolButton;
|
|
||||||
actAnchoAutomatico: TAction;
|
|
||||||
ToolButton7: TToolButton;
|
|
||||||
procedure cxGridViewEditKeyDown(Sender: TcxCustomGridTableView;
|
|
||||||
AItem: TcxCustomGridTableItem; AEdit: TcxCustomEdit; var Key: Word;
|
|
||||||
Shift: TShiftState);
|
|
||||||
procedure actAnadirExecute(Sender: TObject);
|
|
||||||
procedure actEliminarExecute(Sender: TObject);
|
|
||||||
procedure actEliminarUpdate(Sender: TObject);
|
|
||||||
procedure actAnadirUpdate(Sender: TObject);
|
|
||||||
procedure actAnchoAutomaticoExecute(Sender: TObject);
|
|
||||||
procedure actModificarUpdate(Sender: TObject);
|
|
||||||
procedure actModificarExecute(Sender: TObject);
|
|
||||||
protected
|
|
||||||
function HayDatos : Boolean;
|
|
||||||
procedure AnadirInterno; virtual;
|
|
||||||
procedure ModificarInterno; virtual;
|
|
||||||
procedure EliminarInterno; virtual;
|
|
||||||
|
|
||||||
function GetModified: Boolean; override;
|
|
||||||
end;
|
|
||||||
|
|
||||||
implementation
|
|
||||||
|
|
||||||
{$R *.dfm}
|
|
||||||
|
|
||||||
uses
|
|
||||||
uDataTableUtils;
|
|
||||||
|
|
||||||
procedure TfrViewDetallesGenerico.actAnadirExecute(Sender: TObject);
|
|
||||||
var
|
|
||||||
bEsMultiSelect : Boolean;
|
|
||||||
begin
|
|
||||||
// Debo quitar el multiselect porque provoca que se quede seleccionado
|
|
||||||
// el registro actual y no el nuevo registro que voy a añadir
|
|
||||||
bEsMultiSelect := cxGridView.OptionsSelection.MultiSelect;
|
|
||||||
if bEsMultiSelect then
|
|
||||||
cxGridView.OptionsSelection.MultiSelect := False;
|
|
||||||
|
|
||||||
cxGridView.BeginUpdate;
|
|
||||||
try
|
|
||||||
if cxGridView.Controller.EditingController.IsEditing then
|
|
||||||
cxGridView.Controller.EditingController.Edit.PostEditValue;
|
|
||||||
|
|
||||||
AnadirInterno;
|
|
||||||
finally
|
|
||||||
cxGridView.EndUpdate;
|
|
||||||
|
|
||||||
// Dejo la propiedad MultiSelect como estaba
|
|
||||||
if bEsMultiSelect then
|
|
||||||
cxGridView.OptionsSelection.MultiSelect := bEsMultiSelect;
|
|
||||||
end;
|
|
||||||
end;
|
|
||||||
|
|
||||||
procedure TfrViewDetallesGenerico.actAnadirUpdate(Sender: TObject);
|
|
||||||
begin
|
|
||||||
inherited;
|
|
||||||
(Sender as TAction).Enabled := Assigned(dsDetalles.DataTable);
|
|
||||||
end;
|
|
||||||
|
|
||||||
procedure TfrViewDetallesGenerico.actAnchoAutomaticoExecute(Sender: TObject);
|
|
||||||
begin
|
|
||||||
inherited;
|
|
||||||
cxGridView.ApplyBestFit;
|
|
||||||
end;
|
|
||||||
|
|
||||||
procedure TfrViewDetallesGenerico.actEliminarExecute(Sender: TObject);
|
|
||||||
var
|
|
||||||
AuxTop, AuxRow:Integer;
|
|
||||||
begin
|
|
||||||
cxGridView.BeginUpdate;
|
|
||||||
AuxTop := cxGridView.Controller.TopRowIndex;
|
|
||||||
AuxRow := cxGridView.DataController.FocusedRowIndex;
|
|
||||||
try
|
|
||||||
EliminarInterno;
|
|
||||||
|
|
||||||
//Selecciona en el grid el registro siguiente
|
|
||||||
if (AuxRow < cxGridView.DataController.RowCount-1) then
|
|
||||||
Inc(AuxRow)
|
|
||||||
else
|
|
||||||
Dec(AuxRow);
|
|
||||||
|
|
||||||
if dsDetalles.DataTable.RecordCount > 0 then
|
|
||||||
begin
|
|
||||||
cxGridView.DataController.SelectRows(AuxRow,AuxRow);
|
|
||||||
cxGridView.Controller.TopRowIndex := AuxTop;
|
|
||||||
end;
|
|
||||||
finally
|
|
||||||
cxGridView.EndUpdate;
|
|
||||||
end;
|
|
||||||
end;
|
|
||||||
|
|
||||||
procedure TfrViewDetallesGenerico.actEliminarUpdate(Sender: TObject);
|
|
||||||
begin
|
|
||||||
inherited;
|
|
||||||
(Sender as TAction).Enabled := HayDatos;
|
|
||||||
end;
|
|
||||||
|
|
||||||
procedure TfrViewDetallesGenerico.actModificarExecute(Sender: TObject);
|
|
||||||
begin
|
|
||||||
inherited;
|
|
||||||
ModificarInterno;
|
|
||||||
end;
|
|
||||||
|
|
||||||
procedure TfrViewDetallesGenerico.actModificarUpdate(Sender: TObject);
|
|
||||||
begin
|
|
||||||
inherited;
|
|
||||||
(Sender as TAction).Enabled := HayDatos and
|
|
||||||
(cxGridView.DataController.FocusedRowIndex >= 0)
|
|
||||||
end;
|
|
||||||
|
|
||||||
procedure TfrViewDetallesGenerico.AnadirInterno;
|
|
||||||
begin
|
|
||||||
dsDetalles.DataTable.Insert;
|
|
||||||
end;
|
|
||||||
|
|
||||||
procedure TfrViewDetallesGenerico.cxGridViewEditKeyDown(
|
|
||||||
Sender: TcxCustomGridTableView; AItem: TcxCustomGridTableItem;
|
|
||||||
AEdit: TcxCustomEdit; var Key: Word; Shift: TShiftState);
|
|
||||||
begin
|
|
||||||
inherited;
|
|
||||||
cxGridView.BeginUpdate;
|
|
||||||
try
|
|
||||||
Case Key of
|
|
||||||
VK_DOWN : begin
|
|
||||||
//En el caso de ser la última fila hacemos un append nosotros no el grid
|
|
||||||
//ya que se saltaria la lógica del controllerDetallesBase
|
|
||||||
if cxGridView.Controller.IsFinish then
|
|
||||||
begin
|
|
||||||
Key := 0;
|
|
||||||
if Sender.Controller.EditingController.IsEditing then
|
|
||||||
Sender.Controller.EditingController.Edit.PostEditValue;
|
|
||||||
actAnadir.Execute;
|
|
||||||
end;
|
|
||||||
end;
|
|
||||||
|
|
||||||
VK_RETURN, VK_RIGHT
|
|
||||||
: begin
|
|
||||||
//En el caso de ser la última fila hacemos un append nosotros no el grid
|
|
||||||
//ya que se saltaria la lógica del controllerDetallesBase
|
|
||||||
if cxGridView.Controller.IsFinish
|
|
||||||
and AItem.IsLast then
|
|
||||||
begin
|
|
||||||
Key := 0;
|
|
||||||
if Sender.Controller.EditingController.IsEditing then
|
|
||||||
Sender.Controller.EditingController.Edit.PostEditValue;
|
|
||||||
actAnadir.Execute;
|
|
||||||
end;
|
|
||||||
end;
|
|
||||||
end;
|
|
||||||
finally
|
|
||||||
cxGridView.EndUpdate;
|
|
||||||
end;
|
|
||||||
end;
|
|
||||||
|
|
||||||
procedure TfrViewDetallesGenerico.EliminarInterno;
|
|
||||||
begin
|
|
||||||
dsDetalles.DataTable.Delete;
|
|
||||||
end;
|
|
||||||
|
|
||||||
function TfrViewDetallesGenerico.GetModified: Boolean;
|
|
||||||
begin
|
|
||||||
Result := DataTableModified(dsDetalles.DataTable) or inherited GetModified;
|
|
||||||
end;
|
|
||||||
|
|
||||||
function TfrViewDetallesGenerico.HayDatos: Boolean;
|
|
||||||
begin
|
|
||||||
Result := Assigned(dsDetalles.DataTable) and
|
|
||||||
(cxGridView.ViewInfo.VisibleRecordCount > 0)
|
|
||||||
end;
|
|
||||||
|
|
||||||
procedure TfrViewDetallesGenerico.ModificarInterno;
|
|
||||||
begin
|
|
||||||
//
|
|
||||||
end;
|
|
||||||
|
|
||||||
end.
|
|
||||||
Binary file not shown.
@ -1,200 +0,0 @@
|
|||||||
object frViewFiltroBase: TfrViewFiltroBase
|
|
||||||
Left = 0
|
|
||||||
Top = 0
|
|
||||||
Width = 565
|
|
||||||
Height = 102
|
|
||||||
TabOrder = 0
|
|
||||||
Visible = False
|
|
||||||
object TBXDockablePanel1: TTBXDockablePanel
|
|
||||||
Left = 0
|
|
||||||
Top = 0
|
|
||||||
Align = alClient
|
|
||||||
Caption = 'TBXDockablePanel1'
|
|
||||||
CloseButton = False
|
|
||||||
CloseButtonWhenDocked = False
|
|
||||||
DockedHeight = 98
|
|
||||||
DockMode = dmCannotFloatOrChangeDocks
|
|
||||||
FloatingWidth = 128
|
|
||||||
FloatingHeight = 98
|
|
||||||
ShowCaption = False
|
|
||||||
ShowCaptionWhenDocked = False
|
|
||||||
SupportedDocks = [dkStandardDock, dkMultiDock]
|
|
||||||
TabOrder = 0
|
|
||||||
ExplicitWidth = 128
|
|
||||||
ExplicitHeight = 98
|
|
||||||
object dxLayoutControl1: TdxLayoutControl
|
|
||||||
Left = 0
|
|
||||||
Top = 0
|
|
||||||
Width = 565
|
|
||||||
Height = 68
|
|
||||||
Align = alTop
|
|
||||||
ParentBackground = True
|
|
||||||
TabOrder = 0
|
|
||||||
AutoContentSizes = [acsWidth, acsHeight]
|
|
||||||
ExplicitWidth = 128
|
|
||||||
object txtFiltroTodo: TcxTextEdit
|
|
||||||
Left = 87
|
|
||||||
Top = 10
|
|
||||||
Properties.OnChange = OnCamposFiltroChange
|
|
||||||
Style.BorderColor = clWindowFrame
|
|
||||||
Style.BorderStyle = ebs3D
|
|
||||||
Style.HotTrack = False
|
|
||||||
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
|
|
||||||
Width = 273
|
|
||||||
end
|
|
||||||
object edtFechaIniFiltro: TcxDateEdit
|
|
||||||
Left = 87
|
|
||||||
Top = 37
|
|
||||||
Properties.OnChange = OnCamposFiltroChange
|
|
||||||
Style.BorderColor = clWindowFrame
|
|
||||||
Style.BorderStyle = ebs3D
|
|
||||||
Style.HotTrack = False
|
|
||||||
Style.LookAndFeel.Kind = lfStandard
|
|
||||||
Style.LookAndFeel.NativeStyle = True
|
|
||||||
Style.ButtonStyle = bts3D
|
|
||||||
Style.PopupBorderStyle = epbsFrame3D
|
|
||||||
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 = 1
|
|
||||||
Width = 121
|
|
||||||
end
|
|
||||||
object edtFechaFinFiltro: TcxDateEdit
|
|
||||||
Left = 350
|
|
||||||
Top = 37
|
|
||||||
Properties.OnChange = OnCamposFiltroChange
|
|
||||||
Style.BorderColor = clWindowFrame
|
|
||||||
Style.BorderStyle = ebs3D
|
|
||||||
Style.HotTrack = False
|
|
||||||
Style.LookAndFeel.Kind = lfStandard
|
|
||||||
Style.LookAndFeel.NativeStyle = True
|
|
||||||
Style.ButtonStyle = bts3D
|
|
||||||
Style.PopupBorderStyle = epbsFrame3D
|
|
||||||
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 = 2
|
|
||||||
Width = 121
|
|
||||||
end
|
|
||||||
object dxLayoutControl1Group_Root: TdxLayoutGroup
|
|
||||||
ShowCaption = False
|
|
||||||
Hidden = True
|
|
||||||
ShowBorder = False
|
|
||||||
object dxLayoutControl1Item1: TdxLayoutItem
|
|
||||||
Caption = 'Que contenga:'
|
|
||||||
Control = txtFiltroTodo
|
|
||||||
ControlOptions.ShowBorder = False
|
|
||||||
end
|
|
||||||
object dxLayoutControl1Group1: TdxLayoutGroup
|
|
||||||
ShowCaption = False
|
|
||||||
Hidden = True
|
|
||||||
LayoutDirection = ldHorizontal
|
|
||||||
ShowBorder = False
|
|
||||||
object dxLayoutControl1Item2: TdxLayoutItem
|
|
||||||
AutoAligns = [aaVertical]
|
|
||||||
AlignHorz = ahClient
|
|
||||||
Caption = 'Entre la fecha:'
|
|
||||||
Control = edtFechaIniFiltro
|
|
||||||
ControlOptions.ShowBorder = False
|
|
||||||
end
|
|
||||||
object dxLayoutControl1Item3: TdxLayoutItem
|
|
||||||
AutoAligns = [aaVertical]
|
|
||||||
AlignHorz = ahClient
|
|
||||||
Caption = 'y'
|
|
||||||
Control = edtFechaFinFiltro
|
|
||||||
ControlOptions.ShowBorder = False
|
|
||||||
end
|
|
||||||
end
|
|
||||||
end
|
|
||||||
end
|
|
||||||
object TBXAlignmentPanel1: TTBXAlignmentPanel
|
|
||||||
Left = 0
|
|
||||||
Top = 68
|
|
||||||
Width = 565
|
|
||||||
Height = 30
|
|
||||||
Margins.Left = 10
|
|
||||||
Align = alTop
|
|
||||||
TabOrder = 1
|
|
||||||
ExplicitWidth = 128
|
|
||||||
object tbxBotones: TTBXToolbar
|
|
||||||
Left = 10
|
|
||||||
Top = 0
|
|
||||||
Width = 555
|
|
||||||
Height = 30
|
|
||||||
Align = alTop
|
|
||||||
AutoResize = False
|
|
||||||
BorderStyle = bsNone
|
|
||||||
Caption = 'tbxBotones'
|
|
||||||
ChevronHint = 'M'#225's botones|'
|
|
||||||
DockMode = dmCannotFloatOrChangeDocks
|
|
||||||
DockPos = -23
|
|
||||||
DockRow = 1
|
|
||||||
DragHandleStyle = dhNone
|
|
||||||
ParentShowHint = False
|
|
||||||
ShowHint = True
|
|
||||||
TabOrder = 0
|
|
||||||
ExplicitWidth = 118
|
|
||||||
object TBXItem2: TTBXItem
|
|
||||||
Action = actQuitarFiltro
|
|
||||||
DisplayMode = nbdmImageAndText
|
|
||||||
Images = PngImageList
|
|
||||||
end
|
|
||||||
end
|
|
||||||
end
|
|
||||||
end
|
|
||||||
object dxLayoutLookAndFeelList1: TdxLayoutLookAndFeelList
|
|
||||||
Left = 136
|
|
||||||
Top = 16
|
|
||||||
end
|
|
||||||
object ActionList1: TActionList
|
|
||||||
Images = PngImageList
|
|
||||||
Left = 384
|
|
||||||
Top = 72
|
|
||||||
object actQuitarFiltro: TAction
|
|
||||||
Caption = 'Quitar filtros y ver todo'
|
|
||||||
ImageIndex = 0
|
|
||||||
OnExecute = actQuitarFiltroExecute
|
|
||||||
end
|
|
||||||
end
|
|
||||||
object PngImageList: TPngImageList
|
|
||||||
PngImages = <
|
|
||||||
item
|
|
||||||
PngImage.Data = {
|
|
||||||
89504E470D0A1A0A0000000D49484452000000100000001008060000001FF3FF
|
|
||||||
610000000970485973000017120000171201679FD252000001B04944415478DA
|
|
||||||
63FCFFFF3F03258071D400064674018780D0A7823C7C09EB97CCDD8D4B535EC3
|
|
||||||
C493AF1EDC305BB1603A2323BA66090111A9272F9F301CD9BE99119701110999
|
|
||||||
FF616A189135FFF9F9430A9F4618B0F1F405FB1B6E0021CDD70CF8FF0B09B0D7
|
|
||||||
481C78D50AE2FF7295B1FBC82F7AF0C585F30C8C96EE5ED3E425E533618A1F3E
|
|
||||||
7F385D4A5A79C3DA79937781F8C149B96E6627F7F4F8B23ED3DD226BC2F04840
|
|
||||||
96A19CE72DC3E7E387182EDEF8389911E49F1913DA192EBCE06778FBF727C3E3
|
|
||||||
CF0C0C276614A2B860F98C690C9BAA5A1854F7F530282A4830DC7FF08261E657
|
|
||||||
318689B76F33820DC8A89806D70C026B1A43E19A65C46518C0F25F3F3048CE28
|
|
||||||
6050BFBC9A61DB7F198693AE390C535AF220068496F6C3355F7EFC9EE1E6BC34
|
|
||||||
782CC0E47F5EBFC060D7E5C170E8BD208301F73B06BE7F1FFD642E316C6604F9
|
|
||||||
F1D9D3BB01CC4CCCE070F8FBEF2F4618FC7D723D22F3EF93C4FB37DE301C1296
|
|
||||||
D9E8FBE68198BED87F4BFEBF1FED084619087CB4178BB974FFD3D42B8F7E7801
|
|
||||||
6D390A12DB28C4BA51558ECB8F2803D6F1B2C67CFEF5C728EEE7FF62A006701A
|
|
||||||
98C0C0202ECBCDB00A00547CD715F016991D0000000049454E44AE426082}
|
|
||||||
Name = 'PngImage0'
|
|
||||||
Background = clWindow
|
|
||||||
end>
|
|
||||||
Left = 424
|
|
||||||
Top = 72
|
|
||||||
Bitmap = {}
|
|
||||||
end
|
|
||||||
end
|
|
||||||
@ -1,144 +0,0 @@
|
|||||||
unit uViewFiltroBase;
|
|
||||||
|
|
||||||
interface
|
|
||||||
|
|
||||||
uses
|
|
||||||
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
|
|
||||||
Dialogs, cxMaskEdit, cxDropDownEdit, cxCalendar, dxLayoutControl,
|
|
||||||
cxContainer, cxEdit, cxTextEdit, dxLayoutLookAndFeels, cxControls,
|
|
||||||
StdCtrls, Buttons, cxRadioGroup, TBXDkPanels, TB2ExtItems, TBXExtItems,
|
|
||||||
TBX, TB2Item, TB2Dock, TB2Toolbar, ActnList, ImgList, PngImageList;
|
|
||||||
|
|
||||||
type
|
|
||||||
IViewFiltroBase = interface
|
|
||||||
['{0D0EA630-BF93-4BA1-93C2-FD5A5B0CBEED}']
|
|
||||||
function GetFiltrosChange: TNotifyEvent;
|
|
||||||
procedure SetFiltrosChange(const Value: TNotifyEvent);
|
|
||||||
property OnFiltrosChange: TNotifyEvent read GetFiltrosChange write SetFiltrosChange;
|
|
||||||
|
|
||||||
function GetVerFiltros: Boolean;
|
|
||||||
procedure SetVerFiltros(const Value: Boolean);
|
|
||||||
property VerFiltros: Boolean read GetVerFiltros write SetVerFiltros;
|
|
||||||
|
|
||||||
function GetTexto: String;
|
|
||||||
procedure SetTexto(const Value: String);
|
|
||||||
property Texto: String read GetTexto write SetTexto;
|
|
||||||
end;
|
|
||||||
|
|
||||||
TfrViewFiltroBase = class(TFrame, IViewFiltroBase)
|
|
||||||
dxLayoutControl1Group_Root: TdxLayoutGroup;
|
|
||||||
dxLayoutControl1: TdxLayoutControl;
|
|
||||||
dxLayoutLookAndFeelList1: TdxLayoutLookAndFeelList;
|
|
||||||
dxLayoutControl1Item1: TdxLayoutItem;
|
|
||||||
txtFiltroTodo: TcxTextEdit;
|
|
||||||
dxLayoutControl1Item2: TdxLayoutItem;
|
|
||||||
edtFechaIniFiltro: TcxDateEdit;
|
|
||||||
dxLayoutControl1Item3: TdxLayoutItem;
|
|
||||||
edtFechaFinFiltro: TcxDateEdit;
|
|
||||||
dxLayoutControl1Group1: TdxLayoutGroup;
|
|
||||||
TBXDockablePanel1: TTBXDockablePanel;
|
|
||||||
ActionList1: TActionList;
|
|
||||||
actQuitarFiltro: TAction;
|
|
||||||
PngImageList: TPngImageList;
|
|
||||||
tbxBotones: TTBXToolbar;
|
|
||||||
TBXItem2: TTBXItem;
|
|
||||||
TBXAlignmentPanel1: TTBXAlignmentPanel;
|
|
||||||
procedure OnCamposFiltroChange(Sender: TObject);
|
|
||||||
procedure actQuitarFiltroExecute(Sender: TObject);
|
|
||||||
|
|
||||||
private
|
|
||||||
FOnFiltrosChange: TNotifyEvent;
|
|
||||||
|
|
||||||
function GetFiltrosChange: TNotifyEvent;
|
|
||||||
procedure SetFiltrosChange(const Value: TNotifyEvent);
|
|
||||||
function GetVerFiltros: Boolean;
|
|
||||||
procedure SetVerFiltros(const Value: Boolean);
|
|
||||||
function GetTexto: String;
|
|
||||||
procedure SetTexto(const Value: String);
|
|
||||||
|
|
||||||
protected
|
|
||||||
procedure LimpiarCampos; virtual;
|
|
||||||
function ValidarCampos: Boolean; virtual;
|
|
||||||
|
|
||||||
public
|
|
||||||
property OnFiltrosChange: TNotifyEvent read GetFiltrosChange write SetFiltrosChange;
|
|
||||||
property VerFiltros: Boolean read GetVerFiltros write SetVerFiltros;
|
|
||||||
property Texto: String read GetTexto write SetTexto;
|
|
||||||
end;
|
|
||||||
|
|
||||||
implementation
|
|
||||||
{$R *.dfm}
|
|
||||||
|
|
||||||
uses uDialogUtils;
|
|
||||||
|
|
||||||
{ TfrViewFiltroBase }
|
|
||||||
|
|
||||||
function TfrViewFiltroBase.GetFiltrosChange: TNotifyEvent;
|
|
||||||
begin
|
|
||||||
Result := FOnFiltrosChange;
|
|
||||||
end;
|
|
||||||
|
|
||||||
procedure TfrViewFiltroBase.SetFiltrosChange(const Value: TNotifyEvent);
|
|
||||||
begin
|
|
||||||
FOnFiltrosChange := Value;
|
|
||||||
end;
|
|
||||||
|
|
||||||
function TfrViewFiltroBase.GetVerFiltros: Boolean;
|
|
||||||
begin
|
|
||||||
Result := Self.Visible;
|
|
||||||
end;
|
|
||||||
|
|
||||||
procedure TfrViewFiltroBase.SetVerFiltros(const Value: Boolean);
|
|
||||||
begin
|
|
||||||
Self.Visible := Value;
|
|
||||||
if not Self.Visible then
|
|
||||||
actQuitarFiltro.Execute;
|
|
||||||
end;
|
|
||||||
|
|
||||||
procedure TfrViewFiltroBase.LimpiarCampos;
|
|
||||||
begin
|
|
||||||
txtFiltroTodo.Clear;
|
|
||||||
edtFechaIniFiltro.Clear;
|
|
||||||
edtFechaFinFiltro.Clear;
|
|
||||||
end;
|
|
||||||
|
|
||||||
procedure TfrViewFiltroBase.OnCamposFiltroChange(Sender: TObject);
|
|
||||||
begin
|
|
||||||
if ValidarCampos then
|
|
||||||
if Assigned(FOnFiltrosChange) then
|
|
||||||
FOnFiltrosChange(Sender);
|
|
||||||
end;
|
|
||||||
|
|
||||||
function TfrViewFiltroBase.ValidarCampos: Boolean;
|
|
||||||
begin
|
|
||||||
Result := True;
|
|
||||||
|
|
||||||
if not VarIsNull(edtFechaIniFiltro.EditValue) and not VarIsNull(edtFechaFinFiltro.EditValue) then
|
|
||||||
begin
|
|
||||||
if (edtFechaIniFiltro.EditValue > edtFechaFinFiltro.EditValue) then
|
|
||||||
begin
|
|
||||||
ShowWarningMessage('La fecha de inicio debe ser anterior a la fecha final');
|
|
||||||
edtFechaIniFiltro.SetFocus;
|
|
||||||
Result := False;
|
|
||||||
end
|
|
||||||
end;
|
|
||||||
end;
|
|
||||||
|
|
||||||
procedure TfrViewFiltroBase.actQuitarFiltroExecute(Sender: TObject);
|
|
||||||
begin
|
|
||||||
LimpiarCampos;
|
|
||||||
if Assigned(FOnFiltrosChange) then
|
|
||||||
FOnFiltrosChange(Sender);
|
|
||||||
end;
|
|
||||||
|
|
||||||
function TfrViewFiltroBase.GetTexto: String;
|
|
||||||
begin
|
|
||||||
Result := txtFiltroTodo.Text;
|
|
||||||
end;
|
|
||||||
|
|
||||||
procedure TfrViewFiltroBase.SetTexto(const Value: String);
|
|
||||||
begin
|
|
||||||
txtFiltroTodo.Text := Value;
|
|
||||||
end;
|
|
||||||
|
|
||||||
end.
|
|
||||||
Binary file not shown.
@ -1,47 +0,0 @@
|
|||||||
inherited frViewFormaPago: TfrViewFormaPago
|
|
||||||
Width = 300
|
|
||||||
ExplicitWidth = 300
|
|
||||||
DesignSize = (
|
|
||||||
300
|
|
||||||
291)
|
|
||||||
object Label5: TLabel
|
|
||||||
Left = 8
|
|
||||||
Top = 8
|
|
||||||
Width = 85
|
|
||||||
Height = 13
|
|
||||||
Caption = 'Forma de pago'
|
|
||||||
Font.Charset = DEFAULT_CHARSET
|
|
||||||
Font.Color = clActiveCaption
|
|
||||||
Font.Height = -11
|
|
||||||
Font.Name = 'MS Sans Serif'
|
|
||||||
Font.Style = [fsBold]
|
|
||||||
ParentFont = False
|
|
||||||
end
|
|
||||||
object Bevel1: TBevel
|
|
||||||
Left = 96
|
|
||||||
Top = 8
|
|
||||||
Width = 192
|
|
||||||
Height = 9
|
|
||||||
Anchors = [akLeft, akTop, akRight]
|
|
||||||
Shape = bsBottomLine
|
|
||||||
end
|
|
||||||
object memFormaPago: TcxDBMemo
|
|
||||||
Left = 16
|
|
||||||
Top = 32
|
|
||||||
Anchors = [akLeft, akTop, akRight, akBottom]
|
|
||||||
DataBinding.DataField = 'FORMA_PAGO'
|
|
||||||
DataBinding.DataSource = DADataSource
|
|
||||||
Properties.ScrollBars = ssVertical
|
|
||||||
Style.LookAndFeel.NativeStyle = True
|
|
||||||
StyleDisabled.LookAndFeel.NativeStyle = True
|
|
||||||
StyleFocused.LookAndFeel.NativeStyle = True
|
|
||||||
StyleHot.LookAndFeel.NativeStyle = True
|
|
||||||
TabOrder = 0
|
|
||||||
Height = 175
|
|
||||||
Width = 269
|
|
||||||
end
|
|
||||||
object DADataSource: TDADataSource
|
|
||||||
Left = 16
|
|
||||||
Top = 48
|
|
||||||
end
|
|
||||||
end
|
|
||||||
@ -1,26 +0,0 @@
|
|||||||
unit uViewFormaPago;
|
|
||||||
|
|
||||||
interface
|
|
||||||
|
|
||||||
uses
|
|
||||||
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
|
|
||||||
Dialogs, uViewBase, DB, uDADataTable, cxMemo, cxDBEdit, cxControls,
|
|
||||||
cxContainer, cxEdit, cxTextEdit, ExtCtrls, StdCtrls;
|
|
||||||
|
|
||||||
type
|
|
||||||
TfrViewFormaPago = class(TfrViewBase)
|
|
||||||
DADataSource: TDADataSource;
|
|
||||||
memFormaPago: TcxDBMemo;
|
|
||||||
Label5: TLabel;
|
|
||||||
Bevel1: TBevel;
|
|
||||||
private
|
|
||||||
{ Private declarations }
|
|
||||||
public
|
|
||||||
{ Public declarations }
|
|
||||||
end;
|
|
||||||
|
|
||||||
implementation
|
|
||||||
|
|
||||||
{$R *.dfm}
|
|
||||||
|
|
||||||
end.
|
|
||||||
Binary file not shown.
@ -1,332 +0,0 @@
|
|||||||
inherited frViewGrid: TfrViewGrid
|
|
||||||
Width = 554
|
|
||||||
Height = 594
|
|
||||||
ExplicitWidth = 554
|
|
||||||
ExplicitHeight = 594
|
|
||||||
object cxGrid: TcxGrid [0]
|
|
||||||
Left = 0
|
|
||||||
Top = 102
|
|
||||||
Width = 554
|
|
||||||
Height = 466
|
|
||||||
Align = alClient
|
|
||||||
Font.Charset = DEFAULT_CHARSET
|
|
||||||
Font.Color = clWindowText
|
|
||||||
Font.Height = -11
|
|
||||||
Font.Name = 'Tahoma'
|
|
||||||
Font.Style = []
|
|
||||||
ParentFont = False
|
|
||||||
TabOrder = 0
|
|
||||||
LookAndFeel.Kind = lfOffice11
|
|
||||||
LookAndFeel.NativeStyle = True
|
|
||||||
object cxGridView: TcxGridDBTableView
|
|
||||||
OnDblClick = cxGridViewDblClick
|
|
||||||
NavigatorButtons.ConfirmDelete = False
|
|
||||||
FilterBox.Visible = fvNever
|
|
||||||
DataController.DataSource = dsDataSource
|
|
||||||
DataController.Filter.Options = [fcoCaseInsensitive]
|
|
||||||
DataController.Options = [dcoAnsiSort, dcoAssignGroupingValues, dcoAssignMasterDetailKeys, dcoSaveExpanding, dcoSortByDisplayText]
|
|
||||||
DataController.Summary.DefaultGroupSummaryItems = <>
|
|
||||||
DataController.Summary.FooterSummaryItems = <>
|
|
||||||
DataController.Summary.SummaryGroups = <>
|
|
||||||
OptionsBehavior.CellHints = True
|
|
||||||
OptionsCustomize.ColumnFiltering = False
|
|
||||||
OptionsCustomize.ColumnGrouping = False
|
|
||||||
OptionsCustomize.ColumnsQuickCustomization = True
|
|
||||||
OptionsData.Deleting = False
|
|
||||||
OptionsData.DeletingConfirmation = False
|
|
||||||
OptionsData.Editing = False
|
|
||||||
OptionsData.Inserting = False
|
|
||||||
OptionsSelection.CellSelect = False
|
|
||||||
OptionsSelection.UnselectFocusedRecordOnExit = False
|
|
||||||
OptionsView.CellEndEllipsis = True
|
|
||||||
OptionsView.CellAutoHeight = True
|
|
||||||
OptionsView.ColumnAutoWidth = True
|
|
||||||
OptionsView.DataRowHeight = 22
|
|
||||||
OptionsView.Footer = True
|
|
||||||
OptionsView.GridLineColor = clHighlight
|
|
||||||
OptionsView.GridLines = glHorizontal
|
|
||||||
OptionsView.GroupByBox = False
|
|
||||||
OptionsView.HeaderEndEllipsis = True
|
|
||||||
Styles.Inactive = cxStyleSelection
|
|
||||||
Styles.Selection = cxStyleSelection
|
|
||||||
Styles.OnGetContentStyle = cxGridViewStylesGetContentStyle
|
|
||||||
end
|
|
||||||
object cxGridLevel: TcxGridLevel
|
|
||||||
GridView = cxGridView
|
|
||||||
end
|
|
||||||
end
|
|
||||||
inline frViewFiltroBase1: TfrViewFiltroBase [1]
|
|
||||||
Left = 0
|
|
||||||
Top = 0
|
|
||||||
Width = 554
|
|
||||||
Height = 102
|
|
||||||
Align = alTop
|
|
||||||
TabOrder = 1
|
|
||||||
Visible = False
|
|
||||||
ExplicitWidth = 554
|
|
||||||
inherited TBXDockablePanel1: TTBXDockablePanel
|
|
||||||
ExplicitWidth = 554
|
|
||||||
ExplicitHeight = 102
|
|
||||||
inherited dxLayoutControl1: TdxLayoutControl
|
|
||||||
Width = 554
|
|
||||||
ExplicitWidth = 554
|
|
||||||
inherited txtFiltroTodo: TcxTextEdit
|
|
||||||
ExplicitWidth = 273
|
|
||||||
Width = 273
|
|
||||||
end
|
|
||||||
inherited edtFechaIniFiltro: TcxDateEdit
|
|
||||||
ExplicitWidth = 121
|
|
||||||
Width = 121
|
|
||||||
end
|
|
||||||
inherited edtFechaFinFiltro: TcxDateEdit
|
|
||||||
Left = 344
|
|
||||||
ExplicitLeft = 344
|
|
||||||
ExplicitWidth = 121
|
|
||||||
Width = 121
|
|
||||||
end
|
|
||||||
end
|
|
||||||
inherited TBXAlignmentPanel1: TTBXAlignmentPanel
|
|
||||||
Width = 554
|
|
||||||
ExplicitWidth = 554
|
|
||||||
inherited tbxBotones: TTBXToolbar
|
|
||||||
Width = 544
|
|
||||||
ExplicitWidth = 544
|
|
||||||
end
|
|
||||||
end
|
|
||||||
end
|
|
||||||
end
|
|
||||||
object pnlAgrupaciones: TTBXDockablePanel
|
|
||||||
Left = 0
|
|
||||||
Top = 568
|
|
||||||
MinClientHeight = 8
|
|
||||||
Align = alBottom
|
|
||||||
Caption = 'pnlAgrupaciones'
|
|
||||||
DockedHeight = 26
|
|
||||||
FloatingWidth = 128
|
|
||||||
FloatingHeight = 26
|
|
||||||
SupportedDocks = [dkStandardDock, dkMultiDock]
|
|
||||||
TabOrder = 2
|
|
||||||
Visible = False
|
|
||||||
object TBXAlignmentPanel1: TTBXAlignmentPanel
|
|
||||||
Left = 0
|
|
||||||
Top = 0
|
|
||||||
Width = 554
|
|
||||||
Height = 26
|
|
||||||
Margins.Left = 10
|
|
||||||
Align = alTop
|
|
||||||
TabOrder = 0
|
|
||||||
object TBXToolbar1: TTBXToolbar
|
|
||||||
Left = 10
|
|
||||||
Top = 0
|
|
||||||
Width = 544
|
|
||||||
Height = 26
|
|
||||||
Align = alTop
|
|
||||||
AutoResize = False
|
|
||||||
Caption = 'TBXToolbar1'
|
|
||||||
TabOrder = 0
|
|
||||||
object TBXItem1: TTBXItem
|
|
||||||
Action = actQuitarAgrupaciones
|
|
||||||
end
|
|
||||||
end
|
|
||||||
end
|
|
||||||
end
|
|
||||||
object dxComponentPrinter: TdxComponentPrinter
|
|
||||||
CurrentLink = dxComponentPrinterLink
|
|
||||||
PreviewOptions.EnableOptions = [peoCanChangeMargins, peoPageBackground, peoPageSetup, peoPreferences, peoPrint]
|
|
||||||
PreviewOptions.VisibleOptions = [pvoPageBackground, pvoPageSetup, pvoPreferences, pvoPrint, pvoPrintStyles, pvoReportFileOperations, pvoPageMargins]
|
|
||||||
PreviewOptions.WindowState = wsMaximized
|
|
||||||
Version = 0
|
|
||||||
Left = 368
|
|
||||||
Top = 128
|
|
||||||
object dxComponentPrinterLink: TdxGridReportLink
|
|
||||||
Active = True
|
|
||||||
Component = cxGrid
|
|
||||||
PrinterPage.DMPaper = 9
|
|
||||||
PrinterPage.Footer = 6350
|
|
||||||
PrinterPage.GrayShading = True
|
|
||||||
PrinterPage.Header = 6350
|
|
||||||
PrinterPage.Margins.Bottom = 12700
|
|
||||||
PrinterPage.Margins.Left = 12700
|
|
||||||
PrinterPage.Margins.Right = 12700
|
|
||||||
PrinterPage.Margins.Top = 12700
|
|
||||||
PrinterPage.PageSize.X = 210000
|
|
||||||
PrinterPage.PageSize.Y = 297000
|
|
||||||
PrinterPage.ScaleMode = smFit
|
|
||||||
PrinterPage._dxMeasurementUnits_ = 0
|
|
||||||
PrinterPage._dxLastMU_ = 2
|
|
||||||
ReportDocument.CreationDate = 39296.809313506940000000
|
|
||||||
StyleManager = dxPrintStyleManager1
|
|
||||||
OptionsCards.Shadow.Depth = 0
|
|
||||||
OptionsExpanding.ExpandGroupRows = True
|
|
||||||
OptionsExpanding.ExpandMasterRows = True
|
|
||||||
OptionsFormatting.SuppressBackgroundBitmaps = True
|
|
||||||
OptionsFormatting.UseNativeStyles = True
|
|
||||||
OptionsFormatting.ConsumeSelectionStyle = True
|
|
||||||
OptionsLevels.Unwrap = True
|
|
||||||
OptionsRefinements.TransparentGraphics = True
|
|
||||||
OptionsSize.AutoWidth = True
|
|
||||||
OptionsView.Caption = False
|
|
||||||
OptionsView.ExpandButtons = False
|
|
||||||
OptionsView.FilterBar = False
|
|
||||||
StyleRepository = cxStyleRepositoryInforme
|
|
||||||
Styles.Content = cxStyleContentInforme
|
|
||||||
Styles.Footer = cxStyleFooterInforme
|
|
||||||
Styles.Group = cxStyleGroupInforme
|
|
||||||
Styles.Header = cxStyleHeaderInforme
|
|
||||||
Styles.Selection = cxStyleSelectionInforme
|
|
||||||
BuiltInReportLink = True
|
|
||||||
end
|
|
||||||
end
|
|
||||||
object dxPSEngineController1: TdxPSEngineController
|
|
||||||
LookAndFeel = pslfOffice11
|
|
||||||
UseNativeLookAndFeel = False
|
|
||||||
Left = 336
|
|
||||||
Top = 128
|
|
||||||
end
|
|
||||||
object cxStyleRepository1: TcxStyleRepository
|
|
||||||
Left = 296
|
|
||||||
Top = 128
|
|
||||||
object cxStyleEven: TcxStyle
|
|
||||||
end
|
|
||||||
object cxStyleOdd: TcxStyle
|
|
||||||
AssignedValues = [svColor]
|
|
||||||
Color = clInactiveCaptionText
|
|
||||||
end
|
|
||||||
object cxStyleSelection: TcxStyle
|
|
||||||
AssignedValues = [svColor, svTextColor]
|
|
||||||
Color = clHighlight
|
|
||||||
TextColor = clHighlightText
|
|
||||||
end
|
|
||||||
object cxStyleSinOrden: TcxStyle
|
|
||||||
end
|
|
||||||
object cxStyleConOrden: TcxStyle
|
|
||||||
AssignedValues = [svColor]
|
|
||||||
Color = 16119285
|
|
||||||
end
|
|
||||||
object cxStyleFiltered: TcxStyle
|
|
||||||
AssignedValues = [svColor]
|
|
||||||
Color = clInfoBk
|
|
||||||
end
|
|
||||||
object cxStyleFilteredConOrden: TcxStyle
|
|
||||||
AssignedValues = [svColor]
|
|
||||||
Color = 14546175
|
|
||||||
end
|
|
||||||
end
|
|
||||||
object cxViewGridPopupMenu: TcxGridPopupMenu
|
|
||||||
Grid = cxGrid
|
|
||||||
PopupMenus = <
|
|
||||||
item
|
|
||||||
GridView = cxGridView
|
|
||||||
HitTypes = [gvhtCell]
|
|
||||||
Index = 0
|
|
||||||
end>
|
|
||||||
Left = 264
|
|
||||||
Top = 128
|
|
||||||
end
|
|
||||||
object ActionList1: TActionList
|
|
||||||
Left = 400
|
|
||||||
Top = 360
|
|
||||||
object actQuitarAgrupaciones: TAction
|
|
||||||
Caption = 'Quitar agrupaciones'
|
|
||||||
OnExecute = actQuitarAgrupacionesExecute
|
|
||||||
OnUpdate = actQuitarAgrupacionesUpdate
|
|
||||||
end
|
|
||||||
end
|
|
||||||
object PngImageList10: TPngImageList
|
|
||||||
PngImages = <>
|
|
||||||
Left = 368
|
|
||||||
Top = 360
|
|
||||||
end
|
|
||||||
object cxStyleRepositoryInforme: TcxStyleRepository
|
|
||||||
Left = 368
|
|
||||||
Top = 160
|
|
||||||
object cxStyleContentInforme: TcxStyle
|
|
||||||
AssignedValues = [svColor, svFont, svTextColor]
|
|
||||||
Color = clWhite
|
|
||||||
Font.Charset = ANSI_CHARSET
|
|
||||||
Font.Color = clBlack
|
|
||||||
Font.Height = -11
|
|
||||||
Font.Name = 'Tahoma'
|
|
||||||
Font.Style = []
|
|
||||||
TextColor = clBlack
|
|
||||||
end
|
|
||||||
object cxStyleFooterInforme: TcxStyle
|
|
||||||
AssignedValues = [svColor, svFont, svTextColor]
|
|
||||||
Color = 14803425
|
|
||||||
Font.Charset = ANSI_CHARSET
|
|
||||||
Font.Color = clBlack
|
|
||||||
Font.Height = -11
|
|
||||||
Font.Name = 'Tahoma'
|
|
||||||
Font.Style = [fsBold]
|
|
||||||
TextColor = clBlack
|
|
||||||
end
|
|
||||||
object cxStyleGroupInforme: TcxStyle
|
|
||||||
AssignedValues = [svColor, svFont, svTextColor]
|
|
||||||
Color = clWhite
|
|
||||||
Font.Charset = ANSI_CHARSET
|
|
||||||
Font.Color = clBlack
|
|
||||||
Font.Height = -12
|
|
||||||
Font.Name = 'Tahoma'
|
|
||||||
Font.Style = [fsBold]
|
|
||||||
TextColor = clBlack
|
|
||||||
end
|
|
||||||
object cxStyleHeaderInforme: TcxStyle
|
|
||||||
AssignedValues = [svColor, svFont, svTextColor]
|
|
||||||
Color = 14803425
|
|
||||||
Font.Charset = ANSI_CHARSET
|
|
||||||
Font.Color = clBlack
|
|
||||||
Font.Height = -11
|
|
||||||
Font.Name = 'Tahoma'
|
|
||||||
Font.Style = [fsBold]
|
|
||||||
TextColor = clBlack
|
|
||||||
end
|
|
||||||
object cxStyleSelectionInforme: TcxStyle
|
|
||||||
AssignedValues = [svColor, svFont, svTextColor]
|
|
||||||
Color = clWhite
|
|
||||||
Font.Charset = ANSI_CHARSET
|
|
||||||
Font.Color = clBlack
|
|
||||||
Font.Height = -11
|
|
||||||
Font.Name = 'Tahoma'
|
|
||||||
Font.Style = []
|
|
||||||
TextColor = clBlack
|
|
||||||
end
|
|
||||||
end
|
|
||||||
object dxPrintStyleManager1: TdxPrintStyleManager
|
|
||||||
CurrentStyle = dxPrintStyleManager1Style1
|
|
||||||
Version = 0
|
|
||||||
Left = 336
|
|
||||||
Top = 160
|
|
||||||
object dxPrintStyleManager1Style1: TdxPSPrintStyle
|
|
||||||
PrinterPage.DMPaper = 9
|
|
||||||
PrinterPage.Footer = 6350
|
|
||||||
PrinterPage.Header = 6350
|
|
||||||
PrinterPage.Margins.Bottom = 20000
|
|
||||||
PrinterPage.Margins.Left = 12700
|
|
||||||
PrinterPage.Margins.Right = 12700
|
|
||||||
PrinterPage.Margins.Top = 20000
|
|
||||||
PrinterPage.PageFooter.CenterTitle.Strings = (
|
|
||||||
'[Date & Time Printed]')
|
|
||||||
PrinterPage.PageFooter.Font.Charset = DEFAULT_CHARSET
|
|
||||||
PrinterPage.PageFooter.Font.Color = clBlack
|
|
||||||
PrinterPage.PageFooter.Font.Height = -12
|
|
||||||
PrinterPage.PageFooter.Font.Name = 'Tahoma'
|
|
||||||
PrinterPage.PageFooter.Font.Style = []
|
|
||||||
PrinterPage.PageFooter.LeftTitle.Strings = (
|
|
||||||
'LUIS LEON REPRESENTACIONES S.L.')
|
|
||||||
PrinterPage.PageFooter.RightTitle.Strings = (
|
|
||||||
'[Page #] de [Total Pages]')
|
|
||||||
PrinterPage.PageHeader.Font.Charset = DEFAULT_CHARSET
|
|
||||||
PrinterPage.PageHeader.Font.Color = clBlack
|
|
||||||
PrinterPage.PageHeader.Font.Height = -15
|
|
||||||
PrinterPage.PageHeader.Font.Name = 'Tahoma'
|
|
||||||
PrinterPage.PageHeader.Font.Style = []
|
|
||||||
PrinterPage.PageHeader.LeftTitle.Strings = (
|
|
||||||
'')
|
|
||||||
PrinterPage.PageSize.X = 210000
|
|
||||||
PrinterPage.PageSize.Y = 297000
|
|
||||||
PrinterPage._dxMeasurementUnits_ = 0
|
|
||||||
PrinterPage._dxLastMU_ = 2
|
|
||||||
BuiltInStyle = True
|
|
||||||
end
|
|
||||||
end
|
|
||||||
end
|
|
||||||
@ -1,221 +0,0 @@
|
|||||||
{*******************************************************}
|
|
||||||
{ }
|
|
||||||
{ Administración de puntos de venta }
|
|
||||||
{ }
|
|
||||||
{ Copyright (C) 2006 Rodax Software S.L. }
|
|
||||||
{ }
|
|
||||||
{*******************************************************}
|
|
||||||
|
|
||||||
unit uViewGrid;
|
|
||||||
|
|
||||||
interface
|
|
||||||
|
|
||||||
uses
|
|
||||||
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
|
|
||||||
Dialogs, uViewBase, cxStyles, cxCustomData, cxGraphics, cxFilter, cxData,
|
|
||||||
cxDataStorage, cxEdit, DB, cxDBData, uDADataTable, cxGridLevel,
|
|
||||||
cxClasses, cxControls, cxGridCustomView, cxGridCustomTableView,
|
|
||||||
cxGridTableView, cxGridDBTableView, cxGrid, Menus, ActnList, Grids,
|
|
||||||
DBGrids, JvComponent, JvFormAutoSize, dxPSGlbl, dxPSUtl, dxPSEngn,
|
|
||||||
dxPrnPg, dxBkgnd, dxWrap, dxPrnDev, dxPSCompsProvider, dxPSFillPatterns,
|
|
||||||
dxPSEdgePatterns, dxPSCore, dxPScxCommon, dxPScxGridLnk, dxPrnDlg,
|
|
||||||
cxIntlPrintSys3, dxPSPrvwAdv, uViewGridBase, cxGridCustomPopupMenu,
|
|
||||||
cxGridPopupMenu, uViewFiltroBase, ComCtrls, cxPC, ImgList, PngImageList,
|
|
||||||
TB2Item, TBX, TB2Dock, TB2Toolbar, TBXDkPanels, dxPgsDlg;
|
|
||||||
|
|
||||||
type
|
|
||||||
IViewGrid = interface(IViewGridBase)
|
|
||||||
['{7EA40980-AD73-4590-A53A-932316C7B121}']
|
|
||||||
end;
|
|
||||||
|
|
||||||
TfrViewGrid = class(TfrViewGridBase, IViewGrid)
|
|
||||||
cxGrid: TcxGrid;
|
|
||||||
cxGridLevel: TcxGridLevel;
|
|
||||||
cxGridView: TcxGridDBTableView;
|
|
||||||
dxComponentPrinter: TdxComponentPrinter;
|
|
||||||
dxPSEngineController1: TdxPSEngineController;
|
|
||||||
cxStyleRepository1: TcxStyleRepository;
|
|
||||||
cxStyleEven: TcxStyle;
|
|
||||||
cxStyleOdd: TcxStyle;
|
|
||||||
cxStyleSelection: TcxStyle;
|
|
||||||
cxStyleSinOrden: TcxStyle;
|
|
||||||
cxStyleConOrden: TcxStyle;
|
|
||||||
cxViewGridPopupMenu: TcxGridPopupMenu;
|
|
||||||
dxComponentPrinterLink: TdxGridReportLink;
|
|
||||||
cxStyleFiltered: TcxStyle;
|
|
||||||
cxStyleFilteredConOrden: TcxStyle;
|
|
||||||
frViewFiltroBase1: TfrViewFiltroBase;
|
|
||||||
ActionList1: TActionList;
|
|
||||||
PngImageList10: TPngImageList;
|
|
||||||
actQuitarAgrupaciones: TAction;
|
|
||||||
pnlAgrupaciones: TTBXDockablePanel;
|
|
||||||
TBXAlignmentPanel1: TTBXAlignmentPanel;
|
|
||||||
TBXToolbar1: TTBXToolbar;
|
|
||||||
TBXItem1: TTBXItem;
|
|
||||||
cxStyleRepositoryInforme: TcxStyleRepository;
|
|
||||||
cxStyleContentInforme: TcxStyle;
|
|
||||||
cxStyleFooterInforme: TcxStyle;
|
|
||||||
cxStyleGroupInforme: TcxStyle;
|
|
||||||
cxStyleHeaderInforme: TcxStyle;
|
|
||||||
cxStyleSelectionInforme: TcxStyle;
|
|
||||||
dxPrintStyleManager1: TdxPrintStyleManager;
|
|
||||||
dxPrintStyleManager1Style1: TdxPSPrintStyle;
|
|
||||||
procedure cxGridViewStylesGetContentStyle(
|
|
||||||
Sender: TcxCustomGridTableView; ARecord: TcxCustomGridRecord;
|
|
||||||
AItem: TcxCustomGridTableItem; out AStyle: TcxStyle);
|
|
||||||
procedure cxGridViewDblClick(Sender: TObject);
|
|
||||||
procedure actQuitarAgrupacionesExecute(Sender: TObject);
|
|
||||||
procedure actQuitarAgrupacionesUpdate(Sender: TObject);
|
|
||||||
protected
|
|
||||||
function GetGrid : TcxGrid; override;
|
|
||||||
function GetFocusedView : TcxGridDBTableView; override;
|
|
||||||
procedure SetPopupMenu(const Value: TPopupMenu); override;
|
|
||||||
procedure FilterChanged(Sender : TObject); override;
|
|
||||||
procedure OnChangeValoresFiltro(Sender: TObject);
|
|
||||||
procedure SetViewFiltros(const Value: IViewFiltroBase); override;
|
|
||||||
function AddFilterGrid(const Operacion: tcxFilterBoolOperatorKind): TcxFilterCriteriaItemList;
|
|
||||||
public
|
|
||||||
function esSeleccionCeldaDatos: Boolean; override;
|
|
||||||
procedure Preview; override;
|
|
||||||
procedure Print; override;
|
|
||||||
constructor Create(AOwner: TComponent); override;
|
|
||||||
destructor Destroy; override;
|
|
||||||
end;
|
|
||||||
|
|
||||||
implementation
|
|
||||||
|
|
||||||
uses
|
|
||||||
uDataModuleBase, uDBSelectionListUtils;
|
|
||||||
|
|
||||||
{$R *.dfm}
|
|
||||||
|
|
||||||
{
|
|
||||||
********************************* TfrViewGrid **********************************
|
|
||||||
}
|
|
||||||
|
|
||||||
{ TfrViewGrid }
|
|
||||||
function TfrViewGrid.GetFocusedView: TcxGridDBTableView;
|
|
||||||
begin
|
|
||||||
Result := cxGridView;
|
|
||||||
end;
|
|
||||||
|
|
||||||
function TfrViewGrid.GetGrid: TcxGrid;
|
|
||||||
begin
|
|
||||||
Result := cxGrid;
|
|
||||||
end;
|
|
||||||
|
|
||||||
procedure TfrViewGrid.OnChangeValoresFiltro(Sender: TObject);
|
|
||||||
begin
|
|
||||||
cxGridView.DataController.Filter.BeginUpdate;
|
|
||||||
RefrescarFiltro;
|
|
||||||
cxGridView.DataController.Filter.EndUpdate;
|
|
||||||
end;
|
|
||||||
|
|
||||||
procedure TfrViewGrid.Preview;
|
|
||||||
begin
|
|
||||||
inherited;
|
|
||||||
dxComponentPrinter.Preview;
|
|
||||||
end;
|
|
||||||
|
|
||||||
procedure TfrViewGrid.Print;
|
|
||||||
begin
|
|
||||||
inherited;
|
|
||||||
dxComponentPrinter.Print(True, nil, nil);
|
|
||||||
end;
|
|
||||||
|
|
||||||
procedure TfrViewGrid.SetPopupMenu(const Value: TPopupMenu);
|
|
||||||
begin
|
|
||||||
inherited;
|
|
||||||
cxViewGridPopupMenu.PopupMenus[0].PopupMenu := FPopupMenu;
|
|
||||||
end;
|
|
||||||
|
|
||||||
procedure TfrViewGrid.SetViewFiltros(const Value: IViewFiltroBase);
|
|
||||||
begin
|
|
||||||
inherited;
|
|
||||||
if Assigned(ViewFiltros) then
|
|
||||||
ViewFiltros.OnFiltrosChange := OnChangeValoresFiltro
|
|
||||||
end;
|
|
||||||
|
|
||||||
procedure TfrViewGrid.actQuitarAgrupacionesExecute(Sender: TObject);
|
|
||||||
var
|
|
||||||
Columna: TcxGridDBColumn;
|
|
||||||
i: Integer;
|
|
||||||
begin
|
|
||||||
inherited;
|
|
||||||
for i := 0 to cxGridView.ColumnCount - 1 do
|
|
||||||
begin
|
|
||||||
Columna := (cxGridView as TcxGridDBTableView).Columns[i];
|
|
||||||
if not (Columna.GroupIndex < 0) then
|
|
||||||
begin
|
|
||||||
Columna.GroupIndex := -1;
|
|
||||||
Columna.Visible := True;
|
|
||||||
end;
|
|
||||||
end;
|
|
||||||
end;
|
|
||||||
|
|
||||||
procedure TfrViewGrid.actQuitarAgrupacionesUpdate(Sender: TObject);
|
|
||||||
begin
|
|
||||||
inherited;
|
|
||||||
(Sender as TAction).Enabled := (cxGridView.GroupedColumnCount > 0);
|
|
||||||
end;
|
|
||||||
|
|
||||||
function TfrViewGrid.AddFilterGrid(const Operacion: tcxFilterBoolOperatorKind): TcxFilterCriteriaItemList;
|
|
||||||
var
|
|
||||||
AItemList: TcxFilterCriteriaItemList;
|
|
||||||
begin
|
|
||||||
AItemList := cxGridView.DataController.Filter.Root;
|
|
||||||
Result := AItemList.AddItemList(Operacion);
|
|
||||||
end;
|
|
||||||
|
|
||||||
constructor TfrViewGrid.Create(AOwner: TComponent);
|
|
||||||
begin
|
|
||||||
inherited;
|
|
||||||
ViewFiltros := frViewFiltroBase1;
|
|
||||||
end;
|
|
||||||
|
|
||||||
procedure TfrViewGrid.cxGridViewDblClick(Sender: TObject);
|
|
||||||
begin
|
|
||||||
inherited;
|
|
||||||
if Assigned(FOnDblClick) then
|
|
||||||
FOnDblClick(Sender);
|
|
||||||
end;
|
|
||||||
|
|
||||||
procedure TfrViewGrid.cxGridViewStylesGetContentStyle(
|
|
||||||
Sender: TcxCustomGridTableView; ARecord: TcxCustomGridRecord;
|
|
||||||
AItem: TcxCustomGridTableItem; out AStyle: TcxStyle);
|
|
||||||
begin
|
|
||||||
inherited;
|
|
||||||
if Assigned(AItem) then
|
|
||||||
begin
|
|
||||||
if AItem.SortOrder = soNone then
|
|
||||||
AStyle := cxStyleSinOrden
|
|
||||||
else begin
|
|
||||||
AStyle := cxStyleConOrden;
|
|
||||||
if Filtered then
|
|
||||||
AStyle := cxStyleFilteredConOrden;
|
|
||||||
end;
|
|
||||||
end;
|
|
||||||
end;
|
|
||||||
|
|
||||||
destructor TfrViewGrid.Destroy;
|
|
||||||
begin
|
|
||||||
ViewFiltros := Nil;
|
|
||||||
inherited;
|
|
||||||
end;
|
|
||||||
|
|
||||||
function TfrViewGrid.esSeleccionCeldaDatos: Boolean;
|
|
||||||
begin
|
|
||||||
Result := not (cxGridView.Controller.FocusedRecord is TcxGridGroupRow);
|
|
||||||
end;
|
|
||||||
|
|
||||||
procedure TfrViewGrid.FilterChanged(Sender: TObject);
|
|
||||||
begin
|
|
||||||
inherited;
|
|
||||||
if Filtered then
|
|
||||||
_FocusedView.Styles.Content := cxStyleFiltered
|
|
||||||
else
|
|
||||||
_FocusedView.Styles.Content := nil;
|
|
||||||
end;
|
|
||||||
|
|
||||||
end.
|
|
||||||
|
|
||||||
Binary file not shown.
@ -1,136 +0,0 @@
|
|||||||
inherited frViewGrid2Niveles: TfrViewGrid2Niveles
|
|
||||||
Width = 519
|
|
||||||
Height = 367
|
|
||||||
ExplicitWidth = 519
|
|
||||||
ExplicitHeight = 367
|
|
||||||
object cxGrid: TcxGrid [0]
|
|
||||||
Left = 0
|
|
||||||
Top = 0
|
|
||||||
Width = 519
|
|
||||||
Height = 367
|
|
||||||
Align = alClient
|
|
||||||
Font.Charset = DEFAULT_CHARSET
|
|
||||||
Font.Color = clWindowText
|
|
||||||
Font.Height = -11
|
|
||||||
Font.Name = 'Tahoma'
|
|
||||||
Font.Style = []
|
|
||||||
ParentFont = False
|
|
||||||
TabOrder = 0
|
|
||||||
LookAndFeel.Kind = lfOffice11
|
|
||||||
LookAndFeel.NativeStyle = True
|
|
||||||
object cxGridView1N: TcxGridDBTableView
|
|
||||||
OnDblClick = cxGridView1NDblClick
|
|
||||||
NavigatorButtons.ConfirmDelete = False
|
|
||||||
FilterBox.Visible = fvNever
|
|
||||||
DataController.DataSource = dsDataSource
|
|
||||||
DataController.Filter.Options = [fcoCaseInsensitive]
|
|
||||||
DataController.Options = [dcoAnsiSort, dcoAssignGroupingValues, dcoAssignMasterDetailKeys, dcoSaveExpanding, dcoSortByDisplayText]
|
|
||||||
DataController.Summary.DefaultGroupSummaryItems = <>
|
|
||||||
DataController.Summary.FooterSummaryItems = <>
|
|
||||||
DataController.Summary.SummaryGroups = <>
|
|
||||||
OptionsBehavior.CellHints = True
|
|
||||||
OptionsCustomize.ColumnFiltering = False
|
|
||||||
OptionsCustomize.ColumnGrouping = False
|
|
||||||
OptionsCustomize.ColumnsQuickCustomization = True
|
|
||||||
OptionsData.Deleting = False
|
|
||||||
OptionsData.DeletingConfirmation = False
|
|
||||||
OptionsData.Editing = False
|
|
||||||
OptionsData.Inserting = False
|
|
||||||
OptionsSelection.CellSelect = False
|
|
||||||
OptionsSelection.UnselectFocusedRecordOnExit = False
|
|
||||||
OptionsView.CellEndEllipsis = True
|
|
||||||
OptionsView.CellAutoHeight = True
|
|
||||||
OptionsView.ColumnAutoWidth = True
|
|
||||||
OptionsView.Footer = True
|
|
||||||
OptionsView.FooterAutoHeight = True
|
|
||||||
OptionsView.GridLineColor = cl3DLight
|
|
||||||
OptionsView.GroupByBox = False
|
|
||||||
OptionsView.HeaderEndEllipsis = True
|
|
||||||
Styles.Inactive = cxStyleSelection
|
|
||||||
Styles.Selection = cxStyleSelection
|
|
||||||
Styles.OnGetContentStyle = cxGridViewStylesGetContentStyle
|
|
||||||
end
|
|
||||||
object cxGridView: TcxGridDBTableView
|
|
||||||
NavigatorButtons.ConfirmDelete = False
|
|
||||||
DataController.Summary.DefaultGroupSummaryItems = <>
|
|
||||||
DataController.Summary.FooterSummaryItems = <>
|
|
||||||
DataController.Summary.SummaryGroups = <>
|
|
||||||
end
|
|
||||||
object cxGridLevel1N: TcxGridLevel
|
|
||||||
GridView = cxGridView1N
|
|
||||||
object cxGridLevel: TcxGridLevel
|
|
||||||
GridView = cxGridView
|
|
||||||
end
|
|
||||||
end
|
|
||||||
end
|
|
||||||
object dxComponentPrinter: TdxComponentPrinter
|
|
||||||
CurrentLink = dxComponentPrinterLink
|
|
||||||
PreviewOptions.EnableOptions = [peoCanChangeMargins, peoPageBackground, peoPageSetup, peoPreferences, peoPrint]
|
|
||||||
PreviewOptions.VisibleOptions = [pvoPageBackground, pvoPageSetup, pvoPreferences, pvoPrint, pvoPrintStyles, pvoReportFileOperations, pvoPageMargins]
|
|
||||||
PreviewOptions.WindowState = wsMaximized
|
|
||||||
Version = 0
|
|
||||||
Left = 368
|
|
||||||
Top = 128
|
|
||||||
object dxComponentPrinterLink: TdxGridReportLink
|
|
||||||
Component = cxGrid
|
|
||||||
PrinterPage.DMPaper = 9
|
|
||||||
PrinterPage.Footer = 6350
|
|
||||||
PrinterPage.Header = 6350
|
|
||||||
PrinterPage.Margins.Bottom = 12700
|
|
||||||
PrinterPage.Margins.Left = 12700
|
|
||||||
PrinterPage.Margins.Right = 12700
|
|
||||||
PrinterPage.Margins.Top = 12700
|
|
||||||
PrinterPage.PageSize.X = 210000
|
|
||||||
PrinterPage.PageSize.Y = 297000
|
|
||||||
PrinterPage._dxMeasurementUnits_ = 0
|
|
||||||
PrinterPage._dxLastMU_ = 2
|
|
||||||
BuiltInReportLink = True
|
|
||||||
end
|
|
||||||
end
|
|
||||||
object dxPSEngineController1: TdxPSEngineController
|
|
||||||
LookAndFeel = pslfOffice11
|
|
||||||
UseNativeLookAndFeel = False
|
|
||||||
Left = 336
|
|
||||||
Top = 128
|
|
||||||
end
|
|
||||||
object cxStyleRepository1: TcxStyleRepository
|
|
||||||
Left = 296
|
|
||||||
Top = 128
|
|
||||||
object cxStyleEven: TcxStyle
|
|
||||||
end
|
|
||||||
object cxStyleOdd: TcxStyle
|
|
||||||
AssignedValues = [svColor]
|
|
||||||
Color = clInactiveCaptionText
|
|
||||||
end
|
|
||||||
object cxStyleSelection: TcxStyle
|
|
||||||
AssignedValues = [svColor, svTextColor]
|
|
||||||
Color = clHighlight
|
|
||||||
TextColor = clHighlightText
|
|
||||||
end
|
|
||||||
object cxStyleSinOrden: TcxStyle
|
|
||||||
end
|
|
||||||
object cxStyleConOrden: TcxStyle
|
|
||||||
AssignedValues = [svColor]
|
|
||||||
Color = 16119285
|
|
||||||
end
|
|
||||||
object cxStyleFiltered: TcxStyle
|
|
||||||
AssignedValues = [svColor]
|
|
||||||
Color = clInfoBk
|
|
||||||
end
|
|
||||||
object cxStyleFilteredConOrden: TcxStyle
|
|
||||||
AssignedValues = [svColor]
|
|
||||||
Color = 14546175
|
|
||||||
end
|
|
||||||
end
|
|
||||||
object cxViewGridPopupMenu: TcxGridPopupMenu
|
|
||||||
Grid = cxGrid
|
|
||||||
PopupMenus = <
|
|
||||||
item
|
|
||||||
GridView = cxGridView1N
|
|
||||||
HitTypes = [gvhtCell]
|
|
||||||
Index = 0
|
|
||||||
end>
|
|
||||||
Left = 264
|
|
||||||
Top = 128
|
|
||||||
end
|
|
||||||
end
|
|
||||||
@ -1,211 +0,0 @@
|
|||||||
{*******************************************************}
|
|
||||||
{ }
|
|
||||||
{ Administración de puntos de venta }
|
|
||||||
{ }
|
|
||||||
{ Copyright (C) 2006 Rodax Software S.L. }
|
|
||||||
{ }
|
|
||||||
{*******************************************************}
|
|
||||||
|
|
||||||
unit uViewGrid2Niveles;
|
|
||||||
|
|
||||||
interface
|
|
||||||
|
|
||||||
uses
|
|
||||||
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
|
|
||||||
Dialogs, uViewBase, cxStyles, cxCustomData, cxGraphics, cxFilter, cxData,
|
|
||||||
cxDataStorage, cxEdit, DB, cxDBData, uDADataTable, cxGridLevel,
|
|
||||||
cxClasses, cxControls, cxGridCustomView, cxGridCustomTableView,
|
|
||||||
cxGridTableView, cxGridDBTableView, cxGrid, Menus, ActnList, Grids,
|
|
||||||
DBGrids, JvComponent, JvFormAutoSize, dxPSGlbl, dxPSUtl, dxPSEngn,
|
|
||||||
dxPrnPg, dxBkgnd, dxWrap, dxPrnDev, dxPSCompsProvider, dxPSFillPatterns,
|
|
||||||
dxPSEdgePatterns, dxPSCore, dxPScxCommon, dxPScxGridLnk, dxPrnDlg,
|
|
||||||
cxIntlPrintSys3, dxPSPrvwAdv, uViewGridBase, cxGridCustomPopupMenu,
|
|
||||||
cxGridPopupMenu;
|
|
||||||
|
|
||||||
type
|
|
||||||
IViewGrid2Niveles = interface(IViewGridBase)
|
|
||||||
['{7EA40980-AD73-4590-A53A-932316C7B121}']
|
|
||||||
end;
|
|
||||||
|
|
||||||
TfrViewGrid2Niveles = class(TfrViewGridBase, IViewGrid2Niveles)
|
|
||||||
cxGrid: TcxGrid;
|
|
||||||
cxGridLevel1N: TcxGridLevel;
|
|
||||||
cxGridView1N: TcxGridDBTableView;
|
|
||||||
dxComponentPrinter: TdxComponentPrinter;
|
|
||||||
dxPSEngineController1: TdxPSEngineController;
|
|
||||||
cxStyleRepository1: TcxStyleRepository;
|
|
||||||
cxStyleEven: TcxStyle;
|
|
||||||
cxStyleOdd: TcxStyle;
|
|
||||||
cxStyleSelection: TcxStyle;
|
|
||||||
cxStyleSinOrden: TcxStyle;
|
|
||||||
cxStyleConOrden: TcxStyle;
|
|
||||||
cxViewGridPopupMenu: TcxGridPopupMenu;
|
|
||||||
dxComponentPrinterLink: TdxGridReportLink;
|
|
||||||
cxStyleFiltered: TcxStyle;
|
|
||||||
cxStyleFilteredConOrden: TcxStyle;
|
|
||||||
cxGridLevel: TcxGridLevel;
|
|
||||||
cxGridView: TcxGridDBTableView;
|
|
||||||
procedure cxGridViewStylesGetContentStyle(
|
|
||||||
Sender: TcxCustomGridTableView; ARecord: TcxCustomGridRecord;
|
|
||||||
AItem: TcxCustomGridTableItem; out AStyle: TcxStyle);
|
|
||||||
procedure cxGridView1NDblClick(Sender: TObject);
|
|
||||||
protected
|
|
||||||
function GetGrid : TcxGrid; override;
|
|
||||||
function GetFocusedView : TcxGridDBTableView; override;
|
|
||||||
procedure SetPopupMenu(const Value: TPopupMenu); override;
|
|
||||||
procedure FilterChanged(Sender : TObject); override;
|
|
||||||
function GetFiltered: Boolean; override;
|
|
||||||
procedure FiltrarGrid(TextoFiltro : String); override;
|
|
||||||
public
|
|
||||||
procedure AjustarAncho; override;
|
|
||||||
procedure ContraerTodo; override;
|
|
||||||
procedure ExpandirTodo; override;
|
|
||||||
function IsEmpty : Boolean; override;
|
|
||||||
procedure RestoreFromRegistry (const Path : String); override;
|
|
||||||
procedure StoreToRegistry (const Path : String); override;
|
|
||||||
end;
|
|
||||||
|
|
||||||
implementation
|
|
||||||
|
|
||||||
uses
|
|
||||||
uDataModuleBase, uDBSelectionListUtils;
|
|
||||||
|
|
||||||
{$R *.dfm}
|
|
||||||
|
|
||||||
{
|
|
||||||
********************************* TfrViewGrid **********************************
|
|
||||||
}
|
|
||||||
|
|
||||||
{ TfrViewGrid }
|
|
||||||
function TfrViewGrid2Niveles.GetFiltered: Boolean;
|
|
||||||
begin
|
|
||||||
Result := inherited GetFiltered;
|
|
||||||
Result := Result OR (cxGridView1N.DataController.Filter.Root.Count > 0);
|
|
||||||
end;
|
|
||||||
|
|
||||||
function TfrViewGrid2Niveles.GetFocusedView: TcxGridDBTableView;
|
|
||||||
begin
|
|
||||||
Result := cxGridView;
|
|
||||||
end;
|
|
||||||
|
|
||||||
function TfrViewGrid2Niveles.GetGrid: TcxGrid;
|
|
||||||
begin
|
|
||||||
Result := cxGrid;
|
|
||||||
end;
|
|
||||||
|
|
||||||
function TfrViewGrid2Niveles.IsEmpty: Boolean;
|
|
||||||
begin
|
|
||||||
Result := (cxGridView1N.ViewData.RowCount < 1);
|
|
||||||
end;
|
|
||||||
|
|
||||||
procedure TfrViewGrid2Niveles.RestoreFromRegistry(const Path: String);
|
|
||||||
begin
|
|
||||||
inherited;
|
|
||||||
cxGridView1N.RestoreFromRegistry(Path + '\\GridSettings\\' + Self.Name, False, False, []);
|
|
||||||
end;
|
|
||||||
|
|
||||||
procedure TfrViewGrid2Niveles.SetPopupMenu(const Value: TPopupMenu);
|
|
||||||
begin
|
|
||||||
inherited;
|
|
||||||
cxViewGridPopupMenu.PopupMenus[0].PopupMenu := FPopupMenu;
|
|
||||||
end;
|
|
||||||
|
|
||||||
procedure TfrViewGrid2Niveles.StoreToRegistry(const Path: String);
|
|
||||||
begin
|
|
||||||
inherited;
|
|
||||||
cxGridView1N.StoreToRegistry(Path + '\\GridSettings\\' + Self.Name, False, []);
|
|
||||||
end;
|
|
||||||
|
|
||||||
procedure TfrViewGrid2Niveles.AjustarAncho;
|
|
||||||
begin
|
|
||||||
inherited;
|
|
||||||
cxGridView1N.ApplyBestFit;
|
|
||||||
end;
|
|
||||||
|
|
||||||
procedure TfrViewGrid2Niveles.ContraerTodo;
|
|
||||||
begin
|
|
||||||
inherited;
|
|
||||||
cxGridView1N.ViewData.Collapse(True);
|
|
||||||
end;
|
|
||||||
|
|
||||||
procedure TfrViewGrid2Niveles.cxGridView1NDblClick(Sender: TObject);
|
|
||||||
begin
|
|
||||||
inherited;
|
|
||||||
if Assigned(FOnDblClick) then
|
|
||||||
FOnDblClick(Sender);
|
|
||||||
end;
|
|
||||||
|
|
||||||
procedure TfrViewGrid2Niveles.cxGridViewStylesGetContentStyle(
|
|
||||||
Sender: TcxCustomGridTableView; ARecord: TcxCustomGridRecord;
|
|
||||||
AItem: TcxCustomGridTableItem; out AStyle: TcxStyle);
|
|
||||||
begin
|
|
||||||
inherited;
|
|
||||||
if Assigned(AItem) then
|
|
||||||
begin
|
|
||||||
if AItem.SortOrder = soNone then
|
|
||||||
AStyle := cxStyleSinOrden
|
|
||||||
else begin
|
|
||||||
AStyle := cxStyleConOrden;
|
|
||||||
if Filtered then
|
|
||||||
AStyle := cxStyleFilteredConOrden;
|
|
||||||
end;
|
|
||||||
end;
|
|
||||||
end;
|
|
||||||
|
|
||||||
procedure TfrViewGrid2Niveles.ExpandirTodo;
|
|
||||||
begin
|
|
||||||
inherited;
|
|
||||||
cxGridView1N.ViewData.Expand(True);
|
|
||||||
end;
|
|
||||||
|
|
||||||
procedure TfrViewGrid2Niveles.FilterChanged(Sender: TObject);
|
|
||||||
begin
|
|
||||||
inherited;
|
|
||||||
if Filtered then
|
|
||||||
begin
|
|
||||||
_FocusedView.Styles.Content := cxStyleFiltered;
|
|
||||||
cxGridView1N.Styles.Content := cxStyleFiltered
|
|
||||||
end
|
|
||||||
else
|
|
||||||
begin
|
|
||||||
_FocusedView.Styles.Content := nil;
|
|
||||||
cxGridView1N.Styles.Content := nil
|
|
||||||
end;
|
|
||||||
end;
|
|
||||||
|
|
||||||
procedure TfrViewGrid2Niveles.FiltrarGrid(TextoFiltro: String);
|
|
||||||
var
|
|
||||||
Columna: TcxGridDBColumn;
|
|
||||||
i: Integer;
|
|
||||||
AItemList: TcxFilterCriteriaItemList;
|
|
||||||
begin
|
|
||||||
inherited;
|
|
||||||
|
|
||||||
with cxGridView1N.DataController.Filter do
|
|
||||||
begin
|
|
||||||
BeginUpdate;
|
|
||||||
try
|
|
||||||
Options := [fcoCaseInsensitive, fcoSoftCompare];
|
|
||||||
Root.Clear;
|
|
||||||
if Length(TextoFiltro) > 0 then
|
|
||||||
begin
|
|
||||||
AItemList := Root.AddItemList(fboAnd);
|
|
||||||
AItemList.BoolOperatorKind := fboOr;
|
|
||||||
for i:=0 to (cxGridView1N as TcxGridDBTableView).ColumnCount - 1 do
|
|
||||||
begin
|
|
||||||
Columna := (cxGridView1N as TcxGridDBTableView).Columns[i];
|
|
||||||
if (Length(Columna.Caption) > 0) and (Columna.Caption <> 'RecID') then
|
|
||||||
AItemList.AddItem(Columna, foLike, '%'+TextoFiltro+'%', IntToStr(i));
|
|
||||||
end;
|
|
||||||
Active := True;
|
|
||||||
end
|
|
||||||
else
|
|
||||||
Active := False;
|
|
||||||
finally
|
|
||||||
EndUpdate;
|
|
||||||
end;
|
|
||||||
end;
|
|
||||||
end;
|
|
||||||
|
|
||||||
end.
|
|
||||||
|
|
||||||
Binary file not shown.
@ -1,10 +0,0 @@
|
|||||||
inherited frViewGridBase: TfrViewGridBase
|
|
||||||
Width = 441
|
|
||||||
Height = 268
|
|
||||||
ExplicitWidth = 441
|
|
||||||
ExplicitHeight = 268
|
|
||||||
object dsDataSource: TDADataSource
|
|
||||||
Left = 8
|
|
||||||
Top = 16
|
|
||||||
end
|
|
||||||
end
|
|
||||||
@ -1,421 +0,0 @@
|
|||||||
{*******************************************************}
|
|
||||||
{ }
|
|
||||||
{ Administración de puntos de venta }
|
|
||||||
{ }
|
|
||||||
{ Copyright (C) 2006 Rodax Software S.L. }
|
|
||||||
{ }
|
|
||||||
{*******************************************************}
|
|
||||||
|
|
||||||
unit uViewGridBase;
|
|
||||||
|
|
||||||
interface
|
|
||||||
|
|
||||||
uses
|
|
||||||
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
|
|
||||||
Dialogs, uViewBase, cxStyles, cxCustomData, cxGraphics, cxFilter, cxData,
|
|
||||||
cxDataStorage, cxEdit, DB, cxDBData, uDADataTable, cxGridLevel,
|
|
||||||
cxClasses, cxControls, cxGridCustomView, cxGridCustomTableView,
|
|
||||||
cxGridTableView, cxGridDBTableView, cxGrid, Menus, ActnList, Grids,
|
|
||||||
DBGrids, JvComponent, JvFormAutoSize, dxPSGlbl, dxPSUtl, dxPSEngn,
|
|
||||||
dxPrnPg, dxBkgnd, dxWrap, dxPrnDev, dxPSCompsProvider, dxPSFillPatterns,
|
|
||||||
dxPSEdgePatterns, dxPSCore, dxPScxCommon, dxPScxGridLnk, dxPrnDlg,
|
|
||||||
cxIntlPrintSys3, dxPSPrvwAdv, uGridUtils, uViewFiltroBase;
|
|
||||||
|
|
||||||
type
|
|
||||||
IViewGridBase = interface(IViewBase)
|
|
||||||
['{D5B9B017-2A2E-44AC-8223-E54664C6BC66}']
|
|
||||||
procedure ExpandirTodo;
|
|
||||||
procedure ContraerTodo;
|
|
||||||
procedure AjustarAncho;
|
|
||||||
|
|
||||||
procedure Preview;
|
|
||||||
procedure Print;
|
|
||||||
procedure PrintSetup;
|
|
||||||
|
|
||||||
function IsEmpty : Boolean;
|
|
||||||
|
|
||||||
procedure SaveGridStatus;
|
|
||||||
procedure RestoreGridStatus;
|
|
||||||
|
|
||||||
procedure GotoFirst;
|
|
||||||
procedure GotoLast;
|
|
||||||
|
|
||||||
function GetFocusedView : TcxGridDBTableView;
|
|
||||||
property _FocusedView : TcxGridDBTableView read GetFocusedView;
|
|
||||||
|
|
||||||
function GetGrid : TcxGrid;
|
|
||||||
property _Grid : TcxGrid read GetGrid;
|
|
||||||
|
|
||||||
procedure StoreToRegistry (const Path : String);
|
|
||||||
procedure RestoreFromRegistry (const Path : String);
|
|
||||||
|
|
||||||
procedure SetDblClick(const Value: TNotifyEvent);
|
|
||||||
function GetDblClick: TNotifyEvent;
|
|
||||||
property OnDblClick: TNotifyEvent read GetDblClick write SetDblClick;
|
|
||||||
|
|
||||||
procedure SetPopupMenu(const Value: TPopupMenu);
|
|
||||||
function GetPopupMenu: TPopupMenu;
|
|
||||||
property PopupMenu: TPopupMenu read GetPopupMenu write SetPopupMenu;
|
|
||||||
|
|
||||||
function GetMultiSelect: Boolean;
|
|
||||||
procedure SetMultiSelect(const Value: Boolean);
|
|
||||||
property MultiSelect : Boolean read GetMultiSelect write SetMultiSelect;
|
|
||||||
|
|
||||||
procedure SetFilter(const Value: string);
|
|
||||||
function GetFilter: string;
|
|
||||||
property Filter: string read GetFilter write SetFilter;
|
|
||||||
|
|
||||||
function GetFiltered: Boolean;
|
|
||||||
property Filtered : Boolean read GetFiltered;
|
|
||||||
|
|
||||||
function GetViewFiltros: IViewFiltroBase;
|
|
||||||
procedure SetViewFiltros(const Value: IViewFiltroBase);
|
|
||||||
property ViewFiltros: IViewFiltroBase read GetViewFiltros write SetViewFiltros;
|
|
||||||
|
|
||||||
function esSeleccionCeldaDatos: Boolean;
|
|
||||||
|
|
||||||
function getNumSeleccionados: Integer;
|
|
||||||
property NumSeleccionados: Integer read getNumSeleccionados;
|
|
||||||
|
|
||||||
function Locate(const AItemIndex: Integer; const AValue: String;
|
|
||||||
const APartialCompare: Boolean = False) : Boolean;
|
|
||||||
end;
|
|
||||||
|
|
||||||
|
|
||||||
TfrViewGridBase = class(TfrViewBase, IViewGridBase)
|
|
||||||
dsDataSource: TDADataSource;
|
|
||||||
private
|
|
||||||
FViewFiltros: IViewFiltroBase;
|
|
||||||
FFilter: string;
|
|
||||||
FOnFilterChanged : TNotifyEvent;
|
|
||||||
FGridStatus : TcxGridStatus;
|
|
||||||
protected
|
|
||||||
FOnDblClick: TNotifyEvent;
|
|
||||||
FPopupMenu: TPopupMenu;
|
|
||||||
function GetMultiSelect: Boolean; virtual;
|
|
||||||
procedure SetMultiSelect(const Value: Boolean); virtual;
|
|
||||||
procedure SetPopupMenu(const Value: TPopupMenu); virtual;
|
|
||||||
function GetPopupMenu: TPopupMenu; virtual;
|
|
||||||
procedure SetDblClick(const Value: TNotifyEvent); virtual;
|
|
||||||
function GetDblClick: TNotifyEvent; virtual;
|
|
||||||
function GetGrid : TcxGrid; virtual; abstract;
|
|
||||||
function GetFocusedView : TcxGridDBTableView; virtual; abstract;
|
|
||||||
function esSeleccionCeldaDatos: Boolean; virtual; abstract;
|
|
||||||
function getNumSeleccionados: Integer;
|
|
||||||
|
|
||||||
procedure SetFilter(const Value: string); virtual;
|
|
||||||
procedure RefrescarFiltro;
|
|
||||||
function GetFilter: string; virtual;
|
|
||||||
function GetFiltered: Boolean; virtual;
|
|
||||||
procedure FiltrarGrid(TextoFiltro : String); virtual;
|
|
||||||
function GetViewFiltros: IViewFiltroBase;
|
|
||||||
procedure SetViewFiltros(const Value: IViewFiltroBase); virtual;
|
|
||||||
procedure FilterChanged(Sender : TObject); virtual;
|
|
||||||
|
|
||||||
public
|
|
||||||
constructor Create(AOwner: TComponent); override;
|
|
||||||
destructor Destroy; override;
|
|
||||||
|
|
||||||
procedure ShowEmbedded(const AParent : TWinControl); override;
|
|
||||||
|
|
||||||
procedure ExpandirTodo; virtual;
|
|
||||||
procedure ContraerTodo; virtual;
|
|
||||||
procedure AjustarAncho; virtual;
|
|
||||||
|
|
||||||
procedure Preview; virtual;
|
|
||||||
procedure Print; virtual;
|
|
||||||
procedure PrintSetup; virtual;
|
|
||||||
|
|
||||||
function IsEmpty : Boolean; virtual;
|
|
||||||
|
|
||||||
procedure SaveGridStatus;
|
|
||||||
procedure RestoreGridStatus;
|
|
||||||
|
|
||||||
procedure GotoFirst;
|
|
||||||
procedure GotoLast;
|
|
||||||
|
|
||||||
procedure StoreToRegistry (const Path : String); virtual;
|
|
||||||
procedure RestoreFromRegistry (const Path : String); virtual;
|
|
||||||
|
|
||||||
function Locate(const AItemIndex: Integer; const AValue: String;
|
|
||||||
const APartialCompare: Boolean = False) : Boolean;
|
|
||||||
|
|
||||||
property Filter: string read GetFilter write SetFilter;
|
|
||||||
property Filtered : Boolean read GetFiltered;
|
|
||||||
|
|
||||||
procedure AnadirOtrosFiltros; virtual;
|
|
||||||
property ViewFiltros: IViewFiltroBase read GetViewFiltros write SetViewFiltros;
|
|
||||||
|
|
||||||
property _FocusedView : TcxGridDBTableView read GetFocusedView;
|
|
||||||
property _Grid : TcxGrid read GetGrid;
|
|
||||||
property OnDblClick: TNotifyEvent read GetDblClick write SetDblClick;
|
|
||||||
property PopupMenu: TPopupMenu read GetPopupMenu write SetPopupMenu;
|
|
||||||
property MultiSelect : Boolean read GetMultiSelect write SetMultiSelect;
|
|
||||||
property NumSeleccionados: Integer read getNumSeleccionados;
|
|
||||||
end;
|
|
||||||
|
|
||||||
procedure Register;
|
|
||||||
|
|
||||||
implementation
|
|
||||||
|
|
||||||
uses
|
|
||||||
CCReg, uDataModuleBase, uDBSelectionListUtils;
|
|
||||||
|
|
||||||
{$R *.dfm}
|
|
||||||
|
|
||||||
procedure Register;
|
|
||||||
begin
|
|
||||||
RegisterCustomContainer(TfrViewGridBase);
|
|
||||||
end;
|
|
||||||
|
|
||||||
{ TfrViewGrid }
|
|
||||||
|
|
||||||
procedure TfrViewGridBase.AjustarAncho;
|
|
||||||
begin
|
|
||||||
if Assigned(_FocusedView) then
|
|
||||||
_FocusedView.ApplyBestFit;
|
|
||||||
end;
|
|
||||||
|
|
||||||
procedure TfrViewGridBase.AnadirOtrosFiltros;
|
|
||||||
begin
|
|
||||||
//
|
|
||||||
end;
|
|
||||||
|
|
||||||
procedure TfrViewGridBase.ContraerTodo;
|
|
||||||
begin
|
|
||||||
if Assigned(_FocusedView) then
|
|
||||||
_FocusedView.ViewData.Collapse(True);
|
|
||||||
end;
|
|
||||||
|
|
||||||
constructor TfrViewGridBase.Create(AOwner: TComponent);
|
|
||||||
begin
|
|
||||||
inherited;
|
|
||||||
FFilter := '';
|
|
||||||
FOnFilterChanged := FilterChanged;
|
|
||||||
FPopupMenu := nil;
|
|
||||||
FOnDblClick := nil;
|
|
||||||
FGridStatus := NIL;
|
|
||||||
end;
|
|
||||||
|
|
||||||
procedure TfrViewGridBase.ExpandirTodo;
|
|
||||||
begin
|
|
||||||
if Assigned(_FocusedView) then
|
|
||||||
_FocusedView.ViewData.Expand(True);
|
|
||||||
end;
|
|
||||||
|
|
||||||
function TfrViewGridBase.GetDblClick: TNotifyEvent;
|
|
||||||
begin
|
|
||||||
Result := FOnDblClick;
|
|
||||||
end;
|
|
||||||
|
|
||||||
function TfrViewGridBase.GetFilter: string;
|
|
||||||
begin
|
|
||||||
Result := FFilter;
|
|
||||||
end;
|
|
||||||
|
|
||||||
function TfrViewGridBase.GetFiltered: Boolean;
|
|
||||||
begin
|
|
||||||
//Los niveles de los grid no se consideran filtros
|
|
||||||
if (_Grid.Levels.Count > 1) then
|
|
||||||
Result := (_FocusedView.DataController.Filter.Root.Count > 1)
|
|
||||||
else
|
|
||||||
Result := (_FocusedView.DataController.Filter.Root.Count > 0);
|
|
||||||
end;
|
|
||||||
|
|
||||||
function TfrViewGridBase.GetMultiSelect: Boolean;
|
|
||||||
begin
|
|
||||||
Result := _FocusedView.OptionsSelection.MultiSelect;
|
|
||||||
end;
|
|
||||||
|
|
||||||
function TfrViewGridBase.getNumSeleccionados: Integer;
|
|
||||||
begin
|
|
||||||
Result := _FocusedView.DataController.GetSelectedCount;
|
|
||||||
end;
|
|
||||||
|
|
||||||
function TfrViewGridBase.GetPopupMenu: TPopupMenu;
|
|
||||||
begin
|
|
||||||
Result := FPopupMenu;
|
|
||||||
end;
|
|
||||||
|
|
||||||
function TfrViewGridBase.GetViewFiltros: IViewFiltroBase;
|
|
||||||
begin
|
|
||||||
Result := FViewFiltros;
|
|
||||||
end;
|
|
||||||
|
|
||||||
procedure TfrViewGridBase.GotoFirst;
|
|
||||||
begin
|
|
||||||
if Assigned(_FocusedView) then
|
|
||||||
_FocusedView.DataController.GotoFirst;
|
|
||||||
end;
|
|
||||||
|
|
||||||
procedure TfrViewGridBase.GotoLast;
|
|
||||||
begin
|
|
||||||
if Assigned(_FocusedView) then
|
|
||||||
_FocusedView.DataController.GotoLast;
|
|
||||||
end;
|
|
||||||
|
|
||||||
function TfrViewGridBase.IsEmpty: Boolean;
|
|
||||||
begin
|
|
||||||
Result := (_FocusedView.ViewData.RowCount < 1);
|
|
||||||
end;
|
|
||||||
|
|
||||||
function TfrViewGridBase.Locate(const AItemIndex: Integer; const AValue: String;
|
|
||||||
const APartialCompare: Boolean): Boolean;
|
|
||||||
begin
|
|
||||||
{ if Assigned(_FocusedView) then
|
|
||||||
Result := _FocusedView.DataController.FindRecordIndexByText(0, AItemIndex, AText, APartialCompare, True, True)}
|
|
||||||
end;
|
|
||||||
|
|
||||||
procedure TfrViewGridBase.Preview;
|
|
||||||
begin
|
|
||||||
//
|
|
||||||
end;
|
|
||||||
|
|
||||||
procedure TfrViewGridBase.Print;
|
|
||||||
begin
|
|
||||||
//
|
|
||||||
end;
|
|
||||||
|
|
||||||
procedure TfrViewGridBase.PrintSetup;
|
|
||||||
begin
|
|
||||||
//
|
|
||||||
end;
|
|
||||||
|
|
||||||
procedure TfrViewGridBase.RefrescarFiltro;
|
|
||||||
begin
|
|
||||||
//De esta forma obligaremos a que se creen nuevamente todos los filtros, cuando llamemos a este metodo
|
|
||||||
if Assigned(ViewFiltros) then
|
|
||||||
Filter := ViewFiltros.Texto;
|
|
||||||
end;
|
|
||||||
|
|
||||||
procedure TfrViewGridBase.RestoreFromRegistry(const Path : String);
|
|
||||||
begin
|
|
||||||
if Assigned(_FocusedView) then
|
|
||||||
_FocusedView.RestoreFromRegistry(Path + '\\GridSettings\\' + Self.Name, False, False, [], Self.Name);
|
|
||||||
end;
|
|
||||||
|
|
||||||
procedure TfrViewGridBase.RestoreGridStatus;
|
|
||||||
begin
|
|
||||||
if Assigned(FGridStatus) and (not IsEmpty) then
|
|
||||||
FGridStatus.Restore(_FocusedView);
|
|
||||||
end;
|
|
||||||
|
|
||||||
procedure TfrViewGridBase.SaveGridStatus;
|
|
||||||
begin
|
|
||||||
FreeAndNil(FGridStatus);
|
|
||||||
if not IsEmpty then
|
|
||||||
FGridStatus := TcxGridStatus.Create(_FocusedView);
|
|
||||||
end;
|
|
||||||
|
|
||||||
procedure TfrViewGridBase.SetDblClick(const Value: TNotifyEvent);
|
|
||||||
begin
|
|
||||||
FOnDblClick := Value;
|
|
||||||
end;
|
|
||||||
|
|
||||||
procedure TfrViewGridBase.SetFilter(const Value: string);
|
|
||||||
begin
|
|
||||||
FFilter := Value;
|
|
||||||
|
|
||||||
//Así tendremos el mismo valor en el filtro simple que en el filtro en detalle
|
|
||||||
if Assigned(ViewFiltros) then
|
|
||||||
ViewFiltros.Texto := FFilter;
|
|
||||||
|
|
||||||
FiltrarGrid(FFilter);
|
|
||||||
|
|
||||||
//Obliga a generar todos los filtros de las vista hija
|
|
||||||
AnadirOtrosFiltros;
|
|
||||||
|
|
||||||
if Assigned(FOnFilterChanged) then
|
|
||||||
FOnFilterChanged(Self);
|
|
||||||
end;
|
|
||||||
|
|
||||||
procedure TfrViewGridBase.SetMultiSelect(const Value: Boolean);
|
|
||||||
begin
|
|
||||||
_FocusedView.OptionsSelection.MultiSelect := Value;
|
|
||||||
// _FocusedView..OnSelectionChanged := SelectionChanged;
|
|
||||||
end;
|
|
||||||
|
|
||||||
procedure TfrViewGridBase.SetPopupMenu(const Value: TPopupMenu);
|
|
||||||
begin
|
|
||||||
FPopupMenu := Value;
|
|
||||||
end;
|
|
||||||
|
|
||||||
procedure TfrViewGridBase.SetViewFiltros(const Value: IViewFiltroBase);
|
|
||||||
begin
|
|
||||||
if Assigned(FViewFiltros) then
|
|
||||||
ViewFiltros.OnFiltrosChange := Nil;
|
|
||||||
|
|
||||||
FViewFiltros := Value;
|
|
||||||
end;
|
|
||||||
|
|
||||||
procedure TfrViewGridBase.ShowEmbedded(const AParent: TWinControl);
|
|
||||||
begin
|
|
||||||
inherited;
|
|
||||||
|
|
||||||
// No activar la tabla ya por si acaso tuviera parámetros
|
|
||||||
{ if not DADataSource.DataTable.Active then
|
|
||||||
DADataSource.DataTable.Active := True;}
|
|
||||||
|
|
||||||
GotoFirst;
|
|
||||||
_FocusedView.Focused := True;
|
|
||||||
if _FocusedView.ViewData.RecordCount > 0 then
|
|
||||||
begin
|
|
||||||
_FocusedView.ViewData.Records[0].Selected := True;
|
|
||||||
_FocusedView.ViewData.Records[0].Focused := True;
|
|
||||||
end;
|
|
||||||
end;
|
|
||||||
|
|
||||||
procedure TfrViewGridBase.StoreToRegistry(const Path : String);
|
|
||||||
begin
|
|
||||||
if Assigned(_FocusedView) then
|
|
||||||
_FocusedView.StoreToRegistry(Path + '\\GridSettings\\' + Self.Name, False, [], Self.Name);
|
|
||||||
end;
|
|
||||||
|
|
||||||
procedure TfrViewGridBase.FiltrarGrid(TextoFiltro : String);
|
|
||||||
var
|
|
||||||
Columna: TcxGridDBColumn;
|
|
||||||
i: Integer;
|
|
||||||
AItemList: TcxFilterCriteriaItemList;
|
|
||||||
begin
|
|
||||||
with _FocusedView.DataController.Filter do
|
|
||||||
begin
|
|
||||||
BeginUpdate;
|
|
||||||
try
|
|
||||||
Options := [fcoCaseInsensitive, fcoSoftCompare];
|
|
||||||
Root.Clear;
|
|
||||||
if Length(TextoFiltro) > 0 then
|
|
||||||
begin
|
|
||||||
AItemList := Root.AddItemList(fboAnd);
|
|
||||||
AItemList.BoolOperatorKind := fboOr;
|
|
||||||
for i:=0 to (_FocusedView as TcxGridDBTableView).ColumnCount - 1 do
|
|
||||||
begin
|
|
||||||
Columna := (_FocusedView as TcxGridDBTableView).Columns[i];
|
|
||||||
if (Length(Columna.Caption) > 0) and (Columna.Caption <> 'RecID') then
|
|
||||||
AItemList.AddItem(Columna, foLike, '%'+TextoFiltro+'%', IntToStr(i));
|
|
||||||
end;
|
|
||||||
Active := True;
|
|
||||||
end
|
|
||||||
else
|
|
||||||
Active := False;
|
|
||||||
finally
|
|
||||||
EndUpdate;
|
|
||||||
end;
|
|
||||||
end;
|
|
||||||
end;
|
|
||||||
|
|
||||||
|
|
||||||
procedure TfrViewGridBase.FilterChanged(Sender: TObject);
|
|
||||||
begin
|
|
||||||
//
|
|
||||||
end;
|
|
||||||
|
|
||||||
destructor TfrViewGridBase.Destroy;
|
|
||||||
begin
|
|
||||||
FOnFilterChanged := Nil;
|
|
||||||
if Assigned(FGridStatus) then
|
|
||||||
FreeAndNil(FGridStatus);
|
|
||||||
inherited;
|
|
||||||
end;
|
|
||||||
|
|
||||||
end.
|
|
||||||
|
|
||||||
Binary file not shown.
@ -1,54 +0,0 @@
|
|||||||
inherited frViewIncidencias: TfrViewIncidencias
|
|
||||||
Width = 451
|
|
||||||
Height = 370
|
|
||||||
Align = alBottom
|
|
||||||
ExplicitWidth = 451
|
|
||||||
ExplicitHeight = 370
|
|
||||||
object pnlSup: TPanel
|
|
||||||
Left = 0
|
|
||||||
Top = 0
|
|
||||||
Width = 451
|
|
||||||
Height = 28
|
|
||||||
Align = alTop
|
|
||||||
BevelOuter = bvNone
|
|
||||||
TabOrder = 0
|
|
||||||
object eIncidenciaActiva: TcxDBCheckBox
|
|
||||||
Left = 2
|
|
||||||
Top = 4
|
|
||||||
Caption = 'Hay incidencias sin resolver'
|
|
||||||
DataBinding.DataField = 'INCIDENCIAS_ACTIVAS'
|
|
||||||
DataBinding.DataSource = DADataSource
|
|
||||||
Properties.ValueChecked = 1
|
|
||||||
Properties.ValueUnchecked = 0
|
|
||||||
TabOrder = 0
|
|
||||||
Transparent = True
|
|
||||||
Width = 359
|
|
||||||
end
|
|
||||||
end
|
|
||||||
object GroupBox1: TGroupBox
|
|
||||||
Left = 0
|
|
||||||
Top = 28
|
|
||||||
Width = 451
|
|
||||||
Height = 342
|
|
||||||
Align = alClient
|
|
||||||
Caption = 'Incidencias'
|
|
||||||
TabOrder = 1
|
|
||||||
DesignSize = (
|
|
||||||
451
|
|
||||||
342)
|
|
||||||
object eIncidencias: TcxDBMemo
|
|
||||||
Left = 10
|
|
||||||
Top = 22
|
|
||||||
Anchors = [akLeft, akTop, akRight, akBottom]
|
|
||||||
DataBinding.DataField = 'INCIDENCIAS'
|
|
||||||
DataBinding.DataSource = DADataSource
|
|
||||||
TabOrder = 0
|
|
||||||
Height = 305
|
|
||||||
Width = 420
|
|
||||||
end
|
|
||||||
end
|
|
||||||
object DADataSource: TDADataSource
|
|
||||||
Left = 560
|
|
||||||
Top = 8
|
|
||||||
end
|
|
||||||
end
|
|
||||||
@ -1,30 +0,0 @@
|
|||||||
unit uViewIncidencias;
|
|
||||||
|
|
||||||
interface
|
|
||||||
|
|
||||||
uses
|
|
||||||
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
|
|
||||||
Dialogs, uViewBase, ExtCtrls, StdCtrls, DB, uDADataTable, cxGraphics,
|
|
||||||
cxTextEdit, cxMaskEdit, cxDropDownEdit, cxDBEdit, cxControls,
|
|
||||||
cxContainer, cxEdit, cxLabel, cxDBLabel, cxCurrencyEdit, cxSpinEdit,
|
|
||||||
cxCheckBox, cxMemo;
|
|
||||||
|
|
||||||
type
|
|
||||||
TfrViewIncidencias = class(TfrViewBase)
|
|
||||||
DADataSource: TDADataSource;
|
|
||||||
pnlSup: TPanel;
|
|
||||||
eIncidenciaActiva: TcxDBCheckBox;
|
|
||||||
eIncidencias: TcxDBMemo;
|
|
||||||
GroupBox1: TGroupBox;
|
|
||||||
private
|
|
||||||
{ Private declarations }
|
|
||||||
public
|
|
||||||
{ Public declarations }
|
|
||||||
end;
|
|
||||||
|
|
||||||
|
|
||||||
implementation
|
|
||||||
|
|
||||||
{$R *.dfm}
|
|
||||||
|
|
||||||
end.
|
|
||||||
Binary file not shown.
@ -1,46 +0,0 @@
|
|||||||
inherited frViewObservaciones: TfrViewObservaciones
|
|
||||||
Width = 300
|
|
||||||
DesignSize = (
|
|
||||||
300
|
|
||||||
226)
|
|
||||||
object Label5: TLabel
|
|
||||||
Left = 8
|
|
||||||
Top = 8
|
|
||||||
Width = 85
|
|
||||||
Height = 13
|
|
||||||
Caption = 'Observaciones'
|
|
||||||
Font.Charset = DEFAULT_CHARSET
|
|
||||||
Font.Color = clActiveCaption
|
|
||||||
Font.Height = -11
|
|
||||||
Font.Name = 'MS Sans Serif'
|
|
||||||
Font.Style = [fsBold]
|
|
||||||
ParentFont = False
|
|
||||||
end
|
|
||||||
object Bevel1: TBevel
|
|
||||||
Left = 96
|
|
||||||
Top = 8
|
|
||||||
Width = 192
|
|
||||||
Height = 9
|
|
||||||
Anchors = [akLeft, akTop, akRight]
|
|
||||||
Shape = bsBottomLine
|
|
||||||
end
|
|
||||||
object memObservaciones: TcxDBMemo
|
|
||||||
Left = 16
|
|
||||||
Top = 32
|
|
||||||
Anchors = [akLeft, akTop, akRight, akBottom]
|
|
||||||
DataBinding.DataField = 'OBSERVACIONES'
|
|
||||||
DataBinding.DataSource = DADataSource
|
|
||||||
Properties.ScrollBars = ssVertical
|
|
||||||
Style.LookAndFeel.NativeStyle = True
|
|
||||||
StyleDisabled.LookAndFeel.NativeStyle = True
|
|
||||||
StyleFocused.LookAndFeel.NativeStyle = True
|
|
||||||
StyleHot.LookAndFeel.NativeStyle = True
|
|
||||||
TabOrder = 0
|
|
||||||
Height = 179
|
|
||||||
Width = 269
|
|
||||||
end
|
|
||||||
object DADataSource: TDADataSource
|
|
||||||
Left = 16
|
|
||||||
Top = 48
|
|
||||||
end
|
|
||||||
end
|
|
||||||
@ -1,26 +0,0 @@
|
|||||||
unit uViewObservaciones;
|
|
||||||
|
|
||||||
interface
|
|
||||||
|
|
||||||
uses
|
|
||||||
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
|
|
||||||
Dialogs, uViewBase, DB, uDADataTable, cxMemo, cxDBEdit, cxControls,
|
|
||||||
cxContainer, cxEdit, cxTextEdit, ExtCtrls, StdCtrls;
|
|
||||||
|
|
||||||
type
|
|
||||||
TfrViewObservaciones = class(TfrViewBase)
|
|
||||||
Label5: TLabel;
|
|
||||||
Bevel1: TBevel;
|
|
||||||
memObservaciones: TcxDBMemo;
|
|
||||||
DADataSource: TDADataSource;
|
|
||||||
private
|
|
||||||
{ Private declarations }
|
|
||||||
public
|
|
||||||
{ Public declarations }
|
|
||||||
end;
|
|
||||||
|
|
||||||
implementation
|
|
||||||
|
|
||||||
{$R *.dfm}
|
|
||||||
|
|
||||||
end.
|
|
||||||
Binary file not shown.
@ -1,10 +0,0 @@
|
|||||||
inherited frViewPreview: TfrViewPreview
|
|
||||||
object frxPreview: TfrxPreview
|
|
||||||
Left = 0
|
|
||||||
Top = 0
|
|
||||||
Width = 294
|
|
||||||
Height = 214
|
|
||||||
Align = alClient
|
|
||||||
OutlineVisible = False
|
|
||||||
end
|
|
||||||
end
|
|
||||||
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user