AtNotes Übersicht Willkommen Gast. Bitte einloggen oder registrieren.
21.09.21 - 18:28:38
Übersicht Hilfe Regeln Glossar Suche Einloggen Registrieren
News:
Schnellsuche:
+  Das Notes Forum
|-+  Lotus Notes / Domino Sonstiges
| |-+  Projekt Bereich (Moderator: Hoshee)
| | |-+  @Formula-Befehle in Lotus Script abbilden
« vorheriges nächstes »
Seiten: 1 ... 3 4 [5] 6 Nach unten Drucken
Autor Thema: @Formula-Befehle in Lotus Script abbilden  (Gelesen 73877 mal)
Semeaphoros
Gold Platin u.s.w. member:)
*****
Offline Offline

Geschlecht: Männlich
Beiträge: 8152


ho semeaphoros - agr.: der Notesträger


WWW
« Antworten #80 am: 23.11.03 - 21:38:01 »

Axel:
<Fun>
Was ist den etc für ein Datentyp, diesem Typen bin ich noch nie begegnet ....
</Fun>

Ergänzung zu Bernhard:
b Boolean, eigentlich Integer: 8Tung, in ND6 gibt es den Datentyp Boolean neuerdings.
Gespeichert

Jens-B. Augustiny

Beratung und Unterstützung für Notes und Domino Infrastruktur und Anwendungen

Homepage: http://www.ligonet.ch

IBM Certified Advanced Application Developer - Lotus Notes and Domino 7 und 6
IBM Certified Advanced System Administrator - Lotus Notes and Domino 7 und 6
Axel_Janssen
Gold Platin u.s.w. member:)
*****
Offline Offline

Beiträge: 769



« Antworten #81 am: 23.11.03 - 21:48:27 »

Da Bernhards Liste vollständig aussieht, können wir die wegen mir nehmen.

Muss man dann eigentlich diese komigen Unterstriche nehmen  Huh

sz_Employee ? oder szEmployee ?
Gespeichert

... design patterns are abstract designs that help identify the structure and elements involved in a specific design solution. From this, a concrete implementation can be produced.
Kyle Brown
Semeaphoros
Gold Platin u.s.w. member:)
*****
Offline Offline

Geschlecht: Männlich
Beiträge: 8152


ho semeaphoros - agr.: der Notesträger


WWW
« Antworten #82 am: 23.11.03 - 21:52:58 »

ich hab die Unterstriche auch nicht gerne.
Gespeichert

Jens-B. Augustiny

Beratung und Unterstützung für Notes und Domino Infrastruktur und Anwendungen

Homepage: http://www.ligonet.ch

IBM Certified Advanced Application Developer - Lotus Notes and Domino 7 und 6
IBM Certified Advanced System Administrator - Lotus Notes and Domino 7 und 6
koehlerbv
Moderatoren
Gold Platin u.s.w. member:)
*****
Offline Offline

Geschlecht: Männlich
Beiträge: 20460



« Antworten #83 am: 23.11.03 - 22:14:16 »

Ich verwende die Unterstriche prinzipiell nicht - ausser bei g_ für global oder für p_ für private (wenn dies denn überhaupt mal notwendig sein sollte).

Ciao,
Bernhard
Gespeichert
Axel
Freund des Hauses!
Gold Platin u.s.w. member:)
*****
Offline Offline

Geschlecht: Männlich
Beiträge: 8658


It's not a bug, it's Notes


« Antworten #84 am: 24.11.03 - 15:56:15 »

Hi,

ich bin jetzt erst über diesen Thread "gestolpert".

Das was ihr vorhabt, gibt es ansatzweise schon.

http://www.free.dominoserver.de/computer/noteslibrary.nsf

Axel
Gespeichert

Ohne Computer wären wir noch lange nicht hinterm Mond!
koehlerbv
Moderatoren
Gold Platin u.s.w. member:)
*****
Offline Offline

Geschlecht: Männlich
Beiträge: 20460



« Antworten #85 am: 24.11.03 - 17:18:32 »

Jo, das gibt es alles sogar sackweise - in der Regel (wie in Deinem Link) aber unsauber programmiert.
Und wir wollen ja eine ScriptLib aufbauen, die man wirklich "blind" einsetzen kann usw. usf. - man muss dafür wohl den ganzen langen Thread hier durchlesen.
Ich hoffe, dass das Projekt wirklich ans Laufen kommt ;-)

Bernhard
Gespeichert
Axel
Freund des Hauses!
Gold Platin u.s.w. member:)
*****
Offline Offline

Geschlecht: Männlich
Beiträge: 8658


