Реально ли из вьюхи сделать что-то наподобие Проводника?

Автор Тема: Реально ли из вьюхи сделать что-то наподобие Проводника?  (Прочитано 6795 раз)

Sergey_st85

  • Старший специалист
  • ****
  • Сообщений: 181
  • Только вперед!
    • Просмотр профиля
    • Личный сайт.
Пользователь хочет, чтобы вьюха была проводником, категории у него были бы папками, а документы - файлами. При щелкании на файл открывается вложение. Открытие вложений я уже сделал. А как вьюху преобразовать или реализовать Проводник как-нибудь иначе?

Вот код для открытия файлов, если кому интересно.

Dim doc As NotesDocument
   Dim o As NotesEmbeddedObject
   Dim fileItem As Notesrichtextitem
   Dim filename As String
   Set doc=source.Documents.GetFirstDocument
   
   filename="C:\TEMP\"
   
   Set fileItem = doc.getFirstItem("Attachment")     
   If Not Isempty(fileItem.EmbeddedObjects) Then
      Forall xx In fileitem.EmbeddedObjects
         Set o = xx
         doc.filename =filename & o.Source     
         Call o.ExtractFile (doc.filename(0))
         
         
         
         
         Dim ws As New NotesUIWorkspace
         Dim openResult As Long
         Dim string_zapusk As String
         string_zapusk={Declare Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" _
(Byval hwnd As Long, Byval lpszOp As String, _
Byval lpszFile As String, Byval lpszParams As String, _
Byval LpszDir As String, Byval FsShowCmd As Long) _
As Long
} & {openResult = ShellExecute(0, "Open", } & Chr(034) & doc.filename(0) & Chr(034) &{,"",} & Chr(034) & "" & Chr(034) &", 1)"
         
         
         If doc.filename(0)<>"" Then
            Execute string_zapusk
            continue=False
   If openResult <=32 Then
         If openResult = 31 Then
            Error 10000, "Операционная система не может определить тип файла " & ws.CurrentDocument.Document.FIles_for_users(0)
         Else
            Error 10000, "Ошибка открытия файла. Код ошибки: " & openResult
         End If
      '   Msgbox "Ошибка открытия файла. Код ошибки: " & openResult , 16, "Сбой!"
         
         Exit Sub
   End If   
         
         End If
      End Forall
   Else
      
   End If
   
   Exit Sub
errh:
   Msgbox "Query_open: " + Error$ + " at l. " +Cstr(Erl)

ViV

  • Global Moderator
  • Профессионал
  • *****
  • Сообщений: 1428
  • Владимир Егоров
    • Просмотр профиля
    • lotusnotes.ru
    • E-mail
Добрый день!

Если хранить каждый файл в отдельном документе, то проводником будет стандартное представление.
В документе хранить название директории, в которой находится файл, и в представлении сделать по нему категоризацию.
На событие QueryOpenDocument повесить ваш код и установить Continue в false.

Sergey_st85

  • Старший специалист
  • ****
  • Сообщений: 181
  • Только вперед!
    • Просмотр профиля
    • Личный сайт.
Так и сделали, другого выбора не осталось.