"diff" zwischen zwei Textfeldern

  • Hallo zusammen,


    hab da einen User-Wunsch : In einer Datenbank versionieren wir Dokumente, d.h. bei Änderungen wird das alte Dokument mit einer anderen Maske versehen und aufgehoben.


    Jetzt möchten die Kollegen auf einen Blick sehen, was sich denn zwischen den Dokumentversionen wirklich geändert hat, also den Unterschied zwischen den Inhalten eines Textfeldes zwischen Altdokument und Neudokument.


    Da die Kameraden aus der Linux-Entwickler-Ecke kommen, ist das für sie "ein ganz normales DIFF"...


    Könnt Ihr euch vorstellen, wie man das in Notes abbilden könnte ?


    Danke für eure Tipps


    Günther

  • diff ist ja gut dokumentiert... das schnell Nachzuentwickeln ist kein Problem (wenn man nicht alle wenns und abers berücksichtigen muss, die die mannigfaltigen Optionen von diff zulassen)...
    Oder man nimmt sich ein Kommandozeilentool, erstellt zwei Textdateien im Temp- Verzeichnis des Benutzers, lässt diff drüber laufen und präsentiert das Ergebnis in einem Dialog. Wahlweise auch mit Formatierungen (z.B. als Durchgangshtml in einer Dialogmaske anzeigen)...


    Ein erfahrener Entwickler sollte sowas in 3-4 Stunden zusammenstricken können...


    Ach ja: Wenn man das ganze mit reinem Text in Formelsprache macht, kriegt man ein "grobes" diff mit 4 Zeilen Code hin:


    Code
    _textOld := @Explode( @GetDocField( unidDesEinenDoks ; "TextFeld" ) ; @NewLine );
    _textNew := @Explode( @GetDocField( unidDesAnderenDoks ; "TextFeld" ) ; @NewLine );
    
    
    _addedText := @Trim( @Replace( _textNew ; _textOld ; "" ) );
    _removedText := @Trim( @Replace( _textOld ; _textNew ; "" ) );
  • Es gibt verschiedene tools die dieses für dich machen können, auch eins von Lotus selber.
    http://www.openntf.org/Project…mpare%20Notes%20Documents
    http://www.teamstudio.com/products/delta.html
    http://www.ytria.com/website.n…t/Solutions_scanEZ_specen
    Noteman vom Martin Scott http://www.martinscott.com kann es ebenso


    Im Eclips Editor kann mann es auch direkt machen, Selectiere 2 (oder mehr) design elemente, und klick mit den Rechte Maus auf eine. Dann gibt es dort ein unterpunkt vergleichen (Compare), und dort mit ein ander (Each Other). Dieses befindet sich im Exclips Navigator oder auch Package Explorer genannt. Ich verwende selber den Englische Client deshalb kann ich den deutsche bezeichnung nur raten.


    Als letztes.. den alten weg im Notes.. auch für user verfügbar.
    AddInMenus=C:\Notes\nntediff.dll
    Diese Zeile im Notes.ini hinzugefügt ergibt beim Anklicken von 2 Dokumente unter den Aktions menu ein neuen Punkt. Difference of 2 Documents.


    Ronka