Autor Thema: String- oder Variant Array erstellen  (Gelesen 3559 mal)

Offline Bilbo10

  • Aktives Mitglied
  • ***
  • Beiträge: 198
  • Geschlecht: Männlich
  • Carpe Diem
String- oder Variant Array erstellen
« am: 16.04.05 - 19:03:47 »
Hallo!

Ich hab mir ein "History-Script" von http://www.notes-links.de runtergeladen und möchte es
in einer Db einsetzen, damit die Veränderungen von Feldinhalten protokolliert werden. Mit Formelsprache habe ich das auch hingekriegt, ist aber sehr mühsam. Das Script erledigt das, so siehst es auf jedenfall aus, wesentlich eleganter. Die Implementierung ist auch gut beschrieben nur habe ich da ein Problem, weil ich nur sehr wenig Script-Kenntnisse habe. Ich poste  mal den ein Teil der Originalbeschreibung:

Im Postopen-Event der Maske folgende Zeilen hinzufügen:
Set g_history = New History("History")
Call g_history.PostopenStartObservation(Source, vItemNamesArray)
Dabei ist "History" der Feldname des Historienfeldes und => die Variable vItemNamesArray ein String- oder Variant - Array, welches die zu überwachenden Feldnamen enthält. Sie können die zu überwachenden Feldnamen entweder in einem (Profil-)Dokument vorhalten und entsprechend auslesen oder aber direkt im Postopen das Array erzeugen.<=

Wie würde den ein Array ausschauen, dass z.b die Felder Name, Vorname, Personal-Nr. und User-ID
enthält und im Postopen das Array mit den Feldinhalten erzeugt??
Da hänge ich!!

Gruß Torsten
Gruß Torsten

Marinero Atlántico

  • Gast
Re: String- oder Variant Array erstellen
« Antwort #1 am: 16.04.05 - 19:21:31 »
vermutlich so:
Code
on Error goto Fehler
Set g_History = new History("History")
Dim vItemNamesArray(3) As Variant
vItemNamesArray(0) = "Name"
vItemNamesArray(1) = "Vorname"
vItemNamesArray(2) = "PersonalNr"
vItemNamesArray(3) = "User-ID"

Call g_history.PostopenStartObservation(Source, vItemNamesArray)

exit sub
Fehler: 
Msgbox |Fehler in Postopen | & Error$ & |(| & Cstr(Err) & |) in Zeile:| & Cstr(Erl)
exit sub




Offline Bilbo10

  • Aktives Mitglied
  • ***
  • Beiträge: 198
  • Geschlecht: Männlich
  • Carpe Diem
Re: String- oder Variant Array erstellen
« Antwort #2 am: 16.04.05 - 20:48:13 »
habe das mal so umgesetzt und da wird in das Feld History die u.a. Wert gespeichert und sonst nichts.

16.04.2005 - 20:21   "user name"l   Document created.

Bin da ganz nach der Beschreibung vorgegangen. Hat jemand das mit der Loggingfunktion mal ausprobiert?

 => http://www.notes-links.de/cpo/eigenentwicklungen/detail.php?nr=519&kategorie=eigenentwicklungen

# Die unten angehängte history.lss downloaden und in eine Script-Library importieren. Die Script-Library unter einem entsprechenden Namen speichern, z.B. "ClassHistory".
# In der entsprechenden Maske
a) in den 'Global Declarations' folgende Zeile hinzufügen:
Dim g_history As History
b) in den Global Options folgende Zeile hinzufügen:
Use "ClassHistory"
# Im Postopen-Event der Maske folgende Zeilen hinzufügen:
Set g_history = New History("History")
Call g_history.PostopenStartObservation(Source, vItemNamesArray)
Dabei ist "History" der Feldname des Historienfeldes und die Variable vItemNamesArray ein String- oder Variant - Array, welches die zu überwachenden Feldnamen enthält. Sie können die zu überwachenden Feldnamen entweder in einem (Profil-)Dokument vorhalten und entsprechend auslesen oder aber direkt im Postopen das Array erzeugen.
# In der Maske ein Feld History hinzufügen: Typ: Text, Mehrfachwerte zulassen, 'Berechnet beim anlegen', 'Display separate values with -New Line-'. In diesem Feld wird die Historie gespeichert. Es empfiehlt sich, über dem Feld eine Tabelle (1 Zeile, 3 Spalten) zu platzieren:



Besten Dank für die Unterstützung!!

Gruß Torsten
Gruß Torsten

Offline -Michael-

  • Aktives Mitglied
  • ***
  • Beiträge: 153
  • Geschlecht: Männlich
    • Software Guide
Re: String- oder Variant Array erstellen
« Antwort #3 am: 16.04.05 - 22:42:45 »
Hi Torsten,

ich bin zufällig der Ersteller dieser History-Klasse  ;D

Ich bekomme mehrmals wöchentlich Anfragen, wie man denn diese Klasse implementiert.
Den Anfragen und weiterem Feedback entnehme ich, dass einige die Klasse mit Erfolg einsetzen.

Einen Teil hat ja schon Marinero beschrieben, nämlich wie Du zu dem Array kommst.

Auf OpenNTF habe ich auch ein paar Dinge erklärt:
http://www.openntf.org/Projects/codebin/codebin.nsf/CodeByDate/71E930683C3401A3C1256F2F00611BAA

Warum da jetzt nicht mehr in der Historie geschrieben wird, kann ich jetzt auch nicht sagen, dazu fehlen mir Details von Dir. Am besten Du hängst mal Deine DB hier an (oder per Mail), dann kann ich mir das gelegentlich ansehen.
Eigentlich - wenn Du 1:1 nach der Beschreibung vorgegangen bist - sollte es auch funktionieren.
Ich empfehle allerdings nicht, diese einzusetzen, wenn man keine oder nur wenig Script-Kenntnisse hat. Du solltest schon genau verstehen, was innerhalb der Klasse passiert, wenn Du diese einsetzt. Dies kann Dir ein reiner Code, der über GNU-Lizenz veröffentlicht wird, nicht abnehmen.

Michael

P.S. Weitere Hilfe kann etwas dauern, da ich erst kürzlich umgezogen bin und so entsprechend noch vieles zu tun habe...

Marinero Atlántico

  • Gast
Re: String- oder Variant Array erstellen
« Antwort #4 am: 17.04.05 - 00:31:00 »
Lass mich raten: Die Instanz muß global instantiiert werden, right  ???
Zitat
der über GNU-Lizenz veröffentlicht wird, nicht abnehmen.
hm. Glaub ja nicht das du dem gerichtlich nachgehst. Aber im Prinzip kann man so leicht unbedarfte Mitmenschen kriminalisieren.
Warum nicht LPGL oder Apache Lizenz?
Wenn man das wirklich will, dürfte es ja kein Problem sein, eine Skriptklasse so zu entfremden, dass sie nicht mehr als deine erkennbar ist.


Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re: String- oder Variant Array erstellen
« Antwort #5 am: 17.04.05 - 00:59:07 »
Zitat
der über GNU-Lizenz veröffentlicht wird, nicht abnehmen.
hm. Glaub ja nicht das du dem gerichtlich nachgehst. Aber im Prinzip kann man so leicht unbedarfte Mitmenschen kriminalisieren.
Warum nicht LPGL oder Apache Lizenz?
Wenn man das wirklich will, dürfte es ja kein Problem sein, eine Skriptklasse so zu entfremden, dass sie nicht mehr als deine erkennbar ist.

Hallo Axel,

ich glaube, Du hast da gerade einen Bock geschossen. Michi hat Code geschrieben und auf Grund des Zuspruchs hier im Forum zur freien Verfügung gestellt. Scheissegal, wie man diese freie Zurverfügungstellung nun nennt. GNU, LPGL, Apache - jeder darf ihn benutzen. Eine tolle Sache von Michi.
Nun sagt er, dass er deswegen bei Problemen von Leuten, die kein LS können, auch nicht gleich reagieren kann, vor allem, da er mitten im Umzug steckt. Er hat derzeit schlicht keine Zeit. Ansonsten hilft ja immer gerne und schnellstmöglich - das wissen wir alle.

Jetzt kommst Du mit "Gericht" und "kriminalisieren". In welcher Welt lebst Du manchmal ? War das Kraut heute mies ?  ;D ;D
Im Grunde hat Michi gesagt: Wer kein LS kann, kann auch mit dem von ihm dankenswerterweise zur Verfügung gestellten Code nix anfangen. Wen jemand den trotzdem irgendwie "reinfriemelt", dann soll er selber damit glücklich werden. Nichts anderes.

Meine Meinung: In der realen Welt haben wir TÜV und KBA und ohne deren Abnahme darf keiner an seiner Karre schrauben. Nur bei unternehmenskritischer Software darf gegebenfalls auch der unbedachteste (billige !) Praktikant 'ran. Und wenn es dann nicht klappt, ist Notes daran schuld.

Es ist ein Graus.

Bernhard

PS: Ich erinnere mich noch nur zu (un-)gut an die Meldungen, die bei uns Notes-Leuten einlief, wenn das Netzwerk streikte: "Notes geht schon wieder nicht !" Klar, der Switch war abgeraucht ...

Marinero Atlántico

  • Gast
Re: String- oder Variant Array erstellen
« Antwort #6 am: 17.04.05 - 01:37:10 »
Das soll kein persönlicher Angriff sein.
Ich verstehe nur nicht, warum Leute die sehr restriktive GNU Lizenz für LotusScript Klassen verwenden.
Und deshalb habe ich diese Frage gestellt.
Ich halte diese Frage btw. auch für berechtigt.
Die einzelnen Lizenzen sind sehr unterschiedlich.
Bei der LPGL oder der Apache Lizenz darf  man die Komponente/Klasse als solche nicht verändern und auf sie hinweisen. Und sie für ein kommerzielles Produkt nutzen.
GNU Public License heisst: Du darfst die Komponente zwar verwenden, aber nur wenn du das dann auch openSores machst.
Wir denken da einfach unterschiedlich, Bernhard. Das Problem bei mir ist, dass das teilweise vielleicht ein bischen unverschämt rüberkommt, ich es aber gar nicht so meine.
Die Frage warum GPL als Lizenz genommen wird, ist eine ziemlich normale, häufige Frage.
Ich muß zwangsläufig viel über openSource nachdenken und es ist ja nicht so, dass es da gut/böse gibt. Das geht jetzt auch nicht gegen Michael persönlich, sondern ist mehr so fragend gemeint. 

Axel
« Letzte Änderung: 17.04.05 - 02:06:07 von Marinero Atlántico »

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re: String- oder Variant Array erstellen
« Antwort #7 am: 17.04.05 - 01:48:45 »
Wir denken da einfach unterschiedlich, Bernhard. Das Problem bei mir ist, dass das teilweise vielleicht ein bischen unverschämt rüberkommt, ich es aber gar nicht so meine.

Hallo Axel,

vielleicht denken wir da unterschiedlich, aber auch nur vielleicht. Michi hat den Code veröffentlicht und ohne grösseres Nachdenken an die Risiken und Nebenwirkungen das unter GNU (oder was auch immer) gestellt. Damit wollte er nur sicherstellen, dass er evtl. (!) einen Rückgriff auf missbräuchliche Verwendung seiner Anstrengungen hat. Nicht mehr und nicht weniger. Ich kenne Michi seit 6 Jahren persönlich.

Ich verzichte bislang auf solche Sachen - ich veröffentliche etwas (meistens nicht  ;D), und was jemand damit macht, ist mir dann egal. Oder ich verkaufe den Stoff. Bisher erschien mir das einfacher und sauberer. Was aber nicht heisst, das ich nicht auch in eine entsprechende Situation kommen könnte demnächst. Ulrich "eknoris" Erfahrungen mit seinem "!HELP!" bei OpenNTF und den angeblichen Erfindern einer seit langem bekannten Sache geben mir da arg zu denken. Dann noch die EU-SW-Patentrichtlinie - da verkaufe ich doch meine Stoff lieber weiter auf dem Hinterhof und ganz diskret, bevor geldgeile Patentanwälte davon hören  ;D

Bernhard

Marinero Atlántico

  • Gast