It's not a bug, it's Notes


« Antworten #86 am: 24.11.03 - 19:32:25 »

@Bernhard,

ich habe da so meine Zweifel, denn diese Datenbank sollte auch so ein Projekt werden. Ich habe mehrmals um Unterstützung gebeten, aber die Resonanz war niederschmetternd. So pflege ich diese Datenbank für mich und das eine oder andere fällt auch für das Forum ab.

Zum Thema unsauber programmiert, will ich nur sagen, dass das teilweise Routinen aus dem Internet sind, die ich getestet habe und dass sie funktionieren, auch ohne viel drumherum.

Das mit den Bibliotheken ist in meinen Augen ein zweischneidiges Schwert. Zum einen ist es eine feine Sache, man bindet sie ein und hat viele Funktionen "griffbereit". Aber... eine Bibliothek wird immer als Ganzes geladen, auch wenn man nur eine oder zwei Funktionen braucht. Deswegen bin ich gegen Monsterbibliotheken und suche mir meine Funktionen zusammen, die ich für meine Datenbanken brauche. Allerdings habe ich auch eine Bibliothek mit Grundfunktionen, die ich in fast jeder DB brauche.


Axel
Gespeichert

Ohne Computer wären wir noch lange nicht hinterm Mond!
koehlerbv
Moderatoren
Gold Platin u.s.w. member:)
*****
Offline Offline

Geschlecht: Männlich
Beiträge: 20460



« Antworten #87 am: 24.11.03 - 19:54:17 »

@Alex:
Ich habe da auch meine Zweifel ... Zum einen: Das Ganze funktioniert nur, wenn das Ganze absolut sauber aufgebaut ist (siehe die entsprechenden Anmerkungen in diesem Thread). Wegen des Ladens jeweils der kompletten Lib ist das naürlich ganz besonders auch eine Frage der Doku - was kann ich aus der Lib 'rauskippen, damit DIESE Routine noch funktioniert ?

Was ich hinsichtlich Zweifeln natürlich auch nicht verschweigen möchte: Bestimmte Routinen, die - nun, sagen wir mal,  aussergewöhnlich sind, werden wohl kaum in solch einer Lib auftauchen ... OpenSource mag ja eine feine Sache sein, aber doch eher was für Leute, die ein ganz dickes Sparkonto / Erbschaft / Ölquelle usw. haben ...

Wie gesagt: Ich bin sehr gespannt, was nun weiter geht.

Ciao,
Bernhard
Gespeichert
TMC
Freund des Hauses!
Gold Platin u.s.w. member:)
*****
Offline Offline

Geschlecht: Männlich
Beiträge: 3660


meden agan


« Antworten #88 am: 24.11.03 - 20:35:20 »

Hab gestern noch einen free Webspace beantragt, der nun freigeschalten ist.

Hier mal eine Projektseite:
http://www.websamba.com/atnotes

Soll keine dauerhafte Site sein, eben nur für das Projekt, daher auch nicht immer 100% sauberer HTML-Code. Unter Mozilla und IE läuft sie.

Vielleicht sollten wir hier einfach die ersten Ergebnisse draufstellen, bis eine endgültige Plattform da ist.

TMC

*EDIT*
Man muss, um die Seite betreten zu können, den Port 8888 zulassen (dies hatte ich über meine Firewall für den Browser per Default gesperrt)
« Letzte Änderung: 24.11.03 - 21:13:10 von TMC » Gespeichert

Matthias

A good programmer is someone who looks both ways before crossing a one-way street.

koehlerbv
Moderatoren
Gold Platin u.s.w. member:)
*****
Offline Offline

Geschlecht: Männlich
Beiträge: 20460



« Antworten #89 am: 24.11.03 - 20:50:41 »

DANKE, TMC.
Da steckt schon viel Arbeit drin - ich werde mein Bestes tun, um da möglichst sinnvolles beizutragen. Was ganz gut passt: Ich baue gerade - ohne Rücksicht auf Verluste - meine ScriptLibs neu auf.

Bernhard
Gespeichert
TMC
Freund des Hauses!
Gold Platin u.s.w. member:)
*****
Offline Offline

Geschlecht: Männlich
Beiträge: 3660


meden agan


« Antworten #90 am: 04.12.03 - 21:49:47 »

Zwischenstand:

Wir starten gerade offtopic per PM, erste Scriptvorschläge zu diskutieren.
Wer sich beteiligen möchte an der Diskussion und am "formen" der ersten Functions, bitte kurze PM an mich.
Die ersten Ergebnisse werde ich dann hier posten als Motivation, unsere Library nach und nach zu füllen Wink

Grüße,
TMC
Gespeichert

Matthias

A good programmer is someone who looks both ways before crossing a one-way street.

TMC
Freund des Hauses!
Gold Platin u.s.w. member:)
*****
Offline Offline

Geschlecht: Männlich
Beiträge: 3660


meden agan


« Antworten #91 am: 06.12.03 - 18:40:55 »

********* Projektinfo *********

Hab grad gesehen, dass Axel gerade ein Projekt startet für die Abbildung der Scripts  Cheesy

http://www.atnotes.de/index.php?board=24;action=display;threadid=12702



TMC
Gespeichert

Matthias

A good programmer is someone who looks both ways before crossing a one-way street.

TMC
Freund des Hauses!
Gold Platin u.s.w. member:)
*****
Offline Offline

Geschlecht: Männlich
Beiträge: 3660


meden agan


« Antworten #92 am: 06.12.03 - 20:12:12 »

Hi,

ein Versuch war es mal, Scripts offline zu disktutieren, nur leider verliert man da im PM leicht den Überblick und Zusammenhang.
Daher tendiere ich doch dazu, die Diskussion online weiterzuführen.

Wir haben in Summe jetzt 5 Scripts zur Diskussion.

Mit dem ersten starte ich mal, es ist von Bernhard (koehlerbv) und ein ReplaceSubstring-Derivat:

ACHTUNG ENTWURF - NUR ZUM TESTEN VERWENDEN

Code:
Function ReplaceSubstring (vSource As Variant, vFrom As Variant, vTo As Variant) As Variant
    '===========================================================================================
    ' Purpose: Replaces a specific substring in a string or array of strings with a new substring
    '              The parameters MUST be strings or array of strings !
    '--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
    ' Arguments              Type    Description    
    '      vOriginal        |  I/-  |    the source string or string array
    '      vForm            |  I/-  |    the substring (or string array) to replace
    '      szTo            |  I/-  |    the substring (or string array) to insert
    '--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
    ' Returns:    String array with replaced values
    '                 NOTE: There is a difference between @ReplaceSubstring and this function !
    '                            If vFrom has more elements as vTo, we replace only the amount of elements in vTo !!!
    '--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
    ' Created by: Bernhard Koehler on 08.07.2003        Modified by:  on
    '===========================================================================================
   
    Dim aSource As Variant
    Dim aFrom As Variant
    Dim aTo As Variant
    Dim szSource As String
    Dim vResult As Variant
    Dim iLoop As Integer
    Dim iElementsToChange As Integer
    Dim iFirstStringPos As Integer
    Dim szTo As String
   
    On Error Goto ErrorRoutine
   
    'The default value: Source = Result
    ReplaceSubstring = vSource
   
    'Make sure that all parameters becomes arrays (We have to decide two cases: vSource is String, or any kind of a variant)
    If Datatype (vSource) = V_STRING Then
        Redim aSource (0) As String
        aSource (0) = vSource
    Else
        aSource = vSource    
    End If
   
    If Datatype (vFrom) = V_STRING Then
        'No calculations with an empty FromList:
        If vFrom = "" Then Exit Function        
       
        Redim aFrom (0) As String
        aFrom (0) = vFrom
    Else
        aFrom = vFrom    
    End If
   
    If Datatype (vTo) = V_STRING Then
        Redim aTo (0) As String
        aTo (0) = vTo
    Else
        aTo = vTo    
    End If
   
    'Make the replaces:
    szSource = Implode (aSource, Chr$ (255))        'make a string from the source parameter
   
    'Determine the limit of changes:
    If Ubound (aFrom) > Ubound (aTo) Then
        iElementsToChange = Ubound (aTo)
    Else
        iElementsToChange = Ubound (aFrom)
    End If
   
   
    For iLoop = 0 To iElementsToChange
        While Instr (szSource, aFrom (iLoop)) > 0
            iFirstStringPos = Instr (szSource, aFrom (iLoop))
            If iFirstStringPos = 1 Then
                szSource = aTo (iLoop) & Mid$ (szSource, iFirstStringPos + Len (aFrom (iLoop)) - 0, 255)
            Else
                'szSource = Mid$ (szSource, 1, iFirstStringPos - 1) & aTo (iLoop) & Mid$ (szSource, 1 + iFirstStringPos + Len (aFrom (iLoop)))
                szSource = Mid$ (szSource, 1, iFirstStringPos - 1) & aTo (iLoop) & Mid$ (szSource, iFirstStringPos + Len (aFrom (iLoop)), 255)
            End If
        Wend
    Next
   
    ReplaceSubstring = Explode (szSource, Chr$ (255))
    Exit Function
   
ErrorRoutine:
Call DisplayErrMsg ("ReplaceSubstring")
End Function
Gespeichert

Matthias

A good programmer is someone who looks both ways before crossing a one-way street.

TMC
Freund des Hauses!
Gold Platin u.s.w. member:)
*****
Offline Offline

Geschlecht: Männlich
Beiträge: 3660


meden agan


« Antworten #93 am: 06.12.03 - 20:14:33 »

OK und hier mein Feedback zum ReplaceSubstring-Derivat:

Ich poste mal direkt ohne Rücksicht auf Höflichkeitsfloskeln (bla bla leider könnte da u.U. vielleicht evtl. ein Fehler sein bla bla...)

- Code-Header: Code-Header "Arguments" stimmt nicht überein mit tatsächlichen Bezeichnungen (vOriginal / vSource , etc.)

- Wenn ich Option Declare setze, bringt der Designer eine Fehlermeldung, dass " V_STRING" nicht deklariert ist.

Testszenario:
R5011 Client, Maske in Bearbeitung, die Textfelder
- Inhalt (dieses Feld soll durchsucht werden)
- Vorgabe_Ist (Wert nach dem gesucht werden soll - also der replaced werden soll)
- Vorgabe_Soll (Wert, der eingefügt werden soll)

Aufruf des Scripts: über Button

Script:
Code:
Sub Click(Source As Button)
   Dim uiws As New NotesUIWorkspace
   Dim uidoc As NotesUIDocument    
   Dim session As New NotesSession
   Dim db As NotesDatabase
   Dim doc As NotesDocument
   
   'die 3 Felder
   Dim szInhalt As String
   Dim szIst As String
   Dim szSoll As String
   
   Set db = session.CurrentDatabase
   Set uidoc = uiws.CurrentDocument
   Set doc = uidoc.Document
   
   'Feldinhalte holen...   
   szInhalt = doc.Inhalt(0)
   szIst = doc.Vorgabe_Ist(0)
   szSoll = doc.Vorgabe_Soll(0)
   
   'Function ausführen
   doc.Inhalt = ReplaceSubstring(szInhalt, szIst, szSoll)
      
   'Speichere Doc   
   Call doc.save(False, False)   
   
End Sub

Im Textfeld "Inhalt" steht der Text "Rainer askhfdkjad hkjahdkjas dk"
Im Textfeld "Vorgabe_Ist" steht "Rainer"
Im Textfeld "Vorgabe_Soll" steht "Hans"

Dokument wurde bereits gespeichert und neu im Bearbeitungsmodus geöffnet.

Aufruf
Beim Klick auf den Codebutton
- durchläuft der Debugger sauber die Sub, geht dann normal in die Function, durchläuft die Function
- An der Stelle "If Ubound (aFrom) > Ubound (aTo) Then" springt er danach zum Errorhandler, dann Fehlermeldung "No RESUME"

TMC
Gespeichert

Matthias

A good programmer is someone who looks both ways before crossing a one-way street.

Semeaphoros
Gold Platin u.s.w. member:)
*****
Offline Offline

Geschlecht: Männlich
Beiträge: 8152


ho semeaphoros - agr.: der Notesträger


WWW
« Antworten #94 am: 06.12.03 - 21:34:58 »

Das sieht mir so aus, wie wenn da beim Uebermitteln der Funktion etwas verloren gegangen ist, müsste mal Bernhard zuerst den Code überprüfen und sagen, was Sache ist, natürlich liesse sich das auch so ausmerzen, aber Bernhard soll mal dazu was sagen.
Gespeichert

Jens-B. Augustiny

Beratung und Unterstützung für Notes und Domino Infrastruktur und Anwendungen

Homepage: http://www.ligonet.ch

IBM Certified Advanced Application Developer - Lotus Notes and Domino 7 und 6
IBM Certified Advanced System Administrator - Lotus Notes and Domino 7 und 6
koehlerbv
Moderatoren
Gold Platin u.s.w. member:)
*****
Offline Offline

Geschlecht: Männlich
Beiträge: 20460



« Antworten #95 am: 06.12.03 - 22:37:28 »

Ja, ja, soweas kommt von sowas, wenn man spätabends - geplagt vom schlechten gewissen - noch "fix ein bisschen Code zusammengrabbelt".
Auf jeden Fall: Erst hatte ich 'nen roten Kopf wegen verspätetem Posting, und jetzt wegen übereiltem Posting ...

@TMC: Ich schicke Dir off-list DIE neuen Codes.
In ReplaceSubstring ist tatsächlich die vorletzte Zeile "Exit Function" verschütt gegangen - daher das "missing resume".
Natürlich war auch der Header schlampig. Besonders deutlich sollte darauf hingewiesen werden (im Header), das dieses ReplaceSubstring IMMER ein Array zurück gibt (wie das originale ja auch - aber bei der @function merkt das ja keiner).
Was mir aber ein völliges  Rätsel ist: Wie konntest Du das Teil überhaupt kompilieren - es fehlen ja drei weitere aufgerufene Module und das %INCLUDE "lsconst.lss".
Die fehlenden Module reiche ich gleich mit nach.

Sorry für die Konfusionen ...

Bernhard
Gespeichert
Axel_Janssen
Gold Platin u.s.w. member:)
*****
Offline Offline

Beiträge: 769



« Antworten #96 am: 06.12.03 - 23:19:42 »

Hi,

bekomme langsam angesichts TMCs Hartnäckigkeit ein schlechtes Gewissen, aber wg. der derzeitigen Vielzahl meiner Aktivitäten, halte ich es z.Zt. für keine gute Idee eigene Skripts beizusteuern. Vielleicht in der nächsten Woche. Auf jeden Fall nach dem 20.12.. Davor muss ich noch 2 Projekte und eine Projektübergabe an mich abschliessen.  Roll Eyes Da sollte man sich ein bischen zusammenreissen. Die UML-Zertifizierung hab ich eben innerlich sowieso schon auf Anfang Januar verschoben.

Den Thread mit der Client-Erstellung im Java für Anfänger hat mit dieser Arbeit hier nur mittelbar etwas zu tun. Das spukte mir aber seit Wochen im Kopf rum und passt auch gut in meine Zertifizierungsvorbereitung für UML.

keep it up

Axel
« Letzte Änderung: 06.12.03 - 23:20:32 von Axel_Janssen » Gespeichert

... design patterns are abstract designs that help identify the structure and elements involved in a specific design solution. From this, a concrete implementation can be produced.
Kyle Brown
koehlerbv
Moderatoren
Gold Platin u.s.w. member:)
*****
Offline Offline

Geschlecht: Männlich
Beiträge: 20460



« Antworten #97 am: 06.12.03 - 23:32:17 »

Jo, Axel - alles zu seiner Zeit. Deine gegenwärtigen Projekte sollten erstmal abgeschlossen sein. Dann passiert Dir auch nicht so ein bösesr Fauxpas wie mir, der dachte, grabbel mal fix was aus der Kiste - ohne Nachdenken. Was dem Gedanken des Projekts nun wirklich nicht zuträglich war.
Und gegenüber TMCs hartnäckigkeit: Nochmals"Hut ab !"

Ein schönes Restwochenende wünscht Euch allen
Bernhard
Gespeichert
TMC
Freund des Hauses!
Gold Platin u.s.w. member:)
*****
Offline Offline

Geschlecht: Männlich
Beiträge: 3660


meden agan


« Antworten #98 am: 10.12.03 - 21:50:14 »

Okay, unten angehängt die neuen Codes von Bernhard für ReplaceSubstring.

Wie immer der Hinweis:
ACHTUNG ENTWURF - NUR ZUM TESTEN VERWENDEN

Test-DB folgt gleich....

TMC
Gespeichert

Matthias

A good programmer is someone who looks both ways before crossing a one-way street.

TMC
Freund des Hauses!
Gold Platin u.s.w. member:)
*****
Offline Offline

Geschlecht: Männlich
Beiträge: 3660


meden agan


« Antworten #99 am: 10.12.03 - 21:53:46 »

Hier noch die DB zum testen.

Bitte jetzt ausführlichst testen und hier Feedback posten, ich denke die DB ist selbsterklärend.

@Bernhard: ein *Respekt* von meiner Seite, saubere Sache, auch das Errorhandling, auch wenn Du Dir da noch mehr erwartest.

TMC
Gespeichert

Matthias

A good programmer is someone who looks both ways before crossing a one-way street.

Seiten: 1 ... 3 4 [5] 6 Nach oben Drucken 
« vorheriges nächstes »
Gehe zu:  


Einloggen mit Benutzername, Passwort und Sitzungslänge

Powered by MySQL Powered by PHP Powered by SMF 1.1.21 | SMF © 2006, Simple Machines Prüfe XHTML 1.0 Prüfe CSS
Impressum Atnotes.de - Powered by Syslords Solutions - Datenschutz | Partner: