Autor Thema: Inhalt eines RT-Feldes in eine Variable schreiben  (Gelesen 15969 mal)

Offline jens1979

  • Aktives Mitglied
  • ***
  • Beiträge: 115
  • Geschlecht: Männlich
Hallo,

ich bin totaler Java-Neuling. Möchte mich aber trotzdem mal daran versuchen.

Ich möchte mit einem Java-Programm aus meiner vohandenen Notes-DB Bilder anzeigen, welche in der DB in einem Rich-Text-Feld liegen.
D.h. ich würde gern mit getEmbeddedObjects die Grafik aus dem RT-Feld auslesen und dann in einem Java-Fenster anzeigen.

Ist das so einfach möglich wie ich mir das denke, bzw. wo und wie müsste ich da anfangen und vorgehen?


Danke schonmal


Jens

Hernan Cortez

  • Gast
Re:Inhalt eines RT-Feldes in eine Variable schreiben
« Antwort #1 am: 15.05.04 - 20:27:33 »
Ist das so einfach möglich wie ich mir das denke
Nein. Wir haben hier die gemeinsame kollektive Erfahrung gemacht, daß Java eine Voll-OO-Sprache und LotusScript eine anwendungsoptimierte Sprache ist, die weitgehend objektbasiert eingesetzt wird. Das wirkliche Erlernen von Java erfordert nicht nur meiner Meinung nach eine Menge an harter konzeptioneller Arbeit. Zu einem besseren Menschen wird man dadurch auch nicht, aber man kann danach etwas mit Java anfangen.  :)

Wenn du ein bischen Reinschnuppern willst, biete ich an da ein bischen zu helfen. Du mußt dafür aber den Source code posten, weil nur das für mich eine mögliche Gesprächsgrundlage bildet. Wenn ich hier konzeptionell anfange, kapiert wieder keiner, was ich eigentlich sagen will. Das ist selbst mir auf die Dauer zu langweilig.

Poste einfach deinen Source code. Wird spätestens gegen Ende nächster Woche (mglchws. Donnerstag erledigt). Vielleicht hilft auch jemand anders aus.

Offline animate

  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.540
  • Uh, I'm just gonna go find a cash machine.
    • LA2
Re:Inhalt eines RT-Feldes in eine Variable schreiben
« Antwort #2 am: 15.05.04 - 21:07:07 »
ich hab genau das gleiche mal gemacht. In VB. Das ging sehr einfach. Weil ich wusste, wie es funktioniert.
Mit Hilfe von Java ist das genauso einfach.

Zitat
Wenn ich hier konzeptionell anfange, kapiert wieder keiner, was ich eigentlich sagen will.

ich bezweifle, dass es keiner versteht, aber 'wenige' akzeptiere ich. Warum ist das so? Warum begeistert sich nur eine scheinbar überschaubare Anzahl von Notes-Entwickler(inne)n für OO-Methoden? Vor allem mit dem Hintergrund, dass du sie in der Notes-DB-Entwicklung ja sogar noch wunderbar anwenden kannst.
Thomas

Fortunately, I'm adhering to a pretty strict, uh, drug, uh, regimen to keep my mind, you know, uh, limber.

Hernan Cortez

  • Gast
Re:Inhalt eines RT-Feldes in eine Variable schreiben
« Antwort #3 am: 15.05.04 - 21:59:22 »
... weil sie nicht glauben, dass dadurch die Anwendungen überschaubarer werden ...

Die Auftraggeber sind auch oft eher mit der Erfüllung von funktionalen Requirements kurzfristig zu beglücken. Nicht mit non-funktionalen wie Erweiterbarkeit, Wiederverwendbarkeit, Stabilität, etc.

