Где ошибка, подставляю значение в поле

  • Автор темы SOFTOBZOR.ru
  • Дата начала
Статус
Закрыто для дальнейших ответов.
S

SOFTOBZOR.ru

Всем привет

Есть формула на кнопочке

Код:
Sub Click(Source As Button)
Dim doc As NotesDocument
Dim ws As New NotesUIWorkspace
Dim uidoc As NotesUIDocument
Set uidoc = ws.CurrentDocument
Set doc = uidoc.Document	

Set xml = CreateObject("Microsoft.XMLHTTP")
Call xml.open("GET", "http://www.cbr.ru/scripts/XML_daily.asp",False)
Call xml.send()

st$ = xml.responseText
st$ = Strright(st$,"<CharCode>AUD")
st$ = Strright( st$, "<Value>" )
st$ = Strleft( st$, "</Value>" )

st1$ = xml.responseText
st1$ = Strright(st1$,"<CharCode>AUD")
st1$ = Strright( st1$, "<Nominal>" )
st1$ = Strleft( st1$, "</Nominal>" )

'Messagebox st1$ &" AUD = " & st$ & " руб." 'Если вызывать так то работает
Call doc.ReplaceItemValue(US, "st1$") 'А вот так не работает :(
'Call doc.Save( False, True )
End Sub

Соответственно поле US тоже есть, но внего не чего не заносится, как в прочем и ошибка не вылазиет.
Помогите отковырять проблему

Отбой воздушной тревоги

Код:
 Call doc.ReplaceItemValue(US, "st1$") 'А вот так не работает :(
Надо так
Код:
Call doc.ReplaceItemValue("US", st1$ +"Руб = " +st$)
 
D

DNT

Для: SOFTOBZOR.ru



<!--QuoteBegin-SOFTOBZOR.ru+5:10:2006, 13:48 -->
<span class="vbquote">(SOFTOBZOR.ru @ 5:10:2006, 13:48 )</span><!--QuoteEBegin-->'Call doc.Save( False, True )
[snapback]44971" rel="nofollow" target="_blank[/snapback]​
[/quote]

Может стоит раскоментировать? :)
 
S

SOFTOBZOR.ru

Не не нада :) так специально...

Тут еще попутный вопрос, на удаленном сервере есть TXT файл (сервер http://)
Этот файл имеет логическую структуру:

Значение1
Значение2
Значение3
Значение4
Значение5


Есть базка в ней собственно есть поля

[ZN1] [ZN2] [ZN3] [ZN4] [ZN5]

Задача вобщем вытянуть с удаленного TXT файла значения и сопоставить их в соответствующие поля.
Вот задача, куда думать?
 
O

oshmianski

Не не нада :) так специально...

Тут еще попутный вопрос, на удаленном сервере есть TXT файл (сервер http://)
Этот файл имеет логическую структуру:

Значение1
Значение2
Значение3
Значение4
Значение5
Есть базка в ней собственно есть поля

[ZN1] [ZN2] [ZN3] [ZN4] [ZN5]

Задача вобщем вытянуть с удаленного TXT файла значения и сопоставить их в соответствующие поля.
Вот задача, куда думать?
а разве метод в твоем первом посте не работает?

если нет, то попробуй вот это (от Ника Норкина с intertrust.ru).
естественно, парсер самому писать придется.

Код:
import java.net.*;
import java.io.*;
import lotus.domino.*;

public class JavaAgent extends AgentBase {

public void NotesMain() {

try {
Session session = getSession();
AgentContext agentContext = session.getAgentContext();

// (Your code goes here) 

URL url=new URL("http://informer.gismeteo.ru/rss/26850.xml");
InputStream is=url.openStream();
BufferedReader br = new BufferedReader(new InputStreamReader(is,"windows-1251"));
try
{
String nextLine=null;
while ((nextLine=br.readLine())!=null) 
System.out.println(nextLine);
}
catch(EOFException e)
{
e.printStackTrace();
}
br.close();
is.close();
} catch(Exception e) {
e.printStackTrace();
}
}
}
 
D

DNT

Для: SOFTOBZOR.ru

Ты скажи что тебе не понятно конкретно??? А то очень расплывчатый ответ может получиться.
 
S

SOFTOBZOR.ru

Для: SOFTOBZOR.ru

Ты скажи что тебе не понятно конкретно??? А то очень расплывчатый ответ может получиться.

Объясняю
Есть файл *.txt который находится на http:// сервере
1. к этому файлу нужно подконектится
2. этот файл нужно прочитать
3. данные из этого файла нужно вставить в Lotus

Файл:
Строка 1
Строка 2
Строка 3

Lotus
Field 1
Field 2
Field 3

Результат
Срока 1 -> вравить в Field 1
Срока 2 -> вравить в Field 2
Срока 3 -> вравить в Field 3

Все предельно понятно, но как не понятно.
Рбратие внимание это не XML по этому метот описаны выше не подходит.
 
S

SOFTOBZOR.ru

<!--QuoteBegin-Kee_Keekkenen+7:10:2006, 19:10 -->
<span class="vbquote">(Kee_Keekkenen @ 7:10:2006, 19:10 )</span><!--QuoteEBegin-->а без разницы xml или txt, считывание идет построчно, а это, как тут все поняли, тебе и нужно smile.gif
[snapback]45077" rel="nofollow" target="_blank[/snapback]​
[/quote]

Да..???. я в лотусе может и новичек, но в методологии (из др. языков программирования) могу сделать вывод: Нафига тогда XML-обявлять если нужно получить строки? Для понта что-ли??? Может еще ZLIB библиотеку подключить для пущей точности :) ?
Set xml = CreateObject("Microsoft.XMLHTTP")
Если из стоки выше вы не увидели то что смущет то вот по короче

