• Познакомьтесь с пентестом веб-приложений на практике в нашем новом бесплатном курсе

    «Анализ защищенности веб-приложений»

    🔥 Записаться бесплатно!

  • CTF с учебными материалами Codeby Games

    Обучение кибербезопасности в игровой форме. Более 200 заданий по Active Directory, OSINT, PWN, Веб, Стеганографии, Реверс-инжинирингу, Форензике и Криптографии. Школа CTF с бесплатными курсами по всем категориям.

Агент куда-то девает перевод строки

  • Автор темы ABarmin
  • Дата начала
A

ABarmin

Чтобы как-то наладить выполнение LotusScript между двумя БД решил использовать агенты. Соответственно, данные, которые уходят в агент и которые он возвращает хранятся в переменных окружения. Проблема в том, что эти переменные окружения куда-то девают перевод строки.

С этим можно как-то бороться?

Агент:
Код:
Sub Initialize
' библиотека подключена
Dim setting As New SettingManager

Dim s As New NotesSession
Dim id As String
Dim res As String

id = s.GetEnvironmentString("var")

res = setting.getSetting(id)

Call s.SetEnvironmentVar("res", res)
End Sub

Библиотека получения параметра:
Код:
Public Class SettingManager	
' возвращает параметр по его id
Function getSetting (ID As String) As String
Dim res As Variant
Dim q As String

q = {@dblookup("":"NoCache"; @dbname; "Настройки"; "} + ID + {"; 2; [FAILSILENT])}
res = Evaluate(q)

If Not Isempty(res) Then
Dim out As String
out = ""

Forall r In res
out = out + r + Chr(13)
End Forall

getSetting = out
End If
End Function

' возвращает базу данных, сервер и путь 
' которой указан в значении настройки с ключом
' ID
Function getDB (ID As String) As NotesDatabase

End Function

' конструктор
Sub new

End Sub	
End Class

Когда вызываю getSetting непосредственно из той БД, где она описана все переносы строк на месте.

Что можете посоветовать?
 
A

ABarmin

Уже задавал на этом форуме вопрос, как еще это можно сделать (задал тут, послали сюда), поэтому и решил использовать агенты.

Можно как-то победить проблему с потерей #13??
 

lmike

нет, пердело совершенство
Lotus Team
27.08.2008
7 933
609
BIT
177
Chr(13) + Chr(10) - вдруг кому пригодится.
есть нюанецы (и в будущем они проявятся)... :rolleyes: (КМК)
дело в том что в никсах, перевод каретки - Chr(10), а виндях - то что выше
пример уже существующих "накладок" - если импортнуть java (созданый в никсах) сорц в агент или либу - будем долго фтыкать - чёйто компиллер ругаецо ;)
 
Мы в соцсетях:

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