Príklad 21 - Práca s dokumentami

Nasledujúce príklady popisujú prácu s triedou DocumentDriver. Použitá syntax zodpovedá prostrediu Visual Basic.

Príklad založí nový dokument a nahrá súbor z disku

Public Sub test()
    Set mGx = CreateObject("AbraOLE.Application")

    ' Vytvorenie Document drivera pre prácu s dokumentom
    Set mO_DD = mGx.CreateDocumentDriver
  
    ' Vytvorenie nového dokumentu kategórie Textový dokument
    mO_DD.NewDocument ("6000000000")
    
    Set mD_Doc = mO_DD.Document
  
    mD_Doc.ValueByName("DocQueue_ID") = "7100000101"
    mD_Doc.ValueByName("Firm_ID") = "AAA1000000"
  
    mO_DD.AddContentFromFile ("C:\ABRA\pokus.txt")
    
    mO_DD.SaveDocument
  
    Set mD_Doc = Nothing
    Set mO_DD = Nothing
    Set mGx = Nothing
End Sub

Príklad vyhľadá všetky dokumenty a skomprimuje ich obsahy


Public Sub Document()
    Set mGx = CreateObject("AbraOLE.Application")
       
    ' Vytvorenie Document drivera pre prácu s dokumentom
    Set mO_DD = mGx.CreateDocumentDriver

    ' Vyhľadanie dokumentov pomocou SQL Select
    Set mRowSet = mGx.SQLSelectAsRowset("SELECT ID FROM Documents")

    While Not mRowSet.EOF
      ' Ukladať dokument sa bude jedine vtedy, pokiaľ sa nájde nekomprimovaný obsah dokumentu
      mChanges = False
      ' Načítanie dokumentu podľa ID
      mO_DD.LoadDocument (mRowSet.Data(0))
      ' Zistí sa dokument z drivera
      Set mD_Doc = mO_DD.Document
      ' Zistia sa obsahy dokumentov (jeden dokument môže mať niekoľko obsahov)
      Set mColl_Contents = mD_Doc.ValueByName("Contents")
      
      ' Prechádza sa obsah a zisťuje sa, či je obsah komprimovaný
      For i = 0 To mColl_Contents.Count - 1
        Set mD_Content = mColl_Contents.Item(i)
        
        ' Ak už je komprimovaný, nie je potrebné komprimovať
        If Not mD_Content.ValueByName("Compressed") Then
          ' Je-li jeden obsah nekomprimovaný, ukládám dokument
          mChanges = mChanges Or True
          mD_Content.ValueByName("Compressed") = True
        End If
      Next
      
      If mChanges Then
        ' Uloženie dokumentu. Toto uloženie vyvolá komprimáciu nekomprimovaného obsahu.
        mO_DD.SaveDocument
      End If
      
      mRowSet.Next
      Set mD_Doc = Nothing
    Wend
    
    Set mRowSet = Nothing
    Set mColl_Contents = Nothing
    Set mD_Content = Nothing
    Set mGx = Nothing
End Sub