Vielleicht gibt es da auch ein Feindbild gegen Laber-Konzeptualisten, die Geld verdienten (war mal), indem sie Paperware zu Lotus Solution Architecture, Domino Workflow und wie_hiess_noch_gleich_diese_komige_applet-suite, die MS-Office verdrängen sollte, erstellten.
Vielleicht kann man sagen, dass jede Einführung eines höher-leveligeren Konzepts in Lotus Notes sehr oft zu schweren Kopfschmerzen in der Entwicklungsabteilung führte. Da war Vanilla Notes eben erfolgreicher.
Um den Vergleich mit Java zu ziehen: Das gleiche kann man in vielen Bereichen auch über EJB sagen. Aber bei anderen Sachen eben nicht: Struts, vielleicht Swing, J2EE Design Patterns, Model View Controller, Ant, nun Hibernate, etc. Da gibt es eben viel stärker die Erfahrung, dass neue Sachen manchmal echt die Arbeit erleichtern. Da gibts dann auch eine höhere Lernbereitschaft.  

OO ist aber sehr wohl eine pragamatisch einsetzbare Sache. Bin aber schon der Meinung, dass das eine Zeit des Umdenkens und Einarbeitens erfordert. SINN MACHT ES ABER AUF JEDEN FALL.

Hernan Cortez

  • Gast
Re:Inhalt eines RT-Feldes in eine Variable schreiben
« Antwort #4 am: 16.05.04 - 14:45:15 »
Zitat
Mit Hilfe von Java ist das genauso einfach.

Sicher ist es einfach. Was ich damit nur sagen will ist folgendes:
Ich hab das hier festgestellt und ich stell das jetzt in der Firma fest. Ein in Lotus Programmierung wirklich erfahrener Kollege mit schon ein bischen zurückliegenden Informatik-Studium hat nun eine Java Aufgabe. Er holt mich öfters zu sich, wenn er nicht weiterweiss. 95% dieser Fragen betrafen Fälle, die Gegenstand der Java Zertifizierung von Sun sind. Der Rest sind xml-Geschichten, was viel mit seiner Aufgabe aber null mit Java zu tun haben.
Er liest jetzt ein entsprechendes Buch. Nicht das ich nicht gerne Leuten helfe. Aber es ist einfach ein bischen sinnlos. Die Zusammenhänge sind in den Büchern viel besser dargestellt, als ich das ad hoc aus dem Ärmel schütteln könnte oder wollte.
Man hat schon genug damit zu tun, das Design übersichtlich zu halten. Dann müssen die Grundlagen einfach sitzen und das geht eben vieeeeel besser mit einem Buch (und dem Java Certification Forum von Javaranch, that is).  
Wenn jens1979 jetzt den code postet, kann ich dann an ein paar Stellen eingreifen. Er weiss dann, wie es aussieht. Wenn ich anfange zu erklären, komme ich vom Hölzchen aufs Stöckchen, was aber auch normal ist. Es geht nicht darum, einzelne Klassen und Methoden zu verstehen (davon gibt es 100.000de), sondern die Zusammenhänge. Und die bilden ein Geflecht, dass zwar nicht unüberschaubar ist. Man kann das aber besser in einem Buch erklären. Wenn dann noch Unklarheiten sind, kann ich das beantworten.

Vector super. Gehört zu den Collection-Klassen, die sich in dem Paket java.util. befinden. Collection heisst das sie Objekte sammeln und wieder herausgeben, wenn man sie fragt. Also so ähnlich wie Arrays.
In Vector fügt man mit add(Object o) hinzu und erhält mit get(int index) ein Objekt heraus. In Java 1.1 war hiessen die Methoden noch anders, aber das merk ich mir nicht. Weiss wos steht, wenn ichs brauche.  Man kann über Vektoren auch iterieren.

Die Radikalinskis von Gutenberg-oder-PDF-Verweigerer Fraktion stossen dann in 90% der Fälle auf das Problem, dass das Objekt nach dem Holen aus dem Vektor nicht mehr so funktioniert wie bevor man es da reingetan hat. Es ist nämlich nach dem get erstmal vom Typ Objekt. Und um das zu verstehen, gibts in den Büchern immer dieses Polymorphismus Kapitel.

Ich kenne Leute, die jahrelang LotusScript programmieren und zum Bleistift den List-Datentyp aus Prinzip ignorieren. Gegen die habe ich nichts. Ich kenne aber auch Leute, die sich irgendwie für wissenschaftliche  Programmierer halten, weil sie den List-Datentyp kennen (letzteres find ich komisch). Ich selbst halte mich für einen durchschnittlichen Java-Programmierer.  
In Java gibt es so was nicht. Zumindest die Grundlagen der Sprache sollte man einfach draufhaben (Gegenstand der Sun Java Prüfung). Warum jetzt Hibernate oder EJB, Struts oder Webworks2, etc. pp. gibt immer noch genug Raum für Diskussionen, Xtreme Ranting und Verleumdung.  

Wir bekommen doch jede Woche 24 x 7 Stunden von unserer Bundesregierung gezeigt, dass beständiges herum-kaspern und vor-sich-hin-wursteln zu suboptimalen Ergebnissen führt. Davon kann man auch lernen.

Gruß Axel
« Letzte Änderung: 16.05.04 - 16:01:44 von El Indio Mapuche »

Offline jens1979

  • Aktives Mitglied
  • ***
  • Beiträge: 115
  • Geschlecht: Männlich
Re:Inhalt eines RT-Feldes in eine Variable schreiben
« Antwort #5 am: 16.05.04 - 16:12:36 »
Hi,

so wie du das schon richtig festgestellt hast, ist bzw. war bis vor ein paar Tagen, mein Java-Wissen gleich null. Seit Anfang der Woche wühle ich mich durch Bücher und nähere mich jetzt langsam der 0,5 Marke  :-\

Ich glaube mein Hauptproblem ist einfach der Anfang. Das geht mit so einfachen Sachen los wie: Ich versuche seit 3 Stunden erfolgslos meine Notes.jar Lib in NetBeans 3.6 zu importieren (ist jetzt java-technisch bestimmt vollkommen falsch ausgedrückt aber ihr wisst ja was ich meine).
Auf meinem anderen Rechner hab ich das ganze ohne idk nur über die Kommandozeile getestet ... da nimmt er mir zwar die Klassen ab, aber ich bekomm trotzdem Fehler bei der Ausführung ... sowas in der Art

Exception in thread "main" java.lang.UnsatisfiedLinkError: no lsxbe in java.library.path
        at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1491)
        at java.lang.Runtime.loadLibrary0(Runtime.java:788)
        at java.lang.System.loadLibrary(System.java:834)
        at lotus.notes.NotesThread.load(NotesThread.java:260)
        at lotus.notes.NotesThread.<clinit>(NotesThread.java:23)

Das scheitert also schon wirklich am Anfang.

Es wär also wirklich sehr nett wenn ihr vieleicht erstmal auf diese 2 Punkte eingehen könntet ... ich will ja eben wie gesagt auch was dabei lernen ...

Danke Jens

Offline animate

  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.540
  • Uh, I'm just gonna go find a cash machine.
    • LA2
Re:Inhalt eines RT-Feldes in eine Variable schreiben
« Antwort #6 am: 16.05.04 - 18:12:17 »
hast du in deiner PATH Umgebungsvariable einen Verweis auf das Verzeichnis, in dem die Datei lsxbe.dll ist? Wenn nicht, dann probier mal.
Thomas

Fortunately, I'm adhering to a pretty strict, uh, drug, uh, regimen to keep my mind, you know, uh, limber.

Offline jens1979

  • Aktives Mitglied
  • ***
  • Beiträge: 115
  • Geschlecht: Männlich
Re:Inhalt eines RT-Feldes in eine Variable schreiben
« Antwort #7 am: 16.05.04 - 19:12:46 »
kommt diese lsxbe.dll vom notes ????