Re: String- oder Variant Array erstellen
« Antwort #8 am: 17.04.05 - 02:36:40 »
Ich hab mir einen zu rüden Umgangston angewöhnt. Muss ich dran arbeiten.
Trotzdem: Es gibt unterschiedliche Lizenzen. Und da kann man ja wohl drüber reden, oder  ???
Wir benutzen z.B. bei kommerziellen Java-Projekten eine Menge openSource. Und da benötigt man eben eine gewisse Rechtssicherheit und die kann man tatsächlich haben. Nur gibt es da eben Spielregeln und die muß ich kennen. Ulrich Krause hat mal auf seinem Blog auf irgendein amerikanische Zeitung verwiesen, dass da gottweisswas für Rechtsunsicherheit entsteht. Das ist aber mit der Apache Lizenz und der LGPL nicht unbedingt so, solange man die openSource Komponenten nämlich nicht verändert.  Deshalb ist es vielleicht auch nicht schlecht, wenn hier mal drüber geredet wird.
« Letzte Änderung: 17.04.05 - 02:46:13 von Marinero Atlántico »

Offline Bilbo10

  • Aktives Mitglied
  • ***
  • Beiträge: 198
  • Geschlecht: Männlich
  • Carpe Diem
Re: String- oder Variant Array erstellen
« Antwort #9 am: 17.04.05 - 11:24:30 »
Hallo!

Das wollte ich damit eingentlich nicht auslösen. Die Energie können wir uns doch sparen.
Ich finde es toll, das Probleme so schnell aufgegriffen und auf einem hohen Niveau gelöst werden  bzw. Lösungsansätze diskutiert werden. Das Forum ist absolut spitze und mein Dank gilt all denen, die ihr Wissen und ihre Fähigkeiten einer Vielzahl von Usern zur Verfügung stellen.

Mit der Historien-Lösung auf Script-Basis bleibe ich am Ball.
Gruß Torsten

Gruß Torsten

Marinero Atlántico

  • Gast
Re: String- oder Variant Array erstellen
« Antwort #10 am: 17.04.05 - 11:59:30 »
Hey Leute.
Nochmal. Es ist für mich keine rausgeschmissene Energie, mich darüber zu informieren, warum von wem welche openSoure Lizenzen präferiert werden.
Ich will auch Michi nicht irgendwie zu einer Rechtfertigung oder so zwingen. Ich hab mir nicht so einen Kopf gemacht und einfach das restriktivste genommen, find ich völlig ok und mehr als nachvollziehbar als Antwort.
Darf ich keine Fragen haben ???
Meines Wissens muß gemäß GNU Public License (GPL) jede Software, die eine GPL Komponente enthält, auch openSourced und GPLed werden. Vielleicht stimmt das so noch nicht mal. Auf jeden Fall gibt es diese verschiedenen openSource Lizenzen nicht unbedingt immer zum Spaß. Und da mir wesentlich häufiger weniger restriktive LPGL und Apache Lizenzen begegnen, hab ich eben gefragt.

Axel
« Letzte Änderung: 17.04.05 - 12:04:41 von Marinero Atlántico »

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re: String- oder Variant Array erstellen
« Antwort #11 am: 17.04.05 - 12:20:13 »
Meines Wissens muß gemäß GNU Public License (GPL) jede Software, die eine GPL Komponente enthält, auch openSourced und GPLed werden.

Hi Axel,
sorry - über diesen Aspekt habe ich gar nicht richtig nachgedacht, mir ist gleich bei "Gericht" und "kriminalisieren" das Messer in der Tasche aufgegangen. Dabei ist der von Dir genannte Aspekt nun doch durchaus nachdenkenswert. Bitte entschuldige mein doch viel zu oberflächliches Lesen.

Es ist natürlich eine hochinteressante Frage, vor der man steht, wenn man Code veröffentlichen will: Was erlaube ich, wenn man meinen Code verwendet. In Michis Fall sehe ich in GNU durchaus eine Variante - legal dürfte man den Code (kommerziell) nicht verwenden, man wäre gezwungen, den Code auf Grund des (verstandenen) Prinzips neu zu schreiben, was durchaus ein gewünschter Effekt sein kann. "Ein bisschen Umschreiben" geht auch nur, wenn man sich tiefer mit der Sache beschäftigt hat. Oder man veröffentlicht den Gesamtcode eben wieder für alle.

Ist doch eine hochinteressante Sache. Du hattest also doch wieder mal das richtige Kraut  ;D

Bernhard

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz