Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi 2memos vergleichen und unterschiede in 3.memo (https://www.delphipraxis.net/54927-2memos-vergleichen-und-unterschiede-3-memo.html)

JWeis 13. Okt 2005 14:38


2memos vergleichen und unterschiede in 3.memo
 
Ich habe 3 memos und in 2 davon steht was drin das soll verglichen werden und dann im 3 die unterschiede ausgegeben werden hat jemand ne idee wie das funktionieren könnte. :gruebel:

DerDan 13. Okt 2005 14:43

Re: 2memos vergleichen und unterschiede in 3.memo
 
Bastetlt da einer ein File Vergleichs Tool?

Deine Ergebnisse würden mich auch interessiern!


mfg

DerDan

JWeis 13. Okt 2005 14:45

Re: 2memos vergleichen und unterschiede in 3.memo
 
Zitat:

Bastetlt da einer ein File Vergleichs Tool?
.txt vergeichs tool bitte! :mrgreen:

PierreB 13. Okt 2005 14:57

Re: 2memos vergleichen und unterschiede in 3.memo
 
Hier mal ein paar einfache Sachen:
Delphi-Quellcode:
//Vergleiche Zeilenanzahl
function GetCounts(Control1, Control2, Control3 : TMemo) : Boolean;
begin
if Control1.lines.count-1 <> Control2.lines.count-1 then begin
Control3.lines.add('Memo 1 Zeilenanzahl: ' + IntToStr(Control1.lines.count-1));
Control3.lines.add('Memo 2 Zeilenanzahl: ' + IntToStr(Control2.lines.count-1));
end;
end;

//Aufruf:
GetCounts(Memo1, Memo2, Memo3);

//Dann könntest du grob den Inhalt der Zeilen vergleichen
function Vergleiche(Control1, Control2, Control3 : TMemo) : Boolean;
var
i, a : Integer;
begin
if Control1.lines.count-1 > Control2.lines.count-1 then a := Control1.lines.count-1
else a := Control2.lines.count-1;
for i := 0 to a do begin
if not Control1.lines[i] = Control2.lines.[i] then
Control3.lines.add('Memo 2 Unterschied: ' + Control1.lines[i]);
end;
end;

//Aufruf:
Vergleiche(Memo1, Memo2, Memo3);

//
Sind nur ein paar Ideen schnell mal getippt, nicht geprüft obs geht.
Is erstmal nur ein kleiner Ansatz, vielleicht hilfts dir aber ein bisschen.

TeronG 13. Okt 2005 15:00

Re: 2memos vergleichen und unterschiede in 3.memo
 
:gruebel:
evtl. reicht es dir ja, wenn du einfach die memo's zeilenweise durchläufst und schaust ob zeilememo_1[i] <> zeilememo_2[i] ist... wenn ja kannste ja dann schauen, ob eine zeile fehlt/mehr ist bzw. die zeile genauer anschauen (buchstabenweise??)

JWeis 13. Okt 2005 15:05

Re: 2memos vergleichen und unterschiede in 3.memo
 
@pierre:
Delphi-Quellcode:
if Memo1.Lines.Text = Memo2.Lines.text then
so überprüfe ich schon die zeilen anzahl! warum soll ich mir das dan noch umständlicher machen??

@teron: ja genau das will ich machen doch leider weiß ich nicht wie ich damit anfangen soll. ich wollte eigentlich schon buchstabenweise vorgehen oder wäre es zeilenweise einfacher??

ibp 13. Okt 2005 15:07

Re: 2memos vergleichen und unterschiede in 3.memo
 
das thema gabs schon mal ... hier steht einiges für vergleiche von texten

PierreB 13. Okt 2005 15:09

Re: 2memos vergleichen und unterschiede in 3.memo
 
Zitat:

Zitat von JWeis
@pierre:
Delphi-Quellcode:
if Memo1.Lines.Text = Memo2.Lines.text then
so überprüfe ich schon die zeilen anzahl! warum soll ich mir das dan noch umständlicher machen??

:wall: Damit überprüfst du nicht die Zeilenanzahl, sondern den gesamten Text aller Zeilen.
Zitat:

Zitat von JWeis
@teron: ja genau das will ich machen doch leider weiß ich nicht wie ich damit anfangen soll. ich wollte eigentlich schon buchstabenweise vorgehen oder wäre es zeilenweise einfacher??

Ich habe doch den Code für das zeilenweise Überprüfen bereits oben gepostet. :wall:
Delphi-Quellcode:
//Dann könntest du grob den Inhalt der Zeilen vergleichen
function Vergleiche(Control1, Control2, Control3 : TMemo) : Boolean;
var
i, a : Integer;
begin
if Control1.lines.count-1 > Control2.lines.count-1 then a := Control1.lines.count-1 
else a := Control2.lines.count-1;
for i := 0 to a do begin
if not Control1.lines[i] = Control2.lines.[i] then
Control3.lines.add('Memo 2 Unterschied: ' + Control1.lines[i]);
end;
end;

//Aufruf:
Vergleiche(Memo1, Memo2, Memo3);
Damit gehts du erstmal die Zeilen durch und überprüfst ob die gleich sind, wenn nicht wirds in Memo3 geschrieben.

Btw: Für was mach ich mir eigentlich die Arbeit wenns niemand für voll nimmt ? :gruebel:

JWeis 13. Okt 2005 15:16

Re: 2memos vergleichen und unterschiede in 3.memo
 
:duck: sry ich hab eben grade falsch gepostet :wall:

Wollte
Delphi-Quellcode:
 
inte0001 := Memo3.Lines.Count;
Inte0002 := Memo2.Lines.Count;
...
if inte0001= inte0002 then
so zeigen

noch nal entschuldigung :pale:

[edit]hab mal grade getestet klapt gut!!
danke (einziges problem es zeigt nicht an in welscher zeile der fehler ist aber das schaff ich aleine)[/edit]

JWeis 13. Okt 2005 15:30

Re: 2memos vergleichen und unterschiede in 3.memo
 
rückgabe wert der Funktion Vergleiche sei undefiniert macht das was?


Alle Zeitangaben in WEZ +1. Es ist jetzt 02:00 Uhr.
Seite 1 von 2  1 2      

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