- Recompilación en Delphi10 de todos los paquetes de RO para generar las DCU's en Lib\D10 - Recompilación en Delphi10 de todos los paquetes de DA para generar las DCU's en Lib\D10 git-svn-id: https://192.168.0.254/svn/Componentes.Terceros.RemObjects@9 b6239004-a887-0f4b-9937-50029ccdca16
189 lines
5.3 KiB
ObjectPascal
189 lines
5.3 KiB
ObjectPascal
unit ArraysClientMain;
|
|
|
|
interface
|
|
|
|
uses
|
|
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls,
|
|
uROClient, uROClientIntf, uRORemoteService, uROWinInetHttpChannel,
|
|
uROBinMessage, Grids, DBGrids, ComCtrls, ArraysLibrary_Intf, ExtCtrls;
|
|
|
|
type
|
|
TArraysClientMainForm = class(TForm)
|
|
ROMessage: TROBinMessage;
|
|
ROChannel: TROWinInetHTTPChannel;
|
|
RORemoteService: TRORemoteService;
|
|
CustomersGrid: TStringGrid;
|
|
OrdersGrid: TStringGrid;
|
|
Splitter1: TSplitter;
|
|
OpenButton: TButton;
|
|
Panel1: TPanel;
|
|
procedure OpenButtonClick(Sender: TObject);
|
|
procedure FormCreate(Sender: TObject);
|
|
procedure FormDestroy(Sender: TObject);
|
|
procedure CustomersGridSelectCell(Sender: TObject; ACol, ARow: Integer;
|
|
var CanSelect: Boolean);
|
|
private
|
|
{ Private declarations }
|
|
CustCol: CustomersCollection;
|
|
OrdCol: OrdersCollection;
|
|
FCustID: string;
|
|
procedure SetupGrid;
|
|
procedure SetupCustomers;
|
|
procedure SetupOrders(CustID: string);
|
|
procedure ClearGrid(Grid: TStringGrid);
|
|
public
|
|
{ Public declarations }
|
|
end;
|
|
|
|
var
|
|
ArraysClientMainForm: TArraysClientMainForm;
|
|
|
|
implementation
|
|
|
|
{$R *.dfm}
|
|
|
|
procedure TArraysClientMainForm.OpenButtonClick(Sender: TObject);
|
|
var
|
|
tbl: Tables;
|
|
begin
|
|
tbl := (RORemoteService as IArraysService).GetTables;
|
|
try
|
|
CustCol.LoadFromArray(tbl.aCustomers);
|
|
OrdCol.LoadFromArray(tbl.aOrders);
|
|
finally
|
|
tbl.Free;
|
|
end;
|
|
SetupCustomers;
|
|
SetupOrders(CustomersGrid.Cells[0, 1]);
|
|
end;
|
|
|
|
procedure TArraysClientMainForm.FormCreate(Sender: TObject);
|
|
begin
|
|
CustCol := CustomersCollection.Create;
|
|
OrdCol := OrdersCollection.Create;
|
|
SetupGrid;
|
|
end;
|
|
|
|
procedure TArraysClientMainForm.FormDestroy(Sender: TObject);
|
|
begin
|
|
CustCol.Free;
|
|
OrdCol.Free;
|
|
end;
|
|
|
|
procedure TArraysClientMainForm.SetupGrid;
|
|
begin
|
|
with CustomersGrid do begin
|
|
if RowCount < 2 then RowCount := 2;
|
|
ColCount:=11;
|
|
FixedRows := 1;
|
|
Cells[0, 0] := 'CustomerID';
|
|
Cells[1, 0] := 'CompanyName';
|
|
Cells[2, 0] := 'ContactName';
|
|
Cells[3, 0] := 'ContactTitle';
|
|
Cells[4, 0] := 'Address';
|
|
Cells[5, 0] := 'City';
|
|
Cells[6, 0] := 'Region';
|
|
Cells[7, 0] := 'Postalcode';
|
|
Cells[8, 0] := 'Country';
|
|
Cells[9, 0] := 'Phone';
|
|
Cells[10, 0] := 'Fax';
|
|
end;
|
|
with OrdersGrid do begin
|
|
if RowCount < 2 then RowCount := 2;
|
|
ColCount:= 14;
|
|
FixedRows := 1;
|
|
Cells[0, 0] := 'OrderID';
|
|
Cells[1, 0] := 'CustomerID';
|
|
Cells[2, 0] := 'EmployeeID';
|
|
Cells[3, 0] := 'OrderDate';
|
|
Cells[4, 0] := 'RequiredDate';
|
|
Cells[5, 0] := 'ShippedDate';
|
|
Cells[6, 0] := 'ShipVia';
|
|
Cells[7, 0] := 'Freight';
|
|
Cells[8, 0] := 'ShipName';
|
|
Cells[9, 0] := 'ShipAddress';
|
|
Cells[10, 0] := 'ShipCity';
|
|
Cells[11, 0] := 'ShipRegion';
|
|
Cells[12, 0] := 'ShipPostalCode';
|
|
Cells[13, 0] := 'ShipCountry';
|
|
end;
|
|
end;
|
|
|
|
procedure TArraysClientMainForm.SetupCustomers;
|
|
var
|
|
i: integer;
|
|
CustItem: Customers;
|
|
begin
|
|
ClearGrid(CustomersGrid);
|
|
with CustomersGrid do begin
|
|
RowCount := 1 + CustCol.Count;
|
|
for i := 0 to CustCol.Count - 1 do begin
|
|
CustItem := CustCol[i];
|
|
Cells[0, i + 1] := CustItem.CustomerID;
|
|
Cells[1, i + 1] := CustItem.CompanyName;
|
|
Cells[2, i + 1] := CustItem.ContactName;
|
|
Cells[3, i + 1] := CustItem.ContactTitle;
|
|
Cells[4, i + 1] := CustItem.Address;
|
|
Cells[5, i + 1] := CustItem.City;
|
|
Cells[6, i + 1] := CustItem.Region;
|
|
Cells[7, i + 1] := CustItem.Postalcode;
|
|
Cells[8, i + 1] := CustItem.Country;
|
|
Cells[9, i + 1] := CustItem.Phone;
|
|
Cells[10, i + 1] := CustItem.Fax;
|
|
end;
|
|
end;
|
|
end;
|
|
|
|
procedure TArraysClientMainForm.SetupOrders(CustID: string);
|
|
var
|
|
i: integer;
|
|
k: integer;
|
|
OrdersItem: Orders;
|
|
begin
|
|
if FCustID = CustID then Exit;
|
|
ClearGrid(OrdersGrid);
|
|
with OrdersGrid do begin
|
|
FCustID := CustID;
|
|
RowCount := 1 + OrdCol.Count;
|
|
k := 0;
|
|
for i := 0 to OrdCol.Count - 1 do begin
|
|
OrdersItem := OrdCol[i];
|
|
if OrdersItem.CustomerID = CustID then begin
|
|
inc(k);
|
|
Cells[0, k] := IntToStr(OrdersItem.OrderID);
|
|
Cells[1, k] := OrdersItem.CustomerID;
|
|
Cells[2, k] := IntToStr(OrdersItem.EmployeeID);
|
|
Cells[3, k] := DateTimeToStr(OrdersItem.OrderDate);
|
|
Cells[4, k] := DateTimeToStr(OrdersItem.RequiredDate);
|
|
Cells[5, k] := DateTimeToStr(OrdersItem.ShippedDate);
|
|
Cells[6, k] := IntToStr(OrdersItem.ShipVia);
|
|
Cells[7, k] := CurrToStr(OrdersItem.Freight);
|
|
Cells[8, k] := OrdersItem.ShipName;
|
|
Cells[9, k] := OrdersItem.ShipAddress;
|
|
Cells[10, k] := OrdersItem.ShipCity;
|
|
Cells[11, k] := OrdersItem.ShipRegion;
|
|
Cells[12, k] := OrdersItem.ShipPostalCode;
|
|
Cells[13, k] := OrdersItem.ShipCountry;
|
|
end;
|
|
end;
|
|
if k > 0 then RowCount := k + 1 else ClearGrid(OrdersGrid);
|
|
end;
|
|
end;
|
|
|
|
procedure TArraysClientMainForm.ClearGrid(Grid: TStringGrid);
|
|
begin
|
|
Grid.RowCount := 1;
|
|
Grid.RowCount := 2;
|
|
Grid.Rows[1].Clear;
|
|
Grid.FixedRows := 1;
|
|
end;
|
|
|
|
procedure TArraysClientMainForm.CustomersGridSelectCell(Sender: TObject; ACol,
|
|
ARow: Integer; var CanSelect: Boolean);
|
|
begin
|
|
if ARow > 0 then SetupOrders(CustomersGrid.Cells[0, aRow]);
|
|
end;
|
|
|
|
end.
|
|
|