XML нужно парсит по тегам, по этому все что касается ...
st$ = xml.responseText
st$ = Strright(st$,"<CharCode>AUD")
st$ = Strright( st$, "<Value>" )
st$ = Strleft( st$, "</Value>" )

Тут отпадает, я прошу не гадать на кофейной гуще, как многие любят делать, сосвершенно сами не владея вопросом, а помочь - тем кто знает.

По этому вопрос открыт, тем кто хочет посмется пожалуйста на
 
K

Kee_Keekkenen

мое замечание относилось к проблеме считывания информации (вторая задача) из текстового файла, при чем тут xml ?!
а что касается первой задачи - в поле значение не заносится, то как ты определяешь, что значение в поле не заносится ?
 
O

oshmianski

Для: SOFTOBZOR.ru
млин, е-мае, я конечно дико извиняюсь, но что мешает доработать скрипт, который я уже давал, вот так (код можно не менять 2 дня, потом уберу тестовый файл со своего сервака):
Код:
import java.net.*;
import java.io.*;
import lotus.domino.*;

public class JavaAgent extends AgentBase {

public void NotesMain() {

try {
Session session = getSession();
AgentContext agentContext = session.getAgentContext();

// (Your code goes here) 

URL url=new URL("http://lotus.galaktika.by/Develop/Oshmianski.nsf/A0D978E1ACDC3E2BC2257202002607F8/$File/test.txt");
InputStream is=url.openStream();
BufferedReader br = new BufferedReader(new InputStreamReader(is,"windows-1251"));
try
{
String nextLine=null;
while ((nextLine=br.readLine())!=null) {
//System.out.println(nextLine);

Database db = agentContext.getCurrentDatabase();
Document doc = db.createDocument();
doc.appendItemValue("Form", "твоя_форма");
doc.replaceItemValue("твое_поле", nextLine);
if (doc.save())
System.out.println("Document has been saved");
else
System.out.println("Unable to save document");
}
}
catch(EOFException e)
{
e.printStackTrace();
}
br.close();
is.close();
} catch(Exception e) {
e.printStackTrace();
}
}
}

или на ЖАБУ рука не поднимается?
и вообще, имхо, пофигу какой формат файла, ведь считывание идет построчно, а это, на сколько я понял, тебе и нужно.
 
O

oshmianski

Спасибо большое, что то правда выдает ошибку на

В чем может быть трабл?
хм, трудно сказать. у меня был трабл: не могу в дизайнере сохранить жабовского агента, пока в Notes не запущу уже какого-нить существующего жаба-агента. после этого все гут.
 
O

oshmianski

Для: SOFTOBZOR.ru
кроме того, ты вообще в какой тип агента пытаешься java-script засунуть? надеюсь JAVA, а не Lotus Script :(
и про импорт всех классов (что я указал) не забудь!
 
S

SOFTOBZOR.ru

Естественно в Java
А вот про импорт если не сложно по подробней можно рассказать?

import java.net.*;
import java.io.*;
import lotus.domino.*;
 
O

oshmianski

Естественно в Java
А вот про импорт если не сложно по подробней можно рассказать?

import java.net.*;
import java.io.*;
import lotus.domino.*;
если честно, то я не силен в JAVA, но предполагаю, что это обычное подключение классов или библиотек на подобие си #include <stdinit.h>.
я просто спрашивал, добавил ли ты эти строки.
решил проблему или нет?
 
S

SOFTOBZOR.ru

Да добавил, проблемма так и не решилась.
 
S

SOFTOBZOR.ru

Выдет на строке:
public class JavaAgent extends AgentBase {

А пишит что public is reserved indentifier, типа puplic зарезервировнное слово :ph34r:
 
O

oshmianski

Для: SOFTOBZOR.ru
Выкладываю бд.
Открываешь, жмякаешь на кнопку "GetTxtFromHTTP" в представлении All.
Результат сообщи.
 

Вложения

  • get_txt_from_http.zip
    24,4 КБ · Просмотры: 217
Статус
Закрыто для дальнейших ответов.
Мы в соцсетях:

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