Hab grad mal meine Platten danach durchsucht und nur ne nlsxbe.dll im notes verzeichniss gefunden.

ich glaub da ist was ganz faul bei mir?

Offline animate

  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.540
  • Uh, I'm just gonna go find a cash machine.
    • LA2
Re:Inhalt eines RT-Feldes in eine Variable schreiben
« Antwort #8 am: 16.05.04 - 19:52:07 »
ich hab die Datei auch nicht. Schau doch mal in notes.net im 4/5 Forum nach. Da gibts einen Haufen Treffer, wenn du nach deiner Fehlermeldung suchst.
Vielleicht ist da ja was dabei
Thomas

Fortunately, I'm adhering to a pretty strict, uh, drug, uh, regimen to keep my mind, you know, uh, limber.

Offline jens1979

  • Aktives Mitglied
  • ***
  • Beiträge: 115
  • Geschlecht: Männlich
Re:Inhalt eines RT-Feldes in eine Variable schreiben
« Antwort #9 am: 16.05.04 - 21:08:20 »
OPkay ich hab des Rätsels Lösung gefunden ... obwohl ich diese für mehr als suspekt halte.

Also der erste Fehler war das ich keine Pfad-Angabe in den Umgebungsvariablen auf mein Notes-Verzeichniss gesetzt hatte.
Das 2. Problem mit der nich vorhandenen lsxbe.dll ist allerdings etwas komisch ... hab im notes.net forum gefunden das man einfach die nlsxbe.dll in die lsxbe.dll umkopieren soll.

Okay es klappt zwar aber ist trotzdem irgendwie seltsam.

Hat vieleicht noch jemand ne idee zu der NetBeans Geschichte?

Offline animate

  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.540
  • Uh, I'm just gonna go find a cash machine.
    • LA2
Re:Inhalt eines RT-Feldes in eine Variable schreiben
« Antwort #10 am: 16.05.04 - 22:13:41 »
ich kenne NetBeans nur wenig. Aber in anderen IDEs kannst du in den Projekteigenschaften angeben, welche Bibliotheken du benutzen möchtest.
Das geht bequem über einen Dateiauswahldialog.

Wie versuchst du denn, das Ding in Netbeans einzubinden?
Thomas

Fortunately, I'm adhering to a pretty strict, uh, drug, uh, regimen to keep my mind, you know, uh, limber.

Offline jens1979

  • Aktives Mitglied
  • ***
  • Beiträge: 115
  • Geschlecht: Männlich
Re:Inhalt eines RT-Feldes in eine Variable schreiben
« Antwort #11 am: 17.05.04 - 16:45:15 »
okay mit NetBeans hab ich erstmal aufgegeben ... geht ja auch ohne IDE.

Im JBuilder (auf meinem anderen Rechner) hab ichs gleich gefunden ... allerdings hab ich jetzt hier das Problem ... das ich keine Ahnung habe wo ich den Pfad zur lsxbe.dll angeben soll. Hast du da vieleicht ne Idee für mich ... ich glaub langsam die IDE's sind nix für mich  :'(

Jens

Achja auf der Befehlszeile und mit "javac" und "java" funktiioniert alles bestens.

Offline animate

  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.540
  • Uh, I'm just gonna go find a cash machine.
    • LA2
Re:Inhalt eines RT-Feldes in eine Variable schreiben
« Antwort #12 am: 17.05.04 - 17:01:33 »
du musst nirgendwo auf die Datei verweisen. Nur auf das jar-Archiv bzw. die jar-Archive
Thomas

Fortunately, I'm adhering to a pretty strict, uh, drug, uh, regimen to keep my mind, you know, uh, limber.

Hernan Cortez

  • Gast
Re:Inhalt eines RT-Feldes in eine Variable schreiben
« Antwort #13 am: 17.05.04 - 17:25:00 »
okay mit NetBeans hab ich erstmal aufgegeben ... geht ja auch ohne IDE.
... ich glaub langsam die IDE's sind nix für mich  :'(

Hell no. Wait.  

Lass dich nicht so schnell von den ruthless Hells-Angels Programmiern der IRIS-Organisation verwirren. (ein bischen Spaß muss sein )
Der Namens-Bestandteil "lsx" ist quasi eine "Duftmarke" der Iris Organisation.

Das ist kein Grund auf produktivitätssteigernde IDEs zu verzichten.  

Gruß Axel

... komme später auf den Fall zurück und habe mit Eclipse überhaupt keine Probleme.
... mit Netbeans 3.5 hatte ich die aber auch nicht.
... Hast du den Pfad des Notes Programmverzeichnis permanent in die Path Angaben des OS eingetragen? Oder immer nur in den CMD-Prompt eingegeben. Mache ersteres.  Zielmlich weit vorne. Falls du Windows hast, dann
Start//Systemsteuerung/System/Erweitert/Umgebungsvariablen.
In Netbeans musst du das Verzeichnis u.U. noch "mounten". Siehe Hilfe.

... oder benutze Eclipse. Damit sind Thomas und ich zur Zeit besser vertraut.l

Hernan Cortez

  • Gast
Re:Inhalt eines RT-Feldes in eine Variable schreiben
« Antwort #14 am: 17.05.04 - 19:58:24 »
Antworte am besten einfach, ob du das Domino Programm Verzeichnis über wie ich dir geschrieben habe mit Systemsteuerung/etc in die Umgebungsvariablen reingekloppt hast.

Ehrlichgesagt kann ich mir nicht vorstellen, dass moderne und hochwertige IDEs wie JBuilder oder NetBeans die System-Variablen Einstellungen des HOST OS nicht übernimmt. Halte ich quasi für ausgeschlossen.

Ich hatte damit übrigens auch mal eine Weile zu kämpfen. Wenn du aber erstmal durch bist, kannst du in Ruhe produktiv werden. Dann ist eine ziemlich beknackte Klippe erstmal umschifft. Normalerweise wird der Pfad zum Notes-Programmverzeichnis bei Installation in die PATH Variablen geschrieben. Aber wir, die wir öfters mal die Notes-Versionen wechseln, mehrere Notes Versionen gleichzeitig laufen oder zwischendurch Notes deinstallieren, kann die Einstellung da schon mal falsch sein.

Selbst Bob Balaban sagt öfters, d.h. eigentlich immer kritische Sachen zur Java Integration in Domino. Es hat ein paar Schwächen.  

Die Datei heisst bestimmt nlsxbe.dll.
LSX ist jedenfalls eine typische Buchstabenkombination der Iris-Organisation. Das führende "n" sehen diese Leute vermutlich gar nicht mehr. Schliesslich heisst die exe für den http-task auch nhttp.exe. ;D

hasta la próxima

Axel

Offline jens1979

  • Aktives Mitglied
  • ***
  • Beiträge: 115
  • Geschlecht: Männlich
Re:Inhalt eines RT-Feldes in eine Variable schreiben
« Antwort #15 am: 17.05.04 - 20:40:59 »
Habs jetzt mit dem JBuilder alles hinbekommen ... ich glaub ich halt mich jetzt erstmal an den ... wollt ja auch irgendwann mal beiginnen mein Problem zu lösen  ;)

Also der connect zu Notes klappt schonmal so weit. Ich hab das einfach mal mit ein paar Codes probiert die ich im Netz bzw. der Designer Help gefunden habe ...

Hab mir noch eben schnell die Herdt-Unterlagen für Java/Domino5 bestellt ... ich nehm mal an ... dann werd ich's etwas besser auf die Reihe bekommen euch was Code-technisches zu liefern mit dem Ihr was anfangen könnt.  ;D

Jens

Offline jens1979

  • Aktives Mitglied
  • ***
  • Beiträge: 115
  • Geschlecht: Männlich
Re:Inhalt eines RT-Feldes in eine Variable schreiben
« Antwort #16 am: 17.05.04 - 20:52:16 »
Die Frage die sich mir jetzt stellt ... ich finde zwar in der Designer-Hilfe massig NotesAgents (welche ich aber meines Verständnisses nach auch nur als Agenten im Notes benutzen kann) ... allerding jedoch recht wenig zum Notes-Connect mittels externem Java-Programm.

Was muss ich von der logik her tun um ein RT-Feld auszulesen?

Ich denk mir das so:
1. Connect zur DB
2. Suchen des Doc's mittels eines Feldes und erhalten der UNID
3. Öffnen des Doc's mit der UNID
4. Auslesen der Feldes

Hab ich da jetzt erstmal was vergessen oder passt das so?
Wie bekomm ich den connect auf den Server hin (das wäre die Kür ... muss aber net sein ... die DB liegt eh repliziert auf dem Arbeitsplatz vor).


Danke Jens

Hernan Cortez

  • Gast
Re:Inhalt eines RT-Feldes in eine Variable schreiben
« Antwort #17 am: 17.05.04 - 21:14:20 »
Hab hier noch was. In der Hashmap stehen serverName, serverPath, userPwd. Die vorher mit put da reintun.
 
Database und Session werden in der Klasse als Instanzvariablen über mehrere Aufrufe gehalten. Bei Aufruf von Methoden, die gegen die Datenbank gehen, immer neuen sinitThread und stermThread setzen.
Meine Exceptions einfach raustun.
Genauso die logger().

Poste einfach den code. Das Gemoser über "Das ist ja gar nicht Objektorientiert" kommt sowieso   ;D

Code
   /** initialize (notes-)session and (notes-)database */
   public void initDbConnection(HashMap appParameters) {
      logger.debug("Entering()");
      //System.out.println("appletParameters=" + appletParameters);

      serverName = (String) appParameters.get("dbServerName");
      serverPath = (String) appParameters.get("dbPathName");
      String userPwd = (String) appParameters.get("userPwd");

      this.appParameters = appParameters;

      notesConnectionException = null;
      try {
         NotesThread.sinitThread();
         if (userPwd.equals(null)) {
            nSession = NotesFactory.createSessionWithFullAccess();
         } else {
            nSession = NotesFactory.createSessionWithFullAccess(userPwd);
         }
         nDbCurrent = nSession.getDatabase(serverName, serverPath);
      } catch (Exception e) {
         cleanNotesInstanceVariables();
         notesConnectionException =
            new NotesConnectionException(
               TEXT_NOTES_CONNECTION_EXCEPTION,
               e);
         e.printStackTrace();
      }
      logger.debug("Exiting()");

   }

cleanNotesInstanceVariables(). Kann quasi auch als Disconnect genommen werden. Besser aber eigene Methode die diese einfach aufruft. :
Code
   public void cleanNotesInstanceVariables() {
      logger.debug("Entering()");
      System.out.println("NotesConnection cleanNotesObjects()");
      if (nDbCurrent != null) {
         try {
            nDbCurrent.recycle();
         } catch (Exception e) {
            e.printStackTrace(); 
         }
         nDbCurrent = null;
         
      }
      if (nSession != null) {
         try {
            nSession.recycle();
         } catch (Exception e) {
            e.printStackTrace();
         }
         nSession = null;
      }
      logger.debug("Exiting()");
   }

Die eigentlichen Aufgaben bestehen dann darin, die Swing-Gui Aufrufe multiThread fähig zu machen etc. (hey. Das ist Standard !).

bom noite

Axel

Offline jens1979

  • Aktives Mitglied
  • ***
  • Beiträge: 115
  • Geschlecht: Männlich
Re:Inhalt eines RT-Feldes in eine Variable schreiben
« Antwort #18 am: 22.05.04 - 23:38:03 »
Hallo mal wieder,

ich hab mich jetzt mal ein bissel eingelesen und mit Hilfe der Herdt-Unterlagen ein kleines Java-Programm geschrieben, mit dem ich schon mal ein paar Felder aus meiner DB aulesen kann.
Also um es genauer zu sagen liest das Programm alle Kundennr. nacheinander aus.
Dies geschieht so:

[size=0,5]import lotus.domino.*;
public class ThreadAbgeleitet extends NotesThread {
  public static void main(String args[] ) {
    try {
      ThreadAbgeleitet ta = new ThreadAbgeleitet();
      ta.start();
    } catch (Exception e) {
        e.printStackTrace();
    }
  }

  public void runNotes() {
    try {
      Session se = NotesFactory.createSession();
      System.out.println(se.getCommonUserName());
      Database db = se.getDatabase("MeinServer","Datenbank.nsf");
      View vw = db.getView("vwAll");
      Document doc = vw. getFirstDocument();
      while (doc != null) {
        System.out.println(doc.getItemValueString("KNR"));
        doc = vw.getNextDocument(doc);
      }
    } catch (Exception e) {
        e.printStackTrace();
    }
  }
}
[/size]

Ich hab jetzt schon viel damit rumprobiert, aber zwei bzw. 3 Probleme bleiben mir.

1. Kann ich über diesen Weg eigentlich das von mir gewünschte RichText-Feld auslesen in dem die Grafik (TIFF oder JPEG) liegt? Und wenn ja wie ... eigentlich nimmt die Routine ihre Informationen doch aus der Ansicht (in der ich ja keine RT-Felder anzeigen kann), oder?

2. Wie schaffe ich es nach einem bestimmten Dok zu suchen?

3. Ist wahrscheinlich das Wichtigste. Wie bekomm ich das ganze in eine grafische Ansicht (Also das Fenster kann ich öffnen aber ich habe keine Ahnung wie ich den Text da rein bekommen soll (Hier fehlen mir wohl Java-Basics))

Ich hoffe die Infos reichen euch


Jens

Offline Ralf_M_Petter

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.879
  • Geschlecht: Männlich
  • Jeder ist seines eigenen Glückes Schmied
    • Ralf's Blog
Re:Inhalt eines RT-Feldes in eine Variable schreiben
« Antwort #19 am: 24.05.04 - 08:20:26 »
Nein hier fehlen dir offensichtlich keine Java Basics sondern Notes Basics. Denn das suchen eines Dokuments geht in Java beinahe 100% gleich wie in Lotus scritpt.

Hier ein kleiner Codeausschnitt wie ich aus einem Richtext Feld ein Bild auslese und in ein Java Icon verwandle das dann später in einer Swing Gui verwendet wird.

RichTextItem rtitem=(RichTextItem)doc.getFirstItem("Anhang");
        if (rtitem==null){
            return;
        }
        EmbeddedObject obj=(EmbeddedObject)rtitem.getEmbeddedObjects().elementAt(0);
        java.io.InputStream is=obj.getInputStream();
        int length=is.available();
        byte[] bytearray= new byte[length];
        int erg=is.read(bytearray);
        icon=new ImageIcon(bytearray);
        is.close();
        obj.recycle();
        rtitem.recycle();

Für alle die jetzt gleich wieder darüber mosern, das man das auch anders machen kann. Ja klar, aber erstens ist der Code uralt und zweitens never change working code ;-)

mfg

Ralf
Jede Menge Tipps und Tricks zu IT Themen findet Ihr auf meinem Blog  Everything about IT  Eine wahre Schatzkiste sind aber sicher die Beiträge zu meinem Lieblingsthema Tipps und Tricks zu IBM Notes/Domino Schaut doch einfach mal rein.

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz