Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Unterschiede in Textdateien finden (https://www.delphipraxis.net/69195-unterschiede-textdateien-finden.html)

thomas65 11. Mai 2006 15:03


Unterschiede in Textdateien finden
 
Hallo,
ich möchte zwei HTML-Dateien auf Unterschiede vergleichen. Dabei möchte ich hinzugefügten und entfernten Text farblich hervorheben. Dazu lese ich die Dateien in eine Stringlist ein. Wie kann ich jetzt den hinzugefügten oder entfernten Text finden? Hat jemand vielleicht einen Codeschnipsel parat?

Vielen Dank im Voraus!

SirThornberry 11. Mai 2006 15:10

Re: Unterschiede in Textdateien finden
 
du musst eben nach den Unterschieden suchen. Also beide Dateien (bei dir dann halt Stringlisten) durchgehen bis ein Unterschied festgestellt wird. Und ab dort musst du die nächste Gemeinsamkeit suchen um festzustellen ob etwas hinzugekommen ist oder entfernt wurde.

thomas65 11. Mai 2006 15:50

Re: Unterschiede in Textdateien finden
 
Also sollte ich die Strings Wort für Wort vergleichen.
Ein Besipiel dazu:

Text 1:
Das ist ein Text. Mit Wörtern.

Text 2
Das Wetter ist schön. Bla... Mit Wörtern. Bla... Ein Text besteht aus Wörter.

Ich würde dann die Wörter aus Text 1 Wort für Wort vergleichen:
Das "Das " wäre identisch. Dann würde ich in Text 2 das "ist" suchen und feststellen, dass "Wetter " hinzugefügt wurde. Dann würde ich "ein" suchen und feststellen, dass das Wort gelöscht wurde. Dann das Wort "Text". Da würde ich "schön. Bla... Mit Wörtern. Bla... Ein " als hinzugefügt erkennen. Da würde also auch "Mit Wörtern." als neu erkannt werden, obwohl es schon vorher vorhanden war. Das wäre also nicht ideal. Oder meintest du es anders?

happyaura 11. Mai 2006 16:53

Re: Unterschiede in Textdateien finden
 
es ist die frage, was Du als "wörter" interpretieren willst. gemeint ist damit sicher die kleinste gewünschte einheit. Ob das nun ein zeichen, wort oder eine Zeile ist, liegt an Deinem Suchen. die andere frage ist, ob z.B. 2 zeilen als gleich interpretiert werden sollen, wenn die eine einen kommentar hinter dem befehl enthält, die andere aber nicht ect.

Mavarik 11. Mai 2006 18:03

Re: Unterschiede in Textdateien finden
 
Zitat:

Zitat von thomas65
Hallo,
ich möchte zwei HTML-Dateien auf Unterschiede vergleichen. Dabei möchte ich hinzugefügten und entfernten Text farblich hervorheben. Dazu lese ich die Dateien in eine Stringlist ein. Wie kann ich jetzt den hinzugefügten oder entfernten Text finden?

Da die Listbox nicht in der lage ist innerhalb der Zeile die Farbe zu ändern...

Ich gehe davon aus, du meinst eine Listbox...

such doch erstmal zeile für zeile ob diese gleich sind...

Frank

Flocke 11. Mai 2006 21:46

Re: Unterschiede in Textdateien finden
 
Hier gibt's eine Unit von mir, die dir für zwei Stringlisten die unterschiedlichen Zeilenblöcke ermittelt (-> Diff).

Du solltest bei HTML auch zwischen dem eigentlichen Text und den Auszeichnungen unterscheiden (also z.B. der Formatierung).

thomas65 12. Mai 2006 09:57

Re: Unterschiede in Textdateien finden
 
Vielen Dank für eure Antworten. Nun habe ich ein Programm gefunden, was HTML-Seiten vergleicht und Unterschiede hervorhebt. Da muss ich mal sehen, ob sich der Aufwand noch lohnt, selbst ein Programm zu schreiben (man muss das Rad ja nicht zweimal erfinden). Ich werde mir mal die Unit anschauen.
Also nochmals vielen Dank für eure Bemühungen.

sh17 12. Mai 2006 10:03

Re: Unterschiede in Textdateien finden
 
welches Programm ist es denn? (vielleicht "Wysigot" ?)

thomas65 12. Mai 2006 11:33

Re: Unterschiede in Textdateien finden
 
Ich hatte erst die Freeware Content-Watcher ins Auge gefasst. Dann habe ich WebSite-Watcher (http://www.aignes.com/de/index.htm) gefunden. Das Programm kostet zwar 29,95 €, ist aber genau das, was ich suche.
Wysigot lädt doch nur Webseiten herunter, oder nicht?

sh17 12. Mai 2006 12:12

Re: Unterschiede in Textdateien finden
 
Wysigot überwacht Websites und zeigt Änderungen farbig an


Alle Zeitangaben in WEZ +1. Es ist jetzt 05:02 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz