Hallo dpler,
ich stehe mal wieder vor einen Problem, undzwar moechte ich mehrere Strings auf gleiche Bloecke testen.
Die Strings die ich bekomme stehen in der form in einem memo:
Code:
aaaaaabbbbbbbb
aaaabbbbbbaaaa
aaabbbaabbbaaa
Also am Ende des tages moechte ich soetwas haben:
Code:
aaa aaabb bb bbbb
aaa abbbb bb aaaa
aaa bbbaa bb baaa
So das immer alle gleichen Bloecke mit einem leerzeichen abgegrenzt werden.
Hier habe ich mal angefangen das Ganze zu realisieren:
Delphi-Quellcode:
function MinValue: Integer;
var
i: Integer;
begin
result := 0;
for i := 0 to form1.memo1.Lines.Count - 1 do
if length(form1.memo1.Lines[i]) > result then
result := length(form1.memo1.Lines[i]);
end;
procedure TForm1.Button1Click(Sender: TObject);
var
i, y: Integer;
jmp: Boolean;
s: string;
count: integer;
aoi: array of integer;
begin
setlength(aoi, 0);
for y := 1 to MinValue do
begin
jmp := true;
for i := 0 to memo1.Lines.Count - 1 do
if memo1.Lines[0][y] <> memo1.Lines[i][y] then
jmp := false;
if jmp then
begin
showmessage('gleich : ' + inttostr(y));
setlength(aoi, length(aoi) + 1);
aoi[high(aoi)] := y;
end;
end;
count := 0;
for y := 0 to high(aoi) do
begin
inc(count);
for i := 0 to memo1.Lines.Count - 1 do
begin
s := memo1.Lines[i];
insert(' ', s, aoi[y] + count);
memo1.Lines[i] := s;
end;
end;
end;
Nur leider bekomme ich als ergebniss soetwas:
Code:
a a a aaabbb b bbbb
a a a abbbbb b aaaa
a a a bbbaab b baaa
Was nicht ganz dem entspricht was ich haben wollte.
Waere sehr dankbar, wenn sich das mal jemand angucken koennte.
grueße
win32