📄 tmsuflxmessages.pas
字号:
/// <summary>
/// Contains a list of types, constants, variables and generic utility methods used in the whole suite.<para></para>
/// You will normally need to use this file when using FlexCel.
/// </summary>
unit tmsUFlxMessages;
{$INCLUDE ..\FLXCOMPILER.INC}
{$INCLUDE ..\FLXCONFIG.INC}
interface
uses Windows,
{$IFDEF FLX_NEEDSVARIANTS} variants, varutils, {$ENDIF}
{$IFDEF FLX_EXTRAWINDOWS}ActiveX,{$ENDIF} //Delphi 5
{$INCLUDE UsePngLib.inc}
Classes, SysUtils;
const
/// <summary>
/// \Internal use. Specifies the default locale.
/// </summary>
FLX_VAR_LOCALE_USER_DEFAULT = $400;
resourcestring
/// <summary>
/// \Internal use. Specifies the separator character for tags in TFlexCelReport.
/// </summary>
FieldStr='##';
/// <summary>
/// \Internal use. Specifies the characters that a name has to have to be a data range in TFlexCelReport.
/// </summary>
DataSetStr='__';
/// <summary>
/// \Internal use. Specifies the separator character for report variables in TFlexCelReport.
/// </summary>
VarStr='#.';
/// <summary>
/// \Internal use. Specifies an special character in TFlexCelReport.
/// </summary>
StrOpen='<';
/// <summary>
/// \Internal use. Specifies an special character in TFlexCelReport.
/// </summary>
StrClose='>';
/// <summary>
/// \Internal use. Specifies an special character in TFlexCelReport.
/// </summary>
ExtrasDelim='...';
/// <summary>
/// \Internal use. Specifies an special character in TFlexCelReport.
/// </summary>
MarkedRowStr='...delete row...'; //Remember to change ExtrasDelim if changing this
/// <summary>
/// \Internal use. Specifies an special character in TFlexCelReport.
/// </summary>
HPageBreakStr='...page break...'; //Remember to change ExtrasDelim if changing this
/// <summary>
/// \Internal use. Specifies an special character in TFlexCelReport.
/// </summary>
FullDataSetStr='*';
/// <summary>
/// \Internal use. Specifies an special character in TFlexCelReport.
/// </summary>
MainTxt='MAIN'; //This is not strictly necessary... just for checking the template
/// <summary>
/// \Internal use. Specifies an special character in TFlexCelReport.
/// </summary>
RecordCountPrefix='RC_';
/// <summary>
/// \Internal use. Specifies an special character in TFlexCelReport.
/// </summary>
DefaultDateTimeFormat='mm/dd/yyyy hh:mm';
{$I FlexCelVersion.inc}
{$IFDEF SPANISH}
{$INCLUDE FlxSpanish.inc}
{$ELSE}
{$IFDEF FRENCH}
{$INCLUDE FlxFrench.inc}
{$ELSE}
{$IFDEF ITALIAN}
{$INCLUDE FlxItalian.inc}
{$ELSE}
{$IFDEF ROMANIAN}
{$INCLUDE FlxRomanian.inc}
{$ELSE}
{$IFDEF PORTUGUESEBR}
{$INCLUDE FlxPortugueseBR.inc}
{$ELSE}
{$IFDEF CHINESE}
{$INCLUDE FlxChinese.inc}
{$ELSE}
{$IFDEF RUSSIAN}
{$INCLUDE FlxRussian.inc}
{$ELSE}
{$IFDEF GERMAN}
{$INCLUDE FlxGerman.inc}
{$ELSE}
{$IFDEF POLISH}
{$INCLUDE FlxPolish.inc}
{$ELSE}
{$IFDEF FINNISH}
{$INCLUDE FlxFinnish.inc}
{$ELSE}
{$INCLUDE FlxEnglish.inc}
{$ENDIF}
{$ENDIF}
{$ENDIF}
{$ENDIF}
{$ENDIF}
{$ENDIF}
{$ENDIF}
{$ENDIF}
{$ENDIF}
{$ENDIF}
/// <summary>
/// \Internal use. Specifies an special character in TFlexCelReport.
/// </summary>
xls_Emf='EMF';
/// <summary>
/// \Internal use. Specifies an special character in TFlexCelReport.
/// </summary>
xls_Wmf='WMF';
/// <summary>
/// \Internal use. Specifies an special character in TFlexCelReport.
/// </summary>
xls_Jpeg='JPEG';
/// <summary>
/// \Internal use. Specifies an special character in TFlexCelReport.
/// </summary>
xls_Png='PNG';
type
{$IFDEF DELPHI2008UP}
UTF16String = UnicodeString;
UTF16Char = Char;
PAddress = PByte;
{$ELSE}
/// <summary>
/// An UTF16 wide string. This type maps to WideString in Delphi less than 2009 or to UnicodeString otherwise.
/// </summary>
UTF16String = WideString;
/// <summary>
/// An UTF16 wide char. This type maps to WideChar in Delphi less than 2009 or to Char otherwise.
/// </summary>
UTF16Char = WideChar;
/// <summary>
/// Used for pointer arithmetic. Point to PAnsiChar if Delphi is less than 2009, or to PByte otherwise.
/// </summary>
PAddress = PAnsiChar;
UInt32 = LongWord;
Int32 = LongInt;
UInt16 = word;
Int16 = SmallInt;
{$ENDIF}
{$IFDEF USEPNGLIB}
{$IFNDEF DELPHI2008UP}
TPngImage = TPNGObject;
{$ENDIF}
{$ENDIF}
/// <summary>
/// Image Anchor information.
/// </summary>
TClientAnchor= packed record
/// <summary>
/// How the image behaves when copying/inserting cells. It might have 3 values: <para></para>
/// 0 - Move and Resize the image. <para></para>
/// 2 - Move but don't Resize the image. <para></para>
/// 3 - Don't Move and don't Resize the image. <para></para>
/// </summary>
Flag: word;
/// <summary>
/// First column of object
/// </summary>
Col1: word;
/// <summary>
/// Delta x of image, on 1/1024 of a cell. 0 means totally at the left, 512 on half of the cell, 1024 means at the left of next cell.
/// </summary>
Dx1: word;
/// <summary>
/// First Row of object.
/// </summary>
Row1: word;
/// <summary>
/// Delta y of image on 1/255 of a cell. 0 means totally at the top, 128 on half of the cell, 255 means at the top of next cell.
/// </summary>
Dy1: word;
/// <summary>
/// Last column of object.
/// </summary>
Col2: word;
/// <summary>
/// Delta x of image, on 1/1024 of a cell. 0 means totally at the left, 512 on half of the cell, 1024 means at the left of next cell.
/// </summary>
Dx2: word;
/// <summary>
/// Last row of object.
/// </summary>
Row2: word;
/// <summary>
/// Delta y of image on 1/255 of a cell. 0 means totally at the top, 128 on half of the cell, 255 means at the top of next cell.
/// </summary>
Dy2: word;
end;
/// <summary> Pointer to a TClientAnchor </summary>
PClientAnchor = ^TClientAnchor;
WidestringArray=array of UTF16String;
WideCharArray=array of UTF16Char;
BooleanArray = Array of Boolean;
ByteArray = Array of Byte;
/// <summary>
/// Printer specific settings. It is a byte array with a Win32 DEVMODE structure.
/// </summary>
TPrinterDriverSettings = record
/// <summary>
/// Determines the O.S. this structure was saved in. 0 means windows.
/// </summary>
OperatingEnviroment: word;
/// <summary>
/// When OperatingEnviroment=0 (windows) you can cast this Data to a DevMode struct.
/// </summary>
Data: array of byte;
end;
/// <summary>
/// An integer expressing an Excel standard paper size.<para></para>
/// Use TExcelPaperSize_XXX constants for the allowed values.
/// </summary>
TExcelPaperSize = integer;
const
/// <summary>Difference in days between the 1900 and 1904 date systems supported by Excel.</summary>
Date1904Diff = 4 * 365 + 2;
/// <summary>Not defined.</summary>
TExcelPaperSize_Undefined=0;
///<summary>Letter - 81/2"" x 11""</summary>
TExcelPaperSize_Letter=1;
///<summary>Letter small - 81/2"" x 11""</summary>
TExcelPaperSize_Lettersmall=2;
///<summary>Tabloid - 11"" x 17""</summary>
TExcelPaperSize_Tabloid=3;
///<summary>Ledger - 17"" x 11""</summary>
TExcelPaperSize_Ledger=4;
///<summary>Legal - 81/2"" x 14""</summary>
TExcelPaperSize_Legal=5;
///<summary>Statement - 51/2"" x 81/2""</summary>
TExcelPaperSize_Statement=6;
///<summary>Executive - 71/4"" x 101/2""</summary>
TExcelPaperSize_Executive=7;
///<summary>A3 - 297mm x 420mm</summary>
TExcelPaperSize_A3=8;
///<summary>A4 - 210mm x 297mm</summary>
TExcelPaperSize_A4=9;
///<summary>A4 small - 210mm x 297mm</summary>
TExcelPaperSize_A4small=10;
///<summary>A5 - 148mm x 210mm</summary>
TExcelPaperSize_A5=11;
///<summary>B4 (JIS) - 257mm x 364mm</summary>
TExcelPaperSize_B4_JIS=12;
///<summary>B5 (JIS) - 182mm x 257mm</summary>
TExcelPaperSize_B5_JIS=13;
///<summary>Folio - 81/2"" x 13""</summary>
TExcelPaperSize_Folio=14;
///<summary>Quarto - 215mm x 275mm</summary>
TExcelPaperSize_Quarto=15;
///<summary>10x14 - 10"" x 14""</summary>
TExcelPaperSize_s10x14=16;
///<summary>11x17 - 11"" x 17""</summary>
TExcelPaperSize_s11x17=17;
///<summary>Note - 81/2"" x 11""</summary>
TExcelPaperSize_Note=18;
///<summary>Envelope #9 - 37/8"" x 87/8""</summary>
TExcelPaperSize_Envelope9=19;
///<summary>Envelope #10 - 41/8"" x 91/2""</summary>
TExcelPaperSize_Envelope10=20;
///<summary>Envelope #11 - 41/2"" x 103/8""</summary>
TExcelPaperSize_Envelope11=21;
///<summary>Envelope #12 - 43/4"" x 11""</summary>
TExcelPaperSize_Envelope12=22;
///<summary>Envelope #14 - 5"" x 111/2""</summary>
TExcelPaperSize_Envelope14=23;
///<summary>C - 17"" x 22""</summary>
TExcelPaperSize_C=24;
///<summary>D - 22"" x 34""</summary>
TExcelPaperSize_D=25;
///<summary>E - 34"" x 44""</summary>
TExcelPaperSize_E=26;
///<summary>Envelope DL - 110mm x 220mm</summary>
TExcelPaperSize_EnvelopeDL=27;
///<summary>Envelope C5 - 162mm x 229mm</summary>
TExcelPaperSize_EnvelopeC5=28;
///<summary>Envelope C3 - 324mm x 458mm</summary>
TExcelPaperSize_EnvelopeC3=29;
///<summary>Envelope C4 - 229mm x 324mm</summary>
TExcelPaperSize_EnvelopeC4=30;
///<summary>Envelope C6 - 114mm x 162mm</summary>
TExcelPaperSize_EnvelopeC6=31;
///<summary>Envelope C6/C5 - 114mm x 229mm</summary>
TExcelPaperSize_EnvelopeC6_C5=32;
///<summary>B4 (ISO) - 250mm x 353mm</summary>
TExcelPaperSize_B4_ISO=33;
///<summary>B5 (ISO) - 176mm x 250mm</summary>
TExcelPaperSize_B5_ISO=34;
///<summary>B6 (ISO) - 125mm x 176mm</summary>
TExcelPaperSize_B6_ISO=35;
///<summary>Envelope Italy - 110mm x 230mm</summary>
TExcelPaperSize_EnvelopeItaly=36;
///<summary>Envelope Monarch - 37/8"" x 71/2""</summary>
TExcelPaperSize_EnvelopeMonarch=37;
///<summary>63/4 Envelope - 35/8"" x 61/2""</summary>
TExcelPaperSize_s63_4Envelope=38;
///<summary>US Standard Fanfold - 147/8"" x 11""</summary>
TExcelPaperSize_USStandardFanfold=39;
///<summary>German Std. Fanfold - 81/2"" x 12""</summary>
TExcelPaperSize_GermanStdFanfold=40;
///<summary>German Legal Fanfold - 81/2"" x 13""</summary>
TExcelPaperSize_GermanLegalFanfold=41;
///<summary>B4 (ISO) - 250mm x 353mm</summary>
TExcelPaperSize_B4_ISO_2=42;
///<summary>Japanese Postcard - 100mm x 148mm</summary>
TExcelPaperSize_JapanesePostcard=43;
///<summary>9x11 - 9"" x 11""</summary>
TExcelPaperSize_s9x11=44;
///<summary>10x11 - 10"" x 11""</summary>
TExcelPaperSize_s10x11=45;
///<summary>15x11 - 15"" x 11""</summary>
TExcelPaperSize_s15x11=46;
///<summary>Envelope Invite - 220mm x 220mm</summary>
TExcelPaperSize_EnvelopeInvite=47;
///<summary>Undefined - </summary>
///<summary>Letter Extra - 91/2"" x 12""</summary>
TExcelPaperSize_LetterExtra=50;
///<summary>Legal Extra - 91/2"" x 15""</summary>
TExcelPaperSize_LegalExtra=51;
///<summary>Tabloid Extra - 1111/16"" x 18""</summary>
TExcelPaperSize_TabloidExtra=52;
///<summary>A4 Extra - 235mm x 322mm</summary>
TExcelPaperSize_A4Extra=53;
///<summary>Letter Transverse - 81/2"" x 11""</summary>
TExcelPaperSize_LetterTransverse=54;
///<summary>A4 Transverse - 210mm x 297mm</summary>
TExcelPaperSize_A4Transverse=55;
///<summary>Letter Extra Transv. - 91/2"" x 12""</summary>
TExcelPaperSize_LetterExtraTransv=56;
///<summary>Super A/A4 - 227mm x 356mm</summary>
TExcelPaperSize_SuperA_A4=57;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -