//
unit ads_ILSkyDoc; {Copyright(c)2016 Advanced Delphi Systems Richard Maley Advanced Delphi Systems 12613 Maidens Bower Drive Potomac, MD 20854 USA phone 301-840-1554 dickmaley@advdelphisys.com The code herein can be used or modified by anyone. Please retain references to Richard Maley at Advanced Delphi Systems. If you make improvements to the code please send your improvements to dickmaley@advdelphisys.com so that the entire Delphi community can benefit. All comments are welcome. } (*UnitIndex Master Index Implementation Section Download Units
Description: ads_ILSkyDoc.pas This unit contains the following routines.
ads_ILDoc_ESAInitCreate ads_ILDoc_GoToBottomLeft ads_ILDoc_GoToBottomRight ads_ILDoc_GoToTopLeft ads_ILDoc_GoToTopRight ads_ILDoc_HideViewer ads_ILDoc_ReadTifFile ads_ILDoc_ShowViewer
*) interface Uses Windows, Oasis_g, ILDocImg, SysUtils, skuimg, Forms, DllSP96, Dll96v1, Oasis_p, Controls, FileCtrl; procedure ads_ILDoc_ReadTifFile(IL: ILDocumentImage;FileName: TFileName;Page: SmallInt;Resolution: SmallInt); procedure ads_ILDoc_GoToBottomLeft(IL: ILDocumentImage); procedure ads_ILDoc_GoToTopRight(IL: ILDocumentImage); procedure ads_ILDoc_GoToTopLeft(IL: ILDocumentImage); procedure ads_ILDoc_GoToBottomRight(IL: ILDocumentImage); Procedure ads_ILDoc_ESAInitCreate(Var Doc_MainForm: TDoc_MainForm; IsVisible: Boolean); Procedure ads_ILDoc_ShowViewer(Var Doc_MainForm: TDoc_MainForm); Procedure ads_ILDoc_HideViewer(Var Doc_MainForm: TDoc_MainForm); Var ads_ILDoc_FileName : TFileName; ads_ILDoc_FileNamePath : String; ads_ILDoc_FileNameNoPath : String; ads_ILDoc_FileNameNoPathOrExt : String; ads_ILDoc_ImageLoaded : Boolean; ads_ILDoc_Page : SmallInt; ads_ILDoc_Resolution : SmallInt; ads_ILDoc_Tiff_BPP : SmallInt; ads_ILDoc_Tiff_Compression : String; ads_ILDoc_Tiff_Height : LongInt; ads_ILDoc_Tiff_Page : Integer; ads_ILDoc_Tiff_Pages : SmallInt; ads_ILDoc_Tiff_Width : LongInt; implementation Uses dm_ViewerNav; Const UnitName = 'ads_ILSkyDoc'; //Unit Description UnitIndex Master Index
procedure ads_ILDoc_ReadTifFile( IL : ILDocumentImage; FileName : TFileName; Page : SmallInt; Resolution : SmallInt); Var ProcName : String; inPosPeriod : Integer; Cursor : TCursor; //For SkyDocImage Compatibility PageNum : LongInt; fim_Width : LongInt; //@# January 18 1998 Changed from Smallint to Longint fim_Height : LongInt; //@# January 18 1998 Changed from Smallint to Longint fim_BPP : SmallInt; fim_TiffPages : SmallInt; fim_Compression : String; Begin ProcName := 'ads_ILDoc_ReadTifFile'; Cursor := Screen.Cursor; Try Try //Start For SkyDocImage Compatibility Doc_MainForm.Image3.Visible:=False; Doc_MainForm.Save1.Enabled:=False; Doc_MainForm.cWait; Doc_MainForm.CheckUsedFilename(Doc_MainForm.sFileName); Doc_MainForm.CanPaint:=False; Doc_MainForm.DefaultDir := GlobalCacheDir; //Delete any existing thumbs and memory files if any Doc_MainForm.FreeAllItemsAndPackList; //Reset pagenumber to 0 PageNum := Page; //reset no. of pages to 0 Doc_MainForm.Pages :=0; //Set filename Doc_MainForm.sFileName := FileName; Doc_MainForm.checkusedfile(Doc_MainForm.sFileName ,PageNum ); //Set filename Doc_MainForm.MFilename := Doc_MainForm.sFileName; //get file info GetTiffInfo( Doc_MainForm.MFilename, 0, fim_Width, fim_Height, fim_Compression, fim_TiffPages, fim_BPP); //reset page number when pages difference from before If PageNum > fim_TiffPages Then PageNum:=0; //End For SkyDocImage Compatibility ads_ILDoc_FileName := FileName; ads_ILDoc_FileNamePath := ExtractFilePath(ads_ILDoc_FileName); If Copy(ads_ILDoc_FileNamePath,Length(ads_ILDoc_FileNamePath),1) <> '\' Then ads_ILDoc_FileNamePath := ads_ILDoc_FileNamePath + '\'; ads_ILDoc_FileNameNoPath := ExtractFileName(ads_ILDoc_FileName); inPosPeriod := Pos('.',ads_ILDoc_FileNameNoPath); If inPosPeriod > 0 Then Begin ads_ILDoc_FileNameNoPathOrExt := Copy(ads_ILDoc_FileNameNoPath,1,inPosPeriod-1); End Else Begin ads_ILDoc_FileNameNoPathOrExt := ads_ILDoc_FileNameNoPath; End; If UpperCase(ads_ILDoc_FileNameNoPathOrExt) = 'BLANK' Then Begin ads_ILDoc_HideViewer(Doc_MainForm); End Else Begin ads_ILDoc_ShowViewer(Doc_MainForm); End; ads_ILDoc_Page := Page; ads_ILDoc_Resolution := Resolution; IL.ReadTifFile(FileName, Page, Resolution); GetTiffInfo( ads_ILDoc_FileName, 0, ads_ILDoc_Tiff_Width, ads_ILDoc_Tiff_Height, ads_ILDoc_Tiff_Compression, ads_ILDoc_Tiff_Pages, ads_ILDoc_Tiff_BPP); ads_ILDoc_ImageLoaded := True; //Start For SkyDocImage Compatibility //only create thumbnails when the paintbox is visible If Doc_MainForm.ThumbBox.Visible Then Doc_MainForm.CreateAndShowThumbs; //Set it as selected Doc_MainForm.SelectUnSelect(1, PageNum); //End For SkyDocImage Compatibility dmViewerNav.ActionListViewerNavChange(nil); Finally //Start For SkyDocImage Compatibility Doc_MainForm.cNorm; Doc_MainForm.CanPaint:=True; Doc_MainForm.ThumbPaintBox.ReFresh; Doc_MainForm.CheckDisableorEnablemenu; //End For SkyDocImage Compatibility Screen.Cursor := Cursor; End; Except On E : Exception Do Begin ads_ILDoc_FileName := ''; ads_ILDoc_ImageLoaded := False; ads_ILDoc_Page := -1; ads_ILDoc_Resolution := -1; ads_ILDoc_Tiff_BPP := -1; ads_ILDoc_Tiff_Compression := ''; ads_ILDoc_Tiff_Height := -1; ads_ILDoc_Tiff_Page := -1; ads_ILDoc_Tiff_Pages := -1; ads_ILDoc_Tiff_Width := -1; Raise Exception.Create('Error in '+UnitName+'.'+ProcName+':'+E.Message); End; End; End; //Unit Description UnitIndex Master Index
procedure ads_ILDoc_GoToBottomRight(IL: ILDocumentImage); Var ProcName : String; begin ProcName := 'ads_ILDoc_GoToBottomRight'; Try If ads_ILDoc_ImageLoaded Then Begin IL.FTopLeft.y := StrToInt(FloatToStr(Int((ads_ILDoc_Tiff_Height*IL.ScalePercent)/100))) -IL.Height; IL.FTopLeft.x := StrToInt(FloatToStr(Int((ads_ILDoc_Tiff_Width*IL.ScalePercent)/100))) -IL.Width; IL.Refresh; End; Except On E : Exception Do Begin Raise Exception.Create('Error in '+UnitName+'.'+ProcName+':'+E.Message); End; End; end; //Unit Description UnitIndex Master Index
procedure ads_ILDoc_GoToBottomLeft(IL: ILDocumentImage); Var ProcName : String; begin ProcName := 'ads_ILDoc_GoToBottomLeft'; Try If ads_ILDoc_ImageLoaded Then Begin IL.FTopLeft.y := StrToInt(FloatToStr(Int((ads_ILDoc_Tiff_Height*IL.ScalePercent)/100))) -IL.Height; IL.FTopLeft.x := 0; IL.Refresh; End; Except On E : Exception Do Begin Raise Exception.Create('Error in '+UnitName+'.'+ProcName+':'+E.Message); End; End; end; //Unit Description UnitIndex Master Index
procedure ads_ILDoc_GoToTopRight(IL: ILDocumentImage); Var ProcName : String; begin ProcName := 'ads_ILDoc_GoToTopRight'; Try If ads_ILDoc_ImageLoaded Then Begin IL.FTopLeft.y := 0; IL.FTopLeft.x := StrToInt(FloatToStr(Int((ads_ILDoc_Tiff_Width*IL.ScalePercent)/100))) -IL.Width; IL.Refresh; End; Except On E : Exception Do Begin Raise Exception.Create('Error in '+UnitName+'.'+ProcName+':'+E.Message); End; End; end; //Unit Description UnitIndex Master Index
procedure ads_ILDoc_GoToTopLeft(IL: ILDocumentImage); Var ProcName : String; begin ProcName := 'ads_ILDoc_GoToTopLeft'; Try If ads_ILDoc_ImageLoaded Then Begin IL.FTopLeft.y := 0; IL.FTopLeft.x := 0; IL.Refresh; End; Except On E : Exception Do Begin Raise Exception.Create('Error in '+UnitName+'.'+ProcName+':'+E.Message); End; End; end; //Unit Description UnitIndex Master Index
Procedure ads_ILDoc_ESAInitCreate(Var Doc_MainForm: TDoc_MainForm; IsVisible: Boolean); Begin If Not (Application.MainForm is TDoc_MainForm) Then Begin Doc_MainForm.Exit1.Visible := IsVisible; End; frmMain.PageControl1.ActivePage := frmMain.pageMain; With Doc_MainForm Do Begin Annotation1 .Visible := IsVisible; Cut1 .Visible := IsVisible; CutButton .Visible := IsVisible; DeletePage3 .Visible := IsVisible; DeskewAllPages1 .Visible := IsVisible; DeskewPage1 .Visible := IsVisible; DeskewPagebtn .Visible := IsVisible; (* Edit971 .Visible := IsVisible; *) EditTags1 .Visible := IsVisible; ExportFiles1 .Visible := IsVisible; First1 .Visible := IsVisible; FullScreen1 .Visible := IsVisible; GoBack1 .Visible := IsVisible; GoTo1 .Visible := IsVisible; Help1 .Visible := IsVisible; ImagingPreviewHelp1 .Visible := IsVisible; ImportFiles1 .Visible := IsVisible; Insertfromclibboard1 .Visible := IsVisible; Last1 .Visible := IsVisible; LastOpenFile1 .Visible := IsVisible; Lastopenfile2 .Visible := IsVisible; Lastopenfile3 .Visible := IsVisible; MainToolbar .Visible := IsVisible; Toolbar972 .Visible := IsVisible; N10 .Visible := IsVisible; N4 .Visible := IsVisible; N5 .Visible := IsVisible; N9 .Visible := IsVisible; Newfile .Visible := IsVisible; Next1 .Visible := IsVisible; NextPage .Visible := IsVisible; (* OnePage1 .Visible := IsVisible; OnePageBtn .Visible := IsVisible; *) RotateAllPages1 .Visible := IsVisible; OpenlastknownScratchboard1 .Visible := IsVisible; OpentoScratchBoard1 .Visible := IsVisible; PackFile1 .Visible := IsVisible; Page_ThumbNails_ScratchBtn .Visible := IsVisible; (* PageandThumbnails1 .Visible := IsVisible; PageAndThumbNailsBtn .Visible := IsVisible; *) PageThumbnailsandScratchboard1.Visible := IsVisible; PasteButton .Visible := IsVisible; Paste1 .Visible := IsVisible; Previous1 .Visible := IsVisible; PreviousPage .Visible := IsVisible; Properties1 .Visible := IsVisible; RemoveBorder1 .Visible := IsVisible; RemoveBorderAllPages1 .Visible := IsVisible; RemoveBrdBtn .Visible := IsVisible; ReplacefromClipboard1 .Visible := IsVisible; ScanNew1 .Visible := IsVisible; SelectScanner1 .Visible := IsVisible; Send1 .Visible := IsVisible; ShowDeskewAnge1 .Visible := IsVisible; Text_Tiif_Text .Visible := IsVisible; Toolbar971 .Visible := IsVisible; Toolbars1 .Visible := IsVisible; ToolbarButton976 .Visible := IsVisible; Tools1 .Visible := IsVisible; (* View1 .Visible := IsVisible; *) Width := 110; End; End; //Unit Description UnitIndex Master Index
Procedure ads_ILDoc_ShowViewer(Var Doc_MainForm: TDoc_MainForm); Var inCounter : Integer; Begin For inCounter := 0 To Doc_MainForm.MainMenu1.Items.Count -1 Do Begin If Doc_MainForm.MainMenu1.Items[inCounter].Tag = 13 Then Begin Doc_MainForm.MainMenu1.Items[inCounter].Visible := True; Doc_MainForm.MainMenu1.Items[inCounter].Tag := 0; End Else Begin If Doc_MainForm.MainMenu1.Items[inCounter].Tag = 14 Then Begin Doc_MainForm.MainMenu1.Items[inCounter].Visible := False; Doc_MainForm.MainMenu1.Items[inCounter].Tag := 0; End; End; End; Doc_MainForm.pgeViewer.ActivePage := Doc_MainForm.pageViewer; Doc_MainForm.pgeViewerChange(nil); End; //Unit Description UnitIndex Master Index
Procedure ads_ILDoc_HideViewer(Var Doc_MainForm: TDoc_MainForm); Var inCounter : Integer; Begin For inCounter := 0 To Doc_MainForm.MainMenu1.Items.Count -1 Do Begin If Doc_MainForm.MainMenu1.Items[inCounter].Visible Then Begin Doc_MainForm.MainMenu1.Items[inCounter].Tag := 13; End Else Begin Doc_MainForm.MainMenu1.Items[inCounter].Tag := 14; End; Doc_MainForm.MainMenu1.Items[inCounter].Visible := False; End; Doc_MainForm.pgeViewer.ActivePage := Doc_MainForm.pageGradient; Doc_MainForm.pgeViewerChange(nil); End; Initialization ads_ILDoc_FileName := ''; ads_ILDoc_FileNamePath := ''; ads_ILDoc_FileNameNoPath := ''; ads_ILDoc_FileNameNoPathOrExt := ''; ads_ILDoc_ImageLoaded := False; ads_ILDoc_Page := -1; ads_ILDoc_Resolution := -1; ads_ILDoc_Tiff_BPP := -1; ads_ILDoc_Tiff_Compression := ''; ads_ILDoc_Tiff_Height := -1; ads_ILDoc_Tiff_Page := -1; ads_ILDoc_Tiff_Pages := -1; ads_ILDoc_Tiff_Width := -1; end. //