• 15 апреля стартует «Курс «SQL-injection Master» ©» от команды The Codeby

    За 3 месяца вы пройдете путь от начальных навыков работы с SQL-запросами к базам данных до продвинутых техник. Научитесь находить уязвимости связанные с базами данных, и внедрять произвольный SQL-код в уязвимые приложения.

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

    Запись на курс до 25 апреля. Получить промодоступ ...

Линк на фотку в РТ поле

Kizarek86

Green Team
20.07.2007
871
7
BIT
38
Omh
Сорь тогда за глупый вопрос, как программно при выборе картинки(при закрытие документа, неважно по какому событию) притачить картинку которая выбрана в РТ поле?
 
S

Sandr

kizarek
Как оыбчный файл аттачите, так и картинку :)

Код:
Set notesEmbeddedObject = notesRichTextItem.EmbedObject
+ F1
 

Kizarek86

Green Team
20.07.2007
871
7
BIT
38
А как отобразить картинку теперь?)приатачить то к полю приатачили...а вот отображается она как ярлычок простой а не как картинка.
 
G

Guest

Картинка должна просматриваться в Вебе ? Если так, просто пиши в RTF ссылку на нее, тут и мудрить не надо, благо хранится в документе
 

Kizarek86

Green Team
20.07.2007
871
7
BIT
38
ничерта неполучается(
Есть поле РТ (Foto) на форме, приатачить к нему файл надо(+отобразить в нём).
Dim RTItem As NotesRichTextItem
Dim ws As New NotesUIWorkspace
Set docST = ws.CurrentDocument .Document
Set RTItem= docST.GetFirstItem("Foto")
Call RTItem.EmbedObject(EMBED_ATTACHMENT, "", "e:\1\1.gif")

фотка атачиться к документу а не к полю...
 
G

Guest

ничерта неполучается(
Есть поле РТ (Foto) на форме, приатачить к нему файл надо(+отобразить в нём).
Dim RTItem As NotesRichTextItem
Dim ws As New NotesUIWorkspace
Set docST = ws.CurrentDocument .Document
Set RTItem= docST.GetFirstItem("Foto")
Call RTItem.EmbedObject(EMBED_ATTACHMENT, "", "e:\1\1.gif")

фотка атачиться к документу а не к полю...

)) Как же ты собрался взять несуществующий item ? Для начала не мешало бы его инициализировать, а потом только приатачивать...Set RTItem=New NotesRichTextItem(docST,"Foto")

Это вместо строки Set RTItem=docST.GetFirstItem("Foto")
Короче, взять из документа можно только существующий RTF

Это вместо строки Set RTItem=docST.GetFirstItem("Foto")
Короче, взять из документа можно только существующий RTF
 

Kizarek86

Green Team
20.07.2007
871
7
BIT
38
Программер
пардон, ет я нету строчку вставил сюда....вопрос про то как открыть приатаченую фотку в РТ поле открыт)
Да и отображается приатаченый файл то в РТ поле, то снизу документа...ничерта не пойму)
 
G

Guest

Картинка должна просматриваться в Вебе ? Если так, просто пиши в RTF ссылку на нее, тут и мудрить не надо, благо хранится в документе

Ну то есть можно кинуть на форму еще один эртээфик для просмотра в вебе, там и сбацать линк на твой аттач
 

Kizarek86

Green Team
20.07.2007
871
7
BIT
38
Лан, ещё рас опишу задачу.
1.Нужно чтобы картинка отображалась на форме в лотусе. т.е. юзер взял картинку, добавил к документу, всё она там есть.
2.Далее через некоторое время понадобилось эту картинку сохранить отдельно, юзер кликнул на кнопочку, картинка куда указано сохранилась.

Решили приатачить картинку чтобы легче было потом реализовать п.2, наткнулись на то что с п.1 тогда траблы...
 
G

Guest

Ну тогда предлагаю атачить файл, потом сохранять его на машине и после всего этого импортнуть его в тот же документ в другой RTF чере NotesUIDocument.Import, вариант не то чтобы очень, но можешь рискнуть
 

Kizarek86

Green Team
20.07.2007
871
7
BIT
38
Программер
Например ещё можно так, думаю проще будет. Лепим кнопочку с диалогом (аля как в РТ поле при выборе картинки), на ней код который атачит файл и пихает картинку в РТ поле. Так можно запихнуть кодом картинку в РТ пое чтобы она там открылась?

Программер
Лови спасибо, NotesUIDocument.Import как раз то что надо)

Как бы теперь у РТ поля убрать значок который справа висит) Никто не убирал это бяку?)
 
G

Guest

Эээ, какой значок ? У тебя в том RTF, в котором картинка, какой-то значок ?
 
30.05.2006
1 345
12
BIT
0
MIME должен помочь. Если картинку всталять не импортом и не аттачем, а генерить MIMEEntity, то потом она в интерфейсе выглядит как inline, но программно обрабатывается не хуже attach-а
 

Kizarek86

Green Team
20.07.2007
871
7
BIT
38
Constantin A Chervonenko
Ну можно в РТ поле вставить также Импортом, ток галку поставить чтобы как MIME отображалась.только как картинку потом вытянуть оттуда хз) всю хелпу облазил...так ничего и ненашел(

Это на ЛС возможно? или только на ЯС?

Ну тогда предлагаю атачить файл, потом сохранять его на машине и после всего этого импортнуть его в тот же документ в другой RTF чере NotesUIDocument.Import, вариант не то чтобы очень, но можешь рискнуть
Да кстати, а метода обратного Import нету? покопался вроде ненашел)
 
G

Guest

Constantin A Chervonenko
Ну можно в РТ поле вставить также Импортом, ток галку поставить чтобы как MIME отображалась.только как картинку потом вытянуть оттуда хз) всю хелпу облазил...так ничего и ненашел(

Это на ЛС возможно? или только на ЯС?


Да кстати, а метода обратного Import нету? покопался вроде ненашел)

Метод, обратный импорту, это метод Extract класса EmbeddedObjects..Конечно, не совсем обратный, но в твоем случае не вижу причины не использовать его, ведь в документе у тебя есть и картинка, и приатаченный файлик, котороый можно экстрактнуть в любую директорию юзерской машины
 

Kizarek86

Green Team
20.07.2007
871
7
BIT
38
Программер
Да, ту разобрался.
Код:
	Dim ws As New NotesUIWorkspace
Dim uidocST As NotesUIDocument
Set uidocST=ws.CurrentDocument
Dim RTItem As NotesRichTextItem
fn= ws.OpenFileDialog(False, "Выбрать файл", "GIF Image|*.gif", "c:\My Documents")
Forall FileName In fn
Call uidocST.GotoField("Foto")
Call uidocST.Import("GIF Image", FileName)

Set RTItem= New NotesRichTextItem(uidocST.Document, "Att" )
Call RTItem.EmbedObject(EMBED_ATTACHMENT, "", FileName) ' крепим аттачмент
End Forall
Тут вот косяк вылез....файл атачится к полю "Att" и атачится к полю "Foto"....хрен пойми почему.
 
S

Sandr

Судя по коду, он должен быть и там и там.
Сохраните документ и переоткройте его...
 
S

Sandr

set notesUIDocument = notesUIWorkspace.EditDocument( [editMode] , [notesDocument] , [notesDocumentReadOnly] , [documentAnchor$] , [returnNotesUIDocument] , [newInstance] )

Код:
dim unid as string
dim doc as notesdocument
set doc = uidoc.document
unid = doc.univaersalID
call doc.save(true, false)
call uidoc.close
on error resume next
set doc = db.getdocumentByUNID(unid)
call ws.EditDocument(true, doc)
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!