Как взять с нужной директории винта рисунки и запихнуть в РТ итэм?

Тема в разделе "Lotus - Программирование", создана пользователем 11BOSS11, 29 сен 2010.

  1. 11BOSS11

    11BOSS11 Гость

    Как взять с нужной директории винта рисунки и запихнуть в РТ итэм? :lovecodeby:
     
  2. alik86

    alik86 Lotus team
    Lotus team

    Регистрация:
    20 ноя 2008
    Сообщения:
    465
    Симпатии:
    0
    Можно что-то типа:
    Код (Text):
    Dim Wsp As New NotesUIWorkspace
    Dim uidoc As NotesUIDocument
    Set uidoc = Wsp.CurrentDocument
    Call uidoc.GotoField("Name")
    Call uidoc.Import
    Это если документ открыт на редактирование.
     
  3. 11BOSS11

    11BOSS11 Гость

    ну это с выховом окна диалога.. а в тени как?
    я знаю адрес директории и имена файлов..
    знаю имя поля......
    есть кнопочка, при нажатии которой файлы должны сразу попасть в поле..
     
  4. spartanec

    spartanec Гость

    Call uidoc.Import("JPEG Image", "C:\...\filename.jpg")
     
  5. 11BOSS11

    11BOSS11 Гость

    а вот еще вопросик:
    есть допусти м директория,
    как мне узнать имена всех файлов находящихся в этой директории?
     
  6. alik86

    alik86 Lotus team
    Lotus team

    Регистрация:
    20 ноя 2008
    Сообщения:
    465
    Симпатии:
    0
    Открыть и посмотреть! :lovecodeby:

     
  7. ToxaRat

    ToxaRat Чёрный маг
    Lotus team

    Регистрация:
    6 ноя 2007
    Сообщения:
    3.046
    Симпатии:
    18
    11BOSS11
    а хелп по дизайнеру открыть и посмотреть раздел работа с файлами религия не позволяет?
    ко*цензура* Dir
     
  8. alik86

    alik86 Lotus team
    Lotus team

    Регистрация:
    20 ноя 2008
    Сообщения:
    465
    Симпатии:
    0
    Очередное веселье... :lovecodeby:
     
  9. 11BOSS11

    11BOSS11 Гость

    а как файлы не импортировать , а атачить?
     
  10. alik86

    alik86 Lotus team
    Lotus team

    Регистрация:
    20 ноя 2008
    Сообщения:
    465
    Симпатии:
    0
    Ну тут я уж пожалуй всецело поддержу ToxaRat -- :) ;)
    В частности NotesRichTextItem class посмотрите.
     
  11. 11BOSS11

    11BOSS11 Гость

    все ,все... понял ,.. не кричите .. :)
    спс ,.. бум смотерть.........

    Добавлено:
    но все же не вижу я как можна приатачить в поле файлы.. :)
     
  12. Omh

    Omh Lotus team
    Lotus team

    Регистрация:
    4 июл 2007
    Сообщения:
    2.210
    Симпатии:
    0
    Капитан Очевидность декларирует: "NotesRichTextItem.EmbedObject"
     
  13. 11BOSS11

    11BOSS11 Гость

  14. 11BOSS11

    11BOSS11 Гость

    Код (LotusScript):
        Set rtitem=doc.GetFirstItem("foto")
    Call rtitem.Update
    '   Set rtitem = New NotesRichTextItem( doc, "foto" )
    Set object = rtitem.EmbedObject ( EMBED_ATTACHMENT, "", puth$+fileName$)
    Call rtitem.Update
    Call doc.Save( True, True )

    я атачю файл в РТполе, но оно прикрепляется не к полю а у самому документу....... :trash:
    что я неправильно делаю? =(
     
  15. Omh

    Omh Lotus team
    Lotus team

    Регистрация:
    4 июл 2007
    Сообщения:
    2.210
    Симпатии:
    0
    1. Апдейт делай только в конце.
    2. Проверь соответсвие имени поля на форме и в скрипте, по идее, всё правильно делаешь.

    Ошибки нету никакой??
     
  16. 11BOSS11

    11BOSS11 Гость

    имя правильное.......
    а атачит не в поле , а к доку... :trash:
    и ошибки нету.........
     
  17. Omh

    Omh Lotus team
    Lotus team

    Регистрация:
    4 июл 2007
    Сообщения:
    2.210
    Симпатии:
    0
    Покажи весь скрипт: как создаётся док, как задекларена переменная rtitem и т.д.
    Кусок который ты привёл, какбэ, правильный.
     
  18. 11BOSS11

    11BOSS11 Гость

    Код (LotusScript):
    Sub Click(Source As Button)
    Dim s As New NotesSession
    Dim ws As New NotesUIWorkspace
    Dim db As NotesDatabase
    Dim UIdoc As NotesuiDocument
    Dim doc As NotesDocument
    Dim rtitem As NotesRichTextItem
    Dim rtitem1 As NotesRichTextItem

    Set db = s.CurrentDatabase
    Set profiledoc=db.GetProfileDocument("setup")
    Set UIdoc=ws.CurrentDocument
    Set doc=uidoc.Document

    puth$=profiledoc.tmpdir(0)
    If Right(puth$,1)="\" Then
    puth$=Left(puth$,Len(puth$)-1)
    End If
    puth$=puth$+"\tmp\"


    puthName$=puth$ + "*.gif"
    fileName$ = Dir$(puthName$, 0)

    Call doc.Save( True, True )

    Call UIdoc.GotoField("img")
    '   Set rtitem1 = New NotesRichTextItem( doc, "img" )
    Call    uidoc.FieldClear("img")
    '   Call    doc.ReplaceItemValue("img", "")

    Call UIdoc.Import("gif image", puth$+fileName$)    
    'Call UIdoc.GotoField("foto")
    Set rtitem=doc.GetFirstItem("foto")
    'Call rtitem.Update
    '   Set rtitem = New NotesRichTextItem( doc, "foto" )
    Set object = rtitem.EmbedObject ( EMBED_ATTACHMENT, "", puth$+fileName$)
    'Call rtitem.Update
    Call doc.Save( True, True )
    Do While fileName$ <> ""
    Print fileName$
    fileNAMEfin$=puth$ & fileName$
    Print fileNAMEfin$
    'Call UIdoc.Import("gif image", fileNAMEfin$)      
    'Call doc.AttachVCard(doc,fileNAMEfin$)

    Set object = rtitem.EmbedObject ( EMBED_ATTACHMENT, "", fileNAMEfin$)
    'Call rtitem.EmbedObject ( EMBED_ATTACHMENT, "", fileNAMEfin$)     
    Call rtitem.Update
    Call doc.Save( True, True )
    fileName$ = Dir$()
    Loop

    End Sub
    Добавлено: при нажатии на кнопку мы имортим в поле img первый файл с извесной нам директории, и все файлы этой директории надо приатачить в рт Итем - foto...
     
  19. Omh

    Omh Lotus team
    Lotus team

    Регистрация:
    4 июл 2007
    Сообщения:
    2.210
    Симпатии:
    0
    Сумбурно однако, неудивительно, что глючит.

    Надо бы отделить мух от котлет:
    все UI операции типа этих
    Код (LotusScript):
    Call UIdoc.GotoField("img")
    Call uidoc.FieldClear("img")
    Call doc.ReplaceItemValue("img", "") - это вообще непонятно что
    Call UIdoc.Import("gif image", puth$+fileName$)
    выпилить отседа.

    Запомнить, что все операции с ричтекстами присходят в бэкграунд документе и если ты работаешь с ним при открытом uidoc, то после сохранения надо переоткрывать не сохраняя uidoc.

    Конкретно в твоём случае, думаю где-то позже ты пересохраняешь doc через uidoc (напримеро по Ctrl + S) и получаешь аттачи внизу под траурной линией.

    А вообще код жутковатый :trash:

    Добавлено: puth, profiledoc - глобальные переменные? Зачем?
    Лишние переменные выпили: rtitem1
    Option Declare стоит?
    Call doc.Save( True, True ) в начале нужен, как зайцу стоп-сигнал.
     
  20. 11BOSS11

    11BOSS11 Гость

    ыы.........надо смотреть.........

    - это закоментировано
     
Загрузка...

Поделиться этой страницей