home *** CD-ROM | disk | FTP | other *** search
/ Chip 2002 October / Chip_2002-10_cd1.bin / zkuste / delphi / kolekce / d56 / FLEXCEL.ZIP / FlexCel / UExcelAdapter.pas < prev    next >
Pascal/Delphi Source File  |  2002-07-02  |  5KB  |  115 lines

  1. unit UExcelAdapter;
  2.  
  3. interface
  4.  
  5. uses
  6.   Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms,
  7.   {$IFDEF ConditionalExpressions}{$if CompilerVersion >= 14} variants,{$IFEND}{$ENDIF} //Delphi 6 or above
  8.   UFlxMessages;
  9.  
  10. type
  11.   TExcelFile=class
  12.   protected
  13.     function GetCellValue(aRow, aCol: integer): Variant; virtual; abstract;
  14.     procedure SetCellValue(aRow, aCol: integer; const Value: Variant); virtual; abstract;
  15.  
  16.     function GetCommentsCount(Row: integer): integer; virtual; abstract;
  17.     function GetCommentText(Row, aPos: integer): Widestring; virtual; abstract;
  18.     function GetPictureName(Row, aPos: integer): Widestring; virtual; abstract;
  19.     function GetPicturesCount(Row: integer): integer; virtual; abstract;
  20.  
  21.     function GetExcelNameCount: integer; virtual; abstract;
  22.     function GetRangeName(index: integer): Widestring; virtual; abstract;
  23.     function GetRangeR1(index: integer): integer; virtual; abstract;
  24.     function GetRangeR2(index: integer): integer; virtual; abstract;
  25.     function GetRangeC1(index: integer): integer; virtual; abstract;
  26.     function GetRangeC2(index: integer): integer; virtual; abstract;
  27.     function GetRangeSheet(index: integer): integer; virtual; abstract;
  28.  
  29.     function GetActiveSheet: byte; virtual; abstract;
  30.     procedure SetActiveSheet(const Value: byte); virtual; abstract;
  31.     function GetActiveSheetName: WideString; virtual; abstract;
  32.     procedure SetActiveSheetName(const Value: WideString); virtual; abstract;
  33.   public
  34.     procedure Connect;virtual;abstract;
  35.     procedure Disconnect;virtual;abstract;
  36.  
  37.     procedure OpenFile(const FileName: TFileName);virtual;abstract;
  38.     procedure CloseFile; virtual; abstract;
  39.  
  40.     property ActiveSheet: byte read GetActiveSheet write SetActiveSheet;
  41.     procedure InsertAndCopySheets (const CopyFrom, InsertBefore, SheetCount: byte);virtual;abstract;
  42.     function SheetCount: byte;virtual;abstract;
  43.     property ActiveSheetName: WideString read GetActiveSheetName write SetActiveSheetName;
  44.     procedure SelectSheet(const SheetNo:integer); virtual; abstract;
  45.  
  46.     procedure DeleteMarkedRows(const Mark: Widestring);virtual;abstract;
  47.     procedure RefreshPivotTables;virtual;abstract;
  48.  
  49.     procedure Save(const AutoClose: boolean; const FileName: string; const OnGetFileName: TOnGetFileNameEvent);virtual;abstract;
  50.  
  51.     procedure InsertAndCopyRows(const FirstRow, LastRow, DestRow, aCount: integer; const OnlyFormulas: boolean);virtual;abstract;
  52.     procedure DeleteRows(const aRow, aCount: word);virtual;abstract;
  53.  
  54.     procedure BeginSheet; virtual; abstract;
  55.     procedure EndSheet(const RowOffset: integer); virtual; abstract;
  56.  
  57.     function CanOptimizeRead: boolean; virtual;abstract;
  58.  
  59.     property RangeCount: integer read GetExcelNameCount;
  60.     property RangeName[index: integer]: Widestring read GetRangeName;
  61.     property RangeR1[index: integer]: integer read GetRangeR1;
  62.     property RangeR2[index: integer]: integer read GetRangeR2;
  63.     property RangeC1[index: integer]: integer read GetRangeC1;
  64.     property RangeC2[index: integer]: integer read GetRangeC2;
  65.     property RangeSheet[index: integer]: integer read GetRangeSheet;
  66.  
  67.     property PicturesCount[Row: integer]: integer read GetPicturesCount;
  68.     property PictureName[Row: integer; aPos: integer]: Widestring read GetPictureName;
  69.     procedure AssignPicture(const Row, aPos: integer; const Pic: string; const PicType: TXlsImgTypes); virtual;abstract;
  70.  
  71.     property CommentsCount[Row: integer]: integer read GetCommentsCount;
  72.     property CommentText[Row: integer; aPos: integer]: Widestring read GetCommentText;
  73.     procedure AssignComment(const Row, aPos: integer; const Comment: Widestring); virtual;abstract;
  74.  
  75.     function CellCount(const aRow: integer): integer;virtual;abstract;
  76.     function GetCellData(const aRow, aColOffset: integer): variant;virtual;abstract;
  77.     function GetCellDataX(const aRow, aColOffset: integer): TXlsCellValue;virtual;abstract;
  78.     procedure AssignCellData(const aRow, aColOffset: integer; const Value: variant);virtual;abstract;
  79.     procedure AssignCellDataX(const aRow, aColOffset: integer; const Value: TXlsCellValue);virtual;abstract;
  80.     function MaxRow: integer; virtual;abstract;
  81.     function IsEmptyRow(const aRow: integer): boolean; virtual; abstract;
  82.     property CellValue[aRow, aCol: integer]: Variant read GetCellValue write SetCellValue; //this is for ole handling
  83.  
  84.     procedure SetBounds(const aRangePos: integer);virtual;abstract;
  85.  
  86.     procedure PrepareBlockData(const R1,C1,R2,C2: integer);virtual;abstract;
  87.     procedure AssignBlockData(const Row,Col: integer; const v: variant);virtual;abstract;
  88.     procedure PasteBlockData;virtual;abstract;
  89.  
  90.  
  91.   end;
  92.  
  93.   TExcelAdapter = class(TComponent)
  94.   private
  95.     { Private declarations }
  96.   protected
  97.     { Protected declarations }
  98.   public
  99.     function GetWorkbook: TExcelFile;virtual;abstract;
  100.     { Public declarations }
  101.   published
  102.     { Published declarations }
  103.   end;
  104.  
  105. procedure Register;
  106.  
  107. implementation
  108.  
  109. procedure Register;
  110. begin
  111.   //No Register...
  112. end;
  113.  
  114. end.
  115.