AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Dateien vergleichen

Ein Thema von bikeruk · begonnen am 25. Jan 2005 · letzter Beitrag vom 19. Okt 2005
 
bikeruk

Registriert seit: 20. Jan 2005
Ort: Holzgerlingen
5 Beiträge
 
#1

Dateien vergleichen

  Alt 25. Jan 2005, 18:45
Habe zu diesem Thema mal bischen im Forum rumgelesen und mir dann auch das Programm "TextDiff" mit Souce mal runtergeladen.
Ist ja ganz gut das teil aber geht sowas nicht auch etwas einfacher.

Nur zwei dateien vergleichen und die unterschiede farbig markieren ohne schnik schnak.
Ich habe das mit 2 Richeditfeldern auch schon so ziemlich am laufen nur je grösser die dateien um so langsamer wird die geschichte.

Delphi-Quellcode:
procedure TfrmVergleich.sbtnVergleichClick(Sender: TObject);
var
   a,b,c,e,f,g,Z1,Z2 : Integer;
   m1Str,m2Str,d,h: String;
   label v1,v2;
   begin
   pBar1.Max := LinesCountR1;
   pBar2.Max := LinesCountR2;
   Z1 :=0;
   Z2 :=0;
      For a := 0 To REdit1.Lines.Count-1 do
           begin
           pBar1.Position := a;
              For b := 0 To REdit2.Lines.Count-1 do
            if REdit2.Lines[b]= REdit1.Lines[a] then
                    goto v1;
                    m1Str := REdit1.Lines[a];
                    c := Length(REdit1.Lines[a]);
                  d := m1Str;
                  delete (m1Str,1,c);
                    REdit1.Lines[a] := m1Str;
                  REdit1.SelAttributes.Color:=clRed;
                  insert (d,m1Str,1);
                    REdit1.Lines[a] := m1Str;
                    Z1 := (Z1+1);
                 REdit1.SelAttributes.Color:=clBlack;
       V1: end;
           For e := 0 To REdit2.Lines.Count-1 do
              begin
              pBar2.Position := e;
                  For f := 0 To REdit1.Lines.Count-1 do
                if REdit1.Lines[f]= REdit2.Lines[e] then
                       goto v2;
                       m2Str := REdit2.Lines[e];
                       g := Length(REdit2.Lines[e]);
                     h := m2Str;
                     delete (m2Str,1,g);
                        REdit2.Lines[e] := m2Str;
                      REdit2.SelAttributes.Color:=clRed;
                      insert (h,m2Str,1);
                        REdit2.Lines[e] := m2Str;
                        Z2 := (Z2+1);
                     REdit2.SelAttributes.Color:=clBlack;
      v2: end;
 
          
         lblFehler1.Caption := IntToStr(Z1)+ ' Fehler !';
         lblFehler2.Caption := IntToStr(Z2)+ ' Fehler !';
         REdit1.Lines[0] := REdit1.Lines[0];
         REdit1.SelStart := 0;
         REdit1.SetFocus;
  end;
Das ist der Versuch eines ziemlichen anfängers auf Delphi also bitte nicht gleich mit grausen abwenden.
Vieleicht hat ja jemand eine Idee dazu.

mfg
bikeruk
  Mit Zitat antworten Zitat
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 03:33 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz