Suchen und Download von Dokumenten

Beispiel


procedure Test; var aSearch : TAdapterDMS_SearchWrapper; aContainers : TAdapterDMS_ContainersWrapper; aContainer : TAdapterDMS_ContainerWrapper; aDoc : TAdapterDMS_DocumentWrapper; i : integer; b : integer; aFilename : String; aDir : String; begin //Temporäres Verzeichnis erstellen, in dem die Dateien heruntergeladen werden //Im Verzeichnis C:\Dokumente und Einstellungen\Benutzername\Anwendungsdaten\netFrame\Temp\ wird automatisch //ein neues Unterverzeichnis mit einer GUID Nummer erstellt aDir := CreateTempDir; if not (aDirLength(aDir) = '\') then aDir := aDir + '\';

aSearch := TAdapterDMS_SearchWrapper.Create; aContainers := TAdapterDMS_ContainersWrapper.Create(nil, false); try //Suchbedingungen aSearch.SearchText := 'test'; aSearch.MaxResult := 2; //zum Test nur max. 2 Container suchen //Es können hier noch weitere Suchbedingungen hinterlegt werden, wie Kategorie, Verknüpfungen, Eigenschaften etc. //Suche ausführen if aSearch.SearchEx(aContainers, 0) and (aContainers.Count > 0) then begin Message_dlg('Es wurden ' + inttostr(aContainers.Count) + ' Container gefunden'); //alle Suchergebnisse durchgehen for i := 0 to aContainers.Count - 1 do begin //aktuellen Container ermitteln aContainer := aContainers.Containeri; if Assigned(aContainer) nil then begin //vom aktuellen Container alle Dokumente durchgehen for b := 0 to aContainer.DocumentCount - 1 do begin aDoc := aContainer.Documentb; if aDoc <> nil then begin //Dokument in das Temporäre Verzeichnis herunterladen aContainer.DownloadDocument(aDoc.DocID, aDir, aFilename, true); end; end; end; end; end else begin Message_dlg('Es wurden keine Container mit der angegebenen Suchbedingung gefunden'); end; finally aSearch.Free; aContainers.Free; end; end;