AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein GUI-Design mit VCL / FireMonkey / Common Controls Delphi TRichEdit - Leerzeichen vor Absatzende entfernen
Thema durchsuchen
Ansicht
Themen-Optionen

TRichEdit - Leerzeichen vor Absatzende entfernen

Ein Thema von taaktaak · begonnen am 17. Mär 2009 · letzter Beitrag vom 18. Mär 2009
Antwort Antwort
taaktaak

Registriert seit: 25. Okt 2007
Ort: Radbruch
1.990 Beiträge
 
Delphi 7 Professional
 
#1

TRichEdit - Leerzeichen vor Absatzende entfernen

  Alt 17. Mär 2009, 18:11
Moin, Moin.

Bisher als Marginalie eingeschätzt, entpuppt sich die Aufgabe für mich als unerwartet harte Nuss: Ich möchte überflüssige Leerzeichen vor Absatzenden entfernen. Nun, sollte kein Problem sein: Ich suche #13#10 bzw. #32#13#10 in Richedit.Text und eleminiert dann alle vor dieser Position stehenden Leerzeichen. Joo, funktioniert einwandfrei - nur leider ist danach jegliche Textformatierung verschwunden (obwohl ja nur die #32 gelöscht wurden). Ausweichen auf RichEdit.Lines ist (offenbar) keine Alternative, da in Lines die Absatzpositionen nicht enthalten sind.

Muss ich nun den RichEdit-Inhalt (also Text+Token) in einen Stream und dann in einen String kopieren um weiterzukommen, oder funktioniert das grundsätzlich anders. Sorry, bin etwas genervt, da ich für dieses Randproblem eigentlich gar keine Zeit habe.
Ralph
  Mit Zitat antworten Zitat
Blackheart

Registriert seit: 4. Mai 2005
846 Beiträge
 
Delphi 7 Enterprise
 
#2

Re: TRichEdit - Leerzeichen vor Absatzende entfernen

  Alt 18. Mär 2009, 07:43
Vieleicht hilft dir Trim.
Blackheart
  Mit Zitat antworten Zitat
angos

Registriert seit: 26. Mai 2004
Ort: Rheine
549 Beiträge
 
Delphi 11 Alexandria
 
#3

Re: TRichEdit - Leerzeichen vor Absatzende entfernen

  Alt 18. Mär 2009, 07:54
moin moin,

ich kann das problem nicht nachvollziehen. Ich nutze folgende Prozedur:

Delphi-Quellcode:
procedure RemoveBlanks(Richedit: TRichedit);
var i,c: integer;
begin
  for i := 0 to RichEdit.Lines.Count-1 do
    for c := Length(Richedit.Lines[i]) downto 1 do
    begin
      if Richedit.Lines[i][c] = ' then
        Richedit.Lines[i] := Copy(Richedit.Lines[i], 1, c-1)
      else
        Break;
    end;
end;

Gruß
Angos
Ansgar
  Mit Zitat antworten Zitat
worker
(Gast)

n/a Beiträge
 
#4

Re: TRichEdit - Leerzeichen vor Absatzende entfernen

  Alt 18. Mär 2009, 08:11
Eine Mischung aus Blackhearts und angos Vorschlägen ist Deine Lösung:
Delphi-Quellcode:
var
   i: Integer;
begin
   for i := 0 to RichEdit1.Lines.COunt - 1 do begin
      RichEdit1.Lines[i] := Trim(RichEdit1.Lines[i]);
   end;
end;
  Mit Zitat antworten Zitat
taaktaak

Registriert seit: 25. Okt 2007
Ort: Radbruch
1.990 Beiträge
 
Delphi 7 Professional
 
#5

Re: TRichEdit - Leerzeichen vor Absatzende entfernen

  Alt 18. Mär 2009, 11:35
Tatsächlich, die Lösung im letzten Post funktioniert einwandfrei!
Vielen Dank
Ralph
  Mit Zitat antworten Zitat
Antwort Antwort


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 13:13 Uhr.
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