Announcement

Collapse
No announcement yet.

Text-Vergleicher

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Text-Vergleicher

    Hallo alle zusammen,
    kann mir da jemand helfen, bzw. hat einer eine Idee?

    Folgender Code:

    ************************************************** **********
    type
    TForm1 = class(TForm)
    GroupBox1: TGroupBox;
    RichEdit1: TRichEdit;
    GroupBox2: TGroupBox;
    Panel1: TPanel;
    GroupBox3: TGroupBox;
    RichEdit2: TRichEdit;
    Button1: TButton;
    Button2: TButton;
    StatusBar1: TStatusBar;
    procedure Button1Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
    private
    { Private-Deklarationen }
    public
    { Public-Deklarationen }
    end;

    var
    Form1: TForm1;

    implementation

    {$R *.DFM}

    function vergl(s1, s2:string; n:Word): Boolean; // vergleicht die ersten n Zeichen von zwei Strings
    function delLZ(s: string): string;
    var ss: string;
    i,j: Word;
    begin
    j:=0; ss:='';
    for i:=1 to Length(s) do
    begin
    if (s[i] <> ' ') and (s[i] <> '-') then
    begin
    Inc(j);
    ss:= ss + s[i]
    end;
    if j=n then Break
    end;
    Result := UpperCase(ss)
    end;

    begin
    if delLZ(s1)=delLZ(s2) then Result:=True else Result:=False ; // einfacher als mit CompareStrings/CompareText
    end;


    procedure TForm1.Button1Click(Sender: TObject);
    begin

    if vergl(RichEdit1.Text, RichEdit2.Text, 60000)=True then // erste 8 Zeichen sind relevant
    Panel1.Caption := 'Beide Texte sind sich ähnlich!'
    else
    begin MessageBeep(0); Panel1.Caption := 'Beide Texte sind sich nicht ähnlich!' end
    end;

    procedure TForm1.Button2Click(Sender: TObject);
    begin
    Close
    end;

    end.
    ************************************************** *********
    vergleicht zwei Texte, ob da eine Übereinstimmung fehlt und meldet dieses im Panel1.
    Nur:
    Bei einem größeren Text nützt mir das sehr wenig (an Zeit) - muß da Zeile um zeile nachlesen um die abweichung (in einem praktisch gleichen Text zu finden).
    Es wäre gut, das die Unterschiede markiert sind, bzw. der Cursor dort hinzeigt.
    Habe schon alles mögliche probiert. Nichts tut sich im Hirn!
    Danke und Gruß
    HJS
Working...
X