Advanced Delphi Systems- ILSKYDOC

Yazdığınız makaleleri ve üyelerimizin işine yarayacağını düşündüğünüz kodlarınızı gönderebilirsiniz. Bu foruma soru sormayın!
Cevapla
Kullanıcı avatarı
Asri
Kıdemli Üye
Mesajlar: 767
Kayıt: 16 Eyl 2003 09:54
Konum: istanbul

Advanced Delphi Systems- ILSKYDOC

Mesaj gönderen Asri »

Aşağıdaki unit'i unit1'de uses olarak ekleyip bu unit içindeki procedure ve function'ları kullanbilirsiniz.

Bu unit program ILSKYDOC işleminde kullanılır.

Kod: Tümünü seç

unit ads_ILSkyDoc;

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';

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;

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;


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;

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;

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;

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;

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;

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.
Öğrenmek ve öğretmek, akıntıya karşı yüzmek gibidir ilerleyemediğiniz taktirde gerilersiniz.
Cevapla