Ich würde es etwa so machen (hab kein Delphi zur Hand, aus dem Kopf...)
Delphi-Quellcode:
procedure TForm1.txtEingabeChange(Sender: TObject);
var
s, s2, s3, s4: String;
sl: TStringList;
i, x:Integer;
//
sTemp : String;
//
begin
s := txtEingabe.Text;
try
For i:=0 to Length(s) do
s2 := s2 + s[Length(s) - i];
If chkKeep.Checked = False then
txtAusgabe.Text := s2
else begin
sl := TStringList.Create;
sl.Delimiter := ' ';
sl.DelimitedText := s2;
For x:=1 to sl.Count do begin
s3 := sl.Strings[sl.count - x];
// hier wird die Wortreihenfolge wieder hergestellt???
// dann hier auf Satzzeichen prüfen ... z.B.
if (s3[1] = '!') or (s3[1] = '?') or (s3[1] = '.') then
begin
sTemp := s3[1];
s3 := Copy(s3, 2, Length(s3) - 1) + sTemp;
end;
//
s4 := s4 + s3 + ' ';
end;
txtAusGabe.Text := s4;
s4 := '';
end;
If chkCopy.Checked = True then
Clipboard.AsText := txtAusgabe.Text;
except
txtAusgabe.Text := '';
end;
end;
Es gibt da noch ein ganz paar bessere und einfachere Methoden zur String-Manipulation,
aber da schau mal in die
OH.
mfg
Georg Härting